@scmbwis/bpg-gen 0.1.6

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 (230) hide show
  1. package/README.md +103 -0
  2. package/dist/cli/config.d.ts +13 -0
  3. package/dist/cli/config.js +94 -0
  4. package/dist/cli/config.js.map +1 -0
  5. package/dist/cli/generate.d.ts +9 -0
  6. package/dist/cli/generate.js +97 -0
  7. package/dist/cli/generate.js.map +1 -0
  8. package/dist/cli/index.d.ts +2 -0
  9. package/dist/cli/index.js +37 -0
  10. package/dist/cli/index.js.map +1 -0
  11. package/dist/cli/schema-loader.d.ts +2 -0
  12. package/dist/cli/schema-loader.js +104 -0
  13. package/dist/cli/schema-loader.js.map +1 -0
  14. package/dist/commands/gendata.d.ts +1 -0
  15. package/dist/commands/gendata.js +251 -0
  16. package/dist/commands/gendata.js.map +1 -0
  17. package/dist/commands/gendb.d.ts +5 -0
  18. package/dist/commands/gendb.js +82 -0
  19. package/dist/commands/gendb.js.map +1 -0
  20. package/dist/commands/nest-express/gennestservicemodels.d.ts +5 -0
  21. package/dist/commands/nest-express/gennestservicemodels.js +505 -0
  22. package/dist/commands/nest-express/gennestservicemodels.js.map +1 -0
  23. package/dist/commands/nest-express/gentsaccessmodel.d.ts +5 -0
  24. package/dist/commands/nest-express/gentsaccessmodel.js +396 -0
  25. package/dist/commands/nest-express/gentsaccessmodel.js.map +1 -0
  26. package/dist/commands/ng/genngbaseapi.d.ts +1 -0
  27. package/dist/commands/ng/genngbaseapi.js +289 -0
  28. package/dist/commands/ng/genngbaseapi.js.map +1 -0
  29. package/dist/configs/ddi.d.ts +2 -0
  30. package/dist/configs/ddi.js +564 -0
  31. package/dist/configs/ddi.js.map +1 -0
  32. package/dist/configs/index.d.ts +2 -0
  33. package/dist/configs/index.js +24 -0
  34. package/dist/configs/index.js.map +1 -0
  35. package/dist/configs/proef-old.d.ts +2 -0
  36. package/dist/configs/proef-old.js +592 -0
  37. package/dist/configs/proef-old.js.map +1 -0
  38. package/dist/configs/proef.d.ts +2 -0
  39. package/dist/configs/proef.js +1023 -0
  40. package/dist/configs/proef.js.map +1 -0
  41. package/dist/configs/tuvens.d.ts +2 -0
  42. package/dist/configs/tuvens.js +1249 -0
  43. package/dist/configs/tuvens.js.map +1 -0
  44. package/dist/data-access/data-types/common.d.ts +40 -0
  45. package/dist/data-access/data-types/common.js +60 -0
  46. package/dist/data-access/data-types/common.js.map +1 -0
  47. package/dist/data-access/data-types/index.d.ts +3 -0
  48. package/dist/data-access/data-types/index.js +110 -0
  49. package/dist/data-access/data-types/index.js.map +1 -0
  50. package/dist/data-access/data-types/support/reg-models.d.ts +16 -0
  51. package/dist/data-access/data-types/support/reg-models.js +4 -0
  52. package/dist/data-access/data-types/support/reg-models.js.map +1 -0
  53. package/dist/data-access/data-types/template.d.ts +22 -0
  54. package/dist/data-access/data-types/template.js +17 -0
  55. package/dist/data-access/data-types/template.js.map +1 -0
  56. package/dist/data-access/data-types/types/boolean-array.d.ts +18 -0
  57. package/dist/data-access/data-types/types/boolean-array.js +32 -0
  58. package/dist/data-access/data-types/types/boolean-array.js.map +1 -0
  59. package/dist/data-access/data-types/types/boolean.d.ts +18 -0
  60. package/dist/data-access/data-types/types/boolean.js +32 -0
  61. package/dist/data-access/data-types/types/boolean.js.map +1 -0
  62. package/dist/data-access/data-types/types/child-pub-id-seq.d.ts +16 -0
  63. package/dist/data-access/data-types/types/child-pub-id-seq.js +15 -0
  64. package/dist/data-access/data-types/types/child-pub-id-seq.js.map +1 -0
  65. package/dist/data-access/data-types/types/client/client-model.d.ts +223 -0
  66. package/dist/data-access/data-types/types/client/client-model.js +26 -0
  67. package/dist/data-access/data-types/types/client/client-model.js.map +1 -0
  68. package/dist/data-access/data-types/types/client/common.d.ts +23 -0
  69. package/dist/data-access/data-types/types/client/common.js +3 -0
  70. package/dist/data-access/data-types/types/client/common.js.map +1 -0
  71. package/dist/data-access/data-types/types/client/types/boolean-array.d.ts +10 -0
  72. package/dist/data-access/data-types/types/client/types/boolean-array.js +3 -0
  73. package/dist/data-access/data-types/types/client/types/boolean-array.js.map +1 -0
  74. package/dist/data-access/data-types/types/client/types/boolean.d.ts +10 -0
  75. package/dist/data-access/data-types/types/client/types/boolean.js +3 -0
  76. package/dist/data-access/data-types/types/client/types/boolean.js.map +1 -0
  77. package/dist/data-access/data-types/types/client/types/document.d.ts +7 -0
  78. package/dist/data-access/data-types/types/client/types/document.js +4 -0
  79. package/dist/data-access/data-types/types/client/types/document.js.map +1 -0
  80. package/dist/data-access/data-types/types/client/types/fk.d.ts +13 -0
  81. package/dist/data-access/data-types/types/client/types/fk.js +3 -0
  82. package/dist/data-access/data-types/types/client/types/fk.js.map +1 -0
  83. package/dist/data-access/data-types/types/client/types/object.d.ts +10 -0
  84. package/dist/data-access/data-types/types/client/types/object.js +3 -0
  85. package/dist/data-access/data-types/types/client/types/object.js.map +1 -0
  86. package/dist/data-access/data-types/types/client/types/pk.d.ts +9 -0
  87. package/dist/data-access/data-types/types/client/types/pk.js +3 -0
  88. package/dist/data-access/data-types/types/client/types/pk.js.map +1 -0
  89. package/dist/data-access/data-types/types/client/types/pub-id.d.ts +9 -0
  90. package/dist/data-access/data-types/types/client/types/pub-id.js +3 -0
  91. package/dist/data-access/data-types/types/client/types/pub-id.js.map +1 -0
  92. package/dist/data-access/data-types/types/client/types/real-num-array.d.ts +12 -0
  93. package/dist/data-access/data-types/types/client/types/real-num-array.js +3 -0
  94. package/dist/data-access/data-types/types/client/types/real-num-array.js.map +1 -0
  95. package/dist/data-access/data-types/types/client/types/real-num.d.ts +12 -0
  96. package/dist/data-access/data-types/types/client/types/real-num.js +3 -0
  97. package/dist/data-access/data-types/types/client/types/real-num.js.map +1 -0
  98. package/dist/data-access/data-types/types/client/types/string-array.d.ts +13 -0
  99. package/dist/data-access/data-types/types/client/types/string-array.js +3 -0
  100. package/dist/data-access/data-types/types/client/types/string-array.js.map +1 -0
  101. package/dist/data-access/data-types/types/client/types/string.d.ts +15 -0
  102. package/dist/data-access/data-types/types/client/types/string.js +3 -0
  103. package/dist/data-access/data-types/types/client/types/string.js.map +1 -0
  104. package/dist/data-access/data-types/types/client/types/timestamp-array.d.ts +10 -0
  105. package/dist/data-access/data-types/types/client/types/timestamp-array.js +3 -0
  106. package/dist/data-access/data-types/types/client/types/timestamp-array.js.map +1 -0
  107. package/dist/data-access/data-types/types/client/types/timestamp.d.ts +10 -0
  108. package/dist/data-access/data-types/types/client/types/timestamp.js +3 -0
  109. package/dist/data-access/data-types/types/client/types/timestamp.js.map +1 -0
  110. package/dist/data-access/data-types/types/client/types/type-key.d.ts +19 -0
  111. package/dist/data-access/data-types/types/client/types/type-key.js +3 -0
  112. package/dist/data-access/data-types/types/client/types/type-key.js.map +1 -0
  113. package/dist/data-access/data-types/types/client/types/user-picker.d.ts +0 -0
  114. package/dist/data-access/data-types/types/client/types/user-picker.js +2 -0
  115. package/dist/data-access/data-types/types/client/types/user-picker.js.map +1 -0
  116. package/dist/data-access/data-types/types/client/types/whole-num-array.d.ts +12 -0
  117. package/dist/data-access/data-types/types/client/types/whole-num-array.js +3 -0
  118. package/dist/data-access/data-types/types/client/types/whole-num-array.js.map +1 -0
  119. package/dist/data-access/data-types/types/client/types/whole-num.d.ts +12 -0
  120. package/dist/data-access/data-types/types/client/types/whole-num.js +3 -0
  121. package/dist/data-access/data-types/types/client/types/whole-num.js.map +1 -0
  122. package/dist/data-access/data-types/types/client/union.d.ts +25 -0
  123. package/dist/data-access/data-types/types/client/union.js +24 -0
  124. package/dist/data-access/data-types/types/client/union.js.map +1 -0
  125. package/dist/data-access/data-types/types/document.d.ts +16 -0
  126. package/dist/data-access/data-types/types/document.js +28 -0
  127. package/dist/data-access/data-types/types/document.js.map +1 -0
  128. package/dist/data-access/data-types/types/fk.d.ts +46 -0
  129. package/dist/data-access/data-types/types/fk.js +66 -0
  130. package/dist/data-access/data-types/types/fk.js.map +1 -0
  131. package/dist/data-access/data-types/types/object.d.ts +18 -0
  132. package/dist/data-access/data-types/types/object.js +30 -0
  133. package/dist/data-access/data-types/types/object.js.map +1 -0
  134. package/dist/data-access/data-types/types/pk.d.ts +11 -0
  135. package/dist/data-access/data-types/types/pk.js +25 -0
  136. package/dist/data-access/data-types/types/pk.js.map +1 -0
  137. package/dist/data-access/data-types/types/pub-id.d.ts +23 -0
  138. package/dist/data-access/data-types/types/pub-id.js +31 -0
  139. package/dist/data-access/data-types/types/pub-id.js.map +1 -0
  140. package/dist/data-access/data-types/types/real-num-array.d.ts +22 -0
  141. package/dist/data-access/data-types/types/real-num-array.js +38 -0
  142. package/dist/data-access/data-types/types/real-num-array.js.map +1 -0
  143. package/dist/data-access/data-types/types/real-num.d.ts +22 -0
  144. package/dist/data-access/data-types/types/real-num.js +37 -0
  145. package/dist/data-access/data-types/types/real-num.js.map +1 -0
  146. package/dist/data-access/data-types/types/string-array.d.ts +24 -0
  147. package/dist/data-access/data-types/types/string-array.js +47 -0
  148. package/dist/data-access/data-types/types/string-array.js.map +1 -0
  149. package/dist/data-access/data-types/types/string.d.ts +37 -0
  150. package/dist/data-access/data-types/types/string.js +63 -0
  151. package/dist/data-access/data-types/types/string.js.map +1 -0
  152. package/dist/data-access/data-types/types/timestamp-array.d.ts +18 -0
  153. package/dist/data-access/data-types/types/timestamp-array.js +32 -0
  154. package/dist/data-access/data-types/types/timestamp-array.js.map +1 -0
  155. package/dist/data-access/data-types/types/timestamp.d.ts +18 -0
  156. package/dist/data-access/data-types/types/timestamp.js +32 -0
  157. package/dist/data-access/data-types/types/timestamp.js.map +1 -0
  158. package/dist/data-access/data-types/types/type-key.d.ts +87 -0
  159. package/dist/data-access/data-types/types/type-key.js +56 -0
  160. package/dist/data-access/data-types/types/type-key.js.map +1 -0
  161. package/dist/data-access/data-types/types/user-picker.d.ts +0 -0
  162. package/dist/data-access/data-types/types/user-picker.js +2 -0
  163. package/dist/data-access/data-types/types/user-picker.js.map +1 -0
  164. package/dist/data-access/data-types/types/whole-num-array.d.ts +22 -0
  165. package/dist/data-access/data-types/types/whole-num-array.js +38 -0
  166. package/dist/data-access/data-types/types/whole-num-array.js.map +1 -0
  167. package/dist/data-access/data-types/types/whole-num.d.ts +22 -0
  168. package/dist/data-access/data-types/types/whole-num.js +37 -0
  169. package/dist/data-access/data-types/types/whole-num.js.map +1 -0
  170. package/dist/data-access/data-types/union.d.ts +36 -0
  171. package/dist/data-access/data-types/union.js +44 -0
  172. package/dist/data-access/data-types/union.js.map +1 -0
  173. package/dist/datamodel/db-model/app-model.d.ts +36 -0
  174. package/dist/datamodel/db-model/app-model.js +7 -0
  175. package/dist/datamodel/db-model/app-model.js.map +1 -0
  176. package/dist/datamodel/db-model/data-model-builder.d.ts +3 -0
  177. package/dist/datamodel/db-model/data-model-builder.js +437 -0
  178. package/dist/datamodel/db-model/data-model-builder.js.map +1 -0
  179. package/dist/datamodel/db-model/data-model.d.ts +74 -0
  180. package/dist/datamodel/db-model/data-model.js +8 -0
  181. package/dist/datamodel/db-model/data-model.js.map +1 -0
  182. package/dist/datamodel/db-model/data-type.d.ts +9 -0
  183. package/dist/datamodel/db-model/data-type.js +176 -0
  184. package/dist/datamodel/db-model/data-type.js.map +1 -0
  185. package/dist/datamodel/db-model/in-app-model.d.ts +9 -0
  186. package/dist/datamodel/db-model/in-app-model.js +6 -0
  187. package/dist/datamodel/db-model/in-app-model.js.map +1 -0
  188. package/dist/datamodel/db-model/in-data-model.d.ts +36 -0
  189. package/dist/datamodel/db-model/in-data-model.js +11 -0
  190. package/dist/datamodel/db-model/in-data-model.js.map +1 -0
  191. package/dist/datamodel/pg-migrate/infoschema-models.d.ts +40 -0
  192. package/dist/datamodel/pg-migrate/infoschema-models.js +3 -0
  193. package/dist/datamodel/pg-migrate/infoschema-models.js.map +1 -0
  194. package/dist/datamodel/pg-migrate/infoschema-queries.d.ts +2 -0
  195. package/dist/datamodel/pg-migrate/infoschema-queries.js +14 -0
  196. package/dist/datamodel/pg-migrate/infoschema-queries.js.map +1 -0
  197. package/dist/datamodel/pg-migrate/migration-methods.d.ts +19 -0
  198. package/dist/datamodel/pg-migrate/migration-methods.js +75 -0
  199. package/dist/datamodel/pg-migrate/migration-methods.js.map +1 -0
  200. package/dist/datamodel/pg-migrate/migration-queries.d.ts +2 -0
  201. package/dist/datamodel/pg-migrate/migration-queries.js +127 -0
  202. package/dist/datamodel/pg-migrate/migration-queries.js.map +1 -0
  203. package/dist/datamodel/ts-gen/app/api.d.ts +2 -0
  204. package/dist/datamodel/ts-gen/app/api.js +72 -0
  205. package/dist/datamodel/ts-gen/app/api.js.map +1 -0
  206. package/dist/datamodel/ts-gen/index.d.ts +6 -0
  207. package/dist/datamodel/ts-gen/index.js +98 -0
  208. package/dist/datamodel/ts-gen/index.js.map +1 -0
  209. package/dist/env.d.ts +3 -0
  210. package/dist/env.js +87 -0
  211. package/dist/env.js.map +1 -0
  212. package/dist/index.d.ts +2 -0
  213. package/dist/index.js +7 -0
  214. package/dist/index.js.map +1 -0
  215. package/dist/utils/casing.d.ts +17 -0
  216. package/dist/utils/casing.js +66 -0
  217. package/dist/utils/casing.js.map +1 -0
  218. package/dist/utils/conventions.d.ts +2 -0
  219. package/dist/utils/conventions.js +12 -0
  220. package/dist/utils/conventions.js.map +1 -0
  221. package/dist/utils/genutils.d.ts +55 -0
  222. package/dist/utils/genutils.js +501 -0
  223. package/dist/utils/genutils.js.map +1 -0
  224. package/dist/utils/pg.utils.d.ts +1 -0
  225. package/dist/utils/pg.utils.js +302 -0
  226. package/dist/utils/pg.utils.js.map +1 -0
  227. package/dist/utils/writingutils.d.ts +12 -0
  228. package/dist/utils/writingutils.js +63 -0
  229. package/dist/utils/writingutils.js.map +1 -0
  230. package/package.json +50 -0
