@researchdatabox/redbox-core-types 0.0.1-beta.9873 → 0.0.1-beta.9909

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/index.d.ts CHANGED
@@ -41,9 +41,10 @@ export * from './config';
41
41
  export { Config, SailsConfig } from './config';
42
42
  export { coreBootstrap, preLiftSetup, BootstrapProvider } from './bootstrap';
43
43
  export { generateAllShims } from './loader/index';
44
- export type { LoaderOptions, GenerateAllShimsResult } from './loader/index';
44
+ export type { LoaderOptions, GenerateAllShimsResult, RedboxMigration } from './loader/index';
45
45
  export { createGeneratedBootstrap } from './loader/bootstrapShimRuntime';
46
46
  export type { GeneratedHookBootstrap } from './loader/bootstrapShimRuntime';
47
+ export { runPendingMigrations } from './loader/MigrationRunner';
47
48
  export * from './shims';
48
49
  export * from './hooks';
49
50
  export { ServiceExports } from './services';
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
package/dist/index.js CHANGED
@@ -36,7 +36,7 @@ var __importStar = (this && this.__importStar) || (function () {
36
36
  };
37
37
  })();
38
38
  Object.defineProperty(exports, "__esModule", { value: true });
39
- exports.WebserviceControllerNames = exports.ControllerNames = exports.WebserviceControllerExports = exports.ControllerExports = exports.ServiceExports = exports.createGeneratedBootstrap = exports.generateAllShims = exports.preLiftSetup = exports.coreBootstrap = exports.Config = exports.Responses = exports.Middleware = exports.FormConfigExports = exports.Policies = exports.toDoiPublishingFormModel = exports.resolveDoiConnectionPassword = exports.fromDoiPublishingFormModel = exports.createDefaultBinding = exports.DOI_PUBLISHING_SCHEMA = exports.DoiPublishing = exports.WaterlineModels = exports.IntegrationAuditParams = exports.RecordAuditParams = exports.DatastreamServiceResponse = exports.StorageServiceResponse = exports.Datastream = exports.Services = exports.Controllers = exports.Attachment = void 0;
39
+ exports.WebserviceControllerNames = exports.ControllerNames = exports.WebserviceControllerExports = exports.ControllerExports = exports.ServiceExports = exports.runPendingMigrations = exports.createGeneratedBootstrap = exports.generateAllShims = exports.preLiftSetup = exports.coreBootstrap = exports.Config = exports.Responses = exports.Middleware = exports.FormConfigExports = exports.Policies = exports.toDoiPublishingFormModel = exports.resolveDoiConnectionPassword = exports.fromDoiPublishingFormModel = exports.createDefaultBinding = exports.DOI_PUBLISHING_SCHEMA = exports.DoiPublishing = exports.WaterlineModels = exports.IntegrationAuditParams = exports.RecordAuditParams = exports.DatastreamServiceResponse = exports.StorageServiceResponse = exports.Datastream = exports.Services = exports.Controllers = exports.Attachment = void 0;
40
40
  require("./sails");
41
41
  var Attachment_1 = require("./Attachment");
42
42
  Object.defineProperty(exports, "Attachment", { enumerable: true, get: function () { return Attachment_1.Attachment; } });
@@ -96,6 +96,8 @@ var index_1 = require("./loader/index");
96
96
  Object.defineProperty(exports, "generateAllShims", { enumerable: true, get: function () { return index_1.generateAllShims; } });
97
97
  var bootstrapShimRuntime_1 = require("./loader/bootstrapShimRuntime");
98
98
  Object.defineProperty(exports, "createGeneratedBootstrap", { enumerable: true, get: function () { return bootstrapShimRuntime_1.createGeneratedBootstrap; } });
99
+ var MigrationRunner_1 = require("./loader/MigrationRunner");
100
+ Object.defineProperty(exports, "runPendingMigrations", { enumerable: true, get: function () { return MigrationRunner_1.runPendingMigrations; } });
99
101
  // Shims for backward compatibility
100
102
  __exportStar(require("./shims"), exports);
101
103
  // Sails hooks
@@ -125,4 +127,4 @@ __exportStar(require("./visitor/vocab-inline.visitor"), exports);
125
127
  __exportStar(require("./utilities/ContextVariableUtils"), exports);
126
128
  __exportStar(require("./visitor/visitor-helpers"), exports);
127
129
  __exportStar(require("./api-routes"), exports);
