@rpcbase/db 0.136.0 → 0.138.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.
Files changed (34) hide show
  1. package/dist/ensureMongooseConnection.d.ts.map +1 -1
  2. package/dist/index.d.ts +3 -0
  3. package/dist/index.d.ts.map +1 -1
  4. package/dist/index.js +144 -8
  5. package/dist/index.js.map +1 -1
  6. package/dist/migrations/20260814090000-baseline-global.d.ts +3 -0
  7. package/dist/migrations/20260814090000-baseline-global.d.ts.map +1 -0
  8. package/dist/migrations/20260814090100-baseline-tenant.d.ts +3 -0
  9. package/dist/migrations/20260814090100-baseline-tenant.d.ts.map +1 -0
  10. package/dist/migrations/currentResources.d.ts +2 -0
  11. package/dist/migrations/currentResources.d.ts.map +1 -0
  12. package/dist/migrations/index.d.ts +5 -0
  13. package/dist/migrations/index.d.ts.map +1 -0
  14. package/dist/migrations/index.js +479 -0
  15. package/dist/migrations/index.js.map +1 -0
  16. package/dist/migrations/resources.d.ts +2 -0
  17. package/dist/migrations/resources.d.ts.map +1 -0
  18. package/dist/migrations/rtsChanges.d.ts +2 -0
  19. package/dist/migrations/rtsChanges.d.ts.map +1 -0
  20. package/dist/models/RBRtsChange.d.ts.map +1 -1
  21. package/dist/models/RBTenant.d.ts +8 -0
  22. package/dist/models/RBTenant.d.ts.map +1 -1
  23. package/dist/models/RBTenantSubscriptionEvent.d.ts +11 -11
  24. package/dist/models/RBTenantSubscriptionProjection.d.ts +1 -1
  25. package/dist/modelsApi.d.ts.map +1 -1
  26. package/dist/mongoResources.d.ts +7 -0
  27. package/dist/mongoResources.d.ts.map +1 -0
  28. package/dist/registerModels.d.ts +6 -1
  29. package/dist/registerModels.d.ts.map +1 -1
  30. package/dist/rtsChanges-xIGFCLGa.js +7 -0
  31. package/dist/rtsChanges-xIGFCLGa.js.map +1 -0
  32. package/dist/tenantProvisioning.d.ts +15 -0
  33. package/dist/tenantProvisioning.d.ts.map +1 -0
  34. package/package.json +9 -2
@@ -1,8 +1,8 @@
1
1
  import { Schema } from 'mongoose';
2
2
  import { z } from 'zod';
