UNPKG

@querc/squidex-client

Version:

NodeJS client for the [Squidex](https://squidex.io/) CMS

41 lines (29 loc) 4.67 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.ConfigurationManager = void 0; var _squidexClientConfiguration = require("./squidex-client-configuration"); class ConfigurationManager { static buildConfiguration(options, ...extraOptions) { // Validate configuration options if (options === undefined) { throw new Error('[SquidexClient] Configuration options are required, at least `clientId` & `clientSecret`'); } if (options.clientId === undefined) { throw new Error('[SquidexClient] Configuration option `clientId` is required'); } if (options.clientId.split(':').length < 2) { throw new Error('[SquidexClient] Configuration option `clientId` must be in the format `APP_NAME:CLIENT_NAME`'); } if (options.clientSecret === undefined) { throw new Error('[SquidexClient] Configuration option `clientSecret` is required'); } // Infer the application name from the Client ID if not supplied if (options.appName === undefined) { options.appName = options.clientId.split(':')[0]; } // Merge configuration return Object.assign({}, new _squidexClientConfiguration.SquidexClientConfiguration(), options, ...extraOptions); } } exports.ConfigurationManager = ConfigurationManager; //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9jb25maWd1cmF0aW9uL2NvbmZpZ3VyYXRpb24tbWFuYWdlci50cyJdLCJuYW1lcyI6WyJDb25maWd1cmF0aW9uTWFuYWdlciIsImJ1aWxkQ29uZmlndXJhdGlvbiIsIm9wdGlvbnMiLCJleHRyYU9wdGlvbnMiLCJ1bmRlZmluZWQiLCJFcnJvciIsImNsaWVudElkIiwic3BsaXQiLCJsZW5ndGgiLCJjbGllbnRTZWNyZXQiLCJhcHBOYW1lIiwiT2JqZWN0IiwiYXNzaWduIiwiU3F1aWRleENsaWVudENvbmZpZ3VyYXRpb24iXSwibWFwcGluZ3MiOiI7Ozs7Ozs7QUFBQTs7QUFFTyxNQUFNQSxvQkFBTixDQUEyQjtBQUM5QixTQUFjQyxrQkFBZCxDQUNJQyxPQURKLEVBRUksR0FBR0MsWUFGUCxFQUc4QjtBQUMxQjtBQUVBLFFBQUlELE9BQU8sS0FBS0UsU0FBaEIsRUFBMkI7QUFDdkIsWUFBTSxJQUFJQyxLQUFKLENBQVUsMEZBQVYsQ0FBTjtBQUNIOztBQUVELFFBQUlILE9BQU8sQ0FBQ0ksUUFBUixLQUFxQkYsU0FBekIsRUFBb0M7QUFDaEMsWUFBTSxJQUFJQyxLQUFKLENBQVUsNkRBQVYsQ0FBTjtBQUNIOztBQUVELFFBQUlILE9BQU8sQ0FBQ0ksUUFBUixDQUFpQkMsS0FBakIsQ0FBdUIsR0FBdkIsRUFBNEJDLE1BQTVCLEdBQXFDLENBQXpDLEVBQTRDO0FBQ3hDLFlBQU0sSUFBSUgsS0FBSixDQUNGLDhGQURFLENBQU47QUFHSDs7QUFFRCxRQUFJSCxPQUFPLENBQUNPLFlBQVIsS0FBeUJMLFNBQTdCLEVBQXdDO0FBQ3BDLFlBQU0sSUFBSUMsS0FBSixDQUFVLGlFQUFWLENBQU47QUFDSCxLQW5CeUIsQ0FxQjFCOzs7QUFDQSxRQUFJSCxPQUFPLENBQUNRLE9BQVIsS0FBb0JOLFNBQXhCLEVBQW1DO0FBQy9CRixNQUFBQSxPQUFPLENBQUNRLE9BQVIsR0FBa0JSLE9BQU8sQ0FBQ0ksUUFBUixDQUFpQkMsS0FBakIsQ0FBdUIsR0FBdkIsRUFBNEIsQ0FBNUIsQ0FBbEI7QUFDSCxLQXhCeUIsQ0EwQjFCOzs7QUFDQSxXQUFPSSxNQUFNLENBQUNDLE1BQVAsQ0FBYyxFQUFkLEVBQWtCLElBQUlDLHNEQUFKLEVBQWxCLEVBQW9EWCxPQUFwRCxFQUE2RCxHQUFHQyxZQUFoRSxDQUFQO0FBQ0g7O0FBaEM2QiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFNxdWlkZXhDbGllbnRDb25maWd1cmF0aW9uIH0gZnJvbSAnLi9zcXVpZGV4LWNsaWVudC1jb25maWd1cmF0aW9uJztcblxuZXhwb3J0IGNsYXNzIENvbmZpZ3VyYXRpb25NYW5hZ2VyIHtcbiAgICBwdWJsaWMgc3RhdGljIGJ1aWxkQ29uZmlndXJhdGlvbihcbiAgICAgICAgb3B0aW9uczogUGFydGlhbDxTcXVpZGV4Q2xpZW50Q29uZmlndXJhdGlvbj4sXG4gICAgICAgIC4uLmV4dHJhT3B0aW9uczogUGFydGlhbDxTcXVpZGV4Q2xpZW50Q29uZmlndXJhdGlvbj5bXVxuICAgICk6IFNxdWlkZXhDbGllbnRDb25maWd1cmF0aW9uIHtcbiAgICAgICAgLy8gVmFsaWRhdGUgY29uZmlndXJhdGlvbiBvcHRpb25zXG5cbiAgICAgICAgaWYgKG9wdGlvbnMgPT09IHVuZGVmaW5lZCkge1xuICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKCdbU3F1aWRleENsaWVudF0gQ29uZmlndXJhdGlvbiBvcHRpb25zIGFyZSByZXF1aXJlZCwgYXQgbGVhc3QgYGNsaWVudElkYCAmIGBjbGllbnRTZWNyZXRgJyk7XG4gICAgICAgIH1cblxuICAgICAgICBpZiAob3B0aW9ucy5jbGllbnRJZCA9PT0gdW5kZWZpbmVkKSB7XG4gICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoJ1tTcXVpZGV4Q2xpZW50XSBDb25maWd1cmF0aW9uIG9wdGlvbiBgY2xpZW50SWRgIGlzIHJlcXVpcmVkJyk7XG4gICAgICAgIH1cblxuICAgICAgICBpZiAob3B0aW9ucy5jbGllbnRJZC5zcGxpdCgnOicpLmxlbmd0aCA8IDIpIHtcbiAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcihcbiAgICAgICAgICAgICAgICAnW1NxdWlkZXhDbGllbnRdIENvbmZpZ3VyYXRpb24gb3B0aW9uIGBjbGllbnRJZGAgbXVzdCBiZSBpbiB0aGUgZm9ybWF0IGBBUFBfTkFNRTpDTElFTlRfTkFNRWAnLFxuICAgICAgICAgICAgKTtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmIChvcHRpb25zLmNsaWVudFNlY3JldCA9PT0gdW5kZWZpbmVkKSB7XG4gICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoJ1tTcXVpZGV4Q2xpZW50XSBDb25maWd1cmF0aW9uIG9wdGlvbiBgY2xpZW50U2VjcmV0YCBpcyByZXF1aXJlZCcpO1xuICAgICAgICB9XG5cbiAgICAgICAgLy8gSW5mZXIgdGhlIGFwcGxpY2F0aW9uIG5hbWUgZnJvbSB0aGUgQ2xpZW50IElEIGlmIG5vdCBzdXBwbGllZFxuICAgICAgICBpZiAob3B0aW9ucy5hcHBOYW1lID09PSB1bmRlZmluZWQpIHtcbiAgICAgICAgICAgIG9wdGlvbnMuYXBwTmFtZSA9IG9wdGlvbnMuY2xpZW50SWQuc3BsaXQoJzonKVswXTtcbiAgICAgICAgfVxuXG4gICAgICAgIC8vIE1lcmdlIGNvbmZpZ3VyYXRpb25cbiAgICAgICAgcmV0dXJuIE9iamVjdC5hc3NpZ24oe30sIG5ldyBTcXVpZGV4Q2xpZW50Q29uZmlndXJhdGlvbigpLCBvcHRpb25zLCAuLi5leHRyYU9wdGlvbnMpO1xuICAgIH1cbn1cbiJdfQ==