@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
@@ -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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
@@ -42,7 +42,7 @@ declare class ReportColumnConfig {
42
42
  export declare class ReportResult {
43
43
  total: number;
44
44
  pageNum: number;
45
- recordPerPage: number;
45
+ recordsPerPage: number;
46
46
  records: Record<string, unknown>[];
47
47
  success: boolean;
48
48
  }
@@ -1 +1 @@
1
- {"version":3,"file":"ReportConfig.d.ts","sourceRoot":"","sources":["../../../src/model/config/ReportConfig.ts"],"names":[],"mappings":"AAAA,qBAAa,YAAY;IACrB,KAAK,EAAE,MAAM,CAAM;IACrB,YAAY,CAAC,EAAE,YAAY,CAAqB;IAC9C,aAAa,EAAE,yBAAyB,GAAG,IAAI,CAAQ;IACvD,SAAS,EAAE,qBAAqB,GAAG,IAAI,CAAQ;IAC/C,MAAM,EAAE,kBAAkB,EAAE,CAAM;IAClC,OAAO,EAAE,kBAAkB,EAAE,CAAM;CACpC;AAED,oBAAY,YAAY;IACtB,IAAI,SAAS;IACb,QAAQ,aAAa;CACtB;AAED,oBAAY,gBAAgB;IAC1B,SAAS,eAAe;IACxB,IAAI,SAAS;CACd;AAED,qBAAa,yBAAyB;IACpC,SAAS,EAAE,MAAM,CAAM;CACxB;AAED,qBAAa,qBAAqB;IAChC,SAAS,EAAE,MAAM,CAAM;IACvB,UAAU,EAAE,MAAM,CAAa;CAChC;AAKD,cAAM,8BAA8B;IAClC,YAAY,EAAE,MAAM,CAAM;IAC1B,UAAU,EAAE,MAAM,CAAM;CACzB;AACD,cAAM,kBAAkB;IACtB,SAAS,EAAE,MAAM,CAAM;IACvB,IAAI,EAAE,gBAAgB,CAAyB;IAC/C,QAAQ,EAAE,MAAM,CAAM;IACtB,QAAQ,EAAE,MAAM,CAAM;IACtB,QAAQ,EAAE,8BAA8B,GAAG,IAAI,CAAQ;CACxD;AAED,cAAM,kBAAkB;IACtB,KAAK,EAAE,MAAM,CAAM;IACnB,QAAQ,EAAE,MAAM,CAAM;IACtB,IAAI,EAAE,OAAO,CAAS;IACtB,cAAc,EAAE,MAAM,CAAM;IAC5B,QAAQ,EAAE,MAAM,CAAM;CACvB;AAED,qBAAa,YAAY;IACvB,KAAK,EAAE,MAAM,CAAK;IAClB,OAAO,EAAE,MAAM,CAAK;IACpB,aAAa,EAAE,MAAM,CAAK;IAC1B,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,CAAM;IACxC,OAAO,EAAE,OAAO,CAAS;CAE1B"}
1
+ {"version":3,"file":"ReportConfig.d.ts","sourceRoot":"","sources":["../../../src/model/config/ReportConfig.ts"],"names":[],"mappings":"AAAA,qBAAa,YAAY;IACrB,KAAK,EAAE,MAAM,CAAM;IACrB,YAAY,CAAC,EAAE,YAAY,CAAqB;IAC9C,aAAa,EAAE,yBAAyB,GAAG,IAAI,CAAQ;IACvD,SAAS,EAAE,qBAAqB,GAAG,IAAI,CAAQ;IAC/C,MAAM,EAAE,kBAAkB,EAAE,CAAM;IAClC,OAAO,EAAE,kBAAkB,EAAE,CAAM;CACpC;AAED,oBAAY,YAAY;IACtB,IAAI,SAAS;IACb,QAAQ,aAAa;CACtB;AAED,oBAAY,gBAAgB;IAC1B,SAAS,eAAe;IACxB,IAAI,SAAS;CACd;AAED,qBAAa,yBAAyB;IACpC,SAAS,EAAE,MAAM,CAAM;CACxB;AAED,qBAAa,qBAAqB;IAChC,SAAS,EAAE,MAAM,CAAM;IACvB,UAAU,EAAE,MAAM,CAAa;CAChC;AAKD,cAAM,8BAA8B;IAClC,YAAY,EAAE,MAAM,CAAM;IAC1B,UAAU,EAAE,MAAM,CAAM;CACzB;AACD,cAAM,kBAAkB;IACtB,SAAS,EAAE,MAAM,CAAM;IACvB,IAAI,EAAE,gBAAgB,CAAyB;IAC/C,QAAQ,EAAE,MAAM,CAAM;IACtB,QAAQ,EAAE,MAAM,CAAM;IACtB,QAAQ,EAAE,8BAA8B,GAAG,IAAI,CAAQ;CACxD;AAED,cAAM,kBAAkB;IACtB,KAAK,EAAE,MAAM,CAAM;IACnB,QAAQ,EAAE,MAAM,CAAM;IACtB,IAAI,EAAE,OAAO,CAAS;IACtB,cAAc,EAAE,MAAM,CAAM;IAC5B,QAAQ,EAAE,MAAM,CAAM;CACvB;AAED,qBAAa,YAAY;IACvB,KAAK,EAAE,MAAM,CAAK;IAClB,OAAO,EAAE,MAAM,CAAK;IACpB,cAAc,EAAE,MAAM,CAAK;IAC3B,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,CAAM;IACxC,OAAO,EAAE,OAAO,CAAS;CAE1B"}
@@ -50,9 +50,9 @@ class ReportColumnConfig {
50
50
  class ReportResult {
51
51
  total = 0;
52
52
  pageNum = 0;
53
- recordPerPage = 0;
53
+ recordsPerPage = 0;
54
54
  records = [];
55
55
  success = false;
56
56
  }
57
57
  exports.ReportResult = ReportResult;
58
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiUmVwb3J0Q29uZmlnLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL21vZGVsL2NvbmZpZy9SZXBvcnRDb25maWcudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQUEsTUFBYSxZQUFZO0lBQ3JCLEtBQUssR0FBVyxFQUFFLENBQUM7SUFDckIsWUFBWSxHQUFrQixZQUFZLENBQUMsSUFBSSxDQUFDO0lBQzlDLGFBQWEsR0FBcUMsSUFBSSxDQUFDO0lBQ3ZELFNBQVMsR0FBaUMsSUFBSSxDQUFDO0lBQy9DLE1BQU0sR0FBeUIsRUFBRSxDQUFDO0lBQ2xDLE9BQU8sR0FBeUIsRUFBRSxDQUFDO0NBQ3BDO0FBUEgsb0NBT0c7QUFFRCxJQUFZLFlBR1g7QUFIRCxXQUFZLFlBQVk7SUFDdEIsNkJBQWEsQ0FBQTtJQUNiLHFDQUFxQixDQUFBO0FBQ3ZCLENBQUMsRUFIVyxZQUFZLDRCQUFaLFlBQVksUUFHdkI7QUFFRCxJQUFZLGdCQUdYO0FBSEQsV0FBWSxnQkFBZ0I7SUFDMUIsNENBQXdCLENBQUE7SUFDeEIsaUNBQWEsQ0FBQTtBQUNmLENBQUMsRUFIVyxnQkFBZ0IsZ0NBQWhCLGdCQUFnQixRQUczQjtBQUVELE1BQWEseUJBQXlCO0lBQ3BDLFNBQVMsR0FBVyxFQUFFLENBQUM7Q0FDeEI7QUFGRCw4REFFQztBQUVELE1BQWEscUJBQXFCO0lBQ2hDLFNBQVMsR0FBVyxFQUFFLENBQUM7SUFDdkIsVUFBVSxHQUFXLFNBQVMsQ0FBQztDQUNoQztBQUhELHNEQUdDO0FBS0QsTUFBTSw4QkFBOEI7SUFDbEMsWUFBWSxHQUFXLEVBQUUsQ0FBQztJQUMxQixVQUFVLEdBQVcsRUFBRSxDQUFDO0NBQ3pCO0FBQ0QsTUFBTSxrQkFBa0I7SUFDdEIsU0FBUyxHQUFXLEVBQUUsQ0FBQztJQUN2QixJQUFJLEdBQXFCLGdCQUFnQixDQUFDLElBQUksQ0FBQztJQUMvQyxRQUFRLEdBQVcsRUFBRSxDQUFDO0lBQ3RCLFFBQVEsR0FBVyxFQUFFLENBQUM7SUFDdEIsUUFBUSxHQUEwQyxJQUFJLENBQUM7Q0FDeEQ7QUFFRCxNQUFNLGtCQUFrQjtJQUN0QixLQUFLLEdBQVcsRUFBRSxDQUFDO0lBQ25CLFFBQVEsR0FBVyxFQUFFLENBQUM7SUFDdEIsSUFBSSxHQUFZLEtBQUssQ0FBQztJQUN0QixjQUFjLEdBQVcsRUFBRSxDQUFDO0lBQzVCLFFBQVEsR0FBVyxFQUFFLENBQUM7Q0FDdkI7QUFFRCxNQUFhLFlBQVk7SUFDdkIsS0FBSyxHQUFXLENBQUMsQ0FBQztJQUNsQixPQUFPLEdBQVcsQ0FBQyxDQUFDO0lBQ3BCLGFBQWEsR0FBVyxDQUFDLENBQUM7SUFDMUIsT0FBTyxHQUE4QixFQUFFLENBQUM7SUFDeEMsT0FBTyxHQUFZLEtBQUssQ0FBQztDQUUxQjtBQVBELG9DQU9DIn0=
58
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiUmVwb3J0Q29uZmlnLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL21vZGVsL2NvbmZpZy9SZXBvcnRDb25maWcudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQUEsTUFBYSxZQUFZO0lBQ3JCLEtBQUssR0FBVyxFQUFFLENBQUM7SUFDckIsWUFBWSxHQUFrQixZQUFZLENBQUMsSUFBSSxDQUFDO0lBQzlDLGFBQWEsR0FBcUMsSUFBSSxDQUFDO0lBQ3ZELFNBQVMsR0FBaUMsSUFBSSxDQUFDO0lBQy9DLE1BQU0sR0FBeUIsRUFBRSxDQUFDO0lBQ2xDLE9BQU8sR0FBeUIsRUFBRSxDQUFDO0NBQ3BDO0FBUEgsb0NBT0c7QUFFRCxJQUFZLFlBR1g7QUFIRCxXQUFZLFlBQVk7SUFDdEIsNkJBQWEsQ0FBQTtJQUNiLHFDQUFxQixDQUFBO0FBQ3ZCLENBQUMsRUFIVyxZQUFZLDRCQUFaLFlBQVksUUFHdkI7QUFFRCxJQUFZLGdCQUdYO0FBSEQsV0FBWSxnQkFBZ0I7SUFDMUIsNENBQXdCLENBQUE7SUFDeEIsaUNBQWEsQ0FBQTtBQUNmLENBQUMsRUFIVyxnQkFBZ0IsZ0NBQWhCLGdCQUFnQixRQUczQjtBQUVELE1BQWEseUJBQXlCO0lBQ3BDLFNBQVMsR0FBVyxFQUFFLENBQUM7Q0FDeEI7QUFGRCw4REFFQztBQUVELE1BQWEscUJBQXFCO0lBQ2hDLFNBQVMsR0FBVyxFQUFFLENBQUM7SUFDdkIsVUFBVSxHQUFXLFNBQVMsQ0FBQztDQUNoQztBQUhELHNEQUdDO0FBS0QsTUFBTSw4QkFBOEI7SUFDbEMsWUFBWSxHQUFXLEVBQUUsQ0FBQztJQUMxQixVQUFVLEdBQVcsRUFBRSxDQUFDO0NBQ3pCO0FBQ0QsTUFBTSxrQkFBa0I7SUFDdEIsU0FBUyxHQUFXLEVBQUUsQ0FBQztJQUN2QixJQUFJLEdBQXFCLGdCQUFnQixDQUFDLElBQUksQ0FBQztJQUMvQyxRQUFRLEdBQVcsRUFBRSxDQUFDO0lBQ3RCLFFBQVEsR0FBVyxFQUFFLENBQUM7SUFDdEIsUUFBUSxHQUEwQyxJQUFJLENBQUM7Q0FDeEQ7QUFFRCxNQUFNLGtCQUFrQjtJQUN0QixLQUFLLEdBQVcsRUFBRSxDQUFDO0lBQ25CLFFBQVEsR0FBVyxFQUFFLENBQUM7SUFDdEIsSUFBSSxHQUFZLEtBQUssQ0FBQztJQUN0QixjQUFjLEdBQVcsRUFBRSxDQUFDO0lBQzVCLFFBQVEsR0FBVyxFQUFFLENBQUM7Q0FDdkI7QUFFRCxNQUFhLFlBQVk7SUFDdkIsS0FBSyxHQUFXLENBQUMsQ0FBQztJQUNsQixPQUFPLEdBQVcsQ0FBQyxDQUFDO0lBQ3BCLGNBQWMsR0FBVyxDQUFDLENBQUM7SUFDM0IsT0FBTyxHQUE4QixFQUFFLENBQUM7SUFDeEMsT0FBTyxHQUFZLEtBQUssQ0FBQztDQUUxQjtBQVBELG9DQU9DIn0=
@@ -0,0 +1,140 @@
1
+ export declare enum HarvestRunStatus {
2
+ running = "running",
3
+ completed = "completed",
4
+ completedWithErrors = "completed_with_errors",
5
+ failed = "failed"
6
+ }
7
+ export declare enum HarvestChunkStatus {
8
+ processing = "processing",
9
+ processed = "processed",
10
+ failed = "failed",
11
+ failedStale = "failed_stale"
12
+ }
13
+ export declare enum HarvestOperation {
14
+ create = "create",
15
+ update = "update",
16
+ upsert = "upsert",
17
+ delete = "delete"
18
+ }
19
+ export declare enum HarvestOutcome {
20
+ created = "created",
21
+ updated = "updated",
22
+ deleted = "deleted",
23
+ unchanged = "unchanged",
24
+ failed = "failed"
25
+ }
26
+ export type HarvestCounterSummary = {
27
+ totalProcessed: number;
28
+ created: number;
29
+ updated: number;
30
+ deleted: number;
31
+ unchanged: number;
32
+ failed: number;
33
+ };
34
+ export type HarvestRunMetadata = Record<string, unknown>;
35
+ export declare class HarvestRunModel {
36
+ id?: string;
37
+ sourceRunId: string;
38
+ brandId: string;
39
+ recordType: string;
40
+ sourceName: string;
41
+ sourceUri?: string;
42
+ status: HarvestRunStatus;
43
+ startedAt: string;
44
+ completedAt?: string;
45
+ startedBy?: string;
46
+ lastChunkAt?: string;
47
+ totalProcessed: number;
48
+ created: number;
49
+ updated: number;
50
+ deleted: number;
51
+ unchanged: number;
52
+ failed: number;
53
+ chunksProcessed: number;
54
+ duplicateChunks: number;
55
+ metadata?: HarvestRunMetadata;
56
+ constructor(init?: Partial<HarvestRunModel>);
57
+ }
58
+ export declare class HarvestRunChunkModel {
59
+ id?: string;
60
+ runId: string;
61
+ brandId: string;
62
+ recordType: string;
63
+ sourceRunId: string;
64
+ contentHash: string;
65
+ attempt: number;
66
+ chunkIndex?: number;
67
+ chunkLabel?: string;
68
+ totalExpected?: number;
69
+ status: HarvestChunkStatus;
70
+ recordCount: number;
71
+ totalProcessed: number;
72
+ created: number;
73
+ updated: number;
74
+ deleted: number;
75
+ unchanged: number;
76
+ failed: number;
77
+ duplicate: boolean;
78
+ submittedAt: string;
79
+ completedAt?: string;
80
+ errorMessage?: string;
81
+ responseSummary?: Record<string, unknown>;
82
+ constructor(init?: Partial<HarvestRunChunkModel>);
83
+ }
84
+ export declare class HarvestRecordEventModel {
85
+ id?: string;
86
+ runId: string;
87
+ chunkId: string;
88
+ brandId: string;
89
+ recordType: string;
90
+ sourceRunId: string;
91
+ harvestId: string;
92
+ oid?: string;
93
+ operation: HarvestOperation;
94
+ outcome: HarvestOutcome;
95
+ status: boolean;
96
+ message?: string;
97
+ details?: string;
98
+ errorCode?: string;
99
+ recordSnapshot?: Record<string, unknown>;
100
+ createdAt: string;
101
+ constructor(init?: Partial<HarvestRecordEventModel>);
102
+ }
103
+ export type HarvestRunListQuery = {
104
+ brandId: string;
105
+ status?: string;
106
+ recordType?: string;
107
+ sourceName?: string;
108
+ dateFrom?: Date;
109
+ dateTo?: Date;
110
+ page: number;
111
+ pageSize: number;
112
+ };
113
+ export type HarvestRunEventsQuery = {
114
+ runId: string;
115
+ brandId: string;
116
+ outcome?: string;
117
+ operation?: string;
118
+ harvestId?: string;
119
+ oid?: string;
120
+ page: number;
121
+ pageSize: number;
122
+ };
123
+ export type HarvestRunListResult = {
124
+ rows: HarvestRunModel[];
125
+ total: number;
126
+ };
127
+ export type HarvestRunEventsResult = {
128
+ rows: HarvestRecordEventModel[];
129
+ total: number;
130
+ };
131
+ export type HarvestRunDetailResult = {
132
+ run: HarvestRunModel;
133
+ chunks: HarvestRunChunkModel[];
134
+ events: HarvestRecordEventModel[];
135
+ aggregateCounts: HarvestCounterSummary & {
136
+ chunksProcessed: number;
137
+ duplicateChunks: number;
138
+ };
139
+ };
140
+ //# sourceMappingURL=HarvestRunModel.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"HarvestRunModel.d.ts","sourceRoot":"","sources":["../../../src/model/storage/HarvestRunModel.ts"],"names":[],"mappings":"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"}