@tstdl/base 0.92.142 → 0.92.144

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 (223) 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/document-management/api/document-management.api.d.ts +122 -24
  21. package/document-management/api/document-management.api.js +17 -0
  22. package/document-management/{server/services → authorization}/document-management-authorization.service.d.ts +7 -7
  23. package/document-management/authorization/document-management-authorization.service.js +2 -0
  24. package/document-management/authorization/index.d.ts +2 -0
  25. package/document-management/authorization/index.js +2 -0
  26. package/document-management/authorization/policies.d.ts +38 -0
  27. package/document-management/authorization/policies.js +2 -0
  28. package/document-management/index.d.ts +1 -0
  29. package/document-management/index.js +1 -0
  30. package/document-management/models/document-assignment-scope.model.d.ts +1 -0
  31. package/document-management/models/document-assignment-scope.model.js +10 -3
  32. package/document-management/models/document-assignment-task.model.d.ts +1 -0
  33. package/document-management/models/document-assignment-task.model.js +8 -2
  34. package/document-management/models/document-category.model.d.ts +1 -0
  35. package/document-management/models/document-category.model.js +7 -1
  36. package/document-management/models/document-collection-assignment.model.d.ts +1 -0
  37. package/document-management/models/document-collection-assignment.model.js +12 -4
  38. package/document-management/models/document-collection.model.d.ts +2 -0
  39. package/document-management/models/document-collection.model.js +8 -2
  40. package/document-management/models/document-management-table.d.ts +3 -1
  41. package/document-management/models/document-management-table.js +2 -2
  42. package/document-management/models/document-property-value.model.d.ts +1 -0
  43. package/document-management/models/document-property-value.model.js +9 -3
  44. package/document-management/models/document-property.model.d.ts +1 -0
  45. package/document-management/models/document-property.model.js +8 -2
  46. package/document-management/models/document-request-collection-assignment.model.d.ts +1 -0
  47. package/document-management/models/document-request-collection-assignment.model.js +12 -4
  48. package/document-management/models/document-request-template.d.ts +1 -0
  49. package/document-management/models/document-request-template.js +6 -1
  50. package/document-management/models/document-request.model.d.ts +1 -0
  51. package/document-management/models/document-request.model.js +10 -1
  52. package/document-management/models/document-requests-template.d.ts +1 -0
  53. package/document-management/models/document-requests-template.js +7 -3
  54. package/document-management/models/document-tag-assignment.model.d.ts +8 -0
  55. package/document-management/models/document-tag-assignment.model.js +40 -0
  56. package/document-management/models/document-tag.model.d.ts +6 -0
  57. package/document-management/models/{document-request-submission.model.js → document-tag.model.js} +14 -18
  58. package/document-management/models/document-type-property.model.d.ts +1 -0
  59. package/document-management/models/document-type-property.model.js +7 -2
  60. package/document-management/models/document-type-validation.model.d.ts +1 -0
  61. package/document-management/models/document-type-validation.model.js +8 -2
  62. package/document-management/models/document-type.model.d.ts +1 -0
  63. package/document-management/models/document-type.model.js +7 -2
  64. package/document-management/models/document-validation-definition.model.d.ts +1 -0
  65. package/document-management/models/document-validation-definition.model.js +7 -2
  66. package/document-management/models/document-validation-execution-related-document.model.d.ts +1 -0
  67. package/document-management/models/document-validation-execution-related-document.model.js +10 -3
  68. package/document-management/models/document-validation-execution.model.d.ts +1 -0
  69. package/document-management/models/document-validation-execution.model.js +9 -3
  70. package/document-management/models/document-workflow.model.d.ts +4 -1
  71. package/document-management/models/document-workflow.model.js +16 -4
  72. package/document-management/models/document.model.d.ts +2 -2
  73. package/document-management/models/document.model.js +9 -8
  74. package/document-management/models/index.d.ts +2 -1
  75. package/document-management/models/index.js +2 -1
  76. package/document-management/server/api/document-management.api.d.ts +4 -1
  77. package/document-management/server/api/document-management.api.js +113 -22
  78. package/document-management/server/configure.d.ts +2 -2
  79. package/document-management/server/configure.js +7 -7
  80. package/document-management/server/drizzle/0000_parallel_mantis.sql +359 -0
  81. package/document-management/server/drizzle/meta/0000_snapshot.json +784 -260
  82. package/document-management/server/drizzle/meta/_journal.json +2 -2
  83. package/document-management/server/module.d.ts +2 -2
  84. package/document-management/server/module.js +2 -2
  85. package/document-management/server/schemas.d.ts +6 -5
  86. package/document-management/server/schemas.js +12 -11
  87. package/document-management/server/services/document-category-type.service.d.ts +19 -10
  88. package/document-management/server/services/document-category-type.service.js +34 -27
  89. package/document-management/server/services/document-collection.service.d.ts +13 -6
  90. package/document-management/server/services/document-collection.service.js +36 -12
  91. package/document-management/server/services/document-file.service.d.ts +8 -7
  92. package/document-management/server/services/document-file.service.js +28 -33
  93. package/document-management/server/services/document-management-ai.service.d.ts +5 -4
  94. package/document-management/server/services/document-management-ai.service.js +51 -28
  95. package/document-management/server/services/document-management-ancillary.service.d.ts +3 -21
  96. package/document-management/server/services/document-management-ancillary.service.js +0 -24
  97. package/document-management/server/services/document-management-observation.service.d.ts +15 -0
  98. package/document-management/server/services/document-management-observation.service.js +160 -0
  99. package/document-management/server/services/document-management.service.d.ts +6 -5
  100. package/document-management/server/services/document-management.service.js +112 -86
  101. package/document-management/server/services/document-property.service.d.ts +15 -7
  102. package/document-management/server/services/document-property.service.js +52 -20
  103. package/document-management/server/services/document-request.service.d.ts +13 -24
  104. package/document-management/server/services/document-request.service.js +39 -62
  105. package/document-management/server/services/document-tag.service.d.ts +10 -0
  106. package/document-management/server/services/document-tag.service.js +59 -0
  107. package/document-management/server/services/document-validation.service.d.ts +8 -8
  108. package/document-management/server/services/document-validation.service.js +41 -40
  109. package/document-management/server/services/document-workflow.service.d.ts +6 -5
  110. package/document-management/server/services/document-workflow.service.js +54 -43
  111. package/document-management/server/services/document.service.d.ts +12 -11
  112. package/document-management/server/services/document.service.js +66 -40
  113. package/document-management/server/services/index.d.ts +2 -1
  114. package/document-management/server/services/index.js +2 -1
  115. package/document-management/server/services/singleton.js +2 -2
  116. package/document-management/server/validators/ai-validation-executor.js +4 -4
  117. package/document-management/service-models/document-collection-metadata.service-model.d.ts +14 -0
  118. package/document-management/service-models/document-collection-metadata.service-model.js +1 -0
  119. package/document-management/service-models/document-folders.view-model.d.ts +1 -7
  120. package/document-management/service-models/document-folders.view-model.js +3 -15
  121. package/document-management/service-models/document-management.view-model.d.ts +20 -6
  122. package/document-management/service-models/document-management.view-model.js +62 -8
  123. package/document-management/service-models/document.service-model.d.ts +14 -11
  124. package/document-management/service-models/document.service-model.js +11 -2
  125. package/document-management/service-models/enriched/enriched-document-assignment.view.d.ts +1 -1
  126. package/document-management/service-models/enriched/enriched-document-assignment.view.js +0 -2
  127. package/document-management/service-models/enriched/enriched-document-category.view.d.ts +11 -1
  128. package/document-management/service-models/enriched/enriched-document-category.view.js +44 -1
  129. package/document-management/service-models/enriched/enriched-document-collection.view.d.ts +4 -2
  130. package/document-management/service-models/enriched/enriched-document-collection.view.js +13 -3
  131. package/document-management/service-models/enriched/enriched-document-management-data.view.d.ts +2 -0
  132. package/document-management/service-models/enriched/enriched-document-management-data.view.js +4 -2
  133. package/document-management/service-models/enriched/enriched-document-request.view.d.ts +1 -0
  134. package/document-management/service-models/enriched/enriched-document-request.view.js +2 -0
  135. package/document-management/service-models/enriched/enriched-document-type.view.d.ts +9 -1
  136. package/document-management/service-models/enriched/enriched-document-type.view.js +28 -1
  137. package/document-management/service-models/enriched/enriched-document.view.d.ts +7 -6
  138. package/document-management/service-models/enriched/enriched-document.view.js +29 -6
  139. package/document-management/service-models/{normalized-requests-template-data.model.d.ts → enriched/enriched-requests-template-data.model.d.ts} +6 -6
  140. package/document-management/service-models/{normalized-requests-template-data.model.js → enriched/enriched-requests-template-data.model.js} +1 -1
  141. package/document-management/service-models/enriched/index.d.ts +1 -0
  142. package/document-management/service-models/enriched/index.js +1 -0
  143. package/document-management/service-models/index.d.ts +2 -2
  144. package/document-management/service-models/index.js +2 -2
  145. package/examples/document-management/categories-and-types.d.ts +33 -31
  146. package/examples/document-management/categories-and-types.js +33 -0
  147. package/examples/document-management/main.d.ts +5 -4
  148. package/examples/document-management/main.js +13 -7
  149. package/function/log.js +2 -2
  150. package/http/server/node/module.d.ts +4 -1
  151. package/http/server/node/module.js +10 -1
  152. package/http/server/node/node-http-server.d.ts +3 -6
  153. package/http/server/node/node-http-server.js +68 -67
  154. package/injector/inject.js +6 -6
  155. package/injector/injector.js +3 -3
  156. package/jsx/is-component-class.js +1 -1
  157. package/key-value-store/key-value.store.d.ts +38 -7
  158. package/key-value-store/key-value.store.js +2 -1
  159. package/key-value-store/mongo/mongo-key-value.store.d.ts +1 -0
  160. package/key-value-store/mongo/mongo-key-value.store.js +14 -5
  161. package/key-value-store/postgres/drizzle/0000_shocking_slipstream.sql +12 -0
  162. package/key-value-store/postgres/drizzle/meta/0000_snapshot.json +97 -0
  163. package/key-value-store/postgres/drizzle/meta/_journal.json +13 -0
  164. package/key-value-store/postgres/drizzle.config.d.ts +2 -0
  165. package/key-value-store/postgres/drizzle.config.js +11 -0
  166. package/key-value-store/postgres/index.d.ts +2 -0
  167. package/key-value-store/postgres/index.js +2 -0
  168. package/key-value-store/postgres/key-value-store.service.d.ts +17 -0
  169. package/key-value-store/postgres/key-value-store.service.js +65 -0
  170. package/key-value-store/postgres/models/index.d.ts +2 -0
  171. package/key-value-store/postgres/models/index.js +2 -0
  172. package/key-value-store/postgres/models/key-value.model.d.ts +7 -0
  173. package/key-value-store/postgres/models/key-value.model.js +35 -0
  174. package/key-value-store/postgres/models/schemas.d.ts +3 -0
  175. package/key-value-store/postgres/models/schemas.js +4 -0
  176. package/key-value-store/postgres/module.d.ts +6 -0
  177. package/key-value-store/postgres/module.js +23 -0
  178. package/lock/web/web-lock.d.ts +0 -1
  179. package/lock/web/web-lock.js +6 -13
  180. package/orm/data-types/timestamp.js +1 -1
  181. package/orm/decorators.d.ts +37 -29
  182. package/orm/decorators.js +44 -24
  183. package/orm/entity.d.ts +1 -0
  184. package/orm/query.d.ts +10 -2
  185. package/orm/repository.types.d.ts +2 -1
  186. package/orm/schemas/json.d.ts +12 -6
  187. package/orm/schemas/json.js +12 -5
  188. package/orm/server/database.js +5 -2
  189. package/orm/server/drizzle/schema-converter.js +40 -11
  190. package/orm/server/query-converter.d.ts +2 -1
  191. package/orm/server/query-converter.js +57 -34
  192. package/orm/server/repository.d.ts +26 -43
  193. package/orm/server/repository.js +106 -39
  194. package/orm/server/transaction.d.ts +2 -1
  195. package/orm/server/transaction.js +3 -0
  196. package/orm/server/transactional.d.ts +5 -1
  197. package/orm/server/transactional.js +34 -4
  198. package/package.json +14 -11
  199. package/process/spawn.js +0 -1
  200. package/promise/deferred-promise.d.ts +4 -3
  201. package/promise/deferred-promise.js +13 -5
  202. package/queue/postgres/queue.js +8 -8
  203. package/reflection/utils.js +3 -3
  204. package/schema/decorators/class.js +0 -1
  205. package/schema/decorators/schema.js +1 -1
  206. package/schema/schemas/boolean.d.ts +1 -1
  207. package/schema/schemas/boolean.js +2 -2
  208. package/schema/schemas/number.js +3 -3
  209. package/schema/schemas/object.js +5 -6
  210. package/sse/server-sent-events-source.js +4 -1
  211. package/utils/compression.js +9 -9
  212. package/utils/date-time.d.ts +1 -0
  213. package/utils/date-time.js +18 -4
  214. package/utils/equals.d.ts +7 -0
  215. package/utils/equals.js +17 -2
  216. package/utils/function/memoize.js +10 -2
  217. package/utils/jwt.js +3 -3
  218. package/utils/object/property-name.d.ts +2 -2
  219. package/utils/timing.d.ts +2 -2
  220. package/utils/timing.js +12 -12
  221. package/document-management/models/document-request-submission.model.d.ts +0 -7
  222. package/document-management/server/drizzle/0000_moaning_luckman.sql +0 -305
  223. package/document-management/server/services/document-management-authorization.service.js +0 -28
