UNPKG

@sourceloop/ctrl-plane-subscription-service

Version:

Subscription management microservice for SaaS control plane.

56 lines 2.52 kB
"use strict"; // Copyright (c) 2023 Sourcefuse Technologies // // This software is released under the MIT License. // https://opensource.org/licenses/MIT Object.defineProperty(exports, "__esModule", { value: true }); exports.PlanSubscriptionController = void 0; const tslib_1 = require("tslib"); const repository_1 = require("@loopback/repository"); const repositories_1 = require("../repositories"); const openapi_v3_1 = require("@loopback/openapi-v3"); const core_1 = require("@sourceloop/core"); const loopback4_authentication_1 = require("loopback4-authentication"); const loopback4_authorization_1 = require("loopback4-authorization"); const permissions_1 = require("../permissions"); const models_1 = require("../models"); const baseUrl = '/plans/{id}/subscriptions'; let PlanSubscriptionController = class PlanSubscriptionController { constructor(subscriptionRepository) { this.subscriptionRepository = subscriptionRepository; } async find(id) { return this.subscriptionRepository.find({ where: { planId: id } }); } }; exports.PlanSubscriptionController = PlanSubscriptionController; tslib_1.__decorate([ (0, loopback4_authentication_1.authenticate)("bearer" /* STRATEGY.BEARER */, { passReqToCallback: true, }), (0, loopback4_authorization_1.authorize)({ permissions: [permissions_1.PermissionKey.ViewPlan, permissions_1.PermissionKey.ViewSubscription], }), (0, openapi_v3_1.get)(baseUrl, { security: core_1.OPERATION_SECURITY_SPEC, responses: { [200 /* STATUS_CODE.OK */]: { description: 'Plan model instance', content: { 'application/json': { schema: (0, openapi_v3_1.getModelSchemaRef)(models_1.Subscription, { includeRelations: true }), }, }, }, }, }), tslib_1.__param(0, openapi_v3_1.param.path.string('id')), tslib_1.__metadata("design:type", Function), tslib_1.__metadata("design:paramtypes", [String]), tslib_1.__metadata("design:returntype", Promise) ], PlanSubscriptionController.prototype, "find", null); exports.PlanSubscriptionController = PlanSubscriptionController = tslib_1.__decorate([ tslib_1.__param(0, (0, repository_1.repository)(repositories_1.SubscriptionRepository)), tslib_1.__metadata("design:paramtypes", [repositories_1.SubscriptionRepository]) ], PlanSubscriptionController); //# sourceMappingURL=plan-subscription.controller.js.map