@@ -0,0 +1,1023 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.proef = proef;
4
+ function proef() {
5
+ return {
6
+ schemaName: "public",
7
+ roles: [
8
+ {
9
+ name: "qualification_manager"
10
+ },
11
+ {
12
+ name: "production_planner"
13
+ },
14
+ {
15
+ name: "production_scheduler"
16
+ },
17
+ {
18
+ name: "operator"
19
+ },
20
+ {
21
+ name: "system_admin"
22
+ },
23
+ {
24
+ name: "production_admin"
25
+ }
26
+ ],
27
+ tables: [
28
+ {
29
+ name: "init_record", // table for checking init scripts run
30
+ readRole: "system",
31
+ cols: [
32
+ {
33
+ name: "init_key",
34
+ dataType: "string",
35
+ required: true
36
+ },
37
+ {
38
+ name: "init_notes",
39
+ dataType: "string",
40
+ stringFormat: "text"
41
+ },
42
+ {
43
+ name: "init_data",
44
+ dataType: "object"
45
+ }
46
+ ]
47
+ },
48
+ {
49
+ name: "user",
50
+ createRole: "system",
51
+ cols: [
52
+ {
53
+ name: "identity_key",
54
+ dataType: "string",
55
+ required: true,
56
+ immutable: true
57
+ },
58
+ {
59
+ name: "display_name",
60
+ dataType: "string",
61
+ stringFormat: "title",
62
+ defaultStr: "User",
63
+ updateRole: "uid_id"
64
+ },
65
+ {
66
+ name: "email",
67
+ dataType: "string",
68
+ stringFormat: "email",
69
+ required: false,
70
+ updateRole: "uid_id"
71
+ },
72
+ {
73
+ name: "bio",
74
+ dataType: "object",
75
+ defaultObj: { "text": "" },
76
+ updateRole: "uid_id"
77
+ }
78
+ ],
79
+ children: [
80
+ {
81
+ name: "user_settings",
82
+ updateRole: "uid_id",
83
+ cols: [
84
+ {
85
+ name: "settings_key",
86
+ dataType: "string",
87
+ stringFormat: "title",
88
+ required: true,
89
+ defaultStr: "User"
90
+ },
91
+ {
92
+ name: "settings_values",
93
+ dataType: "object",
94
+ defaultObj: { "text": "" }
95
+ }
96
+ ]
97
+ }
98
+ ]
99
+ },
100
+ {
101
+ name: "sys_lr_task", // system long running tasks
102
+ readRole: "system",
103
+ cols: [
104
+ {
105
+ name: "type",
106
+ dataType: "string",
107
+ stringFormat: "title",
108
+ required: true,
109
+ immutable: true
110
+ },
111
+ {
112
+ name: "summary_key",
113
+ dataType: "string",
114
+ stringFormat: "title",
115
+ required: false,
116
+ immutable: true,
117
+ comments: "unique key, designed to allow for filtering of if bother to insert"
118
+ },
119
+ {
120
+ name: "data",
121
+ dataType: "object",
122
+ required: true
123
+ },
124
+ {
125
+ name: "result_info",
126
+ dataType: "object",
127
+ comments: "especially for fail, timeout, cancelled"
128
+ },
129
+ {
130
+ name: "claimed_by_instance_id",
131
+ dataType: "string"
132
+ },
133
+ {
134
+ name: "started",
135
+ dataType: "timestamp"
136
+ },
137
+ {
138
+ name: "completed",
139
+ dataType: "timestamp"
140
+ },
141
+ {
142
+ name: "result",
143
+ dataType: "string",
144
+ pickValues: ["success", "fail", "timeout", "cancelled"]
145
+ }
146
+ ]
147
+ },
148
+ {
149
+ name: "server_file",
150
+ readRole: "system",
151
+ cols: [
152
+ {
153
+ name: "original_name",
154
+ dataType: "string",
155
+ required: true
156
+ },
157
+ {
158
+ name: "mime_type",
159
+ dataType: "string",
160
+ required: true
161
+ },
162
+ {
163
+ name: "file_name",
164
+ dataType: "string",
165
+ required: true
166
+ },
167
+ {
168
+ name: "file_size",
169
+ dataType: "whole-num",
170
+ required: true
171
+ }
172
+ ]
173
+ },
174
+ {
175
+ name: "learning_material",
176
+ createRole: "qualification_manager",
177
+ cols: [
178
+ {
179
+ name: "title",
180
+ dataType: "string",
181
+ stringFormat: "title",
182
+ required: true
183
+ },
184
+ {
185
+ name: "description",
186
+ dataType: "string",
187
+ stringFormat: "text"
188
+ },
189
+ {
190
+ name: "external_url",
191
+ dataType: "string"
192
+ },
193
+ {
194
+ dataType: "fk",
195
+ targetTable: "server_file",
196
+ idPropName: "server_file_id"
197
+ }
198
+ ]
199
+ },
200
+ {
201
+ name: "qualification_block",
202
+ createRole: "qualification_manager",
203
+ cols: [
204
+ {
205
+ name: "name",
206
+ dataType: "string",
207
+ stringFormat: "title",
208
+ required: true
209
+ },
210
+ {
211
+ name: "description",
212
+ dataType: "string",
213
+ stringFormat: "text"
214
+ },
215
+ {
216
+ dataType: "fk",
217
+ targetTable: "qualification_block_version",
218
+ idPropName: "current_published_version_id",
219
+ comments: "nullable while no version is published"
220
+ },
221
+ {
222
+ dataType: "fk",
223
+ targetTable: "qualification_block_version",
224
+ idPropName: "current_draft_version_id",
225
+ comments: "nullable if there is no current editable draft"
226
+ }
227
+ ],
228
+ children: [
229
+ {
230
+ name: "qualification_block_prerequisite",
231
+ createRole: "qualification_manager",
232
+ cols: [
233
+ {
234
+ dataType: "fk",
235
+ targetTable: "qualification_block",
236
+ idPropName: "prerequisite_block_id",
237
+ required: true
238
+ }
239
+ ]
240
+ },
241
+ {
242
+ name: "qualification_block_version",
243
+ createRole: "qualification_manager",
244
+ cols: [
245
+ {
246
+ name: "version_identifier",
247
+ dataType: "string",
248
+ stringFormat: "short",
249
+ required: true
250
+ },
251
+ {
252
+ name: "status",
253
+ dataType: "string",
254
+ pickValues: ["draft", "published"],
255
+ required: true,
256
+ defaultStr: "draft"
257
+ },
258
+ {
259
+ name: "description",
260
+ dataType: "string",
261
+ stringFormat: "text"
262
+ },
263
+ {
264
+ name: "published_at",
265
+ dataType: "timestamp"
266
+ }
267
+ ],
268
+ children: [
269
+ {
270
+ name: "qualification_block_version_material",
271
+ createRole: "qualification_manager",
272
+ cols: [
273
+ {
274
+ dataType: "fk",
275
+ targetTable: "learning_material",
276
+ idPropName: "learning_material_id",
277
+ required: true
278
+ },
279
+ {
280
+ name: "order_no",
281
+ dataType: "whole-num",
282
+ required: true,
283
+ defaultWholeNum: 1
284
+ }
285
+ ]
286
+ }
287
+ ]
288
+ }
289
+ ]
290
+ },
291
+ {
292
+ name: "user_qualification_block",
293
+ createRole: "qualification_manager",
294
+ cols: [
295
+ {
296
+ dataType: "fk",
297
+ targetTable: "user",
298
+ idPropName: "user_id",
299
+ required: true
300
+ },
301
+ {
302
+ dataType: "fk",
303
+ targetTable: "qualification_block",
304
+ idPropName: "qualification_block_id",
305
+ required: true
306
+ },
307
+ {
308
+ name: "assignment_status",
309
+ dataType: "string",
310
+ pickValues: ["notAssigned", "assigned", "completed"],
311
+ required: true,
312
+ defaultStr: "notAssigned"
313
+ },
314
+ {
315
+ name: "certification_status",
316
+ dataType: "string",
317
+ pickValues: ["notCertified", "certified", "expired"],
318
+ required: true,
319
+ defaultStr: "notCertified"
320
+ },
321
+ {
322
+ name: "assigned_at",
323
+ dataType: "timestamp"
324
+ },
325
+ {
326
+ dataType: "fk",
327
+ targetTable: "user",
328
+ idPropName: "assigned_by_user_id"
329
+ },
330
+ {
331
+ name: "completed_at",
332
+ dataType: "timestamp"
333
+ },
334
+ {
335
+ name: "certified_at",
336
+ dataType: "timestamp"
337
+ },
338
+ {
339
+ dataType: "fk",
340
+ targetTable: "user",
341
+ idPropName: "certified_by_user_id"
342
+ },
343
+ {
344
+ name: "certification_note",
345
+ dataType: "string",
346
+ stringFormat: "text"
347
+ },
348
+ {
349
+ name: "expires_at",
350
+ dataType: "timestamp"
351
+ }
352
+ ],
353
+ children: [
354
+ {
355
+ name: "user_qualification_block_event",
356
+ createRole: "qualification_manager",
357
+ cols: [
358
+ {
359
+ name: "event_type",
360
+ dataType: "string",
361
+ pickValues: ["assigned", "completed", "certified", "expired", "revoked"],
362
+ required: true
363
+ },
364
+ {
365
+ dataType: "fk",
366
+ targetTable: "user",
367
+ idPropName: "acted_by_user_id"
368
+ },
369
+ {
370
+ name: "event_note",
371
+ dataType: "string",
372
+ stringFormat: "text"
373
+ },
374
+ {
375
+ name: "event_data",
376
+ dataType: "object"
377
+ },
378
+ {
379
+ name: "effective_at",
380
+ dataType: "timestamp"
381
+ }
382
+ ]
383
+ }
384
+ ]
385
+ },
386
+ {
387
+ name: "step_template",
388
+ createRole: "production_admin",
389
+ cols: [
390
+ {
391
+ name: "code",
392
+ dataType: "string",
393
+ stringFormat: "short",
394
+ required: true
395
+ },
396
+ {
397
+ name: "name",
398
+ dataType: "string",
399
+ stringFormat: "title",
400
+ required: true
401
+ },
402
+ {
403
+ name: "description",
404
+ dataType: "string",
405
+ stringFormat: "text"
406
+ },
407
+ {
408
+ name: "step_kind",
409
+ dataType: "string",
410
+ pickValues: ['draadvonken', 'goods-in', 'goods-out', 'drill-prep'],
411
+ required: true
412
+ },
413
+ {
414
+ name: "status",
415
+ dataType: "string",
416
+ pickValues: ["draft", "published", "inUse"],
417
+ required: true,
418
+ defaultStr: "draft"
419
+ },
420
+ {
421
+ dataType: "fk",
422
+ targetTable: "step_template",
423
+ idPropName: "cloned_from_template_id"
424
+ },
425
+ {
426
+ name: "published_at",
427
+ dataType: "timestamp"
428
+ },
429
+ {
430
+ name: "frozen_at",
431
+ dataType: "timestamp"
432
+ },
433
+ {
434
+ name: "terms_and_conditions_text",
435
+ dataType: "string",
436
+ stringFormat: "text",
437
+ comments: "operator responsibility / acceptance text shown when accepting a job"
438
+ }
439
+ ],
440
+ children: [
441
+ {
442
+ name: "step_template_feature_option_group",
443
+ createRole: "production_admin",
444
+ cols: [
445
+ {
446
+ name: "code",
447
+ dataType: "string",
448
+ stringFormat: "short",
449
+ required: true
450
+ },
451
+ {
452
+ name: "name",
453
+ dataType: "string",
454
+ stringFormat: "title",
455
+ required: true
456
+ },
457
+ {
458
+ name: "description",
459
+ dataType: "string",
460
+ stringFormat: "text"
461
+ },
462
+ {
463
+ name: "min_selections",
464
+ dataType: "whole-num",
465
+ required: true,
466
+ defaultWholeNum: 0
467
+ },
468
+ {
469
+ name: "max_selections",
470
+ dataType: "whole-num",
471
+ comments: "nullable means unlimited"
472
+ }
473
+ ]
474
+ },
475
+ {
476
+ name: "step_template_feature",
477
+ createRole: "production_admin",
478
+ cols: [
479
+ {
480
+ name: "code",
481
+ dataType: "string",
482
+ stringFormat: "short",
483
+ required: true
484
+ },
485
+ {
486
+ name: "title",
487
+ dataType: "string",
488
+ stringFormat: "title",
489
+ required: true
490
+ },
491
+ {
492
+ name: "description",
493
+ dataType: "string",
494
+ stringFormat: "text"
495
+ },
496
+ {
497
+ name: "order_no",
498
+ dataType: "whole-num",
499
+ required: true
500
+ },
501
+ {
502
+ name: "selection_mode",
503
+ dataType: "string",
504
+ pickValues: ["alwaysIncluded", "optional", "groupControlled"],
505
+ required: true
506
+ },
507
+ {
508
+ name: "mandatory_when_standalone",
509
+ dataType: "boolean",
510
+ required: true,
511
+ defaultBool: false
512
+ },
513
+ {
514
+ dataType: "fk",
515
+ targetTable: "step_template_feature_option_group",
516
+ idPropName: "feature_option_group_id"
517
+ },
518
+ {
519
+ name: "planner_instructions",
520
+ dataType: "string",
521
+ stringFormat: "text"
522
+ }
523
+ ],
524
+ children: [
525
+ {
526
+ name: "step_template_feature_stage",
527
+ createRole: "production_admin",
528
+ cols: [
529
+ {
530
+ name: "stage_code",
531
+ dataType: "string",
532
+ pickValues: ["accept", "ready", "complete", "escalate"],
533
+ required: true
534
+ },
535
+ {
536
+ name: "operator_instructions",
537
+ dataType: "string",
538
+ stringFormat: "text"
539
+ },
540
+ {
541
+ name: "planner_allows_additional_text",
542
+ dataType: "boolean",
543
+ required: true,
544
+ defaultBool: false
545
+ },
546
+ {
547
+ name: "planner_allows_additional_link",
548
+ dataType: "boolean",
549
+ required: true,
550
+ defaultBool: false
551
+ }
552
+ ]
553
+ },
554
+ {
555
+ name: "step_template_feature_operator_block",
556
+ createRole: "production_admin",
557
+ cols: [
558
+ {
559
+ dataType: "fk",
560
+ targetTable: "qualification_block",
561
+ idPropName: "qualification_block_id",
562
+ required: true
563
+ }
564
+ ]
565
+ },
566
+ {
567
+ name: "step_template_feature_escalation_block",
568
+ createRole: "production_admin",
569
+ cols: [
570
+ {
571
+ dataType: "fk",
572
+ targetTable: "qualification_block",
573
+ idPropName: "qualification_block_id",
574
+ required: true
575
+ }
576
+ ]
577
+ }
578
+ ]
579
+ }
580
+ ]
581
+ },
582
+ {
583
+ name: "production_plan",
584
+ createRole: "production_planner",
585
+ cols: [
586
+ {
587
+ name: "code",
588
+ dataType: "string",
589
+ stringFormat: "short",
590
+ required: true
591
+ },
592
+ {
593
+ name: "name",
594
+ dataType: "string",
595
+ stringFormat: "title",
596
+ required: true
597
+ },
598
+ {
599
+ name: "description",
600
+ dataType: "string",
601
+ stringFormat: "text"
602
+ },
603
+ {
604
+ name: "status",
605
+ dataType: "string",
606
+ pickValues: ["draft", "available", "inUse"],
607
+ required: true,
608
+ defaultStr: "draft"
609
+ },
610
+ {
611
+ dataType: "fk",
612
+ targetTable: "production_plan",
613
+ idPropName: "cloned_from_plan_id"
614
+ },
615
+ {
616
+ name: "available_at",
617
+ dataType: "timestamp"
618
+ },
619
+ {
620
+ name: "frozen_at",
621
+ dataType: "timestamp"
622
+ }
623
+ ],
624
+ children: [
625
+ {
626
+ name: "production_plan_step",
627
+ createRole: "production_planner",
628
+ cols: [
629
+ {
630
+ name: "code",
631
+ dataType: "string",
632
+ stringFormat: "short",
633
+ required: true
634
+ },
635
+ {
636
+ name: "order_no",
637
+ dataType: "whole-num",
638
+ required: true
639
+ },
640
+ {
641
+ name: "step_kind",
642
+ dataType: "string",
643
+ pickValues: ["draadvonken"],
644
+ required: true
645
+ },
646
+ {
647
+ dataType: "fk",
648
+ targetTable: "step_template",
649
+ idPropName: "step_template_id",
650
+ required: true
651
+ }
652
+ ],
653
+ children: [
654
+ {
655
+ name: "production_plan_step_selected_feature",
656
+ createRole: "production_planner",
657
+ cols: [
658
+ {
659
+ dataType: "fk",
660
+ targetTable: "step_template_feature",
661
+ idPropName: "step_template_feature_id",
662
+ required: true
663
+ }
664
+ ],
665
+ children: [
666
+ {
667
+ name: "production_plan_step_selected_feature_stage_addition",
668
+ createRole: "production_planner",
669
+ cols: [
670
+ {
671
+ name: "stage_code",
672
+ dataType: "string",
673
+ pickValues: ["accept", "ready", "complete", "escalate"],
674
+ required: true
675
+ },
676
+ {
677
+ name: "additional_text",
678
+ dataType: "string",
679
+ stringFormat: "text"
680
+ },
681
+ {
682
+ name: "additional_link",
683
+ dataType: "string"
684
+ }
685
+ ]
686
+ }
687
+ ]
688
+ }
689
+ ]
690
+ }
691
+ ]
692
+ },
693
+ {
694
+ name: "production_batch",
695
+ createRole: "production_scheduler",
696
+ cols: [
697
+ {
698
+ name: "code",
699
+ dataType: "string",
700
+ stringFormat: "short",
701
+ required: true
702
+ },
703
+ {
704
+ name: "name",
705
+ dataType: "string",
706
+ stringFormat: "title",
707
+ required: true
708
+ },
709
+ {
710
+ dataType: "fk",
711
+ targetTable: "production_plan",
712
+ idPropName: "production_plan_id",
713
+ required: true
714
+ },
715
+ {
716
+ name: "quantity",
717
+ dataType: "whole-num",
718
+ required: true
719
+ },
720
+ {
721
+ name: "status",
722
+ dataType: "string",
723
+ pickValues: ["draft", "released", "inProgress", "completed", "cancelled"],
724
+ required: true,
725
+ defaultStr: "draft"
726
+ },
727
+ {
728
+ name: "released_at",
729
+ dataType: "timestamp"
730
+ },
731
+ {
732
+ name: "cancelled_at",
733
+ dataType: "timestamp"
734
+ },
735
+ {
736
+ name: "completed_at",
737
+ dataType: "timestamp"
738
+ }
739
+ ],
740
+ children: [
741
+ {
742
+ name: "production_part_run",
743
+ createRole: "production_scheduler",
744
+ cols: [
745
+ {
746
+ name: "part_no",
747
+ dataType: "whole-num",
748
+ required: true
749
+ },
750
+ {
751
+ name: "status",
752
+ dataType: "string",
753
+ pickValues: ["notStarted", "inProgress", "completed", "aborted"],
754
+ required: true,
755
+ defaultStr: "notStarted"
756
+ },
757
+ {
758
+ name: "started_at",
759
+ dataType: "timestamp"
760
+ },
761
+ {
762
+ name: "completed_at",
763
+ dataType: "timestamp"
764
+ },
765
+ {
766
+ name: "aborted_at",
767
+ dataType: "timestamp"
768
+ }
769
+ ],
770
+ children: [
771
+ {
772
+ name: "production_part_run_step",
773
+ createRole: "production_scheduler",
774
+ cols: [
775
+ {
776
+ dataType: "fk",
777
+ targetTable: "production_plan_step",
778
+ idPropName: "production_plan_step_id",
779
+ required: true
780
+ },
781
+ {
782
+ name: "order_no",
783
+ dataType: "whole-num",
784
+ required: true,
785
+ comments: "runtime copy for robust historical ordering"
786
+ },
787
+ {
788
+ name: "status",
789
+ dataType: "string",
790
+ pickValues: ["pending", "available", "active", "completed", "aborted"],
791
+ required: true,
792
+ defaultStr: "pending"
793
+ },
794
+ {
795
+ dataType: "fk",
796
+ targetTable: "user",
797
+ idPropName: "assigned_operator_user_id"
798
+ },
799
+ {
800
+ name: "accepted_at",
801
+ dataType: "timestamp"
802
+ },
803
+ {
804
+ name: "accepted_operator_qualification_status",
805
+ dataType: "string",
806
+ pickValues: ["qualified", "notQualified"],
807
+ comments: "snapshot at acceptance time"
808
+ },
809
+ {
810
+ name: "qualification_override_used",
811
+ dataType: "boolean",
812
+ required: true,
813
+ defaultBool: false
814
+ },
815
+ {
816
+ name: "completed_at",
817
+ dataType: "timestamp"
818
+ },
819
+ {
820
+ dataType: "fk",
821
+ targetTable: "user",
822
+ idPropName: "completed_by_user_id"
823
+ },
824
+ {
825
+ name: "aborted_at",
826
+ dataType: "timestamp"
827
+ },
828
+ {
829
+ dataType: "fk",
830
+ targetTable: "user",
831
+ idPropName: "aborted_by_user_id"
832
+ }
833
+ ],
834
+ children: [
835
+ {
836
+ name: "production_part_run_step_exception",
837
+ createRole: "operator",
838
+ cols: [
839
+ {
840
+ name: "description",
841
+ dataType: "string",
842
+ stringFormat: "text",
843
+ required: true
844
+ },
845
+ {
846
+ dataType: "fk",
847
+ targetTable: "user",
848
+ idPropName: "raised_by_user_id"
849
+ },
850
+ {
851
+ name: "resolved_at",
852
+ dataType: "timestamp"
853
+ },
854
+ {
855
+ dataType: "fk",
856
+ targetTable: "user",
857
+ idPropName: "resolved_by_user_id"
858
+ },
859
+ {
860
+ name: "resolution_note",
861
+ dataType: "string",
862
+ stringFormat: "text"
863
+ }
864
+ ]
865
+ }
866
+ ]
867
+ }
868
+ ]
869
+ }
870
+ ]
871
+ },
872
+ {
873
+ name: "user_task",
874
+ createRole: "system",
875
+ cols: [
876
+ {
877
+ dataType: "fk",
878
+ targetTable: "user",
879
+ idPropName: "user_id",
880
+ required: true
881
+ },
882
+ {
883
+ name: "title",
884
+ dataType: "string",
885
+ stringFormat: "title",
886
+ required: true
887
+ },
888
+ {
889
+ name: "description",
890
+ dataType: "string",
891
+ stringFormat: "text"
892
+ },
893
+ {
894
+ name: "task_type",
895
+ dataType: "string",
896
+ pickValues: ["qualificationAssigned", "qualificationExpiring", "jobException", "system"],
897
+ required: true
898
+ },
899
+ {
900
+ name: "status",
901
+ dataType: "string",
902
+ pickValues: ["open", "completed"],
903
+ required: true,
904
+ defaultStr: "open"
905
+ },
906
+ {
907
+ name: "role_context",
908
+ dataType: "string",
909
+ pickValues: [
910
+ "qualificationManager",
911
+ "productionPlanner",
912
+ "productionScheduler",
913
+ "operator",
914
+ "systemAdmin",
915
+ "productionAdmin"
916
+ ]
917
+ },
918
+ {
919
+ name: "related_table_name",
920
+ dataType: "string",
921
+ comments: "for example production_part_run_step, qualification_block, production_plan"
922
+ },
923
+ {
924
+ name: "related_record_id",
925
+ dataType: "whole-num"
926
+ },
927
+ {
928
+ name: "route",
929
+ dataType: "string",
930
+ comments: "optional precomputed navigation target for UI convenience"
931
+ },
932
+ {
933
+ name: "due_at",
934
+ dataType: "timestamp"
935
+ },
936
+ {
937
+ name: "completed_at",
938
+ dataType: "timestamp"
939
+ },
940
+ {
941
+ dataType: "fk",
942
+ targetTable: "user",
943
+ idPropName: "completed_by_user_id"
944
+ },
945
+ {
946
+ name: "task_data",
947
+ dataType: "object"
948
+ }
949
+ ]
950
+ },
951
+ {
952
+ name: "user_notification",
953
+ createRole: "system",
954
+ cols: [
955
+ {
956
+ dataType: "fk",
957
+ targetTable: "user",
958
+ idPropName: "user_id",
959
+ required: true
960
+ },
961
+ {
962
+ name: "title",
963
+ dataType: "string",
964
+ stringFormat: "title",
965
+ required: true
966
+ },
967
+ {
968
+ name: "description",
969
+ dataType: "string",
970
+ stringFormat: "text"
971
+ },
972
+ {
973
+ name: "notification_type",
974
+ dataType: "string",
975
+ pickValues: ["info", "warning", "success", "error"],
976
+ required: true
977
+ },
978
+ {
979
+ name: "is_read",
980
+ dataType: "boolean",
981
+ required: true,
982
+ defaultBool: false
983
+ },
984
+ {
985
+ name: "role_context",
986
+ dataType: "string",
987
+ pickValues: [
988
+ "qualificationManager",
989
+ "productionPlanner",
990
+ "productionScheduler",
991
+ "operator",
992
+ "systemAdmin",
993
+ "productionAdmin"
994
+ ]
995
+ },
996
+ {
997
+ name: "related_table_name",
998
+ dataType: "string",
999
+ comments: "for example production_part_run_step, qualification_block, production_plan"
1000
+ },
1001
+ {
1002
+ name: "related_record_id",
1003
+ dataType: "whole-num"
1004
+ },
1005
+ {
1006
+ name: "route",
1007
+ dataType: "string",
1008
+ comments: "optional precomputed navigation target for UI convenience"
1009
+ },
1010
+ {
1011
+ name: "read_at",
1012
+ dataType: "timestamp"
1013
+ },
1014
+ {
1015
+ name: "notification_data",
1016
+ dataType: "object"
1017
+ }
1018
+ ]
1019
+ }
1020
+ ]
1021
+ };
1022
+ }
1023
+ //# sourceMappingURL=proef.js.map