@researchdatabox/redbox-core 0.0.1-beta.9700 → 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.
Files changed (141) hide show
  1. package/dist/HarvestRunService.d.ts +49 -0
  2. package/dist/HarvestRunService.d.ts.map +1 -0
  3. package/dist/HarvestRunService.js +13 -0
  4. package/dist/api-routes/groups/harvest-runs.d.ts +5 -0
  5. package/dist/api-routes/groups/harvest-runs.d.ts.map +1 -0
  6. package/dist/api-routes/groups/harvest-runs.js +79 -0
  7. package/dist/api-routes/groups/named-query.d.ts +8 -0
  8. package/dist/api-routes/groups/named-query.d.ts.map +1 -0
  9. package/dist/api-routes/groups/named-query.js +54 -0
  10. package/dist/api-routes/groups/records.d.ts.map +1 -1
  11. package/dist/api-routes/groups/records.js +6 -2
  12. package/dist/api-routes/groups/reports.d.ts +6 -0
  13. package/dist/api-routes/groups/reports.d.ts.map +1 -1
  14. package/dist/api-routes/groups/reports.js +45 -2
  15. package/dist/api-routes/groups/users.js +3 -3
  16. package/dist/api-routes/index.d.ts +2 -0
  17. package/dist/api-routes/index.d.ts.map +1 -1
  18. package/dist/api-routes/index.js +3 -1
  19. package/dist/api-routes/openapi.d.ts +0 -1
  20. package/dist/api-routes/openapi.d.ts.map +1 -1
  21. package/dist/api-routes/openapi.js +27 -8
  22. package/dist/api-routes/route-registry.d.ts.map +1 -1
  23. package/dist/api-routes/route-registry.js +5 -1
  24. package/dist/api-routes/route-resolution.d.ts.map +1 -1
  25. package/dist/api-routes/route-resolution.js +15 -1
  26. package/dist/api-routes/schemas/common.d.ts +1 -2
  27. package/dist/api-routes/schemas/common.d.ts.map +1 -1
  28. package/dist/api-routes/schemas/common.js +10 -11
  29. package/dist/api-routes/schemas/responses.d.ts +6635 -1887
  30. package/dist/api-routes/schemas/responses.d.ts.map +1 -1
  31. package/dist/api-routes/schemas/responses.js +364 -269
  32. package/dist/api-routes/zod-openapi.d.ts +3 -0
  33. package/dist/api-routes/zod-openapi.d.ts.map +1 -0
  34. package/dist/api-routes/zod-openapi.js +8 -0
  35. package/dist/bootstrap.js +3 -3
  36. package/dist/config/auth.config.d.ts.map +1 -1
  37. package/dist/config/auth.config.js +8 -1
  38. package/dist/config/brandingConfigurationDefaults.config.d.ts.map +1 -1
  39. package/dist/config/brandingConfigurationDefaults.config.js +4 -2
  40. package/dist/config/harvestRuns.config.d.ts +9 -0
  41. package/dist/config/harvestRuns.config.d.ts.map +1 -0
  42. package/dist/config/harvestRuns.config.js +11 -0
  43. package/dist/config/index.d.ts +4 -3
  44. package/dist/config/index.d.ts.map +1 -1
  45. package/dist/config/index.js +4 -3
  46. package/dist/config/namedQuery.config.d.ts +16 -2
  47. package/dist/config/namedQuery.config.d.ts.map +1 -1
  48. package/dist/config/namedQuery.config.js +7 -350
  49. package/dist/config/report.config.d.ts +2 -11
  50. package/dist/config/report.config.d.ts.map +1 -1
  51. package/dist/config/report.config.js +3 -49
  52. package/dist/config/reusableContributorFormDefinitions.config.d.ts.map +1 -1
  53. package/dist/config/reusableContributorFormDefinitions.config.js +10 -4
  54. package/dist/config/routes.config.d.ts.map +1 -1
  55. package/dist/config/routes.config.js +15 -1
  56. package/dist/configmodels/AdminSidebarConfig.d.ts.map +1 -1
  57. package/dist/configmodels/AdminSidebarConfig.js +2 -1
  58. package/dist/controllers/AdminController.d.ts +1 -0
  59. package/dist/controllers/AdminController.d.ts.map +1 -1
  60. package/dist/controllers/AdminController.js +5 -1
  61. package/dist/controllers/NamedQueryController.d.ts +8 -0
  62. package/dist/controllers/NamedQueryController.d.ts.map +1 -0
  63. package/dist/controllers/NamedQueryController.js +17 -0
  64. package/dist/controllers/ReportController.d.ts +7 -0
  65. package/dist/controllers/ReportController.d.ts.map +1 -1
  66. package/dist/controllers/ReportController.js +75 -2
  67. package/dist/controllers/ReportsController.d.ts +1 -0
  68. package/dist/controllers/ReportsController.d.ts.map +1 -1
  69. package/dist/controllers/ReportsController.js +12 -2
  70. package/dist/controllers/index.d.ts.map +1 -1
  71. package/dist/controllers/index.js +10 -1
  72. package/dist/controllers/webservice/HarvestRunController.d.ts +13 -0
  73. package/dist/controllers/webservice/HarvestRunController.d.ts.map +1 -0
  74. package/dist/controllers/webservice/HarvestRunController.js +148 -0
  75. package/dist/controllers/webservice/NamedQueryController.d.ts +17 -0
  76. package/dist/controllers/webservice/NamedQueryController.d.ts.map +1 -0
  77. package/dist/controllers/webservice/NamedQueryController.js +127 -0
  78. package/dist/controllers/webservice/RecordController.d.ts.map +1 -1
  79. package/dist/controllers/webservice/RecordController.js +30 -74
  80. package/dist/controllers/webservice/ReportController.d.ts +7 -0
  81. package/dist/controllers/webservice/ReportController.d.ts.map +1 -1
  82. package/dist/controllers/webservice/ReportController.js +111 -3
  83. package/dist/form-config/dataRecord-1.0-draft.js +3 -3
  84. package/dist/form-config/default-1.0-draft.js +2 -2
  85. package/dist/index.d.ts +4 -1
  86. package/dist/index.d.ts.map +1 -1
  87. package/dist/index.js +5 -2
  88. package/dist/loader/MigrationRunner.d.ts +19 -0
  89. package/dist/loader/MigrationRunner.d.ts.map +1 -0
  90. package/dist/loader/MigrationRunner.js +108 -0
  91. package/dist/loader/bootstrapShimRuntime.d.ts +2 -1
  92. package/dist/loader/bootstrapShimRuntime.d.ts.map +1 -1
  93. package/dist/loader/bootstrapShimRuntime.js +7 -2
  94. package/dist/loader/index.d.ts +9 -0
  95. package/dist/loader/index.d.ts.map +1 -1
  96. package/dist/loader/index.js +100 -3
  97. package/dist/model/config/ReportConfig.d.ts +1 -1
  98. package/dist/model/config/ReportConfig.d.ts.map +1 -1
  99. package/dist/model/config/ReportConfig.js +2 -2
  100. package/dist/model/storage/HarvestRunModel.d.ts +140 -0
  101. package/dist/model/storage/HarvestRunModel.d.ts.map +1 -0
  102. package/dist/model/storage/HarvestRunModel.js +110 -0
  103. package/dist/model/storage/ReportModel.d.ts +1 -0
  104. package/dist/model/storage/ReportModel.d.ts.map +1 -1
  105. package/dist/model/storage/index.d.ts +1 -0
  106. package/dist/model/storage/index.d.ts.map +1 -1
  107. package/dist/model/storage/index.js +10 -2
  108. package/dist/services/HarvestRunService.d.ts +73 -0
  109. package/dist/services/HarvestRunService.d.ts.map +1 -0
  110. package/dist/services/HarvestRunService.js +1317 -0
  111. package/dist/services/NamedQueryService.d.ts +25 -4
  112. package/dist/services/NamedQueryService.d.ts.map +1 -1
  113. package/dist/services/NamedQueryService.js +444 -115
  114. package/dist/services/ReportsService.d.ts +57 -1
  115. package/dist/services/ReportsService.d.ts.map +1 -1
  116. package/dist/services/ReportsService.js +252 -34
  117. package/dist/services/index.d.ts +3 -0
  118. package/dist/services/index.d.ts.map +1 -1
  119. package/dist/services/index.js +7 -2
  120. package/dist/visitor/construct.visitor.d.ts.map +1 -1
  121. package/dist/visitor/construct.visitor.js +8 -3
  122. package/dist/visitor/template.visitor.d.ts +2 -2
  123. package/dist/visitor/template.visitor.d.ts.map +1 -1
  124. package/dist/visitor/template.visitor.js +22 -3
  125. package/dist/waterline-models/HarvestRecordEvent.d.ts +43 -0
  126. package/dist/waterline-models/HarvestRecordEvent.d.ts.map +1 -0
  127. package/dist/waterline-models/HarvestRecordEvent.js +107 -0
  128. package/dist/waterline-models/HarvestRun.d.ts +51 -0
  129. package/dist/waterline-models/HarvestRun.d.ts.map +1 -0
  130. package/dist/waterline-models/HarvestRun.js +125 -0
  131. package/dist/waterline-models/HarvestRunChunk.d.ts +57 -0
  132. package/dist/waterline-models/HarvestRunChunk.d.ts.map +1 -0
  133. package/dist/waterline-models/HarvestRunChunk.js +140 -0
  134. package/dist/waterline-models/Migration.d.ts +24 -0
  135. package/dist/waterline-models/Migration.d.ts.map +1 -0
  136. package/dist/waterline-models/Migration.js +52 -0
  137. package/dist/waterline-models/index.d.ts +8 -0
  138. package/dist/waterline-models/index.d.ts.map +1 -1
  139. package/dist/waterline-models/index.js +13 -1
  140. package/package.json +28 -27
  141. package/redbox-loader-templates/bootstrap-shim.js.hbs +14 -1
@@ -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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"}