@tstdl/base 0.92.141 → 0.92.143

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 (224) hide show
  1. package/ai/ai-file.service.js +1 -1
  2. package/ai/ai.service.js +3 -3
  3. package/ai/types.d.ts +1 -1
  4. package/api/client/client.d.ts +1 -1
  5. package/api/client/client.js +10 -4
  6. package/api/server/middlewares/content-type.middleware.js +8 -7
  7. package/api/types.js +1 -1
  8. package/authentication/client/authentication.service.js +3 -3
  9. package/authentication/server/authentication-ancillary.service.d.ts +11 -1
  10. package/authentication/server/authentication-ancillary.service.js +1 -1
  11. package/authentication/server/authentication-secret-requirements.validator.js +1 -1
  12. package/authentication/server/authentication.api-controller.js +22 -10
  13. package/authentication/server/authentication.service.d.ts +11 -5
  14. package/authentication/server/authentication.service.js +97 -49
  15. package/authentication/server/drizzle.config.js +2 -2
  16. package/authentication/server/module.js +1 -1
  17. package/cancellation/token.d.ts +2 -2
  18. package/cancellation/token.js +4 -4
  19. package/cookie/cookie.js +2 -2
  20. package/css/css-variables.js +1 -1
  21. package/document-management/api/document-management.api.d.ts +122 -24
  22. package/document-management/api/document-management.api.js +17 -0
  23. package/document-management/{server/services → authorization}/document-management-authorization.service.d.ts +7 -7
  24. package/document-management/authorization/document-management-authorization.service.js +2 -0
  25. package/document-management/authorization/index.d.ts +2 -0
  26. package/document-management/authorization/index.js +2 -0
  27. package/document-management/authorization/policies.d.ts +38 -0
  28. package/document-management/authorization/policies.js +2 -0
  29. package/document-management/index.d.ts +1 -0
  30. package/document-management/index.js +1 -0
  31. package/document-management/models/document-assignment-scope.model.d.ts +1 -0
  32. package/document-management/models/document-assignment-scope.model.js +10 -3
  33. package/document-management/models/document-assignment-task.model.d.ts +1 -0
  34. package/document-management/models/document-assignment-task.model.js +8 -2
  35. package/document-management/models/document-category.model.d.ts +1 -0
  36. package/document-management/models/document-category.model.js +7 -1
  37. package/document-management/models/document-collection-assignment.model.d.ts +1 -0
  38. package/document-management/models/document-collection-assignment.model.js +12 -4
  39. package/document-management/models/document-collection.model.d.ts +2 -0
  40. package/document-management/models/document-collection.model.js +8 -2
  41. package/document-management/models/document-management-table.d.ts +3 -1
  42. package/document-management/models/document-management-table.js +2 -2
  43. package/document-management/models/document-property-value.model.d.ts +1 -0
  44. package/document-management/models/document-property-value.model.js +9 -3
  45. package/document-management/models/document-property.model.d.ts +1 -0
  46. package/document-management/models/document-property.model.js +8 -2
  47. package/document-management/models/document-request-collection-assignment.model.d.ts +1 -0
  48. package/document-management/models/document-request-collection-assignment.model.js +12 -4
  49. package/document-management/models/document-request-template.d.ts +1 -0
  50. package/document-management/models/document-request-template.js +6 -1
  51. package/document-management/models/document-request.model.d.ts +1 -0
  52. package/document-management/models/document-request.model.js +10 -1
  53. package/document-management/models/document-requests-template.d.ts +1 -0
  54. package/document-management/models/document-requests-template.js +7 -3
  55. package/document-management/models/document-tag-assignment.model.d.ts +8 -0
  56. package/document-management/models/document-tag-assignment.model.js +40 -0
  57. package/document-management/models/document-tag.model.d.ts +6 -0
  58. package/document-management/models/{document-request-submission.model.js → document-tag.model.js} +14 -18
  59. package/document-management/models/document-type-property.model.d.ts +1 -0
  60. package/document-management/models/document-type-property.model.js +7 -2
  61. package/document-management/models/document-type-validation.model.d.ts +1 -0
  62. package/document-management/models/document-type-validation.model.js +8 -2
  63. package/document-management/models/document-type.model.d.ts +1 -0
  64. package/document-management/models/document-type.model.js +7 -2
  65. package/document-management/models/document-validation-definition.model.d.ts +1 -0
  66. package/document-management/models/document-validation-definition.model.js +7 -2
  67. package/document-management/models/document-validation-execution-related-document.model.d.ts +1 -0
  68. package/document-management/models/document-validation-execution-related-document.model.js +10 -3
  69. package/document-management/models/document-validation-execution.model.d.ts +1 -0
  70. package/document-management/models/document-validation-execution.model.js +9 -3
  71. package/document-management/models/document-workflow.model.d.ts +4 -1
  72. package/document-management/models/document-workflow.model.js +16 -4
  73. package/document-management/models/document.model.d.ts +2 -2
  74. package/document-management/models/document.model.js +9 -8
  75. package/document-management/models/index.d.ts +2 -1
  76. package/document-management/models/index.js +2 -1
  77. package/document-management/server/api/document-management.api.d.ts +4 -1
  78. package/document-management/server/api/document-management.api.js +113 -22
  79. package/document-management/server/configure.d.ts +2 -2
  80. package/document-management/server/configure.js +7 -7
  81. package/document-management/server/drizzle/0000_parallel_mantis.sql +359 -0
  82. package/document-management/server/drizzle/meta/0000_snapshot.json +784 -260
  83. package/document-management/server/drizzle/meta/_journal.json +2 -2
  84. package/document-management/server/module.d.ts +2 -2
  85. package/document-management/server/module.js +2 -2
  86. package/document-management/server/schemas.d.ts +6 -5
  87. package/document-management/server/schemas.js +12 -11
  88. package/document-management/server/services/document-category-type.service.d.ts +19 -10
  89. package/document-management/server/services/document-category-type.service.js +34 -27
  90. package/document-management/server/services/document-collection.service.d.ts +13 -6
  91. package/document-management/server/services/document-collection.service.js +36 -12
  92. package/document-management/server/services/document-file.service.d.ts +8 -7
  93. package/document-management/server/services/document-file.service.js +28 -33
  94. package/document-management/server/services/document-management-ai.service.d.ts +5 -4
  95. package/document-management/server/services/document-management-ai.service.js +51 -28
  96. package/document-management/server/services/document-management-ancillary.service.d.ts +3 -21
  97. package/document-management/server/services/document-management-ancillary.service.js +0 -24
  98. package/document-management/server/services/document-management-observation.service.d.ts +15 -0
  99. package/document-management/server/services/document-management-observation.service.js +160 -0
  100. package/document-management/server/services/document-management.service.d.ts +6 -5
  101. package/document-management/server/services/document-management.service.js +112 -86
  102. package/document-management/server/services/document-property.service.d.ts +15 -7
  103. package/document-management/server/services/document-property.service.js +52 -20
  104. package/document-management/server/services/document-request.service.d.ts +13 -24
  105. package/document-management/server/services/document-request.service.js +39 -62
  106. package/document-management/server/services/document-tag.service.d.ts +10 -0
  107. package/document-management/server/services/document-tag.service.js +59 -0
  108. package/document-management/server/services/document-validation.service.d.ts +8 -8
  109. package/document-management/server/services/document-validation.service.js +41 -40
  110. package/document-management/server/services/document-workflow.service.d.ts +6 -5
  111. package/document-management/server/services/document-workflow.service.js +54 -43
  112. package/document-management/server/services/document.service.d.ts +12 -11
  113. package/document-management/server/services/document.service.js +64 -40
  114. package/document-management/server/services/index.d.ts +2 -1
  115. package/document-management/server/services/index.js +2 -1
  116. package/document-management/server/services/singleton.js +2 -2
  117. package/document-management/server/validators/ai-validation-executor.js +4 -4
  118. package/document-management/service-models/document-collection-metadata.service-model.d.ts +14 -0
  119. package/document-management/service-models/document-collection-metadata.service-model.js +1 -0
  120. package/document-management/service-models/document-folders.view-model.d.ts +1 -7
  121. package/document-management/service-models/document-folders.view-model.js +3 -15
  122. package/document-management/service-models/document-management.view-model.d.ts +20 -6
  123. package/document-management/service-models/document-management.view-model.js +62 -8
  124. package/document-management/service-models/document.service-model.d.ts +14 -11
  125. package/document-management/service-models/document.service-model.js +11 -2
  126. package/document-management/service-models/enriched/enriched-document-assignment.view.d.ts +1 -1
  127. package/document-management/service-models/enriched/enriched-document-assignment.view.js +0 -2
  128. package/document-management/service-models/enriched/enriched-document-category.view.d.ts +11 -1
  129. package/document-management/service-models/enriched/enriched-document-category.view.js +44 -1
  130. package/document-management/service-models/enriched/enriched-document-collection.view.d.ts +4 -2
  131. package/document-management/service-models/enriched/enriched-document-collection.view.js +13 -3
  132. package/document-management/service-models/enriched/enriched-document-management-data.view.d.ts +2 -0
  133. package/document-management/service-models/enriched/enriched-document-management-data.view.js +4 -2
  134. package/document-management/service-models/enriched/enriched-document-request.view.d.ts +1 -0
  135. package/document-management/service-models/enriched/enriched-document-request.view.js +2 -0
  136. package/document-management/service-models/enriched/enriched-document-type.view.d.ts +9 -1
  137. package/document-management/service-models/enriched/enriched-document-type.view.js +28 -1
  138. package/document-management/service-models/enriched/enriched-document.view.d.ts +7 -6
  139. package/document-management/service-models/enriched/enriched-document.view.js +29 -6
  140. package/document-management/service-models/{normalized-requests-template-data.model.d.ts → enriched/enriched-requests-template-data.model.d.ts} +6 -6
  141. package/document-management/service-models/{normalized-requests-template-data.model.js → enriched/enriched-requests-template-data.model.js} +1 -1
  142. package/document-management/service-models/enriched/index.d.ts +1 -0
  143. package/document-management/service-models/enriched/index.js +1 -0
  144. package/document-management/service-models/index.d.ts +2 -2
  145. package/document-management/service-models/index.js +2 -2
  146. package/examples/document-management/categories-and-types.d.ts +33 -31
  147. package/examples/document-management/categories-and-types.js +33 -0
  148. package/examples/document-management/main.d.ts +5 -4
  149. package/examples/document-management/main.js +13 -7
  150. package/function/log.js +2 -2
  151. package/http/server/node/module.d.ts +4 -1
  152. package/http/server/node/module.js +10 -1
  153. package/http/server/node/node-http-server.d.ts +3 -6
  154. package/http/server/node/node-http-server.js +68 -67
  155. package/injector/inject.js +6 -6
  156. package/injector/injector.js +3 -3
  157. package/jsx/is-component-class.js +1 -1
  158. package/key-value-store/key-value.store.d.ts +38 -7
  159. package/key-value-store/key-value.store.js +2 -1
  160. package/key-value-store/mongo/mongo-key-value.store.d.ts +1 -0
  161. package/key-value-store/mongo/mongo-key-value.store.js +14 -5
  162. package/key-value-store/postgres/drizzle/0000_shocking_slipstream.sql +12 -0
  163. package/key-value-store/postgres/drizzle/meta/0000_snapshot.json +97 -0
  164. package/key-value-store/postgres/drizzle/meta/_journal.json +13 -0
  165. package/key-value-store/postgres/drizzle.config.d.ts +2 -0
  166. package/key-value-store/postgres/drizzle.config.js +11 -0
  167. package/key-value-store/postgres/index.d.ts +2 -0
  168. package/key-value-store/postgres/index.js +2 -0
  169. package/key-value-store/postgres/key-value-store.service.d.ts +17 -0
  170. package/key-value-store/postgres/key-value-store.service.js +65 -0
  171. package/key-value-store/postgres/models/index.d.ts +2 -0
  172. package/key-value-store/postgres/models/index.js +2 -0
  173. package/key-value-store/postgres/models/key-value.model.d.ts +7 -0
  174. package/key-value-store/postgres/models/key-value.model.js +35 -0
  175. package/key-value-store/postgres/models/schemas.d.ts +3 -0
  176. package/key-value-store/postgres/models/schemas.js +4 -0
  177. package/key-value-store/postgres/module.d.ts +6 -0
  178. package/key-value-store/postgres/module.js +23 -0
  179. package/lock/web/web-lock.d.ts +0 -1
  180. package/lock/web/web-lock.js +6 -13
  181. package/orm/data-types/timestamp.js +1 -1
  182. package/orm/decorators.d.ts +37 -29
  183. package/orm/decorators.js +44 -24
  184. package/orm/entity.d.ts +1 -0
  185. package/orm/query.d.ts +10 -2
  186. package/orm/repository.types.d.ts +2 -1
  187. package/orm/schemas/json.d.ts +12 -6
  188. package/orm/schemas/json.js +12 -5
  189. package/orm/server/database.js +5 -2
  190. package/orm/server/drizzle/schema-converter.js +40 -11
  191. package/orm/server/query-converter.d.ts +2 -1
  192. package/orm/server/query-converter.js +57 -34
  193. package/orm/server/repository.d.ts +26 -43
  194. package/orm/server/repository.js +106 -39
  195. package/orm/server/transaction.d.ts +2 -1
  196. package/orm/server/transaction.js +3 -0
  197. package/orm/server/transactional.d.ts +5 -1
  198. package/orm/server/transactional.js +34 -4
  199. package/package.json +14 -11
  200. package/process/spawn.js +0 -1
  201. package/promise/deferred-promise.d.ts +4 -3
  202. package/promise/deferred-promise.js +13 -5
  203. package/queue/postgres/queue.js +8 -8
  204. package/reflection/utils.js +3 -3
  205. package/schema/decorators/class.js +0 -1
  206. package/schema/decorators/schema.js +1 -1
  207. package/schema/schemas/boolean.d.ts +1 -1
  208. package/schema/schemas/boolean.js +2 -2
  209. package/schema/schemas/number.js +3 -3
  210. package/schema/schemas/object.js +5 -6
  211. package/sse/server-sent-events-source.js +4 -1
  212. package/utils/compression.js +9 -9
  213. package/utils/date-time.d.ts +1 -0
  214. package/utils/date-time.js +18 -4
  215. package/utils/equals.d.ts +7 -0
  216. package/utils/equals.js +17 -2
  217. package/utils/function/memoize.js +10 -2
  218. package/utils/jwt.js +3 -3
  219. package/utils/object/property-name.d.ts +2 -2
  220. package/utils/timing.d.ts +2 -2
  221. package/utils/timing.js +12 -12
  222. package/document-management/models/document-request-submission.model.d.ts +0 -7
  223. package/document-management/server/drizzle/0000_moaning_luckman.sql +0 -305
  224. package/document-management/server/services/document-management-authorization.service.js +0 -28
