UNPKG

forest-cli

Version:

The Lumberjacks' toolbelt is the Forest CLI which makes easy to manage your back office application directly from the terminal.

55 lines 4.22 kB
const agent = require('superagent'); const Context = require('@forestadmin/context'); /** * @class * @param {string} serializedSchema * @param {string} secret * @param {string} authenticationToken * @param {(code: number) => void} oclifExit */ function SchemaSender(serializedSchema, secret, authenticationToken, oclifExit) { /** * @function * @returns {Promise<number | undefined>} */ this.perform = () => { const { env, logger } = Context.inject(); return agent .post(`${env.FOREST_SERVER_URL}/forest/apimaps`) .set('forest-secret-key', secret) .set('Authorization', `Bearer ${authenticationToken}`) .send(serializedSchema) .then(({ body }) => { if (body && body.meta) { return body.meta.job_id; } return null; }) .catch(error => { if ([200, 202, 204].indexOf(error.status) !== -1) { if (error.body && error.body.warning) { logger.error(error.body.warning); oclifExit(1); } } else if (error.status === 0) { logger.error('Cannot send the forest schema to Forest. Are you online?'); oclifExit(3); } else if (error.status === 404) { logger.error('Cannot find the project related to the environment secret you configured.'); oclifExit(4); } else if (error.status === 503) { logger.error('Forest is in maintenance for a few minutes. We are upgrading your experience in the forest. We just need a few more minutes to get it right.'); oclifExit(5); } else { logger.error('An error occured with the schema sent to Forest. Please contact support@forestadmin.com for further investigations.'); oclifExit(6); } }); }; } module.exports = SchemaSender; //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2NoZW1hLXNlbmRlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9zZXJ2aWNlcy9zY2hlbWEtc2VuZGVyLmpzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE1BQU0sS0FBSyxHQUFHLE9BQU8sQ0FBQyxZQUFZLENBQUMsQ0FBQztBQUNwQyxNQUFNLE9BQU8sR0FBRyxPQUFPLENBQUMsc0JBQXNCLENBQUMsQ0FBQztBQUVoRDs7Ozs7O0dBTUc7QUFDSCxTQUFTLFlBQVksQ0FBQyxnQkFBZ0IsRUFBRSxNQUFNLEVBQUUsbUJBQW1CLEVBQUUsU0FBUztJQUM1RTs7O09BR0c7SUFDSCxJQUFJLENBQUMsT0FBTyxHQUFHLEdBQUcsRUFBRTtRQUNsQixNQUFNLEVBQUUsR0FBRyxFQUFFLE1BQU0sRUFBRSxHQUFHLE9BQU8sQ0FBQyxNQUFNLEVBQUUsQ0FBQztRQUV6QyxPQUFPLEtBQUs7YUFDVCxJQUFJLENBQUMsR0FBRyxHQUFHLENBQUMsaUJBQWlCLGlCQUFpQixDQUFDO2FBQy9DLEdBQUcsQ0FBQyxtQkFBbUIsRUFBRSxNQUFNLENBQUM7YUFDaEMsR0FBRyxDQUFDLGVBQWUsRUFBRSxVQUFVLG1CQUFtQixFQUFFLENBQUM7YUFDckQsSUFBSSxDQUFDLGdCQUFnQixDQUFDO2FBQ3RCLElBQUksQ0FBQyxDQUFDLEVBQUUsSUFBSSxFQUFFLEVBQUUsRUFBRTtZQUNqQixJQUFJLElBQUksSUFBSSxJQUFJLENBQUMsSUFBSSxFQUFFO2dCQUNyQixPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDO2FBQ3pCO1lBRUQsT0FBTyxJQUFJLENBQUM7UUFDZCxDQUFDLENBQUM7YUFDRCxLQUFLLENBQUMsS0FBSyxDQUFDLEVBQUU7WUFDYixJQUFJLENBQUMsR0FBRyxFQUFFLEdBQUcsRUFBRSxHQUFHLENBQUMsQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsQ0FBQyxFQUFFO2dCQUNoRCxJQUFJLEtBQUssQ0FBQyxJQUFJLElBQUksS0FBSyxDQUFDLElBQUksQ0FBQyxPQUFPLEVBQUU7b0JBQ3BDLE1BQU0sQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQztvQkFDakMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDO2lCQUNkO2FBQ0Y7aUJBQU0sSUFBSSxLQUFLLENBQUMsTUFBTSxLQUFLLENBQUMsRUFBRTtnQkFDN0IsTUFBTSxDQUFDLEtBQUssQ0FBQywwREFBMEQsQ0FBQyxDQUFDO2dCQUN6RSxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUM7YUFDZDtpQkFBTSxJQUFJLEtBQUssQ0FBQyxNQUFNLEtBQUssR0FBRyxFQUFFO2dCQUMvQixNQUFNLENBQUMsS0FBSyxDQUFDLDJFQUEyRSxDQUFDLENBQUM7Z0JBQzFGLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQzthQUNkO2lCQUFNLElBQUksS0FBSyxDQUFDLE1BQU0sS0FBSyxHQUFHLEVBQUU7Z0JBQy9CLE1BQU0sQ0FBQyxLQUFLLENBQ1YsOElBQThJLENBQy9JLENBQUM7Z0JBQ0YsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDO2FBQ2Q7aUJBQU07Z0JBQ0wsTUFBTSxDQUFDLEtBQUssQ0FDVixxSEFBcUgsQ0FDdEgsQ0FBQztnQkFDRixTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUM7YUFDZDtRQUNILENBQUMsQ0FBQyxDQUFDO0lBQ1AsQ0FBQyxDQUFDO0FBQ0osQ0FBQztBQUVELE1BQU0sQ0FBQyxPQUFPLEdBQUcsWUFBWSxDQUFDIn0=