@omnia/tooling-composers
Version:
Provide tooling to work with manifest things.
38 lines (37 loc) • 1.79 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.ServiceManifestComposer = void 0;
const RequestedResourcesRegistry_1 = require("./RequestedResourcesRegistry");
const RequiredAzureAdAppPermissionRegistry_1 = require("./RequiredAzureAdAppPermissionRegistry");
const AzureAdAppPermissionHelper_1 = require("./AzureAdAppPermissionHelper");
const ServiceManifestRegistry_1 = require("./ServiceManifestRegistry");
class ServiceManifestComposer {
constructor(getInitInstance) {
this.getInitInstance = getInitInstance;
this.requestSqlDatabase = (options) => {
RequestedResourcesRegistry_1.RequestedResourcesRegistry.AddSql(options);
return this.getInitInstance();
};
this.requestSqlElasticPoolDatabase = (options) => {
RequestedResourcesRegistry_1.RequestedResourcesRegistry.AddSqlElasticPool(options);
return this.getInitInstance();
};
this.requestPersistentDisk = (options) => {
RequestedResourcesRegistry_1.RequestedResourcesRegistry.AddPersistentDisk(options);
return this.getInitInstance();
};
}
requireAzureAdAppPermissions(options) {
let azureAdPermissions = AzureAdAppPermissionHelper_1.AzureAdAppPermissionHelper.getAzureAdAppPermissions(options);
azureAdPermissions.forEach(item => {
RequiredAzureAdAppPermissionRegistry_1.RequiredAzureAdAppPermissionRegistry.addApiPermission(item);
});
return this.getInitInstance();
}
;
isOnTheFlyService() {
ServiceManifestRegistry_1.ServiceManifestRegistry.getServiceInfo().isOnTheFlyService = true;
return this.getInitInstance();
}
}
exports.ServiceManifestComposer = ServiceManifestComposer;