@@ -0,0 +1,359 @@
1
+ CREATE TYPE "document_management"."document_approval" AS ENUM('pending', 'approved', 'rejected');--> statement-breakpoint
2
+ CREATE TYPE "document_management"."assignment_target" AS ENUM('collection', 'request');--> statement-breakpoint
3
+ CREATE TYPE "document_management"."property_data_type" AS ENUM('text', 'integer', 'decimal', 'boolean', 'date');--> statement-breakpoint
4
+ CREATE TYPE "document_management"."request_state" AS ENUM('open', 'fulfilled', 'closed');--> statement-breakpoint
5
+ CREATE TYPE "document_management"."validation_execution_state" AS ENUM('pending', 'running', 'completed', 'error');--> statement-breakpoint
6
+ CREATE TYPE "document_management"."validation_result_status" AS ENUM('passed', 'failed', 'warning');--> statement-breakpoint
7
+ CREATE TYPE "document_management"."workflow_fail_reason" AS ENUM('no-suitable-collection', 'no-suitable-request');--> statement-breakpoint
8
+ CREATE TYPE "document_management"."workflow_state" AS ENUM('pending', 'running', 'review', 'completed', 'error', 'failed');--> statement-breakpoint
9
+ CREATE TYPE "document_management"."workflow_step" AS ENUM('classification', 'extraction', 'assignment', 'validation');--> statement-breakpoint
10
+ CREATE TABLE "document_management"."document" (
11
+ "id" uuid PRIMARY KEY DEFAULT gen_random_uuid() NOT NULL,
12
+ "tenant_id" uuid NOT NULL,
13
+ "type_id" uuid,
14
+ "title" text,
15
+ "subtitle" text,
16
+ "pages" integer,
17
+ "date" date,
18
+ "summary" text,
19
+ "approval" "document_management"."document_approval" NOT NULL,
20
+ "comment" text,
21
+ "original_file_name" text,
22
+ "mime_type" text NOT NULL,
23
+ "hash" text NOT NULL,
24
+ "size" integer NOT NULL,
25
+ "create_user_id" uuid,
26
+ "revision" integer NOT NULL,
27
+ "revision_timestamp" timestamp with time zone NOT NULL,
28
+ "create_timestamp" timestamp with time zone NOT NULL,
29
+ "delete_timestamp" timestamp with time zone,
30
+ "attributes" jsonb DEFAULT '{}'::jsonb NOT NULL,
31
+ CONSTRAINT "document_tenant_id_id_unique" UNIQUE("tenant_id","id")
32
+ );
33
+ --> statement-breakpoint
34
+ CREATE TABLE "document_management"."assignment_scope" (
35
+ "id" uuid PRIMARY KEY DEFAULT gen_random_uuid() NOT NULL,
36
+ "tenant_id" uuid NOT NULL,
37
+ "task_id" uuid NOT NULL,
38
+ "collection_id" uuid NOT NULL,
39
+ "revision" integer NOT NULL,
40
+ "revision_timestamp" timestamp with time zone NOT NULL,
41
+ "create_timestamp" timestamp with time zone NOT NULL,
42
+ "delete_timestamp" timestamp with time zone,
43
+ "attributes" jsonb DEFAULT '{}'::jsonb NOT NULL,
44
+ CONSTRAINT "assignment_scope_task_id_collection_id_unique" UNIQUE("task_id","collection_id")
45
+ );
46
+ --> statement-breakpoint
47
+ CREATE TABLE "document_management"."assignment_task" (
48
+ "id" uuid PRIMARY KEY DEFAULT gen_random_uuid() NOT NULL,
49
+ "tenant_id" uuid NOT NULL,
50
+ "document_id" uuid NOT NULL,
51
+ "target" "document_management"."assignment_target" NOT NULL,
52
+ "revision" integer NOT NULL,
53
+ "revision_timestamp" timestamp with time zone NOT NULL,
54
+ "create_timestamp" timestamp with time zone NOT NULL,
55
+ "delete_timestamp" timestamp with time zone,
56
+ "attributes" jsonb DEFAULT '{}'::jsonb NOT NULL,
57
+ CONSTRAINT "assignment_task_document_id_unique" UNIQUE("document_id")
58
+ );
59
+ --> statement-breakpoint
60
+ CREATE TABLE "document_management"."category" (
61
+ "id" uuid PRIMARY KEY DEFAULT gen_random_uuid() NOT NULL,
62
+ "tenant_id" uuid,
63
+ "parent_id" uuid,
64
+ "label" text NOT NULL,
65
+ "revision" integer NOT NULL,
66
+ "revision_timestamp" timestamp with time zone NOT NULL,
67
+ "create_timestamp" timestamp with time zone NOT NULL,
68
+ "delete_timestamp" timestamp with time zone,
69
+ "attributes" jsonb DEFAULT '{}'::jsonb NOT NULL,
70
+ CONSTRAINT "category_label_unique" UNIQUE("label"),
71
+ CONSTRAINT "category_tenant_id_parent_id_label_unique" UNIQUE("tenant_id","parent_id","label")
72
+ );
73
+ --> statement-breakpoint
74
+ CREATE TABLE "document_management"."collection" (
75
+ "id" uuid PRIMARY KEY DEFAULT gen_random_uuid() NOT NULL,
76
+ "tenant_id" uuid NOT NULL,
77
+ "parent_id" uuid,
78
+ "revision" integer NOT NULL,
79
+ "revision_timestamp" timestamp with time zone NOT NULL,
80
+ "create_timestamp" timestamp with time zone NOT NULL,
81
+ "delete_timestamp" timestamp with time zone,
82
+ "attributes" jsonb DEFAULT '{}'::jsonb NOT NULL,
83
+ CONSTRAINT "collection_tenant_id_id_unique" UNIQUE("tenant_id","id")
84
+ );
85
+ --> statement-breakpoint
86
+ CREATE TABLE "document_management"."collection_assignment" (
87
+ "id" uuid PRIMARY KEY DEFAULT gen_random_uuid() NOT NULL,
88
+ "tenant_id" uuid NOT NULL,
89
+ "collection_id" uuid NOT NULL,
90
+ "document_id" uuid NOT NULL,
91
+ "archive_timestamp" timestamp with time zone,
92
+ "revision" integer NOT NULL,
93
+ "revision_timestamp" timestamp with time zone NOT NULL,
94
+ "create_timestamp" timestamp with time zone NOT NULL,
95
+ "delete_timestamp" timestamp with time zone,
96
+ "attributes" jsonb DEFAULT '{}'::jsonb NOT NULL,
97
+ CONSTRAINT "ca_tenant_id_collection_id_document_id_unique" UNIQUE("tenant_id","collection_id","document_id")
98
+ );
99
+ --> statement-breakpoint
100
+ CREATE TABLE "document_management"."property" (
101
+ "id" uuid PRIMARY KEY DEFAULT gen_random_uuid() NOT NULL,
102
+ "tenant_id" uuid,
103
+ "label" text NOT NULL,
104
+ "data_type" "document_management"."property_data_type" NOT NULL,
105
+ "revision" integer NOT NULL,
106
+ "revision_timestamp" timestamp with time zone NOT NULL,
107
+ "create_timestamp" timestamp with time zone NOT NULL,
108
+ "delete_timestamp" timestamp with time zone,
109
+ "attributes" jsonb DEFAULT '{}'::jsonb NOT NULL,
110
+ CONSTRAINT "property_label_unique" UNIQUE("label"),
111
+ CONSTRAINT "property_tenant_id_label_unique" UNIQUE("tenant_id","label")
112
+ );
113
+ --> statement-breakpoint
114
+ CREATE TABLE "document_management"."property_value" (
115
+ "id" uuid PRIMARY KEY DEFAULT gen_random_uuid() NOT NULL,
116
+ "tenant_id" uuid NOT NULL,
117
+ "document_id" uuid NOT NULL,
118
+ "property_id" uuid NOT NULL,
119
+ "text" text,
120
+ "integer" integer,
121
+ "decimal" double precision,
122
+ "boolean" boolean,
123
+ "date" date,
124
+ "revision" integer NOT NULL,
125
+ "revision_timestamp" timestamp with time zone NOT NULL,
126
+ "create_timestamp" timestamp with time zone NOT NULL,
127
+ "delete_timestamp" timestamp with time zone,
128
+ "attributes" jsonb DEFAULT '{}'::jsonb NOT NULL,
129
+ CONSTRAINT "property_value_tenant_id_document_id_property_id_unique" UNIQUE("tenant_id","document_id","property_id"),
130
+ CONSTRAINT "only_one_value" CHECK (num_nonnulls("document_management"."property_value"."text", "document_management"."property_value"."integer", "document_management"."property_value"."decimal", "document_management"."property_value"."boolean", "document_management"."property_value"."date") = 1)
131
+ );
132
+ --> statement-breakpoint
133
+ CREATE TABLE "document_management"."request" (
134
+ "id" uuid PRIMARY KEY DEFAULT gen_random_uuid() NOT NULL,
135
+ "tenant_id" uuid NOT NULL,
136
+ "type_id" uuid,
137
+ "document_id" uuid,
138
+ "comment" text,
139
+ "state" "document_management"."request_state" NOT NULL,
140
+ "revision" integer NOT NULL,
141
+ "revision_timestamp" timestamp with time zone NOT NULL,
142
+ "create_timestamp" timestamp with time zone NOT NULL,
143
+ "delete_timestamp" timestamp with time zone,
144
+ "attributes" jsonb DEFAULT '{}'::jsonb NOT NULL,
145
+ CONSTRAINT "request_document_id_unique" UNIQUE("document_id"),
146
+ CONSTRAINT "request_tenant_id_id_unique" UNIQUE("tenant_id","id")
147
+ );
148
+ --> statement-breakpoint
149
+ CREATE TABLE "document_management"."request_collection_assignment" (
150
+ "id" uuid PRIMARY KEY DEFAULT gen_random_uuid() NOT NULL,
151
+ "tenant_id" uuid NOT NULL,
152
+ "request_id" uuid NOT NULL,
153
+ "collection_id" uuid NOT NULL,
154
+ "revision" integer NOT NULL,
155
+ "revision_timestamp" timestamp with time zone NOT NULL,
156
+ "create_timestamp" timestamp with time zone NOT NULL,
157
+ "delete_timestamp" timestamp with time zone,
158
+ "attributes" jsonb DEFAULT '{}'::jsonb NOT NULL,
159
+ CONSTRAINT "rca_tenant_id_request_id_collection_id_unique" UNIQUE("tenant_id","request_id","collection_id")
160
+ );
161
+ --> statement-breakpoint
162
+ CREATE TABLE "document_management"."request_template" (
163
+ "id" uuid PRIMARY KEY DEFAULT gen_random_uuid() NOT NULL,
164
+ "tenant_id" uuid,
165
+ "requests_template_id" uuid NOT NULL,
166
+ "type_id" uuid NOT NULL,
167
+ "comment" text,
168
+ "revision" integer NOT NULL,
169
+ "revision_timestamp" timestamp with time zone NOT NULL,
170
+ "create_timestamp" timestamp with time zone NOT NULL,
171
+ "delete_timestamp" timestamp with time zone,
172
+ "attributes" jsonb DEFAULT '{}'::jsonb NOT NULL
173
+ );
174
+ --> statement-breakpoint
175
+ CREATE TABLE "document_management"."requests_template" (
176
+ "id" uuid PRIMARY KEY DEFAULT gen_random_uuid() NOT NULL,
177
+ "tenant_id" uuid,
178
+ "label" text NOT NULL,
179
+ "description" text,
180
+ "revision" integer NOT NULL,
181
+ "revision_timestamp" timestamp with time zone NOT NULL,
182
+ "create_timestamp" timestamp with time zone NOT NULL,
183
+ "delete_timestamp" timestamp with time zone,
184
+ "attributes" jsonb DEFAULT '{}'::jsonb NOT NULL
185
+ );
186
+ --> statement-breakpoint
187
+ CREATE TABLE "document_management"."tag" (
188
+ "id" uuid PRIMARY KEY DEFAULT gen_random_uuid() NOT NULL,
189
+ "tenant_id" uuid,
190
+ "label" text NOT NULL,
191
+ "revision" integer NOT NULL,
192
+ "revision_timestamp" timestamp with time zone NOT NULL,
193
+ "create_timestamp" timestamp with time zone NOT NULL,
194
+ "delete_timestamp" timestamp with time zone,
195
+ "attributes" jsonb DEFAULT '{}'::jsonb NOT NULL,
196
+ CONSTRAINT "tag_tenant_id_label_unique" UNIQUE("tenant_id","label")
197
+ );
198
+ --> statement-breakpoint
199
+ CREATE TABLE "document_management"."tag_assignment" (
200
+ "id" uuid PRIMARY KEY DEFAULT gen_random_uuid() NOT NULL,
201
+ "tenant_id" uuid NOT NULL,
202
+ "document_id" uuid NOT NULL,
203
+ "tag_id" uuid NOT NULL,
204
+ "revision" integer NOT NULL,
205
+ "revision_timestamp" timestamp with time zone NOT NULL,
206
+ "create_timestamp" timestamp with time zone NOT NULL,
207
+ "delete_timestamp" timestamp with time zone,
208
+ "attributes" jsonb DEFAULT '{}'::jsonb NOT NULL,
209
+ CONSTRAINT "tag_assignment_tenant_id_document_id_tag_id_unique" UNIQUE("tenant_id","document_id","tag_id")
210
+ );
211
+ --> statement-breakpoint
212
+ CREATE TABLE "document_management"."type" (
213
+ "id" uuid PRIMARY KEY DEFAULT gen_random_uuid() NOT NULL,
214
+ "tenant_id" uuid,
215
+ "category_id" uuid NOT NULL,
216
+ "label" text NOT NULL,
217
+ "revision" integer NOT NULL,
218
+ "revision_timestamp" timestamp with time zone NOT NULL,
219
+ "create_timestamp" timestamp with time zone NOT NULL,
220
+ "delete_timestamp" timestamp with time zone,
221
+ "attributes" jsonb DEFAULT '{}'::jsonb NOT NULL,
222
+ CONSTRAINT "type_tenant_id_category_id_label_unique" UNIQUE("tenant_id","category_id","label")
223
+ );
224
+ --> statement-breakpoint
225
+ CREATE TABLE "document_management"."type_property" (
226
+ "id" uuid PRIMARY KEY DEFAULT gen_random_uuid() NOT NULL,
227
+ "tenant_id" uuid,
228
+ "type_id" uuid NOT NULL,
229
+ "property_id" uuid NOT NULL,
230
+ "revision" integer NOT NULL,
231
+ "revision_timestamp" timestamp with time zone NOT NULL,
232
+ "create_timestamp" timestamp with time zone NOT NULL,
233
+ "delete_timestamp" timestamp with time zone,
234
+ "attributes" jsonb DEFAULT '{}'::jsonb NOT NULL,
235
+ CONSTRAINT "type_property_tenant_id_type_id_property_id_unique" UNIQUE("tenant_id","type_id","property_id")
236
+ );
237
+ --> statement-breakpoint
238
+ CREATE TABLE "document_management"."document_type_validation" (
239
+ "id" uuid PRIMARY KEY DEFAULT gen_random_uuid() NOT NULL,
240
+ "tenant_id" uuid,
241
+ "type_id" uuid NOT NULL,
242
+ "validation_id" uuid NOT NULL,
243
+ "revision" integer NOT NULL,
244
+ "revision_timestamp" timestamp with time zone NOT NULL,
245
+ "create_timestamp" timestamp with time zone NOT NULL,
246
+ "delete_timestamp" timestamp with time zone,
247
+ "attributes" jsonb DEFAULT '{}'::jsonb NOT NULL,
248
+ CONSTRAINT "document_type_validation_tenant_id_type_id_validation_id_unique" UNIQUE("tenant_id","type_id","validation_id")
249
+ );
250
+ --> statement-breakpoint
251
+ CREATE TABLE "document_management"."validation_definition" (
252
+ "id" uuid PRIMARY KEY DEFAULT gen_random_uuid() NOT NULL,
253
+ "tenant_id" uuid,
254
+ "identifier" text NOT NULL,
255
+ "label" text NOT NULL,
256
+ "description" text,
257
+ "configuration" jsonb NOT NULL,
258
+ "revision" integer NOT NULL,
259
+ "revision_timestamp" timestamp with time zone NOT NULL,
260
+ "create_timestamp" timestamp with time zone NOT NULL,
261
+ "delete_timestamp" timestamp with time zone,
262
+ "attributes" jsonb DEFAULT '{}'::jsonb NOT NULL
263
+ );
264
+ --> statement-breakpoint
265
+ CREATE TABLE "document_management"."validation_execution" (
266
+ "id" uuid PRIMARY KEY DEFAULT gen_random_uuid() NOT NULL,
267
+ "tenant_id" uuid NOT NULL,
268
+ "workflow_id" uuid NOT NULL,
269
+ "definition_id" uuid NOT NULL,
270
+ "state" "document_management"."validation_execution_state" NOT NULL,
271
+ "result_status" "document_management"."validation_result_status",
272
+ "result_message" text,
273
+ "started_at" timestamp with time zone,
274
+ "completed_at" timestamp with time zone,
275
+ "revision" integer NOT NULL,
276
+ "revision_timestamp" timestamp with time zone NOT NULL,
277
+ "create_timestamp" timestamp with time zone NOT NULL,
278
+ "delete_timestamp" timestamp with time zone,
279
+ "attributes" jsonb DEFAULT '{}'::jsonb NOT NULL,
280
+ CONSTRAINT "validation_execution_tenant_id_workflow_id_definition_id_unique" UNIQUE("tenant_id","workflow_id","definition_id")
281
+ );
282
+ --> statement-breakpoint
283
+ CREATE TABLE "document_management"."validation_execution_related_document" (
284
+ "id" uuid PRIMARY KEY DEFAULT gen_random_uuid() NOT NULL,
285
+ "tenant_id" uuid NOT NULL,
286
+ "execution_id" uuid NOT NULL,
287
+ "document_id" uuid NOT NULL,
288
+ "revision" integer NOT NULL,
289
+ "revision_timestamp" timestamp with time zone NOT NULL,
290
+ "create_timestamp" timestamp with time zone NOT NULL,
291
+ "delete_timestamp" timestamp with time zone,
292
+ "attributes" jsonb DEFAULT '{}'::jsonb NOT NULL,
293
+ CONSTRAINT "verd_tenant_id_execution_id_document_id_unique" UNIQUE("tenant_id","execution_id","document_id")
294
+ );
295
+ --> statement-breakpoint
296
+ CREATE TABLE "document_management"."workflow" (
297
+ "id" uuid PRIMARY KEY DEFAULT gen_random_uuid() NOT NULL,
298
+ "tenant_id" uuid NOT NULL,
299
+ "document_id" uuid NOT NULL,
300
+ "step" "document_management"."workflow_step" NOT NULL,
301
+ "state" "document_management"."workflow_state" NOT NULL,
302
+ "fail_reason" "document_management"."workflow_fail_reason",
303
+ "complete_timestamp" timestamp with time zone,
304
+ "complete_user_id" uuid,
305
+ "revision" integer NOT NULL,
306
+ "revision_timestamp" timestamp with time zone NOT NULL,
307
+ "create_timestamp" timestamp with time zone NOT NULL,
308
+ "delete_timestamp" timestamp with time zone,
309
+ "attributes" jsonb DEFAULT '{}'::jsonb NOT NULL
310
+ );
311
+ --> statement-breakpoint
312
+ ALTER TABLE "document_management"."document" ADD CONSTRAINT "document_type_id_type_id_fk" FOREIGN KEY ("type_id") REFERENCES "document_management"."type"("id") ON DELETE no action ON UPDATE no action;--> statement-breakpoint
313
+ ALTER TABLE "document_management"."assignment_scope" ADD CONSTRAINT "assignment_scope_task_id_assignment_task_id_fk" FOREIGN KEY ("task_id") REFERENCES "document_management"."assignment_task"("id") ON DELETE no action ON UPDATE no action;--> statement-breakpoint
314
+ ALTER TABLE "document_management"."assignment_scope" ADD CONSTRAINT "assignment_scope_collection_id_collection_id_fk" FOREIGN KEY ("collection_id") REFERENCES "document_management"."collection"("id") ON DELETE no action ON UPDATE no action;--> statement-breakpoint
315
+ ALTER TABLE "document_management"."assignment_scope" ADD CONSTRAINT "assignment_scope_tenantId_collectionId_fkey" FOREIGN KEY ("tenant_id","collection_id") REFERENCES "document_management"."collection"("tenant_id","id") ON DELETE no action ON UPDATE no action;--> statement-breakpoint
316
+ ALTER TABLE "document_management"."assignment_scope" ADD CONSTRAINT "assignment_scope_tenantId_taskId_fkey" FOREIGN KEY ("tenant_id","task_id") REFERENCES "document_management"."assignment_task"("tenant_id","id") ON DELETE no action ON UPDATE no action;--> statement-breakpoint
317
+ ALTER TABLE "document_management"."assignment_task" ADD CONSTRAINT "assignment_task_document_id_document_id_fk" FOREIGN KEY ("document_id") REFERENCES "document_management"."document"("id") ON DELETE no action ON UPDATE no action;--> statement-breakpoint
318
+ ALTER TABLE "document_management"."assignment_task" ADD CONSTRAINT "assignment_task_tenantId_documentId_fkey" FOREIGN KEY ("tenant_id","document_id") REFERENCES "document_management"."document"("tenant_id","id") ON DELETE no action ON UPDATE no action;--> statement-breakpoint
319
+ ALTER TABLE "document_management"."category" ADD CONSTRAINT "category_parent_id_category_id_fk" FOREIGN KEY ("parent_id") REFERENCES "document_management"."category"("id") ON DELETE no action ON UPDATE no action;--> statement-breakpoint
320
+ ALTER TABLE "document_management"."collection" ADD CONSTRAINT "collection_parent_id_collection_id_fk" FOREIGN KEY ("parent_id") REFERENCES "document_management"."collection"("id") ON DELETE no action ON UPDATE no action;--> statement-breakpoint
321
+ ALTER TABLE "document_management"."collection_assignment" ADD CONSTRAINT "collection_assignment_collection_id_collection_id_fk" FOREIGN KEY ("collection_id") REFERENCES "document_management"."collection"("id") ON DELETE no action ON UPDATE no action;--> statement-breakpoint
322
+ ALTER TABLE "document_management"."collection_assignment" ADD CONSTRAINT "collection_assignment_document_id_document_id_fk" FOREIGN KEY ("document_id") REFERENCES "document_management"."document"("id") ON DELETE no action ON UPDATE no action;--> statement-breakpoint
323
+ ALTER TABLE "document_management"."collection_assignment" ADD CONSTRAINT "collection_assignment_tenantId_documentId_fkey" FOREIGN KEY ("tenant_id","document_id") REFERENCES "document_management"."document"("tenant_id","id") ON DELETE no action ON UPDATE no action;--> statement-breakpoint
324
+ ALTER TABLE "document_management"."collection_assignment" ADD CONSTRAINT "collection_assignment_tenantId_collectionId_fkey" FOREIGN KEY ("tenant_id","collection_id") REFERENCES "document_management"."collection"("tenant_id","id") ON DELETE no action ON UPDATE no action;--> statement-breakpoint
325
+ ALTER TABLE "document_management"."property_value" ADD CONSTRAINT "property_value_document_id_document_id_fk" FOREIGN KEY ("document_id") REFERENCES "document_management"."document"("id") ON DELETE no action ON UPDATE no action;--> statement-breakpoint
326
+ ALTER TABLE "document_management"."property_value" ADD CONSTRAINT "property_value_property_id_property_id_fk" FOREIGN KEY ("property_id") REFERENCES "document_management"."property"("id") ON DELETE no action ON UPDATE no action;--> statement-breakpoint
327
+ ALTER TABLE "document_management"."property_value" ADD CONSTRAINT "property_value_tenantId_documentId_fkey" FOREIGN KEY ("tenant_id","document_id") REFERENCES "document_management"."document"("tenant_id","id") ON DELETE no action ON UPDATE no action;--> statement-breakpoint
328
+ ALTER TABLE "document_management"."request" ADD CONSTRAINT "request_type_id_type_id_fk" FOREIGN KEY ("type_id") REFERENCES "document_management"."type"("id") ON DELETE no action ON UPDATE no action;--> statement-breakpoint
329
+ ALTER TABLE "document_management"."request" ADD CONSTRAINT "request_document_id_document_id_fk" FOREIGN KEY ("document_id") REFERENCES "document_management"."document"("id") ON DELETE no action ON UPDATE no action;--> statement-breakpoint
330
+ ALTER TABLE "document_management"."request" ADD CONSTRAINT "request_tenantId_documentId_fkey" FOREIGN KEY ("tenant_id","document_id") REFERENCES "document_management"."document"("tenant_id","id") ON DELETE no action ON UPDATE no action;--> statement-breakpoint
331
+ ALTER TABLE "document_management"."request_collection_assignment" ADD CONSTRAINT "request_collection_assignment_request_id_request_id_fk" FOREIGN KEY ("request_id") REFERENCES "document_management"."request"("id") ON DELETE no action ON UPDATE no action;--> statement-breakpoint
332
+ ALTER TABLE "document_management"."request_collection_assignment" ADD CONSTRAINT "request_collection_assignment_collection_id_collection_id_fk" FOREIGN KEY ("collection_id") REFERENCES "document_management"."collection"("id") ON DELETE no action ON UPDATE no action;--> statement-breakpoint
333
+ ALTER TABLE "document_management"."request_collection_assignment" ADD CONSTRAINT "request_collection_assignment_tenantId_collectionId_fkey" FOREIGN KEY ("tenant_id","collection_id") REFERENCES "document_management"."collection"("tenant_id","id") ON DELETE no action ON UPDATE no action;--> statement-breakpoint
334
+ ALTER TABLE "document_management"."request_collection_assignment" ADD CONSTRAINT "request_collection_assignment_tenantId_requestId_fkey" FOREIGN KEY ("tenant_id","request_id") REFERENCES "document_management"."request"("tenant_id","id") ON DELETE no action ON UPDATE no action;--> statement-breakpoint
335
+ ALTER TABLE "document_management"."request_template" ADD CONSTRAINT "request_template_requests_template_id_requests_template_id_fk" FOREIGN KEY ("requests_template_id") REFERENCES "document_management"."requests_template"("id") ON DELETE no action ON UPDATE no action;--> statement-breakpoint
336
+ ALTER TABLE "document_management"."request_template" ADD CONSTRAINT "request_template_type_id_type_id_fk" FOREIGN KEY ("type_id") REFERENCES "document_management"."type"("id") ON DELETE no action ON UPDATE no action;--> statement-breakpoint
337
+ ALTER TABLE "document_management"."tag_assignment" ADD CONSTRAINT "tag_assignment_document_id_document_id_fk" FOREIGN KEY ("document_id") REFERENCES "document_management"."document"("id") ON DELETE no action ON UPDATE no action;--> statement-breakpoint
338
+ ALTER TABLE "document_management"."tag_assignment" ADD CONSTRAINT "tag_assignment_tag_id_tag_id_fk" FOREIGN KEY ("tag_id") REFERENCES "document_management"."tag"("id") ON DELETE no action ON UPDATE no action;--> statement-breakpoint
339
+ ALTER TABLE "document_management"."tag_assignment" ADD CONSTRAINT "tag_assignment_tenantId_documentId_fkey" FOREIGN KEY ("tenant_id","document_id") REFERENCES "document_management"."document"("tenant_id","id") ON DELETE no action ON UPDATE no action;--> statement-breakpoint
340
+ ALTER TABLE "document_management"."type" ADD CONSTRAINT "type_category_id_category_id_fk" FOREIGN KEY ("category_id") REFERENCES "document_management"."category"("id") ON DELETE no action ON UPDATE no action;--> statement-breakpoint
341
+ ALTER TABLE "document_management"."type_property" ADD CONSTRAINT "type_property_type_id_type_id_fk" FOREIGN KEY ("type_id") REFERENCES "document_management"."type"("id") ON DELETE no action ON UPDATE no action;--> statement-breakpoint
342
+ ALTER TABLE "document_management"."type_property" ADD CONSTRAINT "type_property_property_id_property_id_fk" FOREIGN KEY ("property_id") REFERENCES "document_management"."property"("id") ON DELETE no action ON UPDATE no action;--> statement-breakpoint
343
+ ALTER TABLE "document_management"."document_type_validation" ADD CONSTRAINT "document_type_validation_type_id_type_id_fk" FOREIGN KEY ("type_id") REFERENCES "document_management"."type"("id") ON DELETE no action ON UPDATE no action;--> statement-breakpoint
344
+ ALTER TABLE "document_management"."document_type_validation" ADD CONSTRAINT "document_type_validation_validation_id_validation_definition_id_fk" FOREIGN KEY ("validation_id") REFERENCES "document_management"."validation_definition"("id") ON DELETE no action ON UPDATE no action;--> statement-breakpoint
345
+ ALTER TABLE "document_management"."validation_execution" ADD CONSTRAINT "validation_execution_workflow_id_workflow_id_fk" FOREIGN KEY ("workflow_id") REFERENCES "document_management"."workflow"("id") ON DELETE no action ON UPDATE no action;--> statement-breakpoint
346
+ ALTER TABLE "document_management"."validation_execution" ADD CONSTRAINT "validation_execution_definition_id_validation_definition_id_fk" FOREIGN KEY ("definition_id") REFERENCES "document_management"."validation_definition"("id") ON DELETE no action ON UPDATE no action;--> statement-breakpoint
347
+ ALTER TABLE "document_management"."validation_execution" ADD CONSTRAINT "validation_execution_tenantId_workflowId_fkey" FOREIGN KEY ("tenant_id","workflow_id") REFERENCES "document_management"."workflow"("tenant_id","id") ON DELETE no action ON UPDATE no action;--> statement-breakpoint
348
+ ALTER TABLE "document_management"."validation_execution_related_document" ADD CONSTRAINT "validation_execution_related_document_execution_id_validation_execution_id_fk" FOREIGN KEY ("execution_id") REFERENCES "document_management"."validation_execution"("id") ON DELETE no action ON UPDATE no action;--> statement-breakpoint
349
+ ALTER TABLE "document_management"."validation_execution_related_document" ADD CONSTRAINT "validation_execution_related_document_document_id_document_id_fk" FOREIGN KEY ("document_id") REFERENCES "document_management"."document"("id") ON DELETE no action ON UPDATE no action;--> statement-breakpoint
350
+ ALTER TABLE "document_management"."validation_execution_related_document" ADD CONSTRAINT "validation_execution_related_document_tenantId_documentId_fkey" FOREIGN KEY ("tenant_id","document_id") REFERENCES "document_management"."document"("tenant_id","id") ON DELETE no action ON UPDATE no action;--> statement-breakpoint
351
+ ALTER TABLE "document_management"."validation_execution_related_document" ADD CONSTRAINT "validation_execution_related_document_tenantId_executionId_fkey" FOREIGN KEY ("tenant_id","execution_id") REFERENCES "document_management"."validation_execution"("tenant_id","id") ON DELETE no action ON UPDATE no action;--> statement-breakpoint
352
+ ALTER TABLE "document_management"."workflow" ADD CONSTRAINT "workflow_document_id_document_id_fk" FOREIGN KEY ("document_id") REFERENCES "document_management"."document"("id") ON DELETE no action ON UPDATE no action;--> statement-breakpoint
353
+ ALTER TABLE "document_management"."workflow" ADD CONSTRAINT "workflow_tenantId_documentId_fkey" FOREIGN KEY ("tenant_id","document_id") REFERENCES "document_management"."document"("tenant_id","id") ON DELETE no action ON UPDATE no action;--> statement-breakpoint
354
+ CREATE INDEX "collection_assignment_collection_id_idx" ON "document_management"."collection_assignment" USING btree ("collection_id");--> statement-breakpoint
355
+ CREATE INDEX "request_type_id_idx" ON "document_management"."request" USING btree ("type_id");--> statement-breakpoint
356
+ CREATE INDEX "request_state_idx" ON "document_management"."request" USING btree ("state");--> statement-breakpoint
357
+ CREATE INDEX "request_collection_assignment_collection_id_idx" ON "document_management"."request_collection_assignment" USING btree ("collection_id");--> statement-breakpoint
358
+ CREATE INDEX "document_type_validation_type_id_idx" ON "document_management"."document_type_validation" USING btree ("type_id");--> statement-breakpoint
359
+ CREATE UNIQUE INDEX "workflow_document_id_idx" ON "document_management"."workflow" USING btree ("document_id") WHERE "document_management"."workflow"."state" <> 'completed';