@antelopejs/dms-saas 0.3.7 → 0.3.8
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/README.md +2 -1
- package/dist/hooks/register.js +5 -0
- package/dist/hooks/register.js.map +1 -1
- package/dist/index.js +0 -1
- package/dist/index.js.map +1 -1
- package/dist/plans/stripe-sync.d.ts +1 -0
- package/dist/plans/stripe-sync.js +4 -0
- package/dist/plans/stripe-sync.js.map +1 -1
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -194,7 +194,8 @@ The sync runs:
|
|
|
194
194
|
|
|
195
195
|
- when the plan editor creates or saves a plan, after writing it (a Stripe
|
|
196
196
|
error is reported to the editor, and the next pass retries the sync);
|
|
197
|
-
- at startup, in the background, for
|
|
197
|
+
- once DMS has initialised the database at startup, in the background, for
|
|
198
|
+
every active plan;
|
|
198
199
|
- whenever a plan is about to be offered or billed — the tenant plan catalogue,
|
|
199
200
|
a plan change, an operator action, a new workspace — so a plan written after
|
|
200
201
|
startup is linked the first time it matters.
|
package/dist/hooks/register.js
CHANGED
|
@@ -8,6 +8,7 @@ const billing_state_1 = require("../billing-state");
|
|
|
8
8
|
const db_1 = require("../db");
|
|
9
9
|
const operator_actions_1 = require("../operator-actions");
|
|
10
10
|
const module_1 = require("../pages/module");
|
|
11
|
+
const stripe_sync_1 = require("../plans/stripe-sync");
|
|
11
12
|
const routes_1 = require("../routes");
|
|
12
13
|
const workers_1 = require("../workers");
|
|
13
14
|
const default_plan_1 = require("../workspaces/default-plan");
|
|
@@ -44,6 +45,10 @@ function registerSaasHookListeners() {
|
|
|
44
45
|
await emitDeletedTenant(tenantId, context);
|
|
45
46
|
return undefined;
|
|
46
47
|
});
|
|
48
|
+
(0, hooks_1.RegisterHook)(hooks_1.Hook.DATABASE_INITIALIZED, () => {
|
|
49
|
+
(0, stripe_sync_1.startPlanReconciliation)();
|
|
50
|
+
return undefined;
|
|
51
|
+
});
|
|
47
52
|
(0, hooks_1.RegisterHook)(hooks_1.Hook.DATABASE_INITIALIZED, async () => {
|
|
48
53
|
await (0, routes_1.ensureLegalDocumentsSingleton)();
|
|
49
54
|
const results = await Promise.allSettled([
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"register.js","sourceRoot":"","sources":["../../src/hooks/register.ts"],"names":[],"mappings":";;
|
|
1
|
+
{"version":3,"file":"register.js","sourceRoot":"","sources":["../../src/hooks/register.ts"],"names":[],"mappings":";;AAoDA,8DAgCC;AApFD,6FAAqE;AACrE,2DAKyC;AACzC,8CAA4E;AAC5E,oDAAmE;AACnE,8BAAgD;AAChD,0DAA4E;AAC5E,4CAAiD;AACjD,sDAA+D;AAC/D,sCAA0D;AAC1D,wCAAyD;AACzD,6DAA0E;AAC1E,mDAAuD;AAEvD,SAAS,mCAAmC,CAC1C,OAAwC;IAExC,MAAM,QAAQ,GAAG,OAAO,CAAC,OAAO,CAAU,CAAC,MAAM,EAAE,EAAE,CACnD,MAAM,CAAC,MAAM,KAAK,UAAU,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,EAAE,CACpD,CAAC;IACF,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO;IAClC,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC;QAAE,MAAM,QAAQ,CAAC,CAAC,CAAC,CAAC;IAC7C,MAAM,IAAI,cAAc,CAAC,QAAQ,EAAE,gCAAgC,CAAC,CAAC;AACvE,CAAC;AAED,KAAK,UAAU,iBAAiB,CAC9B,QAAgB,EAChB,OAA+B;IAE/B,IAAI,CAAC,OAAO,EAAE,CAAC;QACb,IAAA,gCAAmB,EAAC,qBAAqB,EAAE;YACzC,QAAQ;YACR,EAAE,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;SAC7B,CAAC,CAAC;QACH,OAAO;IACT,CAAC;IACD,MAAM,SAAS,GAAG,MAAM,IAAA,wCAAQ,EAAC,4BAAuB,CAAC,CAAC,YAAY,CACpE,QAAQ,CACT,CAAC;IACF,IAAI,CAAC,SAAS,EAAE,SAAS;QACvB,MAAM,IAAI,KAAK,CAAC,sCAAsC,CAAC,CAAC;IAC1D,MAAM,IAAA,mCAAsB,EAAC;QAC3B,QAAQ;QACR,EAAE,EAAE,SAAS,CAAC,SAAS,CAAC,WAAW,EAAE;QACrC,WAAW,EAAE,OAAO,CAAC,WAAW;KACjC,CAAC,CAAC;AACL,CAAC;AAED,SAAgB,yBAAyB;IAGvC,IAAA,2CAAmC,EAAC,uBAAc,EAAE,oCAAoB,CAAC,CAAC;IAC1E,IAAA,oBAAY,EACV,YAAI,CAAC,cAAc,EACnB,KAAK,EAAE,QAAgB,EAAE,OAA+B,EAAE,EAAE;QAC1D,MAAM,IAAA,wCAAQ,EAAC,4BAAuB,CAAC,CAAC,eAAe,CAAC,QAAQ,CAAC,CAAC;QAClE,MAAM,iBAAiB,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;QAC3C,OAAO,SAAS,CAAC;IACnB,CAAC,CACF,CAAC;IAKF,IAAA,oBAAY,EAAC,YAAI,CAAC,oBAAoB,EAAE,GAAG,EAAE;QAC3C,IAAA,qCAAuB,GAAE,CAAC;QAC1B,OAAO,SAAS,CAAC;IACnB,CAAC,CAAC,CAAC;IACH,IAAA,oBAAY,EAAC,YAAI,CAAC,oBAAoB,EAAE,KAAK,IAAI,EAAE;QACjD,MAAM,IAAA,sCAA6B,GAAE,CAAC;QACtC,MAAM,OAAO,GAAG,MAAM,OAAO,CAAC,UAAU,CAAC;YACvC,IAAA,qCAA2B,GAAE;YAG7B,IAAA,2CAA4B,GAAE,CAAC,IAAI,CAAC,+CAA+B,CAAC;YACpE,IAAA,wDAAqC,GAAE;SACxC,CAAC,CAAC;QACH,mCAAmC,CAAC,OAAO,CAAC,CAAC;QAC7C,OAAO,SAAS,CAAC;IACnB,CAAC,CAAC,CAAC;AACL,CAAC"}
|
package/dist/index.js
CHANGED
|
@@ -99,7 +99,6 @@ async function construct(config) {
|
|
|
99
99
|
async function start() {
|
|
100
100
|
registeredCronTasks = (0, crons_1.registerSaasCrons)();
|
|
101
101
|
(0, automation_1.registerAutomationNodes)();
|
|
102
|
-
void (0, plans_1.reconcilePlansWithStripe)().catch((error) => logging_1.Logging.Error("[dms-saas:plans] Stripe plan reconciliation failed", error));
|
|
103
102
|
}
|
|
104
103
|
async function stop() {
|
|
105
104
|
const teardowns = await Promise.allSettled(registeredCronTasks.map(async (task) => task.destroy()));
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AA0CA,8BAwCC;AAED,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AA0CA,8BAwCC;AAED,sBAGC;AAED,oBAWC;AApGD,0DAA6B;AAC7B,+DAAgE;AAChE,gEAA6D;AAC7D,yDAAmE;AACnE,yEAA6E;AAC7E,yFAA2E;AAC3E,6GAA+F;AAC/F,qFAAuE;AACvE,gHAAkG;AAElG,iCAGgB;AAChB,6CAGsB;AACtB,mDAAwD;AACxD,qCAIkB;AAClB,mCAA4C;AAC5C,mCAAoD;AACpD,0FAA4E;AAC5E,8GAAgG;AAChG,sFAAwE;AACxE,iHAAmG;AACnG,mCAAgD;AAChD,mCAA4C;AAC5C,qCAA4C;AAG5C,sBAAoB;AACpB,gBAAc;AACd,2BAAyB;AACzB,oBAAkB;AAElB,IAAI,mBAAmB,GAAoB,EAAE,CAAC;AAEvC,KAAK,UAAU,SAAS,CAAC,MAAqB;IACnD,IAAA,yBAAgB,EAAC,MAAM,CAAC,CAAC;IAGzB,IAAA,4BAAgB,GAAE,CAAC;IACnB,MAAM,IAAA,uBAAc,GAAE,CAAC;IACvB,IAAA,yBAAgB,EAAC,MAAM,CAAC,MAAM,CAAC,CAAC;IAChC,IAAA,iCAAyB,GAAE,CAAC;IAC5B,IAAA,sCAA+B,GAAE,CAAC;IAClC,IAAA,qCAA8B,GAAE,CAAC;IACjC,IAAA,yBAAiB,GAAE,CAAC;IACpB,IAAA,qCAAqB,GAAE,CAAC;IACxB,IAAA,mCAAkB,EAAC,gBAAgB,EAAE,qBAAqB,CAAC,CAAC;IAC5D,IAAA,mCAAkB,EAAC,yBAAyB,EAAE,8BAA8B,CAAC,CAAC;IAC9E,IAAA,mCAAkB,EAAC,cAAc,EAAE,mBAAmB,CAAC,CAAC;IACxD,IAAA,mCAAkB,EAChB,2BAA2B,EAC3B,gCAAgC,CACjC,CAAC;IACF,MAAM,IAAA,6BAAqB,EAAC,MAAM,CAAC,CAAC;IAEpC,MAAM,IAAA,wBAAiB,EAAC;QACtB,IAAI,EAAE,mCAAmC;QACzC,UAAU,EAAE,mBAAI,CAAC,IAAI,CAAC,SAAS,EAAE,iBAAiB,CAAC;QACnD,QAAQ,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE,OAAO,EAAE,GAAG,EAAE;QACvC,QAAQ,EAAE,CAAC;QAMX,sBAAsB,EAAE,CAAC,6BAA6B,CAAC;QACvD,OAAO,EAAE;YACP,OAAO,EAAE;gBACP,oBAAoB,EAAE,MAAM,CAAC,MAAM,CAAC,cAAc;gBAClD,aAAa,EAAE,MAAM,CAAC,aAAa,IAAI,MAAM;gBAC7C,yBAAyB,EAAE,IAAA,2CAAkC,GAAE;aAChE;SACF;KACF,CAAC,CAAC;AACL,CAAC;AAEM,KAAK,UAAU,KAAK;IACzB,mBAAmB,GAAG,IAAA,yBAAiB,GAAE,CAAC;IAC1C,IAAA,oCAAuB,GAAE,CAAC;AAC5B,CAAC;AAEM,KAAK,UAAU,IAAI;IACxB,MAAM,SAAS,GAAG,MAAM,OAAO,CAAC,UAAU,CACxC,mBAAmB,CAAC,GAAG,CAAC,KAAK,EAAE,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC,CACxD,CAAC;IACF,KAAK,MAAM,QAAQ,IAAI,SAAS,EAAE,CAAC;QACjC,IAAI,QAAQ,CAAC,MAAM,KAAK,UAAU,EAAE,CAAC;YACnC,iBAAO,CAAC,KAAK,CAAC,4BAA4B,EAAE,QAAQ,CAAC,MAAM,CAAC,CAAC;QAC/D,CAAC;IACH,CAAC;IACD,mBAAmB,GAAG,EAAE,CAAC;IACzB,IAAA,sCAAyB,GAAE,CAAC;AAC9B,CAAC"}
|
|
@@ -4,3 +4,4 @@ export declare function syncPlanStripeRefs(plan: Plan, store?: PlanRefsStore): P
|
|
|
4
4
|
export declare function ensurePlanStripeRefs(plan: Plan, store?: PlanRefsStore): Promise<Plan>;
|
|
5
5
|
export declare function loadBillablePlan(planId: string): Promise<Plan | undefined>;
|
|
6
6
|
export declare function reconcilePlansWithStripe(): Promise<void>;
|
|
7
|
+
export declare function startPlanReconciliation(): void;
|
|
@@ -4,6 +4,7 @@ exports.syncPlanStripeRefs = syncPlanStripeRefs;
|
|
|
4
4
|
exports.ensurePlanStripeRefs = ensurePlanStripeRefs;
|
|
5
5
|
exports.loadBillablePlan = loadBillablePlan;
|
|
6
6
|
exports.reconcilePlansWithStripe = reconcilePlansWithStripe;
|
|
7
|
+
exports.startPlanReconciliation = startPlanReconciliation;
|
|
7
8
|
const logging_1 = require("@antelopejs/interface-core/logging");
|
|
8
9
|
const interface_database_decorators_1 = require("@antelopejs/interface-database-decorators");
|
|
9
10
|
const db_1 = require("../db");
|
|
@@ -79,4 +80,7 @@ async function reconcilePlansWithStripe() {
|
|
|
79
80
|
await ensurePlanStripeRefs(plan, model);
|
|
80
81
|
}
|
|
81
82
|
}
|
|
83
|
+
function startPlanReconciliation() {
|
|
84
|
+
void reconcilePlansWithStripe().catch((error) => logging_1.Logging.Error(`${LOG_PREFIX} Stripe plan reconciliation failed`, error));
|
|
85
|
+
}
|
|
82
86
|
//# sourceMappingURL=stripe-sync.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"stripe-sync.js","sourceRoot":"","sources":["../../src/plans/stripe-sync.ts"],"names":[],"mappings":";;AA8EA,gDAaC;AAUD,oDAUC;AAOD,4CAMC;
|
|
1
|
+
{"version":3,"file":"stripe-sync.js","sourceRoot":"","sources":["../../src/plans/stripe-sync.ts"],"names":[],"mappings":"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"}
|