128
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQUEsbUJBQWlCO0FBRWpCLDJDQUd3QjtBQUZwQix3R0FBQSxVQUFVLE9BQUE7QUFHZCxtREFHNEI7QUFGeEIsNkdBQUEsV0FBVyxPQUFBO0FBR2YsNkNBR3lCO0FBRnJCLHVHQUFBLFFBQVEsT0FBQTtBQUdaLDJDQUd3QjtBQUZwQix3R0FBQSxVQUFVLE9BQUE7QUFHZCxtRUFHb0M7QUFGaEMsZ0lBQUEsc0JBQXNCLE9BQUE7QUFHMUIseUVBR3VDO0FBRm5DLHNJQUFBLHlCQUF5QixPQUFBO0FBcUM3Qix5REFHK0I7QUFGM0Isc0hBQUEsaUJBQWlCLE9BQUE7QUFHckIsbUVBR29DO0FBRmhDLGdJQUFBLHNCQUFzQixPQUFBO0FBRzFCLGtFQUFnRDtBQU1oRCwwQ0FBd0I7QUFDeEIsOENBQTRCO0FBQzVCLCtDQUE2QjtBQUU3Qix1REFBcUQ7QUFBNUMsbUhBQUEsZUFBZSxPQUFBO0FBQ3hCLHVFQUFxRDtBQUVyRCw4REFBNEM7QUFDNUMsNERBQTBDO0FBQzFDLGlFQUErQztBQUMvQyxvRUFBa0Q7QUFDbEQsb0VBQWtEO0FBQ2xELDhEQU9zQztBQU5wQyw4R0FBQSxhQUFhLE9BQUE7QUFDYixzSEFBQSxxQkFBcUIsT0FBQTtBQUNyQixxSEFBQSxvQkFBb0IsT0FBQTtBQUNwQiwySEFBQSwwQkFBMEIsT0FBQTtBQUMxQiw2SEFBQSw0QkFBNEIsT0FBQTtBQUM1Qix5SEFBQSx3QkFBd0IsT0FBQTtBQW9CMUIscUVBQW1EO0FBQ25ELHlFQUF1RDtBQUN2RCwrREFBNkM7QUFFN0MsdUNBQXNDO0FBQTdCLG9HQUFBLFFBQVEsT0FBQTtBQUVqQiw2Q0FBa0Q7QUFBekMsZ0hBQUEsaUJBQWlCLE9BQUE7QUFFMUIsdUVBQXlEO0FBQ2hELGdDQUFVO0FBRW5CLHVEQUF5QztBQUNoQyw4QkFBUztBQUVsQixrQ0FBa0M7QUFDbEMsMkNBQXlCO0FBQ3pCLG1DQUErQztBQUF0QyxnR0FBQSxNQUFNLE9BQUE7QUFFZixzQkFBc0I7QUFDdEIseUNBQTZFO0FBQXBFLDBHQUFBLGFBQWEsT0FBQTtBQUFFLHlHQUFBLFlBQVksT0FBQTtBQUNwQyx3Q0FBa0Q7QUFBekMseUdBQUEsZ0JBQWdCLE9BQUE7QUFFekIsc0VBQXlFO0FBQWhFLGdJQUFBLHdCQUF3QixPQUFBO0FBR2pDLG1DQUFtQztBQUNuQywwQ0FBd0I7QUFFeEIsY0FBYztBQUNkLDBDQUF3QjtBQUV4QixXQUFXO0FBQ1gsdUNBQTRDO0FBQW5DLDBHQUFBLGNBQWMsT0FBQTtBQUN2Qiw2Q0FBMkI7QUFFM0IsY0FBYztBQUNkLDZDQUEySDtBQUFsSCxnSEFBQSxpQkFBaUIsT0FBQTtBQUFFLDBIQUFBLDJCQUEyQixPQUFBO0FBQUUsOEdBQUEsZUFBZSxPQUFBO0FBQUUsd0hBQUEseUJBQXlCLE9BQUE7QUFDbkcsZ0RBQThCO0FBRTlCLFdBQVc7QUFDWCxzRUFBb0Q7QUFDcEQsMkRBQXlDO0FBQ3pDLDhEQUE0QztBQUM1QyxzRUFBb0Q7QUFDcEQsK0RBQTZDO0FBQzdDLGtFQUFnRDtBQUNoRCx5RUFBdUQ7QUFDdkQsNkRBQTJDO0FBQzNDLDhEQUE0QztBQUM1QyxpRUFBK0M7QUFDL0MsbUVBQWlEO0FBQ2pELDREQUEwQztBQUMxQywrQ0FBNkIifQ==
130
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQUEsbUJBQWlCO0FBRWpCLDJDQUd3QjtBQUZwQix3R0FBQSxVQUFVLE9BQUE7QUFHZCxtREFHNEI7QUFGeEIsNkdBQUEsV0FBVyxPQUFBO0FBR2YsNkNBR3lCO0FBRnJCLHVHQUFBLFFBQVEsT0FBQTtBQUdaLDJDQUd3QjtBQUZwQix3R0FBQSxVQUFVLE9BQUE7QUFHZCxtRUFHb0M7QUFGaEMsZ0lBQUEsc0JBQXNCLE9BQUE7QUFHMUIseUVBR3VDO0FBRm5DLHNJQUFBLHlCQUF5QixPQUFBO0FBcUM3Qix5REFHK0I7QUFGM0Isc0hBQUEsaUJBQWlCLE9BQUE7QUFHckIsbUVBR29DO0FBRmhDLGdJQUFBLHNCQUFzQixPQUFBO0FBRzFCLGtFQUFnRDtBQU1oRCwwQ0FBd0I7QUFDeEIsOENBQTRCO0FBQzVCLCtDQUE2QjtBQUU3Qix1REFBcUQ7QUFBNUMsbUhBQUEsZUFBZSxPQUFBO0FBQ3hCLHVFQUFxRDtBQUVyRCw4REFBNEM7QUFDNUMsNERBQTBDO0FBQzFDLGlFQUErQztBQUMvQyxvRUFBa0Q7QUFDbEQsb0VBQWtEO0FBQ2xELDhEQU9zQztBQU5wQyw4R0FBQSxhQUFhLE9BQUE7QUFDYixzSEFBQSxxQkFBcUIsT0FBQTtBQUNyQixxSEFBQSxvQkFBb0IsT0FBQTtBQUNwQiwySEFBQSwwQkFBMEIsT0FBQTtBQUMxQiw2SEFBQSw0QkFBNEIsT0FBQTtBQUM1Qix5SEFBQSx3QkFBd0IsT0FBQTtBQW9CMUIscUVBQW1EO0FBQ25ELHlFQUF1RDtBQUN2RCwrREFBNkM7QUFFN0MsdUNBQXNDO0FBQTdCLG9HQUFBLFFBQVEsT0FBQTtBQUVqQiw2Q0FBa0Q7QUFBekMsZ0hBQUEsaUJBQWlCLE9BQUE7QUFFMUIsdUVBQXlEO0FBQ2hELGdDQUFVO0FBRW5CLHVEQUF5QztBQUNoQyw4QkFBUztBQUVsQixrQ0FBa0M7QUFDbEMsMkNBQXlCO0FBQ3pCLG1DQUErQztBQUF0QyxnR0FBQSxNQUFNLE9BQUE7QUFFZixzQkFBc0I7QUFDdEIseUNBQTZFO0FBQXBFLDBHQUFBLGFBQWEsT0FBQTtBQUFFLHlHQUFBLFlBQVksT0FBQTtBQUNwQyx3Q0FBa0Q7QUFBekMseUdBQUEsZ0JBQWdCLE9BQUE7QUFFekIsc0VBQXlFO0FBQWhFLGdJQUFBLHdCQUF3QixPQUFBO0FBRWpDLDREQUFnRTtBQUF2RCx1SEFBQSxvQkFBb0IsT0FBQTtBQUU3QixtQ0FBbUM7QUFDbkMsMENBQXdCO0FBRXhCLGNBQWM7QUFDZCwwQ0FBd0I7QUFFeEIsV0FBVztBQUNYLHVDQUE0QztBQUFuQywwR0FBQSxjQUFjLE9BQUE7QUFDdkIsNkNBQTJCO0FBRTNCLGNBQWM7QUFDZCw2Q0FBMkg7QUFBbEgsZ0hBQUEsaUJBQWlCLE9BQUE7QUFBRSwwSEFBQSwyQkFBMkIsT0FBQTtBQUFFLDhHQUFBLGVBQWUsT0FBQTtBQUFFLHdIQUFBLHlCQUF5QixPQUFBO0FBQ25HLGdEQUE4QjtBQUU5QixXQUFXO0FBQ1gsc0VBQW9EO0FBQ3BELDJEQUF5QztBQUN6Qyw4REFBNEM7QUFDNUMsc0VBQW9EO0FBQ3BELCtEQUE2QztBQUM3QyxrRUFBZ0Q7QUFDaEQseUVBQXVEO0FBQ3ZELDZEQUEyQztBQUMzQyw4REFBNEM7QUFDNUMsaUVBQStDO0FBQy9DLG1FQUFpRDtBQUNqRCw0REFBMEM7QUFDMUMsK0NBQTZCIn0=
@@ -0,0 +1,19 @@
1
+ import { type RunnableMigration } from 'umzug';
2
+ export interface RedboxMigration {
3
+ name: string;
4
+ source?: string;
5
+ up: (params?: {
6
+ context: typeof sails;
7
+ }) => Promise<void>;
8
+ down?: (params?: {
9
+ context: typeof sails;
10
+ }) => Promise<void>;
11
+ }
12
+ /**
13
+ * Maps Redbox migrations onto Umzug's RunnableMigration shape. The optional `down`
14
+ * handler is forwarded verbatim so operators can perform manual rollbacks via Umzug;
15
+ * see the Data Migrations wiki for the rollback contract and its caveats.
16
+ */
17
+ export declare function toRunnableMigrations(migrations: RedboxMigration[]): RunnableMigration<typeof sails>[];
18
+ export declare function runPendingMigrations(migrations: RedboxMigration[]): Promise<void>;
19
+ //# sourceMappingURL=MigrationRunner.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"MigrationRunner.d.ts","sourceRoot":"","sources":["../../src/loader/MigrationRunner.ts"],"names":[],"mappings":"AAGA,OAAO,EAA6B,KAAK,iBAAiB,EAAqB,MAAM,OAAO,CAAC;AAE7F,MAAM,WAAW,eAAe;IAC5B,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,EAAE,EAAE,CAAC,MAAM,CAAC,EAAE;QAAE,OAAO,EAAE,OAAO,KAAK,CAAA;KAAE,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IAC1D,IAAI,CAAC,EAAE,CAAC,MAAM,CAAC,EAAE;QAAE,OAAO,EAAE,OAAO,KAAK,CAAA;KAAE,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;CAChE;AA6ED;;;;GAIG;AACH,wBAAgB,oBAAoB,CAAC,UAAU,EAAE,eAAe,EAAE,GAAG,iBAAiB,CAAC,OAAO,KAAK,CAAC,EAAE,CAMrG;AAED,wBAAsB,oBAAoB,CAAC,UAAU,EAAE,eAAe,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CA2CvF"}
@@ -0,0 +1,108 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.toRunnableMigrations = toRunnableMigrations;
7
+ exports.runPendingMigrations = runPendingMigrations;
8
+ const fs_1 = require("fs");
9
+ const os_1 = __importDefault(require("os"));
10
+ const path_1 = __importDefault(require("path"));
11
+ const umzug_1 = require("umzug");
12
+ async function readAppVersion() {
13
+ try {
14
+ const appPath = sails.config?.appPath || process.cwd();
15
+ const packageJson = JSON.parse(await fs_1.promises.readFile(path_1.default.join(appPath, 'package.json'), 'utf8'));
16
+ return packageJson.version;
17
+ }
18
+ catch {
19
+ return undefined;
20
+ }
21
+ }
22
+ function getMigrationModel() {
23
+ const migrationModel = sails.models?.migration;
24
+ if (!migrationModel) {
25
+ throw new Error('Migration model is not available. Regenerate shims so api/models/Migration.js exists.');
26
+ }
27
+ return migrationModel;
28
+ }
29
+ function createMigrationStorage(migrationModel, migrationsByName, appVersion, startTimes) {
30
+ return {
31
+ async executed() {
32
+ const rows = await migrationModel.find().sort('ranAt ASC');
33
+ return rows.map(row => row.name);
34
+ },
35
+ async logMigration({ name }) {
36
+ const migration = migrationsByName.get(name);
37
+ const startedAt = startTimes.get(name);
38
+ await migrationModel.create({
39
+ name,
40
+ source: migration?.source,
41
+ appVersion,
42
+ ranAt: Date.now(),
43
+ ...(startedAt === undefined ? {} : { durationMs: Date.now() - startedAt }),
44
+ executedBy: os_1.default.hostname(),
45
+ });
46
+ },
47
+ async unlogMigration({ name }) {
48
+ await migrationModel.destroy({ name });
49
+ },
50
+ };
51
+ }
52
+ function createLogger() {
53
+ return {
54
+ debug: message => sails.log.verbose(message),
55
+ info: message => sails.log.info(message),
56
+ warn: message => sails.log.warn(message),
57
+ error: message => sails.log.error(message),
58
+ };
59
+ }
60
+ /**
61
+ * Maps Redbox migrations onto Umzug's RunnableMigration shape. The optional `down`
62
+ * handler is forwarded verbatim so operators can perform manual rollbacks via Umzug;
63
+ * see the Data Migrations wiki for the rollback contract and its caveats.
64
+ */
65
+ function toRunnableMigrations(migrations) {
66
+ return migrations.map(migration => ({
67
+ name: migration.name,
68
+ up: migration.up,
69
+ down: migration.down,
70
+ }));
71
+ }
72
+ async function runPendingMigrations(migrations) {
73
+ if (migrations.length === 0) {
74
+ return;
75
+ }
76
+ if (process.env.REDBOX_SKIP_MIGRATIONS === 'true') {
77
+ sails.log.warn(`REDBOX_SKIP_MIGRATIONS=true – skipping ${migrations.length} registered data migration(s). ` +
78
+ 'Skipped migrations remain pending and will run on the next lift without this flag.');
79
+ return;
80
+ }
81
+ const orderedMigrations = [...migrations].sort((a, b) => (a.name < b.name ? -1 : a.name > b.name ? 1 : 0));
82
+ const migrationsByName = new Map(orderedMigrations.map(migration => [migration.name, migration]));
83
+ const migrationModel = getMigrationModel();
84
+ const appVersion = await readAppVersion();
85
+ const startTimes = new Map();
86
+ const storage = createMigrationStorage(migrationModel, migrationsByName, appVersion, startTimes);
87
+ const umzugMigrations = toRunnableMigrations(orderedMigrations).map(migration => ({
88
+ ...migration,
89
+ up: async (params) => {
90
+ startTimes.set(migration.name, Date.now());
91
+ return migration.up(params);
92
+ },
93
+ }));
94
+ const umzug = new umzug_1.Umzug({
95
+ migrations: umzugMigrations,
96
+ context: sails,
97
+ storage,
98
+ logger: createLogger(),
99
+ });
100
+ const pending = await umzug.pending();
101
+ if (pending.length === 0) {
102
+ sails.log.info('Data migrations: 0 pending.');
103
+ return;
104
+ }
105
+ sails.log.info(`Data migrations: ${pending.length} pending: ${pending.map(migration => migration.name).join(', ')}`);
106
+ await umzug.up();
107
+ }
108
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiTWlncmF0aW9uUnVubmVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2xvYWRlci9NaWdyYXRpb25SdW5uZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7QUE0RkEsb0RBTUM7QUFFRCxvREEyQ0M7QUEvSUQsMkJBQW9DO0FBQ3BDLDRDQUFvQjtBQUNwQixnREFBd0I7QUFDeEIsaUNBQTZGO0FBMEI3RixLQUFLLFVBQVUsY0FBYztJQUN6QixJQUFJLENBQUM7UUFDRCxNQUFNLE9BQU8sR0FBSSxLQUFLLENBQUMsTUFBMkMsRUFBRSxPQUFPLElBQUksT0FBTyxDQUFDLEdBQUcsRUFBRSxDQUFDO1FBQzdGLE1BQU0sV0FBVyxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsTUFBTSxhQUFFLENBQUMsUUFBUSxDQUFDLGNBQUksQ0FBQyxJQUFJLENBQUMsT0FBTyxFQUFFLGNBQWMsQ0FBQyxFQUFFLE1BQU0sQ0FBQyxDQUF5QixDQUFDO1FBQ3RILE9BQU8sV0FBVyxDQUFDLE9BQU8sQ0FBQztJQUMvQixDQUFDO0lBQUMsTUFBTSxDQUFDO1FBQ0wsT0FBTyxTQUFTLENBQUM7SUFDckIsQ0FBQztBQUNMLENBQUM7QUFFRCxTQUFTLGlCQUFpQjtJQUN0QixNQUFNLGNBQWMsR0FBRyxLQUFLLENBQUMsTUFBTSxFQUFFLFNBQXVDLENBQUM7SUFDN0UsSUFBSSxDQUFDLGNBQWMsRUFBRSxDQUFDO1FBQ2xCLE1BQU0sSUFBSSxLQUFLLENBQUMsdUZBQXVGLENBQUMsQ0FBQztJQUM3RyxDQUFDO0lBQ0QsT0FBTyxjQUFjLENBQUM7QUFDMUIsQ0FBQztBQUVELFNBQVMsc0JBQXNCLENBQzNCLGNBQThCLEVBQzlCLGdCQUE4QyxFQUM5QyxVQUE4QixFQUM5QixVQUErQjtJQUUvQixPQUFPO1FBQ0gsS0FBSyxDQUFDLFFBQVE7WUFDVixNQUFNLElBQUksR0FBRyxNQUFNLGNBQWMsQ0FBQyxJQUFJLEVBQUUsQ0FBQyxJQUFJLENBQUMsV0FB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
@@ -1,8 +1,9 @@
1
+ import type { RedboxMigration } from './MigrationRunner';
1
2
  export interface GeneratedHookBootstrap {
2
3
  name: string;
3
4
  bootstrap: () => Promise<void>;
4
5
  }
