UNPKG

deep-package-manager

Version:
71 lines (57 loc) 1.71 kB
/** * Created by CCristi on 7/7/16. */ 'use strict'; Object.defineProperty(exports, "__esModule", { value: true }); exports.AbstractProvider = undefined; var _deepCore = require('deep-core'); var _deepCore2 = _interopRequireDefault(_deepCore); var _LambdaService = require('../../LambdaService'); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } class AbstractProvider extends _deepCore2.default.OOP.Interface { /** * @param {Provisioning/Instance} provisioning */ constructor(provisioning) { super(['_getAuthenticatedPolicy', '_getUnauthenticatedPolicy']); this._provisioning = provisioning; } /** * @param {Object[]} args * @returns {Core.AWS.IAM.Policy} */ getAuthenticatedPolicy(...args) { return this._getAuthenticatedPolicy(...args); } /** * @param {Object[]} args * @returns {Core.AWS.IAM.Policy} */ getUnauthenticatedPolicy(...args) { return this._getUnauthenticatedPolicy(...args); } /** * @param {Provisioning/Instance} provisioning * @returns {AbstractProvider} */ static create(provisioning) { // move to import when get rid of babel transpiler let ProviderProto = provisioning.property.accountMicroservice ? require('./SecuredProvider').SecuredProvider : require('./UnsecuredProvider').UnsecuredProvider; return new ProviderProto(provisioning); } /** * @returns {Provisioning/Instance} */ get provisioning() { return this._provisioning; } /** * @returns {LambdaService} */ get lambdaService() { return this.provisioning.services.find(_LambdaService.LambdaService); } } exports.AbstractProvider = AbstractProvider;