@blinkk/editor
Version:
Structured content editor with live previews.
31 lines • 1.08 kB
JavaScript
;
var __importDefault = (this && this.__importDefault) || function (mod) {
return (mod && mod.__esModule) ? mod : { "default": mod };
};
Object.defineProperty(exports, "__esModule", { value: true });
exports.GCSRemoteMedia = void 0;
const _1 = require(".");
const api_1 = require("../editor/api");
const bent_1 = __importDefault(require("bent"));
const postJSON = bent_1.default('json', 'POST');
class GCSRemoteMedia extends _1.BaseRemoteMediaProvider {
constructor(options) {
super();
this.options = options;
}
static canApply(file, options) {
return options?.provider === api_1.RemoteMediaProviders.GCS;
}
async upload(file) {
const formData = new FormData();
formData.append('file', file);
formData.append('bucket', this.options.bucket || '');
const response = await postJSON(this.options.url, formData);
return {
path: response.url,
url: response.url,
};
}
}
exports.GCSRemoteMedia = GCSRemoteMedia;
//# sourceMappingURL=GCSRemoteMedia.js.map