5
6
  type BootstrapCallback = (error?: unknown) => void;
6
- export declare function createGeneratedBootstrap(preLiftSetup: () => void, coreBootstrap: () => Promise<void>, hookBootstraps: GeneratedHookBootstrap[]): (cb: BootstrapCallback) => void;
7
+ export declare function createGeneratedBootstrap(preLiftSetup: () => void, coreBootstrap: () => Promise<void>, hookBootstraps: GeneratedHookBootstrap[], migrations?: RedboxMigration[]): (cb: BootstrapCallback) => void;
7
8
  export {};
8
9
  //# sourceMappingURL=bootstrapShimRuntime.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"bootstrapShimRuntime.d.ts","sourceRoot":"","sources":["../../src/loader/bootstrapShimRuntime.ts"],"names":[],"mappings":"AAGA,MAAM,WAAW,sBAAsB;IACnC,IAAI,EAAE,MAAM,CAAC;IACb,SAAS,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;CAClC;AAED,KAAK,iBAAiB,GAAG,CAAC,KAAK,CAAC,EAAE,OAAO,KAAK,IAAI,CAAC;AAsDnD,wBAAgB,wBAAwB,CACpC,YAAY,EAAE,MAAM,IAAI,EACxB,aAAa,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,EAClC,cAAc,EAAE,sBAAsB,EAAE,GACzC,CAAC,EAAE,EAAE,iBAAiB,KAAK,IAAI,CA2BjC"}
