@carlonicora/nestjs-neo4jsonapi 7.0.0 → 8.0.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/bootstrap/app.module.factory.d.ts.map +1 -1
- package/dist/bootstrap/app.module.factory.js +1 -0
- package/dist/bootstrap/app.module.factory.js.map +1 -1
- package/dist/bootstrap/bootstrap.options.d.ts +20 -0
- package/dist/bootstrap/bootstrap.options.d.ts.map +1 -1
- package/dist/common/decorators/audit.decorator.d.ts +3 -0
- package/dist/common/decorators/audit.decorator.d.ts.map +1 -1
- package/dist/common/decorators/audit.decorator.js +15 -2
- package/dist/common/decorators/audit.decorator.js.map +1 -1
- package/dist/common/decorators/cache-invalidate.decorator.d.ts.map +1 -1
- package/dist/common/decorators/cache-invalidate.decorator.js +3 -11
- package/dist/common/decorators/cache-invalidate.decorator.js.map +1 -1
- package/dist/common/decorators/handler-wrapper.d.ts +13 -0
- package/dist/common/decorators/handler-wrapper.d.ts.map +1 -0
- package/dist/common/decorators/handler-wrapper.js +25 -0
- package/dist/common/decorators/handler-wrapper.js.map +1 -0
- package/dist/common/decorators/validate-id.decorator.d.ts.map +1 -1
- package/dist/common/decorators/validate-id.decorator.js +3 -11
- package/dist/common/decorators/validate-id.decorator.js.map +1 -1
- package/dist/core/email/templates/en/cardExpiring.hbs +28 -0
- package/dist/core/email/templates/en/paymentFailure.hbs +4 -0
- package/dist/foundations/ai-connection/controllers/ai-connection.controller.d.ts +2 -1
- package/dist/foundations/ai-connection/controllers/ai-connection.controller.d.ts.map +1 -1
- package/dist/foundations/ai-connection/controllers/ai-connection.controller.js +5 -4
- package/dist/foundations/ai-connection/controllers/ai-connection.controller.js.map +1 -1
- package/dist/foundations/analytics/controllers/analytics.admin.controller.d.ts +2 -1
- package/dist/foundations/analytics/controllers/analytics.admin.controller.d.ts.map +1 -1
- package/dist/foundations/analytics/controllers/analytics.admin.controller.js +5 -4
- package/dist/foundations/analytics/controllers/analytics.admin.controller.js.map +1 -1
- package/dist/foundations/billing/billing.module.d.ts +26 -0
- package/dist/foundations/billing/billing.module.d.ts.map +1 -0
- package/dist/foundations/billing/billing.module.js +74 -0
- package/dist/foundations/billing/billing.module.js.map +1 -0
- package/dist/foundations/billing/cron/billing-lifecycle.cron.d.ts +16 -0
- package/dist/foundations/billing/cron/billing-lifecycle.cron.d.ts.map +1 -0
- package/dist/foundations/billing/cron/billing-lifecycle.cron.js +52 -0
- package/dist/foundations/billing/cron/billing-lifecycle.cron.js.map +1 -0
- package/dist/foundations/billing/index.d.ts +7 -0
- package/dist/foundations/billing/index.d.ts.map +1 -0
- package/dist/foundations/billing/index.js +28 -0
- package/dist/foundations/billing/index.js.map +1 -0
- package/dist/foundations/billing/interfaces/billing.config.interface.d.ts +71 -0
- package/dist/foundations/billing/interfaces/billing.config.interface.d.ts.map +1 -0
- package/dist/foundations/billing/interfaces/billing.config.interface.js +41 -0
- package/dist/foundations/billing/interfaces/billing.config.interface.js.map +1 -0
- package/dist/foundations/billing/processors/billing-email.jobs.d.ts +127 -0
- package/dist/foundations/billing/processors/billing-email.jobs.d.ts.map +1 -0
- package/dist/foundations/billing/processors/billing-email.jobs.js +196 -0
- package/dist/foundations/billing/processors/billing-email.jobs.js.map +1 -0
- package/dist/foundations/billing/processors/billing-email.processor.d.ts +33 -0
- package/dist/foundations/billing/processors/billing-email.processor.d.ts.map +1 -0
- package/dist/foundations/billing/processors/billing-email.processor.js +95 -0
- package/dist/foundations/billing/processors/billing-email.processor.js.map +1 -0
- package/dist/foundations/billing/services/card-expiry-warning.service.d.ts +58 -0
- package/dist/foundations/billing/services/card-expiry-warning.service.d.ts.map +1 -0
- package/dist/foundations/billing/services/card-expiry-warning.service.js +90 -0
- package/dist/foundations/billing/services/card-expiry-warning.service.js.map +1 -0
- 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 +2 -2
- package/dist/foundations/company/repositories/company.repository.js.map +1 -1
- package/dist/foundations/foundations.modules.d.ts +3 -0
- package/dist/foundations/foundations.modules.d.ts.map +1 -1
- package/dist/foundations/foundations.modules.js +3 -1
- package/dist/foundations/foundations.modules.js.map +1 -1
- package/dist/foundations/handbook/controllers/handbook.controller.d.ts +1 -1
- package/dist/foundations/handbook/controllers/handbook.controller.d.ts.map +1 -1
- package/dist/foundations/handbook/controllers/handbook.controller.js +5 -4
- package/dist/foundations/handbook/controllers/handbook.controller.js.map +1 -1
- package/dist/foundations/index.d.ts +1 -0
- package/dist/foundations/index.d.ts.map +1 -1
- package/dist/foundations/index.js +1 -0
- package/dist/foundations/index.js.map +1 -1
- package/dist/foundations/notification/controllers/notification.controller.d.ts.map +1 -1
- package/dist/foundations/notification/controllers/notification.controller.js +0 -1
- package/dist/foundations/notification/controllers/notification.controller.js.map +1 -1
- package/dist/foundations/role/controllers/role.controller.d.ts +1 -1
- package/dist/foundations/role/controllers/role.controller.d.ts.map +1 -1
- package/dist/foundations/role/controllers/role.controller.js +4 -3
- package/dist/foundations/role/controllers/role.controller.js.map +1 -1
- package/dist/foundations/stripe-coupon/controllers/stripe-coupon-code-checkout.controller.d.ts +2 -1
- package/dist/foundations/stripe-coupon/controllers/stripe-coupon-code-checkout.controller.d.ts.map +1 -1
- package/dist/foundations/stripe-coupon/controllers/stripe-coupon-code-checkout.controller.js +5 -6
- package/dist/foundations/stripe-coupon/controllers/stripe-coupon-code-checkout.controller.js.map +1 -1
- package/dist/foundations/stripe-coupon/controllers/stripe-coupon-code.controller.d.ts +1 -1
- package/dist/foundations/stripe-coupon/controllers/stripe-coupon-code.controller.d.ts.map +1 -1
- package/dist/foundations/stripe-coupon/controllers/stripe-coupon-code.controller.js +5 -4
- package/dist/foundations/stripe-coupon/controllers/stripe-coupon-code.controller.js.map +1 -1
- package/dist/foundations/stripe-coupon/controllers/stripe-coupon.controller.d.ts +1 -1
- package/dist/foundations/stripe-coupon/controllers/stripe-coupon.controller.d.ts.map +1 -1
- package/dist/foundations/stripe-coupon/controllers/stripe-coupon.controller.js +5 -4
- package/dist/foundations/stripe-coupon/controllers/stripe-coupon.controller.js.map +1 -1
- package/dist/foundations/stripe-coupon/controllers/stripe-coupon.public.controller.d.ts +1 -0
- package/dist/foundations/stripe-coupon/controllers/stripe-coupon.public.controller.d.ts.map +1 -1
- package/dist/foundations/stripe-coupon/controllers/stripe-coupon.public.controller.js +4 -0
- package/dist/foundations/stripe-coupon/controllers/stripe-coupon.public.controller.js.map +1 -1
- package/dist/foundations/stripe-coupon/dtos/stripe-coupon-code.automatic.query.dto.d.ts +8 -0
- package/dist/foundations/stripe-coupon/dtos/stripe-coupon-code.automatic.query.dto.d.ts.map +1 -0
- package/dist/foundations/stripe-coupon/dtos/stripe-coupon-code.automatic.query.dto.js +25 -0
- package/dist/foundations/stripe-coupon/dtos/stripe-coupon-code.automatic.query.dto.js.map +1 -0
- package/dist/foundations/stripe-coupon/entities/stripe-coupon-code.js +1 -1
- package/dist/foundations/stripe-coupon/entities/stripe-coupon-code.js.map +1 -1
- package/dist/foundations/stripe-coupon/entities/stripe-coupon-offer.d.ts +5 -0
- package/dist/foundations/stripe-coupon/entities/stripe-coupon-offer.d.ts.map +1 -1
- package/dist/foundations/stripe-coupon/entities/stripe-coupon-offer.js.map +1 -1
- package/dist/foundations/stripe-coupon/entities/stripe-coupon.d.ts +25 -2
- package/dist/foundations/stripe-coupon/entities/stripe-coupon.d.ts.map +1 -1
- package/dist/foundations/stripe-coupon/entities/stripe-coupon.js +1 -1
- package/dist/foundations/stripe-coupon/entities/stripe-coupon.js.map +1 -1
- package/dist/foundations/stripe-coupon/index.d.ts +1 -0
- package/dist/foundations/stripe-coupon/index.d.ts.map +1 -1
- package/dist/foundations/stripe-coupon/index.js +1 -0
- package/dist/foundations/stripe-coupon/index.js.map +1 -1
- package/dist/foundations/stripe-coupon/services/stripe-coupon-api.service.d.ts +5 -8
- package/dist/foundations/stripe-coupon/services/stripe-coupon-api.service.d.ts.map +1 -1
- package/dist/foundations/stripe-coupon/services/stripe-coupon-api.service.js +9 -9
- package/dist/foundations/stripe-coupon/services/stripe-coupon-api.service.js.map +1 -1
- package/dist/foundations/stripe-coupon/services/stripe-coupon-offer.service.js.map +1 -1
- package/dist/foundations/stripe-coupon/services/stripe-coupon.service.d.ts +36 -3
- package/dist/foundations/stripe-coupon/services/stripe-coupon.service.d.ts.map +1 -1
- package/dist/foundations/stripe-coupon/services/stripe-coupon.service.js +69 -33
- package/dist/foundations/stripe-coupon/services/stripe-coupon.service.js.map +1 -1
- package/dist/foundations/stripe-customer/services/stripe-customer-api.service.d.ts +17 -0
- package/dist/foundations/stripe-customer/services/stripe-customer-api.service.d.ts.map +1 -1
- package/dist/foundations/stripe-customer/services/stripe-customer-api.service.js +40 -0
- package/dist/foundations/stripe-customer/services/stripe-customer-api.service.js.map +1 -1
- package/dist/foundations/stripe-invoice/entities/stripe-invoice.entity.d.ts +1 -1
- package/dist/foundations/stripe-invoice/entities/stripe-invoice.entity.d.ts.map +1 -1
- package/dist/foundations/stripe-invoice/serialisers/stripe-invoice.serialiser.js +2 -2
- package/dist/foundations/stripe-invoice/serialisers/stripe-invoice.serialiser.js.map +1 -1
- package/dist/foundations/stripe-invoice/services/stripe-invoice-api.service.d.ts +13 -0
- package/dist/foundations/stripe-invoice/services/stripe-invoice-api.service.d.ts.map +1 -1
- package/dist/foundations/stripe-invoice/services/stripe-invoice-api.service.js +21 -0
- package/dist/foundations/stripe-invoice/services/stripe-invoice-api.service.js.map +1 -1
- package/dist/foundations/stripe-subscription/controllers/stripe-subscription.controller.d.ts +1 -3
- package/dist/foundations/stripe-subscription/controllers/stripe-subscription.controller.d.ts.map +1 -1
- package/dist/foundations/stripe-subscription/controllers/stripe-subscription.controller.js +5 -38
- package/dist/foundations/stripe-subscription/controllers/stripe-subscription.controller.js.map +1 -1
- package/dist/foundations/stripe-subscription/entities/stripe-subscription.d.ts +60 -0
- package/dist/foundations/stripe-subscription/entities/stripe-subscription.d.ts.map +1 -0
- package/dist/foundations/stripe-subscription/entities/stripe-subscription.discount.d.ts +1 -1
- package/dist/foundations/stripe-subscription/entities/stripe-subscription.discount.d.ts.map +1 -1
- package/dist/foundations/stripe-subscription/entities/stripe-subscription.js +61 -0
- package/dist/foundations/stripe-subscription/entities/stripe-subscription.js.map +1 -0
- package/dist/foundations/stripe-subscription/index.d.ts +1 -4
- package/dist/foundations/stripe-subscription/index.d.ts.map +1 -1
- package/dist/foundations/stripe-subscription/index.js +4 -8
- package/dist/foundations/stripe-subscription/index.js.map +1 -1
- package/dist/foundations/stripe-subscription/repositories/stripe-subscription.repository.d.ts +93 -165
- package/dist/foundations/stripe-subscription/repositories/stripe-subscription.repository.d.ts.map +1 -1
- package/dist/foundations/stripe-subscription/repositories/stripe-subscription.repository.js +206 -274
- package/dist/foundations/stripe-subscription/repositories/stripe-subscription.repository.js.map +1 -1
- package/dist/foundations/stripe-subscription/services/stripe-subscription-admin.service.d.ts +34 -36
- package/dist/foundations/stripe-subscription/services/stripe-subscription-admin.service.d.ts.map +1 -1
- package/dist/foundations/stripe-subscription/services/stripe-subscription-admin.service.js +20 -72
- package/dist/foundations/stripe-subscription/services/stripe-subscription-admin.service.js.map +1 -1
- package/dist/foundations/stripe-subscription/services/stripe-subscription-api.service.d.ts +1 -29
- package/dist/foundations/stripe-subscription/services/stripe-subscription-api.service.d.ts.map +1 -1
- package/dist/foundations/stripe-subscription/services/stripe-subscription-api.service.js +1 -53
- package/dist/foundations/stripe-subscription/services/stripe-subscription-api.service.js.map +1 -1
- package/dist/foundations/stripe-subscription/stripe-subscription.module.d.ts +3 -3
- package/dist/foundations/stripe-subscription/stripe-subscription.module.d.ts.map +1 -1
- package/dist/foundations/stripe-subscription/stripe-subscription.module.js +8 -7
- package/dist/foundations/stripe-subscription/stripe-subscription.module.js.map +1 -1
- package/dist/foundations/stripe-usage/entities/stripe-usage-record.entity.d.ts +1 -1
- package/dist/foundations/stripe-usage/entities/stripe-usage-record.entity.d.ts.map +1 -1
- package/dist/foundations/stripe-usage/serialisers/stripe-usage-record.serialiser.js +2 -2
- package/dist/foundations/stripe-usage/serialisers/stripe-usage-record.serialiser.js.map +1 -1
- package/dist/foundations/stripe-webhook/processors/stripe-webhook.processor.d.ts +6 -1
- package/dist/foundations/stripe-webhook/processors/stripe-webhook.processor.d.ts.map +1 -1
- package/dist/foundations/stripe-webhook/processors/stripe-webhook.processor.js +73 -15
- package/dist/foundations/stripe-webhook/processors/stripe-webhook.processor.js.map +1 -1
- package/dist/foundations/stripe-webhook/services/stripe-webhook-notification.service.d.ts +24 -2
- package/dist/foundations/stripe-webhook/services/stripe-webhook-notification.service.d.ts.map +1 -1
- package/dist/foundations/stripe-webhook/services/stripe-webhook-notification.service.js +88 -20
- package/dist/foundations/stripe-webhook/services/stripe-webhook-notification.service.js.map +1 -1
- package/package.json +1 -1
- package/dist/foundations/stripe-subscription/entities/stripe-subscription.entity.d.ts +0 -27
- package/dist/foundations/stripe-subscription/entities/stripe-subscription.entity.d.ts.map +0 -1
- package/dist/foundations/stripe-subscription/entities/stripe-subscription.entity.js +0 -3
- package/dist/foundations/stripe-subscription/entities/stripe-subscription.entity.js.map +0 -1
- package/dist/foundations/stripe-subscription/entities/stripe-subscription.map.d.ts +0 -8
- package/dist/foundations/stripe-subscription/entities/stripe-subscription.map.d.ts.map +0 -1
- package/dist/foundations/stripe-subscription/entities/stripe-subscription.map.js +0 -30
- package/dist/foundations/stripe-subscription/entities/stripe-subscription.map.js.map +0 -1
- package/dist/foundations/stripe-subscription/entities/stripe-subscription.model.d.ts +0 -4
- package/dist/foundations/stripe-subscription/entities/stripe-subscription.model.d.ts.map +0 -1
- package/dist/foundations/stripe-subscription/entities/stripe-subscription.model.js +0 -17
- package/dist/foundations/stripe-subscription/entities/stripe-subscription.model.js.map +0 -1
- package/dist/foundations/stripe-subscription/serialisers/stripe-subscription.serialiser.d.ts +0 -9
- package/dist/foundations/stripe-subscription/serialisers/stripe-subscription.serialiser.d.ts.map +0 -1
- package/dist/foundations/stripe-subscription/serialisers/stripe-subscription.serialiser.js +0 -59
- package/dist/foundations/stripe-subscription/serialisers/stripe-subscription.serialiser.js.map +0 -1
package/dist/foundations/stripe-subscription/repositories/stripe-subscription.repository.d.ts
CHANGED
|
@@ -1,108 +1,97 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import {
|
|
3
|
-
import {
|
|
1
|
+
import { ClsService } from "nestjs-cls";
|
|
2
|
+
import { AbstractRepository } from "../../../core/neo4j/abstracts/abstract.repository";
|
|
3
|
+
import { Neo4jService } from "../../../core/neo4j/services/neo4j.service";
|
|
4
|
+
import { SecurityService } from "../../../core/security/services/security.service";
|
|
5
|
+
import { StripeSubscription, StripeSubscriptionDescriptor, StripeSubscriptionStatus } from "../entities/stripe-subscription";
|
|
4
6
|
import { StripeSubscriptionDiscount } from "../entities/stripe-subscription.discount";
|
|
7
|
+
type StripeSubscriptionUpdateParams = {
|
|
8
|
+
status?: StripeSubscriptionStatus;
|
|
9
|
+
currentPeriodStart?: Date;
|
|
10
|
+
currentPeriodEnd?: Date;
|
|
11
|
+
cancelAtPeriodEnd?: boolean;
|
|
12
|
+
canceledAt?: Date | null;
|
|
13
|
+
trialStart?: Date;
|
|
14
|
+
trialEnd?: Date;
|
|
15
|
+
cardExpiryCheckedFor?: Date | null;
|
|
16
|
+
quantity?: number;
|
|
17
|
+
discount?: StripeSubscriptionDiscount | null;
|
|
18
|
+
};
|
|
5
19
|
/**
|
|
6
20
|
* StripeSubscriptionRepository
|
|
7
21
|
*
|
|
8
|
-
* Neo4j repository for
|
|
9
|
-
*
|
|
22
|
+
* Neo4j repository for StripeSubscription nodes:
|
|
23
|
+
* `(stripeSubscription)-[:BELONGS_TO]->(stripeCustomer)`, `-[:USES_PRICE]->(stripePrice)`,
|
|
24
|
+
* `-[:BELONGS_TO]->(company)` and `-[:CREATED_BY]->(user)`.
|
|
10
25
|
*
|
|
11
|
-
*
|
|
12
|
-
*
|
|
13
|
-
*
|
|
14
|
-
* - Create and update operations with relationship management
|
|
15
|
-
* - Support for plan changes by updating price relationships
|
|
16
|
-
* - Sync operations for webhook data
|
|
17
|
-
* - Track trial periods, billing cycles, and cancellation status
|
|
18
|
-
* - Bulk cancel operations for customer deletion
|
|
19
|
-
*
|
|
20
|
-
* @example
|
|
21
|
-
* ```typescript
|
|
22
|
-
* const subscription = await subscriptionRepository.create({
|
|
23
|
-
* stripeCustomerId: 'cust_123',
|
|
24
|
-
* priceId: 'price_456',
|
|
25
|
-
* stripeSubscriptionId: 'sub_stripe789',
|
|
26
|
-
* status: 'active',
|
|
27
|
-
* currentPeriodStart: new Date(),
|
|
28
|
-
* currentPeriodEnd: new Date(Date.now() + 30 * 24 * 60 * 60 * 1000),
|
|
29
|
-
* cancelAtPeriodEnd: false,
|
|
30
|
-
* quantity: 1
|
|
31
|
-
* });
|
|
32
|
-
* ```
|
|
26
|
+
* Every read and every request-time write starts from `buildDefaultMatch()`, so a request is
|
|
27
|
+
* scoped to the caller's company. Jobs with no company in CLS (webhooks, crons, backfills)
|
|
28
|
+
* reach every company through the `$companyId IS NULL` branch.
|
|
33
29
|
*/
|
|
34
|
-
export declare class StripeSubscriptionRepository
|
|
35
|
-
|
|
36
|
-
|
|
30
|
+
export declare class StripeSubscriptionRepository extends AbstractRepository<StripeSubscription, typeof StripeSubscriptionDescriptor.relationships> {
|
|
31
|
+
protected readonly descriptor: import("../../..").EntityDescriptor<StripeSubscription, {
|
|
32
|
+
stripeCustomer: {
|
|
33
|
+
model: import("../../..").DataMeta;
|
|
34
|
+
direction: "out";
|
|
35
|
+
relationship: string;
|
|
36
|
+
cardinality: "one";
|
|
37
|
+
required: true;
|
|
38
|
+
dtoKey: string;
|
|
39
|
+
};
|
|
40
|
+
stripePrice: {
|
|
41
|
+
model: import("../../..").DataMeta;
|
|
42
|
+
direction: "out";
|
|
43
|
+
relationship: string;
|
|
44
|
+
cardinality: "one";
|
|
45
|
+
required: true;
|
|
46
|
+
dtoKey: string;
|
|
47
|
+
};
|
|
48
|
+
createdBy: {
|
|
49
|
+
model: import("../../..").DataMeta;
|
|
50
|
+
direction: "out";
|
|
51
|
+
relationship: string;
|
|
52
|
+
cardinality: "one";
|
|
53
|
+
required: false;
|
|
54
|
+
contextKey: string;
|
|
55
|
+
immutable: true;
|
|
56
|
+
dtoKey: string;
|
|
57
|
+
};
|
|
58
|
+
}>;
|
|
59
|
+
constructor(neo4j: Neo4jService, securityService: SecurityService, clsService: ClsService);
|
|
60
|
+
/** The inherited id constraint and indexes, plus the unique Stripe subscription id. */
|
|
61
|
+
onModuleInit(): Promise<void>;
|
|
37
62
|
/**
|
|
38
|
-
*
|
|
39
|
-
*
|
|
40
|
-
* Creates unique constraints and indexes on module initialization.
|
|
63
|
+
* The subscription with its company, customer, price, the price's product and its creator.
|
|
41
64
|
*/
|
|
42
|
-
|
|
65
|
+
protected buildReturnStatement(): string;
|
|
66
|
+
/**
|
|
67
|
+
* The cron finders read across every company. Inside a request `buildDefaultMatch()` would
|
|
68
|
+
* scope them to the caller's company, so they refuse to run there.
|
|
69
|
+
*/
|
|
70
|
+
private assertNoRequestCompany;
|
|
43
71
|
/**
|
|
44
|
-
*
|
|
72
|
+
* Subscriptions of a customer, newest first.
|
|
45
73
|
*
|
|
46
|
-
* @param params -
|
|
47
|
-
* @param params.
|
|
48
|
-
* @param params.status - Optional filter by subscription status
|
|
49
|
-
* @returns Array of subscriptions ordered by creation date descending
|
|
74
|
+
* @param params.stripeCustomerId - internal StripeCustomer id
|
|
75
|
+
* @param params.status - optional status filter
|
|
50
76
|
*/
|
|
51
77
|
findByStripeCustomerId(params: {
|
|
52
78
|
stripeCustomerId: string;
|
|
53
79
|
status?: StripeSubscriptionStatus;
|
|
54
80
|
}): Promise<StripeSubscription[]>;
|
|
55
81
|
/**
|
|
56
|
-
*
|
|
57
|
-
*
|
|
58
|
-
* @param params - Query parameters
|
|
59
|
-
* @param params.id - Internal subscription ID
|
|
60
|
-
* @returns Subscription if found, null otherwise
|
|
61
|
-
*/
|
|
62
|
-
findById(params: {
|
|
63
|
-
id: string;
|
|
64
|
-
}): Promise<StripeSubscription | null>;
|
|
65
|
-
/**
|
|
66
|
-
* Find every subscription, of every company.
|
|
67
|
-
*
|
|
68
|
-
* Not company-scoped and not paginated: it serves system jobs that run outside a
|
|
69
|
-
* request (the discount backfill), never an endpoint. It matches the same
|
|
70
|
-
* customer and price path as {@link update}, so every row it returns can be updated.
|
|
71
|
-
*
|
|
72
|
-
* @returns All subscriptions ordered by creation date ascending
|
|
82
|
+
* Every subscription, oldest first. Not paginated: it serves system jobs that run outside a
|
|
83
|
+
* request (the discount backfill), never an endpoint.
|
|
73
84
|
*/
|
|
74
85
|
findAll(): Promise<StripeSubscription[]>;
|
|
75
|
-
/**
|
|
76
|
-
* Find subscription by Stripe subscription ID
|
|
77
|
-
*
|
|
78
|
-
* @param params - Query parameters
|
|
79
|
-
* @param params.stripeSubscriptionId - Stripe subscription ID
|
|
80
|
-
* @returns Subscription if found, null otherwise
|
|
81
|
-
*/
|
|
86
|
+
/** The subscription with this Stripe subscription id, or null. */
|
|
82
87
|
findByStripeSubscriptionId(params: {
|
|
83
88
|
stripeSubscriptionId: string;
|
|
84
89
|
}): Promise<StripeSubscription | null>;
|
|
85
90
|
/**
|
|
86
|
-
*
|
|
87
|
-
*
|
|
88
|
-
* Creates a Subscription node with BELONGS_TO relationship to StripeCustomer
|
|
89
|
-
* and USES_PRICE relationship to StripePrice.
|
|
90
|
-
*
|
|
91
|
-
* @param params - Creation parameters
|
|
92
|
-
* @param params.stripeCustomerId - Stripe customer ID to link to
|
|
93
|
-
* @param params.priceId - Price ID to link to
|
|
94
|
-
* @param params.stripeSubscriptionId - Stripe subscription ID
|
|
95
|
-
* @param params.stripeSubscriptionItemId - Optional Stripe subscription item ID
|
|
96
|
-
* @param params.status - Subscription status
|
|
97
|
-
* @param params.currentPeriodStart - Current billing period start date
|
|
98
|
-
* @param params.currentPeriodEnd - Current billing period end date
|
|
99
|
-
* @param params.cancelAtPeriodEnd - Whether subscription cancels at period end
|
|
100
|
-
* @param params.trialStart - Optional trial start date
|
|
101
|
-
* @param params.trialEnd - Optional trial end date
|
|
102
|
-
* @param params.quantity - Subscription quantity
|
|
103
|
-
* @returns Created Subscription
|
|
91
|
+
* Creates a subscription linked to its customer, its price, the caller's company and the
|
|
92
|
+
* caller. The customer and price ids are checked against the caller's company first.
|
|
104
93
|
*/
|
|
105
|
-
|
|
94
|
+
createSubscription(params: {
|
|
106
95
|
stripeCustomerId: string;
|
|
107
96
|
priceId: string;
|
|
108
97
|
stripeSubscriptionId: string;
|
|
@@ -117,114 +106,53 @@ export declare class StripeSubscriptionRepository implements OnModuleInit {
|
|
|
117
106
|
discount?: StripeSubscriptionDiscount | null;
|
|
118
107
|
}): Promise<StripeSubscription>;
|
|
119
108
|
/**
|
|
120
|
-
*
|
|
121
|
-
*
|
|
122
|
-
* @param params - Update parameters
|
|
123
|
-
* @param params.id - Internal subscription ID
|
|
124
|
-
* @param params.status - Optional new status
|
|
125
|
-
* @param params.currentPeriodStart - Optional new period start
|
|
126
|
-
* @param params.currentPeriodEnd - Optional new period end
|
|
127
|
-
* @param params.cancelAtPeriodEnd - Optional cancel at period end flag
|
|
128
|
-
* @param params.canceledAt - Optional cancellation date (null to clear)
|
|
129
|
-
* @param params.trialStart - Optional trial start date
|
|
130
|
-
* @param params.trialEnd - Optional trial end date
|
|
131
|
-
* @param params.pausedAt - Optional pause date (null to clear)
|
|
132
|
-
* @param params.quantity - Optional new quantity
|
|
133
|
-
* @returns Updated Subscription
|
|
109
|
+
* Updates a subscription by internal id. For every optional field, undefined leaves the
|
|
110
|
+
* stored value and (where the type allows it) null clears it.
|
|
134
111
|
*/
|
|
135
112
|
update(params: {
|
|
136
113
|
id: string;
|
|
137
|
-
|
|
138
|
-
currentPeriodStart?: Date;
|
|
139
|
-
currentPeriodEnd?: Date;
|
|
140
|
-
cancelAtPeriodEnd?: boolean;
|
|
141
|
-
canceledAt?: Date | null;
|
|
142
|
-
trialStart?: Date;
|
|
143
|
-
trialEnd?: Date;
|
|
144
|
-
pausedAt?: Date | null;
|
|
145
|
-
quantity?: number;
|
|
146
|
-
discount?: StripeSubscriptionDiscount | null;
|
|
147
|
-
}): Promise<StripeSubscription>;
|
|
114
|
+
} & StripeSubscriptionUpdateParams): Promise<StripeSubscription>;
|
|
148
115
|
/**
|
|
149
|
-
*
|
|
116
|
+
* Updates a subscription by Stripe subscription id (webhook sync).
|
|
150
117
|
*
|
|
151
|
-
*
|
|
152
|
-
*
|
|
153
|
-
* @param params - Update parameters
|
|
154
|
-
* @param params.stripeSubscriptionId - Stripe subscription ID
|
|
155
|
-
* @param params.status - Optional new status
|
|
156
|
-
* @param params.currentPeriodStart - Optional new period start
|
|
157
|
-
* @param params.currentPeriodEnd - Optional new period end
|
|
158
|
-
* @param params.cancelAtPeriodEnd - Optional cancel at period end flag
|
|
159
|
-
* @param params.canceledAt - Optional cancellation date (null to clear)
|
|
160
|
-
* @param params.trialStart - Optional trial start date
|
|
161
|
-
* @param params.trialEnd - Optional trial end date
|
|
162
|
-
* @param params.pausedAt - Optional pause date (null to clear)
|
|
163
|
-
* @param params.quantity - Optional new quantity
|
|
164
|
-
* @returns Updated Subscription if found, null otherwise
|
|
118
|
+
* @returns the updated subscription, or null when none has this id
|
|
165
119
|
*/
|
|
166
120
|
updateByStripeSubscriptionId(params: {
|
|
167
121
|
stripeSubscriptionId: string;
|
|
168
|
-
|
|
169
|
-
currentPeriodStart?: Date;
|
|
170
|
-
currentPeriodEnd?: Date;
|
|
171
|
-
cancelAtPeriodEnd?: boolean;
|
|
172
|
-
canceledAt?: Date | null;
|
|
173
|
-
trialStart?: Date;
|
|
174
|
-
trialEnd?: Date;
|
|
175
|
-
pausedAt?: Date | null;
|
|
176
|
-
quantity?: number;
|
|
177
|
-
discount?: StripeSubscriptionDiscount | null;
|
|
178
|
-
}): Promise<StripeSubscription | null>;
|
|
122
|
+
} & StripeSubscriptionUpdateParams): Promise<StripeSubscription | null>;
|
|
179
123
|
/**
|
|
180
|
-
*
|
|
181
|
-
*
|
|
182
|
-
* Removes old USES_PRICE relationship and creates new one to different price.
|
|
183
|
-
*
|
|
184
|
-
* @param params - Update parameters
|
|
185
|
-
* @param params.id - Internal subscription ID
|
|
186
|
-
* @param params.newPriceId - New price ID to switch to
|
|
187
|
-
* @returns Updated Subscription with new price relationship
|
|
124
|
+
* Moves the subscription to another price (plan change). The price id is checked against
|
|
125
|
+
* the caller's company first.
|
|
188
126
|
*/
|
|
189
127
|
updatePrice(params: {
|
|
190
128
|
id: string;
|
|
191
129
|
newPriceId: string;
|
|
192
130
|
}): Promise<StripeSubscription>;
|
|
193
131
|
/**
|
|
194
|
-
*
|
|
195
|
-
*
|
|
196
|
-
* Performs a DETACH DELETE to remove the subscription and all relationships.
|
|
197
|
-
*
|
|
198
|
-
* @param params - Deletion parameters
|
|
199
|
-
* @param params.id - Internal subscription ID
|
|
200
|
-
* @returns Promise that resolves when deletion is complete
|
|
201
|
-
*/
|
|
202
|
-
delete(params: {
|
|
203
|
-
id: string;
|
|
204
|
-
}): Promise<void>;
|
|
205
|
-
/**
|
|
206
|
-
* Cancel all active subscriptions for a Stripe customer
|
|
207
|
-
*
|
|
208
|
-
* Bulk operation to cancel all active, trialing, or past_due subscriptions
|
|
209
|
-
* when a customer is deleted. Sets status to canceled and updates timestamps.
|
|
132
|
+
* Cancels every active, trialing or past_due subscription of a customer (customer deleted).
|
|
210
133
|
*
|
|
211
|
-
* @param params -
|
|
212
|
-
* @
|
|
213
|
-
* @returns Number of subscriptions canceled
|
|
134
|
+
* @param params.stripeCustomerId - Stripe customer id (cus_xxx)
|
|
135
|
+
* @returns number of subscriptions cancelled
|
|
214
136
|
*/
|
|
215
137
|
cancelAllByStripeCustomerId(params: {
|
|
216
138
|
stripeCustomerId: string;
|
|
217
139
|
}): Promise<number>;
|
|
218
140
|
/**
|
|
219
|
-
*
|
|
220
|
-
* Used for smart feature removal to check overlapping features
|
|
141
|
+
* Active or trialing subscriptions of a customer, newest first (smart feature removal).
|
|
221
142
|
*
|
|
222
|
-
* @param params -
|
|
223
|
-
* @param params.stripeCustomerId - Stripe customer ID (cus_xxx format)
|
|
224
|
-
* @returns Array of active subscriptions with price and product info
|
|
143
|
+
* @param params.stripeCustomerId - Stripe customer id (cus_xxx)
|
|
225
144
|
*/
|
|
226
145
|
findActiveByStripeCustomerId(params: {
|
|
227
146
|
stripeCustomerId: string;
|
|
228
147
|
}): Promise<StripeSubscription[]>;
|
|
148
|
+
/**
|
|
149
|
+
* Worker cron only. Active recurring subscriptions renewing between `now` (excluded) and
|
|
150
|
+
* `before` (included), not cancelling, whose card has not been checked yet for this renewal.
|
|
151
|
+
*/
|
|
152
|
+
findRenewalsForCardCheck(params: {
|
|
153
|
+
now: Date;
|
|
154
|
+
before: Date;
|
|
155
|
+
}): Promise<StripeSubscription[]>;
|
|
229
156
|
}
|
|
157
|
+
export {};
|
|
230
158
|
//# sourceMappingURL=stripe-subscription.repository.d.ts.map
|
package/dist/foundations/stripe-subscription/repositories/stripe-subscription.repository.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"stripe-subscription.repository.d.ts","sourceRoot":"","sources":["../../../../src/foundations/stripe-subscription/repositories/stripe-subscription.repository.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"stripe-subscription.repository.d.ts","sourceRoot":"","sources":["../../../../src/foundations/stripe-subscription/repositories/stripe-subscription.repository.ts"],"names":[],"mappings":"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"}
|