@sourceloop/ctrl-plane-subscription-service
Version:
Subscription management microservice for SaaS control plane.
80 lines • 2.8 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.Subscription = void 0;
const tslib_1 = require("tslib");
const repository_1 = require("@loopback/repository");
const subscription_status_enum_1 = require("../enums/subscription-status.enum");
const utils_1 = require("../utils");
const core_1 = require("@sourceloop/core");
const plan_model_1 = require("./plan.model");
const invoice_model_1 = require("./invoice.model");
let Subscription = class Subscription extends core_1.UserModifiableEntity {
constructor(data) {
super(data);
}
};
exports.Subscription = Subscription;
tslib_1.__decorate([
(0, repository_1.property)({
type: 'string',
id: true,
generated: true,
}),
tslib_1.__metadata("design:type", String)
], Subscription.prototype, "id", void 0);
tslib_1.__decorate([
(0, repository_1.property)({
type: 'string',
required: true,
name: 'subscriber_id',
}),
tslib_1.__metadata("design:type", String)
], Subscription.prototype, "subscriberId", void 0);
tslib_1.__decorate([
(0, repository_1.property)({
type: 'string',
required: true,
name: 'start_date',
}),
tslib_1.__metadata("design:type", String)
], Subscription.prototype, "startDate", void 0);
tslib_1.__decorate([
(0, repository_1.property)({
type: 'string',
required: true,
name: 'end_date',
}),
tslib_1.__metadata("design:type", String)
], Subscription.prototype, "endDate", void 0);
tslib_1.__decorate([
(0, repository_1.property)({
type: 'number',
required: true,
description: 'status of the subscription, it can be - 0(pending), 1(active), 2(inactive), 3(cancelled) and 4(expired)',
jsonSchema: {
enum: (0, utils_1.numericEnumValues)(subscription_status_enum_1.SubscriptionStatus),
},
}),
tslib_1.__metadata("design:type", Number)
], Subscription.prototype, "status", void 0);
tslib_1.__decorate([
(0, repository_1.belongsTo)(() => plan_model_1.Plan, undefined, {
description: 'plan id of the subscription',
name: 'plan_id',
}),
tslib_1.__metadata("design:type", String)
], Subscription.prototype, "planId", void 0);
tslib_1.__decorate([
(0, repository_1.belongsTo)(() => invoice_model_1.Invoice, undefined, {
description: 'invoice id of the subscription',
name: 'invoice_id',
}),
tslib_1.__metadata("design:type", String)
], Subscription.prototype, "invoiceId", void 0);
exports.Subscription = Subscription = tslib_1.__decorate([
(0, repository_1.model)({
name: 'subscriptions',
}),
tslib_1.__metadata("design:paramtypes", [Object])
], Subscription);
//# sourceMappingURL=subscription.model.js.map