1
+ {"version":3,"file":"bootstrapShimRuntime.d.ts","sourceRoot":"","sources":["../../src/loader/bootstrapShimRuntime.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AAEzD,MAAM,WAAW,sBAAsB;IACnC,IAAI,EAAE,MAAM,CAAC;IACb,SAAS,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;CAClC;AAED,KAAK,iBAAiB,GAAG,CAAC,KAAK,CAAC,EAAE,OAAO,KAAK,IAAI,CAAC;AAsDnD,wBAAgB,wBAAwB,CACpC,YAAY,EAAE,MAAM,IAAI,EACxB,aAAa,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,EAClC,cAAc,EAAE,sBAAsB,EAAE,EACxC,UAAU,GAAE,eAAe,EAAO,GACnC,CAAC,EAAE,EAAE,iBAAiB,KAAK,IAAI,CAgCjC"}
@@ -6,6 +6,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
6
6
  exports.createGeneratedBootstrap = createGeneratedBootstrap;
7
7
  const fs_1 = require("fs");
8
8
  const path_1 = __importDefault(require("path"));
9
+ const MigrationRunner_1 = require("./MigrationRunner");
9
10
  function serializeConfig(value, seen = new WeakSet()) {
10
11
  if (value === null || value === undefined) {
11
12
  return value;
@@ -54,7 +55,7 @@ async function exportPostBootstrapSnapshot() {
54
55
  sails.log.warn(`Failed to export config snapshot to ${snapshotPath}: ${message}`);
55
56
  }
56
57
  }
57
- function createGeneratedBootstrap(preLiftSetup, coreBootstrap, hookBootstraps) {
58
+ function createGeneratedBootstrap(preLiftSetup, coreBootstrap, hookBootstraps, migrations = []) {
58
59
  return function bootstrap(cb) {
59
60
  try {
60
61
  preLiftSetup();
@@ -64,6 +65,10 @@ function createGeneratedBootstrap(preLiftSetup, coreBootstrap, hookBootstraps) {
64
65
  return;
65
66
  }
66
67
  (async () => {
68
+ if (migrations.length > 0) {
69
+ await (0, MigrationRunner_1.runPendingMigrations)(migrations);
70
+ sails.log.verbose('Data migrations complete.');
71
+ }
67
72
  await coreBootstrap();
68
73
  sails.log.verbose('Core bootstrap complete.');
69
74
  for (const hookBootstrap of hookBootstraps) {
@@ -80,4 +85,4 @@ function createGeneratedBootstrap(preLiftSetup, coreBootstrap, hookBootstraps) {
80
85
  });
81
86
  };
82
87
  }
83
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYm9vdHN0cmFwU2hpbVJ1bnRpbWUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvbG9hZGVyL2Jvb3RzdHJhcFNoaW1SdW50aW1lLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7O0FBOERBLDREQStCQztBQTdGRCwyQkFBb0M7QUFDcEMsZ0RBQXdCO0FBU3hCLFNBQVMsZUFBZSxDQUFDLEtBQWMsRUFBRSxPQUFPLElBQUksT0FBTyxFQUFVO0lBQ2pFLElBQUksS0FBSyxLQUFLLElBQUksSUFBSSxLQUFLLEtBQUssU0FBUyxFQUFFLENBQUM7UUFDeEMsT0FBTyxLQUFLLENBQUM7SUFDakIsQ0FBQztJQUNELElBQUksT0FBTyxLQUFLLEtBQUssVUFBVSxFQUFFLENBQUM7UUFDOUIsT0FBTyxjQUFjLEtBQUssQ0FBQyxJQUFJLElBQUksV0FBVyxHQUFHLENBQUM7SUFDdEQsQ0FBQztJQUNELElBQUksT0FBTyxLQUFLLEtBQUssUUFBUSxFQUFFLENBQUM7UUFDNUIsT0FBTyxLQUFLLENBQUM7SUFDakIsQ0FBQztJQUNELElBQUksSUFBSSxDQUFDLEdBQUcsQ0FBQyxLQUFlLENBQUMsRUFBRSxDQUFDO1FBQzVCLE9BQU8sWUFBWSxDQUFDO0lBQ3hCLENBQUM7SUFDRCxJQUFJLENBQUMsR0FBRyxDQUFDLEtBQWUsQ0FBQyxDQUFDO0lBQzFCLElBQUksS0FBSyxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDO1FBQ3ZCLE9BQU8sS0FBSyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLGVBQWUsQ0FBQyxJQUFJLEVBQUUsSUFBSSxDQUFDLENBQUMsQ0FBQztJQUMxRCxDQUFDO0lBRUQsTUFBTSxNQUFNLEdBQTRCLEVBQUUsQ0FBQztJQUMzQyxLQUFLLE1BQU0sQ0FBQyxHQUFHLEVBQUUsSUFBSSxDQUFDLElBQUksTUFBTSxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDO1FBQzlDLE1BQU0s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
88
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYm9vdHN0cmFwU2hpbVJ1bnRpbWUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvbG9hZGVyL2Jvb3RzdHJhcFNoaW1SdW50aW1lLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7O0FBZ0VBLDREQXFDQztBQXJHRCwyQkFBb0M7QUFDcEMsZ0RBQXdCO0FBQ3hCLHVEQUF5RDtBQVV6RCxTQUFTLGVBQWUsQ0FBQyxLQUFjLEVBQUUsT0FBTyxJQUFJLE9BQU8sRUFBVTtJQUNqRSxJQUFJLEtBQUssS0FBSyxJQUFJLElBQUksS0FBSyxLQUFLLFNBQVMsRUFBRSxDQUFDO1FBQ3hDLE9BQU8sS0FBSyxDQUFDO0lBQ2pCLENBQUM7SUFDRCxJQUFJLE9BQU8sS0FBSyxLQUFLLFVBQVUsRUFBRSxDQUFDO1FBQzlCLE9BQU8sY0FBYyxLQUFLLENBQUMsSUFBSSxJQUFJLFdBQVcsR0FBRyxDQUFDO0lBQ3RELENBQUM7SUFDRCxJQUFJLE9BQU8sS0FBSyxLQUFLLFFBQVEsRUFBRSxDQUFDO1FBQzVCLE9BQU8sS0FBSyxDQUFDO0lBQ2pCLENBQUM7SUFDRCxJQUFJLElBQUksQ0FBQyxHQUFHLENBQUMsS0FBZSxDQUFDLEVBQUUsQ0FBQztRQUM1QixPQUFPLFlBQVksQ0FBQztJQUN4QixDQUFDO0lBQ0QsSUFBSSxDQUFDLEdBQUcsQ0FBQyxLQUFlLENBQUMsQ0FBQztJQUMxQixJQUFJLEtBQUssQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQztRQUN2QixPQUFPLEtBQUssQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxlQUFlLENBQUMsSUFBSSxFQUFFLElBQUksQ0FBQyxDQUFDLENBQUM7SUFDMUQsQ0FBQztJQUVELE1BQU0sTUFBTSxHQUE0QixFQUFFLENBQUM7SUFDM0MsS0FBSyxNQUFNLENBQUMsR0FBRyxFQUFFLElBQUksQ0FBQyxJQUFJLE1BQU0sQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FB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
@@ -1,3 +1,4 @@
1
+ export type { RedboxMigration } from './MigrationRunner';
1
2
  export interface LoaderOptions {
2
3
  forceRegenerate?: boolean;
3
4
  verbose?: boolean;
@@ -6,6 +7,10 @@ export interface HookBootstrapRegistration {
6
7
  name: string;
7
8
  module: string;
8
9
  }
10
+ export interface HookMigrationRegistration {
11
+ name: string;
12
+ module: string;
13
+ }
9
14
  export interface HookApiRouteRegistration extends HookModuleRegistration {
10
15
  name: string;
11
16
  }
@@ -25,6 +30,7 @@ export interface HookRegistrations {
25
30
  hookModels: Record<string, HookModelRegistration>;
26
31
  hookPolicies: Record<string, HookPolicyRegistration>;
27
32
  hookBootstraps: HookBootstrapRegistration[];
33
+ hookMigrations: HookMigrationRegistration[];
28
34
  hookApiRoutes: HookApiRouteRegistration[];
29
35
  hookServices: Record<string, HookServiceRegistration>;
30
36
  hookControllers: Record<string, HookControllerRegistration>;
@@ -68,6 +74,7 @@ export interface GenerateAllShimsStats {
68
74
  configShimStats: GenerationStats;
69
75
  apiRouteHookStats: GenerationStats;
70
76
  bootstrapStats: BootstrapGenerationStats;
77
+ migrationStats: GenerationStats;
71
78
  }
72
79
  export interface GenerateAllShimsSkippedResult {
73
80
  skipped: true;
@@ -82,6 +89,8 @@ export interface GenerateAllShimsSuccessResult {
82
89
  export type GenerateAllShimsResult = GenerateAllShimsSkippedResult | GenerateAllShimsSuccessResult;
83
90
  export declare function writeFileIfChanged(filePath: string, content: string): Promise<boolean>;
84
91
  export declare function findAndRegisterHooks(appPath: string): Promise<HookRegistrations>;
92
+ export declare function discoverLocalMigrationFiles(appPath: string): Promise<string[]>;
93
+ export declare function generateMigrationConfigShim(configDir: string, appPath: string, hookMigrations: HookMigrationRegistration[]): Promise<GenerationStats>;
85
94
  export declare function generateApiRouteHookConfig(configDir: string, hookApiRoutes: HookApiRouteRegistration[]): Promise<GenerationStats>;
86
95
  export declare function generatePolicyShims(policiesDir: string, hookPolicies: Record<string, HookPolicyRegistration>): Promise<HookGenerationStats>;
87
96
  export declare function generateModelShims(modelsDir: string, hookModels: Record<string, HookModelRegistration>): Promise<HookGenerationStats>;
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/loader/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/loader/index.ts"],"names":[],"mappings":"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"}
@@ -5,6 +5,8 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
5
5
  Object.defineProperty(exports, "__esModule", { value: true });
6
6
  exports.writeFileIfChanged = writeFileIfChanged;
7
7
  exports.findAndRegisterHooks = findAndRegisterHooks;
8
+ exports.discoverLocalMigrationFiles = discoverLocalMigrationFiles;
9
+ exports.generateMigrationConfigShim = generateMigrationConfigShim;
8
10
  exports.generateApiRouteHookConfig = generateApiRouteHookConfig;
9
11
  exports.generatePolicyShims = generatePolicyShims;
10
12
  exports.generateModelShims = generateModelShims;
@@ -129,6 +131,7 @@ async function findAndRegisterHooks(appPath) {
129
131
  const hookModels = {};
130
132
  const hookPolicies = {};
131
133
  const hookBootstraps = [];
134
+ const hookMigrations = [];
132
135
  const hookApiRoutes = [];
133
136
  const hookServices = {};
134
137
  const hookControllers = {};
@@ -146,6 +149,7 @@ async function findAndRegisterHooks(appPath) {
146
149
  hookModels,
147
150
  hookPolicies,
148
151
  hookBootstraps,
152
+ hookMigrations,
149
153
  hookApiRoutes,
150
154
  hookServices,
151
155
  hookControllers,
@@ -209,6 +213,17 @@ async function findAndRegisterHooks(appPath) {
209
213
  log.warn(`Hook ${depName} has 'hasBootstrap: true' but no 'registerRedboxBootstrap' function`);
210
214
  }
211
215
  }
216
+ if (depPackageJson.sails?.hasMigrations === true) {
217
+ log.verbose(`Found hook with migrations: ${depName}`);
218
+ const hookModule = require(depModulePath);
219
+ if (typeof hookModule.registerRedboxMigrations === 'function') {
220
+ hookMigrations.push({ name: depName, module: depName });
221
+ log.verbose(`Registered migrations from ${depName}`);
222
+ }
223
+ else {
224
+ log.warn(`Hook ${depName} has 'hasMigrations: true' but no 'registerRedboxMigrations' function`);
225
+ }
226
+ }
212
227
  if (depPackageJson.sails?.hasApiRoutes === true) {
213
228
  log.verbose(`Found hook with api routes: ${depName}`);
214
229
  const hookModule = require(depModulePath);
@@ -276,6 +291,7 @@ async function findAndRegisterHooks(appPath) {
276
291
  hookModels,
277
292
  hookPolicies,
278
293
  hookBootstraps,
294
+ hookMigrations,
279
295
  hookApiRoutes,
280
296
  hookServices,
281
297
  hookControllers,
@@ -283,6 +299,84 @@ async function findAndRegisterHooks(appPath) {
283
299
  hookFormConfigs,
284
300
  };
285
301
  }
302
+ async function discoverLocalMigrationFiles(appPath) {
303
+ const migrationsDir = path_1.default.join(appPath, 'api', 'migrations');
304
+ try {
305
+ const entries = await fs_1.promises.readdir(migrationsDir, { withFileTypes: true });
306
+ return entries
307
+ .filter(entry => entry.isFile() && entry.name.endsWith('.js'))
308
+ .map(entry => entry.name)
309
+ .sort();
310
+ }
311
+ catch (error) {
312
+ const err = error;
313
+ if (err.code === 'ENOENT') {
314
+ return [];
315
+ }
316
+ throw error;
317
+ }
318
+ }
319
+ async function generateMigrationConfigShim(configDir, appPath, hookMigrations) {
320
+ const filePath = path_1.default.join(configDir, 'migrations.js');
321
+ const localMigrationFiles = await discoverLocalMigrationFiles(appPath);
322
+ const hookImports = hookMigrations
323
+ .map(hook => {
324
+ const varName = sanitizePackageNameForVar(hook.name, 'migrations');
325
+ return `const ${varName} = require('${hook.module}').registerRedboxMigrations();`;
326
+ })
327
+ .join('\n');
328
+ const localImports = localMigrationFiles
329
+ .map((fileName, index) => `const appMigration_${index} = require('../api/migrations/${fileName}');`)
330
+ .join('\n');
331
+ const migrationSourceEntries = [
332
+ ...hookMigrations.map(hook => ` { source: 'hook:${hook.name}', migrations: ${sanitizePackageNameForVar(hook.name, 'migrations')} },`),
333
+ ...localMigrationFiles.map((fileName, index) => ` { source: 'api/migrations/${fileName}', migrations: [appMigration_${index}] },`),
334
+ ].join('\n');
335
+ const content = [
336
+ `'use strict';`,
337
+ `/**`,
338
+ ` * Migration config shim`,
339
+ ` * Auto-generated by @researchdatabox/redbox-core loader`,
340
+ ` * Do not edit manually - regenerated when .regenerate-shims marker exists`,
341
+ ` */`,
342
+ hookImports,
343
+ localImports,
344
+ ``,
345
+ `const migrationSources = [`,
346
+ migrationSourceEntries,
347
+ `];`,
348
+ ``,
349
+ `const seenMigrationNames = new Map();`,
350
+ `const migrations = [];`,
351
+ `for (const { source, migrations: sourceMigrations } of migrationSources) {`,
352
+ ` if (!Array.isArray(sourceMigrations)) {`,
353
+ ` throw new Error('Invalid Redbox migration export from ' + source + '. Expected an array of migrations (registerRedboxMigrations() must be synchronous).');`,
354
+ ` }`,
355
+ ` for (const migration of sourceMigrations) {`,
356
+ ` if (!migration || typeof migration.name !== 'string' || typeof migration.up !== 'function') {`,
357
+ ` throw new Error('Invalid Redbox migration export from ' + source + '. Each migration must include name and up().');`,
358
+ ` }`,
359
+ ` if (seenMigrationNames.has(migration.name)) {`,
360
+ ` const message = 'Duplicate Redbox migration name: ' + migration.name + ' (from ' + source + ', first defined in ' + seenMigrationNames.get(migration.name) + ')';`,
361
+ ` if (process.env.NODE_ENV === 'production') {`,
362
+ ` throw new Error(message);`,
363
+ ` }`,
364
+ ` console.warn('[redbox-loader:warn]', message);`,
365
+ ` continue;`,
366
+ ` }`,
367
+ ` seenMigrationNames.set(migration.name, source);`,
368
+ ` migrations.push(migration);`,
369
+ ` }`,
370
+ `}`,
371
+ ``,
372
+ `migrations.sort((a, b) => (a.name < b.name ? -1 : a.name > b.name ? 1 : 0));`,
373
+ ``,
374
+ `module.exports.migrations = migrations;`,
375
+ ``,
376
+ ].join('\n');
377
+ const written = await writeFileIfChanged(filePath, content);
378
+ return { generated: written ? 1 : 0, total: 1 };
379
+ }
286
380
  async function generateApiRouteHookConfig(configDir, hookApiRoutes) {
287
381
  const filePath = path_1.default.join(configDir, 'apiRoutesHooks.js');
288
382
  const hookImports = hookApiRoutes
@@ -728,7 +822,7 @@ async function generateAllShims(appPath, options = {}) {
728
822
  log.info(`Starting shim generation (${reason})...`);
729
823
  try {
730
824
  const depScanStart = perf_hooks_1.performance.now();
731
- const { hookModels, hookPolicies, hookBootstraps, hookApiRoutes, hookServices, hookControllers, hookWebserviceControllers, hookFormConfigs, } = await findAndRegisterHooks(appPath);
825
+ const { hookModels, hookPolicies, hookBootstraps, hookMigrations, hookApiRoutes, hookServices, hookControllers, hookWebserviceControllers, hookFormConfigs, } = await findAndRegisterHooks(appPath);
732
826
  const { hookConfigs } = await findAndRegisterHookConfigs(appPath);
733
827
  log.verbose(`Dependency scanning took ${(perf_hooks_1.performance.now() - depScanStart).toFixed(2)}ms`);
734
828
  log.verbose(`Found ${hookConfigs.length} hooks with config`);
@@ -751,7 +845,7 @@ async function generateAllShims(appPath, options = {}) {
751
845
  fs_1.promises.mkdir(configDir, { recursive: true }),
752
846
  ]);
753
847
  const genStart = perf_hooks_1.performance.now();
754
- const [modelStats, policyStats, middlewareStats, responseStats, serviceStats, controllerStats, formConfigStats, configShimStats, apiRouteHookStats, bootstrapStats,] = await Promise.all([
848
+ const [modelStats, policyStats, middlewareStats, responseStats, serviceStats, controllerStats, formConfigStats, configShimStats, apiRouteHookStats, bootstrapStats, migrationStats,] = await Promise.all([
755
849
  generateModelShims(modelsDir, hookModels),
756
850
  generatePolicyShims(policiesDir, hookPolicies),
757
851
  generateMiddlewareShims(middlewareDir),
@@ -762,6 +856,7 @@ async function generateAllShims(appPath, options = {}) {
762
856
  generateConfigShims(configDir, hookConfigs),
763
857
  generateApiRouteHookConfig(configDir, hookApiRoutes),
764
858
  generateBootstrapShim(configDir, hookBootstraps),
859
+ generateMigrationConfigShim(configDir, appPath, hookMigrations),
765
860
  ]);
766
861
  log.verbose(`Shim generation took ${(perf_hooks_1.performance.now() - genStart).toFixed(2)}ms`);
767
862
  log.verbose(`Models: ${modelStats.generated}/${modelStats.total} written (${modelStats.fromHooks} from hooks)`);
@@ -774,6 +869,7 @@ async function generateAllShims(appPath, options = {}) {
774
869
  log.verbose(`Config Shims: ${configShimStats.generated}/${configShimStats.total} written`);
775
870
  log.verbose(`API route hooks: ${apiRouteHookStats.generated}/${apiRouteHookStats.total} written (${hookApiRoutes.length} hooks)`);
776
871
  log.verbose(`Bootstrap: ${bootstrapStats.generated}/${bootstrapStats.total} written (${bootstrapStats.hookCount} hook bootstraps)`);
872
+ log.verbose(`Migrations: ${migrationStats.generated}/${migrationStats.total} written (${hookMigrations.length} hooks)`);
777
873
  await generatePreLiftSnapshot(appPath, hookConfigs);
778
874
  if (deleteMarker) {
779
875
  const markerPath = path_1.default.join(appPath, '.regenerate-shims');
@@ -802,6 +898,7 @@ async function generateAllShims(appPath, options = {}) {
802
898
  configShimStats,
803
899
  apiRouteHookStats,
804
900
  bootstrapStats,
901
+ migrationStats,
805
902
  },
806
903
  totalTimeMs: Number.parseFloat(totalTime),
807
904
  };
@@ -811,4 +908,4 @@ async function generateAllShims(appPath, options = {}) {
811
908
  throw err;
812
909
  }
813
910
  }
814
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvbG9hZGVyL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7O0FBbU1BLGdEQVlDO0FBdUJELG9EQTZMQztBQUVELGdFQWtCQztBQUVELGtEQThDQztBQUVELGdEQTZDQztBQUVELDBEQWtCQztBQUVELHNEQWtCQztBQUVELG9EQTZDQztBQUVELDBEQTJFQztBQUVELDBEQW9FQztBQUVELGdFQXVEQztBQUVELGtEQStDQztBQTBCRCwwREFzQ0M7QUFFRCxzREF3QkM7QUFFRCxzREF5QkM7QUFFRCw0Q0EySEM7QUE1bENELDJCQUFvQztBQUNwQyw0Q0FBd0I7QUFDeEIsNERBQW9DO0FBQ3BDLGdEQUF3QjtBQUN4QiwyQ0FBeUM7QUFxSHpDLElBQUksY0FBNkMsQ0FBQztBQUNsRCxNQUFNLG1CQUFtQixHQUFHLElBQUksR0FBRyxFQUFrQixDQUFDO0FBQ3RELE1BQU0saUJBQWlCLEdBQUcsY0FBSSxDQUFDLE9BQU8sQ0FBQyxTQUFTLEVBQUUsSUFBSSxFQUFFLElBQUksRUFBRSx5QkFBeUIsQ0FBQyxDQUFDO0FBRXpGLE1BQU0sR0FBRyxHQUFHO0lBQ1IsSUFBSSxFQUFFLENBQUMsR0FBRyxJQUFlLEVBQUUsRUFBRSxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsaUJBQWlCLEVBQUUsR0FBRyxJQUFJLENBQUM7SUFDckUsT0FBTyxFQUFFLENBQUMsR0FBRyxJQUFlLEVBQUUsRUFBRTtRQUM1QixJQUFJLE9BQU8sQ0FBQyxHQUFHLENBQUMsWUFBWSxLQUFLLE1BQU0sRUFBRSxDQUFDO1lBQ3RDLE9BQU8sQ0FBQyxHQUFHLENBQUMseUJBQXlCLEVBQUUsR0FBRyxJQUFJLENBQUMsQ0FBQztRQUNwRCxDQUFDO0lBQ0wsQ0FBQztJQUNELElBQUksRUFBRSxDQUFDLEdBQUcsSUFBZSxFQUFFLEVBQUUsQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLHNCQUFzQixFQUFFLEdB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
911
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvbG9hZGVyL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7O0FBNk1BLGdEQVlDO0FBdUJELG9EQThNQztBQUVELGtFQWVDO0FBRUQsa0VBeUVDO0FBRUQsZ0VBa0JDO0FBRUQsa0RBOENDO0FBRUQsZ0RBNkNDO0FBRUQsMERBa0JDO0FBRUQsc0RBa0JDO0FBRUQsb0RBNkNDO0FBRUQsMERBMkVDO0FBRUQsMERBb0VDO0FBRUQsZ0VBdURDO0FBRUQsa0RBK0NDO0FBMEJELDBEQXNDQztBQUVELHNEQXdCQztBQUVELHNEQXlCQztBQUVELDRDQWdJQztBQXh0Q0QsMkJBQW9DO0FBQ3BDLDRDQUF3QjtBQUN4Qiw0REFBb0M7QUFDcEMsZ0RBQXdCO0FBQ3hCLDJDQUF5QztBQStIekMsSUFBSSxjQUE2QyxDQUFDO0FBQ2xELE1BQU0sbUJBQW1CLEdBQUcsSUFBSSxHQUFHLEVBQWtCLENBQUM7QUFDdEQsTUFBTSxpQkFBaUIsR0FBRyxjQUFJLENBQUMsT0FBTyxDQUFDLFNBQVMsRUFBRSxJQUFJLEVBQUUsSUFBSSxFQUFFLHlCQUF5QixDQUFDLENBQUM7QUFFekYsTUFBTSxHQUFHLEdBQUc7SUFDUixJQUFJLEVBQUUsQ0FBQyxHQUFHLElBQWUsRUFBRSxFQUFFLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxpQkFBaUIsRUFBRSxHQUFHLElBQUksQ0FBQztJQUNyRSxPQUFPLEVBQUUsQ0FBQyxHQUFHLElBQWUsRUFBRSxFQUFFO1FBQzVCLElBQUksT0FBTyxDQUFDLEdBQUcsQ0FBQyxZQUFZLEtBQUssTUFBTSxFQUFFLENBQUM7WUFDdEMsT0FBTyxDQUFDLEdBQUcsQ0FBQyx5QkFBeUIsRUFBRSxHQUFHLElBQUksQ0FBQyxDQUFDO1FBQ3BELENBQUM7SUFDTCxDQUFDO0lBQ0QsSUFBSSxFQUFFLENBQUMsR0FBRyxJQUFlLEVBQUUsRUFBRSxDQUFDLE9BQU8sQ0FBQyxJ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
@@ -87,9 +87,9 @@ export declare class TemplateFormConfigVisitor extends FormConfigVisitor {
87
87
  visitTabContentFieldComponentDefinition(item: TabContentFieldComponentDefinitionOutline): Promise<void>;
88
88
  visitTabContentFieldLayoutDefinition(_item: TabContentFieldLayoutDefinitionOutline): Promise<void>;
89
89
  visitTabContentFormComponentDefinition(item: TabContentFormComponentDefinitionOutline): Promise<void>;
90
- visitSaveButtonFieldComponentDefinition(_item: SaveButtonFieldComponentDefinitionOutline): Promise<void>;
90
+ visitSaveButtonFieldComponentDefinition(item: SaveButtonFieldComponentDefinitionOutline): Promise<void>;
91
91
  visitSaveButtonFormComponentDefinition(item: SaveButtonFormComponentDefinitionOutline): Promise<void>;
92
- visitCancelButtonFieldComponentDefinition(_item: CancelButtonFieldComponentDefinitionOutline): Promise<void>;
92
+ visitCancelButtonFieldComponentDefinition(item: CancelButtonFieldComponentDefinitionOutline): Promise<void>;
93
93
  visitCancelButtonFormComponentDefinition(item: CancelButtonFormComponentDefinitionOutline): Promise<void>;
94
94
  visitDeleteButtonFieldComponentDefinition(item: DeleteButtonFieldComponentDefinitionOutline): Promise<void>;
95
95
  visitDeleteButtonFormComponentDefinition(item: DeleteButtonFormComponentDefinitionOutline): Promise<void>;
@@ -1 +1 @@
1
- {"version":3,"file":"template.visitor.d.ts","sourceRoot":"","sources":["../../src/visitor/template.visitor.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"template.visitor.d.ts","sourceRoot":"","sources":["../../src/visitor/template.visitor.ts"],"names":[],"mappings":"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"}
@@ -143,15 +143,34 @@ class TemplateFormConfigVisitor extends sails_ng_common_1.FormConfigVisitor {
143
143
  await this.acceptFormComponentDefinition(item);
144
144
  }
145
145
  /* Save Button */
146
- async visitSaveButtonFieldComponentDefinition(_item) { }
146
+ async visitSaveButtonFieldComponentDefinition(item) {
147
+ const redirectLocation = (item.config?.redirectLocation ?? '').trim();
148
+ if (redirectLocation) {
149
+ this.templates?.push({
150
+ key: [...(this.formPathHelper.formPath.formConfig ?? []), 'config', 'redirectLocation'],
151
+ value: redirectLocation,
152
+ kind: 'handlebars',
153
+ });
154
+ }
155
+ }
147
156
  async visitSaveButtonFormComponentDefinition(item) {
148
157
  await this.acceptFormComponentDefinition(item);
149
158
  }
150
159
  /* Cancel Button */
151
- async visitCancelButtonFieldComponentDefinition(_item) { }
160
+ async visitCancelButtonFieldComponentDefinition(item) {
161
+ const redirectLocation = (item.config?.redirectLocation ?? '').trim();
162
+ if (redirectLocation) {
163
+ this.templates?.push({
164
+ key: [...(this.formPathHelper.formPath.formConfig ?? []), 'config', 'redirectLocation'],
165
+ value: redirectLocation,
166
+ kind: 'handlebars',
167
+ });
168
+ }
169
+ }
152
170
  async visitCancelButtonFormComponentDefinition(item) {
153
171
  await this.acceptFormComponentDefinition(item);
154
172
  }
173
+ /* Delete Button */
155
174
  async visitDeleteButtonFieldComponentDefinition(item) {
156
175
  const redirectLocation = (item.config?.redirectLocation ?? '').trim();
157
176
  if (redirectLocation) {
@@ -459,4 +478,4 @@ class TemplateFormConfigVisitor extends sails_ng_common_1.FormConfigVisitor {
459
478
  }
460
479
  }
461
480
  exports.TemplateFormConfigVisitor = TemplateFormConfigVisitor;
462
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGVtcGxhdGUudmlzaXRvci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy92aXNpdG9yL3RlbXBsYXRlLnZpc2l0b3IudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQUEsc0VBQTBGO0FBMkoxRixzRUFBa0U7QUFHbEU7Ozs7OztHQU1HO0FBQ0gsTUFBYSx5QkFBMEIsU0FBUSxtQ0FBaUI7SUFDM0MsT0FBTyxHQUFHLDJCQUEyQixDQUFDO0lBRWpELGNBQWMsQ0FBaUI7SUFFL0IsU0FBUyxDQUF5QjtJQUUxQyxZQUFZLE1BQWU7UUFDekIsS0FBSyxDQUFDLE1BQU0sQ0FBQyxDQUFDO1FBQ2QsSUFBSSxDQUFDLGNBQWMsR0FBRyxJQUFJLGdDQUFjLENBQUMsTUFBTSxFQUFFLElBQUksQ0FBQyxDQUFDO1FBQ3ZELElBQUksQ0FBQyxTQUFTLEdBQUcsRUFBRSxDQUFDO0lBQ3RCLENBQUM7SUFFRDs7OztPQUlHO0lBQ0gsS0FBSyxDQUFDLEtBQUssQ0FBQyxPQUFvQztRQUM5QyxJQUFJLENBQUMsY0FBYyxDQUFDLEtBQUssRUFBRSxDQUFDO1FBQzVCLElBQUksQ0FBQyxTQUFTLEdBQUcsRUFBRSxDQUFDO1FBRXBCLE1BQU0sT0FBTyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDaEMsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDO0lBQ3hCLENBQUM7SUFFRCxLQUFLLENBQUMsZUFBZSxDQUFDLElBQXVCO1FBQzNDLE1BQU0sSUFBSSxDQUFDLGtCQUFrQixDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsQ0FBQztRQUNoRCxNQUFNLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLENBQUM7UUFDOUMsTUFBTSxJQUFJLENBQUMsaUJBQWlCLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxDQUFDO1FBQzlDLEtBQUssTUFBTSxDQUFDLEtBQUssRUFBRSxtQkFBbUIsQ0FBQyxJQUFJ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
481
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGVtcGxhdGUudmlzaXRvci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy92aXNpdG9yL3RlbXBsYXRlLnZpc2l0b3IudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQUEsc0VBQTBGO0FBMkoxRixzRUFBa0U7QUFHbEU7Ozs7OztHQU1HO0FBQ0gsTUFBYSx5QkFBMEIsU0FBUSxtQ0FBaUI7SUFDM0MsT0FBTyxHQUFHLDJCQUEyQixDQUFDO0lBRWpELGNBQWMsQ0FBaUI7SUFFL0IsU0FBUyxDQUF5QjtJQUUxQyxZQUFZLE1BQWU7UUFDekIsS0FBSyxDQUFDLE1BQU0sQ0FBQyxDQUFDO1FBQ2QsSUFBSSxDQUFDLGNBQWMsR0FBRyxJQUFJLGdDQUFjLENBQUMsTUFBTSxFQUFFLElBQUksQ0FBQyxDQUFDO1FBQ3ZELElBQUksQ0FBQyxTQUFTLEdBQUcsRUFBRSxDQUFDO0lBQ3RCLENBQUM7SUFFRDs7OztPQUlHO0lBQ0gsS0FBSyxDQUFDLEtBQUssQ0FBQyxPQUFvQztRQUM5QyxJQUFJLENBQUMsY0FBYyxDQUFDLEtBQUssRUFBRSxDQUFDO1FBQzVCLElBQUksQ0FBQyxTQUFTLEdBQUcsRUFBRSxDQUFDO1FBRXBCLE1BQU0sT0FBTyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDaEMsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDO0lBQ3hCLENBQUM7SUFFRCxLQUFLLENBQUMsZUFBZSxDQUFDLElBQXVCO1FBQzNDLE1BQU0sSUFBSSxDQUFDLGtCQUFrQixDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsQ0FBQztRQUNoRCxNQUFNLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLENBQUM7UUFDOUMsTUFBTSxJQUFJLENBQUMsaUJBQWlCLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxDQUFDO1FBQzlDLEtBQUssTUFBTSxDQUFDLEtBQUssRUFBRSxtQkFBbUIsQ0FBQyxJQUFJ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
@@ -0,0 +1,24 @@
1
+ export declare class MigrationClass {
2
+ name: string;
3
+ source?: string;
4
+ appVersion?: string;
5
+ ranAt: number;
6
+ durationMs?: number;
7
+ executedBy?: string;
8
+ }
9
+ export declare const MigrationWLDef: import("../decorators").WaterlineModelDefinition;
10
+ export interface MigrationAttributes extends Sails.WaterlineAttributes {
11
+ name: string;
12
+ source?: string;
13
+ appVersion?: string;
14
+ ranAt: number;
15
+ durationMs?: number;
16
+ executedBy?: string;
17
+ }
18
+ export interface MigrationWaterlineModel extends Sails.Model<MigrationAttributes> {
19
+ attributes: MigrationAttributes;
20
+ }
21
+ declare global {
22
+ const Migration: MigrationWaterlineModel;
23
+ }
24
+ //# sourceMappingURL=Migration.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Migration.d.ts","sourceRoot":"","sources":["../../src/waterline-models/Migration.ts"],"names":[],"mappings":"AAGA,qBACa,cAAc;IAElB,IAAI,EAAG,MAAM,CAAC;IAGd,MAAM,CAAC,EAAE,MAAM,CAAC;IAGhB,UAAU,CAAC,EAAE,MAAM,CAAC;IAGpB,KAAK,EAAG,MAAM,CAAC;IAGf,UAAU,CAAC,EAAE,MAAM,CAAC;IAGpB,UAAU,CAAC,EAAE,MAAM,CAAC;CAC5B;AAED,eAAO,MAAM,cAAc,kDAAsC,CAAC;AAElE,MAAM,WAAW,mBAAoB,SAAQ,KAAK,CAAC,mBAAmB;IACpE,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,KAAK,EAAE,MAAM,CAAC;IACd,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAED,MAAM,WAAW,uBAAwB,SAAQ,KAAK,CAAC,KAAK,CAAC,mBAAmB,CAAC;IAC/E,UAAU,EAAE,mBAAmB,CAAC;CACjC;AAED,OAAO,CAAC,MAAM,CAAC;IACb,MAAM,SAAS,EAAE,uBAAuB,CAAC;CAC1C"}
@@ -0,0 +1,52 @@
1
+ "use strict";
2
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
3
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
4
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
5
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
6
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
7
+ };
8
+ var __metadata = (this && this.__metadata) || function (k, v) {
9
+ if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
10
+ };
11
+ Object.defineProperty(exports, "__esModule", { value: true });
12
+ exports.MigrationWLDef = exports.MigrationClass = void 0;
13
+ /// <reference path="../sails.ts" />
14
+ const decorators_1 = require("../decorators");
15
+ let MigrationClass = class MigrationClass {
16
+ name;
17
+ source;
18
+ appVersion;
19
+ ranAt;
20
+ durationMs;
21
+ executedBy;
22
+ };
23
+ exports.MigrationClass = MigrationClass;
24
+ __decorate([
25
+ (0, decorators_1.Attr)({ type: 'string', required: true, unique: true }),
26
+ __metadata("design:type", String)
27
+ ], MigrationClass.prototype, "name", void 0);
28
+ __decorate([
29
+ (0, decorators_1.Attr)({ type: 'string' }),
30
+ __metadata("design:type", String)
31
+ ], MigrationClass.prototype, "source", void 0);
32
+ __decorate([
33
+ (0, decorators_1.Attr)({ type: 'string' }),
34
+ __metadata("design:type", String)
35
+ ], MigrationClass.prototype, "appVersion", void 0);
36
+ __decorate([
37
+ (0, decorators_1.Attr)({ type: 'number', required: true }),
38
+ __metadata("design:type", Number)
39
+ ], MigrationClass.prototype, "ranAt", void 0);
40
+ __decorate([
41
+ (0, decorators_1.Attr)({ type: 'number' }),
42
+ __metadata("design:type", Number)
43
+ ], MigrationClass.prototype, "durationMs", void 0);
44
+ __decorate([
45
+ (0, decorators_1.Attr)({ type: 'string' }),
46
+ __metadata("design:type", String)
47
+ ], MigrationClass.prototype, "executedBy", void 0);
48
+ exports.MigrationClass = MigrationClass = __decorate([
49
+ (0, decorators_1.Entity)('migration')
50
+ ], MigrationClass);
51
+ exports.MigrationWLDef = (0, decorators_1.toWaterlineModelDef)(MigrationClass);
52
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiTWlncmF0aW9uLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL3dhdGVybGluZS1tb2RlbHMvTWlncmF0aW9uLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7OztBQUFBLG9DQUFvQztBQUNwQyw4Q0FBa0U7QUFHM0QsSUFBTSxjQUFjLEdBQXBCLE1BQU0sY0FBYztJQUVsQixJQUFJLENBQVU7SUFHZCxNQUFNLENBQVU7SUFHaEIsVUFBVSxDQUFVO0lBR3BCLEtBQUssQ0FBVTtJQUdmLFVBQVUsQ0FBVTtJQUdwQixVQUFVLENBQVU7Q0FDNUIsQ0FBQTtBQWxCWSx3Q0FBYztBQUVsQjtJQUROLElBQUEsaUJBQUksRUFBQyxFQUFFLElBQUksRUFBRSxRQUFRLEVBQUUsUUFBUSxFQUFFLElBQUksRUFBRSxNQUFNLEVBQUUsSUFBSSxFQUFFLENBQUM7OzRDQUNsQztBQUdkO0lBRE4sSUFBQSxpQkFBSSxFQUFDLEVBQUUsSUFBSSxFQUFFLFFBQVEsRUFBRSxDQUFDOzs4Q0FDRjtBQUdoQjtJQUROLElBQUEsaUJBQUksRUFBQyxFQUFFLElBQUksRUFBRSxRQUFRLEVBQUUsQ0FBQzs7a0RBQ0U7QUFHcEI7SUFETixJQUFBLGlCQUFJLEVBQUMsRUFBRSxJQUFJLEVBQUUsUUFBUSxFQUFFLFFBQVEsRUFBRSxJQUFJLEVBQUUsQ0FBQzs7NkNBQ25CO0FBR2Y7SUFETixJQUFBLGlCQUFJLEVBQUMsRUFBRSxJQUFJLEVBQUUsUUFBUSxFQUFFLENBQUM7O2tEQUNFO0FBR3BCO0lBRE4sSUFBQSxpQkFBSSxFQUFDLEVBQUUsSUFBSSxFQUFFLFFBQVEsRUFBRSxDQUFDOztrREFDRTt5QkFqQmhCLGNBQWM7SUFEMUIsSUFBQSxtQkFBTSxFQUFDLFdBQVcsQ0FBQztHQUNQLGNBQWMsQ0FrQjFCO0FBRVksUUFBQSxjQUFjLEdBQUcsSUFBQSxnQ0FBbUIsRUFBQyxjQUFjLENBQUMsQ0FBQyJ9
@@ -13,6 +13,7 @@ export * from './HarvestRun';
13
13
  export * from './HarvestRunChunk';
14
14
  export * from './I18nBundle';
15
15
  export * from './I18nTranslation';
16
+ export * from './Migration';
16
17
  export * from './NamedQuery';
17
18
  export * from './PathRule';
18
19
  export * from './RecordType';
@@ -44,6 +45,7 @@ export declare const WaterlineModels: {
44
45
  HarvestRunChunk: import("..").WaterlineModelDefinition;
45
46
  I18nBundle: import("..").WaterlineModelDefinition;
46
47
  I18nTranslation: import("..").WaterlineModelDefinition;
48
+ Migration: import("..").WaterlineModelDefinition;
47
49
  NamedQuery: import("..").WaterlineModelDefinition;
48
50
  PathRule: import("..").WaterlineModelDefinition;
49
51
  RecordType: import("..").WaterlineModelDefinition;
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/waterline-models/index.ts"],"names":[],"mappings":"AAAA,cAAc,yBAAyB,CAAC;AACxC,cAAc,sBAAsB,CAAC;AACrC,cAAc,aAAa,CAAC;AAC5B,cAAc,kBAAkB,CAAC;AACjC,cAAc,kBAAkB,CAAC;AACjC,cAAc,yBAAyB,CAAC;AACxC,cAAc,cAAc,CAAC;AAC7B,cAAc,WAAW,CAAC;AAC1B,cAAc,iBAAiB,CAAC;AAChC,cAAc,QAAQ,CAAC;AACvB,cAAc,sBAAsB,CAAC;AACrC,cAAc,cAAc,CAAC;AAC7B,cAAc,mBAAmB,CAAC;AAClC,cAAc,cAAc,CAAC;AAC7B,cAAc,mBAAmB,CAAC;AAClC,cAAc,cAAc,CAAC;AAC7B,cAAc,YAAY,CAAC;AAC3B,cAAc,cAAc,CAAC;AAC7B,cAAc,YAAY,CAAC;AAC3B,cAAc,QAAQ,CAAC;AACvB,cAAc,eAAe,CAAC;AAC9B,cAAc,QAAQ,CAAC;AACvB,cAAc,YAAY,CAAC;AAC3B,cAAc,aAAa,CAAC;AAC5B,cAAc,cAAc,CAAC;AAC7B,cAAc,mBAAmB,CAAC;AAClC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,kBAAkB,CAAC;AACjC,cAAc,iBAAiB,CAAC;AAqChC,eAAO,MAAM,eAAe;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA+B3B,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/waterline-models/index.ts"],"names":[],"mappings":"AAAA,cAAc,yBAAyB,CAAC;AACxC,cAAc,sBAAsB,CAAC;AACrC,cAAc,aAAa,CAAC;AAC5B,cAAc,kBAAkB,CAAC;AACjC,cAAc,kBAAkB,CAAC;AACjC,cAAc,yBAAyB,CAAC;AACxC,cAAc,cAAc,CAAC;AAC7B,cAAc,WAAW,CAAC;AAC1B,cAAc,iBAAiB,CAAC;AAChC,cAAc,QAAQ,CAAC;AACvB,cAAc,sBAAsB,CAAC;AACrC,cAAc,cAAc,CAAC;AAC7B,cAAc,mBAAmB,CAAC;AAClC,cAAc,cAAc,CAAC;AAC7B,cAAc,mBAAmB,CAAC;AAClC,cAAc,aAAa,CAAC;AAC5B,cAAc,cAAc,CAAC;AAC7B,cAAc,YAAY,CAAC;AAC3B,cAAc,cAAc,CAAC;AAC7B,cAAc,YAAY,CAAC;AAC3B,cAAc,QAAQ,CAAC;AACvB,cAAc,eAAe,CAAC;AAC9B,cAAc,QAAQ,CAAC;AACvB,cAAc,YAAY,CAAC;AAC3B,cAAc,aAAa,CAAC;AAC5B,cAAc,cAAc,CAAC;AAC7B,cAAc,mBAAmB,CAAC;AAClC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,kBAAkB,CAAC;AACjC,cAAc,iBAAiB,CAAC;AAsChC,eAAO,MAAM,eAAe;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAgC3B,CAAC"}
@@ -30,6 +30,7 @@ __exportStar(require("./HarvestRun"), exports);
30
30
  __exportStar(require("./HarvestRunChunk"), exports);
31
31
  __exportStar(require("./I18nBundle"), exports);
32
32
  __exportStar(require("./I18nTranslation"), exports);
33
+ __exportStar(require("./Migration"), exports);
33
34
  __exportStar(require("./NamedQuery"), exports);
34
35
  __exportStar(require("./PathRule"), exports);
35
36
  __exportStar(require("./RecordType"), exports);
@@ -61,6 +62,7 @@ const HarvestRun_1 = require("./HarvestRun");
61
62
  const HarvestRunChunk_1 = require("./HarvestRunChunk");
62
63
  const I18nBundle_1 = require("./I18nBundle");
63
64
  const I18nTranslation_1 = require("./I18nTranslation");
65
+ const Migration_1 = require("./Migration");
64
66
  const NamedQuery_1 = require("./NamedQuery");
65
67
  const PathRule_1 = require("./PathRule");
66
68
  const RecordType_1 = require("./RecordType");
@@ -95,6 +97,7 @@ exports.WaterlineModels = {
95
97
  HarvestRunChunk: HarvestRunChunk_1.HarvestRunChunkWLDef,
96
98
  I18nBundle: I18nBundle_1.I18nBundleWLDef,
97
99
  I18nTranslation: I18nTranslation_1.I18nTranslationWLDef,
100
+ Migration: Migration_1.MigrationWLDef,
98
101
  NamedQuery: NamedQuery_1.NamedQueryWLDef,
99
102
  PathRule: PathRule_1.PathRuleWLDef,
100
103
  RecordType: RecordType_1.RecordTypeWLDef,
@@ -111,4 +114,4 @@ exports.WaterlineModels = {
111
114
  WorkspaceAsync: WorkspaceAsync_1.WorkspaceAsyncWLDef,
112
115
  WorkspaceType: WorkspaceType_1.WorkspaceTypeWLDef,
113
116
  };
114
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvd2F0ZXJsaW5lLW1vZGVscy9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7OztBQUFBLDBEQUF3QztBQUN4Qyx1REFBcUM7QUFDckMsOENBQTRCO0FBQzVCLG1EQUFpQztBQUNqQyxtREFBaUM7QUFDakMsMERBQXdDO0FBQ3hDLCtDQUE2QjtBQUM3Qiw0Q0FBMEI7QUFDMUIsa0RBQWdDO0FBQ2hDLHlDQUF1QjtBQUN2Qix1REFBcUM7QUFDckMsK0NBQTZCO0FBQzdCLG9EQUFrQztBQUNsQywrQ0FBNkI7QUFDN0Isb0RBQWtDO0FBQ2xDLCtDQUE2QjtBQUM3Qiw2Q0FBMkI7QUFDM0IsK0NBQTZCO0FBQzdCLDZDQUEyQjtBQUMzQix5Q0FBdUI7QUFDdkIsZ0RBQThCO0FBQzlCLHlDQUF1QjtBQUN2Qiw2Q0FBMkI7QUFDM0IsOENBQTRCO0FBQzVCLCtDQUE2QjtBQUM3QixvREFBa0M7QUFDbEMsaURBQStCO0FBQy9CLGlEQUErQjtBQUMvQixtREFBaUM7QUFDakMsa0RBQWdDO0FBRWhDLHdEQUF3RDtBQUN4RCxtRUFBcUU7QUFDckUsNkRBQStEO0FBQy9ELDJDQUE2QztBQUM3QyxxREFBdUQ7QUFDdkQscURBQXVEO0FBQ3ZELG1FQUFxRTtBQUNyRSw2Q0FBK0M7QUFDL0MsdUNBQXlDO0FBQ3pDLG1EQUFxRDtBQUNyRCxpQ0FBbUM7QUFDbkMsNkRBQStEO0FBQy9ELDZDQUErQztBQUMvQyx1REFBeUQ7QUFDekQsNkNBQStDO0FBQy9DLHVEQUF5RDtBQUN6RCw2Q0FBK0M7QUFDL0MseUNBQTJDO0FBQzNDLDZDQUErQztBQUMvQyx5Q0FBeUM7QUFDekMsaUNBQW1DO0FBQ25DLCtDQUFpRDtBQUNqRCxpQ0FBbUM7QUFDbkMseUNBQTJDO0FBQzNDLDJDQUE2QztBQUM3Qyw2Q0FBK0M7QUFDL0MsdURBQXlEO0FBQ3pELGlEQUFtRDtBQUNuRCxpREFBbUQ7QUFDbkQscURBQXVEO0FBQ3ZELG1EQUFxRDtBQUVyRCxnREFBZ0Q7QUFDaEQseUVBQXlFO0FBQ3pFLGtFQUFrRTtBQUNyRCxRQUFBLGVBQWUsR0FBRztJQUM3QixxQkFBcUIsRUFBRSxrREFBMEI7SUFDakQsa0JBQWtCLEVBQUUsNENBQXVCO0lBQzNDLFNBQVMsRUFBRSwwQkFBYztJQUN6QixjQUFjLEVBQUUsb0NBQW1CO0lBQ25DLGNBQWMsRUFBRSxvQ0FBbUI7SUFDbkMscUJBQXFCLEVBQUUsa0RBQTBCO0lBQ2pELFVBQVUsRUFBRSw0QkFBZTtJQUMzQixPQUFPLEVBQUUsc0JBQVk7SUFDckIsYUFBYSxFQUFFLGtDQUFrQjtJQUNqQyxJQUFJLEVBQUUsZ0JBQVM7SUFDZixrQkFBa0IsRUFBRSw0Q0FBdUI7SUFDM0MsVUFBVSxFQUFFLDRCQUFlO0lBQzNCLGVBQWUsRUFBRSxzQ0FBb0I7SUFDckMsVUFBVSxFQUFFLDRCQUFlO0lBQzNCLGVBQWUsRUFBRSxzQ0FBb0I7SUFDckMsVUFBVSxFQUFFLDRCQUFlO0lBQzNCLFFBQVEsRUFBRSx3QkFBYTtJQUN2QixVQUFVLEVBQUUsNEJBQWU7SUFDM0IsUUFBUSxFQUFFLHNCQUFXO0lBQ3JCLElBQUksRUFBRSxnQkFBUztJQUNmLFdBQVcsRUFBRSw4QkFBZ0I7SUFDN0IsSUFBSSxFQUFFLGdCQUFTO0lBQ2YsUUFBUSxFQUFFLHdCQUFhO0lBQ3ZCLFNBQVMsRUFBRSwwQkFBYztJQUN6QixVQUFVLEVBQUUsNEJBQWU7SUFDM0IsZUFBZSxFQUFFLHNDQUFvQjtJQUNyQyxZQUFZLEVBQUUsZ0NBQWlCO0lBQy9CLFlBQVksRUFBRSxnQ0FBaUI7SUFDL0IsY0FBYyxFQUFFLG9DQUFtQjtJQUNuQyxhQUFhLEVBQUUsa0NBQWtCO0NBQ2xDLENBQUMifQ==
117
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvd2F0ZXJsaW5lLW1vZGVscy9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7OztBQUFBLDBEQUF3QztBQUN4Qyx1REFBcUM7QUFDckMsOENBQTRCO0FBQzVCLG1EQUFpQztBQUNqQyxtREFBaUM7QUFDakMsMERBQXdDO0FBQ3hDLCtDQUE2QjtBQUM3Qiw0Q0FBMEI7QUFDMUIsa0RBQWdDO0FBQ2hDLHlDQUF1QjtBQUN2Qix1REFBcUM7QUFDckMsK0NBQTZCO0FBQzdCLG9EQUFrQztBQUNsQywrQ0FBNkI7QUFDN0Isb0RBQWtDO0FBQ2xDLDhDQUE0QjtBQUM1QiwrQ0FBNkI7QUFDN0IsNkNBQTJCO0FBQzNCLCtDQUE2QjtBQUM3Qiw2Q0FBMkI7QUFDM0IseUNBQXVCO0FBQ3ZCLGdEQUE4QjtBQUM5Qix5Q0FBdUI7QUFDdkIsNkNBQTJCO0FBQzNCLDhDQUE0QjtBQUM1QiwrQ0FBNkI7QUFDN0Isb0RBQWtDO0FBQ2xDLGlEQUErQjtBQUMvQixpREFBK0I7QUFDL0IsbURBQWlDO0FBQ2pDLGtEQUFnQztBQUVoQyx3REFBd0Q7QUFDeEQsbUVBQXFFO0FBQ3JFLDZEQUErRDtBQUMvRCwyQ0FBNkM7QUFDN0MscURBQXVEO0FBQ3ZELHFEQUF1RDtBQUN2RCxtRUFBcUU7QUFDckUsNkNBQStDO0FBQy9DLHVDQUF5QztBQUN6QyxtREFBcUQ7QUFDckQsaUNBQW1DO0FBQ25DLDZEQUErRDtBQUMvRCw2Q0FBK0M7QUFDL0MsdURBQXlEO0FBQ3pELDZDQUErQztBQUMvQyx1REFBeUQ7QUFDekQsMkNBQTZDO0FBQzdDLDZDQUErQztBQUMvQyx5Q0FBMkM7QUFDM0MsNkNBQStDO0FBQy9DLHlDQUF5QztBQUN6QyxpQ0FBbUM7QUFDbkMsK0NBQWlEO0FBQ2pELGlDQUFtQztBQUNuQyx5Q0FBMkM7QUFDM0MsMkNBQTZDO0FBQzdDLDZDQUErQztBQUMvQyx1REFBeUQ7QUFDekQsaURBQW1EO0FBQ25ELGlEQUFtRDtBQUNuRCxxREFBdUQ7QUFDdkQsbURBQXFEO0FBRXJELGdEQUFnRDtBQUNoRCx5RUFBeUU7QUFDekUsa0VBQWtFO0FBQ3JELFFBQUEsZUFBZSxHQUFHO0lBQzdCLHFCQUFxQixFQUFFLGtEQUEwQjtJQUNqRCxrQkFBa0IsRUFBRSw0Q0FBdUI7SUFDM0MsU0FBUyxFQUFFLDBCQUFjO0lBQ3pCLGNBQWMsRUFBRSxvQ0FBbUI7SUFDbkMsY0FBYyxFQUFFLG9DQUFtQjtJQUNuQyxxQkFBcUIsRUFBRSxrREFBMEI7SUFDakQsVUFBVSxFQUFFLDRCQUFlO0lBQzNCLE9BQU8sRUFBRSxzQkFBWTtJQUNyQixhQUFhLEVBQUUsa0NBQWtCO0lBQ2pDLElBQUksRUFBRSxnQkFBUztJQUNmLGtCQUFrQixFQUFFLDRDQUF1QjtJQUMzQyxVQUFVLEVBQUUsNEJBQWU7SUFDM0IsZUFBZSxFQUFFLHNDQUFvQjtJQUNyQyxVQUFVLEVBQUUsNEJBQWU7SUFDM0IsZUFBZSxFQUFFLHNDQUFvQjtJQUNyQyxTQUFTLEVBQUUsMEJBQWM7SUFDekIsVUFBVSxFQUFFLDRCQUFlO0lBQzNCLFFBQVEsRUFBRSx3QkFBYTtJQUN2QixVQUFVLEVBQUUsNEJBQWU7SUFDM0IsUUFBUSxFQUFFLHNCQUFXO0lBQ3JCLElBQUksRUFBRSxnQkFBUztJQUNmLFdBQVcsRUFBRSw4QkFBZ0I7SUFDN0IsSUFBSSxFQUFFLGdCQUFTO0lBQ2YsUUFBUSxFQUFFLHdCQUFhO0lBQ3ZCLFNBQVMsRUFBRSwwQkFBYztJQUN6QixVQUFVLEVBQUUsNEJBQWU7SUFDM0IsZUFBZSxFQUFFLHNDQUFvQjtJQUNyQyxZQUFZLEVBQUUsZ0NBQWlCO0lBQy9CLFlBQVksRUFBRSxnQ0FBaUI7SUFDL0IsY0FBYyxFQUFFLG9DQUFtQjtJQUNuQyxhQUFhLEVBQUUsa0NBQWtCO0NBQ2xDLENBQUMifQ==
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@researchdatabox/redbox-core-types",
3
- "version": "0.0.1-beta.9873",
3
+ "version": "0.0.1-beta.9909",
4
4
  "description": "",
5
5
  "main": "dist/index.js",
6
6
  "types": "dist/index.d.ts",
@@ -25,12 +25,12 @@
25
25
  "dependencies": {
26
26
  "@agendajs/mongo-backend": "4.0.2",
27
27
  "@apidevtools/swagger-parser": "12.1.0",
28
- "@aws-sdk/s3-request-presigner": "3.1055.0",
28
+ "@aws-sdk/s3-request-presigner": "3.1058.0",
29
29
  "@opentelemetry/api": "1.9.1",
30
- "@researchdatabox/agenda-sqs-backend": "0.0.1-beta.9873",
31
- "@researchdatabox/raido-openapi-generated-node": "0.0.1-beta.9873",
32
- "@researchdatabox/rva-registry-openapi-generated-node": "0.0.1-beta.9873",
33
- "@researchdatabox/sails-ng-common": "0.0.1-beta.9873",
30
+ "@researchdatabox/agenda-sqs-backend": "0.0.1-beta.9909",
31
+ "@researchdatabox/raido-openapi-generated-node": "0.0.1-beta.9909",
32
+ "@researchdatabox/rva-registry-openapi-generated-node": "0.0.1-beta.9909",
33
+ "@researchdatabox/sails-ng-common": "0.0.1-beta.9909",
34
34
  "@tus/file-store": "2.1.0",
35
35
  "@tus/s3-store": "2.0.4",
36
36
  "@tus/server": "2.4.1",
@@ -76,7 +76,7 @@
76
76
  "mongodb": "7.2.0",
77
77
  "node-cache": "5.1.2",
78
78
  "node-schedule": "2.1.1",
79
- "nodemailer": "8.0.9",
79
+ "nodemailer": "8.0.10",
80
80
  "numeral": "2.0.6",
81
81
  "oni-ocfl": "npm:@researchdatabox/oni-ocfl@1.4.0",
82
82
  "openid-client": "6.8.4",
@@ -98,6 +98,7 @@
98
98
  "skipper-gridfs": "1.0.2",
99
99
  "typescript": "5.9.3",
100
100
  "typescript-json-schema": "0.67.4",
101
+ "umzug": "3.8.3",
101
102
  "url-pattern": "1.0.3",
102
103
  "uuid": "14.0.0",
103
104
  "webpack": "5.107.2",
@@ -128,7 +129,7 @@
128
129
  "mocha": "11.7.6",
129
130
  "mocha-junit-reporter": "2.2.1",
130
131
  "nyc": "18.0.0",
131
- "oxlint": "1.67.0",
132
+ "oxlint": "1.68.0",
132
133
  "prettier": "3.8.3",
133
134
  "serialize-javascript": "7.0.5",
134
135
  "sinon": "22.0.0",
@@ -9,9 +9,22 @@
9
9
  * This gives you an opportunity to set up your data model, run jobs, or perform some special logic.
10
10
  */
11
11
  const { coreBootstrap, preLiftSetup, createGeneratedBootstrap } = require('@researchdatabox/redbox-core');
12
+ let migrations = [];
13
+ // skip migrations if there are none specified
14
+ try {
15
+ migrations = require('./migrations').migrations || [];
16
+ } catch (e) {
17
+ // Only tolerate config/migrations.js itself being absent (e.g. shims not yet
18
+ // regenerated). A MODULE_NOT_FOUND raised by a require() inside migrations.js
19
+ // (such as an uninstalled hook) must still fail the lift.
20
+ const isMigrationsShimMissing = e.code === 'MODULE_NOT_FOUND' && typeof e.message === 'string' && e.message.includes("'./migrations'");
21
+ if (!isMigrationsShimMissing) throw e;
22
+ console.warn('[redbox-loader] config/migrations.js not found – skipping data migrations. Regenerate shims to resolve.');
23
+ }
24
+
12
25
  {{{hookImports}}}
13
26
 
14
27
  const hookBootstraps = [
15
28
  {{{hookCalls}}}];
16
29
 
17
- module.exports.bootstrap = createGeneratedBootstrap(preLiftSetup, coreBootstrap, hookBootstraps);
30
+ module.exports.bootstrap = createGeneratedBootstrap(preLiftSetup, coreBootstrap, hookBootstraps, migrations);