@rpcbase/db 0.145.0 → 0.147.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/migrations/index.d.ts +2 -2
- package/dist/migrations/index.d.ts.map +1 -1
- package/dist/migrations/index.js +7 -132
- package/dist/migrations/index.js.map +1 -1
- package/package.json +1 -1
- package/dist/migrations/20260814090000-baseline-global.d.ts +0 -3
- package/dist/migrations/20260814090000-baseline-global.d.ts.map +0 -1
- package/dist/migrations/20260814090100-baseline-tenant.d.ts +0 -3
- package/dist/migrations/20260814090100-baseline-tenant.d.ts.map +0 -1
- package/dist/migrations/20260816090000-runtime-rts-retention.d.ts +0 -3
- package/dist/migrations/20260816090000-runtime-rts-retention.d.ts.map +0 -1
- package/dist/migrations/baselineResources.d.ts +0 -2
- package/dist/migrations/baselineResources.d.ts.map +0 -1
- package/dist/migrations/runtimeRtsRetentionResources.d.ts +0 -2
- package/dist/migrations/runtimeRtsRetentionResources.d.ts.map +0 -1
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import {
|
|
2
|
-
export {
|
|
1
|
+
import { rpcbaseMongoResources } from './resources';
|
|
2
|
+
export { rpcbaseMongoResources };
|
|
3
3
|
export declare const rpcbaseMigrationSource: import('@rpcbase/migrations').MigrationSource;
|
|
4
4
|
export default rpcbaseMigrationSource;
|
|
5
5
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/migrations/index.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/migrations/index.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,qBAAqB,EAAE,MAAM,aAAa,CAAA;AAGnD,OAAO,EAAE,qBAAqB,EAAE,CAAA;AAEhC,eAAO,MAAM,sBAAsB,+CAMjC,CAAA;AAEF,eAAe,sBAAsB,CAAA"}
|
package/dist/migrations/index.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { t as rtsChangesTtlSeconds } from "../rtsChanges-xIGFCLGa.js";
|
|
2
|
-
import {
|
|
2
|
+
import { defineMigrationSource, defineMongoResources } from "@rpcbase/migrations";
|
|
3
3
|
//#region src/migrations/resources.ts
|
|
4
4
|
var global = "global";
|
|
5
5
|
var tenant = "tenant";
|
|
@@ -286,7 +286,7 @@ var rpcbaseMongoResources = defineMongoResources({
|
|
|
286
286
|
collection: "rbrtschanges",
|
|
287
287
|
name: "ts_1",
|
|
288
288
|
key: { ts: 1 },
|
|
289
|
-
|
|
289
|
+
runtimeOptions: { expireAfterSeconds: rtsChangesTtlSeconds },
|
|
290
290
|
owner
|
|
291
291
|
},
|
|
292
292
|
{
|
|
@@ -416,140 +416,15 @@ var rpcbaseMongoResources = defineMongoResources({
|
|
|
416
416
|
]
|
|
417
417
|
});
|
|
418
418
|
//#endregion
|
|
419
|
-
//#region src/migrations/20260814090000-baseline-global.ts
|
|
420
|
-
var _20260814090000_baseline_global_default = defineMigration({
|
|
421
|
-
__rpcbaseIntegrity: "467b0d0dc32bcaa0e026996aaa59093f63da44ba375649b015c5204d76c881bb",
|
|
422
|
-
id: "20260814090000-baseline-global",
|
|
423
|
-
scope: "global",
|
|
424
|
-
mode: "online",
|
|
425
|
-
rollback: "compatible",
|
|
426
|
-
resources: {
|
|
427
|
-
before: null,
|
|
428
|
-
after: rpcbaseMongoResources.checksum
|
|
429
|
-
},
|
|
430
|
-
async up({ helpers, resources }) {
|
|
431
|
-
if (!resources) throw new Error("Missing baseline resource snapshot");
|
|
432
|
-
for (const index of resources.after.indexes) {
|
|
433
|
-
if (index.options?.unique !== true) continue;
|
|
434
|
-
const sparseFilter = index.options.sparse === true ? { $or: Object.keys(index.key).map((field) => ({ [field]: { $exists: true } })) } : void 0;
|
|
435
|
-
const partialFilter = index.options.partialFilterExpression;
|
|
436
|
-
const filter = sparseFilter && partialFilter ? { $and: [partialFilter, sparseFilter] } : partialFilter ?? sparseFilter;
|
|
437
|
-
const duplicates = await helpers.findDuplicateKeys(index.collection, index.key, {
|
|
438
|
-
...filter ? { filter } : {},
|
|
439
|
-
...index.options.collation ? { collation: index.options.collation } : {}
|
|
440
|
-
});
|
|
441
|
-
if (duplicates.length > 0) throw new Error(`Cannot create unique index ${index.collection}.${index.name}: ${JSON.stringify(duplicates)}`);
|
|
442
|
-
}
|
|
443
|
-
await helpers.reconcileResources(resources.after);
|
|
444
|
-
}
|
|
445
|
-
});
|
|
446
|
-
//#endregion
|
|
447
|
-
//#region src/migrations/20260814090100-baseline-tenant.ts
|
|
448
|
-
var _20260814090100_baseline_tenant_default = defineMigration({
|
|
449
|
-
__rpcbaseIntegrity: "a4ef8480c3befadcf18ea83bd77588946ff4ee7b4bb383ab8e59a68b7dee8f85",
|
|
450
|
-
id: "20260814090100-baseline-tenant",
|
|
451
|
-
scope: "tenant",
|
|
452
|
-
mode: "online",
|
|
453
|
-
rollback: "compatible",
|
|
454
|
-
resources: {
|
|
455
|
-
before: null,
|
|
456
|
-
after: rpcbaseMongoResources.checksum
|
|
457
|
-
},
|
|
458
|
-
async up({ helpers, resources }) {
|
|
459
|
-
if (!resources) throw new Error("Missing baseline resource snapshot");
|
|
460
|
-
for (const index of resources.after.indexes) {
|
|
461
|
-
if (index.options?.unique !== true) continue;
|
|
462
|
-
const sparseFilter = index.options.sparse === true ? { $or: Object.keys(index.key).map((field) => ({ [field]: { $exists: true } })) } : void 0;
|
|
463
|
-
const partialFilter = index.options.partialFilterExpression;
|
|
464
|
-
const filter = sparseFilter && partialFilter ? { $and: [partialFilter, sparseFilter] } : partialFilter ?? sparseFilter;
|
|
465
|
-
const duplicates = await helpers.findDuplicateKeys(index.collection, index.key, {
|
|
466
|
-
...filter ? { filter } : {},
|
|
467
|
-
...index.options.collation ? { collation: index.options.collation } : {}
|
|
468
|
-
});
|
|
469
|
-
if (duplicates.length > 0) throw new Error(`Cannot create unique index ${index.collection}.${index.name}: ${JSON.stringify(duplicates)}`);
|
|
470
|
-
}
|
|
471
|
-
await helpers.reconcileResources(resources.after);
|
|
472
|
-
}
|
|
473
|
-
});
|
|
474
|
-
//#endregion
|
|
475
|
-
//#region src/migrations/20260816090000-runtime-rts-retention.ts
|
|
476
|
-
var _20260816090000_runtime_rts_retention_default = defineMigration({
|
|
477
|
-
__rpcbaseIntegrity: "b9d2b856d968898563ec9089c6a77c9dab1c5ba02d0f7a0502324937fda9f999",
|
|
478
|
-
id: "20260816090000-runtime-rts-retention",
|
|
479
|
-
scope: "tenant",
|
|
480
|
-
mode: "online",
|
|
481
|
-
rollback: "compatible",
|
|
482
|
-
resources: {
|
|
483
|
-
before: "62e2e625d7af99bec6bb635ae75aeb3654db151a2162ec375f039664a9638816",
|
|
484
|
-
after: "d2f715097972b5e8d5c444a84441e80672e2d7e8d052c0f4947b739f995511cf"
|
|
485
|
-
},
|
|
486
|
-
async up({ db, resources }) {
|
|
487
|
-
if (!resources) throw new Error("Missing RTS retention resource snapshot");
|
|
488
|
-
const retention = resources.after.indexes.find((index) => index.collection === "rbrtschanges" && index.name === "ts_1")?.runtimeOptions?.expireAfterSeconds;
|
|
489
|
-
if (typeof retention !== "number") throw new Error("Missing RTS retention value");
|
|
490
|
-
await db.command({
|
|
491
|
-
collMod: "rbrtschanges",
|
|
492
|
-
index: {
|
|
493
|
-
name: "ts_1",
|
|
494
|
-
expireAfterSeconds: retention
|
|
495
|
-
}
|
|
496
|
-
});
|
|
497
|
-
}
|
|
498
|
-
});
|
|
499
|
-
//#endregion
|
|
500
|
-
//#region src/migrations/baselineResources.ts
|
|
501
|
-
var rpcbaseBaselineMongoResources = defineMongoResources({
|
|
502
|
-
collections: [...rpcbaseMongoResources.collections],
|
|
503
|
-
indexes: rpcbaseMongoResources.indexes.map((index) => index.collection === "rbrtschanges" && index.name === "ts_1" ? {
|
|
504
|
-
...index,
|
|
505
|
-
options: {
|
|
506
|
-
...index.options,
|
|
507
|
-
expireAfterSeconds: 60
|
|
508
|
-
}
|
|
509
|
-
} : index),
|
|
510
|
-
searchIndexes: [...rpcbaseMongoResources.searchIndexes],
|
|
511
|
-
collectionValidators: [...rpcbaseMongoResources.collectionValidators]
|
|
512
|
-
});
|
|
513
|
-
//#endregion
|
|
514
|
-
//#region src/migrations/runtimeRtsRetentionResources.ts
|
|
515
|
-
var rpcbaseRuntimeRtsRetentionMongoResources = defineMongoResources({
|
|
516
|
-
collections: [...rpcbaseBaselineMongoResources.collections],
|
|
517
|
-
indexes: rpcbaseBaselineMongoResources.indexes.map((index) => {
|
|
518
|
-
if (index.collection !== "rbrtschanges" || index.name !== "ts_1") return index;
|
|
519
|
-
const { options: indexOptions, ...resource } = index;
|
|
520
|
-
const { expireAfterSeconds: _baselineTtl, ...options } = indexOptions ?? {};
|
|
521
|
-
return {
|
|
522
|
-
...resource,
|
|
523
|
-
...Object.keys(options).length > 0 ? { options } : {},
|
|
524
|
-
runtimeOptions: { expireAfterSeconds: rtsChangesTtlSeconds }
|
|
525
|
-
};
|
|
526
|
-
}),
|
|
527
|
-
searchIndexes: [...rpcbaseBaselineMongoResources.searchIndexes],
|
|
528
|
-
collectionValidators: [...rpcbaseBaselineMongoResources.collectionValidators]
|
|
529
|
-
});
|
|
530
|
-
//#endregion
|
|
531
419
|
//#region src/migrations/index.ts
|
|
532
|
-
var baselineResources = {
|
|
533
|
-
before: null,
|
|
534
|
-
after: rpcbaseBaselineMongoResources.checksum
|
|
535
|
-
};
|
|
536
420
|
var rpcbaseMigrationSource = defineMigrationSource({
|
|
537
421
|
name: "@rpcbase/db",
|
|
538
|
-
|
|
539
|
-
|
|
540
|
-
|
|
541
|
-
|
|
542
|
-
},
|
|
543
|
-
{
|
|
544
|
-
..._20260814090100_baseline_tenant_default,
|
|
545
|
-
resources: baselineResources
|
|
546
|
-
},
|
|
547
|
-
_20260816090000_runtime_rts_retention_default
|
|
548
|
-
],
|
|
549
|
-
resources: rpcbaseRuntimeRtsRetentionMongoResources,
|
|
550
|
-
resourceSnapshots: [rpcbaseBaselineMongoResources, rpcbaseRuntimeRtsRetentionMongoResources]
|
|
422
|
+
baseline: rpcbaseMongoResources,
|
|
423
|
+
migrations: [],
|
|
424
|
+
resources: rpcbaseMongoResources,
|
|
425
|
+
resourceSnapshots: [rpcbaseMongoResources]
|
|
551
426
|
});
|
|
552
427
|
//#endregion
|
|
553
|
-
export { rpcbaseMigrationSource as default, rpcbaseMigrationSource,
|
|
428
|
+
export { rpcbaseMigrationSource as default, rpcbaseMigrationSource, rpcbaseMongoResources };
|
|
554
429
|
|
|
555
430
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","names":["defineMongoResources","rtsChangesTtlSeconds","global","const","tenant","owner","rpcbaseMongoResources","collections","scope","name","indexes","collection","key","expiresAt","options","expireAfterSeconds","providerId","tenantId","unique","email","sparse","phone","tenants","createdAt","deliveryId","userId","archivedAt","readAt","seenAt","topic","tag","partialFilterExpression","$exists","drawerActive","modelName","seq","ts","provider","providerEventId","$type","subscriptionId","idempotencyKey","effectiveAt","occurredAt","scopeId","uploadId","index","defineMigration","rpcbaseMongoResources","__rpcbaseIntegrity","id","scope","mode","rollback","resources","before","after","checksum","up","helpers","Error","index","indexes","options","unique","sparseFilter","sparse","$or","Object","keys","key","map","field","$exists","undefined","partialFilter","partialFilterExpression","filter","$and","duplicates","findDuplicateKeys","collection","collation","length","name","JSON","stringify","reconcileResources","defineMigration","rpcbaseMongoResources","__rpcbaseIntegrity","id","scope","mode","rollback","resources","before","after","checksum","up","helpers","Error","index","indexes","options","unique","sparseFilter","sparse","$or","Object","keys","key","map","field","$exists","undefined","partialFilter","partialFilterExpression","filter","$and","duplicates","findDuplicateKeys","collection","collation","length","name","JSON","stringify","reconcileResources","defineMigration","__rpcbaseIntegrity","id","scope","mode","rollback","resources","before","after","up","db","Error","retention","indexes","find","index","collection","name","runtimeOptions","expireAfterSeconds","command","collMod","defineMongoResources","rpcbaseMongoResources","rpcbaseBaselineMongoResources","collections","indexes","map","index","collection","name","options","expireAfterSeconds","searchIndexes","collectionValidators","defineMongoResources","rpcbaseBaselineMongoResources","rtsChangesTtlSeconds","rpcbaseRuntimeRtsRetentionMongoResources","collections","indexes","map","index","collection","name","options","indexOptions","resource","expireAfterSeconds","_baselineTtl","Object","keys","length","runtimeOptions","searchIndexes","collectionValidators","defineMigrationSource","baselineGlobal","baselineTenant","runtimeRtsRetention","rpcbaseBaselineMongoResources","rpcbaseRuntimeRtsRetentionMongoResources","rpcbaseMongoResources","baselineResources","before","after","checksum","rpcbaseMigrationSource","name","migrations","resources","resourceSnapshots"],"sources":["../../src/migrations/resources.ts","../../src/migrations/20260814090000-baseline-global.ts","../../src/migrations/20260814090100-baseline-tenant.ts","../../src/migrations/20260816090000-runtime-rts-retention.ts","../../src/migrations/baselineResources.ts","../../src/migrations/runtimeRtsRetentionResources.ts","../../src/migrations/index.ts"],"sourcesContent":["import { defineMongoResources } from \"@rpcbase/migrations\"\n\nimport { rtsChangesTtlSeconds } from \"./rtsChanges\"\n\n\nconst global = \"global\" as const\nconst tenant = \"tenant\" as const\nconst owner = \"@rpcbase/db\"\n\nexport const rpcbaseMongoResources = defineMongoResources({\n collections: [\n { scope: global, name: \"rboauthrequests\", owner },\n { scope: global, name: \"rbtenants\", owner },\n { scope: global, name: \"rbusers\", owner },\n { scope: tenant, name: \"rbnotificationdeliveries\", owner },\n { scope: tenant, name: \"rbnotifications\", owner },\n { scope: tenant, name: \"rbnotificationsettings\", owner },\n { scope: tenant, name: \"rbrtschanges\", owner },\n { scope: tenant, name: \"rbrtscounters\", owner },\n { scope: tenant, name: \"rbtenantsubscriptionevents\", owner },\n { scope: tenant, name: \"rbtenantsubscriptionprojections\", owner },\n { scope: tenant, name: \"rbuploadchunks\", owner },\n { scope: tenant, name: \"rbuploadsessions\", owner },\n ],\n indexes: [\n {\n scope: global,\n collection: \"rboauthrequests\",\n name: \"expiresAt_1\",\n key: { expiresAt: 1 },\n options: { expireAfterSeconds: 0 },\n owner,\n },\n {\n scope: global,\n collection: \"rboauthrequests\",\n name: \"providerId_1\",\n key: { providerId: 1 },\n owner,\n },\n {\n scope: global,\n collection: \"rbtenants\",\n name: \"tenantId_1\",\n key: { tenantId: 1 },\n options: { unique: true },\n owner,\n },\n {\n scope: global,\n collection: \"rbusers\",\n name: \"email_1\",\n key: { email: 1 },\n options: { unique: true, sparse: true },\n owner,\n },\n {\n scope: global,\n collection: \"rbusers\",\n name: \"phone_1\",\n key: { phone: 1 },\n options: { unique: true, sparse: true },\n owner,\n },\n {\n scope: global,\n collection: \"rbusers\",\n name: \"tenants_1\",\n key: { tenants: 1 },\n owner,\n },\n {\n scope: tenant,\n collection: \"rbnotificationdeliveries\",\n name: \"createdAt_1\",\n key: { createdAt: 1 },\n options: { expireAfterSeconds: 7_776_000 },\n owner,\n },\n {\n scope: tenant,\n collection: \"rbnotificationdeliveries\",\n name: \"deliveryId_1\",\n key: { deliveryId: 1 },\n options: { unique: true },\n owner,\n },\n {\n scope: tenant,\n collection: \"rbnotificationdeliveries\",\n name: \"userId_1\",\n key: { userId: 1 },\n owner,\n },\n {\n scope: tenant,\n collection: \"rbnotificationdeliveries\",\n name: \"userId_1_createdAt_-1\",\n key: { userId: 1, createdAt: -1 },\n owner,\n },\n {\n scope: tenant,\n collection: \"rbnotifications\",\n name: \"archivedAt_1\",\n key: { archivedAt: 1 },\n options: { expireAfterSeconds: 7_776_000 },\n owner,\n },\n {\n scope: tenant,\n collection: \"rbnotifications\",\n name: \"createdAt_1\",\n key: { createdAt: 1 },\n owner,\n },\n {\n scope: tenant,\n collection: \"rbnotifications\",\n name: \"readAt_1\",\n key: { readAt: 1 },\n owner,\n },\n {\n scope: tenant,\n collection: \"rbnotifications\",\n name: \"seenAt_1\",\n key: { seenAt: 1 },\n owner,\n },\n {\n scope: tenant,\n collection: \"rbnotifications\",\n name: \"topic_1\",\n key: { topic: 1 },\n owner,\n },\n {\n scope: tenant,\n collection: \"rbnotifications\",\n name: \"userId_1\",\n key: { userId: 1 },\n owner,\n },\n {\n scope: tenant,\n collection: \"rbnotifications\",\n name: \"userId_1_archivedAt_1_createdAt_-1\",\n key: { userId: 1, archivedAt: 1, createdAt: -1 },\n owner,\n },\n {\n scope: tenant,\n collection: \"rbnotifications\",\n name: \"userId_1_readAt_1_archivedAt_1_createdAt_-1\",\n key: { userId: 1, readAt: 1, archivedAt: 1, createdAt: -1 },\n owner,\n },\n {\n scope: tenant,\n collection: \"rbnotifications\",\n name: \"userId_1_seenAt_1_archivedAt_1_createdAt_-1\",\n key: { userId: 1, seenAt: 1, archivedAt: 1, createdAt: -1 },\n owner,\n },\n {\n scope: tenant,\n collection: \"rbnotifications\",\n name: \"userId_1_tag_1\",\n key: { userId: 1, tag: 1 },\n options: {\n unique: true,\n partialFilterExpression: { tag: { $exists: true }, drawerActive: true },\n },\n owner,\n },\n {\n scope: tenant,\n collection: \"rbnotificationsettings\",\n name: \"userId_1\",\n key: { userId: 1 },\n options: { unique: true },\n owner,\n },\n {\n scope: tenant,\n collection: \"rbnotificationsettings\",\n name: \"userId_1_topicPreferences.topic_1\",\n key: { userId: 1, \"topicPreferences.topic\": 1 },\n owner,\n },\n {\n scope: tenant,\n collection: \"rbrtschanges\",\n name: \"modelName_1\",\n key: { modelName: 1 },\n owner,\n },\n {\n scope: tenant,\n collection: \"rbrtschanges\",\n name: \"seq_1\",\n key: { seq: 1 },\n options: { unique: true },\n owner,\n },\n {\n scope: tenant,\n collection: \"rbrtschanges\",\n name: \"ts_1\",\n key: { ts: 1 },\n options: { expireAfterSeconds: rtsChangesTtlSeconds },\n owner,\n },\n {\n scope: tenant,\n collection: \"rbtenantsubscriptionevents\",\n name: \"provider_1_providerEventId_1\",\n key: { provider: 1, providerEventId: 1 },\n options: {\n unique: true,\n partialFilterExpression: {\n provider: { $type: \"string\" },\n providerEventId: { $type: \"string\" },\n },\n },\n owner,\n },\n {\n scope: tenant,\n collection: \"rbtenantsubscriptionevents\",\n name: \"subscriptionId_1\",\n key: { subscriptionId: 1 },\n owner,\n },\n {\n scope: tenant,\n collection: \"rbtenantsubscriptionevents\",\n name: \"tenantId_1\",\n key: { tenantId: 1 },\n owner,\n },\n {\n scope: tenant,\n collection: \"rbtenantsubscriptionevents\",\n name: \"tenantId_1_idempotencyKey_1\",\n key: { tenantId: 1, idempotencyKey: 1 },\n options: { unique: true },\n owner,\n },\n {\n scope: tenant,\n collection: \"rbtenantsubscriptionevents\",\n name: \"tenantId_1_subscriptionId_1_effectiveAt_1_occurredAt_1\",\n key: { tenantId: 1, subscriptionId: 1, effectiveAt: 1, occurredAt: 1 },\n owner,\n },\n {\n scope: tenant,\n collection: \"rbtenantsubscriptionprojections\",\n name: \"tenantId_1\",\n key: { tenantId: 1 },\n owner,\n },\n {\n scope: tenant,\n collection: \"rbtenantsubscriptionprojections\",\n name: \"tenantId_1_scope_1_scopeId_1\",\n key: { tenantId: 1, scope: 1, scopeId: 1 },\n owner,\n },\n {\n scope: tenant,\n collection: \"rbtenantsubscriptionprojections\",\n name: \"tenantId_1_subscriptionId_1\",\n key: { tenantId: 1, subscriptionId: 1 },\n options: { unique: true },\n owner,\n },\n {\n scope: tenant,\n collection: \"rbuploadchunks\",\n name: \"expiresAt_1\",\n key: { expiresAt: 1 },\n options: { expireAfterSeconds: 0 },\n owner,\n },\n {\n scope: tenant,\n collection: \"rbuploadchunks\",\n name: \"uploadId_1\",\n key: { uploadId: 1 },\n owner,\n },\n {\n scope: tenant,\n collection: \"rbuploadchunks\",\n name: \"uploadId_1_index_1\",\n key: { uploadId: 1, index: 1 },\n options: { unique: true },\n owner,\n },\n {\n scope: tenant,\n collection: \"rbuploadsessions\",\n name: \"expiresAt_1\",\n key: { expiresAt: 1 },\n options: { expireAfterSeconds: 0 },\n owner,\n },\n {\n scope: tenant,\n collection: \"rbuploadsessions\",\n name: \"userId_1\",\n key: { userId: 1 },\n owner,\n },\n ],\n})\n","import { defineMigration } from \"@rpcbase/migrations\"\n\nimport { rpcbaseMongoResources } from \"./resources\"\n\n\nexport default defineMigration({\n __rpcbaseIntegrity: \"467b0d0dc32bcaa0e026996aaa59093f63da44ba375649b015c5204d76c881bb\",\n id: \"20260814090000-baseline-global\",\n scope: \"global\",\n mode: \"online\",\n rollback: \"compatible\",\n resources: {\n before: null,\n after: rpcbaseMongoResources.checksum,\n },\n\n async up({ helpers, resources }) {\n if (!resources) throw new Error(\"Missing baseline resource snapshot\")\n for (const index of resources.after.indexes) {\n if (index.options?.unique !== true) continue\n const sparseFilter = index.options.sparse === true\n ? { $or: Object.keys(index.key).map((field) => ({ [field]: { $exists: true } })) }\n : undefined\n const partialFilter = index.options.partialFilterExpression\n const filter = sparseFilter && partialFilter\n ? { $and: [partialFilter, sparseFilter] }\n : partialFilter ?? sparseFilter\n const duplicates = await helpers.findDuplicateKeys(index.collection, index.key, {\n ...(filter ? { filter } : {}),\n ...(index.options.collation ? { collation: index.options.collation } : {}),\n })\n if (duplicates.length > 0) {\n throw new Error(`Cannot create unique index ${index.collection}.${index.name}: ${JSON.stringify(duplicates)}`)\n }\n }\n await helpers.reconcileResources(resources.after)\n },\n})\n","import { defineMigration } from \"@rpcbase/migrations\"\n\nimport { rpcbaseMongoResources } from \"./resources\"\n\n\nexport default defineMigration({\n __rpcbaseIntegrity: \"a4ef8480c3befadcf18ea83bd77588946ff4ee7b4bb383ab8e59a68b7dee8f85\",\n id: \"20260814090100-baseline-tenant\",\n scope: \"tenant\",\n mode: \"online\",\n rollback: \"compatible\",\n resources: {\n before: null,\n after: rpcbaseMongoResources.checksum,\n },\n\n async up({ helpers, resources }) {\n if (!resources) throw new Error(\"Missing baseline resource snapshot\")\n for (const index of resources.after.indexes) {\n if (index.options?.unique !== true) continue\n const sparseFilter = index.options.sparse === true\n ? { $or: Object.keys(index.key).map((field) => ({ [field]: { $exists: true } })) }\n : undefined\n const partialFilter = index.options.partialFilterExpression\n const filter = sparseFilter && partialFilter\n ? { $and: [partialFilter, sparseFilter] }\n : partialFilter ?? sparseFilter\n const duplicates = await helpers.findDuplicateKeys(index.collection, index.key, {\n ...(filter ? { filter } : {}),\n ...(index.options.collation ? { collation: index.options.collation } : {}),\n })\n if (duplicates.length > 0) {\n throw new Error(`Cannot create unique index ${index.collection}.${index.name}: ${JSON.stringify(duplicates)}`)\n }\n }\n await helpers.reconcileResources(resources.after)\n },\n})\n","import { defineMigration } from \"@rpcbase/migrations\"\n\n\nexport default defineMigration({\n __rpcbaseIntegrity: \"b9d2b856d968898563ec9089c6a77c9dab1c5ba02d0f7a0502324937fda9f999\",\n id: \"20260816090000-runtime-rts-retention\",\n scope: \"tenant\",\n mode: \"online\",\n rollback: \"compatible\",\n resources: {\n before: \"62e2e625d7af99bec6bb635ae75aeb3654db151a2162ec375f039664a9638816\",\n after: \"d2f715097972b5e8d5c444a84441e80672e2d7e8d052c0f4947b739f995511cf\",\n },\n\n async up({ db, resources }) {\n if (!resources) throw new Error(\"Missing RTS retention resource snapshot\")\n const retention = resources.after.indexes\n .find((index) => index.collection === \"rbrtschanges\" && index.name === \"ts_1\")\n ?.runtimeOptions?.expireAfterSeconds\n if (typeof retention !== \"number\") throw new Error(\"Missing RTS retention value\")\n await db.command({\n collMod: \"rbrtschanges\",\n index: { name: \"ts_1\", expireAfterSeconds: retention },\n })\n },\n})\n","import { defineMongoResources } from \"@rpcbase/migrations\"\n\nimport { rpcbaseMongoResources } from \"./resources\"\n\n\nexport const rpcbaseBaselineMongoResources = defineMongoResources({\n collections: [...rpcbaseMongoResources.collections],\n indexes: rpcbaseMongoResources.indexes.map((index) => (\n index.collection === \"rbrtschanges\" && index.name === \"ts_1\"\n ? {\n ...index,\n options: { ...index.options, expireAfterSeconds: 60 },\n }\n : index\n )),\n searchIndexes: [...rpcbaseMongoResources.searchIndexes],\n collectionValidators: [...rpcbaseMongoResources.collectionValidators],\n})\n","import { defineMongoResources } from \"@rpcbase/migrations\"\n\nimport { rpcbaseBaselineMongoResources } from \"./baselineResources\"\nimport { rtsChangesTtlSeconds } from \"./rtsChanges\"\n\n\nexport const rpcbaseRuntimeRtsRetentionMongoResources = defineMongoResources({\n collections: [...rpcbaseBaselineMongoResources.collections],\n indexes: rpcbaseBaselineMongoResources.indexes.map((index) => {\n if (index.collection !== \"rbrtschanges\" || index.name !== \"ts_1\") return index\n const { options: indexOptions, ...resource } = index\n const { expireAfterSeconds: _baselineTtl, ...options } = indexOptions ?? {}\n return {\n ...resource,\n ...(Object.keys(options).length > 0 ? { options } : {}),\n runtimeOptions: { expireAfterSeconds: rtsChangesTtlSeconds },\n }\n }),\n searchIndexes: [...rpcbaseBaselineMongoResources.searchIndexes],\n collectionValidators: [...rpcbaseBaselineMongoResources.collectionValidators],\n})\n","import { defineMigrationSource } from \"@rpcbase/migrations\"\n\nimport baselineGlobal from \"./20260814090000-baseline-global\"\nimport baselineTenant from \"./20260814090100-baseline-tenant\"\nimport runtimeRtsRetention from \"./20260816090000-runtime-rts-retention\"\nimport { rpcbaseBaselineMongoResources } from \"./baselineResources\"\nimport { rpcbaseRuntimeRtsRetentionMongoResources } from \"./runtimeRtsRetentionResources\"\n\n\nexport { rpcbaseRuntimeRtsRetentionMongoResources as rpcbaseMongoResources }\n\nconst baselineResources = {\n before: null,\n after: rpcbaseBaselineMongoResources.checksum,\n}\n\nexport const rpcbaseMigrationSource = defineMigrationSource({\n name: \"@rpcbase/db\",\n migrations: [\n { ...baselineGlobal, resources: baselineResources },\n { ...baselineTenant, resources: baselineResources },\n runtimeRtsRetention,\n ],\n resources: rpcbaseRuntimeRtsRetentionMongoResources,\n resourceSnapshots: [\n rpcbaseBaselineMongoResources,\n rpcbaseRuntimeRtsRetentionMongoResources,\n ],\n})\n\nexport default rpcbaseMigrationSource\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.js","names":["defineMongoResources","rtsChangesTtlSeconds","global","const","tenant","owner","rpcbaseMongoResources","collections","scope","name","indexes","collection","key","expiresAt","options","expireAfterSeconds","providerId","tenantId","unique","email","sparse","phone","tenants","createdAt","deliveryId","userId","archivedAt","readAt","seenAt","topic","tag","partialFilterExpression","$exists","drawerActive","modelName","seq","ts","runtimeOptions","provider","providerEventId","$type","subscriptionId","idempotencyKey","effectiveAt","occurredAt","scopeId","uploadId","index","defineMigrationSource","rpcbaseMongoResources","rpcbaseMigrationSource","name","baseline","migrations","resources","resourceSnapshots"],"sources":["../../src/migrations/resources.ts","../../src/migrations/index.ts"],"sourcesContent":["import { defineMongoResources } from \"@rpcbase/migrations\"\n\nimport { rtsChangesTtlSeconds } from \"./rtsChanges\"\n\n\nconst global = \"global\" as const\nconst tenant = \"tenant\" as const\nconst owner = \"@rpcbase/db\"\n\nexport const rpcbaseMongoResources = defineMongoResources({\n collections: [\n { scope: global, name: \"rboauthrequests\", owner },\n { scope: global, name: \"rbtenants\", owner },\n { scope: global, name: \"rbusers\", owner },\n { scope: tenant, name: \"rbnotificationdeliveries\", owner },\n { scope: tenant, name: \"rbnotifications\", owner },\n { scope: tenant, name: \"rbnotificationsettings\", owner },\n { scope: tenant, name: \"rbrtschanges\", owner },\n { scope: tenant, name: \"rbrtscounters\", owner },\n { scope: tenant, name: \"rbtenantsubscriptionevents\", owner },\n { scope: tenant, name: \"rbtenantsubscriptionprojections\", owner },\n { scope: tenant, name: \"rbuploadchunks\", owner },\n { scope: tenant, name: \"rbuploadsessions\", owner },\n ],\n indexes: [\n {\n scope: global,\n collection: \"rboauthrequests\",\n name: \"expiresAt_1\",\n key: { expiresAt: 1 },\n options: { expireAfterSeconds: 0 },\n owner,\n },\n {\n scope: global,\n collection: \"rboauthrequests\",\n name: \"providerId_1\",\n key: { providerId: 1 },\n owner,\n },\n {\n scope: global,\n collection: \"rbtenants\",\n name: \"tenantId_1\",\n key: { tenantId: 1 },\n options: { unique: true },\n owner,\n },\n {\n scope: global,\n collection: \"rbusers\",\n name: \"email_1\",\n key: { email: 1 },\n options: { unique: true, sparse: true },\n owner,\n },\n {\n scope: global,\n collection: \"rbusers\",\n name: \"phone_1\",\n key: { phone: 1 },\n options: { unique: true, sparse: true },\n owner,\n },\n {\n scope: global,\n collection: \"rbusers\",\n name: \"tenants_1\",\n key: { tenants: 1 },\n owner,\n },\n {\n scope: tenant,\n collection: \"rbnotificationdeliveries\",\n name: \"createdAt_1\",\n key: { createdAt: 1 },\n options: { expireAfterSeconds: 7_776_000 },\n owner,\n },\n {\n scope: tenant,\n collection: \"rbnotificationdeliveries\",\n name: \"deliveryId_1\",\n key: { deliveryId: 1 },\n options: { unique: true },\n owner,\n },\n {\n scope: tenant,\n collection: \"rbnotificationdeliveries\",\n name: \"userId_1\",\n key: { userId: 1 },\n owner,\n },\n {\n scope: tenant,\n collection: \"rbnotificationdeliveries\",\n name: \"userId_1_createdAt_-1\",\n key: { userId: 1, createdAt: -1 },\n owner,\n },\n {\n scope: tenant,\n collection: \"rbnotifications\",\n name: \"archivedAt_1\",\n key: { archivedAt: 1 },\n options: { expireAfterSeconds: 7_776_000 },\n owner,\n },\n {\n scope: tenant,\n collection: \"rbnotifications\",\n name: \"createdAt_1\",\n key: { createdAt: 1 },\n owner,\n },\n {\n scope: tenant,\n collection: \"rbnotifications\",\n name: \"readAt_1\",\n key: { readAt: 1 },\n owner,\n },\n {\n scope: tenant,\n collection: \"rbnotifications\",\n name: \"seenAt_1\",\n key: { seenAt: 1 },\n owner,\n },\n {\n scope: tenant,\n collection: \"rbnotifications\",\n name: \"topic_1\",\n key: { topic: 1 },\n owner,\n },\n {\n scope: tenant,\n collection: \"rbnotifications\",\n name: \"userId_1\",\n key: { userId: 1 },\n owner,\n },\n {\n scope: tenant,\n collection: \"rbnotifications\",\n name: \"userId_1_archivedAt_1_createdAt_-1\",\n key: { userId: 1, archivedAt: 1, createdAt: -1 },\n owner,\n },\n {\n scope: tenant,\n collection: \"rbnotifications\",\n name: \"userId_1_readAt_1_archivedAt_1_createdAt_-1\",\n key: { userId: 1, readAt: 1, archivedAt: 1, createdAt: -1 },\n owner,\n },\n {\n scope: tenant,\n collection: \"rbnotifications\",\n name: \"userId_1_seenAt_1_archivedAt_1_createdAt_-1\",\n key: { userId: 1, seenAt: 1, archivedAt: 1, createdAt: -1 },\n owner,\n },\n {\n scope: tenant,\n collection: \"rbnotifications\",\n name: \"userId_1_tag_1\",\n key: { userId: 1, tag: 1 },\n options: {\n unique: true,\n partialFilterExpression: { tag: { $exists: true }, drawerActive: true },\n },\n owner,\n },\n {\n scope: tenant,\n collection: \"rbnotificationsettings\",\n name: \"userId_1\",\n key: { userId: 1 },\n options: { unique: true },\n owner,\n },\n {\n scope: tenant,\n collection: \"rbnotificationsettings\",\n name: \"userId_1_topicPreferences.topic_1\",\n key: { userId: 1, \"topicPreferences.topic\": 1 },\n owner,\n },\n {\n scope: tenant,\n collection: \"rbrtschanges\",\n name: \"modelName_1\",\n key: { modelName: 1 },\n owner,\n },\n {\n scope: tenant,\n collection: \"rbrtschanges\",\n name: \"seq_1\",\n key: { seq: 1 },\n options: { unique: true },\n owner,\n },\n {\n scope: tenant,\n collection: \"rbrtschanges\",\n name: \"ts_1\",\n key: { ts: 1 },\n runtimeOptions: { expireAfterSeconds: rtsChangesTtlSeconds },\n owner,\n },\n {\n scope: tenant,\n collection: \"rbtenantsubscriptionevents\",\n name: \"provider_1_providerEventId_1\",\n key: { provider: 1, providerEventId: 1 },\n options: {\n unique: true,\n partialFilterExpression: {\n provider: { $type: \"string\" },\n providerEventId: { $type: \"string\" },\n },\n },\n owner,\n },\n {\n scope: tenant,\n collection: \"rbtenantsubscriptionevents\",\n name: \"subscriptionId_1\",\n key: { subscriptionId: 1 },\n owner,\n },\n {\n scope: tenant,\n collection: \"rbtenantsubscriptionevents\",\n name: \"tenantId_1\",\n key: { tenantId: 1 },\n owner,\n },\n {\n scope: tenant,\n collection: \"rbtenantsubscriptionevents\",\n name: \"tenantId_1_idempotencyKey_1\",\n key: { tenantId: 1, idempotencyKey: 1 },\n options: { unique: true },\n owner,\n },\n {\n scope: tenant,\n collection: \"rbtenantsubscriptionevents\",\n name: \"tenantId_1_subscriptionId_1_effectiveAt_1_occurredAt_1\",\n key: { tenantId: 1, subscriptionId: 1, effectiveAt: 1, occurredAt: 1 },\n owner,\n },\n {\n scope: tenant,\n collection: \"rbtenantsubscriptionprojections\",\n name: \"tenantId_1\",\n key: { tenantId: 1 },\n owner,\n },\n {\n scope: tenant,\n collection: \"rbtenantsubscriptionprojections\",\n name: \"tenantId_1_scope_1_scopeId_1\",\n key: { tenantId: 1, scope: 1, scopeId: 1 },\n owner,\n },\n {\n scope: tenant,\n collection: \"rbtenantsubscriptionprojections\",\n name: \"tenantId_1_subscriptionId_1\",\n key: { tenantId: 1, subscriptionId: 1 },\n options: { unique: true },\n owner,\n },\n {\n scope: tenant,\n collection: \"rbuploadchunks\",\n name: \"expiresAt_1\",\n key: { expiresAt: 1 },\n options: { expireAfterSeconds: 0 },\n owner,\n },\n {\n scope: tenant,\n collection: \"rbuploadchunks\",\n name: \"uploadId_1\",\n key: { uploadId: 1 },\n owner,\n },\n {\n scope: tenant,\n collection: \"rbuploadchunks\",\n name: \"uploadId_1_index_1\",\n key: { uploadId: 1, index: 1 },\n options: { unique: true },\n owner,\n },\n {\n scope: tenant,\n collection: \"rbuploadsessions\",\n name: \"expiresAt_1\",\n key: { expiresAt: 1 },\n options: { expireAfterSeconds: 0 },\n owner,\n },\n {\n scope: tenant,\n collection: \"rbuploadsessions\",\n name: \"userId_1\",\n key: { userId: 1 },\n owner,\n },\n ],\n})\n","import { defineMigrationSource } from \"@rpcbase/migrations\"\n\nimport { rpcbaseMongoResources } from \"./resources\"\n\n\nexport { rpcbaseMongoResources }\n\nexport const rpcbaseMigrationSource = defineMigrationSource({\n name: \"@rpcbase/db\",\n baseline: rpcbaseMongoResources,\n migrations: [],\n resources: rpcbaseMongoResources,\n resourceSnapshots: [rpcbaseMongoResources],\n})\n\nexport default rpcbaseMigrationSource\n"],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"20260814090000-baseline-global.d.ts","sourceRoot":"","sources":["../../src/migrations/20260814090000-baseline-global.ts"],"names":[],"mappings":";AAKA,wBA+BE"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"20260814090100-baseline-tenant.d.ts","sourceRoot":"","sources":["../../src/migrations/20260814090100-baseline-tenant.ts"],"names":[],"mappings":";AAKA,wBA+BE"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"20260816090000-runtime-rts-retention.d.ts","sourceRoot":"","sources":["../../src/migrations/20260816090000-runtime-rts-retention.ts"],"names":[],"mappings":";AAGA,wBAqBE"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"baselineResources.d.ts","sourceRoot":"","sources":["../../src/migrations/baselineResources.ts"],"names":[],"mappings":"AAKA,eAAO,MAAM,6BAA6B,8CAYxC,CAAA"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"runtimeRtsRetentionResources.d.ts","sourceRoot":"","sources":["../../src/migrations/runtimeRtsRetentionResources.ts"],"names":[],"mappings":"AAMA,eAAO,MAAM,wCAAwC,8CAcnD,CAAA"}
|