@carlonicora/nestjs-neo4jsonapi 2.11.0 → 2.12.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/agents/community.summariser/cron/community.summariser.cron.d.ts +6 -1
- package/dist/agents/community.summariser/cron/community.summariser.cron.d.ts.map +1 -1
- package/dist/agents/community.summariser/cron/community.summariser.cron.js +16 -2
- package/dist/agents/community.summariser/cron/community.summariser.cron.js.map +1 -1
- package/dist/agents/community.summariser/processors/community.summariser.processor.d.ts.map +1 -1
- package/dist/agents/community.summariser/processors/community.summariser.processor.js +5 -0
- package/dist/agents/community.summariser/processors/community.summariser.processor.js.map +1 -1
- package/dist/agents/operator/controllers/operator.controller.d.ts +16 -1
- package/dist/agents/operator/controllers/operator.controller.d.ts.map +1 -1
- package/dist/agents/operator/controllers/operator.controller.js +17 -2
- package/dist/agents/operator/controllers/operator.controller.js.map +1 -1
- package/dist/common/helpers/credit-gate.d.ts +11 -0
- package/dist/common/helpers/credit-gate.d.ts.map +1 -1
- package/dist/common/helpers/credit-gate.js +19 -0
- package/dist/common/helpers/credit-gate.js.map +1 -1
- package/dist/common/tokens.d.ts +23 -0
- package/dist/common/tokens.d.ts.map +1 -1
- package/dist/common/tokens.js +12 -0
- package/dist/common/tokens.js.map +1 -1
- package/dist/foundations/assistant/controllers/assistant.controller.d.ts.map +1 -1
- package/dist/foundations/assistant/controllers/assistant.controller.js +7 -0
- package/dist/foundations/assistant/controllers/assistant.controller.js.map +1 -1
- package/dist/foundations/assistant-action/controllers/assistant-action.controller.d.ts +23 -3
- package/dist/foundations/assistant-action/controllers/assistant-action.controller.d.ts.map +1 -1
- package/dist/foundations/assistant-action/controllers/assistant-action.controller.js +25 -2
- package/dist/foundations/assistant-action/controllers/assistant-action.controller.js.map +1 -1
- package/dist/foundations/chunk/processors/chunk.embedding.processor.d.ts.map +1 -1
- package/dist/foundations/chunk/processors/chunk.embedding.processor.js +6 -0
- package/dist/foundations/chunk/processors/chunk.embedding.processor.js.map +1 -1
- package/dist/foundations/chunk/processors/chunk.processor.d.ts.map +1 -1
- package/dist/foundations/chunk/processors/chunk.processor.js +5 -0
- package/dist/foundations/chunk/processors/chunk.processor.js.map +1 -1
- package/dist/foundations/company/entities/company.d.ts +9 -0
- package/dist/foundations/company/entities/company.d.ts.map +1 -1
- package/dist/foundations/company/entities/company.js +1 -0
- package/dist/foundations/company/entities/company.js.map +1 -1
- package/dist/foundations/company/events/company.events.d.ts +12 -0
- package/dist/foundations/company/events/company.events.d.ts.map +1 -0
- package/dist/foundations/company/events/company.events.js +12 -0
- package/dist/foundations/company/events/company.events.js.map +1 -0
- package/dist/foundations/company/index.d.ts +1 -0
- package/dist/foundations/company/index.d.ts.map +1 -1
- package/dist/foundations/company/index.js +3 -1
- package/dist/foundations/company/index.js.map +1 -1
- package/dist/foundations/company/repositories/company.repository.d.ts +2 -0
- package/dist/foundations/company/repositories/company.repository.d.ts.map +1 -1
- package/dist/foundations/company/repositories/company.repository.js +5 -0
- package/dist/foundations/company/repositories/company.repository.js.map +1 -1
- package/dist/foundations/company/services/company.service.d.ts +46 -1
- package/dist/foundations/company/services/company.service.d.ts.map +1 -1
- package/dist/foundations/company/services/company.service.js +71 -2
- package/dist/foundations/company/services/company.service.js.map +1 -1
- package/dist/foundations/keyconcept/processors/keyconcept.embedding.processor.d.ts +6 -1
- package/dist/foundations/keyconcept/processors/keyconcept.embedding.processor.d.ts.map +1 -1
- package/dist/foundations/keyconcept/processors/keyconcept.embedding.processor.js +20 -2
- package/dist/foundations/keyconcept/processors/keyconcept.embedding.processor.js.map +1 -1
- package/dist/foundations/stripe-subscription/services/token-allocation.service.d.ts +3 -1
- package/dist/foundations/stripe-subscription/services/token-allocation.service.d.ts.map +1 -1
- package/dist/foundations/stripe-subscription/services/token-allocation.service.js +8 -3
- package/dist/foundations/stripe-subscription/services/token-allocation.service.js.map +1 -1
- package/dist/foundations/stripe-trial/services/trial.service.d.ts +3 -1
- package/dist/foundations/stripe-trial/services/trial.service.d.ts.map +1 -1
- package/dist/foundations/stripe-trial/services/trial.service.js +14 -9
- package/dist/foundations/stripe-trial/services/trial.service.js.map +1 -1
- package/package.json +1 -1
|
@@ -2,6 +2,7 @@ import { WorkerHost } from "@nestjs/bullmq";
|
|
|
2
2
|
import { ConfigService } from "@nestjs/config";
|
|
3
3
|
import { Job } from "bullmq";
|
|
4
4
|
import { ClsService } from "nestjs-cls";
|
|
5
|
+
import { CreditValidatorInterface } from "../../../common/tokens";
|
|
5
6
|
import { BaseConfigInterface } from "../../../config/interfaces/base.config.interface";
|
|
6
7
|
import { EmbedderService } from "../../../core";
|
|
7
8
|
import { KeyConceptRepository } from "../repositories/keyconcept.repository";
|
|
@@ -10,8 +11,12 @@ export declare class KeyConceptEmbeddingProcessor extends WorkerHost {
|
|
|
10
11
|
private readonly clsService;
|
|
11
12
|
private readonly keyConceptRepository;
|
|
12
13
|
private readonly embedderService;
|
|
14
|
+
/** See ChunkProcessor: seam, not CompanyService — CompanyModule would mount `companies/*` here. */
|
|
15
|
+
private readonly creditValidator?;
|
|
13
16
|
private readonly rebuildKeyConceptsJobName;
|
|
14
|
-
constructor(clsService: ClsService, keyConceptRepository: KeyConceptRepository, embedderService: EmbedderService, configService: ConfigService<BaseConfigInterface
|
|
17
|
+
constructor(clsService: ClsService, keyConceptRepository: KeyConceptRepository, embedderService: EmbedderService, configService: ConfigService<BaseConfigInterface>,
|
|
18
|
+
/** See ChunkProcessor: seam, not CompanyService — CompanyModule would mount `companies/*` here. */
|
|
19
|
+
creditValidator?: CreditValidatorInterface);
|
|
15
20
|
onActive(job: Job): void;
|
|
16
21
|
onError(job: Job): void;
|
|
17
22
|
onCompleted(job: Job): void;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"keyconcept.embedding.processor.d.ts","sourceRoot":"","sources":["../../../../src/foundations/keyconcept/processors/keyconcept.embedding.processor.ts"],"names":[],"mappings":"AAAA,OAAO,EAA4B,UAAU,EAAE,MAAM,gBAAgB,CAAC;
|
|
1
|
+
{"version":3,"file":"keyconcept.embedding.processor.d.ts","sourceRoot":"","sources":["../../../../src/foundations/keyconcept/processors/keyconcept.embedding.processor.ts"],"names":[],"mappings":"AAAA,OAAO,EAA4B,UAAU,EAAE,MAAM,gBAAgB,CAAC;AAEtE,OAAO,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAC;AAC/C,OAAO,EAAE,GAAG,EAAE,MAAM,QAAQ,CAAC;AAC7B,OAAO,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AAExC,OAAO,EAAoB,wBAAwB,EAAE,MAAM,wBAAwB,CAAC;AACpF,OAAO,EAAE,mBAAmB,EAAE,MAAM,kDAAkD,CAAC;AACvF,OAAO,EAAE,eAAe,EAAE,MAAM,eAAe,CAAC;AAChD,OAAO,EAAE,oBAAoB,EAAE,MAAM,uCAAuC,CAAC;AAE7E,eAAO,MAAM,0BAA0B,0BAA0B,CAAC;AAElE,qBACa,4BAA6B,SAAQ,UAAU;IAIxD,OAAO,CAAC,QAAQ,CAAC,UAAU;IAC3B,OAAO,CAAC,QAAQ,CAAC,oBAAoB;IACrC,OAAO,CAAC,QAAQ,CAAC,eAAe;IAEhC,mGAAmG;IAGnG,OAAO,CAAC,QAAQ,CAAC,eAAe,CAAC;IAVnC,OAAO,CAAC,QAAQ,CAAC,yBAAyB,CAAS;gBAGhC,UAAU,EAAE,UAAU,EACtB,oBAAoB,EAAE,oBAAoB,EAC1C,eAAe,EAAE,eAAe,EACjD,aAAa,EAAE,aAAa,CAAC,mBAAmB,CAAC;IACjD,mGAAmG;IAGlF,eAAe,CAAC,EAAE,wBAAwB;IAQ7D,QAAQ,CAAC,GAAG,EAAE,GAAG;IAKjB,OAAO,CAAC,GAAG,EAAE,GAAG;IAKhB,WAAW,CAAC,GAAG,EAAE,GAAG;IAId,OAAO,CAAC,GAAG,EAAE,GAAG,GAAG,OAAO,CAAC;QAAE,SAAS,EAAE,MAAM,CAAA;KAAE,CAAC;CAqDxD"}
|
|
@@ -8,21 +8,28 @@ var __decorate = (this && this.__decorate) || function (decorators, target, key,
|
|
|
8
8
|
var __metadata = (this && this.__metadata) || function (k, v) {
|
|
9
9
|
if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
|
|
10
10
|
};
|
|
11
|
+
var __param = (this && this.__param) || function (paramIndex, decorator) {
|
|
12
|
+
return function (target, key) { decorator(target, key, paramIndex); }
|
|
13
|
+
};
|
|
11
14
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
12
15
|
exports.KeyConceptEmbeddingProcessor = exports.KEYCONCEPT_EMBEDDING_QUEUE = void 0;
|
|
13
16
|
const bullmq_1 = require("@nestjs/bullmq");
|
|
17
|
+
const common_1 = require("@nestjs/common");
|
|
14
18
|
const config_1 = require("@nestjs/config");
|
|
15
19
|
const bullmq_2 = require("bullmq");
|
|
16
20
|
const nestjs_cls_1 = require("nestjs-cls");
|
|
21
|
+
const credit_gate_1 = require("../../../common/helpers/credit-gate");
|
|
22
|
+
const tokens_1 = require("../../../common/tokens");
|
|
17
23
|
const core_1 = require("../../../core");
|
|
18
24
|
const keyconcept_repository_1 = require("../repositories/keyconcept.repository");
|
|
19
25
|
exports.KEYCONCEPT_EMBEDDING_QUEUE = "embedding-keyconcepts";
|
|
20
26
|
let KeyConceptEmbeddingProcessor = class KeyConceptEmbeddingProcessor extends bullmq_1.WorkerHost {
|
|
21
|
-
constructor(clsService, keyConceptRepository, embedderService, configService) {
|
|
27
|
+
constructor(clsService, keyConceptRepository, embedderService, configService, creditValidator) {
|
|
22
28
|
super();
|
|
23
29
|
this.clsService = clsService;
|
|
24
30
|
this.keyConceptRepository = keyConceptRepository;
|
|
25
31
|
this.embedderService = embedderService;
|
|
32
|
+
this.creditValidator = creditValidator;
|
|
26
33
|
this.rebuildKeyConceptsJobName =
|
|
27
34
|
configService.get("jobNames", { infer: true })?.process?.rebuild_keyconcepts ?? "embedding:rebuild_keyconcepts";
|
|
28
35
|
}
|
|
@@ -43,6 +50,15 @@ let KeyConceptEmbeddingProcessor = class KeyConceptEmbeddingProcessor extends bu
|
|
|
43
50
|
this.clsService.set("companyId", job.data.companyId);
|
|
44
51
|
this.clsService.set("userId", job.data.userId);
|
|
45
52
|
this.clsService.set("isAutomatedJob", true);
|
|
53
|
+
// No AI on this plan: drop silently. Deliberately BEFORE the credit
|
|
54
|
+
// check so nothing is ever marked pending or deferred — an AI-free
|
|
55
|
+
// company must accumulate no backlog. Mirrors ChunkEmbeddingProcessor.
|
|
56
|
+
if (!(await (0, credit_gate_1.isAiEnabledVia)(this.creditValidator, { companyId: job.data.companyId }))) {
|
|
57
|
+
return { processed: 0 };
|
|
58
|
+
}
|
|
59
|
+
if (!(await (0, credit_gate_1.hasAvailableCreditsVia)(this.creditValidator, { companyId: job.data.companyId }))) {
|
|
60
|
+
return { processed: 0 }; // admin re-embed is maintenance; skip cleanly, no marker
|
|
61
|
+
}
|
|
46
62
|
// 1. Recreate vector index with new dimensions
|
|
47
63
|
await this.keyConceptRepository.recreateVectorIndex();
|
|
48
64
|
// 2. Get all keyconcepts
|
|
@@ -90,9 +106,11 @@ __decorate([
|
|
|
90
106
|
], KeyConceptEmbeddingProcessor.prototype, "onCompleted", null);
|
|
91
107
|
exports.KeyConceptEmbeddingProcessor = KeyConceptEmbeddingProcessor = __decorate([
|
|
92
108
|
(0, bullmq_1.Processor)(exports.KEYCONCEPT_EMBEDDING_QUEUE, { concurrency: 1, lockDuration: 1000 * 60 * 30 }),
|
|
109
|
+
__param(4, (0, common_1.Optional)()),
|
|
110
|
+
__param(4, (0, common_1.Inject)(tokens_1.CREDIT_VALIDATOR)),
|
|
93
111
|
__metadata("design:paramtypes", [nestjs_cls_1.ClsService,
|
|
94
112
|
keyconcept_repository_1.KeyConceptRepository,
|
|
95
113
|
core_1.EmbedderService,
|
|
96
|
-
config_1.ConfigService])
|
|
114
|
+
config_1.ConfigService, Object])
|
|
97
115
|
], KeyConceptEmbeddingProcessor);
|
|
98
116
|
//# sourceMappingURL=keyconcept.embedding.processor.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"keyconcept.embedding.processor.js","sourceRoot":"","sources":["../../../../src/foundations/keyconcept/processors/keyconcept.embedding.processor.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"keyconcept.embedding.processor.js","sourceRoot":"","sources":["../../../../src/foundations/keyconcept/processors/keyconcept.embedding.processor.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { AppLoggingService } from "../../../core/logging";
|
|
2
2
|
import { CompanyRepository } from "../../company/repositories/company.repository";
|
|
3
|
+
import { CompanyService } from "../../company/services/company.service";
|
|
3
4
|
import { StripePriceRepository } from "../../stripe-price/repositories/stripe-price.repository";
|
|
4
5
|
import { StripeSubscriptionRepository } from "../repositories/stripe-subscription.repository";
|
|
5
6
|
export interface TokenAllocationResult {
|
|
@@ -12,9 +13,10 @@ export interface TokenAllocationResult {
|
|
|
12
13
|
export declare class TokenAllocationService {
|
|
13
14
|
private readonly subscriptionRepository;
|
|
14
15
|
private readonly companyRepository;
|
|
16
|
+
private readonly companyService;
|
|
15
17
|
private readonly stripePriceRepository;
|
|
16
18
|
private readonly logger;
|
|
17
|
-
constructor(subscriptionRepository: StripeSubscriptionRepository, companyRepository: CompanyRepository, stripePriceRepository: StripePriceRepository, logger: AppLoggingService);
|
|
19
|
+
constructor(subscriptionRepository: StripeSubscriptionRepository, companyRepository: CompanyRepository, companyService: CompanyService, stripePriceRepository: StripePriceRepository, logger: AppLoggingService);
|
|
18
20
|
/**
|
|
19
21
|
* Allocate full tokens on subscription payment (new or renewal)
|
|
20
22
|
*
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"token-allocation.service.d.ts","sourceRoot":"","sources":["../../../../src/foundations/stripe-subscription/services/token-allocation.service.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAC;AAE1D,OAAO,EAAE,iBAAiB,EAAE,MAAM,+CAA+C,CAAC;AAClF,OAAO,EAAE,qBAAqB,EAAE,MAAM,yDAAyD,CAAC;AAChG,OAAO,EAAE,4BAA4B,EAAE,MAAM,gDAAgD,CAAC;AAE9F,MAAM,WAAW,qBAAqB;IACpC,OAAO,EAAE,OAAO,CAAC;IACjB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED,qBACa,sBAAsB;IAE/B,OAAO,CAAC,QAAQ,CAAC,sBAAsB;IACvC,OAAO,CAAC,QAAQ,CAAC,iBAAiB;IAClC,OAAO,CAAC,QAAQ,CAAC,qBAAqB;IACtC,OAAO,CAAC,QAAQ,CAAC,MAAM;
|
|
1
|
+
{"version":3,"file":"token-allocation.service.d.ts","sourceRoot":"","sources":["../../../../src/foundations/stripe-subscription/services/token-allocation.service.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAC;AAE1D,OAAO,EAAE,iBAAiB,EAAE,MAAM,+CAA+C,CAAC;AAClF,OAAO,EAAE,cAAc,EAAE,MAAM,wCAAwC,CAAC;AACxE,OAAO,EAAE,qBAAqB,EAAE,MAAM,yDAAyD,CAAC;AAChG,OAAO,EAAE,4BAA4B,EAAE,MAAM,gDAAgD,CAAC;AAE9F,MAAM,WAAW,qBAAqB;IACpC,OAAO,EAAE,OAAO,CAAC;IACjB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED,qBACa,sBAAsB;IAE/B,OAAO,CAAC,QAAQ,CAAC,sBAAsB;IACvC,OAAO,CAAC,QAAQ,CAAC,iBAAiB;IAClC,OAAO,CAAC,QAAQ,CAAC,cAAc;IAC/B,OAAO,CAAC,QAAQ,CAAC,qBAAqB;IACtC,OAAO,CAAC,QAAQ,CAAC,MAAM;gBAJN,sBAAsB,EAAE,4BAA4B,EACpD,iBAAiB,EAAE,iBAAiB,EACpC,cAAc,EAAE,cAAc,EAC9B,qBAAqB,EAAE,qBAAqB,EAC5C,MAAM,EAAE,iBAAiB;IAG5C;;;;;;;;;OASG;IACG,uBAAuB,CAAC,MAAM,EAAE;QAAE,oBAAoB,EAAE,MAAM,CAAA;KAAE,GAAG,OAAO,CAAC,qBAAqB,CAAC;IAuDvG;;;;;;;;;;;;OAYG;IACG,kCAAkC,CAAC,MAAM,EAAE;QAC/C,oBAAoB,EAAE,MAAM,CAAC;QAC7B,UAAU,EAAE,MAAM,CAAC;KACpB,GAAG,OAAO,CAAC,qBAAqB,CAAC;IA8DlC;;;;;;;;;;;OAWG;IACG,oCAAoC,CAAC,MAAM,EAAE;QAAE,eAAe,EAAE,MAAM,CAAA;KAAE,GAAG,OAAO,CAAC,qBAAqB,CAAC;IAiD/G;;OAEG;YACW,yBAAyB;CAMxC"}
|
|
@@ -13,12 +13,14 @@ exports.TokenAllocationService = void 0;
|
|
|
13
13
|
const common_1 = require("@nestjs/common");
|
|
14
14
|
const logging_1 = require("../../../core/logging");
|
|
15
15
|
const company_repository_1 = require("../../company/repositories/company.repository");
|
|
16
|
+
const company_service_1 = require("../../company/services/company.service");
|
|
16
17
|
const stripe_price_repository_1 = require("../../stripe-price/repositories/stripe-price.repository");
|
|
17
18
|
const stripe_subscription_repository_1 = require("../repositories/stripe-subscription.repository");
|
|
18
19
|
let TokenAllocationService = class TokenAllocationService {
|
|
19
|
-
constructor(subscriptionRepository, companyRepository, stripePriceRepository, logger) {
|
|
20
|
+
constructor(subscriptionRepository, companyRepository, companyService, stripePriceRepository, logger) {
|
|
20
21
|
this.subscriptionRepository = subscriptionRepository;
|
|
21
22
|
this.companyRepository = companyRepository;
|
|
23
|
+
this.companyService = companyService;
|
|
22
24
|
this.stripePriceRepository = stripePriceRepository;
|
|
23
25
|
this.logger = logger;
|
|
24
26
|
}
|
|
@@ -60,10 +62,11 @@ let TokenAllocationService = class TokenAllocationService {
|
|
|
60
62
|
isActiveSubscription: true,
|
|
61
63
|
});
|
|
62
64
|
// 5. Reset monthly tokens to full amount
|
|
63
|
-
await this.
|
|
65
|
+
await this.companyService.updateTokensAndAiFlag({
|
|
64
66
|
companyId: company.id,
|
|
65
67
|
monthlyCredits: price.token,
|
|
66
68
|
availableMonthlyCredits: price.token,
|
|
69
|
+
aiEnabled: (price.token ?? 0) > 0,
|
|
67
70
|
});
|
|
68
71
|
this.logger.log(`Token allocation on payment: Company ${company.id} - reset from ${previousTokens} to ${price.token} tokens`);
|
|
69
72
|
return {
|
|
@@ -119,10 +122,11 @@ let TokenAllocationService = class TokenAllocationService {
|
|
|
119
122
|
// 5. Get current company state
|
|
120
123
|
const previousTokens = Number(company.availableMonthlyCredits ?? 0);
|
|
121
124
|
// 6. Reset to prorated amount
|
|
122
|
-
await this.
|
|
125
|
+
await this.companyService.updateTokensAndAiFlag({
|
|
123
126
|
companyId: company.id,
|
|
124
127
|
monthlyCredits: newPrice.token,
|
|
125
128
|
availableMonthlyCredits: proratedTokens,
|
|
129
|
+
aiEnabled: (newPrice.token ?? 0) > 0,
|
|
126
130
|
});
|
|
127
131
|
this.logger.log(`Prorated token allocation: Company ${company.id} - reset from ${previousTokens} to ${proratedTokens} tokens (${remainingDays.toFixed(1)}/${totalDays.toFixed(1)} days remaining)`);
|
|
128
132
|
return {
|
|
@@ -197,6 +201,7 @@ exports.TokenAllocationService = TokenAllocationService = __decorate([
|
|
|
197
201
|
(0, common_1.Injectable)(),
|
|
198
202
|
__metadata("design:paramtypes", [stripe_subscription_repository_1.StripeSubscriptionRepository,
|
|
199
203
|
company_repository_1.CompanyRepository,
|
|
204
|
+
company_service_1.CompanyService,
|
|
200
205
|
stripe_price_repository_1.StripePriceRepository,
|
|
201
206
|
logging_1.AppLoggingService])
|
|
202
207
|
], TokenAllocationService);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"token-allocation.service.js","sourceRoot":"","sources":["../../../../src/foundations/stripe-subscription/services/token-allocation.service.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,2CAA4C;AAC5C,mDAA0D;AAE1D,sFAAkF;AAClF,qGAAgG;AAChG,mGAA8F;AAWvF,IAAM,sBAAsB,GAA5B,MAAM,sBAAsB;IACjC,YACmB,sBAAoD,EACpD,iBAAoC,EACpC,qBAA4C,EAC5C,MAAyB;
|
|
1
|
+
{"version":3,"file":"token-allocation.service.js","sourceRoot":"","sources":["../../../../src/foundations/stripe-subscription/services/token-allocation.service.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import { ModuleRef } from "@nestjs/core";
|
|
2
2
|
import { AppLoggingService } from "../../../core/logging/services/logging.service";
|
|
3
3
|
import { CompanyRepository } from "../../company/repositories/company.repository";
|
|
4
|
+
import { CompanyService } from "../../company/services/company.service";
|
|
4
5
|
/**
|
|
5
6
|
* TrialService
|
|
6
7
|
*
|
|
@@ -24,8 +25,9 @@ import { CompanyRepository } from "../../company/repositories/company.repository
|
|
|
24
25
|
export declare class TrialService {
|
|
25
26
|
private readonly moduleRef;
|
|
26
27
|
private readonly companyRepository;
|
|
28
|
+
private readonly companyService;
|
|
27
29
|
private readonly logger;
|
|
28
|
-
constructor(moduleRef: ModuleRef, companyRepository: CompanyRepository, logger: AppLoggingService);
|
|
30
|
+
constructor(moduleRef: ModuleRef, companyRepository: CompanyRepository, companyService: CompanyService, logger: AppLoggingService);
|
|
29
31
|
/**
|
|
30
32
|
* Lazily get Stripe services via ModuleRef to avoid circular dependencies.
|
|
31
33
|
* Stripe modules form a complex circular chain that can't be resolved with forwardRef alone.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"trial.service.d.ts","sourceRoot":"","sources":["../../../../src/foundations/stripe-trial/services/trial.service.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AACzC,OAAO,EAAE,iBAAiB,EAAE,MAAM,gDAAgD,CAAC;AACnF,OAAO,EAAE,iBAAiB,EAAE,MAAM,+CAA+C,CAAC;
|
|
1
|
+
{"version":3,"file":"trial.service.d.ts","sourceRoot":"","sources":["../../../../src/foundations/stripe-trial/services/trial.service.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AACzC,OAAO,EAAE,iBAAiB,EAAE,MAAM,gDAAgD,CAAC;AACnF,OAAO,EAAE,iBAAiB,EAAE,MAAM,+CAA+C,CAAC;AAClF,OAAO,EAAE,cAAc,EAAE,MAAM,wCAAwC,CAAC;AAMxE;;;;;;;;;;;;;;;;;;;GAmBG;AACH,qBACa,YAAY;IAErB,OAAO,CAAC,QAAQ,CAAC,SAAS;IAC1B,OAAO,CAAC,QAAQ,CAAC,iBAAiB;IAClC,OAAO,CAAC,QAAQ,CAAC,cAAc;IAC/B,OAAO,CAAC,QAAQ,CAAC,MAAM;gBAHN,SAAS,EAAE,SAAS,EACpB,iBAAiB,EAAE,iBAAiB,EACpC,cAAc,EAAE,cAAc,EAC9B,MAAM,EAAE,iBAAiB;IAG5C;;;OAGG;IACH,OAAO,KAAK,0BAA0B,GAErC;IAED,OAAO,KAAK,8BAA8B,GAEzC;IAED,OAAO,KAAK,qBAAqB,GAEhC;IAED,OAAO,KAAK,wBAAwB,GAEnC;IAED;;;;;;;;;;;;;;;;;;OAkBG;IACG,UAAU,CAAC,MAAM,EAAE;QAAE,SAAS,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,GAAG,OAAO,CAAC,IAAI,CAAC;CAwD/E"}
|
|
@@ -14,6 +14,7 @@ const common_1 = require("@nestjs/common");
|
|
|
14
14
|
const core_1 = require("@nestjs/core");
|
|
15
15
|
const logging_service_1 = require("../../../core/logging/services/logging.service");
|
|
16
16
|
const company_repository_1 = require("../../company/repositories/company.repository");
|
|
17
|
+
const company_service_1 = require("../../company/services/company.service");
|
|
17
18
|
const stripe_customer_repository_1 = require("../../stripe-customer/repositories/stripe-customer.repository");
|
|
18
19
|
const stripe_customer_admin_service_1 = require("../../stripe-customer/services/stripe-customer-admin.service");
|
|
19
20
|
const stripe_price_repository_1 = require("../../stripe-price/repositories/stripe-price.repository");
|
|
@@ -39,9 +40,10 @@ const stripe_subscription_admin_service_1 = require("../../stripe-subscription/s
|
|
|
39
40
|
* ```
|
|
40
41
|
*/
|
|
41
42
|
let TrialService = class TrialService {
|
|
42
|
-
constructor(moduleRef, companyRepository, logger) {
|
|
43
|
+
constructor(moduleRef, companyRepository, companyService, logger) {
|
|
43
44
|
this.moduleRef = moduleRef;
|
|
44
45
|
this.companyRepository = companyRepository;
|
|
46
|
+
this.companyService = companyService;
|
|
45
47
|
this.logger = logger;
|
|
46
48
|
}
|
|
47
49
|
/**
|
|
@@ -110,15 +112,17 @@ let TrialService = class TrialService {
|
|
|
110
112
|
trialPeriodDays: 14,
|
|
111
113
|
// trialEnd: Math.floor(Date.now() / 1000) + 3 * 60,
|
|
112
114
|
});
|
|
113
|
-
// 4. Allocate trial tokens from price configuration
|
|
115
|
+
// 4. Allocate trial tokens from price configuration.
|
|
116
|
+
// The flag is written unconditionally: a trial price with token 0 is an
|
|
117
|
+
// AI-free trial, and gating this behind `trialTokens > 0` would silently
|
|
118
|
+
// leave such a company with AI enabled.
|
|
114
119
|
const trialTokens = trialPrice.token ?? 0;
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
}
|
|
120
|
+
await this.companyService.updateTokensAndAiFlag({
|
|
121
|
+
companyId: params.companyId,
|
|
122
|
+
monthlyCredits: trialTokens,
|
|
123
|
+
availableMonthlyCredits: trialTokens,
|
|
124
|
+
aiEnabled: trialTokens > 0,
|
|
125
|
+
});
|
|
122
126
|
// 5. Mark subscription as active (during trial)
|
|
123
127
|
await this.companyRepository.markSubscriptionStatus({
|
|
124
128
|
companyId: params.companyId,
|
|
@@ -132,6 +136,7 @@ exports.TrialService = TrialService = __decorate([
|
|
|
132
136
|
(0, common_1.Injectable)(),
|
|
133
137
|
__metadata("design:paramtypes", [core_1.ModuleRef,
|
|
134
138
|
company_repository_1.CompanyRepository,
|
|
139
|
+
company_service_1.CompanyService,
|
|
135
140
|
logging_service_1.AppLoggingService])
|
|
136
141
|
], TrialService);
|
|
137
142
|
//# sourceMappingURL=trial.service.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"trial.service.js","sourceRoot":"","sources":["../../../../src/foundations/stripe-trial/services/trial.service.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,2CAA4C;AAC5C,uCAAyC;AACzC,oFAAmF;AACnF,sFAAkF;AAClF,8GAAyG;AACzG,gHAA0G;AAC1G,qGAAgG;AAChG,4HAAsH;AAEtH;;;;;;;;;;;;;;;;;;;GAmBG;AAEI,IAAM,YAAY,GAAlB,MAAM,YAAY;IACvB,YACmB,SAAoB,EACpB,iBAAoC,EACpC,MAAyB;
|
|
1
|
+
{"version":3,"file":"trial.service.js","sourceRoot":"","sources":["../../../../src/foundations/stripe-trial/services/trial.service.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED