@rytass/bpm-core-nestjs-module 0.20.1 → 0.21.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (61) hide show
  1. package/CHANGELOG.md +41 -0
  2. package/README.md +4 -4
  3. package/package.json +2 -2
  4. package/src/lib/form/form-data-issue.d.ts +34 -0
  5. package/src/lib/form/form-data-issue.js +59 -0
  6. package/src/lib/form/form-data-issue.js.map +1 -0
  7. package/src/lib/form/form-member-value.validator.d.ts +2 -2
  8. package/src/lib/form/form-member-value.validator.js +2 -3
  9. package/src/lib/form/form-member-value.validator.js.map +1 -1
  10. package/src/lib/form/form-org-unit-value.validator.d.ts +2 -2
  11. package/src/lib/form/form-org-unit-value.validator.js +4 -1
  12. package/src/lib/form/form-org-unit-value.validator.js.map +1 -1
  13. package/src/lib/form/form-schema.validator.js +40 -0
  14. package/src/lib/form/form-schema.validator.js.map +1 -1
  15. package/src/lib/migrations/0000000031000-approval-instance-form-data-gin.d.ts +29 -0
  16. package/src/lib/migrations/0000000031000-approval-instance-form-data-gin.js +44 -0
  17. package/src/lib/migrations/0000000031000-approval-instance-form-data-gin.js.map +1 -0
  18. package/src/lib/migrations/index.d.ts +1 -0
  19. package/src/lib/migrations/index.js +3 -0
  20. package/src/lib/migrations/index.js.map +1 -1
  21. package/src/lib/template/filterable-field-guard.d.ts +49 -0
  22. package/src/lib/template/filterable-field-guard.js +141 -0
  23. package/src/lib/template/filterable-field-guard.js.map +1 -0
  24. package/src/lib/template/filterable-field-issue.object.d.ts +21 -0
  25. package/src/lib/template/filterable-field-issue.object.js +65 -0
  26. package/src/lib/template/filterable-field-issue.object.js.map +1 -0
  27. package/src/lib/template/filterable-field.queries.d.ts +20 -0
  28. package/src/lib/template/filterable-field.queries.js +80 -0
  29. package/src/lib/template/filterable-field.queries.js.map +1 -0
  30. package/src/lib/template/index.d.ts +1 -0
  31. package/src/lib/template/index.js +1 -0
  32. package/src/lib/template/index.js.map +1 -1
  33. package/src/lib/template/template.module.js +2 -0
  34. package/src/lib/template/template.module.js.map +1 -1
  35. package/src/lib/template/template.service.d.ts +39 -0
  36. package/src/lib/template/template.service.js +167 -44
  37. package/src/lib/template/template.service.js.map +1 -1
  38. package/src/lib/workflow-engine/approval-instance-field-filter.compiler.d.ts +49 -0
  39. package/src/lib/workflow-engine/approval-instance-field-filter.compiler.js +501 -0
  40. package/src/lib/workflow-engine/approval-instance-field-filter.compiler.js.map +1 -0
  41. package/src/lib/workflow-engine/approval-instance-filterable-field.policy.d.ts +15 -0
  42. package/src/lib/workflow-engine/approval-instance-filterable-field.policy.js +20 -0
  43. package/src/lib/workflow-engine/approval-instance-filterable-field.policy.js.map +1 -0
  44. package/src/lib/workflow-engine/dto/approval-instance-field-filter.input.d.ts +15 -0
  45. package/src/lib/workflow-engine/dto/approval-instance-field-filter.input.js +55 -0
  46. package/src/lib/workflow-engine/dto/approval-instance-field-filter.input.js.map +1 -0
  47. package/src/lib/workflow-engine/dto/approval-instance-list-args.d.ts +9 -0
  48. package/src/lib/workflow-engine/dto/approval-instance-list-args.js +24 -0
  49. package/src/lib/workflow-engine/dto/approval-instance-list-args.js.map +1 -0
  50. package/src/lib/workflow-engine/dto/approval-instance-sort.input.d.ts +10 -0
  51. package/src/lib/workflow-engine/dto/approval-instance-sort.input.js +32 -0
  52. package/src/lib/workflow-engine/dto/approval-instance-sort.input.js.map +1 -0
  53. package/src/lib/workflow-engine/workflow-engine.enums.d.ts +12 -0
  54. package/src/lib/workflow-engine/workflow-engine.enums.js +21 -1
  55. package/src/lib/workflow-engine/workflow-engine.enums.js.map +1 -1
  56. package/src/lib/workflow-engine/workflow-engine.queries.d.ts +5 -3
  57. package/src/lib/workflow-engine/workflow-engine.queries.js +31 -9
  58. package/src/lib/workflow-engine/workflow-engine.queries.js.map +1 -1
  59. package/src/lib/workflow-engine/workflow-engine.service.d.ts +35 -4
  60. package/src/lib/workflow-engine/workflow-engine.service.js +266 -53
  61. package/src/lib/workflow-engine/workflow-engine.service.js.map +1 -1
@@ -22,6 +22,7 @@ const form_enums_1 = require("../form/form.enums");
22
22
  const form_service_1 = require("../form/form.service");
23
23
  const workflow_webhook_validator_1 = require("../workflow-webhook/workflow-webhook.validator");
24
24
  const workflow_webhook_service_1 = require("../workflow-webhook/workflow-webhook.service");
25
+ const filterable_field_guard_1 = require("./filterable-field-guard");
25
26
  const approval_template_category_entity_1 = require("./approval-template-category.entity");
26
27
  const approval_template_entity_1 = require("./approval-template.entity");
27
28
  const approval_template_version_entity_1 = require("./approval-template-version.entity");
@@ -108,6 +109,14 @@ let TemplateService = TemplateService_1 = class TemplateService {
108
109
  */
109
110
  async composeApprovalTemplateWithForm(input, currentMemberId) {
110
111
  const { event, result } = await this.templateRepository.manager.transaction(async (manager) => {
112
+ // ADR 25 §15: an existing template's row is locked before anything
113
+ // else, so this compose takes the template lock before it forks or
114
+ // writes the draft row, the same order a standalone publish uses.
115
+ // Taking it later (after the draft write, inside publishVersion) let a
116
+ // concurrent publish of the same draft deadlock against this one.
117
+ if (input.templateId) {
118
+ await this.readLockedTemplateOrThrow(manager, input.templateId);
119
+ }
111
120
  const formDefinitionVersion = await this.resolveComposedFormVersion(manager, input, currentMemberId);
112
121
  const templateDraftVersion = await this.resolveComposedTemplateDraftVersion(manager, input, currentMemberId);
113
122
  let templateVersion = await this.updateApprovalTemplateDraft({
@@ -218,27 +227,30 @@ let TemplateService = TemplateService_1 = class TemplateService {
218
227
  });
219
228
  }
220
229
  async updateApprovalTemplate(input) {
221
- const existing = await this.getTemplateOrThrow(input.id);
222
230
  const category = input.categoryId === undefined
223
231
  ? undefined
224
232
  : await this.validateOptionalTemplateCategory(input.categoryId);
225
- const next = this.templateRepository.merge(existing, {
226
- category: input.category !== undefined
227
- ? input.category
228
- : category !== undefined
229
- ? (category?.name ?? null)
230
- : existing.category,
231
- description: input.description ?? existing.description,
232
- name: input.name ?? existing.name,
233
+ await this.templateRepository.manager.transaction(async (manager) => {
234
+ const existing = await this.readLockedTemplateOrThrow(manager, input.id);
235
+ const templates = manager.getRepository(approval_template_entity_1.ApprovalTemplateEntity);
236
+ const next = templates.merge(existing, {
237
+ category: input.category !== undefined
238
+ ? input.category
239
+ : category !== undefined
240
+ ? (category?.name ?? null)
241
+ : existing.category,
242
+ description: input.description ?? existing.description,
243
+ name: input.name ?? existing.name,
244
+ });
245
+ // Assigned outside `merge` because the relation, not the `categoryId`
246
+ // scalar, owns `category_id`. Leaving `categoryDetail` untouched when the
247
+ // caller omitted `categoryId` keeps the loaded relation, which persists
248
+ // the current category unchanged.
249
+ if (category !== undefined) {
250
+ next.categoryDetail = category;
251
+ }
252
+ await templates.save(next);
233
253
  });
234
- // Assigned outside `merge` because the relation, not the `categoryId`
235
- // scalar, owns `category_id`. Leaving `categoryDetail` untouched when the
236
- // caller omitted `categoryId` keeps the loaded relation, which persists
237
- // the current category unchanged.
238
- if (category !== undefined) {
239
- next.categoryDetail = category;
240
- }
241
- await this.templateRepository.save(next);
242
254
  // Re-read rather than returning the saved entity: `categoryId` is not
243
255
  // written by `save()` any more, so the in-memory copy would still carry
244
256
  // the previous category alongside the new `categoryDetail` — the same
@@ -364,25 +376,51 @@ let TemplateService = TemplateService_1 = class TemplateService {
364
376
  return this.getTemplateVersionOrThrow(id);
365
377
  }
366
378
  async updateApprovalTemplateDraft(input, manager) {
367
- const versionRepository = this.templateVersions(manager);
368
- const existing = await this.getTemplateVersionOrThrow(input.versionId, manager);
369
- if (existing.status !== template_enums_1.ApprovalTemplateVersionStatusEnum.DRAFT) {
370
- throw new common_1.ConflictException('Only draft approval template versions can be updated');
371
- }
372
- await this.validateOptionalFormDefinitionVersion(input.formDefinitionVersionId, manager);
373
- const workflowDefinition = this.parseWorkflowDefinitionOrThrow(input.workflowDefinitionJson);
374
- const next = versionRepository.merge(existing, {
375
- formDefinitionVersionId: input.formDefinitionVersionId,
376
- initiatorPolicyCel: input.initiatorPolicyCel,
377
- notificationConfig: parseOptionalJsonObject(input.notificationConfigJson),
378
- slaDefaults: parseOptionalJsonObject(input.slaDefaultsJson),
379
- workflowDefinition,
379
+ return this.runInTemplateTransaction(manager, async (txManager) => {
380
+ const versionRepository = this.templateVersions(txManager);
381
+ // Read once to learn the template, lock its row (ADR 25 §15), then read
382
+ // the draft again: a publish that committed before the lock has turned
383
+ // it PUBLISHED, and saving the copy read before would write the old
384
+ // DRAFT status and empty publish fields back over it.
385
+ const unlocked = await this.getTemplateVersionOrThrow(input.versionId, txManager);
386
+ await this.readLockedTemplateOrThrow(txManager, unlocked.templateId);
387
+ const existing = await this.getTemplateVersionOrThrow(input.versionId, txManager);
388
+ if (existing.status !== template_enums_1.ApprovalTemplateVersionStatusEnum.DRAFT) {
389
+ throw new common_1.ConflictException('Only draft approval template versions can be updated');
390
+ }
391
+ await this.validateOptionalFormDefinitionVersion(input.formDefinitionVersionId, txManager);
392
+ const workflowDefinition = this.parseWorkflowDefinitionOrThrow(input.workflowDefinitionJson);
393
+ const next = versionRepository.merge(existing, {
394
+ formDefinitionVersionId: input.formDefinitionVersionId,
395
+ initiatorPolicyCel: input.initiatorPolicyCel,
396
+ notificationConfig: parseOptionalJsonObject(input.notificationConfigJson),
397
+ slaDefaults: parseOptionalJsonObject(input.slaDefaultsJson),
398
+ workflowDefinition,
399
+ });
400
+ return versionRepository.save(next);
380
401
  });
381
- return versionRepository.save(next);
402
+ }
403
+ /**
404
+ * Runs `run` in the caller's transaction when one is passed, otherwise in a
405
+ * new one, so a template lock taken inside it is held until the write
406
+ * commits.
407
+ */
408
+ runInTemplateTransaction(manager, run) {
409
+ return manager
410
+ ? run(manager)
411
+ : this.templateRepository.manager.transaction(run);
382
412
  }
383
413
  async forkApprovalTemplate(templateId, manager) {
414
+ return this.runInTemplateTransaction(manager, (txManager) => this.forkApprovalTemplateLocked(templateId, txManager));
415
+ }
416
+ /**
417
+ * Forks under the template row lock (ADR 25 §15): the draft check, the
418
+ * source read and the insert see the template as no concurrent publish or
419
+ * fork can change it until this commits.
420
+ */
421
+ async forkApprovalTemplateLocked(templateId, manager) {
384
422
  const versionRepository = this.templateVersions(manager);
385
- const template = await this.getTemplateOrThrow(templateId, manager);
423
+ const template = await this.readLockedTemplateOrThrow(manager, templateId);
386
424
  const existingDraft = await versionRepository.findOne({
387
425
  where: {
388
426
  status: template_enums_1.ApprovalTemplateVersionStatusEnum.DRAFT,
@@ -433,18 +471,45 @@ let TemplateService = TemplateService_1 = class TemplateService {
433
471
  if (version.status !== template_enums_1.ApprovalTemplateVersionStatusEnum.DRAFT) {
434
472
  throw new common_1.ConflictException('Only draft approval template versions can be published');
435
473
  }
474
+ // Early refusals only: they run outside the lock and are repeated below.
436
475
  await this.validatePublishableVersion(version, manager);
437
- const run = (txManager) => this.publishApprovalTemplateVersionWithManager(txManager, version, publishedByMemberId);
476
+ // ADR 25 §5.4 and §15: the template row is locked before the enable check
477
+ // and before the draft is read again, so a concurrent form-data write
478
+ // (which takes FOR SHARE on the same row) cannot slip between the check
479
+ // and the commit, and the draft is judged as it is under the lock.
480
+ const run = async (txManager) => {
481
+ const lockedTemplate = await this.lockTemplateRow(txManager, version.templateId, 'pessimistic_write');
482
+ if (!lockedTemplate) {
483
+ throw new common_1.NotFoundException(`Approval template ${version.templateId} was not found`);
484
+ }
485
+ const lockedVersion = await this.getTemplateVersionOrThrow(versionId, txManager);
486
+ if (lockedVersion.status !== template_enums_1.ApprovalTemplateVersionStatusEnum.DRAFT) {
487
+ throw new common_1.ConflictException('Only draft approval template versions can be published');
488
+ }
489
+ const formSchema = await this.validatePublishableVersion(lockedVersion, txManager);
490
+ return this.publishApprovalTemplateVersionWithManager(txManager, lockedVersion, publishedByMemberId, formSchema);
491
+ };
438
492
  return manager
439
493
  ? run(manager)
440
494
  : this.templateRepository.manager.transaction(run);
441
495
  }
442
- async publishApprovalTemplateVersionWithManager(manager, version, publishedByMemberId) {
496
+ /**
497
+ * Reads one template row, optionally locked. Locks are only taken inside a
498
+ * transaction; the caller passes the transaction's manager.
499
+ */
500
+ async lockTemplateRow(manager, templateId, mode) {
501
+ return manager.getRepository(approval_template_entity_1.ApprovalTemplateEntity).findOne({
502
+ lock: { mode },
503
+ where: { deletedAt: (0, typeorm_2.IsNull)(), id: templateId },
504
+ });
505
+ }
506
+ async publishApprovalTemplateVersionWithManager(manager, version, publishedByMemberId, formSchema) {
443
507
  const templateRepository = manager.getRepository(approval_template_entity_1.ApprovalTemplateEntity);
444
508
  const versionRepository = manager.getRepository(approval_template_version_entity_1.ApprovalTemplateVersionEntity);
445
- const template = await templateRepository.findOne({
446
- where: { deletedAt: (0, typeorm_2.IsNull)(), id: version.templateId },
447
- });
509
+ // Already locked by the caller (`publishVersion`); the lock is taken again
510
+ // here so this method is safe on its own, and the lock is re-entrant
511
+ // within one transaction.
512
+ const template = await this.lockTemplateRow(manager, version.templateId, 'pessimistic_write');
448
513
  if (!template) {
449
514
  throw new common_1.NotFoundException(`Approval template ${version.templateId} was not found`);
450
515
  }
@@ -454,6 +519,11 @@ let TemplateService = TemplateService_1 = class TemplateService {
454
519
  if (!template.isActive) {
455
520
  throw new common_1.ConflictException('Approval template is deactivated');
456
521
  }
522
+ // ADR 25 §5.4: a field that becomes filterable must not hold values the
523
+ // template's existing instances cannot satisfy. Checked here, inside the
524
+ // publish transaction, so the instances it reads are the ones it archives.
525
+ // Only what this publish makes filterable is scanned (ADR 25 §15).
526
+ await (0, filterable_field_guard_1.assertTemplateFilterableFieldsEnabled)(manager, template.id, formSchema, () => this.readInForceFormSchema(manager, template));
457
527
  const previousVersionId = template.currentVersionId;
458
528
  if (template.currentVersionId) {
459
529
  await versionRepository.update({ id: template.currentVersionId }, {
@@ -486,6 +556,8 @@ let TemplateService = TemplateService_1 = class TemplateService {
486
556
  // and is not linted again, since a rule tightened since could refuse it
487
557
  // (ADR 22 §5, docs/24 §1). The one check is that every function it calls
488
558
  // is still registered; without it every case would fail on evaluation.
559
+ // The filterable-field check (ADR 25 §5.4) is the exception: it reads the
560
+ // instances stored now, so it runs again inside the transaction below.
489
561
  const unregisteredFunctionErrors = this.lintRegisteredFunctions(target.workflowDefinition, target.initiatorPolicyCel);
490
562
  if (unregisteredFunctionErrors.length) {
491
563
  throw new common_1.BadRequestException(unregisteredFunctionErrors.join('; '));
@@ -493,9 +565,9 @@ let TemplateService = TemplateService_1 = class TemplateService {
493
565
  const rolledBack = await this.templateRepository.manager.transaction(async (manager) => {
494
566
  const templateRepository = manager.getRepository(approval_template_entity_1.ApprovalTemplateEntity);
495
567
  const versionRepository = manager.getRepository(approval_template_version_entity_1.ApprovalTemplateVersionEntity);
496
- const template = await templateRepository.findOne({
497
- where: { deletedAt: (0, typeorm_2.IsNull)(), id: target.templateId },
498
- });
568
+ // ADR 25 §5.4 and §15: lock the template row before the enable check,
569
+ // the same lock a publish takes (see `publishVersion`).
570
+ const template = await this.lockTemplateRow(manager, target.templateId, 'pessimistic_write');
499
571
  if (!template) {
500
572
  throw new common_1.NotFoundException(`Approval template ${target.templateId} was not found`);
501
573
  }
@@ -504,6 +576,9 @@ let TemplateService = TemplateService_1 = class TemplateService {
504
576
  if (!template.isActive) {
505
577
  throw new common_1.ConflictException('Approval template is deactivated');
506
578
  }
579
+ // The target becomes the current version again, so its filterable
580
+ // fields are checked against the instances stored now (ADR 25 §5.4).
581
+ await (0, filterable_field_guard_1.assertTemplateFilterableFieldsEnabled)(manager, template.id, await this.readFormSchemaOfVersion(manager, target.formDefinitionVersionId), () => this.readInForceFormSchema(manager, template));
507
582
  const previousVersionId = template.currentVersionId;
508
583
  if (template.currentVersionId &&
509
584
  template.currentVersionId !== target.id) {
@@ -561,6 +636,10 @@ let TemplateService = TemplateService_1 = class TemplateService {
561
636
  return null;
562
637
  }
563
638
  }
639
+ /**
640
+ * Returns the bound form schema so the publish can run the filterable-field
641
+ * check against it without loading the form version a second time.
642
+ */
564
643
  async validatePublishableVersion(version, manager) {
565
644
  if (!version.formDefinitionVersionId) {
566
645
  throw new common_1.BadRequestException('Approval template version must bind a form definition version before publishing');
@@ -617,6 +696,7 @@ let TemplateService = TemplateService_1 = class TemplateService {
617
696
  if (errors.length) {
618
697
  throw new common_1.BadRequestException(errors.join('; '));
619
698
  }
699
+ return formVersion.schema;
620
700
  }
621
701
  /** The cel-legacy publish lint, unchanged (docs/24 §1). */
622
702
  lintCelLegacyExpressions(version) {
@@ -748,6 +828,31 @@ let TemplateService = TemplateService_1 = class TemplateService {
748
828
  ? manager.getRepository(form_definition_version_entity_1.FormDefinitionVersionEntity)
749
829
  : this.formDefinitionVersionRepository;
750
830
  }
831
+ /**
832
+ * The form schema of the template's current version: the one whose
833
+ * filterable fields the stored instances already satisfy. Null when the
834
+ * template has no published version yet. Read under the caller's template
835
+ * row lock, so no write can change what it guarantees before the publish
836
+ * commits.
837
+ */
838
+ async readInForceFormSchema(manager, template) {
839
+ if (!template.currentVersionId) {
840
+ return null;
841
+ }
842
+ const current = await manager
843
+ .getRepository(approval_template_version_entity_1.ApprovalTemplateVersionEntity)
844
+ .findOne({ where: { id: template.currentVersionId } });
845
+ return this.readFormSchemaOfVersion(manager, current?.formDefinitionVersionId ?? null);
846
+ }
847
+ async readFormSchemaOfVersion(manager, formDefinitionVersionId) {
848
+ if (!formDefinitionVersionId) {
849
+ return null;
850
+ }
851
+ const formVersion = await manager
852
+ .getRepository(form_definition_version_entity_1.FormDefinitionVersionEntity)
853
+ .findOne({ where: { id: formDefinitionVersionId } });
854
+ return formVersion?.schema ?? null;
855
+ }
751
856
  async getTemplateOrThrow(id, manager) {
752
857
  const entity = await this.templates(manager).findOne({
753
858
  relations: { categoryDetail: true },
@@ -768,10 +873,28 @@ let TemplateService = TemplateService_1 = class TemplateService {
768
873
  return entity;
769
874
  }
770
875
  async setApprovalTemplateActive(id, isActive) {
771
- const template = await this.getTemplateOrThrow(id);
772
- return this.templateRepository.save(this.templateRepository.merge(template, {
773
- isActive,
774
- }));
876
+ return this.templateRepository.manager.transaction(async (manager) => {
877
+ const template = await this.readLockedTemplateOrThrow(manager, id);
878
+ const templates = manager.getRepository(approval_template_entity_1.ApprovalTemplateEntity);
879
+ return templates.save(templates.merge(template, { isActive }));
880
+ });
881
+ }
882
+ /**
883
+ * Locks the template row FOR UPDATE, the lock a publish, compose or rollback
884
+ * takes (ADR 25 §15), then reads the row with its category. A template edit
885
+ * saves the whole entity it read, so reading it unlocked would let a publish
886
+ * that commits in between be overwritten with the pre-publish
887
+ * `currentVersionId`; under the lock the read is the latest committed row
888
+ * and a publish waits for this edit instead.
889
+ */
890
+ async readLockedTemplateOrThrow(manager, id) {
891
+ // The lock is taken without the category join: Postgres refuses FOR
892
+ // UPDATE on the nullable side of an outer join.
893
+ const locked = await this.lockTemplateRow(manager, id, 'pessimistic_write');
894
+ if (!locked) {
895
+ throw new common_1.NotFoundException(`Approval template ${id} was not found`);
896
+ }
897
+ return this.getTemplateOrThrow(id, manager);
775
898
  }
776
899
  async setApprovalTemplateCategoryActive(id, isActive) {
777
900
  const category = await this.getTemplateCategoryOrThrow(id);
@@ -1 +1 @@
1
- {"version":3,"file":"template.service.js","sourceRoot":"","sources":["../../../../../../libs/bpm-core/src/lib/template/template.service.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"template.service.js","sourceRoot":"","sources":["../../../../../../libs/bpm-core/src/lib/template/template.service.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,49 @@
1
+ import { type ApprovalInstanceFieldFilter, type ApprovalInstanceSort, type ApprovalInstanceSortDirection, type FilterableFieldPath } from '@rytass/bpm-core-shared';
2
+ import { type FormDefinitionSchema, type FormFieldOption } from '@rytass/bpm-core-shared/form';
3
+ /**
4
+ * Compiles the list query's field filters and sort into SQL fragments for the
5
+ * approval-instance query builder (ADR 25 §7). Internal: not exported from the
6
+ * library's public index, and free of TypeORM so it can be tested as plain
7
+ * input and output.
8
+ *
9
+ * Every value reaches the database as a named parameter. The SQL text holds
10
+ * only the table alias, column names and parameter placeholders; a field key
11
+ * is a parameter too, so no key is ever spliced into the statement.
12
+ */
13
+ type SqlParameters = Readonly<Record<string, unknown>>;
14
+ export interface CompiledSqlFragment {
15
+ readonly sql: string;
16
+ readonly parameters: SqlParameters;
17
+ }
18
+ export interface CompiledApprovalInstanceOrder extends CompiledSqlFragment {
19
+ readonly direction: ApprovalInstanceSortDirection;
20
+ }
21
+ export interface CompiledApprovalInstanceFieldFilters {
22
+ /** One WHERE clause each, to be combined with AND. */
23
+ readonly conditions: readonly CompiledSqlFragment[];
24
+ /** Always ends with the `id` tie-breaker (ADR 25 §7.6). */
25
+ readonly orderBy: readonly CompiledApprovalInstanceOrder[];
26
+ }
27
+ export interface CompileApprovalInstanceFieldFiltersInput {
28
+ /** The TypeORM alias of `approval_instances` in the query, e.g. `approvalInstance`. */
29
+ readonly alias: string;
30
+ /** The filterable fields of the template's current version. */
31
+ readonly paths: readonly FilterableFieldPath[];
32
+ readonly fieldFilters: readonly ApprovalInstanceFieldFilter[];
33
+ readonly sort: readonly ApprovalInstanceSort[];
34
+ /**
35
+ * Static option lists by field path, across the current version and every
36
+ * historical version that holds instances. A CONTAINS on a static option
37
+ * matches its names against these lists.
38
+ */
39
+ readonly staticOptionsByPath: ReadonlyMap<string, readonly FormFieldOption[]>;
40
+ }
41
+ export declare class ApprovalInstanceFieldFilterCompiler {
42
+ compile(input: CompileApprovalInstanceFieldFiltersInput): CompiledApprovalInstanceFieldFilters;
43
+ }
44
+ /**
45
+ * The static option lists of a set of form schemas, by field path. A table
46
+ * column is keyed `<tableKey>.<columnKey>`, the way the query names it.
47
+ */
48
+ export declare function readStaticOptionsByPath(schemas: readonly (FormDefinitionSchema | null | undefined)[]): ReadonlyMap<string, readonly FormFieldOption[]>;
49
+ export {};