UNPKG

filestack-js

Version:

Official JavaScript library for Filestack

86 lines (84 loc) 10.7 kB
/* * Copyright (c) 2018 by Filestack. * Some rights reserved. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ import { __assign } from "tslib"; import { Filelink } from './../filelink'; import { FilestackError } from './../../filestack_error'; import { getValidator, StoreParamsSchema } from './../../schema'; import { FsRequest, FsCancelToken } from '../request'; /** * Store given url with options and * * @param session * @param url * @param storeOpts * @param token * @param security * @param uploadTags * @param workflowIds */ export var storeURL = function (_a) { var session = _a.session, url = _a.url, storeParams = _a.storeParams, token = _a.token, security = _a.security, uploadTags = _a.uploadTags, headers = _a.headers, workflowIds = _a.workflowIds; if (!url || typeof url !== 'string') { return Promise.reject(new FilestackError('url is required for storeURL')); } var validateRes = getValidator(StoreParamsSchema)(storeParams); if (validateRes.errors.length) { return Promise.reject(new FilestackError("Invalid store params", validateRes.errors)); } session.policy = security && security.policy || session.policy; session.signature = security && security.signature || session.signature; var filelink = new Filelink(url, session.apikey); filelink.store(storeParams); if (session.policy && session.signature) { filelink.security({ policy: session.policy, signature: session.signature, }); } var options = {}; if (token) { var cancelToken = new FsCancelToken(); token.cancel = cancelToken.cancel.bind(cancelToken); options.cancelToken = cancelToken; } var sources = [url]; if (headers) { sources = [{ source: url, headers: headers, }]; } if (workflowIds && workflowIds.length > 0) { filelink.addTask('store', { workflows: workflowIds }); } return FsRequest.post("".concat(session.urls.processUrl, "/process"), { apikey: session.apikey, sources: sources, tasks: filelink.getTasks(), upload_tags: uploadTags, }, options).then(function (res) { if (res.data && res.data.handle) { if (res.data.upload_tags) { res.data.uploadTags = res.data.upload_tags; delete res.data.upload_tags; } return __assign(__assign({}, res.data), { mimetype: res.data.type }); } throw new FilestackError("Invalid store response ".concat(JSON.stringify(res.data))); }); }; //# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9saWIvYXBpL3N0b3JlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7Ozs7Ozs7Ozs7Ozs7R0FlRzs7QUFHSCxPQUFPLEVBQUUsUUFBUSxFQUFlLE1BQU0sZUFBZSxDQUFDO0FBQ3RELE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUN6RCxPQUFPLEVBQUUsWUFBWSxFQUFFLGlCQUFpQixFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDakUsT0FBTyxFQUFFLFNBQVMsRUFBRSxhQUFhLEVBQUUsTUFBTSxZQUFZLENBQUM7QUFjdEQ7Ozs7Ozs7Ozs7R0FVRztBQUNILE1BQU0sQ0FBQyxJQUFNLFFBQVEsR0FBRyxVQUFDLEVBU1I7UUFSZixPQUFPLGFBQUEsRUFDUCxHQUFHLFNBQUEsRUFDSCxXQUFXLGlCQUFBLEVBQ1gsS0FBSyxXQUFBLEVBQ0wsUUFBUSxjQUFBLEVBQ1IsVUFBVSxnQkFBQSxFQUNWLE9BQU8sYUFBQSxFQUNQLFdBQVcsaUJBQUE7SUFFWCxJQUFJLENBQUMsR0FBRyxJQUFJLE9BQU8sR0FBRyxLQUFLLFFBQVEsRUFBRTtRQUNuQyxPQUFPLE9BQU8sQ0FBQyxNQUFNLENBQUMsSUFBSSxjQUFjLENBQUMsOEJBQThCLENBQUMsQ0FBQyxDQUFDO0tBQzNFO0lBRUQsSUFBTSxXQUFXLEdBQUcsWUFBWSxDQUFDLGlCQUFpQixDQUFDLENBQUMsV0FBVyxDQUFDLENBQUM7SUFFakUsSUFBSSxXQUFXLENBQUMsTUFBTSxDQUFDLE1BQU0sRUFBRTtRQUM3QixPQUFPLE9BQU8sQ0FBQyxNQUFNLENBQUMsSUFBSSxjQUFjLENBQUMsc0JBQXNCLEVBQUUsV0FBVyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUM7S0FDdkY7SUFFRCxPQUFPLENBQUMsTUFBTSxHQUFHLFFBQVEsSUFBSSxRQUFRLENBQUMsTUFBTSxJQUFJLE9BQU8sQ0FBQyxNQUFNLENBQUM7SUFDL0QsT0FBTyxDQUFDLFNBQVMsR0FBRyxRQUFRLElBQUksUUFBUSxDQUFDLFNBQVMsSUFBSSxPQUFPLENBQUMsU0FBUyxDQUFDO0lBRXhFLElBQU0sUUFBUSxHQUFHLElBQUksUUFBUSxDQUFDLEdBQUcsRUFBRSxPQUFPLENBQUMsTUFBTSxDQUFDLENBQUM7SUFDbkQsUUFBUSxDQUFDLEtBQUssQ0FBQyxXQUFXLENBQUMsQ0FBQztJQUU1QixJQUFJLE9BQU8sQ0FBQyxNQUFNLElBQUksT0FBTyxDQUFDLFNBQVMsRUFBRTtRQUN2QyxRQUFRLENBQUMsUUFBUSxDQUFDO1lBQ2hCLE1BQU0sRUFBRSxPQUFPLENBQUMsTUFBTTtZQUN0QixTQUFTLEVBQUUsT0FBTyxDQUFDLFNBQVM7U0FDN0IsQ0FBQyxDQUFDO0tBQ0o7SUFFRCxJQUFJLE9BQU8sR0FBUSxFQUFFLENBQUM7SUFFdEIsSUFBSSxLQUFLLEVBQUU7UUFDVCxJQUFNLFdBQVcsR0FBRyxJQUFJLGFBQWEsRUFBRSxDQUFDO1FBQ3hDLEtBQUssQ0FBQyxNQUFNLEdBQUcsV0FBVyxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLENBQUM7UUFDcEQsT0FBTyxDQUFDLFdBQVcsR0FBRyxXQUFXLENBQUM7S0FDbkM7SUFFRCxJQUFJLE9BQU8sR0FBUSxDQUFFLEdBQUcsQ0FBRSxDQUFDO0lBRTNCLElBQUksT0FBTyxFQUFFO1FBQ1gsT0FBTyxHQUFHLENBQUM7Z0JBQ1QsTUFBTSxFQUFFLEdBQUc7Z0JBQ1gsT0FBTyxTQUFBO2FBQ1IsQ0FBQyxDQUFDO0tBQ0o7SUFFRCxJQUFJLFdBQVcsSUFBSSxXQUFXLENBQUMsTUFBTSxHQUFHLENBQUMsRUFBRTtRQUN6QyxRQUFRLENBQUMsT0FBTyxDQUFDLE9BQU8sRUFBRSxFQUFFLFNBQVMsRUFBRSxXQUFXLEVBQUUsQ0FBQyxDQUFDO0tBQ3ZEO0lBRUQsT0FBTyxTQUFTLENBQUMsSUFBSSxDQUFDLFVBQUcsT0FBTyxDQUFDLElBQUksQ0FBQyxVQUFVLGFBQVUsRUFBRTtRQUMxRCxNQUFNLEVBQUUsT0FBTyxDQUFDLE1BQU07UUFDdEIsT0FBTyxTQUFBO1FBQ1AsS0FBSyxFQUFFLFFBQVEsQ0FBQyxRQUFRLEVBQUU7UUFDMUIsV0FBVyxFQUFFLFVBQVU7S0FDeEIsRUFBRSxPQUFPLENBQUMsQ0FBQyxJQUFJLENBQUMsVUFBQyxHQUFHO1FBQ25CLElBQUksR0FBRyxDQUFDLElBQUksSUFBSSxHQUFHLENBQUMsSUFBSSxDQUFDLE1BQU0sRUFBRTtZQUMvQixJQUFJLEdBQUcsQ0FBQyxJQUFJLENBQUMsV0FBVyxFQUFFO2dCQUN4QixHQUFHLENBQUMsSUFBSSxDQUFDLFVBQVUsR0FBRyxHQUFHLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQztnQkFDM0MsT0FBTyxHQUFHLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQzthQUM3QjtZQUVELDZCQUFZLEdBQUcsQ0FBQyxJQUFJLEtBQUUsUUFBUSxFQUFFLEdBQUcsQ0FBQyxJQUFJLENBQUMsSUFBSSxJQUFHO1NBQ2pEO1FBRUQsTUFBTSxJQUFJLGNBQWMsQ0FBQyxpQ0FBMEIsSUFBSSxDQUFDLFNBQVMsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLENBQUUsQ0FBQyxDQUFDO0lBQ2pGLENBQUMsQ0FBQyxDQUFDO0FBQ0wsQ0FBQyxDQUFDIiwiZmlsZSI6ImxpYi9hcGkvc3RvcmUuanMiLCJzb3VyY2VzQ29udGVudCI6WyIvKlxuICogQ29weXJpZ2h0IChjKSAyMDE4IGJ5IEZpbGVzdGFjay5cbiAqIFNvbWUgcmlnaHRzIHJlc2VydmVkLlxuICpcbiAqIExpY2Vuc2VkIHVuZGVyIHRoZSBBcGFjaGUgTGljZW5zZSwgVmVyc2lvbiAyLjAgKHRoZSBcIkxpY2Vuc2VcIik7XG4gKiB5b3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGggdGhlIExpY2Vuc2UuXG4gKiBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXRcbiAqXG4gKiAgICAgaHR0cDovL3d3dy5hcGFjaGUub3JnL2xpY2Vuc2VzL0xJQ0VOU0UtMi4wXG4gKlxuICogVW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3IG9yIGFncmVlZCB0byBpbiB3cml0aW5nLCBzb2Z0d2FyZVxuICogZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIExpY2Vuc2UgaXMgZGlzdHJpYnV0ZWQgb24gYW4gXCJBUyBJU1wiIEJBU0lTLFxuICogV0lUSE9VVCBXQVJSQU5USUVTIE9SIENPTkRJVElPTlMgT0YgQU5ZIEtJTkQsIGVpdGhlciBleHByZXNzIG9yIGltcGxpZWQuXG4gKiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcgcGVybWlzc2lvbnMgYW5kXG4gKiBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS5cbiAqL1xuXG5pbXBvcnQgeyBTZWN1cml0eSwgU2Vzc2lvbiB9IGZyb20gJy4uL2NsaWVudCc7XG5pbXBvcnQgeyBGaWxlbGluaywgU3RvcmVQYXJhbXMgfSBmcm9tICcuLy4uL2ZpbGVsaW5rJztcbmltcG9ydCB7IEZpbGVzdGFja0Vycm9yIH0gZnJvbSAnLi8uLi8uLi9maWxlc3RhY2tfZXJyb3InO1xuaW1wb3J0IHsgZ2V0VmFsaWRhdG9yLCBTdG9yZVBhcmFtc1NjaGVtYSB9IGZyb20gJy4vLi4vLi4vc2NoZW1hJztcbmltcG9ydCB7IEZzUmVxdWVzdCwgRnNDYW5jZWxUb2tlbiB9IGZyb20gJy4uL3JlcXVlc3QnO1xuaW1wb3J0IHsgVXBsb2FkVGFncyB9IGZyb20gJy4vdXBsb2FkL2ZpbGUnO1xuXG5leHBvcnQgdHlwZSBTdG9yZVVybFBhcmFtcyA9IHtcbiAgc2Vzc2lvbjogU2Vzc2lvbjtcbiAgdXJsPzogc3RyaW5nO1xuICBzdG9yZVBhcmFtcz86IFN0b3JlUGFyYW1zO1xuICB0b2tlbj86IGFueTtcbiAgc2VjdXJpdHk/OiBTZWN1cml0eTtcbiAgdXBsb2FkVGFncz86IFVwbG9hZFRhZ3M7XG4gIGhlYWRlcnM/OiB7W2tleTogc3RyaW5nXTogc3RyaW5nfSxcbiAgd29ya2Zsb3dJZHM/OiBzdHJpbmdbXVxufTtcblxuLyoqXG4gKiBTdG9yZSBnaXZlbiB1cmwgd2l0aCBvcHRpb25zIGFuZFxuICpcbiAqIEBwYXJhbSBzZXNzaW9uXG4gKiBAcGFyYW0gdXJsXG4gKiBAcGFyYW0gc3RvcmVPcHRzXG4gKiBAcGFyYW0gdG9rZW5cbiAqIEBwYXJhbSBzZWN1cml0eVxuICogQHBhcmFtIHVwbG9hZFRhZ3NcbiAqIEBwYXJhbSB3b3JrZmxvd0lkc1xuICovXG5leHBvcnQgY29uc3Qgc3RvcmVVUkwgPSAoe1xuICBzZXNzaW9uLFxuICB1cmwsXG4gIHN0b3JlUGFyYW1zLFxuICB0b2tlbixcbiAgc2VjdXJpdHksXG4gIHVwbG9hZFRhZ3MsXG4gIGhlYWRlcnMsXG4gIHdvcmtmbG93SWRzLFxufTogU3RvcmVVcmxQYXJhbXMpOiBQcm9taXNlPGFueT4gPT4ge1xuICBpZiAoIXVybCB8fCB0eXBlb2YgdXJsICE9PSAnc3RyaW5nJykge1xuICAgIHJldHVybiBQcm9taXNlLnJlamVjdChuZXcgRmlsZXN0YWNrRXJyb3IoJ3VybCBpcyByZXF1aXJlZCBmb3Igc3RvcmVVUkwnKSk7XG4gIH1cblxuICBjb25zdCB2YWxpZGF0ZVJlcyA9IGdldFZhbGlkYXRvcihTdG9yZVBhcmFtc1NjaGVtYSkoc3RvcmVQYXJhbXMpO1xuXG4gIGlmICh2YWxpZGF0ZVJlcy5lcnJvcnMubGVuZ3RoKSB7XG4gICAgcmV0dXJuIFByb21pc2UucmVqZWN0KG5ldyBGaWxlc3RhY2tFcnJvcihgSW52YWxpZCBzdG9yZSBwYXJhbXNgLCB2YWxpZGF0ZVJlcy5lcnJvcnMpKTtcbiAgfVxuXG4gIHNlc3Npb24ucG9saWN5ID0gc2VjdXJpdHkgJiYgc2VjdXJpdHkucG9saWN5IHx8IHNlc3Npb24ucG9saWN5O1xuICBzZXNzaW9uLnNpZ25hdHVyZSA9IHNlY3VyaXR5ICYmIHNlY3VyaXR5LnNpZ25hdHVyZSB8fCBzZXNzaW9uLnNpZ25hdHVyZTtcblxuICBjb25zdCBmaWxlbGluayA9IG5ldyBGaWxlbGluayh1cmwsIHNlc3Npb24uYXBpa2V5KTtcbiAgZmlsZWxpbmsuc3RvcmUoc3RvcmVQYXJhbXMpO1xuXG4gIGlmIChzZXNzaW9uLnBvbGljeSAmJiBzZXNzaW9uLnNpZ25hdHVyZSkge1xuICAgIGZpbGVsaW5rLnNlY3VyaXR5KHtcbiAgICAgIHBvbGljeTogc2Vzc2lvbi5wb2xpY3ksXG4gICAgICBzaWduYXR1cmU6IHNlc3Npb24uc2lnbmF0dXJlLFxuICAgIH0pO1xuICB9XG5cbiAgbGV0IG9wdGlvbnM6IGFueSA9IHt9O1xuXG4gIGlmICh0b2tlbikge1xuICAgIGNvbnN0IGNhbmNlbFRva2VuID0gbmV3IEZzQ2FuY2VsVG9rZW4oKTtcbiAgICB0b2tlbi5jYW5jZWwgPSBjYW5jZWxUb2tlbi5jYW5jZWwuYmluZChjYW5jZWxUb2tlbik7XG4gICAgb3B0aW9ucy5jYW5jZWxUb2tlbiA9IGNhbmNlbFRva2VuO1xuICB9XG5cbiAgbGV0IHNvdXJjZXM6IGFueSA9IFsgdXJsIF07XG5cbiAgaWYgKGhlYWRlcnMpIHtcbiAgICBzb3VyY2VzID0gW3tcbiAgICAgIHNvdXJjZTogdXJsLFxuICAgICAgaGVhZGVycyxcbiAgICB9XTtcbiAgfVxuXG4gIGlmICh3b3JrZmxvd0lkcyAmJiB3b3JrZmxvd0lkcy5sZW5ndGggPiAwKSB7XG4gICAgZmlsZWxpbmsuYWRkVGFzaygnc3RvcmUnLCB7IHdvcmtmbG93czogd29ya2Zsb3dJZHMgfSk7XG4gIH1cblxuICByZXR1cm4gRnNSZXF1ZXN0LnBvc3QoYCR7c2Vzc2lvbi51cmxzLnByb2Nlc3NVcmx9L3Byb2Nlc3NgLCB7XG4gICAgYXBpa2V5OiBzZXNzaW9uLmFwaWtleSxcbiAgICBzb3VyY2VzLFxuICAgIHRhc2tzOiBmaWxlbGluay5nZXRUYXNrcygpLFxuICAgIHVwbG9hZF90YWdzOiB1cGxvYWRUYWdzLFxuICB9LCBvcHRpb25zKS50aGVuKChyZXMpID0+IHtcbiAgICBpZiAocmVzLmRhdGEgJiYgcmVzLmRhdGEuaGFuZGxlKSB7XG4gICAgICBpZiAocmVzLmRhdGEudXBsb2FkX3RhZ3MpIHtcbiAgICAgICAgcmVzLmRhdGEudXBsb2FkVGFncyA9IHJlcy5kYXRhLnVwbG9hZF90YWdzO1xuICAgICAgICBkZWxldGUgcmVzLmRhdGEudXBsb2FkX3RhZ3M7XG4gICAgICB9XG5cbiAgICAgIHJldHVybiB7IC4uLnJlcy5kYXRhLCBtaW1ldHlwZTogcmVzLmRhdGEudHlwZSB9O1xuICAgIH1cblxuICAgIHRocm93IG5ldyBGaWxlc3RhY2tFcnJvcihgSW52YWxpZCBzdG9yZSByZXNwb25zZSAke0pTT04uc3RyaW5naWZ5KHJlcy5kYXRhKX1gKTtcbiAgfSk7XG59O1xuIl19