3
3
  export declare const ZRBTenantSubscriptionStatus: z.ZodEnum<{
4
- trialing: "trialing";
5
4
  active: "active";
5
+ trialing: "trialing";
6
6
  past_due: "past_due";
7
7
  paused: "paused";
8
8
  canceled: "canceled";
@@ -60,8 +60,8 @@ export declare const ZRBTenantSubscriptionEvent: z.ZodDiscriminatedUnion<[z.ZodO
60
60
  scopeId: z.ZodOptional<z.ZodString>;
61
61
  fromPlanKey: z.ZodOptional<z.ZodString>;
62
62
  fromStatus: z.ZodOptional<z.ZodEnum<{
63
- trialing: "trialing";
64
63
  active: "active";
64
+ trialing: "trialing";
65
65
  past_due: "past_due";
66
66
  paused: "paused";
67
67
  canceled: "canceled";
@@ -97,8 +97,8 @@ export declare const ZRBTenantSubscriptionEvent: z.ZodDiscriminatedUnion<[z.ZodO
97
97
  type: z.ZodLiteral<"created">;
98
98
  toPlanKey: z.ZodString;
99
99
  toStatus: z.ZodEnum<{
100
- trialing: "trialing";
101
100
  active: "active";
101
+ trialing: "trialing";
102
102
  past_due: "past_due";
103
103
  paused: "paused";
104
104
  canceled: "canceled";
@@ -129,16 +129,16 @@ export declare const ZRBTenantSubscriptionEvent: z.ZodDiscriminatedUnion<[z.ZodO
129
129
  }>;
130
130
  scopeId: z.ZodOptional<z.ZodString>;
131
131
  fromStatus: z.ZodOptional<z.ZodEnum<{
132
- trialing: "trialing";
133
132
  active: "active";
133
+ trialing: "trialing";
134
134
  past_due: "past_due";
135
135
  paused: "paused";
136
136
  canceled: "canceled";
137
137
  expired: "expired";
138
138
  }>>;
139
139
  toStatus: z.ZodOptional<z.ZodEnum<{
140
- trialing: "trialing";
141
140
  active: "active";
141
+ trialing: "trialing";
142
142
  past_due: "past_due";
143
143
  paused: "paused";
144
144
  canceled: "canceled";
@@ -236,16 +236,16 @@ export declare const ZRBTenantSubscriptionEvent: z.ZodDiscriminatedUnion<[z.ZodO
236
236
  metadata: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
237
237
  type: z.ZodLiteral<"status_changed">;
238
238
  fromStatus: z.ZodEnum<{
239
- trialing: "trialing";
240
239
  active: "active";
240
+ trialing: "trialing";
241
241
  past_due: "past_due";
242
242
  paused: "paused";
243
243
  canceled: "canceled";
244
244
  expired: "expired";
245
245
  }>;
246
246
  toStatus: z.ZodEnum<{
247
- trialing: "trialing";
248
247
  active: "active";
248
+ trialing: "trialing";
249
249
  past_due: "past_due";
250
250
  paused: "paused";
251
251
  canceled: "canceled";
@@ -306,8 +306,8 @@ export declare const ZRBTenantSubscriptionEvent: z.ZodDiscriminatedUnion<[z.ZodO
306
306
  metadata: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
307
307
  type: z.ZodLiteral<"resumed">;
308
308
  fromStatus: z.ZodEnum<{
309
- trialing: "trialing";
310
309
  active: "active";
310
+ trialing: "trialing";
311
311
  past_due: "past_due";
312
312
  paused: "paused";
313
313
  canceled: "canceled";
@@ -369,8 +369,8 @@ export declare const ZRBTenantSubscriptionEvent: z.ZodDiscriminatedUnion<[z.ZodO
369
369
  metadata: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
370
370
  type: z.ZodLiteral<"canceled">;
371
371
  fromStatus: z.ZodEnum<{
372
- trialing: "trialing";
373
372
  active: "active";
373
+ trialing: "trialing";
374
374
  past_due: "past_due";
375
375
  paused: "paused";
376
376
  canceled: "canceled";
@@ -432,16 +432,16 @@ export declare const ZRBTenantSubscriptionEvent: z.ZodDiscriminatedUnion<[z.ZodO
432
432
  metadata: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
433
433
  type: z.ZodLiteral<"renewed">;
434
434
  fromStatus: z.ZodEnum<{
435
- trialing: "trialing";
436
435
  active: "active";
436
+ trialing: "trialing";
437
437
  past_due: "past_due";
438
438
  paused: "paused";
439
439
  canceled: "canceled";
440
440
  expired: "expired";
441
441
  }>;
442
442
  toStatus: z.ZodEnum<{
443
- trialing: "trialing";
444
443
  active: "active";
444
+ trialing: "trialing";
445
445
  past_due: "past_due";
446
446
  paused: "paused";
447
447
  canceled: "canceled";
@@ -18,8 +18,8 @@ export declare const ZRBTenantSubscriptionProjection: z.ZodObject<{
18
18
  planKey: z.ZodString;
19
19
  priceId: z.ZodOptional<z.ZodString>;
20
20
  status: z.ZodEnum<{
21
- trialing: "trialing";
22
21
  active: "active";
22
+ trialing: "trialing";
23
23
  past_due: "past_due";
24
24
  paused: "paused";
25
25
  canceled: "canceled";
@@ -1 +1 @@
1
- {"version":3,"file":"modelsApi.d.ts","sourceRoot":"","sources":["../src/modelsApi.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,OAAO,CAAA;AASvC,MAAM,MAAM,YAAY,GAAG;IACzB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,GAAG,CAAC,EAAE;QACJ,OAAO,CAAC,EAAE;YACR,IAAI,CAAC,EAAE;gBACL,eAAe,CAAC,EAAE,MAAM,CAAC;aAC1B,CAAA;SACF,GAAG,IAAI,CAAC;KACV,CAAC;IACF,OAAO,CAAC,EAAE,UAAU,CAAC;CACtB,CAAC;AA6BF,eAAO,MAAM,2BAA2B,GAAI,KAAK,YAAY,KAAG,MAM/D,CAAA;AAED,eAAO,MAAM,MAAM;;;cAqBgB,CAAC;;oCAlBL,MAAM,OAAO,YAAY;8BAO/B,MAAM,OAAO,YAAY;oCASnB,MAAM,OAAO,YAAY;CAI9C,CAAA"}
1
+ {"version":3,"file":"modelsApi.d.ts","sourceRoot":"","sources":["../src/modelsApi.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,OAAO,CAAA;AASvC,MAAM,MAAM,YAAY,GAAG;IACzB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,GAAG,CAAC,EAAE;QACJ,OAAO,CAAC,EAAE;YACR,IAAI,CAAC,EAAE;gBACL,eAAe,CAAC,EAAE,MAAM,CAAC;aAC1B,CAAA;SACF,GAAG,IAAI,CAAC;KACV,CAAC;IACF,OAAO,CAAC,EAAE,UAAU,CAAC;CACtB,CAAC;AAiCF,eAAO,MAAM,2BAA2B,GAAI,KAAK,YAAY,KAAG,MAM/D,CAAA;AAED,eAAO,MAAM,MAAM;;;cAwB4U,CAAC;;oCArBjU,MAAM,OAAO,YAAY;8BAO/B,MAAM,OAAO,YAAY;oCASnB,MAAM,OAAO,YAAY;CAI9C,CAAA"}
@@ -0,0 +1,7 @@
1
+ import { MigrationScope, MongoResources } from '@rpcbase/migrations';
2
+ export type ExtractMongoResourcesOptions = {
3
+ scope: MigrationScope;
4
+ schemas: Readonly<Record<string, unknown>>;
5
+ };
6
+ export declare const extractMongoResourcesFromSchemas: (options: ExtractMongoResourcesOptions) => MongoResources;
7
+ //# sourceMappingURL=mongoResources.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"mongoResources.d.ts","sourceRoot":"","sources":["../src/mongoResources.ts"],"names":[],"mappings":"AACA,OAAO,EAEL,KAAK,cAAc,EAEnB,KAAK,cAAc,EACpB,MAAM,qBAAqB,CAAA;AAG5B,MAAM,MAAM,4BAA4B,GAAG;IACzC,KAAK,EAAE,cAAc,CAAA;IACrB,OAAO,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAA;CAC3C,CAAA;AAgCD,eAAO,MAAM,gCAAgC,GAC3C,SAAS,4BAA4B,KACpC,cA+BF,CAAA"}
@@ -5,10 +5,15 @@ type RegisterModelsOptions = {
5
5
  allowReservedRbModelNames?: boolean;
6
6
  };
7
7
  type RegisteredSchemas = Record<string, mongoose.Schema>;
8
+ type RegisteredModels = {
9
+ tenant: RegisteredSchemas;
10
+ global: RegisteredSchemas;
11
+ };
12
+ export declare const getFrameworkModelSchemas: () => RegisteredModels;
8
13
  export declare const registerModels: ({ tenant, global }: {
9
14
  tenant: ModelModules;
10
15
  global?: ModelModules;
11
16
  }, options?: RegisterModelsOptions) => void;
12
17
  export declare const getRegisteredModels: (scope: ModelsScope) => RegisteredSchemas;
13
- export type { ModelModules, ModelsScope, RegisterModelsOptions };
18
+ export type { ModelModules, ModelsScope, RegisteredSchemas, RegisterModelsOptions };
14
19
  //# sourceMappingURL=registerModels.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"registerModels.d.ts","sourceRoot":"","sources":["../src/registerModels.ts"],"names":[],"mappings":"AAAA,OAAO,QAAQ,MAAM,UAAU,CAAA;AAa/B,KAAK,YAAY,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;AAC3C,KAAK,WAAW,GAAG,QAAQ,GAAG,QAAQ,CAAA;AACtC,KAAK,qBAAqB,GAAG;IAC3B,yBAAyB,CAAC,EAAE,OAAO,CAAC;CACrC,CAAA;AAED,KAAK,iBAAiB,GAAG,MAAM,CAAC,MAAM,EAAE,QAAQ,CAAC,MAAM,CAAC,CAAA;AA8DxD,eAAO,MAAM,cAAc,GACzB,oBAAoB;IAAE,MAAM,EAAE,YAAY,CAAC;IAAC,MAAM,CAAC,EAAE,YAAY,CAAA;CAAE,EACnE,UAAS,qBAA0B,SA6DpC,CAAA;AAED,eAAO,MAAM,mBAAmB,GAAI,OAAO,WAAW,sBAKrD,CAAA;AAED,YAAY,EAAE,YAAY,EAAE,WAAW,EAAE,qBAAqB,EAAE,CAAA"}
1
+ {"version":3,"file":"registerModels.d.ts","sourceRoot":"","sources":["../src/registerModels.ts"],"names":[],"mappings":"AAAA,OAAO,QAAQ,MAAM,UAAU,CAAA;AAa/B,KAAK,YAAY,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;AAC3C,KAAK,WAAW,GAAG,QAAQ,GAAG,QAAQ,CAAA;AACtC,KAAK,qBAAqB,GAAG;IAC3B,yBAAyB,CAAC,EAAE,OAAO,CAAC;CACrC,CAAA;AAED,KAAK,iBAAiB,GAAG,MAAM,CAAC,MAAM,EAAE,QAAQ,CAAC,MAAM,CAAC,CAAA;AAExD,KAAK,gBAAgB,GAAG;IACtB,MAAM,EAAE,iBAAiB,CAAA;IACzB,MAAM,EAAE,iBAAiB,CAAA;CAC1B,CAAA;AAyDD,eAAO,MAAM,wBAAwB,QAAO,gBAe3C,CAAA;AAED,eAAO,MAAM,cAAc,GACzB,oBAAoB;IAAE,MAAM,EAAE,YAAY,CAAC;IAAC,MAAM,CAAC,EAAE,YAAY,CAAA;CAAE,EACnE,UAAS,qBAA0B,SA6DpC,CAAA;AAED,eAAO,MAAM,mBAAmB,GAAI,OAAO,WAAW,sBAKrD,CAAA;AAED,YAAY,EAAE,YAAY,EAAE,WAAW,EAAE,iBAAiB,EAAE,qBAAqB,EAAE,CAAA"}
@@ -0,0 +1,7 @@
1
+ //#region src/migrations/rtsChanges.ts
2
+ var ttlSecondsRaw = process.env.RB_RTS_CHANGES_TTL_S ?? "";
3
+ var rtsChangesTtlSeconds = Number.isFinite(Number(ttlSecondsRaw)) ? Math.max(60, Math.floor(Number(ttlSecondsRaw))) : 3600 * 24 * 30;
4
+ //#endregion
5
+ export { rtsChangesTtlSeconds as t };
6
+
7
+ //# sourceMappingURL=rtsChanges-xIGFCLGa.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"rtsChanges-xIGFCLGa.js","names":["ttlSecondsRaw","process","env","RB_RTS_CHANGES_TTL_S","rtsChangesTtlSeconds","Number","isFinite","Math","max","floor"],"sources":["../src/migrations/rtsChanges.ts"],"sourcesContent":["const ttlSecondsRaw = process.env.RB_RTS_CHANGES_TTL_S ?? \"\"\n\nexport const rtsChangesTtlSeconds = Number.isFinite(Number(ttlSecondsRaw))\n ? Math.max(60, Math.floor(Number(ttlSecondsRaw)))\n : 60 * 60 * 24 * 30\n"],"mappings":";AAAA,IAAMA,gBAAgBC,QAAQC,IAAIC,wBAAwB;AAE1D,IAAaC,uBAAuBC,OAAOC,SAASD,OAAOL,aAAa,CAAC,IACrEO,KAAKC,IAAI,IAAID,KAAKE,MAAMJ,OAAOL,aAAa,CAAC,CAAC,IAC9C,OAAU,KAAK"}
@@ -0,0 +1,15 @@
1
+ type TenantProvisioner = (tenantId: string) => Promise<void>;
2
+ type TenantModel = {
3
+ create(document: Record<string, unknown>): Promise<unknown>;
4
+ updateOne(filter: Record<string, unknown>, update: Record<string, unknown>): Promise<{
5
+ matchedCount?: number;
6
+ }>;
7
+ };
8
+ export declare const configureTenantMigrationProvisioner: (provisioner: TenantProvisioner) => () => void;
9
+ export declare const createProvisionedTenant: (Tenant: TenantModel, tenant: {
10
+ tenantId: string;
11
+ name?: string;
12
+ parentTenantId?: string;
13
+ }) => Promise<void>;
14
+ export {};
15
+ //# sourceMappingURL=tenantProvisioning.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tenantProvisioning.d.ts","sourceRoot":"","sources":["../src/tenantProvisioning.ts"],"names":[],"mappings":"AAAA,KAAK,iBAAiB,GAAG,CAAC,QAAQ,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAA;AAE5D,KAAK,WAAW,GAAG;IACjB,MAAM,CAAC,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,OAAO,CAAC,OAAO,CAAC,CAAA;IAC3D,SAAS,CACP,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC/B,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAC9B,OAAO,CAAC;QAAE,YAAY,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC,CAAA;CACtC,CAAA;AAKD,eAAO,MAAM,mCAAmC,GAAI,aAAa,iBAAiB,eAKjF,CAAA;AAMD,eAAO,MAAM,uBAAuB,GAClC,QAAQ,WAAW,EACnB,QAAQ;IAAE,QAAQ,EAAE,MAAM,CAAC;IAAC,IAAI,CAAC,EAAE,MAAM,CAAC;IAAC,cAAc,CAAC,EAAE,MAAM,CAAA;CAAE,KACnE,OAAO,CAAC,IAAI,CAmCd,CAAA"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@rpcbase/db",
3
- "version": "0.136.0",
3
+ "version": "0.138.0",
4
4
  "type": "module",
5
5
  "files": [
6
6
  "dist"
@@ -28,6 +28,11 @@
28
28
  "types": "./dist/getMongoUrl.d.ts",
29
29
  "import": "./dist/mongo.js",
30
30
  "default": "./dist/mongo.js"
31
+ },
32
+ "./migrations": {
33
+ "types": "./dist/migrations/index.d.ts",
34
+ "import": "./dist/migrations/index.js",
35
+ "default": "./dist/migrations/index.js"
31
36
  }
32
37
  },
33
38
  "scripts": {
@@ -40,7 +45,8 @@
40
45
  "command": "../../node_modules/.bin/vite build",
41
46
  "dependencies": [
42
47
  "../api:build",
43
- "../billing:build"
48
+ "../billing:build",
49
+ "../migrations:build"
44
50
  ],
45
51
  "files": [
46
52
  "src/**/*",
@@ -88,6 +94,7 @@
88
94
  "zod": "^4"
89
95
  },
90
96
  "dependencies": {
97
+ "@rpcbase/migrations": "*",
91
98
  "@rpcbase/billing": "*",
92
99
  "@casl/ability": "6.8.0",
93
100
  "@casl/mongoose": "8.0.5"