@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.
- package/dist/HarvestRunService.d.ts +49 -0
- package/dist/HarvestRunService.d.ts.map +1 -0
- package/dist/HarvestRunService.js +13 -0
- package/dist/api-routes/groups/harvest-runs.d.ts +5 -0
- package/dist/api-routes/groups/harvest-runs.d.ts.map +1 -0
- package/dist/api-routes/groups/harvest-runs.js +79 -0
- package/dist/api-routes/groups/named-query.d.ts +8 -0
- package/dist/api-routes/groups/named-query.d.ts.map +1 -0
- package/dist/api-routes/groups/named-query.js +54 -0
- package/dist/api-routes/groups/records.d.ts.map +1 -1
- package/dist/api-routes/groups/records.js +6 -2
- package/dist/api-routes/groups/reports.d.ts +6 -0
- package/dist/api-routes/groups/reports.d.ts.map +1 -1
- package/dist/api-routes/groups/reports.js +45 -2
- package/dist/api-routes/groups/users.js +3 -3
- package/dist/api-routes/index.d.ts +2 -0
- package/dist/api-routes/index.d.ts.map +1 -1
- package/dist/api-routes/index.js +3 -1
- package/dist/api-routes/openapi.d.ts +0 -1
- package/dist/api-routes/openapi.d.ts.map +1 -1
- package/dist/api-routes/openapi.js +27 -8
- package/dist/api-routes/route-registry.d.ts.map +1 -1
- package/dist/api-routes/route-registry.js +5 -1
- package/dist/api-routes/route-resolution.d.ts.map +1 -1
- package/dist/api-routes/route-resolution.js +15 -1
- package/dist/api-routes/schemas/common.d.ts +1 -2
- package/dist/api-routes/schemas/common.d.ts.map +1 -1
- package/dist/api-routes/schemas/common.js +10 -11
- package/dist/api-routes/schemas/responses.d.ts +6635 -1887
- package/dist/api-routes/schemas/responses.d.ts.map +1 -1
- package/dist/api-routes/schemas/responses.js +364 -269
- package/dist/api-routes/zod-openapi.d.ts +3 -0
- package/dist/api-routes/zod-openapi.d.ts.map +1 -0
- package/dist/api-routes/zod-openapi.js +8 -0
- package/dist/bootstrap.js +3 -3
- package/dist/config/auth.config.d.ts.map +1 -1
- package/dist/config/auth.config.js +8 -1
- package/dist/config/brandingConfigurationDefaults.config.d.ts.map +1 -1
- package/dist/config/brandingConfigurationDefaults.config.js +4 -2
- package/dist/config/harvestRuns.config.d.ts +9 -0
- package/dist/config/harvestRuns.config.d.ts.map +1 -0
- package/dist/config/harvestRuns.config.js +11 -0
- package/dist/config/index.d.ts +4 -3
- package/dist/config/index.d.ts.map +1 -1
- package/dist/config/index.js +4 -3
- package/dist/config/namedQuery.config.d.ts +16 -2
- package/dist/config/namedQuery.config.d.ts.map +1 -1
- package/dist/config/namedQuery.config.js +7 -350
- package/dist/config/report.config.d.ts +2 -11
- package/dist/config/report.config.d.ts.map +1 -1
- package/dist/config/report.config.js +3 -49
- package/dist/config/reusableContributorFormDefinitions.config.d.ts.map +1 -1
- package/dist/config/reusableContributorFormDefinitions.config.js +10 -4
- package/dist/config/routes.config.d.ts.map +1 -1
- package/dist/config/routes.config.js +15 -1
- package/dist/configmodels/AdminSidebarConfig.d.ts.map +1 -1
- package/dist/configmodels/AdminSidebarConfig.js +2 -1
- package/dist/controllers/AdminController.d.ts +1 -0
- package/dist/controllers/AdminController.d.ts.map +1 -1
- package/dist/controllers/AdminController.js +5 -1
- package/dist/controllers/NamedQueryController.d.ts +8 -0
- package/dist/controllers/NamedQueryController.d.ts.map +1 -0
- package/dist/controllers/NamedQueryController.js +17 -0
- package/dist/controllers/ReportController.d.ts +7 -0
- package/dist/controllers/ReportController.d.ts.map +1 -1
- package/dist/controllers/ReportController.js +75 -2
- package/dist/controllers/ReportsController.d.ts +1 -0
- package/dist/controllers/ReportsController.d.ts.map +1 -1
- package/dist/controllers/ReportsController.js +12 -2
- package/dist/controllers/index.d.ts.map +1 -1
- package/dist/controllers/index.js +10 -1
- package/dist/controllers/webservice/HarvestRunController.d.ts +13 -0
- package/dist/controllers/webservice/HarvestRunController.d.ts.map +1 -0
- package/dist/controllers/webservice/HarvestRunController.js +148 -0
- package/dist/controllers/webservice/NamedQueryController.d.ts +17 -0
- package/dist/controllers/webservice/NamedQueryController.d.ts.map +1 -0
- package/dist/controllers/webservice/NamedQueryController.js +127 -0
- package/dist/controllers/webservice/RecordController.d.ts.map +1 -1
- package/dist/controllers/webservice/RecordController.js +30 -74
- package/dist/controllers/webservice/ReportController.d.ts +7 -0
- package/dist/controllers/webservice/ReportController.d.ts.map +1 -1
- package/dist/controllers/webservice/ReportController.js +111 -3
- package/dist/form-config/dataRecord-1.0-draft.js +3 -3
- package/dist/form-config/default-1.0-draft.js +2 -2
- package/dist/index.d.ts +4 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +5 -2
- package/dist/loader/MigrationRunner.d.ts +19 -0
- package/dist/loader/MigrationRunner.d.ts.map +1 -0
- package/dist/loader/MigrationRunner.js +108 -0
- package/dist/loader/bootstrapShimRuntime.d.ts +2 -1
- package/dist/loader/bootstrapShimRuntime.d.ts.map +1 -1
- package/dist/loader/bootstrapShimRuntime.js +7 -2
- package/dist/loader/index.d.ts +9 -0
- package/dist/loader/index.d.ts.map +1 -1
- package/dist/loader/index.js +100 -3
- package/dist/model/config/ReportConfig.d.ts +1 -1
- package/dist/model/config/ReportConfig.d.ts.map +1 -1
- package/dist/model/config/ReportConfig.js +2 -2
- package/dist/model/storage/HarvestRunModel.d.ts +140 -0
- package/dist/model/storage/HarvestRunModel.d.ts.map +1 -0
- package/dist/model/storage/HarvestRunModel.js +110 -0
- package/dist/model/storage/ReportModel.d.ts +1 -0
- package/dist/model/storage/ReportModel.d.ts.map +1 -1
- package/dist/model/storage/index.d.ts +1 -0
- package/dist/model/storage/index.d.ts.map +1 -1
- package/dist/model/storage/index.js +10 -2
- package/dist/services/HarvestRunService.d.ts +73 -0
- package/dist/services/HarvestRunService.d.ts.map +1 -0
- package/dist/services/HarvestRunService.js +1317 -0
- package/dist/services/NamedQueryService.d.ts +25 -4
- package/dist/services/NamedQueryService.d.ts.map +1 -1
- package/dist/services/NamedQueryService.js +444 -115
- package/dist/services/ReportsService.d.ts +57 -1
- package/dist/services/ReportsService.d.ts.map +1 -1
- package/dist/services/ReportsService.js +252 -34
- package/dist/services/index.d.ts +3 -0
- package/dist/services/index.d.ts.map +1 -1
- package/dist/services/index.js +7 -2
- package/dist/visitor/construct.visitor.d.ts.map +1 -1
- package/dist/visitor/construct.visitor.js +8 -3
- package/dist/visitor/template.visitor.d.ts +2 -2
- package/dist/visitor/template.visitor.d.ts.map +1 -1
- package/dist/visitor/template.visitor.js +22 -3
- package/dist/waterline-models/HarvestRecordEvent.d.ts +43 -0
- package/dist/waterline-models/HarvestRecordEvent.d.ts.map +1 -0
- package/dist/waterline-models/HarvestRecordEvent.js +107 -0
- package/dist/waterline-models/HarvestRun.d.ts +51 -0
- package/dist/waterline-models/HarvestRun.d.ts.map +1 -0
- package/dist/waterline-models/HarvestRun.js +125 -0
- package/dist/waterline-models/HarvestRunChunk.d.ts +57 -0
- package/dist/waterline-models/HarvestRunChunk.d.ts.map +1 -0
- package/dist/waterline-models/HarvestRunChunk.js +140 -0
- package/dist/waterline-models/Migration.d.ts +24 -0
- package/dist/waterline-models/Migration.d.ts.map +1 -0
- package/dist/waterline-models/Migration.js +52 -0
- package/dist/waterline-models/index.d.ts +8 -0
- package/dist/waterline-models/index.d.ts.map +1 -1
- package/dist/waterline-models/index.js +13 -1
- package/package.json +28 -27
- 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,
|
|
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,
|
|
88
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYm9vdHN0cmFwU2hpbVJ1bnRpbWUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvbG9hZGVyL2Jvb3RzdHJhcFNoaW1SdW50aW1lLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7O0FBZ0VBLDREQXFDQztBQXJHRCwyQkFBb0M7QUFDcEMsZ0RBQXdCO0FBQ3hCLHVEQUF5RDtBQVV6RCxTQUFTLGVBQWUsQ0FBQyxLQUFjLEVBQUUsT0FBTyxJQUFJLE9BQU8sRUFBVTtJQUNqRSxJQUFJLEtBQUssS0FBSyxJQUFJLElBQUksS0FBSyxLQUFLLFNBQVMsRUFBRSxDQUFDO1FBQ3hDLE9BQU8sS0FBSyxDQUFDO0lBQ2pCLENBQUM7SUFDRCxJQUFJLE9BQU8sS0FBSyxLQUFLLFVBQVUsRUFBRSxDQUFDO1FBQzlCLE9BQU8sY0FBYyxLQUFLLENBQUMsSUFBSSxJQUFJLFdBQVcsR0FBRyxDQUFDO0lBQ3RELENBQUM7SUFDRCxJQUFJLE9BQU8sS0FBSyxLQUFLLFFBQVEsRUFBRSxDQUFDO1FBQzVCLE9BQU8sS0FBSyxDQUFDO0lBQ2pCLENBQUM7SUFDRCxJQUFJLElBQUksQ0FBQyxHQUFHLENBQUMsS0FBZSxDQUFDLEVBQUUsQ0FBQztRQUM1QixPQUFPLFlBQVksQ0FBQztJQUN4QixDQUFDO0lBQ0QsSUFBSSxDQUFDLEdBQUcsQ0FBQyxLQUFlLENBQUMsQ0FBQztJQUMxQixJQUFJLEtBQUssQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQztRQUN2QixPQUFPLEtBQUssQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxlQUFlLENBQUMsSUFBSSxFQUFFLElBQUksQ0FBQyxDQUFDLENBQUM7SUFDMUQsQ0FBQztJQUVELE1BQU0sTUFBTSxHQUE0QixFQUFFLENBQUM7SUFDM0MsS0FBSyxNQUFNLENBQUMsR0FBRyxFQUFFLElBQUksQ0FBQyxJQUFJLE1BQU0sQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FB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
|
package/dist/loader/index.d.ts
CHANGED
|
@@ -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":"
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/loader/index.ts"],"names":[],"mappings":"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"}
|