@@ -1,305 +0,0 @@
1
- CREATE TYPE "document_management"."document_approval" AS ENUM('pending', 'approved', 'rejected');--> statement-breakpoint
2
- CREATE TYPE "document_management"."document_assignment_target" AS ENUM('collection', 'request');--> statement-breakpoint
3
- CREATE TYPE "document_management"."document_property_data_type" AS ENUM('text', 'integer', 'decimal', 'boolean', 'date');--> statement-breakpoint
4
- CREATE TYPE "document_management"."document_request_state" AS ENUM('open', 'fulfilled', 'closed');--> statement-breakpoint
5
- CREATE TYPE "document_management"."document_validation_execution_state" AS ENUM('pending', 'running', 'completed', 'error');--> statement-breakpoint
6
- CREATE TYPE "document_management"."document_validation_result_status" AS ENUM('passed', 'failed', 'warning');--> statement-breakpoint
7
- CREATE TYPE "document_management"."document_workflow_fail_reason" AS ENUM('no-suitable-collection', 'no-suitable-request');--> statement-breakpoint
8
- CREATE TYPE "document_management"."document_workflow_state" AS ENUM('pending', 'running', 'completed', 'error', 'failed');--> statement-breakpoint
9
- CREATE TYPE "document_management"."document_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
- "type_id" uuid,
13
- "title" text,
14
- "subtitle" text,
15
- "pages" integer,
16
- "date" date,
17
- "summary" text,
18
- "tags" 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
- );
32
- --> statement-breakpoint
33
- CREATE TABLE "document_management"."document_assignment_scope" (
34
- "id" uuid PRIMARY KEY DEFAULT gen_random_uuid() NOT NULL,
35
- "task_id" uuid NOT NULL,
36
- "collection_id" uuid NOT NULL,
37
- "revision" integer NOT NULL,
38
- "revision_timestamp" timestamp with time zone NOT NULL,
39
- "create_timestamp" timestamp with time zone NOT NULL,
40
- "delete_timestamp" timestamp with time zone,
41
- "attributes" jsonb DEFAULT '{}'::jsonb NOT NULL,
42
- CONSTRAINT "das_task_id_collection_id_unique" UNIQUE("task_id","collection_id")
43
- );
44
- --> statement-breakpoint
45
- CREATE TABLE "document_management"."document_assignment_task" (
46
- "id" uuid PRIMARY KEY DEFAULT gen_random_uuid() NOT NULL,
47
- "document_id" uuid NOT NULL,
48
- "target" "document_management"."document_assignment_target" NOT NULL,
49
- "revision" integer NOT NULL,
50
- "revision_timestamp" timestamp with time zone NOT NULL,
51
- "create_timestamp" timestamp with time zone NOT NULL,
52
- "delete_timestamp" timestamp with time zone,
53
- "attributes" jsonb DEFAULT '{}'::jsonb NOT NULL,
54
- CONSTRAINT "document_assignment_task_document_id_unique" UNIQUE("document_id")
55
- );
56
- --> statement-breakpoint
57
- CREATE TABLE "document_management"."document_category" (
58
- "id" uuid PRIMARY KEY DEFAULT gen_random_uuid() NOT NULL,
59
- "parent_id" uuid,
60
- "label" text NOT NULL,
61
- "revision" integer NOT NULL,
62
- "revision_timestamp" timestamp with time zone NOT NULL,
63
- "create_timestamp" timestamp with time zone NOT NULL,
64
- "delete_timestamp" timestamp with time zone,
65
- "attributes" jsonb DEFAULT '{}'::jsonb NOT NULL,
66
- CONSTRAINT "document_category_label_unique" UNIQUE("label")
67
- );
68
- --> statement-breakpoint
69
- CREATE TABLE "document_management"."document_collection" (
70
- "id" uuid PRIMARY KEY DEFAULT gen_random_uuid() NOT NULL,
71
- "parent_id" uuid,
72
- "revision" integer NOT NULL,
73
- "revision_timestamp" timestamp with time zone NOT NULL,
74
- "create_timestamp" timestamp with time zone NOT NULL,
75
- "delete_timestamp" timestamp with time zone,
76
- "attributes" jsonb DEFAULT '{}'::jsonb NOT NULL
77
- );
78
- --> statement-breakpoint
79
- CREATE TABLE "document_management"."document_collection_assignment" (
80
- "id" uuid PRIMARY KEY DEFAULT gen_random_uuid() NOT NULL,
81
- "collection_id" uuid NOT NULL,
82
- "document_id" uuid NOT NULL,
83
- "archive_timestamp" timestamp with time zone,
84
- "revision" integer NOT NULL,
85
- "revision_timestamp" timestamp with time zone NOT NULL,
86
- "create_timestamp" timestamp with time zone NOT NULL,
87
- "delete_timestamp" timestamp with time zone,
88
- "attributes" jsonb DEFAULT '{}'::jsonb NOT NULL,
89
- CONSTRAINT "document_collection_assignment_collection_id_document_id_unique" UNIQUE("collection_id","document_id")
90
- );
91
- --> statement-breakpoint
92
- CREATE TABLE "document_management"."document_property" (
93
- "id" uuid PRIMARY KEY DEFAULT gen_random_uuid() NOT NULL,
94
- "label" text NOT NULL,
95
- "data_type" "document_management"."document_property_data_type" NOT NULL,
96
- "revision" integer NOT NULL,
97
- "revision_timestamp" timestamp with time zone NOT NULL,
98
- "create_timestamp" timestamp with time zone NOT NULL,
99
- "delete_timestamp" timestamp with time zone,
100
- "attributes" jsonb DEFAULT '{}'::jsonb NOT NULL,
101
- CONSTRAINT "document_property_label_unique" UNIQUE("label")
102
- );
103
- --> statement-breakpoint
104
- CREATE TABLE "document_management"."document_property_value" (
105
- "id" uuid PRIMARY KEY DEFAULT gen_random_uuid() NOT NULL,
106
- "document_id" uuid NOT NULL,
107
- "property_id" uuid NOT NULL,
108
- "text" text,
109
- "integer" integer,
110
- "decimal" double precision,
111
- "boolean" boolean,
112
- "date" date,
113
- "revision" integer NOT NULL,
114
- "revision_timestamp" timestamp with time zone NOT NULL,
115
- "create_timestamp" timestamp with time zone NOT NULL,
116
- "delete_timestamp" timestamp with time zone,
117
- "attributes" jsonb DEFAULT '{}'::jsonb NOT NULL,
118
- CONSTRAINT "document_property_value_document_id_property_id_unique" UNIQUE("document_id","property_id"),
119
- CONSTRAINT "only_one_value" CHECK (num_nonnulls("document_management"."document_property_value"."text", "document_management"."document_property_value"."integer", "document_management"."document_property_value"."decimal", "document_management"."document_property_value"."boolean", "document_management"."document_property_value"."date") = 1)
120
- );
121
- --> statement-breakpoint
122
- CREATE TABLE "document_management"."document_request" (
123
- "id" uuid PRIMARY KEY DEFAULT gen_random_uuid() NOT NULL,
124
- "type_id" uuid,
125
- "document_id" uuid,
126
- "comment" text,
127
- "state" "document_management"."document_request_state" NOT NULL,
128
- "revision" integer NOT NULL,
129
- "revision_timestamp" timestamp with time zone NOT NULL,
130
- "create_timestamp" timestamp with time zone NOT NULL,
131
- "delete_timestamp" timestamp with time zone,
132
- "attributes" jsonb DEFAULT '{}'::jsonb NOT NULL,
133
- CONSTRAINT "document_request_document_id_unique" UNIQUE("document_id")
134
- );
135
- --> statement-breakpoint
136
- CREATE TABLE "document_management"."document_request_collection_assignment" (
137
- "id" uuid PRIMARY KEY DEFAULT gen_random_uuid() NOT NULL,
138
- "request_id" uuid NOT NULL,
139
- "collection_id" uuid 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 "document_request_collection_assignment_request_id_collection_id_unique" UNIQUE("request_id","collection_id")
146
- );
147
- --> statement-breakpoint
148
- CREATE TABLE "document_management"."document_request_submission" (
149
- "id" uuid PRIMARY KEY DEFAULT gen_random_uuid() NOT NULL,
150
- "request_id" uuid NOT NULL,
151
- "document_id" uuid NOT NULL,
152
- "revision" integer NOT NULL,
153
- "revision_timestamp" timestamp with time zone NOT NULL,
154
- "create_timestamp" timestamp with time zone NOT NULL,
155
- "delete_timestamp" timestamp with time zone,
156
- "attributes" jsonb DEFAULT '{}'::jsonb NOT NULL,
157
- CONSTRAINT "document_request_submission_request_id_document_id_unique" UNIQUE("request_id","document_id")
158
- );
159
- --> statement-breakpoint
160
- CREATE TABLE "document_management"."document_request_template" (
161
- "id" uuid PRIMARY KEY DEFAULT gen_random_uuid() NOT NULL,
162
- "requests_template_id" uuid NOT NULL,
163
- "type_id" uuid NOT NULL,
164
- "comment" text,
165
- "revision" integer NOT NULL,
166
- "revision_timestamp" timestamp with time zone NOT NULL,
167
- "create_timestamp" timestamp with time zone NOT NULL,
168
- "delete_timestamp" timestamp with time zone,
169
- "attributes" jsonb DEFAULT '{}'::jsonb NOT NULL
170
- );
171
- --> statement-breakpoint
172
- CREATE TABLE "document_management"."document_requests_template" (
173
- "id" uuid PRIMARY KEY DEFAULT gen_random_uuid() NOT NULL,
174
- "label" text NOT NULL,
175
- "description" text,
176
- "revision" integer NOT NULL,
177
- "revision_timestamp" timestamp with time zone NOT NULL,
178
- "create_timestamp" timestamp with time zone NOT NULL,
179
- "delete_timestamp" timestamp with time zone,
180
- "attributes" jsonb DEFAULT '{}'::jsonb NOT NULL,
181
- CONSTRAINT "document_requests_template_label_unique" UNIQUE("label")
182
- );
183
- --> statement-breakpoint
184
- CREATE TABLE "document_management"."document_type" (
185
- "id" uuid PRIMARY KEY DEFAULT gen_random_uuid() NOT NULL,
186
- "category_id" uuid NOT NULL,
187
- "label" text NOT NULL,
188
- "revision" integer NOT NULL,
189
- "revision_timestamp" timestamp with time zone NOT NULL,
190
- "create_timestamp" timestamp with time zone NOT NULL,
191
- "delete_timestamp" timestamp with time zone,
192
- "attributes" jsonb DEFAULT '{}'::jsonb NOT NULL,
193
- CONSTRAINT "document_type_category_id_label_unique" UNIQUE("category_id","label")
194
- );
195
- --> statement-breakpoint
196
- CREATE TABLE "document_management"."document_type_property" (
197
- "id" uuid PRIMARY KEY DEFAULT gen_random_uuid() NOT NULL,
198
- "type_id" uuid NOT NULL,
199
- "property_id" uuid NOT NULL,
200
- "revision" integer NOT NULL,
201
- "revision_timestamp" timestamp with time zone NOT NULL,
202
- "create_timestamp" timestamp with time zone NOT NULL,
203
- "delete_timestamp" timestamp with time zone,
204
- "attributes" jsonb DEFAULT '{}'::jsonb NOT NULL,
205
- CONSTRAINT "document_type_property_type_id_property_id_unique" UNIQUE("type_id","property_id")
206
- );
207
- --> statement-breakpoint
208
- CREATE TABLE "document_management"."document_type_validation" (
209
- "id" uuid PRIMARY KEY DEFAULT gen_random_uuid() NOT NULL,
210
- "type_id" uuid NOT NULL,
211
- "validation_id" uuid NOT NULL,
212
- "revision" integer NOT NULL,
213
- "revision_timestamp" timestamp with time zone NOT NULL,
214
- "create_timestamp" timestamp with time zone NOT NULL,
215
- "delete_timestamp" timestamp with time zone,
216
- "attributes" jsonb DEFAULT '{}'::jsonb NOT NULL,
217
- CONSTRAINT "document_type_validation_type_id_validation_id_unique" UNIQUE("type_id","validation_id")
218
- );
219
- --> statement-breakpoint
220
- CREATE TABLE "document_management"."document_validation_definition" (
221
- "id" uuid PRIMARY KEY DEFAULT gen_random_uuid() NOT NULL,
222
- "identifier" text NOT NULL,
223
- "label" text NOT NULL,
224
- "description" text,
225
- "configuration" jsonb NOT NULL,
226
- "revision" integer NOT NULL,
227
- "revision_timestamp" timestamp with time zone NOT NULL,
228
- "create_timestamp" timestamp with time zone NOT NULL,
229
- "delete_timestamp" timestamp with time zone,
230
- "attributes" jsonb DEFAULT '{}'::jsonb NOT NULL
231
- );
232
- --> statement-breakpoint
233
- CREATE TABLE "document_management"."document_validation_execution" (
234
- "id" uuid PRIMARY KEY DEFAULT gen_random_uuid() NOT NULL,
235
- "workflow_id" uuid NOT NULL,
236
- "definition_id" uuid NOT NULL,
237
- "state" "document_management"."document_validation_execution_state" NOT NULL,
238
- "result_status" "document_management"."document_validation_result_status",
239
- "result_message" text,
240
- "started_at" timestamp with time zone,
241
- "completed_at" timestamp with time zone,
242
- "revision" integer NOT NULL,
243
- "revision_timestamp" timestamp with time zone NOT NULL,
244
- "create_timestamp" timestamp with time zone NOT NULL,
245
- "delete_timestamp" timestamp with time zone,
246
- "attributes" jsonb DEFAULT '{}'::jsonb NOT NULL,
247
- CONSTRAINT "document_validation_execution_workflow_id_definition_id_unique" UNIQUE("workflow_id","definition_id")
248
- );
249
- --> statement-breakpoint
250
- CREATE TABLE "document_management"."document_validation_execution_related_document" (
251
- "id" uuid PRIMARY KEY DEFAULT gen_random_uuid() NOT NULL,
252
- "execution_id" uuid NOT NULL,
253
- "document_id" uuid NOT NULL,
254
- "revision" integer NOT NULL,
255
- "revision_timestamp" timestamp with time zone NOT NULL,
256
- "create_timestamp" timestamp with time zone NOT NULL,
257
- "delete_timestamp" timestamp with time zone,
258
- "attributes" jsonb DEFAULT '{}'::jsonb NOT NULL,
259
- CONSTRAINT "dverd_execution_id_document_id_unique" UNIQUE("execution_id","document_id")
260
- );
261
- --> statement-breakpoint
262
- CREATE TABLE "document_management"."document_workflow" (
263
- "id" uuid PRIMARY KEY DEFAULT gen_random_uuid() NOT NULL,
264
- "document_id" uuid NOT NULL,
265
- "step" "document_management"."document_workflow_step" NOT NULL,
266
- "state" "document_management"."document_workflow_state" NOT NULL,
267
- "fail_reason" "document_management"."document_workflow_fail_reason",
268
- "complete_user_id" uuid,
269
- "revision" integer NOT NULL,
270
- "revision_timestamp" timestamp with time zone NOT NULL,
271
- "create_timestamp" timestamp with time zone NOT NULL,
272
- "delete_timestamp" timestamp with time zone,
273
- "attributes" jsonb DEFAULT '{}'::jsonb NOT NULL
274
- );
275
- --> statement-breakpoint
276
- ALTER TABLE "document_management"."document" ADD CONSTRAINT "document_type_id_document_type_id_fk" FOREIGN KEY ("type_id") REFERENCES "document_management"."document_type"("id") ON DELETE no action ON UPDATE no action;--> statement-breakpoint
277
- ALTER TABLE "document_management"."document_assignment_scope" ADD CONSTRAINT "document_assignment_scope_task_id_document_assignment_task_id_fk" FOREIGN KEY ("task_id") REFERENCES "document_management"."document_assignment_task"("id") ON DELETE no action ON UPDATE no action;--> statement-breakpoint
278
- ALTER TABLE "document_management"."document_assignment_scope" ADD CONSTRAINT "document_assignment_scope_collection_id_document_collection_id_fk" FOREIGN KEY ("collection_id") REFERENCES "document_management"."document_collection"("id") ON DELETE no action ON UPDATE no action;--> statement-breakpoint
279
- ALTER TABLE "document_management"."document_assignment_task" ADD CONSTRAINT "document_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
280
- ALTER TABLE "document_management"."document_category" ADD CONSTRAINT "document_category_parent_id_document_category_id_fk" FOREIGN KEY ("parent_id") REFERENCES "document_management"."document_category"("id") ON DELETE no action ON UPDATE no action;--> statement-breakpoint
281
- ALTER TABLE "document_management"."document_collection" ADD CONSTRAINT "document_collection_parent_id_document_collection_id_fk" FOREIGN KEY ("parent_id") REFERENCES "document_management"."document_collection"("id") ON DELETE no action ON UPDATE no action;--> statement-breakpoint
282
- ALTER TABLE "document_management"."document_collection_assignment" ADD CONSTRAINT "document_collection_assignment_collection_id_document_collection_id_fk" FOREIGN KEY ("collection_id") REFERENCES "document_management"."document_collection"("id") ON DELETE no action ON UPDATE no action;--> statement-breakpoint
283
- ALTER TABLE "document_management"."document_collection_assignment" ADD CONSTRAINT "document_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
284
- ALTER TABLE "document_management"."document_property_value" ADD CONSTRAINT "document_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
285
- ALTER TABLE "document_management"."document_property_value" ADD CONSTRAINT "document_property_value_property_id_document_property_id_fk" FOREIGN KEY ("property_id") REFERENCES "document_management"."document_property"("id") ON DELETE no action ON UPDATE no action;--> statement-breakpoint
286
- ALTER TABLE "document_management"."document_request" ADD CONSTRAINT "document_request_type_id_document_type_id_fk" FOREIGN KEY ("type_id") REFERENCES "document_management"."document_type"("id") ON DELETE no action ON UPDATE no action;--> statement-breakpoint
287
- ALTER TABLE "document_management"."document_request" ADD CONSTRAINT "document_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
288
- ALTER TABLE "document_management"."document_request_collection_assignment" ADD CONSTRAINT "document_request_collection_assignment_request_id_document_request_id_fk" FOREIGN KEY ("request_id") REFERENCES "document_management"."document_request"("id") ON DELETE no action ON UPDATE no action;--> statement-breakpoint
289
- ALTER TABLE "document_management"."document_request_collection_assignment" ADD CONSTRAINT "document_request_collection_assignment_collection_id_document_collection_id_fk" FOREIGN KEY ("collection_id") REFERENCES "document_management"."document_collection"("id") ON DELETE no action ON UPDATE no action;--> statement-breakpoint
290
- ALTER TABLE "document_management"."document_request_submission" ADD CONSTRAINT "document_request_submission_request_id_document_request_id_fk" FOREIGN KEY ("request_id") REFERENCES "document_management"."document_request"("id") ON DELETE no action ON UPDATE no action;--> statement-breakpoint
291
- ALTER TABLE "document_management"."document_request_submission" ADD CONSTRAINT "document_request_submission_document_id_document_id_fk" FOREIGN KEY ("document_id") REFERENCES "document_management"."document"("id") ON DELETE no action ON UPDATE no action;--> statement-breakpoint
292
- ALTER TABLE "document_management"."document_request_template" ADD CONSTRAINT "document_request_template_requests_template_id_document_requests_template_id_fk" FOREIGN KEY ("requests_template_id") REFERENCES "document_management"."document_requests_template"("id") ON DELETE no action ON UPDATE no action;--> statement-breakpoint
293
- ALTER TABLE "document_management"."document_request_template" ADD CONSTRAINT "document_request_template_type_id_document_type_id_fk" FOREIGN KEY ("type_id") REFERENCES "document_management"."document_type"("id") ON DELETE no action ON UPDATE no action;--> statement-breakpoint
294
- ALTER TABLE "document_management"."document_type" ADD CONSTRAINT "document_type_category_id_document_category_id_fk" FOREIGN KEY ("category_id") REFERENCES "document_management"."document_category"("id") ON DELETE no action ON UPDATE no action;--> statement-breakpoint
295
- ALTER TABLE "document_management"."document_type_property" ADD CONSTRAINT "document_type_property_type_id_document_type_id_fk" FOREIGN KEY ("type_id") REFERENCES "document_management"."document_type"("id") ON DELETE no action ON UPDATE no action;--> statement-breakpoint
296
- ALTER TABLE "document_management"."document_type_property" ADD CONSTRAINT "document_type_property_property_id_document_property_id_fk" FOREIGN KEY ("property_id") REFERENCES "document_management"."document_property"("id") ON DELETE no action ON UPDATE no action;--> statement-breakpoint
297
- ALTER TABLE "document_management"."document_type_validation" ADD CONSTRAINT "document_type_validation_type_id_document_type_id_fk" FOREIGN KEY ("type_id") REFERENCES "document_management"."document_type"("id") ON DELETE no action ON UPDATE no action;--> statement-breakpoint
298
- ALTER TABLE "document_management"."document_type_validation" ADD CONSTRAINT "document_type_validation_validation_id_document_validation_definition_id_fk" FOREIGN KEY ("validation_id") REFERENCES "document_management"."document_validation_definition"("id") ON DELETE no action ON UPDATE no action;--> statement-breakpoint
299
- ALTER TABLE "document_management"."document_validation_execution" ADD CONSTRAINT "document_validation_execution_workflow_id_document_workflow_id_fk" FOREIGN KEY ("workflow_id") REFERENCES "document_management"."document_workflow"("id") ON DELETE no action ON UPDATE no action;--> statement-breakpoint
300
- ALTER TABLE "document_management"."document_validation_execution" ADD CONSTRAINT "document_validation_execution_definition_id_document_validation_definition_id_fk" FOREIGN KEY ("definition_id") REFERENCES "document_management"."document_validation_definition"("id") ON DELETE no action ON UPDATE no action;--> statement-breakpoint
301
- ALTER TABLE "document_management"."document_validation_execution_related_document" ADD CONSTRAINT "document_validation_execution_related_document_execution_id_document_validation_execution_id_fk" FOREIGN KEY ("execution_id") REFERENCES "document_management"."document_validation_execution"("id") ON DELETE no action ON UPDATE no action;--> statement-breakpoint
302
- ALTER TABLE "document_management"."document_validation_execution_related_document" ADD CONSTRAINT "document_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
303
- ALTER TABLE "document_management"."document_workflow" ADD CONSTRAINT "document_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
304
- CREATE INDEX "document_request_state_idx" ON "document_management"."document_request" USING btree ("state");--> statement-breakpoint
305
- CREATE UNIQUE INDEX "document_workflow_document_id_idx" ON "document_management"."document_workflow" USING btree ("document_id") WHERE "document_management"."document_workflow"."state" <> 'completed';
@@ -1,28 +0,0 @@
1
- import { inject } from '../../../injector/inject.js';
2
- import { injectRepository } from '../../../orm/server/index.js';
3
- import { DocumentRequestCollectionAssignment } from '../../models/index.js';
4
- import { DocumentManagementService } from './document-management.service.js';
5
- export class DocumentManagementAuthorizationService {
6
- #documentManagementService = inject(DocumentManagementService);
7
- #documentRequestCollectionAssignmentRepository = injectRepository(DocumentRequestCollectionAssignment);
8
- async canReadDocument(documentId, token) {
9
- const relevantCollectionIds = await this.#documentManagementService.getRelevantDocumentCollectionIds(documentId);
10
- for (const collectionId of relevantCollectionIds) {
11
- const canReadCollection = await this.canReadCollection(collectionId, token);
12
- if (canReadCollection) {
13
- return true;
14
- }
15
- }
16
- return false;
17
- }
18
- async canManageRequest(requestId, token) {
19
- const assignments = await this.#documentRequestCollectionAssignmentRepository.loadManyByQuery({ requestId });
20
- for (const assignment of assignments) {
21
- const canManageRequest = await this.canManageRequests(assignment.collectionId, token);
22
- if (!canManageRequest) {
23
- return false;
24
- }
25
- }
26
- return true;
27
- }
28
- }