@solidxai/core 0.1.13-beta.2 → 0.1.13-beta.21

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 (517) hide show
  1. package/CHANGELOG.md +10107 -0
  2. package/CLAUDE.md +5 -6
  3. package/README.md +19 -0
  4. package/dist/commands/run-tests.command.d.ts +9 -1
  5. package/dist/commands/run-tests.command.d.ts.map +1 -1
  6. package/dist/commands/run-tests.command.js +69 -6
  7. package/dist/commands/run-tests.command.js.map +1 -1
  8. package/dist/commands/seed.command.d.ts +2 -0
  9. package/dist/commands/seed.command.d.ts.map +1 -1
  10. package/dist/commands/seed.command.js +21 -0
  11. package/dist/commands/seed.command.js.map +1 -1
  12. package/dist/config/cache.options.d.ts.map +1 -1
  13. package/dist/config/cache.options.js +2 -2
  14. package/dist/config/cache.options.js.map +1 -1
  15. package/dist/constants/chatter-message.constants.d.ts +1 -0
  16. package/dist/constants/chatter-message.constants.d.ts.map +1 -1
  17. package/dist/constants/chatter-message.constants.js +3 -1
  18. package/dist/constants/chatter-message.constants.js.map +1 -1
  19. package/dist/constants/draft-publish-fields.d.ts +2 -0
  20. package/dist/constants/draft-publish-fields.d.ts.map +1 -0
  21. package/dist/constants/draft-publish-fields.js +5 -0
  22. package/dist/constants/draft-publish-fields.js.map +1 -0
  23. package/dist/constants/error-messages.d.ts +7 -0
  24. package/dist/constants/error-messages.d.ts.map +1 -1
  25. package/dist/constants/error-messages.js +7 -0
  26. package/dist/constants/error-messages.js.map +1 -1
  27. package/dist/constants/media-file-types.d.ts +12 -0
  28. package/dist/constants/media-file-types.d.ts.map +1 -1
  29. package/dist/constants/media-file-types.js +66 -1
  30. package/dist/constants/media-file-types.js.map +1 -1
  31. package/dist/constants/success-messages.d.ts +3 -0
  32. package/dist/constants/success-messages.d.ts.map +1 -1
  33. package/dist/constants/success-messages.js +3 -0
  34. package/dist/constants/success-messages.js.map +1 -1
  35. package/dist/constants/user.constants.d.ts +2 -0
  36. package/dist/constants/user.constants.d.ts.map +1 -0
  37. package/dist/constants/user.constants.js +5 -0
  38. package/dist/constants/user.constants.js.map +1 -0
  39. package/dist/controllers/action-metadata.controller.d.ts +1 -1
  40. package/dist/controllers/action-metadata.controller.js +1 -1
  41. package/dist/controllers/agent-event.controller.d.ts +1 -1
  42. package/dist/controllers/agent-event.controller.js +1 -1
  43. package/dist/controllers/agent-session.controller.d.ts +1 -1
  44. package/dist/controllers/agent-session.controller.js +1 -1
  45. package/dist/controllers/authentication.controller.d.ts +1 -1
  46. package/dist/controllers/authentication.controller.d.ts.map +1 -1
  47. package/dist/controllers/authentication.controller.js +4 -3
  48. package/dist/controllers/authentication.controller.js.map +1 -1
  49. package/dist/controllers/chatter-message.controller.d.ts +5 -0
  50. package/dist/controllers/chatter-message.controller.d.ts.map +1 -1
  51. package/dist/controllers/chatter-message.controller.js +14 -0
  52. package/dist/controllers/chatter-message.controller.js.map +1 -1
  53. package/dist/controllers/dashboard-user-layout.controller.d.ts +1 -1
  54. package/dist/controllers/dashboard-user-layout.controller.js +1 -1
  55. package/dist/controllers/email-template.controller.d.ts +1 -1
  56. package/dist/controllers/email-template.controller.js +1 -1
  57. package/dist/controllers/export-template.controller.d.ts +1 -1
  58. package/dist/controllers/export-template.controller.d.ts.map +1 -1
  59. package/dist/controllers/export-template.controller.js +6 -4
  60. package/dist/controllers/export-template.controller.js.map +1 -1
  61. package/dist/controllers/export-transaction.controller.d.ts +1 -1
  62. package/dist/controllers/export-transaction.controller.js +1 -1
  63. package/dist/controllers/field-metadata.controller.d.ts +2 -2
  64. package/dist/controllers/import-transaction-error-log.controller.d.ts +1 -1
  65. package/dist/controllers/import-transaction-error-log.controller.js +1 -1
  66. package/dist/controllers/import-transaction.controller.d.ts +1 -1
  67. package/dist/controllers/import-transaction.controller.d.ts.map +1 -1
  68. package/dist/controllers/import-transaction.controller.js +7 -7
  69. package/dist/controllers/import-transaction.controller.js.map +1 -1
  70. package/dist/controllers/list-of-values.controller.d.ts +1 -1
  71. package/dist/controllers/list-of-values.controller.js +1 -1
  72. package/dist/controllers/locale.controller.d.ts +1 -1
  73. package/dist/controllers/locale.controller.js +1 -1
  74. package/dist/controllers/mcp-audit-log.controller.d.ts +1 -1
  75. package/dist/controllers/mcp-audit-log.controller.js +1 -1
  76. package/dist/controllers/media.controller.d.ts +2 -2
  77. package/dist/controllers/media.controller.d.ts.map +1 -1
  78. package/dist/controllers/media.controller.js +13 -8
  79. package/dist/controllers/media.controller.js.map +1 -1
  80. package/dist/controllers/menu-item-metadata.controller.d.ts +1 -1
  81. package/dist/controllers/menu-item-metadata.controller.js +1 -1
  82. package/dist/controllers/model-sequence.controller.d.ts +1 -1
  83. package/dist/controllers/model-sequence.controller.js +1 -1
  84. package/dist/controllers/module-package.controller.d.ts.map +1 -1
  85. package/dist/controllers/module-package.controller.js +2 -3
  86. package/dist/controllers/module-package.controller.js.map +1 -1
  87. package/dist/controllers/mpin-authentication.controller.d.ts +44 -0
  88. package/dist/controllers/mpin-authentication.controller.d.ts.map +1 -0
  89. package/dist/controllers/mpin-authentication.controller.js +102 -0
  90. package/dist/controllers/mpin-authentication.controller.js.map +1 -0
  91. package/dist/controllers/mq-message-queue.controller.d.ts +1 -1
  92. package/dist/controllers/mq-message-queue.controller.js +1 -1
  93. package/dist/controllers/mq-message.controller.d.ts +1 -1
  94. package/dist/controllers/mq-message.controller.js +1 -1
  95. package/dist/controllers/permission-metadata.controller.d.ts +1 -1
  96. package/dist/controllers/permission-metadata.controller.js +1 -1
  97. package/dist/controllers/role-metadata.controller.d.ts +1 -1
  98. package/dist/controllers/role-metadata.controller.js +1 -1
  99. package/dist/controllers/saved-filters.controller.d.ts +1 -1
  100. package/dist/controllers/saved-filters.controller.js +1 -1
  101. package/dist/controllers/scheduled-job.controller.d.ts +1 -1
  102. package/dist/controllers/scheduled-job.controller.js +1 -1
  103. package/dist/controllers/security-rule.controller.d.ts +1 -1
  104. package/dist/controllers/security-rule.controller.js +1 -1
  105. package/dist/controllers/sms-template.controller.d.ts +1 -1
  106. package/dist/controllers/sms-template.controller.js +1 -1
  107. package/dist/controllers/user-activity-history.controller.d.ts +1 -1
  108. package/dist/controllers/user-activity-history.controller.js +1 -1
  109. package/dist/controllers/user-view-metadata.controller.d.ts +1 -1
  110. package/dist/controllers/user-view-metadata.controller.js +1 -1
  111. package/dist/controllers/user.controller.d.ts +2 -2
  112. package/dist/controllers/user.controller.js +2 -2
  113. package/dist/controllers/view-metadata.controller.d.ts +2 -2
  114. package/dist/controllers/view-metadata.controller.js +1 -1
  115. package/dist/controllers/workflow-definition.controller.d.ts +1 -1
  116. package/dist/controllers/workflow-definition.controller.js +1 -1
  117. package/dist/controllers/workflow-execution-artifact.controller.d.ts +1 -1
  118. package/dist/controllers/workflow-execution-artifact.controller.js +1 -1
  119. package/dist/controllers/workflow-execution-log.controller.d.ts +1 -1
  120. package/dist/controllers/workflow-execution-log.controller.js +1 -1
  121. package/dist/controllers/workflow-execution.controller.d.ts +1 -1
  122. package/dist/controllers/workflow-execution.controller.js +1 -1
  123. package/dist/controllers/workflow-secret.controller.d.ts +1 -1
  124. package/dist/controllers/workflow-secret.controller.js +1 -1
  125. package/dist/controllers/workflow-step-execution.controller.d.ts +1 -1
  126. package/dist/controllers/workflow-step-execution.controller.js +1 -1
  127. package/dist/controllers/workflow-trigger-execution.controller.d.ts +1 -1
  128. package/dist/controllers/workflow-trigger-execution.controller.js +1 -1
  129. package/dist/dtos/basic-filters.dto.d.ts +0 -1
  130. package/dist/dtos/basic-filters.dto.d.ts.map +1 -1
  131. package/dist/dtos/basic-filters.dto.js +1 -6
  132. package/dist/dtos/basic-filters.dto.js.map +1 -1
  133. package/dist/dtos/change-mpin.dto.d.ts +6 -0
  134. package/dist/dtos/change-mpin.dto.d.ts.map +1 -0
  135. package/dist/dtos/change-mpin.dto.js +39 -0
  136. package/dist/dtos/change-mpin.dto.js.map +1 -0
  137. package/dist/dtos/create-field-metadata.dto.d.ts +3 -6
  138. package/dist/dtos/create-field-metadata.dto.d.ts.map +1 -1
  139. package/dist/dtos/create-field-metadata.dto.js +15 -10
  140. package/dist/dtos/create-field-metadata.dto.js.map +1 -1
  141. package/dist/dtos/create-model-sequence.dto.d.ts +1 -1
  142. package/dist/dtos/create-model-sequence.dto.d.ts.map +1 -1
  143. package/dist/dtos/create-model-sequence.dto.js +1 -1
  144. package/dist/dtos/create-model-sequence.dto.js.map +1 -1
  145. package/dist/dtos/mpin-login.dto.d.ts +5 -0
  146. package/dist/dtos/mpin-login.dto.d.ts.map +1 -0
  147. package/dist/dtos/mpin-login.dto.js +33 -0
  148. package/dist/dtos/mpin-login.dto.js.map +1 -0
  149. package/dist/dtos/setup-mpin.dto.d.ts +7 -0
  150. package/dist/dtos/setup-mpin.dto.d.ts.map +1 -0
  151. package/dist/dtos/setup-mpin.dto.js +47 -0
  152. package/dist/dtos/setup-mpin.dto.js.map +1 -0
  153. package/dist/entities/common.entity.d.ts +4 -0
  154. package/dist/entities/common.entity.d.ts.map +1 -1
  155. package/dist/entities/common.entity.js +25 -1
  156. package/dist/entities/common.entity.js.map +1 -1
  157. package/dist/entities/dashboard-user-layout.entity.js +2 -2
  158. package/dist/entities/dashboard-user-layout.entity.js.map +1 -1
  159. package/dist/entities/field-metadata.entity.d.ts +1 -0
  160. package/dist/entities/field-metadata.entity.d.ts.map +1 -1
  161. package/dist/entities/field-metadata.entity.js +5 -1
  162. package/dist/entities/field-metadata.entity.js.map +1 -1
  163. package/dist/entities/saved-filters.entity.js +3 -3
  164. package/dist/entities/saved-filters.entity.js.map +1 -1
  165. package/dist/entities/user-device-credential.entity.d.ts +18 -0
  166. package/dist/entities/user-device-credential.entity.d.ts.map +1 -0
  167. package/dist/entities/user-device-credential.entity.js +91 -0
  168. package/dist/entities/user-device-credential.entity.js.map +1 -0
  169. package/dist/entities/user.entity.d.ts.map +1 -1
  170. package/dist/entities/user.entity.js +36 -0
  171. package/dist/entities/user.entity.js.map +1 -1
  172. package/dist/entities/view-metadata.entity.js.map +1 -1
  173. package/dist/entities/workflow-execution-artifact.entity.d.ts.map +1 -1
  174. package/dist/entities/workflow-execution-artifact.entity.js +4 -3
  175. package/dist/entities/workflow-execution-artifact.entity.js.map +1 -1
  176. package/dist/entities/workflow-execution-log.entity.d.ts.map +1 -1
  177. package/dist/entities/workflow-execution-log.entity.js +4 -3
  178. package/dist/entities/workflow-execution-log.entity.js.map +1 -1
  179. package/dist/entities/workflow-execution.entity.d.ts.map +1 -1
  180. package/dist/entities/workflow-execution.entity.js +3 -2
  181. package/dist/entities/workflow-execution.entity.js.map +1 -1
  182. package/dist/entities/workflow-secret.entity.d.ts.map +1 -1
  183. package/dist/entities/workflow-secret.entity.js +3 -2
  184. package/dist/entities/workflow-secret.entity.js.map +1 -1
  185. package/dist/entities/workflow-step-execution.entity.d.ts.map +1 -1
  186. package/dist/entities/workflow-step-execution.entity.js +3 -2
  187. package/dist/entities/workflow-step-execution.entity.js.map +1 -1
  188. package/dist/entities/workflow-trigger-execution.entity.d.ts.map +1 -1
  189. package/dist/entities/workflow-trigger-execution.entity.js +7 -6
  190. package/dist/entities/workflow-trigger-execution.entity.js.map +1 -1
  191. package/dist/factories/mail.factory.d.ts.map +1 -1
  192. package/dist/factories/mail.factory.js +4 -0
  193. package/dist/factories/mail.factory.js.map +1 -1
  194. package/dist/filters/http-exception.filter.d.ts.map +1 -1
  195. package/dist/filters/http-exception.filter.js +5 -1
  196. package/dist/filters/http-exception.filter.js.map +1 -1
  197. package/dist/helpers/bootstrap.helper.d.ts +5 -2
  198. package/dist/helpers/bootstrap.helper.d.ts.map +1 -1
  199. package/dist/helpers/bootstrap.helper.js +7 -3
  200. package/dist/helpers/bootstrap.helper.js.map +1 -1
  201. package/dist/helpers/field-crud-managers/MediaFieldCrudManager.d.ts +7 -0
  202. package/dist/helpers/field-crud-managers/MediaFieldCrudManager.d.ts.map +1 -1
  203. package/dist/helpers/field-crud-managers/MediaFieldCrudManager.js +66 -32
  204. package/dist/helpers/field-crud-managers/MediaFieldCrudManager.js.map +1 -1
  205. package/dist/helpers/file-download.helper.d.ts +9 -0
  206. package/dist/helpers/file-download.helper.d.ts.map +1 -0
  207. package/dist/helpers/file-download.helper.js +19 -0
  208. package/dist/helpers/file-download.helper.js.map +1 -0
  209. package/dist/helpers/model-metadata-helper.service.d.ts.map +1 -1
  210. package/dist/helpers/model-metadata-helper.service.js +30 -1
  211. package/dist/helpers/model-metadata-helper.service.js.map +1 -1
  212. package/dist/helpers/security.helper.d.ts +5 -1
  213. package/dist/helpers/security.helper.d.ts.map +1 -1
  214. package/dist/helpers/security.helper.js +15 -4
  215. package/dist/helpers/security.helper.js.map +1 -1
  216. package/dist/helpers/solid-core-error-codes-provider.service.d.ts.map +1 -1
  217. package/dist/helpers/solid-core-error-codes-provider.service.js +45 -0
  218. package/dist/helpers/solid-core-error-codes-provider.service.js.map +1 -1
  219. package/dist/helpers/solid-microservice-adapter.service.d.ts.map +1 -1
  220. package/dist/helpers/solid-microservice-adapter.service.js +1 -1
  221. package/dist/helpers/solid-microservice-adapter.service.js.map +1 -1
  222. package/dist/helpers/solid-registry.js +1 -1
  223. package/dist/helpers/solid-registry.js.map +1 -1
  224. package/dist/helpers/typeorm-db-helper.d.ts.map +1 -1
  225. package/dist/helpers/typeorm-db-helper.js +9 -0
  226. package/dist/helpers/typeorm-db-helper.js.map +1 -1
  227. package/dist/index.d.ts +10 -0
  228. package/dist/index.d.ts.map +1 -1
  229. package/dist/index.js +10 -0
  230. package/dist/index.js.map +1 -1
  231. package/dist/interfaces/active-user-data.interface.d.ts +1 -0
  232. package/dist/interfaces/active-user-data.interface.d.ts.map +1 -1
  233. package/dist/interfaces/active-user-data.interface.js.map +1 -1
  234. package/dist/interfaces.d.ts +1 -0
  235. package/dist/interfaces.d.ts.map +1 -1
  236. package/dist/interfaces.js.map +1 -1
  237. package/dist/repository/user-device-credential.repository.d.ts +12 -0
  238. package/dist/repository/user-device-credential.repository.d.ts.map +1 -0
  239. package/dist/repository/user-device-credential.repository.js +34 -0
  240. package/dist/repository/user-device-credential.repository.js.map +1 -0
  241. package/dist/seeders/module-metadata-seeder.service.d.ts.map +1 -1
  242. package/dist/seeders/module-metadata-seeder.service.js +51 -30
  243. package/dist/seeders/module-metadata-seeder.service.js.map +1 -1
  244. package/dist/seeders/module-test-data.service.d.ts +3 -1
  245. package/dist/seeders/module-test-data.service.d.ts.map +1 -1
  246. package/dist/seeders/module-test-data.service.js +8 -2
  247. package/dist/seeders/module-test-data.service.js.map +1 -1
  248. package/dist/seeders/seed-data/solid-core-metadata.json +290 -78
  249. package/dist/services/api-key.service.d.ts.map +1 -1
  250. package/dist/services/api-key.service.js +1 -1
  251. package/dist/services/api-key.service.js.map +1 -1
  252. package/dist/services/authentication.service.d.ts +9 -5
  253. package/dist/services/authentication.service.d.ts.map +1 -1
  254. package/dist/services/authentication.service.js +102 -23
  255. package/dist/services/authentication.service.js.map +1 -1
  256. package/dist/services/chatter-message.service.d.ts +16 -1
  257. package/dist/services/chatter-message.service.d.ts.map +1 -1
  258. package/dist/services/chatter-message.service.js +100 -16
  259. package/dist/services/chatter-message.service.js.map +1 -1
  260. package/dist/services/crud-helper.service.d.ts +6 -4
  261. package/dist/services/crud-helper.service.d.ts.map +1 -1
  262. package/dist/services/crud-helper.service.js +32 -48
  263. package/dist/services/crud-helper.service.js.map +1 -1
  264. package/dist/services/crud.service.d.ts +13 -1
  265. package/dist/services/crud.service.d.ts.map +1 -1
  266. package/dist/services/crud.service.js +94 -68
  267. package/dist/services/crud.service.js.map +1 -1
  268. package/dist/services/datasource-introspection.service.d.ts.map +1 -1
  269. package/dist/services/datasource-introspection.service.js.map +1 -1
  270. package/dist/services/draft-publish-helper.service.d.ts +53 -0
  271. package/dist/services/draft-publish-helper.service.d.ts.map +1 -0
  272. package/dist/services/draft-publish-helper.service.js +402 -0
  273. package/dist/services/draft-publish-helper.service.js.map +1 -0
  274. package/dist/services/field-metadata.service.d.ts +2 -2
  275. package/dist/services/field-metadata.service.d.ts.map +1 -1
  276. package/dist/services/field-metadata.service.js +4 -1
  277. package/dist/services/field-metadata.service.js.map +1 -1
  278. package/dist/services/internationalisation-helper.service.d.ts +19 -0
  279. package/dist/services/internationalisation-helper.service.d.ts.map +1 -0
  280. package/dist/services/internationalisation-helper.service.js +107 -0
  281. package/dist/services/internationalisation-helper.service.js.map +1 -0
  282. package/dist/services/locale.service.d.ts +1 -1
  283. package/dist/services/media-storage.utils.d.ts +1 -0
  284. package/dist/services/media-storage.utils.d.ts.map +1 -1
  285. package/dist/services/media-storage.utils.js +12 -1
  286. package/dist/services/media-storage.utils.js.map +1 -1
  287. package/dist/services/media.service.d.ts +3 -2
  288. package/dist/services/media.service.d.ts.map +1 -1
  289. package/dist/services/media.service.js +45 -29
  290. package/dist/services/media.service.js.map +1 -1
  291. package/dist/services/metadata-validation.service.d.ts +7 -0
  292. package/dist/services/metadata-validation.service.d.ts.map +1 -0
  293. package/dist/services/metadata-validation.service.js +42 -0
  294. package/dist/services/metadata-validation.service.js.map +1 -0
  295. package/dist/services/model-metadata.service.d.ts.map +1 -1
  296. package/dist/services/model-metadata.service.js +2 -1
  297. package/dist/services/model-metadata.service.js.map +1 -1
  298. package/dist/services/module-metadata.service.d.ts.map +1 -1
  299. package/dist/services/module-metadata.service.js +9 -1
  300. package/dist/services/module-metadata.service.js.map +1 -1
  301. package/dist/services/mpin.service.d.ts +67 -0
  302. package/dist/services/mpin.service.d.ts.map +1 -0
  303. package/dist/services/mpin.service.js +282 -0
  304. package/dist/services/mpin.service.js.map +1 -0
  305. package/dist/services/object.utils.d.ts +2 -0
  306. package/dist/services/object.utils.d.ts.map +1 -0
  307. package/dist/services/object.utils.js +11 -0
  308. package/dist/services/object.utils.js.map +1 -0
  309. package/dist/services/refresh-token-ids-storage.service.d.ts +25 -6
  310. package/dist/services/refresh-token-ids-storage.service.d.ts.map +1 -1
  311. package/dist/services/refresh-token-ids-storage.service.js +80 -42
  312. package/dist/services/refresh-token-ids-storage.service.js.map +1 -1
  313. package/dist/services/setting.service.d.ts.map +1 -1
  314. package/dist/services/setting.service.js +6 -1
  315. package/dist/services/setting.service.js.map +1 -1
  316. package/dist/services/settings/default-settings-provider.service.d.ts +248 -12
  317. package/dist/services/settings/default-settings-provider.service.d.ts.map +1 -1
  318. package/dist/services/settings/default-settings-provider.service.js +143 -6
  319. package/dist/services/settings/default-settings-provider.service.js.map +1 -1
  320. package/dist/services/user.service.d.ts +2 -2
  321. package/dist/services/user.service.d.ts.map +1 -1
  322. package/dist/services/user.service.js +9 -3
  323. package/dist/services/user.service.js.map +1 -1
  324. package/dist/services/view-metadata.service.d.ts +1 -2
  325. package/dist/services/view-metadata.service.d.ts.map +1 -1
  326. package/dist/services/view-metadata.service.js +3 -55
  327. package/dist/services/view-metadata.service.js.map +1 -1
  328. package/dist/services/workflow/nodes/execution-fail.node.d.ts +6 -0
  329. package/dist/services/workflow/nodes/execution-fail.node.d.ts.map +1 -0
  330. package/dist/services/workflow/nodes/execution-fail.node.js +81 -0
  331. package/dist/services/workflow/nodes/execution-fail.node.js.map +1 -0
  332. package/dist/services/workflow/nodes/for-each.node.d.ts +2 -0
  333. package/dist/services/workflow/nodes/for-each.node.d.ts.map +1 -1
  334. package/dist/services/workflow/nodes/for-each.node.js +114 -5
  335. package/dist/services/workflow/nodes/for-each.node.js.map +1 -1
  336. package/dist/services/workflow/nodes/if.node.d.ts.map +1 -1
  337. package/dist/services/workflow/nodes/if.node.js +7 -0
  338. package/dist/services/workflow/nodes/if.node.js.map +1 -1
  339. package/dist/services/workflow/nodes/log-write.node.d.ts.map +1 -1
  340. package/dist/services/workflow/nodes/log-write.node.js +2 -0
  341. package/dist/services/workflow/nodes/log-write.node.js.map +1 -1
  342. package/dist/services/workflow/nodes/loop-until.node.d.ts +12 -0
  343. package/dist/services/workflow/nodes/loop-until.node.d.ts.map +1 -0
  344. package/dist/services/workflow/nodes/loop-until.node.js +281 -0
  345. package/dist/services/workflow/nodes/loop-until.node.js.map +1 -0
  346. package/dist/services/workflow/nodes/parallel.node.d.ts.map +1 -1
  347. package/dist/services/workflow/nodes/parallel.node.js +7 -0
  348. package/dist/services/workflow/nodes/parallel.node.js.map +1 -1
  349. package/dist/services/workflow/nodes/sequential.node.d.ts.map +1 -1
  350. package/dist/services/workflow/nodes/sequential.node.js +7 -0
  351. package/dist/services/workflow/nodes/sequential.node.js.map +1 -1
  352. package/dist/services/workflow/nodes/switch.node.d.ts.map +1 -1
  353. package/dist/services/workflow/nodes/switch.node.js +7 -0
  354. package/dist/services/workflow/nodes/switch.node.js.map +1 -1
  355. package/dist/services/workflow/workflow-definition-validator.service.d.ts.map +1 -1
  356. package/dist/services/workflow/workflow-definition-validator.service.js +5 -2
  357. package/dist/services/workflow/workflow-definition-validator.service.js.map +1 -1
  358. package/dist/services/workflow/workflow-expression.service.d.ts.map +1 -1
  359. package/dist/services/workflow/workflow-expression.service.js +5 -0
  360. package/dist/services/workflow/workflow-expression.service.js.map +1 -1
  361. package/dist/services/workflow/workflow-node-registry.service.d.ts +2 -1
  362. package/dist/services/workflow/workflow-node-registry.service.d.ts.map +1 -1
  363. package/dist/services/workflow/workflow-node-registry.service.js +7 -0
  364. package/dist/services/workflow/workflow-node-registry.service.js.map +1 -1
  365. package/dist/services/workflow/workflow-runtime.service.d.ts +8 -0
  366. package/dist/services/workflow/workflow-runtime.service.d.ts.map +1 -1
  367. package/dist/services/workflow/workflow-runtime.service.js +197 -32
  368. package/dist/services/workflow/workflow-runtime.service.js.map +1 -1
  369. package/dist/services/workflow-definition.service.d.ts +1 -1
  370. package/dist/solid-core.module.d.ts +1 -3
  371. package/dist/solid-core.module.d.ts.map +1 -1
  372. package/dist/solid-core.module.js +28 -40
  373. package/dist/solid-core.module.js.map +1 -1
  374. package/dist/testing/adapters/ui/playwright-adapter.d.ts +5 -0
  375. package/dist/testing/adapters/ui/playwright-adapter.d.ts.map +1 -1
  376. package/dist/testing/adapters/ui/playwright-adapter.js +17 -1
  377. package/dist/testing/adapters/ui/playwright-adapter.js.map +1 -1
  378. package/dist/testing/adapters/ui/ui.types.d.ts +2 -0
  379. package/dist/testing/adapters/ui/ui.types.d.ts.map +1 -1
  380. package/dist/testing/adapters/ui/ui.types.js.map +1 -1
  381. package/dist/testing/reporter/console-reporter.d.ts +3 -0
  382. package/dist/testing/reporter/console-reporter.d.ts.map +1 -1
  383. package/dist/testing/reporter/console-reporter.js +2 -0
  384. package/dist/testing/reporter/console-reporter.js.map +1 -1
  385. package/dist/testing/reporter/progress-reporter.d.ts +64 -0
  386. package/dist/testing/reporter/progress-reporter.d.ts.map +1 -0
  387. package/dist/testing/reporter/progress-reporter.js +224 -0
  388. package/dist/testing/reporter/progress-reporter.js.map +1 -0
  389. package/dist/testing/reporter/reporter.types.d.ts +3 -0
  390. package/dist/testing/reporter/reporter.types.d.ts.map +1 -1
  391. package/dist/testing/reporter/reporter.types.js.map +1 -1
  392. package/dist/testing/runner/run-from-metadata.d.ts.map +1 -1
  393. package/dist/testing/runner/run-from-metadata.js +1 -0
  394. package/dist/testing/runner/run-from-metadata.js.map +1 -1
  395. package/dist/testing/steps/ui/actions.step.d.ts.map +1 -1
  396. package/dist/testing/steps/ui/actions.step.js +6 -2
  397. package/dist/testing/steps/ui/actions.step.js.map +1 -1
  398. package/dist/testing/steps/ui/assertions.step.d.ts.map +1 -1
  399. package/dist/testing/steps/ui/assertions.step.js +11 -3
  400. package/dist/testing/steps/ui/assertions.step.js.map +1 -1
  401. package/dist/testing/steps/ui/form.step.d.ts.map +1 -1
  402. package/dist/testing/steps/ui/form.step.js +9 -3
  403. package/dist/testing/steps/ui/form.step.js.map +1 -1
  404. package/dist/testing/steps/ui/manual.step.js +1 -1
  405. package/dist/testing/steps/ui/manual.step.js.map +1 -1
  406. package/dist/testing/steps/ui/navigation.step.d.ts.map +1 -1
  407. package/dist/testing/steps/ui/navigation.step.js +3 -1
  408. package/dist/testing/steps/ui/navigation.step.js.map +1 -1
  409. package/dist/theme/theme-registry.d.ts +14 -0
  410. package/dist/theme/theme-registry.d.ts.map +1 -0
  411. package/dist/theme/theme-registry.js +147 -0
  412. package/dist/theme/theme-registry.js.map +1 -0
  413. package/dist/types/workflow-dsl.types.d.ts +14 -0
  414. package/dist/types/workflow-dsl.types.d.ts.map +1 -1
  415. package/dist/types/workflow-dsl.types.js.map +1 -1
  416. package/package.json +2 -2
  417. package/src/commands/run-tests.command.ts +64 -4
  418. package/src/commands/seed.command.ts +19 -0
  419. package/src/config/cache.options.ts +9 -1
  420. package/src/constants/chatter-message.constants.ts +12 -0
  421. package/src/constants/draft-publish-fields.ts +5 -0
  422. package/src/constants/error-messages.ts +14 -0
  423. package/src/constants/media-file-types.ts +128 -0
  424. package/src/constants/success-messages.ts +5 -0
  425. package/src/constants/user.constants.ts +13 -0
  426. package/src/controllers/authentication.controller.ts +5 -2
  427. package/src/controllers/chatter-message.controller.ts +8 -0
  428. package/src/controllers/export-template.controller.ts +5 -3
  429. package/src/controllers/import-transaction.controller.ts +6 -6
  430. package/src/controllers/media.controller.ts +17 -6
  431. package/src/controllers/module-package.controller.ts +2 -3
  432. package/src/controllers/mpin-authentication.controller.ts +67 -0
  433. package/src/dtos/basic-filters.dto.ts +0 -4
  434. package/src/dtos/change-mpin.dto.ts +18 -0
  435. package/src/dtos/create-field-metadata.dto.ts +17 -9
  436. package/src/dtos/create-model-sequence.dto.ts +1 -1
  437. package/src/dtos/mpin-login.dto.ts +24 -0
  438. package/src/dtos/setup-mpin.dto.ts +51 -0
  439. package/src/entities/common.entity.ts +24 -0
  440. package/src/entities/dashboard-user-layout.entity.ts +2 -2
  441. package/src/entities/field-metadata.entity.ts +3 -0
  442. package/src/entities/saved-filters.entity.ts +3 -3
  443. package/src/entities/user-device-credential.entity.ts +130 -0
  444. package/src/entities/user.entity.ts +53 -36
  445. package/src/entities/view-metadata.entity.ts +2 -2
  446. package/src/entities/workflow-execution-artifact.entity.ts +4 -3
  447. package/src/entities/workflow-execution-log.entity.ts +4 -3
  448. package/src/entities/workflow-execution.entity.ts +3 -2
  449. package/src/entities/workflow-secret.entity.ts +3 -2
  450. package/src/entities/workflow-step-execution.entity.ts +3 -2
  451. package/src/entities/workflow-trigger-execution.entity.ts +7 -6
  452. package/src/factories/mail.factory.ts +7 -1
  453. package/src/filters/http-exception.filter.ts +11 -1
  454. package/src/helpers/bootstrap.helper.ts +43 -6
  455. package/src/helpers/field-crud-managers/MediaFieldCrudManager.ts +90 -37
  456. package/src/helpers/file-download.helper.ts +45 -0
  457. package/src/helpers/model-metadata-helper.service.ts +32 -1
  458. package/src/helpers/security.helper.ts +35 -8
  459. package/src/helpers/solid-core-error-codes-provider.service.ts +53 -0
  460. package/src/helpers/solid-microservice-adapter.service.ts +6 -1
  461. package/src/helpers/solid-registry.ts +1 -1
  462. package/src/helpers/typeorm-db-helper.ts +12 -1
  463. package/src/index.ts +10 -0
  464. package/src/interfaces/active-user-data.interface.ts +9 -0
  465. package/src/interfaces.ts +1 -0
  466. package/src/repository/user-device-credential.repository.ts +17 -0
  467. package/src/seeders/module-metadata-seeder.service.ts +61 -39
  468. package/src/seeders/module-test-data.service.ts +6 -0
  469. package/src/seeders/seed-data/solid-core-metadata.json +290 -78
  470. package/src/services/api-key.service.ts +13 -1
  471. package/src/services/authentication.service.ts +203 -41
  472. package/src/services/chatter-message.service.ts +180 -19
  473. package/src/services/crud-helper.service.ts +35 -50
  474. package/src/services/crud.service.ts +132 -105
  475. package/src/services/datasource-introspection.service.ts +5 -0
  476. package/src/services/draft-publish-helper.service.ts +581 -0
  477. package/src/services/field-metadata.service.ts +5 -2
  478. package/src/services/internationalisation-helper.service.ts +148 -0
  479. package/src/services/media-storage.utils.ts +26 -1
  480. package/src/services/media.service.ts +68 -36
  481. package/src/services/metadata-validation.service.ts +39 -0
  482. package/src/services/model-metadata.service.ts +4 -1
  483. package/src/services/module-metadata.service.ts +10 -1
  484. package/src/services/mpin.service.ts +447 -0
  485. package/src/services/object.utils.ts +10 -0
  486. package/src/services/refresh-token-ids-storage.service.ts +229 -90
  487. package/src/services/setting.service.ts +8 -1
  488. package/src/services/settings/default-settings-provider.service.ts +154 -6
  489. package/src/services/user.service.ts +18 -3
  490. package/src/services/view-metadata.service.ts +5 -145
  491. package/src/services/workflow/nodes/execution-fail.node.ts +82 -0
  492. package/src/services/workflow/nodes/for-each.node.ts +140 -6
  493. package/src/services/workflow/nodes/if.node.ts +7 -0
  494. package/src/services/workflow/nodes/log-write.node.ts +2 -0
  495. package/src/services/workflow/nodes/loop-until.node.ts +343 -0
  496. package/src/services/workflow/nodes/parallel.node.ts +7 -0
  497. package/src/services/workflow/nodes/sequential.node.ts +7 -0
  498. package/src/services/workflow/nodes/switch.node.ts +7 -0
  499. package/src/services/workflow/workflow-definition-validator.service.ts +5 -2
  500. package/src/services/workflow/workflow-expression.service.ts +5 -0
  501. package/src/services/workflow/workflow-node-registry.service.ts +11 -0
  502. package/src/services/workflow/workflow-runtime.service.ts +274 -39
  503. package/src/solid-core.module.ts +46 -15
  504. package/src/testing/README.md +75 -3
  505. package/src/testing/adapters/ui/playwright-adapter.ts +25 -0
  506. package/src/testing/adapters/ui/ui.types.ts +2 -0
  507. package/src/testing/reporter/console-reporter.ts +4 -0
  508. package/src/testing/reporter/progress-reporter.ts +251 -0
  509. package/src/testing/reporter/reporter.types.ts +3 -0
  510. package/src/testing/runner/run-from-metadata.ts +1 -0
  511. package/src/testing/steps/ui/actions.step.ts +8 -4
  512. package/src/testing/steps/ui/assertions.step.ts +18 -5
  513. package/src/testing/steps/ui/form.step.ts +16 -6
  514. package/src/testing/steps/ui/manual.step.ts +1 -1
  515. package/src/testing/steps/ui/navigation.step.ts +4 -2
  516. package/src/theme/theme-registry.ts +181 -0
  517. package/src/types/workflow-dsl.types.ts +43 -0
@@ -1 +1 @@
1
- {"version":3,"file":"basic-filters.dto.js","sourceRoot":"","sources":["../../src/dtos/basic-filters.dto.ts"],"names":[],"mappings":";;;;;;;;;;;;;AACA,6CAA8C;AAC9C,qDAAqD;AACrD,iEAA4D;AAE5D,uEAAgE;AAEhE,IAAY,gBAGX;AAHD,WAAY,gBAAgB;IACxB,2CAAuB,CAAA;IACvB,2CAAuB,CAAA;AAC3B,CAAC,EAHW,gBAAgB,gCAAhB,gBAAgB,QAG3B;AAED,MAAa,cAAe,SAAQ,yCAAkB;;;;CAyDrD;AAzDD,wCAyDC;AArDY;IAFR,IAAA,4BAAU,GAAE;IACZ,IAAA,qBAAW,EAAC,EAAE,WAAW,EAAE,QAAQ,EAAE,CAAC;;8CACZ;AAIlB;IAFR,IAAA,4BAAU,GAAE;IACZ,IAAA,qBAAW,EAAC,EAAE,WAAW,EAAE,MAAM,EAAE,CAAC;;4CACZ;AAIhB;IAFR,IAAA,4BAAU,GAAE;IACZ,IAAA,qBAAW,EAAC,EAAE,WAAW,EAAE,SAAS,EAAE,CAAC;;+CACZ;AAInB;IAFR,IAAA,4BAAU,GAAE;IACZ,IAAA,qBAAW,EAAC,EAAE,WAAW,EAAE,YAAY,EAAE,CAAC;;kDACZ;AAItB;IAFR,IAAA,4BAAU,GAAE;IACZ,IAAA,qBAAW,EAAC,EAAE,WAAW,EAAE,UAAU,EAAE,CAAC;;gDACZ;AAIpB;IAFR,IAAA,4BAAU,GAAE;IACZ,IAAA,qBAAW,EAAC,EAAE,WAAW,EAAE,eAAe,EAAE,CAAC;;qDACZ;AAYzB;IANR,IAAA,4BAAU,GAAE;IACZ,IAAA,wBAAM,EAAC,gBAAgB,CAAC;IACxB,IAAA,qBAAW,EAAC;QACT,WAAW,EAAE,iBAAiB;QAC9B,IAAI,EAAE,gBAAgB;KACzB,CAAC;;uDAC0C;AAInC;IAFR,IAAA,4BAAU,GAAE;IACZ,IAAA,qBAAW,EAAC,EAAE,WAAW,EAAE,eAAe,EAAE,CAAC;;qDACb;AAIjC;IAFC,IAAA,4BAAU,GAAE;IACZ,IAAA,qBAAW,EAAC,EAAE,WAAW,EAAE,aAAa,EAAE,CAAC;8BAC9B,6CAAmB;mDAAA;AAIxB;IAFR,IAAA,4BAAU,GAAE;IACZ,IAAA,qBAAW,EAAC,EAAE,WAAW,EAAE,QAAQ,EAAE,CAAC;;8CACd;AAIhB;IAFR,IAAA,4BAAU,GAAE;IACZ,IAAA,qBAAW,EAAC,EAAE,WAAW,EAAE,sBAAsB,EAAE,CAAC;;8CAC5B","sourcesContent":["\nimport { ApiProperty } from \"@nestjs/swagger\";\nimport { IsEnum, IsOptional } from \"class-validator\";\nimport { PaginationQueryDto } from \"./pagination-query.dto\";\nimport { Timestamp } from \"typeorm\";\nimport { BasicGroupFilterDto } from \"./basic-group-filters.dto\";\n\nexport enum SoftDeleteFilter {\n INCLUSIVE = \"inclusive\",\n EXCLUSIVE = \"exclusive\",\n}\n\nexport class BasicFilterDto extends PaginationQueryDto {\n\n @IsOptional()\n @ApiProperty({ description: \"Fields\" })\n readonly fields?: string[];\n\n @IsOptional()\n @ApiProperty({ description: \"sort\" })\n readonly sort?: string[];\n\n @IsOptional()\n @ApiProperty({ description: \"groupBy\" })\n readonly groupBy?: string[];\n\n @IsOptional()\n @ApiProperty({ description: \"aggregates\" })\n readonly aggregates?: string[];\n\n @IsOptional()\n @ApiProperty({ description: \"populate\" })\n readonly populate?: string[];\n\n @IsOptional()\n @ApiProperty({ description: \"populateMedia\" })\n readonly populateMedia?: string[];\n\n // @IsOptional()\n // @ApiProperty({ description: \"filters\" })\n // readonly filters: any[];\n\n @IsOptional()\n @IsEnum(SoftDeleteFilter)\n @ApiProperty({\n description: \"showSoftDeleted\",\n enum: SoftDeleteFilter,\n })\n readonly showSoftDeleted?: SoftDeleteFilter;\n\n @IsOptional()\n @ApiProperty({ description: \"populateGroup\" })\n readonly populateGroup?: boolean;\n\n @IsOptional()\n @ApiProperty({ description: \"groupFilter\" })\n groupFilter?: BasicGroupFilterDto\n\n @IsOptional()\n @ApiProperty({ description: \"locale\" })\n readonly locale?: string;\n\n @IsOptional()\n @ApiProperty({ description: \"status publish draft\" })\n readonly status?: string;\n\n // @IsOptional()\n // @ApiProperty({ description: \"default locale id\" })\n // readonly defaultEntityLocaleId?: number;\n}\n"]}
1
+ {"version":3,"file":"basic-filters.dto.js","sourceRoot":"","sources":["../../src/dtos/basic-filters.dto.ts"],"names":[],"mappings":";;;;;;;;;;;;;AACA,6CAA8C;AAC9C,qDAAqD;AACrD,iEAA4D;AAE5D,uEAAgE;AAEhE,IAAY,gBAGX;AAHD,WAAY,gBAAgB;IACxB,2CAAuB,CAAA;IACvB,2CAAuB,CAAA;AAC3B,CAAC,EAHW,gBAAgB,gCAAhB,gBAAgB,QAG3B;AAED,MAAa,cAAe,SAAQ,yCAAkB;;;;CAqDrD;AArDD,wCAqDC;AAjDY;IAFR,IAAA,4BAAU,GAAE;IACZ,IAAA,qBAAW,EAAC,EAAE,WAAW,EAAE,QAAQ,EAAE,CAAC;;8CACZ;AAIlB;IAFR,IAAA,4BAAU,GAAE;IACZ,IAAA,qBAAW,EAAC,EAAE,WAAW,EAAE,MAAM,EAAE,CAAC;;4CACZ;AAIhB;IAFR,IAAA,4BAAU,GAAE;IACZ,IAAA,qBAAW,EAAC,EAAE,WAAW,EAAE,SAAS,EAAE,CAAC;;+CACZ;AAInB;IAFR,IAAA,4BAAU,GAAE;IACZ,IAAA,qBAAW,EAAC,EAAE,WAAW,EAAE,YAAY,EAAE,CAAC;;kDACZ;AAItB;IAFR,IAAA,4BAAU,GAAE;IACZ,IAAA,qBAAW,EAAC,EAAE,WAAW,EAAE,UAAU,EAAE,CAAC;;gDACZ;AAIpB;IAFR,IAAA,4BAAU,GAAE;IACZ,IAAA,qBAAW,EAAC,EAAE,WAAW,EAAE,eAAe,EAAE,CAAC;;qDACZ;AAYzB;IANR,IAAA,4BAAU,GAAE;IACZ,IAAA,wBAAM,EAAC,gBAAgB,CAAC;IACxB,IAAA,qBAAW,EAAC;QACT,WAAW,EAAE,iBAAiB;QAC9B,IAAI,EAAE,gBAAgB;KACzB,CAAC;;uDAC0C;AAInC;IAFR,IAAA,4BAAU,GAAE;IACZ,IAAA,qBAAW,EAAC,EAAE,WAAW,EAAE,eAAe,EAAE,CAAC;;qDACb;AAIjC;IAFC,IAAA,4BAAU,GAAE;IACZ,IAAA,qBAAW,EAAC,EAAE,WAAW,EAAE,aAAa,EAAE,CAAC;8BAC9B,6CAAmB;mDAAA;AAIxB;IAFR,IAAA,4BAAU,GAAE;IACZ,IAAA,qBAAW,EAAC,EAAE,WAAW,EAAE,QAAQ,EAAE,CAAC;;8CACd","sourcesContent":["\nimport { ApiProperty } from \"@nestjs/swagger\";\nimport { IsEnum, IsOptional } from \"class-validator\";\nimport { PaginationQueryDto } from \"./pagination-query.dto\";\nimport { Timestamp } from \"typeorm\";\nimport { BasicGroupFilterDto } from \"./basic-group-filters.dto\";\n\nexport enum SoftDeleteFilter {\n INCLUSIVE = \"inclusive\",\n EXCLUSIVE = \"exclusive\",\n}\n\nexport class BasicFilterDto extends PaginationQueryDto {\n\n @IsOptional()\n @ApiProperty({ description: \"Fields\" })\n readonly fields?: string[];\n\n @IsOptional()\n @ApiProperty({ description: \"sort\" })\n readonly sort?: string[];\n\n @IsOptional()\n @ApiProperty({ description: \"groupBy\" })\n readonly groupBy?: string[];\n\n @IsOptional()\n @ApiProperty({ description: \"aggregates\" })\n readonly aggregates?: string[];\n\n @IsOptional()\n @ApiProperty({ description: \"populate\" })\n readonly populate?: string[];\n\n @IsOptional()\n @ApiProperty({ description: \"populateMedia\" })\n readonly populateMedia?: string[];\n\n // @IsOptional()\n // @ApiProperty({ description: \"filters\" })\n // readonly filters: any[];\n\n @IsOptional()\n @IsEnum(SoftDeleteFilter)\n @ApiProperty({\n description: \"showSoftDeleted\",\n enum: SoftDeleteFilter,\n })\n readonly showSoftDeleted?: SoftDeleteFilter;\n\n @IsOptional()\n @ApiProperty({ description: \"populateGroup\" })\n readonly populateGroup?: boolean;\n\n @IsOptional()\n @ApiProperty({ description: \"groupFilter\" })\n groupFilter?: BasicGroupFilterDto\n\n @IsOptional()\n @ApiProperty({ description: \"locale\" })\n readonly locale?: string;\n\n // @IsOptional()\n // @ApiProperty({ description: \"default locale id\" })\n // readonly defaultEntityLocaleId?: number;\n}\n"]}
@@ -0,0 +1,6 @@
1
+ export declare class ChangeMpinDto {
2
+ credentialRef: string;
3
+ currentMpin: string;
4
+ newMpin: string;
5
+ }
6
+ //# sourceMappingURL=change-mpin.dto.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"change-mpin.dto.d.ts","sourceRoot":"","sources":["../../src/dtos/change-mpin.dto.ts"],"names":[],"mappings":"AAEA,qBAAa,aAAa;IAItB,aAAa,EAAE,MAAM,CAAC;IAKtB,WAAW,EAAE,MAAM,CAAC;IAKpB,OAAO,EAAE,MAAM,CAAC;CACnB"}
@@ -0,0 +1,39 @@
1
+ "use strict";
2
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
3
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
4
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
5
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
6
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
7
+ };
8
+ var __metadata = (this && this.__metadata) || function (k, v) {
9
+ if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
10
+ };
11
+ Object.defineProperty(exports, "__esModule", { value: true });
12
+ exports.ChangeMpinDto = void 0;
13
+ const openapi = require("@nestjs/swagger");
14
+ const class_validator_1 = require("class-validator");
15
+ class ChangeMpinDto {
16
+ static _OPENAPI_METADATA_FACTORY() {
17
+ return { credentialRef: { required: true, type: () => String, maxLength: 128 }, currentMpin: { required: true, type: () => String, maxLength: 32 }, newMpin: { required: true, type: () => String, maxLength: 32 } };
18
+ }
19
+ }
20
+ exports.ChangeMpinDto = ChangeMpinDto;
21
+ __decorate([
22
+ (0, class_validator_1.IsNotEmpty)(),
23
+ (0, class_validator_1.IsString)(),
24
+ (0, class_validator_1.MaxLength)(128),
25
+ __metadata("design:type", String)
26
+ ], ChangeMpinDto.prototype, "credentialRef", void 0);
27
+ __decorate([
28
+ (0, class_validator_1.IsNotEmpty)(),
29
+ (0, class_validator_1.IsString)(),
30
+ (0, class_validator_1.MaxLength)(32),
31
+ __metadata("design:type", String)
32
+ ], ChangeMpinDto.prototype, "currentMpin", void 0);
33
+ __decorate([
34
+ (0, class_validator_1.IsNotEmpty)(),
35
+ (0, class_validator_1.IsString)(),
36
+ (0, class_validator_1.MaxLength)(32),
37
+ __metadata("design:type", String)
38
+ ], ChangeMpinDto.prototype, "newMpin", void 0);
39
+ //# sourceMappingURL=change-mpin.dto.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"change-mpin.dto.js","sourceRoot":"","sources":["../../src/dtos/change-mpin.dto.ts"],"names":[],"mappings":";;;;;;;;;;;;;AAAA,qDAAkE;AAElE,MAAa,aAAa;;;;CAezB;AAfD,sCAeC;AAXG;IAHC,IAAA,4BAAU,GAAE;IACZ,IAAA,0BAAQ,GAAE;IACV,IAAA,2BAAS,EAAC,GAAG,CAAC;;oDACO;AAKtB;IAHC,IAAA,4BAAU,GAAE;IACZ,IAAA,0BAAQ,GAAE;IACV,IAAA,2BAAS,EAAC,EAAE,CAAC;;kDACM;AAKpB;IAHC,IAAA,4BAAU,GAAE;IACZ,IAAA,0BAAQ,GAAE;IACV,IAAA,2BAAS,EAAC,EAAE,CAAC;;8CACE","sourcesContent":["import { IsNotEmpty, IsString, MaxLength } from 'class-validator';\n\nexport class ChangeMpinDto {\n @IsNotEmpty()\n @IsString()\n @MaxLength(128)\n credentialRef: string;\n\n @IsNotEmpty()\n @IsString()\n @MaxLength(32)\n currentMpin: string;\n\n @IsNotEmpty()\n @IsString()\n @MaxLength(32)\n newMpin: string;\n}\n"]}
@@ -1,3 +1,4 @@
1
+ import { MediaCategory } from '../constants/media-file-types';
1
2
  export declare enum RelationFieldsCommand {
2
3
  set = "set",
3
4
  clear = "clear",
@@ -86,12 +87,7 @@ export declare enum DecryptWhenType {
86
87
  beforeTransit = "before-transit",
87
88
  afterTransit = "after-transit"
88
89
  }
89
- export declare enum MediaType {
90
- image = "image",
91
- audio = "audio",
92
- video = "video",
93
- file = "file"
94
- }
90
+ export type MediaType = MediaCategory;
95
91
  export declare enum RelationType {
96
92
  manyToOne = "many-to-one",
97
93
  manyTomany = "many-to-many",
@@ -149,6 +145,7 @@ export declare class CreateFieldMetadataDto {
149
145
  private: boolean;
150
146
  mediaTypes: MediaType[];
151
147
  mediaMaxSizeKb: number;
148
+ mediaAllowedExtensions?: string[];
152
149
  mediaStorageProviderId?: number;
153
150
  mediaStorageProviderUserKey?: string;
154
151
  relationType: RelationType;
@@ -1 +1 @@
1
- {"version":3,"file":"create-field-metadata.dto.d.ts","sourceRoot":"","sources":["../../src/dtos/create-field-metadata.dto.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"create-field-metadata.dto.d.ts","sourceRoot":"","sources":["../../src/dtos/create-field-metadata.dto.ts"],"names":[],"mappings":"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"}
@@ -9,10 +9,11 @@ var __metadata = (this && this.__metadata) || function (k, v) {
9
9
  if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
10
10
  };
11
11
  Object.defineProperty(exports, "__esModule", { value: true });
12
- exports.CreateFieldMetadataDto = exports.ComputedFieldTriggerConfig = exports.ComputedFieldTriggerOperation = exports.ComputedFieldValueType = exports.SelectionValueType = exports.CascadeType = exports.RelationType = exports.MediaType = exports.DecryptWhenType = exports.EncryptionType = exports.ALL_ORM_TYPES = exports.MSSQLType = exports.PSQLType = exports.MySQLType = exports.SolidFieldType = exports.RelationFieldsCommand = void 0;
12
+ exports.CreateFieldMetadataDto = exports.ComputedFieldTriggerConfig = exports.ComputedFieldTriggerOperation = exports.ComputedFieldValueType = exports.SelectionValueType = exports.CascadeType = exports.RelationType = exports.DecryptWhenType = exports.EncryptionType = exports.ALL_ORM_TYPES = exports.MSSQLType = exports.PSQLType = exports.MySQLType = exports.SolidFieldType = exports.RelationFieldsCommand = void 0;
13
13
  const openapi = require("@nestjs/swagger");
14
14
  const swagger_1 = require("@nestjs/swagger");
15
15
  const class_transformer_1 = require("class-transformer");
16
+ const media_file_types_1 = require("../constants/media-file-types");
16
17
  const class_validator_1 = require("class-validator");
17
18
  var RelationFieldsCommand;
18
19
  (function (RelationFieldsCommand) {
@@ -112,13 +113,6 @@ var DecryptWhenType;
112
113
  DecryptWhenType["beforeTransit"] = "before-transit";
113
114
  DecryptWhenType["afterTransit"] = "after-transit";
114
115
  })(DecryptWhenType || (exports.DecryptWhenType = DecryptWhenType = {}));
115
- var MediaType;
116
- (function (MediaType) {
117
- MediaType["image"] = "image";
118
- MediaType["audio"] = "audio";
119
- MediaType["video"] = "video";
120
- MediaType["file"] = "file";
121
- })(MediaType || (exports.MediaType = MediaType = {}));
122
116
  var RelationType;
123
117
  (function (RelationType) {
124
118
  RelationType["manyToOne"] = "many-to-one";
@@ -162,7 +156,7 @@ class ComputedFieldTriggerConfig {
162
156
  exports.ComputedFieldTriggerConfig = ComputedFieldTriggerConfig;
163
157
  class CreateFieldMetadataDto {
164
158
  static _OPENAPI_METADATA_FACTORY() {
165
- return { name: { required: true, type: () => String }, displayName: { required: true, type: () => String }, description: { required: true, type: () => String }, type: { required: true, enum: require("./create-field-metadata.dto").SolidFieldType }, modelId: { required: true, type: () => Number }, ormType: { required: true, type: () => Object, enum: exports.ALL_ORM_TYPES }, length: { required: true, type: () => Number }, defaultValue: { required: true, type: () => String }, regexPattern: { required: true, type: () => String }, regexPatternNotMatchingErrorMsg: { required: true, type: () => String }, required: { required: true, type: () => Boolean }, unique: { required: true, type: () => Boolean }, encrypt: { required: true, type: () => Boolean }, encryptionType: { required: true, enum: require("./create-field-metadata.dto").EncryptionType }, decryptWhen: { required: true, enum: require("./create-field-metadata.dto").DecryptWhenType }, index: { required: true, type: () => Boolean }, max: { required: true, type: () => Number }, min: { required: true, type: () => Number }, private: { required: true, type: () => Boolean }, mediaTypes: { required: true, enum: require("./create-field-metadata.dto").MediaType, isArray: true }, mediaMaxSizeKb: { required: true, type: () => Number }, mediaStorageProviderId: { required: false, type: () => Number }, mediaStorageProviderUserKey: { required: false, type: () => String }, relationType: { required: true, enum: require("./create-field-metadata.dto").RelationType }, relationCoModelSingularName: { required: true, type: () => String }, relationCreateInverse: { required: true, type: () => Boolean }, relationCascade: { required: true, enum: require("./create-field-metadata.dto").CascadeType }, relationModelModuleName: { required: true, type: () => String }, relationCoModelFieldName: { required: true, type: () => String }, isRelationManyToManyOwner: { required: true, type: () => Boolean }, relationFieldFixedFilter: { required: true, type: () => String }, selectionDynamicProvider: { required: true, type: () => String }, selectionDynamicProviderCtxt: { required: true, type: () => String }, selectionStaticValues: { required: true, type: () => [String] }, selectionValueType: { required: true, enum: require("./create-field-metadata.dto").SelectionValueType }, computedFieldValueProvider: { required: true, type: () => String }, computedFieldValueProviderCtxt: { required: true, type: () => String }, computedFieldValueType: { required: true, enum: require("./create-field-metadata.dto").ComputedFieldValueType }, computedFieldTriggerConfig: { required: true, type: () => [require("./create-field-metadata.dto").ComputedFieldTriggerConfig] }, uuid: { required: true, type: () => String }, isSystem: { required: true, type: () => Boolean }, isMarkedForRemoval: { required: true, type: () => Boolean }, columnName: { required: true, type: () => String }, relationCoModelColumnName: { required: true, type: () => String }, isUserKey: { required: true, type: () => Boolean }, relationJoinTableName: { required: true, type: () => String }, enableAuditTracking: { required: false, type: () => Boolean }, isMultiSelect: { required: true, type: () => Boolean }, isPrimaryKey: { required: false, type: () => Boolean } };
159
+ return { name: { required: true, type: () => String }, displayName: { required: true, type: () => String }, description: { required: true, type: () => String }, type: { required: true, enum: require("./create-field-metadata.dto").SolidFieldType }, modelId: { required: true, type: () => Number }, ormType: { required: true, type: () => Object, enum: exports.ALL_ORM_TYPES }, length: { required: true, type: () => Number }, defaultValue: { required: true, type: () => String }, regexPattern: { required: true, type: () => String }, regexPatternNotMatchingErrorMsg: { required: true, type: () => String }, required: { required: true, type: () => Boolean }, unique: { required: true, type: () => Boolean }, encrypt: { required: true, type: () => Boolean }, encryptionType: { required: true, enum: require("./create-field-metadata.dto").EncryptionType }, decryptWhen: { required: true, enum: require("./create-field-metadata.dto").DecryptWhenType }, index: { required: true, type: () => Boolean }, max: { required: true, type: () => Number }, min: { required: true, type: () => Number }, private: { required: true, type: () => Boolean }, mediaTypes: { required: true, type: () => [Object], enum: [...media_file_types_1.MEDIA_CATEGORIES] }, mediaMaxSizeKb: { required: true, type: () => Number }, mediaAllowedExtensions: { required: false, type: () => [String] }, mediaStorageProviderId: { required: false, type: () => Number }, mediaStorageProviderUserKey: { required: false, type: () => String }, relationType: { required: true, enum: require("./create-field-metadata.dto").RelationType }, relationCoModelSingularName: { required: true, type: () => String }, relationCreateInverse: { required: true, type: () => Boolean }, relationCascade: { required: true, enum: require("./create-field-metadata.dto").CascadeType }, relationModelModuleName: { required: true, type: () => String }, relationCoModelFieldName: { required: true, type: () => String }, isRelationManyToManyOwner: { required: true, type: () => Boolean }, relationFieldFixedFilter: { required: true, type: () => String }, selectionDynamicProvider: { required: true, type: () => String }, selectionDynamicProviderCtxt: { required: true, type: () => String }, selectionStaticValues: { required: true, type: () => [String] }, selectionValueType: { required: true, enum: require("./create-field-metadata.dto").SelectionValueType }, computedFieldValueProvider: { required: true, type: () => String }, computedFieldValueProviderCtxt: { required: true, type: () => String }, computedFieldValueType: { required: true, enum: require("./create-field-metadata.dto").ComputedFieldValueType }, computedFieldTriggerConfig: { required: true, type: () => [require("./create-field-metadata.dto").ComputedFieldTriggerConfig] }, uuid: { required: true, type: () => String }, isSystem: { required: true, type: () => Boolean }, isMarkedForRemoval: { required: true, type: () => Boolean }, columnName: { required: true, type: () => String }, relationCoModelColumnName: { required: true, type: () => String }, isUserKey: { required: true, type: () => Boolean }, relationJoinTableName: { required: true, type: () => String }, enableAuditTracking: { required: false, type: () => Boolean }, isMultiSelect: { required: true, type: () => Boolean }, isPrimaryKey: { required: false, type: () => Boolean } };
166
160
  }
167
161
  }
168
162
  exports.CreateFieldMetadataDto = CreateFieldMetadataDto;
@@ -275,7 +269,7 @@ __decorate([
275
269
  ], CreateFieldMetadataDto.prototype, "private", void 0);
276
270
  __decorate([
277
271
  (0, swagger_1.ApiProperty)({ description: 'Allowed media types for the field. Only for type=mediaSingle,mediaMultiple', }),
278
- (0, class_validator_1.IsEnum)(MediaType, { each: true }),
272
+ (0, class_validator_1.IsIn)([...media_file_types_1.MEDIA_CATEGORIES], { each: true }),
279
273
  (0, class_validator_1.IsOptional)(),
280
274
  __metadata("design:type", Array)
281
275
  ], CreateFieldMetadataDto.prototype, "mediaTypes", void 0);
@@ -285,6 +279,17 @@ __decorate([
285
279
  (0, class_validator_1.IsOptional)(),
286
280
  __metadata("design:type", Number)
287
281
  ], CreateFieldMetadataDto.prototype, "mediaMaxSizeKb", void 0);
282
+ __decorate([
283
+ (0, swagger_1.ApiProperty)({ description: 'Explicit allowlist of file extensions (e.g. ["pdf","xlsx","png"]) permitted for this field, checked in addition to any mediaTypes category restriction — both must pass if both are set. For a strict allowlist, leave mediaTypes empty and use this alone. Only for type=mediaSingle,mediaMultiple', }),
284
+ (0, class_transformer_1.Transform)(({ value }) => Array.isArray(value)
285
+ ? value.map((ext) => String(ext).toLowerCase().trim().replace(/^\./, ''))
286
+ : value),
287
+ (0, class_validator_1.IsArray)(),
288
+ (0, class_validator_1.IsString)({ each: true }),
289
+ (0, class_validator_1.IsNotIn)([...media_file_types_1.DANGEROUS_EXTENSIONS], { each: true }),
290
+ (0, class_validator_1.IsOptional)(),
291
+ __metadata("design:type", Array)
292
+ ], CreateFieldMetadataDto.prototype, "mediaAllowedExtensions", void 0);
288
293
  __decorate([
289
294
  (0, swagger_1.ApiProperty)({ description: 'Configured Media storage provider. Only for type=mediaSingle,mediaMultiple', }),
290
295
  (0, class_validator_1.IsInt)(),
@@ -1 +1 @@
1
- {"version":3,"file":"create-field-metadata.dto.js","sourceRoot":"","sources":["../../src/dtos/create-field-metadata.dto.ts"],"names":[],"mappings":";;;;;;;;;;;;;AAAA,6CAA8C;AAC9C,yDAAoD;AAEpD,qDAUyB;AACzB,IAAY,qBAQX;AARD,WAAY,qBAAqB;IAC/B,oCAAW,CAAA;IACX,wCAAe,CAAA;IACf,sCAAa,CAAA;IACb,0CAAiB,CAAA;IACjB,0CAAiB,CAAA;IACjB,0CAAiB,CAAA;IACjB,0CAAiB,CAAA;AACnB,CAAC,EARW,qBAAqB,qCAArB,qBAAqB,QAQhC;AAED,IAAY,cAuCX;AAvCD,WAAY,cAAc;IAExB,6BAAW,CAAA;IACX,mCAAiB,CAAA;IAGjB,qCAAmB,CAAA;IAGnB,yCAAuB,CAAA;IACvB,uCAAqB,CAAA;IACrB,uCAAqB,CAAA;IACrB,+BAAa,CAAA;IAGb,qCAAmB,CAAA;IAGnB,+BAAa,CAAA;IACb,uCAAqB,CAAA;IACrB,+BAAa,CAAA;IAGb,uCAAqB,CAAA;IAGrB,6CAA2B,CAAA;IAC3B,iDAA+B,CAAA;IAE/B,iCAAe,CAAA;IACf,uCAAqB,CAAA;IAGrB,qDAAmC,CAAA;IACnC,uDAAqC,CAAA;IAErC,uCAAqB,CAAA;IAErB,+BAAa,CAAA;AACf,CAAC,EAvCW,cAAc,8BAAd,cAAc,QAuCzB;AAED,IAAY,SA4BX;AA5BD,WAAY,SAAS;IAEnB,wBAAW,CAAA;IACX,gCAAmB,CAAA;IACnB,8BAAiB,CAAA;IAIjB,gCAAmB,CAAA;IAEnB,+BAAkB,CAAA;IAClB,sCAAyB,CAAA;IACzB,kCAAqB,CAAA;IAIrB,0BAAa,CAAA;IACb,gCAAmB,CAAA;IAGnB,0BAAa,CAAA;IACb,kCAAqB,CAAA;IACrB,oCAAuB,CAAA;IACvB,0BAAa,CAAA;IAGb,0BAAa,CAAA;AAEf,CAAC,EA5BW,SAAS,yBAAT,SAAS,QA4BpB;AAED,IAAY,QAuBX;AAvBD,WAAY,QAAQ;IAElB,+BAAmB,CAAA;IACnB,+BAAmB,CAAA;IACnB,6BAAiB,CAAA;IAGjB,+BAAmB,CAAA;IACnB,yBAAa,CAAA;IAGb,+BAAmB,CAAA;IAGnB,mCAAuB,CAAA;IACvB,uCAA2B,CAAA;IAC3B,yBAAa,CAAA;IACb,yBAAa,CAAA;IAGb,yBAAa,CAAA;IACb,2BAAe,CAAA;IACf,sCAA0B,CAAA;AAC5B,CAAC,EAvBW,QAAQ,wBAAR,QAAQ,QAuBnB;AAED,IAAY,SAeX;AAfD,WAAY,SAAS;IACnB,wBAAW,CAAA;IACX,8BAAiB,CAAA;IACjB,gCAAmB,CAAA;IACnB,gCAAmB,CAAA;IACnB,gCAAmB,CAAA;IACnB,kCAAqB,CAAA;IACrB,uCAA0B,CAAA;IAC1B,0BAAa,CAAA;IACb,wBAAW,CAAA;IACX,0BAAa,CAAA;IACb,kCAAqB,CAAA;IACrB,oCAAuB,CAAA;IACvB,0BAAa,CAAA;IACb,kDAAqC,CAAA;AACvC,CAAC,EAfW,SAAS,yBAAT,SAAS,QAepB;AAEY,QAAA,aAAa,GAAG;IAC3B,GAAG,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC;IAC1B,GAAG,MAAM,CAAC,MAAM,CAAC,SAAS,CAAC;IAC3B,GAAG,MAAM,CAAC,MAAM,CAAC,SAAS,CAAC;CACnB,CAAC;AAMX,IAAY,cAGX;AAHD,WAAY,cAAc;IACxB,oCAAkB,CAAA;IAClB,oCAAkB,CAAA;AACpB,CAAC,EAHW,cAAc,8BAAd,cAAc,QAGzB;AAED,IAAY,eAGX;AAHD,WAAY,eAAe;IACzB,mDAAgC,CAAA;IAChC,iDAA8B,CAAA;AAChC,CAAC,EAHW,eAAe,+BAAf,eAAe,QAG1B;AAED,IAAY,SAMX;AAND,WAAY,SAAS;IACnB,4BAAe,CAAA;IACf,4BAAe,CAAA;IACf,4BAAe,CAAA;IAEf,0BAAa,CAAA;AACf,CAAC,EANW,SAAS,yBAAT,SAAS,QAMpB;AAED,IAAY,YAIX;AAJD,WAAY,YAAY;IACtB,yCAAyB,CAAA;IACzB,2CAA2B,CAAA;IAC3B,yCAAyB,CAAA;AAC3B,CAAC,EAJW,YAAY,4BAAZ,YAAY,QAIvB;AAED,IAAY,WAIX;AAJD,WAAY,WAAW;IACrB,mCAAoB,CAAA;IACpB,oCAAqB,CAAA;IACrB,kCAAmB,CAAA;AACrB,CAAC,EAJW,WAAW,2BAAX,WAAW,QAItB;AAQD,IAAY,kBAGX;AAHD,WAAY,kBAAkB;IAC5B,uCAAiB,CAAA;IACjB,iCAAW,CAAA;AACb,CAAC,EAHW,kBAAkB,kCAAlB,kBAAkB,QAG7B;AAED,IAAY,sBAOX;AAPD,WAAY,sBAAsB;IAChC,2CAAiB,CAAA;IACjB,qCAAW,CAAA;IACX,6CAAmB,CAAA;IACnB,6CAAmB,CAAA;IACnB,uCAAa,CAAA;IACb,+CAAqB,CAAA;AACvB,CAAC,EAPW,sBAAsB,sCAAtB,sBAAsB,QAOjC;AAED,IAAY,6BAOX;AAPD,WAAY,6BAA6B;IACvC,+DAA8B,CAAA;IAC9B,6DAA4B,CAAA;IAC5B,+DAA8B,CAAA;IAC9B,6DAA4B,CAAA;IAC5B,+DAA8B,CAAA;IAC9B,6DAA4B,CAAA;AAC9B,CAAC,EAPW,6BAA6B,6CAA7B,6BAA6B,QAOxC;AAED,MAAa,0BAA0B;;;;CAItC;AAJD,gEAIC;AAED,MAAa,sBAAsB;;sWA+B3B,qBAAa;;CA+NpB;AA9PD,wDA8PC;AA1PC;IAHC,IAAA,qBAAW,EAAC,EAAE,WAAW,EAAE,sEAAsE,GAAG,CAAC;IAErG,IAAA,0BAAQ,GAAE;;oDACE;AAIJ;IAFR,IAAA,qBAAW,EAAC,EAAE,WAAW,EAAE,4BAA4B,EAAE,CAAC;IAC1D,IAAA,0BAAQ,GAAE;;2DACkB;AAMpB;IAHR,IAAA,qBAAW,EAAC,EAAE,WAAW,EAAE,2BAA2B,EAAE,CAAC;IACzD,IAAA,4BAAU,GAAE;IACZ,IAAA,0BAAQ,GAAE;;2DACkB;AAQpB;IAFR,IAAA,qBAAW,EAAC,EAAE,WAAW,EAAE,sBAAsB,EAAE,CAAC;IACpD,IAAA,wBAAM,EAAC,cAAc,CAAC;;oDACO;AAKrB;IAHR,IAAA,qBAAW,EAAC,EAAE,WAAW,EAAE,kBAAkB,EAAE,CAAC;IAChD,IAAA,uBAAK,GAAE;IACP,IAAA,4BAAU,GAAE;;uDACY;AAMhB;IAHR,IAAA,qBAAW,EAAC,EAAE,WAAW,EAAE,oDAAoD,GAAG,CAAC;IACnF,IAAA,sBAAI,EAAC,qBAAa,CAAC;IACnB,IAAA,4BAAU,GAAE;;uDACa;AAKjB;IAHR,IAAA,qBAAW,EAAC,EAAE,WAAW,EAAE,yCAAyC,EAAE,CAAC;IACvE,IAAA,uBAAK,GAAE;IACP,IAAA,4BAAU,GAAE;;sDACW;AAKf;IAHR,IAAA,qBAAW,EAAC,EAAE,WAAW,EAAE,4BAA4B,EAAE,CAAC;IAC1D,IAAA,0BAAQ,GAAE;IACV,IAAA,4BAAU,GAAE;;4DACiB;AAKrB;IAHR,IAAA,qBAAW,EAAC,EAAE,WAAW,EAAE,mFAAmF,GAAG,CAAC;IAClH,IAAA,0BAAQ,GAAE;IACV,IAAA,4BAAU,GAAE;;4DACiB;AAKrB;IAHR,IAAA,qBAAW,EAAC,EAAE,WAAW,EAAE,qFAAqF,GAAG,CAAC;IACpH,IAAA,0BAAQ,GAAE;IACV,IAAA,4BAAU,GAAE;;+EACoC;AAIxC;IAFR,IAAA,qBAAW,EAAC,EAAE,WAAW,EAAE,yBAAyB,EAAE,CAAC;IACvD,IAAA,2BAAS,GAAE;;wDACe;AAKlB;IAHR,IAAA,qBAAW,EAAC,EAAE,WAAW,EAAE,4BAA4B,EAAE,CAAC;IAC1D,IAAA,2BAAS,GAAE;IACX,IAAA,4BAAU,GAAE;;sDACY;AAIhB;IAFR,IAAA,qBAAW,EAAC,EAAE,WAAW,EAAE,mCAAmC,EAAE,CAAC;IACjE,IAAA,2BAAS,GAAE;;uDACc;AAKjB;IAHR,IAAA,qBAAW,EAAC,EAAE,WAAW,EAAE,0CAA0C,EAAE,CAAC;IACxE,IAAA,wBAAM,EAAC,cAAc,CAAC;IACtB,IAAA,4BAAU,GAAE;;8DAC2B;AAMxC;IAHC,IAAA,qBAAW,EAAC,EAAE,WAAW,EAAE,oEAAoE,GAAG,CAAC;IACnG,IAAA,wBAAM,EAAC,eAAe,CAAC;IACvB,IAAA,4BAAU,GAAE;;2DACgB;AAI7B;IAFC,IAAA,qBAAW,EAAC,EAAE,WAAW,EAAE,gEAAgE,GAAG,CAAC;IAC/F,IAAA,2BAAS,GAAE;;qDACG;AAKf;IAHC,IAAA,qBAAW,EAAC,EAAE,WAAW,EAAE,yKAAyK,GAAG,CAAC;IACxM,IAAA,uBAAK,GAAE;IACP,IAAA,4BAAU,GAAE;;mDACD;AAKZ;IAHC,IAAA,qBAAW,EAAC,EAAE,WAAW,EAAE,yKAAyK,GAAG,CAAC;IACxM,IAAA,uBAAK,GAAE;IACP,IAAA,4BAAU,GAAE;;mDACD;AAIZ;IAFC,IAAA,qBAAW,EAAC,EAAE,WAAW,EAAE,uBAAuB,EAAE,CAAC;IACrD,IAAA,2BAAS,GAAE;;uDACK;AAKjB;IAHC,IAAA,qBAAW,EAAC,EAAE,WAAW,EAAE,4EAA4E,GAAG,CAAC;IAC3G,IAAA,wBAAM,EAAC,SAAS,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC;IACjC,IAAA,4BAAU,GAAE;;0DACW;AAKxB;IAHC,IAAA,qBAAW,EAAC,EAAE,WAAW,EAAE,0EAA0E,GAAG,CAAC;IACzG,IAAA,uBAAK,GAAE;IACP,IAAA,4BAAU,GAAE;;8DACU;AAKvB;IAHC,IAAA,qBAAW,EAAC,EAAE,WAAW,EAAE,4EAA4E,GAAG,CAAC;IAC3G,IAAA,uBAAK,GAAE;IACP,IAAA,4BAAU,GAAE;;sEACmB;AAKhC;IAHC,IAAA,qBAAW,EAAC,EAAE,WAAW,EAAE,oIAAoI,GAAG,CAAC;IACnK,IAAA,uBAAK,GAAE;IACP,IAAA,4BAAU,GAAE;;2EACwB;AAUrC;IAHC,IAAA,qBAAW,EAAC,EAAE,WAAW,EAAE,uCAAuC,EAAE,CAAC;IACrE,IAAA,wBAAM,EAAC,YAAY,CAAC;IACpB,IAAA,4BAAU,GAAE;;4DACc;AAK3B;IAHC,IAAA,qBAAW,EAAC,EAAE,WAAW,EAAE,wDAAwD,EAAE,CAAC;IACtF,IAAA,0BAAQ,GAAE;IACV,IAAA,4BAAU,GAAE;;2EACuB;AAKpC;IAHC,IAAA,qBAAW,EAAC,EAAE,WAAW,EAAE,iDAAiD,GAAG,CAAC;IAChF,IAAA,2BAAS,GAAE;IACX,IAAA,4BAAU,GAAE;;qEACkB;AAK/B;IAHC,IAAA,qBAAW,EAAC,EAAE,WAAW,EAAE,sCAAsC,EAAE,CAAC;IACpE,IAAA,wBAAM,EAAC,WAAW,CAAC;IACnB,IAAA,4BAAU,GAAE;;+DACgB;AAI7B;IAFC,IAAA,qBAAW,EAAC,EAAE,WAAW,EAAE,2GAA2G,EAAE,CAAC;IACzI,IAAA,4BAAU,GAAE;;uEACmB;AAIhC;IAFC,IAAA,qBAAW,EAAC,EAAE,WAAW,EAAE,yJAAyJ,EAAE,CAAC;IACvL,IAAA,4BAAU,GAAE;;wEACoB;AAIjC;IAFC,IAAA,qBAAW,EAAC,EAAE,WAAW,EAAE,wGAAwG,EAAE,CAAC;IACtI,IAAA,4BAAU,GAAE;;yEACsB;AAKnC;IAFC,IAAA,qBAAW,EAAC,EAAE,WAAW,EAAE,wHAAwH,EAAE,CAAC;IACtJ,IAAA,4BAAU,GAAE;;wEACoB;AAQjC;IANC,IAAA,qBAAW,EAAC;QACX,WAAW,EACT,gEAAgE;KACnE,CAAC;IACD,IAAA,0BAAQ,GAAE;IACV,IAAA,4BAAU,GAAE;;wEACoB;AAKjC;IAHC,IAAA,qBAAW,EAAC,EAAE,WAAW,EAAE,0DAA0D,GAAG,CAAC;IACzF,IAAA,0BAAQ,GAAE;IACV,IAAA,4BAAU,GAAE;;4EACwB;AAOrC;IALC,IAAA,qBAAW,EAAC,EAAE,WAAW,EAAE,4DAA4D,GAAG,CAAC;IAC3F,IAAA,yBAAO,GAAE;IACT,IAAA,0BAAQ,EAAC,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC;IAExB,IAAA,4BAAU,GAAE;;qEACmB;AAKhC;IAHC,IAAA,qBAAW,EAAC,EAAE,WAAW,EAAE,mFAAmF,GAAG,CAAC;IAClH,IAAA,wBAAM,EAAC,kBAAkB,CAAC;IAC1B,IAAA,4BAAU,GAAE;;kEAC0B;AAKvC;IAHC,IAAA,qBAAW,EAAC,EAAE,WAAW,EAAE,uDAAuD,GAAG,CAAC;IACtF,IAAA,0BAAQ,GAAE;IACV,IAAA,4BAAU,GAAE;;0EACsB;AAKnC;IAHC,IAAA,qBAAW,EAAC,EAAE,WAAW,EAAE,+DAA+D,GAAG,CAAC;IAC9F,IAAA,0BAAQ,GAAE;IACV,IAAA,4BAAU,GAAE;;8EAC0B;AAKvC;IAHC,IAAA,qBAAW,EAAC,EAAE,WAAW,EAAE,mDAAmD,GAAG,CAAC;IAClF,IAAA,wBAAM,EAAC,sBAAsB,CAAC;IAC9B,IAAA,4BAAU,GAAE;;sEACkC;AAK/C;IAHC,IAAA,yBAAO,GAAE;IACT,IAAA,wBAAI,EAAC,GAAG,EAAE,CAAC,0BAA0B,CAAC;IACtC,IAAA,4BAAU,GAAE;;0EAC4C;AAMzD;IAJC,IAAA,4BAAU,GAAE;IACZ,IAAA,qBAAW,EAAC,EAAE,WAAW,EAAE,OAAO,GAAG,CAAC;IACtC,IAAA,0BAAQ,GAAE;IACV,IAAA,4BAAU,GAAE;;oDACA;AAKb;IAHC,IAAA,4BAAU,GAAE;IACZ,IAAA,qBAAW,EAAC,EAAE,WAAW,EAAE,4HAA4H,GAAG,CAAC;IAC3J,IAAA,2BAAS,GAAE;;wDACM;AAKlB;IAHC,IAAA,4BAAU,GAAE;IACZ,IAAA,qBAAW,EAAC,EAAE,WAAW,EAAE,4DAA4D,GAAG,CAAC;IAC3F,IAAA,2BAAS,GAAE;;kEACgB;AAK5B;IAHC,IAAA,qBAAW,EAAC,EAAE,WAAW,EAAE,sBAAsB,GAAG,CAAC;IACrD,IAAA,0BAAQ,GAAE;IACV,IAAA,4BAAU,GAAE;;0DACK;AAKlB;IAHC,IAAA,qBAAW,EAAC,EAAE,WAAW,EAAE,uCAAuC,GAAG,CAAC;IACtE,IAAA,0BAAQ,GAAE;IACV,IAAA,4BAAU,GAAE;;yEACoB;AAKxB;IAHR,IAAA,qBAAW,EAAC,EAAE,WAAW,EAAE,aAAa,EAAE,CAAC;IAC3C,IAAA,4BAAU,GAAE;IACZ,IAAA,2BAAS,GAAE;;yDACe;AAK3B;IAHC,IAAA,qBAAW,EAAC,EAAE,WAAW,EAAE,mCAAmC,GAAG,CAAC;IAClE,IAAA,0BAAQ,GAAE;IACV,IAAA,4BAAU,GAAE;;qEACgB;AAK7B;IAHC,IAAA,qBAAW,EAAC,EAAE,WAAW,EAAE,sCAAsC,GAAG,CAAC;IACrE,IAAA,4BAAU,GAAE;IACZ,IAAA,2BAAS,GAAE;;mEACkB;AAK9B;IAHC,IAAA,4BAAU,GAAE;IACZ,IAAA,qBAAW,EAAC,EAAE,WAAW,EAAE,sBAAsB,GAAG,CAAC;IACrD,IAAA,2BAAS,GAAE;;6DACW;AAKvB;IAHC,IAAA,4BAAU,GAAE;IACZ,IAAA,qBAAW,EAAC,EAAE,WAAW,EAAE,sBAAsB,GAAG,CAAC;IACrD,IAAA,2BAAS,GAAE;;4DACW","sourcesContent":["import { ApiProperty } from '@nestjs/swagger';\nimport { Transform, Type } from 'class-transformer';\n\nimport {\n IsArray,\n IsBoolean,\n IsEnum,\n IsIn,\n IsInt,\n IsOptional,\n IsString,\n Matches,\n ValidateIf\n} from 'class-validator';\nexport enum RelationFieldsCommand {\n set = \"set\",\n clear = \"clear\",\n link = \"link\",\n unlink = \"unlink\",\n create = \"create\",\n update = \"update\",\n delete = \"delete\"\n}\n\nexport enum SolidFieldType {\n // numeric types\n int = 'int',\n bigint = 'bigint',\n // float = 'float',\n // double = 'double',\n decimal = 'decimal',\n\n // text types\n shortText = 'shortText',\n longtext = 'longText',\n richText = 'richText',\n json = 'json',\n\n // boolean types\n boolean = 'boolean',\n\n // date\n date = 'date',\n datetime = 'datetime',\n time = 'time',\n\n // relation\n relation = 'relation',\n\n // media\n mediaSingle = 'mediaSingle',\n mediaMultiple = 'mediaMultiple',\n\n email = 'email',\n password = 'password',\n\n // selection\n selectionStatic = 'selectionStatic',\n selectionDynamic = 'selectionDynamic',\n\n computed = 'computed',\n\n uuid = 'uuid'\n}\n\nexport enum MySQLType { //FIXME Currently this type is being used in the definition, Need to use OrmType instead\n // Numeric types\n int = 'int',\n decimal = 'decimal',\n double = 'double',\n\n // Text types\n // fieldType=shortText\n varchar = 'varchar',\n // fieldType=longText\n text = 'shortText',\n mediumtext = 'mediumtext',\n longtext = 'longtext',\n\n // Boolean types\n // fieldType=boolean\n bool = 'bool',\n boolean = 'boolean',\n\n //Date Types\n date = 'date',\n datetime = 'datetime',\n timestamp = 'timestamp',\n time = 'time',\n\n // Other types\n json = 'json',\n\n}\n\nexport enum PSQLType { //FIXME Currently this type is being used in the definition, Need to use OrmType instead\n // Numeric types\n integer = 'integer',\n decimal = 'decimal',\n bigint = 'bigint',\n\n // Text types\n varchar = 'varchar',\n text = 'text',\n\n // Boolean types\n boolean = 'boolean',\n\n // Date types\n timestamp = 'timestamp',\n timestamptz = 'timestamptz',\n time = 'time',\n date = 'date',\n\n // Other types\n json = 'json',\n jsonb = 'jsonb',\n simplejson = 'simple-json'\n}\n\nexport enum MSSQLType {\n int = \"int\",\n bigint = \"bigint\",\n decimal = \"decimal\",\n numeric = \"numeric\",\n varchar = \"varchar\",\n nvarchar = \"nvarchar\",\n simplejson = \"simple-json\",\n text = \"text\",\n bit = \"bit\",\n date = \"date\",\n datetime = \"datetime\",\n datetime2 = \"datetime2\",\n time = \"time\",\n uniqueidentifier = \"uniqueidentifier\"\n}\n\nexport const ALL_ORM_TYPES = [\n ...Object.values(PSQLType),\n ...Object.values(MSSQLType),\n ...Object.values(MySQLType),\n] as const;\n\nexport type OrmType = typeof ALL_ORM_TYPES[number];\n\n// export type OrmType = PSQLType | MySQLType | MSSQLType;\n\nexport enum EncryptionType {\n aes128 = 'aes-128',\n aes256 = 'aes-256',\n}\n\nexport enum DecryptWhenType {\n beforeTransit = 'before-transit',\n afterTransit = 'after-transit',\n}\n\nexport enum MediaType {\n image = 'image',\n audio = 'audio',\n video = 'video',\n // document = 'document',\n file = 'file',\n}\n\nexport enum RelationType {\n manyToOne = 'many-to-one',\n manyTomany = 'many-to-many',\n oneToMany = 'one-to-many',\n}\n\nexport enum CascadeType {\n setNull = 'set null',\n restrict = 'restrict',\n cascade = 'cascade',\n}\n\n// export enum MediaStorageProviderType {\n// database = 'database',\n// file = 'file',\n// s3 = 's3',\n// }\n\nexport enum SelectionValueType {\n string = 'string',\n int = 'int',\n}\n\nexport enum ComputedFieldValueType {\n string = 'string',\n int = 'int',\n decimal = 'decimal',\n boolean = 'boolean',\n date = 'date',\n datetime = 'datetime',\n}\n\nexport enum ComputedFieldTriggerOperation {\n beforeInsert = \"before-insert\",\n afterInsert = \"after-insert\",\n beforeUpdate = \"before-update\",\n afterUpdate = \"after-update\",\n beforeRemove = \"before-delete\",\n afterRemove = \"after-delete\",\n}\n\nexport class ComputedFieldTriggerConfig {\n moduleName: string; // Name of the module where the computed field is defined\n modelName: string;\n operations: ComputedFieldTriggerOperation[]; // List of operations where this computed field should be triggered\n}\n\nexport class CreateFieldMetadataDto {\n @ApiProperty({ description: 'Name of your field, this is also the name of the column or attribute', })\n // @Matches(/[a-z]+(_[a-z]+)*/, { message: 'Field name should follow snake case conventions only with all lower case.', })\n @IsString()\n name: string;\n\n @ApiProperty({ description: 'Display name of your field' })\n @IsString()\n readonly displayName: string;\n\n\n @ApiProperty({ description: 'Description of your field' })\n @IsOptional()\n @IsString()\n readonly description: string;\n\n // @ApiProperty({ description: \"Help text associated with this field\" })\n // @IsString()\n // readonly helpText: string;\n\n @ApiProperty({ description: 'Field can have types' })\n @IsEnum(SolidFieldType)\n readonly type: SolidFieldType;\n\n @ApiProperty({ description: 'Related model id' })\n @IsInt()\n @IsOptional()\n readonly modelId: number;\n\n //For all types of fields\n @ApiProperty({ description: 'Field can have orm types specific to your database', })\n @IsIn(ALL_ORM_TYPES)\n @IsOptional()\n readonly ormType: OrmType;\n\n @ApiProperty({ description: 'Length of the field. Only for type=text' })\n @IsInt()\n @IsOptional()\n readonly length: number;\n\n @ApiProperty({ description: 'Default value of the field' })\n @IsString()\n @IsOptional()\n readonly defaultValue: string;\n\n @ApiProperty({ description: 'Format regex pattern for the field. Only for type=text, longText, email, password', })\n @IsString()\n @IsOptional()\n readonly regexPattern: string;\n\n @ApiProperty({ description: 'If the regex pattern matching fails, then what is the error message to be displayed', })\n @IsString()\n @IsOptional()\n readonly regexPatternNotMatchingErrorMsg: string;\n\n @ApiProperty({ description: 'Is the field mandatory?' })\n @IsBoolean()\n readonly required: boolean;\n\n @ApiProperty({ description: 'Is the field value unique?' })\n @IsBoolean()\n @IsOptional()\n readonly unique: boolean;\n\n @ApiProperty({ description: 'Is the field symmetric encrypted?' })\n @IsBoolean()\n readonly encrypt: boolean;\n\n @ApiProperty({ description: 'Type of encryption. Only if encrypt=true' })\n @IsEnum(EncryptionType)\n @IsOptional()\n readonly encryptionType: EncryptionType;\n\n //Pending\n @ApiProperty({ description: 'At what point do we want to decrypt the data? Only if encrypt=true', })\n @IsEnum(DecryptWhenType)\n @IsOptional()\n decryptWhen: DecryptWhenType;\n\n @ApiProperty({ description: 'Is the field indexed? For all types, except:richText, longText', })\n @IsBoolean()\n index: boolean;\n\n @ApiProperty({ description: 'for text fields, this is length. for numeric fields, this is the range of values allowed. Only for type=shortText,longText,richText,json,int,decimal,date,dateTime,time', })\n @IsInt()\n @IsOptional()\n max: number;\n\n @ApiProperty({ description: 'for text fields, this is length. for numeric fields, this is the range of values allowed. Only for type=shortText,longText,richText,json,int,decimal,date,dateTime,time', })\n @IsInt()\n @IsOptional()\n min: number;\n\n @ApiProperty({ description: 'Is the field private?' })\n @IsBoolean()\n private: boolean;\n\n @ApiProperty({ description: 'Allowed media types for the field. Only for type=mediaSingle,mediaMultiple', })\n @IsEnum(MediaType, { each: true })\n @IsOptional()\n mediaTypes: MediaType[];\n\n @ApiProperty({ description: 'Maximum size of the media in KB. Only for type=mediaSingle,mediaMultiple', })\n @IsInt()\n @IsOptional()\n mediaMaxSizeKb: number;\n\n @ApiProperty({ description: 'Configured Media storage provider. Only for type=mediaSingle,mediaMultiple', })\n @IsInt()\n @IsOptional()\n mediaStorageProviderId?: number;\n\n @ApiProperty({ description: 'Configured Media storage provider. Only for type=mediaSingle,mediaMultiple. When you need to specify the storage provider by name.', })\n @IsInt()\n @IsOptional()\n mediaStorageProviderUserKey?: string;\n\n // @ApiProperty({ description: 'Is the media embedded in the entity table? Only for type=mediaSingle', })\n // @IsBoolean()\n // @IsOptional()\n // mediaEmbedded: boolean;\n\n @ApiProperty({ description: 'Relation Type. Only for type=relation' })\n @IsEnum(RelationType)\n @IsOptional()\n relationType: RelationType;\n\n @ApiProperty({ description: 'Related model for the relation. Only for type=relation' })\n @IsString()\n @IsOptional()\n relationCoModelSingularName: string;\n\n @ApiProperty({ description: 'Create inverse relation. Only for type=relation', })\n @IsBoolean()\n @IsOptional()\n relationCreateInverse: boolean;\n\n @ApiProperty({ description: 'Cascade type. Only for type=relation' })\n @IsEnum(CascadeType)\n @IsOptional()\n relationCascade: CascadeType;\n\n @ApiProperty({ description: 'Related field module. Only required for type=relation, if the related field belongs to a different module' })\n @IsOptional()\n relationModelModuleName: string;\n\n @ApiProperty({ description: 'Related field module. Only required for type=relation and relationType=many-to-many, i.e if the related many to many field belongs to a different model' })\n @IsOptional()\n relationCoModelFieldName: string;\n\n @ApiProperty({ description: 'Only for type=relation, many-to-many. This field is used to set the owner of the many-to-many relation' })\n @IsOptional()\n isRelationManyToManyOwner: boolean;\n\n\n @ApiProperty({ description: 'Only for type=relation, many-to-many. This field is used to store fixed filters that needs to applied on related model' })\n @IsOptional()\n relationFieldFixedFilter: string;\n\n @ApiProperty({\n description:\n 'Dynamic provider for selection. Only for type=selectionDynamic',\n })\n @IsString()\n @IsOptional()\n selectionDynamicProvider: string;\n\n @ApiProperty({ description: 'Dynamic provider Context. Only for type=selectionDynamic', })\n @IsString()\n @IsOptional()\n selectionDynamicProviderCtxt: string;\n\n @ApiProperty({ description: 'Static values for selection. Only for type=selectionStatic', })\n @IsArray()\n @IsString({ each: true })\n // @Matches(/^[\\w\\s\\d\\-\\/]+:[\\w\\s\\-\\/]+$/, { each: true })\n @IsOptional()\n selectionStaticValues: string[];\n\n @ApiProperty({ description: 'Type of value for selection. Applicable for type=selectionStatic,selectionDynamic', })\n @IsEnum(SelectionValueType)\n @IsOptional()\n selectionValueType: SelectionValueType;\n\n @ApiProperty({ description: 'Computed Field Value Provider. Only for type=computed', })\n @IsString()\n @IsOptional()\n computedFieldValueProvider: string;\n\n @ApiProperty({ description: 'Computed Field Value Provider Context. Only for type=computed', })\n @IsString()\n @IsOptional()\n computedFieldValueProviderCtxt: string;\n\n @ApiProperty({ description: 'Computed field value type. Only for type=computed', })\n @IsEnum(ComputedFieldValueType)\n @IsOptional()\n computedFieldValueType: ComputedFieldValueType;\n\n @IsArray()\n @Type(() => ComputedFieldTriggerConfig)\n @IsOptional()\n computedFieldTriggerConfig: ComputedFieldTriggerConfig[];\n\n @IsOptional()\n @ApiProperty({ description: 'Uuid.', })\n @IsString()\n @IsOptional()\n uuid: string;\n\n @IsOptional()\n @ApiProperty({ description: 'System fields are not included in the code generation, the assumption being that system fields have manually written code.', })\n @IsBoolean()\n isSystem: boolean;\n\n @IsOptional()\n @ApiProperty({ description: 'Marked for removal, this is used to soft delete the field.', })\n @IsBoolean()\n isMarkedForRemoval: boolean;\n\n @ApiProperty({ description: 'Column Name of Field', })\n @IsString()\n @IsOptional()\n columnName: string\n\n @ApiProperty({ description: 'Relation CoModel Column Name of Field', })\n @IsString()\n @IsOptional()\n relationCoModelColumnName: string\n\n @ApiProperty({ description: \"Is User Key\" })\n @IsOptional()\n @IsBoolean()\n readonly isUserKey: boolean\n\n @ApiProperty({ description: 'Relation Join Table Name of Field', })\n @IsString()\n @IsOptional()\n relationJoinTableName: string\n\n @ApiProperty({ description: 'Enable Audit Tracking for this field', })\n @IsOptional()\n @IsBoolean()\n enableAuditTracking?: boolean;\n\n @IsOptional()\n @ApiProperty({ description: 'Is MultiSelect Field', })\n @IsBoolean()\n isMultiSelect: boolean;\n\n @IsOptional()\n @ApiProperty({ description: 'Is Primary Key Field', })\n @IsBoolean()\n isPrimaryKey?: boolean;\n}"]}
1
+ {"version":3,"file":"create-field-metadata.dto.js","sourceRoot":"","sources":["../../src/dtos/create-field-metadata.dto.ts"],"names":[],"mappings":"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","sourcesContent":["import { ApiProperty } from '@nestjs/swagger';\nimport { Transform, Type } from 'class-transformer';\nimport { DANGEROUS_EXTENSIONS, MEDIA_CATEGORIES, MediaCategory } from '../constants/media-file-types';\n\nimport {\n IsArray,\n IsBoolean,\n IsEnum,\n IsIn,\n IsInt,\n IsNotIn,\n IsOptional,\n IsString,\n Matches,\n ValidateIf\n} from 'class-validator';\nexport enum RelationFieldsCommand {\n set = \"set\",\n clear = \"clear\",\n link = \"link\",\n unlink = \"unlink\",\n create = \"create\",\n update = \"update\",\n delete = \"delete\"\n}\n\nexport enum SolidFieldType {\n // numeric types\n int = 'int',\n bigint = 'bigint',\n // float = 'float',\n // double = 'double',\n decimal = 'decimal',\n\n // text types\n shortText = 'shortText',\n longtext = 'longText',\n richText = 'richText',\n json = 'json',\n\n // boolean types\n boolean = 'boolean',\n\n // date\n date = 'date',\n datetime = 'datetime',\n time = 'time',\n\n // relation\n relation = 'relation',\n\n // media\n mediaSingle = 'mediaSingle',\n mediaMultiple = 'mediaMultiple',\n\n email = 'email',\n password = 'password',\n\n // selection\n selectionStatic = 'selectionStatic',\n selectionDynamic = 'selectionDynamic',\n\n computed = 'computed',\n\n uuid = 'uuid'\n}\n\nexport enum MySQLType { //FIXME Currently this type is being used in the definition, Need to use OrmType instead\n // Numeric types\n int = 'int',\n decimal = 'decimal',\n double = 'double',\n\n // Text types\n // fieldType=shortText\n varchar = 'varchar',\n // fieldType=longText\n text = 'shortText',\n mediumtext = 'mediumtext',\n longtext = 'longtext',\n\n // Boolean types\n // fieldType=boolean\n bool = 'bool',\n boolean = 'boolean',\n\n //Date Types\n date = 'date',\n datetime = 'datetime',\n timestamp = 'timestamp',\n time = 'time',\n\n // Other types\n json = 'json',\n\n}\n\nexport enum PSQLType { //FIXME Currently this type is being used in the definition, Need to use OrmType instead\n // Numeric types\n integer = 'integer',\n decimal = 'decimal',\n bigint = 'bigint',\n\n // Text types\n varchar = 'varchar',\n text = 'text',\n\n // Boolean types\n boolean = 'boolean',\n\n // Date types\n timestamp = 'timestamp',\n timestamptz = 'timestamptz',\n time = 'time',\n date = 'date',\n\n // Other types\n json = 'json',\n jsonb = 'jsonb',\n simplejson = 'simple-json'\n}\n\nexport enum MSSQLType {\n int = \"int\",\n bigint = \"bigint\",\n decimal = \"decimal\",\n numeric = \"numeric\",\n varchar = \"varchar\",\n nvarchar = \"nvarchar\",\n simplejson = \"simple-json\",\n text = \"text\",\n bit = \"bit\",\n date = \"date\",\n datetime = \"datetime\",\n datetime2 = \"datetime2\",\n time = \"time\",\n uniqueidentifier = \"uniqueidentifier\"\n}\n\nexport const ALL_ORM_TYPES = [\n ...Object.values(PSQLType),\n ...Object.values(MSSQLType),\n ...Object.values(MySQLType),\n] as const;\n\nexport type OrmType = typeof ALL_ORM_TYPES[number];\n\n// export type OrmType = PSQLType | MySQLType | MSSQLType;\n\nexport enum EncryptionType {\n aes128 = 'aes-128',\n aes256 = 'aes-256',\n}\n\nexport enum DecryptWhenType {\n beforeTransit = 'before-transit',\n afterTransit = 'after-transit',\n}\n\nexport type MediaType = MediaCategory;\n\nexport enum RelationType {\n manyToOne = 'many-to-one',\n manyTomany = 'many-to-many',\n oneToMany = 'one-to-many',\n}\n\nexport enum CascadeType {\n setNull = 'set null',\n restrict = 'restrict',\n cascade = 'cascade',\n}\n\n// export enum MediaStorageProviderType {\n// database = 'database',\n// file = 'file',\n// s3 = 's3',\n// }\n\nexport enum SelectionValueType {\n string = 'string',\n int = 'int',\n}\n\nexport enum ComputedFieldValueType {\n string = 'string',\n int = 'int',\n decimal = 'decimal',\n boolean = 'boolean',\n date = 'date',\n datetime = 'datetime',\n}\n\nexport enum ComputedFieldTriggerOperation {\n beforeInsert = \"before-insert\",\n afterInsert = \"after-insert\",\n beforeUpdate = \"before-update\",\n afterUpdate = \"after-update\",\n beforeRemove = \"before-delete\",\n afterRemove = \"after-delete\",\n}\n\nexport class ComputedFieldTriggerConfig {\n moduleName: string; // Name of the module where the computed field is defined\n modelName: string;\n operations: ComputedFieldTriggerOperation[]; // List of operations where this computed field should be triggered\n}\n\nexport class CreateFieldMetadataDto {\n @ApiProperty({ description: 'Name of your field, this is also the name of the column or attribute', })\n // @Matches(/[a-z]+(_[a-z]+)*/, { message: 'Field name should follow snake case conventions only with all lower case.', })\n @IsString()\n name: string;\n\n @ApiProperty({ description: 'Display name of your field' })\n @IsString()\n readonly displayName: string;\n\n\n @ApiProperty({ description: 'Description of your field' })\n @IsOptional()\n @IsString()\n readonly description: string;\n\n // @ApiProperty({ description: \"Help text associated with this field\" })\n // @IsString()\n // readonly helpText: string;\n\n @ApiProperty({ description: 'Field can have types' })\n @IsEnum(SolidFieldType)\n readonly type: SolidFieldType;\n\n @ApiProperty({ description: 'Related model id' })\n @IsInt()\n @IsOptional()\n readonly modelId: number;\n\n //For all types of fields\n @ApiProperty({ description: 'Field can have orm types specific to your database', })\n @IsIn(ALL_ORM_TYPES)\n @IsOptional()\n readonly ormType: OrmType;\n\n @ApiProperty({ description: 'Length of the field. Only for type=text' })\n @IsInt()\n @IsOptional()\n readonly length: number;\n\n @ApiProperty({ description: 'Default value of the field' })\n @IsString()\n @IsOptional()\n readonly defaultValue: string;\n\n @ApiProperty({ description: 'Format regex pattern for the field. Only for type=text, longText, email, password', })\n @IsString()\n @IsOptional()\n readonly regexPattern: string;\n\n @ApiProperty({ description: 'If the regex pattern matching fails, then what is the error message to be displayed', })\n @IsString()\n @IsOptional()\n readonly regexPatternNotMatchingErrorMsg: string;\n\n @ApiProperty({ description: 'Is the field mandatory?' })\n @IsBoolean()\n readonly required: boolean;\n\n @ApiProperty({ description: 'Is the field value unique?' })\n @IsBoolean()\n @IsOptional()\n readonly unique: boolean;\n\n @ApiProperty({ description: 'Is the field symmetric encrypted?' })\n @IsBoolean()\n readonly encrypt: boolean;\n\n @ApiProperty({ description: 'Type of encryption. Only if encrypt=true' })\n @IsEnum(EncryptionType)\n @IsOptional()\n readonly encryptionType: EncryptionType;\n\n //Pending\n @ApiProperty({ description: 'At what point do we want to decrypt the data? Only if encrypt=true', })\n @IsEnum(DecryptWhenType)\n @IsOptional()\n decryptWhen: DecryptWhenType;\n\n @ApiProperty({ description: 'Is the field indexed? For all types, except:richText, longText', })\n @IsBoolean()\n index: boolean;\n\n @ApiProperty({ description: 'for text fields, this is length. for numeric fields, this is the range of values allowed. Only for type=shortText,longText,richText,json,int,decimal,date,dateTime,time', })\n @IsInt()\n @IsOptional()\n max: number;\n\n @ApiProperty({ description: 'for text fields, this is length. for numeric fields, this is the range of values allowed. Only for type=shortText,longText,richText,json,int,decimal,date,dateTime,time', })\n @IsInt()\n @IsOptional()\n min: number;\n\n @ApiProperty({ description: 'Is the field private?' })\n @IsBoolean()\n private: boolean;\n\n @ApiProperty({ description: 'Allowed media types for the field. Only for type=mediaSingle,mediaMultiple', })\n @IsIn([...MEDIA_CATEGORIES], { each: true })\n @IsOptional()\n mediaTypes: MediaType[];\n\n @ApiProperty({ description: 'Maximum size of the media in KB. Only for type=mediaSingle,mediaMultiple', })\n @IsInt()\n @IsOptional()\n mediaMaxSizeKb: number;\n\n @ApiProperty({ description: 'Explicit allowlist of file extensions (e.g. [\"pdf\",\"xlsx\",\"png\"]) permitted for this field, checked in addition to any mediaTypes category restriction — both must pass if both are set. For a strict allowlist, leave mediaTypes empty and use this alone. Only for type=mediaSingle,mediaMultiple', })\n @Transform(({ value }) =>\n Array.isArray(value)\n ? value.map((ext: any) => String(ext).toLowerCase().trim().replace(/^\\./, ''))\n : value\n )\n @IsArray()\n @IsString({ each: true })\n @IsNotIn([...DANGEROUS_EXTENSIONS], { each: true })\n @IsOptional()\n mediaAllowedExtensions?: string[];\n\n @ApiProperty({ description: 'Configured Media storage provider. Only for type=mediaSingle,mediaMultiple', })\n @IsInt()\n @IsOptional()\n mediaStorageProviderId?: number;\n\n @ApiProperty({ description: 'Configured Media storage provider. Only for type=mediaSingle,mediaMultiple. When you need to specify the storage provider by name.', })\n @IsInt()\n @IsOptional()\n mediaStorageProviderUserKey?: string;\n\n // @ApiProperty({ description: 'Is the media embedded in the entity table? Only for type=mediaSingle', })\n // @IsBoolean()\n // @IsOptional()\n // mediaEmbedded: boolean;\n\n @ApiProperty({ description: 'Relation Type. Only for type=relation' })\n @IsEnum(RelationType)\n @IsOptional()\n relationType: RelationType;\n\n @ApiProperty({ description: 'Related model for the relation. Only for type=relation' })\n @IsString()\n @IsOptional()\n relationCoModelSingularName: string;\n\n @ApiProperty({ description: 'Create inverse relation. Only for type=relation', })\n @IsBoolean()\n @IsOptional()\n relationCreateInverse: boolean;\n\n @ApiProperty({ description: 'Cascade type. Only for type=relation' })\n @IsEnum(CascadeType)\n @IsOptional()\n relationCascade: CascadeType;\n\n @ApiProperty({ description: 'Related field module. Only required for type=relation, if the related field belongs to a different module' })\n @IsOptional()\n relationModelModuleName: string;\n\n @ApiProperty({ description: 'Related field module. Only required for type=relation and relationType=many-to-many, i.e if the related many to many field belongs to a different model' })\n @IsOptional()\n relationCoModelFieldName: string;\n\n @ApiProperty({ description: 'Only for type=relation, many-to-many. This field is used to set the owner of the many-to-many relation' })\n @IsOptional()\n isRelationManyToManyOwner: boolean;\n\n\n @ApiProperty({ description: 'Only for type=relation, many-to-many. This field is used to store fixed filters that needs to applied on related model' })\n @IsOptional()\n relationFieldFixedFilter: string;\n\n @ApiProperty({\n description:\n 'Dynamic provider for selection. Only for type=selectionDynamic',\n })\n @IsString()\n @IsOptional()\n selectionDynamicProvider: string;\n\n @ApiProperty({ description: 'Dynamic provider Context. Only for type=selectionDynamic', })\n @IsString()\n @IsOptional()\n selectionDynamicProviderCtxt: string;\n\n @ApiProperty({ description: 'Static values for selection. Only for type=selectionStatic', })\n @IsArray()\n @IsString({ each: true })\n // @Matches(/^[\\w\\s\\d\\-\\/]+:[\\w\\s\\-\\/]+$/, { each: true })\n @IsOptional()\n selectionStaticValues: string[];\n\n @ApiProperty({ description: 'Type of value for selection. Applicable for type=selectionStatic,selectionDynamic', })\n @IsEnum(SelectionValueType)\n @IsOptional()\n selectionValueType: SelectionValueType;\n\n @ApiProperty({ description: 'Computed Field Value Provider. Only for type=computed', })\n @IsString()\n @IsOptional()\n computedFieldValueProvider: string;\n\n @ApiProperty({ description: 'Computed Field Value Provider Context. Only for type=computed', })\n @IsString()\n @IsOptional()\n computedFieldValueProviderCtxt: string;\n\n @ApiProperty({ description: 'Computed field value type. Only for type=computed', })\n @IsEnum(ComputedFieldValueType)\n @IsOptional()\n computedFieldValueType: ComputedFieldValueType;\n\n @IsArray()\n @Type(() => ComputedFieldTriggerConfig)\n @IsOptional()\n computedFieldTriggerConfig: ComputedFieldTriggerConfig[];\n\n @IsOptional()\n @ApiProperty({ description: 'Uuid.', })\n @IsString()\n @IsOptional()\n uuid: string;\n\n @IsOptional()\n @ApiProperty({ description: 'System fields are not included in the code generation, the assumption being that system fields have manually written code.', })\n @IsBoolean()\n isSystem: boolean;\n\n @IsOptional()\n @ApiProperty({ description: 'Marked for removal, this is used to soft delete the field.', })\n @IsBoolean()\n isMarkedForRemoval: boolean;\n\n @ApiProperty({ description: 'Column Name of Field', })\n @IsString()\n @IsOptional()\n columnName: string\n\n @ApiProperty({ description: 'Relation CoModel Column Name of Field', })\n @IsString()\n @IsOptional()\n relationCoModelColumnName: string\n\n @ApiProperty({ description: \"Is User Key\" })\n @IsOptional()\n @IsBoolean()\n readonly isUserKey: boolean\n\n @ApiProperty({ description: 'Relation Join Table Name of Field', })\n @IsString()\n @IsOptional()\n relationJoinTableName: string\n\n @ApiProperty({ description: 'Enable Audit Tracking for this field', })\n @IsOptional()\n @IsBoolean()\n enableAuditTracking?: boolean;\n\n @IsOptional()\n @ApiProperty({ description: 'Is MultiSelect Field', })\n @IsBoolean()\n isMultiSelect: boolean;\n\n @IsOptional()\n @ApiProperty({ description: 'Is Primary Key Field', })\n @IsBoolean()\n isPrimaryKey?: boolean;\n}\n"]}
@@ -6,7 +6,7 @@ export declare class CreateModelSequenceDto {
6
6
  fieldId: number;
7
7
  fieldUserKey: string;
8
8
  sequenceName: string;
9
- currentValue: number;
9
+ currentValue?: number;
10
10
  prefix: string;
11
11
  padding: number;
12
12
  separator: string;
@@ -1 +1 @@
1
- {"version":3,"file":"create-model-sequence.dto.d.ts","sourceRoot":"","sources":["../../src/dtos/create-model-sequence.dto.ts"],"names":[],"mappings":"AAKA,qBAAa,sBAAsB;IAI/B,QAAQ,EAAE,MAAM,CAAC;IAIjB,aAAa,EAAE,MAAM,CAAC;IAItB,OAAO,EAAE,MAAM,CAAC;IAIhB,YAAY,EAAE,MAAM,CAAC;IAIrB,OAAO,EAAE,MAAM,CAAC;IAIhB,YAAY,EAAE,MAAM,CAAC;IAIrB,YAAY,EAAE,MAAM,CAAC;IAIrB,YAAY,EAAE,MAAM,CAAC;IAIrB,MAAM,EAAE,MAAM,CAAC;IAIf,OAAO,EAAE,MAAM,CAAC;IAIhB,SAAS,EAAE,MAAM,CAAC;CACrB"}
1
+ {"version":3,"file":"create-model-sequence.dto.d.ts","sourceRoot":"","sources":["../../src/dtos/create-model-sequence.dto.ts"],"names":[],"mappings":"AAKA,qBAAa,sBAAsB;IAI/B,QAAQ,EAAE,MAAM,CAAC;IAIjB,aAAa,EAAE,MAAM,CAAC;IAItB,OAAO,EAAE,MAAM,CAAC;IAIhB,YAAY,EAAE,MAAM,CAAC;IAIrB,OAAO,EAAE,MAAM,CAAC;IAIhB,YAAY,EAAE,MAAM,CAAC;IAIrB,YAAY,EAAE,MAAM,CAAC;IAIrB,YAAY,CAAC,EAAE,MAAM,CAAC;IAItB,MAAM,EAAE,MAAM,CAAC;IAIf,OAAO,EAAE,MAAM,CAAC;IAIhB,SAAS,EAAE,MAAM,CAAC;CACrB"}
@@ -17,7 +17,7 @@ const class_validator_2 = require("class-validator");
17
17
  const class_validator_3 = require("class-validator");
18
18
  class CreateModelSequenceDto {
19
19
  static _OPENAPI_METADATA_FACTORY() {
20
- return { moduleId: { required: true, type: () => Number }, moduleUserKey: { required: true, type: () => String }, modelId: { required: true, type: () => Number }, modelUserKey: { required: true, type: () => String }, fieldId: { required: true, type: () => Number }, fieldUserKey: { required: true, type: () => String }, sequenceName: { required: true, type: () => String }, currentValue: { required: true, type: () => Number }, prefix: { required: true, type: () => String }, padding: { required: true, type: () => Number }, separator: { required: true, type: () => String } };
20
+ return { moduleId: { required: true, type: () => Number }, moduleUserKey: { required: true, type: () => String }, modelId: { required: true, type: () => Number }, modelUserKey: { required: true, type: () => String }, fieldId: { required: true, type: () => Number }, fieldUserKey: { required: true, type: () => String }, sequenceName: { required: true, type: () => String }, currentValue: { required: false, type: () => Number }, prefix: { required: true, type: () => String }, padding: { required: true, type: () => Number }, separator: { required: true, type: () => String } };
21
21
  }
22
22
  }
23
23
  exports.CreateModelSequenceDto = CreateModelSequenceDto;
@@ -1 +1 @@
1
- {"version":3,"file":"create-model-sequence.dto.js","sourceRoot":"","sources":["../../src/dtos/create-model-sequence.dto.ts"],"names":[],"mappings":";;;;;;;;;;;;;AAAA,6CAA8C;AAC9C,qDAAwC;AACxC,qDAA6C;AAC7C,qDAAuD;AAEvD,MAAa,sBAAsB;;;;CA6ClC;AA7CD,wDA6CC;AAzCG;IAHC,IAAA,4BAAU,GAAE;IACZ,IAAA,uBAAK,GAAE;IACP,IAAA,qBAAW,GAAE;;wDACG;AAIjB;IAHC,IAAA,0BAAQ,GAAE;IACV,IAAA,4BAAU,GAAE;IACZ,IAAA,qBAAW,GAAE;;6DACQ;AAItB;IAHC,IAAA,4BAAU,GAAE;IACZ,IAAA,uBAAK,GAAE;IACP,IAAA,qBAAW,GAAE;;uDACE;AAIhB;IAHC,IAAA,0BAAQ,GAAE;IACV,IAAA,4BAAU,GAAE;IACZ,IAAA,qBAAW,GAAE;;4DACO;AAIrB;IAHC,IAAA,4BAAU,GAAE;IACZ,IAAA,uBAAK,GAAE;IACP,IAAA,qBAAW,GAAE;;uDACE;AAIhB;IAHC,IAAA,0BAAQ,GAAE;IACV,IAAA,4BAAU,GAAE;IACZ,IAAA,qBAAW,GAAE;;4DACO;AAIrB;IAHC,IAAA,4BAAU,GAAE;IACZ,IAAA,0BAAQ,GAAE;IACV,IAAA,qBAAW,GAAE;;4DACO;AAIrB;IAHC,IAAA,4BAAU,GAAE;IACZ,IAAA,uBAAK,GAAE;IACP,IAAA,qBAAW,GAAE;;4DACO;AAIrB;IAHC,IAAA,4BAAU,GAAE;IACZ,IAAA,0BAAQ,GAAE;IACV,IAAA,qBAAW,GAAE;;sDACC;AAIf;IAHC,IAAA,4BAAU,GAAE;IACZ,IAAA,uBAAK,GAAE;IACP,IAAA,qBAAW,GAAE;;uDACE;AAIhB;IAHC,IAAA,4BAAU,GAAE;IACZ,IAAA,0BAAQ,GAAE;IACV,IAAA,qBAAW,GAAE;;yDACI","sourcesContent":["import { ApiProperty } from '@nestjs/swagger';\nimport { IsInt } from 'class-validator';\nimport { IsOptional } from 'class-validator';\nimport { IsString, IsNotEmpty } from 'class-validator';\n\nexport class CreateModelSequenceDto {\n @IsOptional()\n @IsInt()\n @ApiProperty()\n moduleId: number;\n @IsString()\n @IsOptional()\n @ApiProperty()\n moduleUserKey: string;\n @IsOptional()\n @IsInt()\n @ApiProperty()\n modelId: number;\n @IsString()\n @IsOptional()\n @ApiProperty()\n modelUserKey: string;\n @IsOptional()\n @IsInt()\n @ApiProperty()\n fieldId: number;\n @IsString()\n @IsOptional()\n @ApiProperty()\n fieldUserKey: string;\n @IsNotEmpty()\n @IsString()\n @ApiProperty()\n sequenceName: string;\n @IsOptional()\n @IsInt()\n @ApiProperty()\n currentValue: number;\n @IsOptional()\n @IsString()\n @ApiProperty()\n prefix: string;\n @IsOptional()\n @IsInt()\n @ApiProperty()\n padding: number;\n @IsOptional()\n @IsString()\n @ApiProperty()\n separator: string;\n}"]}
1
+ {"version":3,"file":"create-model-sequence.dto.js","sourceRoot":"","sources":["../../src/dtos/create-model-sequence.dto.ts"],"names":[],"mappings":";;;;;;;;;;;;;AAAA,6CAA8C;AAC9C,qDAAwC;AACxC,qDAA6C;AAC7C,qDAAuD;AAEvD,MAAa,sBAAsB;;;;CA6ClC;AA7CD,wDA6CC;AAzCG;IAHC,IAAA,4BAAU,GAAE;IACZ,IAAA,uBAAK,GAAE;IACP,IAAA,qBAAW,GAAE;;wDACG;AAIjB;IAHC,IAAA,0BAAQ,GAAE;IACV,IAAA,4BAAU,GAAE;IACZ,IAAA,qBAAW,GAAE;;6DACQ;AAItB;IAHC,IAAA,4BAAU,GAAE;IACZ,IAAA,uBAAK,GAAE;IACP,IAAA,qBAAW,GAAE;;uDACE;AAIhB;IAHC,IAAA,0BAAQ,GAAE;IACV,IAAA,4BAAU,GAAE;IACZ,IAAA,qBAAW,GAAE;;4DACO;AAIrB;IAHC,IAAA,4BAAU,GAAE;IACZ,IAAA,uBAAK,GAAE;IACP,IAAA,qBAAW,GAAE;;uDACE;AAIhB;IAHC,IAAA,0BAAQ,GAAE;IACV,IAAA,4BAAU,GAAE;IACZ,IAAA,qBAAW,GAAE;;4DACO;AAIrB;IAHC,IAAA,4BAAU,GAAE;IACZ,IAAA,0BAAQ,GAAE;IACV,IAAA,qBAAW,GAAE;;4DACO;AAIrB;IAHC,IAAA,4BAAU,GAAE;IACZ,IAAA,uBAAK,GAAE;IACP,IAAA,qBAAW,GAAE;;4DACQ;AAItB;IAHC,IAAA,4BAAU,GAAE;IACZ,IAAA,0BAAQ,GAAE;IACV,IAAA,qBAAW,GAAE;;sDACC;AAIf;IAHC,IAAA,4BAAU,GAAE;IACZ,IAAA,uBAAK,GAAE;IACP,IAAA,qBAAW,GAAE;;uDACE;AAIhB;IAHC,IAAA,4BAAU,GAAE;IACZ,IAAA,0BAAQ,GAAE;IACV,IAAA,qBAAW,GAAE;;yDACI","sourcesContent":["import { ApiProperty } from '@nestjs/swagger';\nimport { IsInt } from 'class-validator';\nimport { IsOptional } from 'class-validator';\nimport { IsString, IsNotEmpty } from 'class-validator';\n\nexport class CreateModelSequenceDto {\n @IsOptional()\n @IsInt()\n @ApiProperty()\n moduleId: number;\n @IsString()\n @IsOptional()\n @ApiProperty()\n moduleUserKey: string;\n @IsOptional()\n @IsInt()\n @ApiProperty()\n modelId: number;\n @IsString()\n @IsOptional()\n @ApiProperty()\n modelUserKey: string;\n @IsOptional()\n @IsInt()\n @ApiProperty()\n fieldId: number;\n @IsString()\n @IsOptional()\n @ApiProperty()\n fieldUserKey: string;\n @IsNotEmpty()\n @IsString()\n @ApiProperty()\n sequenceName: string;\n @IsOptional()\n @IsInt()\n @ApiProperty()\n currentValue?: number;\n @IsOptional()\n @IsString()\n @ApiProperty()\n prefix: string;\n @IsOptional()\n @IsInt()\n @ApiProperty()\n padding: number;\n @IsOptional()\n @IsString()\n @ApiProperty()\n separator: string;\n}"]}
@@ -0,0 +1,5 @@
1
+ export declare class MpinLoginDto {
2
+ credentialRef: string;
3
+ mpin: string;
4
+ }
5
+ //# sourceMappingURL=mpin-login.dto.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"mpin-login.dto.d.ts","sourceRoot":"","sources":["../../src/dtos/mpin-login.dto.ts"],"names":[],"mappings":"AAWA,qBAAa,YAAY;IAMrB,aAAa,EAAE,MAAM,CAAC;IAKtB,IAAI,EAAE,MAAM,CAAC;CAChB"}
@@ -0,0 +1,33 @@
1
+ "use strict";
2
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
3
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
4
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
5
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
6
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
7
+ };
8
+ var __metadata = (this && this.__metadata) || function (k, v) {
9
+ if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
10
+ };
11
+ Object.defineProperty(exports, "__esModule", { value: true });
12
+ exports.MpinLoginDto = void 0;
13
+ const openapi = require("@nestjs/swagger");
14
+ const class_validator_1 = require("class-validator");
15
+ class MpinLoginDto {
16
+ static _OPENAPI_METADATA_FACTORY() {
17
+ return { credentialRef: { required: true, type: () => String, maxLength: 128 }, mpin: { required: true, type: () => String, maxLength: 32 } };
18
+ }
19
+ }
20
+ exports.MpinLoginDto = MpinLoginDto;
21
+ __decorate([
22
+ (0, class_validator_1.IsNotEmpty)(),
23
+ (0, class_validator_1.IsString)(),
24
+ (0, class_validator_1.MaxLength)(128),
25
+ __metadata("design:type", String)
26
+ ], MpinLoginDto.prototype, "credentialRef", void 0);
27
+ __decorate([
28
+ (0, class_validator_1.IsNotEmpty)(),
29
+ (0, class_validator_1.IsString)(),
30
+ (0, class_validator_1.MaxLength)(32),
31
+ __metadata("design:type", String)
32
+ ], MpinLoginDto.prototype, "mpin", void 0);
33
+ //# sourceMappingURL=mpin-login.dto.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"mpin-login.dto.js","sourceRoot":"","sources":["../../src/dtos/mpin-login.dto.ts"],"names":[],"mappings":";;;;;;;;;;;;;AAAA,qDAAkE;AAWlE,MAAa,YAAY;;;;CAYxB;AAZD,oCAYC;AANG;IAHC,IAAA,4BAAU,GAAE;IACZ,IAAA,0BAAQ,GAAE;IACV,IAAA,2BAAS,EAAC,GAAG,CAAC;;mDACO;AAKtB;IAHC,IAAA,4BAAU,GAAE;IACZ,IAAA,0BAAQ,GAAE;IACV,IAAA,2BAAS,EAAC,EAAE,CAAC;;0CACD","sourcesContent":["import { IsNotEmpty, IsString, MaxLength } from 'class-validator';\n\n/**\n * Deliberately carries no identifier - no mobile, email or username.\n *\n * `credentialRef` is a server-issued 256-bit handle that already points at a\n * single credential row, and therefore at a single user. That is what removes\n * the user-enumeration surface a public login route would otherwise have: an\n * attacker cannot probe \"does this phone number have MPIN?\" because there is\n * nowhere to put a phone number.\n */\nexport class MpinLoginDto {\n // Bounded so a pathological payload never reaches the regex test or the\n // hash comparison. The handle is always 64 hex characters.\n @IsNotEmpty()\n @IsString()\n @MaxLength(128)\n credentialRef: string;\n\n @IsNotEmpty()\n @IsString()\n @MaxLength(32)\n mpin: string;\n}\n"]}
@@ -0,0 +1,7 @@
1
+ export declare class SetupMpinDto {
2
+ deviceId: string;
3
+ mpin: string;
4
+ deviceName?: string;
5
+ platform?: string;
6
+ }
7
+ //# sourceMappingURL=setup-mpin.dto.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"setup-mpin.dto.d.ts","sourceRoot":"","sources":["../../src/dtos/setup-mpin.dto.ts"],"names":[],"mappings":"AAEA,qBAAa,YAAY;IAOrB,QAAQ,EAAE,MAAM,CAAC;IAsBjB,IAAI,EAAE,MAAM,CAAC;IAYb,UAAU,CAAC,EAAE,MAAM,CAAC;IAMpB,QAAQ,CAAC,EAAE,MAAM,CAAC;CACrB"}
@@ -0,0 +1,47 @@
1
+ "use strict";
2
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
3
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
4
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
5
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
6
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
7
+ };
8
+ var __metadata = (this && this.__metadata) || function (k, v) {
9
+ if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
10
+ };
11
+ Object.defineProperty(exports, "__esModule", { value: true });
12
+ exports.SetupMpinDto = void 0;
13
+ const openapi = require("@nestjs/swagger");
14
+ const class_validator_1 = require("class-validator");
15
+ class SetupMpinDto {
16
+ static _OPENAPI_METADATA_FACTORY() {
17
+ return { deviceId: { required: true, type: () => String }, mpin: { required: true, type: () => String, maxLength: 32 }, deviceName: { required: false, type: () => String, maxLength: 64, pattern: "/^[\\w\\s.'()-]*$/" }, platform: { required: false, type: () => String, maxLength: 32, pattern: "/^[\\w.-]*$/" } };
18
+ }
19
+ }
20
+ exports.SetupMpinDto = SetupMpinDto;
21
+ __decorate([
22
+ (0, class_validator_1.IsUUID)(),
23
+ __metadata("design:type", String)
24
+ ], SetupMpinDto.prototype, "deviceId", void 0);
25
+ __decorate([
26
+ (0, class_validator_1.IsNotEmpty)(),
27
+ (0, class_validator_1.IsString)(),
28
+ (0, class_validator_1.MaxLength)(32),
29
+ __metadata("design:type", String)
30
+ ], SetupMpinDto.prototype, "mpin", void 0);
31
+ __decorate([
32
+ (0, class_validator_1.IsOptional)(),
33
+ (0, class_validator_1.IsString)(),
34
+ (0, class_validator_1.MaxLength)(64),
35
+ (0, class_validator_1.Matches)(/^[\w\s.'()-]*$/, {
36
+ message: 'deviceName may contain only letters, numbers, spaces and . \' ( ) - _',
37
+ }),
38
+ __metadata("design:type", String)
39
+ ], SetupMpinDto.prototype, "deviceName", void 0);
40
+ __decorate([
41
+ (0, class_validator_1.IsOptional)(),
42
+ (0, class_validator_1.IsString)(),
43
+ (0, class_validator_1.MaxLength)(32),
44
+ (0, class_validator_1.Matches)(/^[\w.-]*$/, { message: 'platform may contain only letters, numbers and . - _' }),
45
+ __metadata("design:type", String)
46
+ ], SetupMpinDto.prototype, "platform", void 0);
47
+ //# sourceMappingURL=setup-mpin.dto.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"setup-mpin.dto.js","sourceRoot":"","sources":["../../src/dtos/setup-mpin.dto.ts"],"names":[],"mappings":";;;;;;;;;;;;;AAAA,qDAA+F;AAE/F,MAAa,YAAY;;;;CAgDxB;AAhDD,oCAgDC;AAzCG;IADC,IAAA,wBAAM,GAAE;;8CACQ;AAsBjB;IAHC,IAAA,4BAAU,GAAE;IACZ,IAAA,0BAAQ,GAAE;IACV,IAAA,2BAAS,EAAC,EAAE,CAAC;;0CACD;AAYb;IANC,IAAA,4BAAU,GAAE;IACZ,IAAA,0BAAQ,GAAE;IACV,IAAA,2BAAS,EAAC,EAAE,CAAC;IACb,IAAA,yBAAO,EAAC,gBAAgB,EAAE;QACvB,OAAO,EAAE,uEAAuE;KACnF,CAAC;;gDACkB;AAMpB;IAJC,IAAA,4BAAU,GAAE;IACZ,IAAA,0BAAQ,GAAE;IACV,IAAA,2BAAS,EAAC,EAAE,CAAC;IACb,IAAA,yBAAO,EAAC,WAAW,EAAE,EAAE,OAAO,EAAE,sDAAsD,EAAE,CAAC;;8CACxE","sourcesContent":["import { IsNotEmpty, IsOptional, IsString, IsUUID, Matches, MaxLength } from 'class-validator';\n\nexport class SetupMpinDto {\n /**\n * Stable identifier for the physical device, generated once by the client.\n * Validated as a UUID before it ever reaches a cache key or a bucket name,\n * so it cannot smuggle delimiters into the keyspace.\n */\n @IsUUID()\n deviceId: string;\n\n /**\n * A string, not a number, even though it looks like digits.\n *\n * A numeric MPIN cannot carry a leading zero: JSON forbids leading zeros in\n * number literals, so a client serialising `012345` numerically emits\n * `12345` and the server stores a five-digit MPIN the user never chose -\n * which still satisfies the default `^\\d{4,6}$` and so raises no error.\n * `mpinRegex` is also tenant-configurable and may permit non-digits.\n *\n * Note this cannot be enforced here: the global ValidationPipe runs with\n * `enableImplicitConversion`, so a numeric payload is coerced to a string\n * before @IsString() sees it. Clients must send a quoted JSON string; that\n * requirement is documented in the mobile integration guide.\n *\n * Length and shape are checked server-side against `mpinRegex`, since that\n * setting is the single authority. This only bounds the input.\n */\n @IsNotEmpty()\n @IsString()\n @MaxLength(32)\n mpin: string;\n\n /**\n * Rendered in a device-management list, so it is bounded here rather than\n * trusting every consuming UI to escape it.\n */\n @IsOptional()\n @IsString()\n @MaxLength(64)\n @Matches(/^[\\w\\s.'()-]*$/, {\n message: 'deviceName may contain only letters, numbers, spaces and . \\' ( ) - _',\n })\n deviceName?: string;\n\n @IsOptional()\n @IsString()\n @MaxLength(32)\n @Matches(/^[\\w.-]*$/, { message: 'platform may contain only letters, numbers and . - _' })\n platform?: string;\n}\n"]}
@@ -5,6 +5,10 @@ export declare abstract class CommonEntity {
5
5
  deletedAt: Date;
6
6
  deletedTracker: string;
7
7
  publishedAt: Date;
8
+ isPublished?: boolean;
9
+ isLatest?: boolean;
10
+ initialEntityVersionId?: number;
11
+ publishedTracker?: string;
8
12
  localeName: string;
9
13
  defaultEntityLocaleId: number;
10
14
  createdBy: number;
@@ -1 +1 @@
1
- {"version":3,"file":"common.entity.d.ts","sourceRoot":"","sources":["../../src/entities/common.entity.ts"],"names":[],"mappings":"AAIA,8BACsB,YAAY;IAG9B,EAAE,EAAE,MAAM,CAAA;IAGV,SAAS,EAAE,IAAI,CAAC;IAGhB,SAAS,EAAE,IAAI,CAAC;IAIhB,SAAS,EAAE,IAAI,CAAC;IAGhB,cAAc,EAAE,MAAM,CAAC;IAIvB,WAAW,EAAE,IAAI,CAAC;IAIlB,UAAU,EAAE,MAAM,CAAC;IAInB,qBAAqB,EAAE,MAAM,CAAC;IAc9B,SAAS,EAAE,MAAM,CAAC;IAIlB,SAAS,EAAE,MAAM,CAAC;CACrB"}
1
+ {"version":3,"file":"common.entity.d.ts","sourceRoot":"","sources":["../../src/entities/common.entity.ts"],"names":[],"mappings":"AAIA,8BACsB,YAAY;IAG9B,EAAE,EAAE,MAAM,CAAA;IAGV,SAAS,EAAE,IAAI,CAAC;IAGhB,SAAS,EAAE,IAAI,CAAC;IAIhB,SAAS,EAAE,IAAI,CAAC;IAGhB,cAAc,EAAE,MAAM,CAAC;IAIvB,WAAW,EAAE,IAAI,CAAC;IASlB,WAAW,CAAC,EAAE,OAAO,CAAC;IAKtB,QAAQ,CAAC,EAAE,OAAO,CAAC;IAKnB,sBAAsB,CAAC,EAAE,MAAM,CAAC;IAKhC,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAI1B,UAAU,EAAE,MAAM,CAAC;IAInB,qBAAqB,EAAE,MAAM,CAAC;IAc9B,SAAS,EAAE,MAAM,CAAC;IAIlB,SAAS,EAAE,MAAM,CAAC;CACrB"}
@@ -16,7 +16,7 @@ const local_date_time_transformer_1 = require("../transformers/typeorm/local-dat
16
16
  const typeorm_1 = require("typeorm");
17
17
  let CommonEntity = class CommonEntity {
18
18
  static _OPENAPI_METADATA_FACTORY() {
19
- return { id: { required: true, type: () => Number }, createdAt: { required: true, type: () => Date }, updatedAt: { required: true, type: () => Date }, deletedAt: { required: true, type: () => Date }, deletedTracker: { required: true, type: () => String }, publishedAt: { required: true, type: () => Date }, localeName: { required: true, type: () => String }, defaultEntityLocaleId: { required: true, type: () => Number }, createdBy: { required: true, type: () => Number }, updatedBy: { required: true, type: () => Number } };
19
+ return { id: { required: true, type: () => Number }, createdAt: { required: true, type: () => Date }, updatedAt: { required: true, type: () => Date }, deletedAt: { required: true, type: () => Date }, deletedTracker: { required: true, type: () => String }, publishedAt: { required: true, type: () => Date }, isPublished: { required: false, type: () => Boolean }, isLatest: { required: false, type: () => Boolean }, initialEntityVersionId: { required: false, type: () => Number }, publishedTracker: { required: false, type: () => String }, localeName: { required: true, type: () => String }, defaultEntityLocaleId: { required: true, type: () => Number }, createdBy: { required: true, type: () => Number }, updatedBy: { required: true, type: () => Number } };
20
20
  }
21
21
  };
22
22
  exports.CommonEntity = CommonEntity;
@@ -47,6 +47,30 @@ __decorate([
47
47
  (0, typeorm_1.Column)({ name: 'published_at', default: null, nullable: true, transformer: local_date_time_transformer_1.LocalDateTimeTransformer }),
48
48
  __metadata("design:type", Date)
49
49
  ], CommonEntity.prototype, "publishedAt", void 0);
50
+ __decorate([
51
+ (0, class_transformer_1.Expose)(),
52
+ (0, typeorm_1.Column)({ name: 'is_published', default: false }),
53
+ (0, typeorm_1.Index)(),
54
+ __metadata("design:type", Boolean)
55
+ ], CommonEntity.prototype, "isPublished", void 0);
56
+ __decorate([
57
+ (0, class_transformer_1.Expose)(),
58
+ (0, typeorm_1.Column)({ name: 'is_latest', default: true }),
59
+ (0, typeorm_1.Index)(),
60
+ __metadata("design:type", Boolean)
61
+ ], CommonEntity.prototype, "isLatest", void 0);
62
+ __decorate([
63
+ (0, class_transformer_1.Expose)(),
64
+ (0, typeorm_1.Column)({ type: "int", name: 'initial_entity_version_id', default: null, nullable: true }),
65
+ (0, typeorm_1.Index)(),
66
+ __metadata("design:type", Number)
67
+ ], CommonEntity.prototype, "initialEntityVersionId", void 0);
68
+ __decorate([
69
+ (0, class_transformer_1.Expose)(),
70
+ (0, typeorm_1.Column)({ name: 'published_tracker', default: "na" }),
71
+ (0, typeorm_1.Index)(),
72
+ __metadata("design:type", String)
73
+ ], CommonEntity.prototype, "publishedTracker", void 0);
50
74
  __decorate([
51
75
  (0, class_transformer_1.Expose)(),
52
76
  (0, typeorm_1.Column)({ type: "varchar", name: 'locale_name', default: null }),
@@ -1 +1 @@
1
- {"version":3,"file":"common.entity.js","sourceRoot":"","sources":["../../src/entities/common.entity.ts"],"names":[],"mappings":";;;;;;;;;;;;;AAAA,yDAAoD;AACpD,qGAAgG;AAChG,qCAAsH;AAG/G,IAAe,YAAY,GAA3B,MAAe,YAAY;;;;CA+CjC,CAAA;AA/CqB,oCAAY;AAG9B;IAFC,IAAA,0BAAM,GAAE;IACR,IAAA,gCAAsB,EAAC,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC;;wCAClC;AAGV;IADC,IAAA,0BAAgB,EAAC,EAAE,IAAI,EAAE,YAAY,EAAE,WAAW,EAAE,sDAAwB,EAAE,CAAC;8BACrE,IAAI;+CAAC;AAGhB;IADC,IAAA,0BAAgB,EAAC,EAAE,IAAI,EAAE,YAAY,EAAE,WAAW,EAAE,sDAAwB,EAAE,CAAC;8BACrE,IAAI;+CAAC;AAIhB;IAFC,IAAA,0BAAgB,EAAC,EAAE,IAAI,EAAE,YAAY,EAAE,WAAW,EAAE,sDAAwB,EAAE,CAAC;IAC/E,IAAA,eAAK,GAAE;8BACG,IAAI;+CAAC;AAGhB;IADC,IAAA,gBAAM,EAAC,EAAE,IAAI,EAAE,gBAAgB,EAAE,OAAO,EAAE,aAAa,EAAE,CAAC;;oDACpC;AAIvB;IAFC,IAAA,0BAAM,GAAE;IACR,IAAA,gBAAM,EAAC,EAAE,IAAI,EAAE,cAAc,EAAE,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,WAAW,EAAE,sDAAwB,EAAE,CAAC;8BAC1F,IAAI;iDAAC;AAIlB;IAFC,IAAA,0BAAM,GAAE;IACR,IAAA,gBAAM,EAAC,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,aAAa,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;;gDAC7C;AAInB;IAFC,IAAA,0BAAM,GAAE;IACR,IAAA,gBAAM,EAAC,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,0BAA0B,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;;2DAC3C;AAc9B;IAFC,IAAA,0BAAM,GAAE;IACR,IAAA,gBAAM,EAAC,EAAE,IAAI,EAAE,eAAe,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;;+CAChC;AAIlB;IAFC,IAAA,0BAAM,GAAE;IACR,IAAA,gBAAM,EAAC,EAAE,IAAI,EAAE,eAAe,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;;+CAChC;uBA9CA,YAAY;IADjC,IAAA,2BAAO,GAAE;GACY,YAAY,CA+CjC","sourcesContent":["import { Exclude, Expose } from \"class-transformer\";\nimport { LocalDateTimeTransformer } from \"src/transformers/typeorm/local-date-time-transformer\";\nimport { Column, CreateDateColumn, DeleteDateColumn, Index, PrimaryGeneratedColumn, UpdateDateColumn } from \"typeorm\";\n\n@Exclude()\nexport abstract class CommonEntity {\n @Expose()\n @PrimaryGeneratedColumn({ type: 'integer' })\n id: number\n\n @CreateDateColumn({ name: \"created_at\", transformer: LocalDateTimeTransformer })\n createdAt: Date;\n\n @UpdateDateColumn({ name: \"updated_at\", transformer: LocalDateTimeTransformer })\n updatedAt: Date;\n\n @DeleteDateColumn({ name: \"deleted_at\", transformer: LocalDateTimeTransformer })\n @Index()\n deletedAt: Date;\n\n @Column({ name: \"deletedTracker\", default: \"not-deleted\" })\n deletedTracker: string;\n\n @Expose()\n @Column({ name: 'published_at', default: null, nullable: true, transformer: LocalDateTimeTransformer })\n publishedAt: Date;\n\n @Expose()\n @Column({ type: \"varchar\", name: 'locale_name', default: null })\n localeName: string;\n\n @Expose()\n @Column({ type: \"int\", name: 'default_entity_locale_id', default: null })\n defaultEntityLocaleId: number;\n\n // @Expose()\n // @Type( () => require('./user.entity').User?.default ?? require('./user.entity').User )\n // @ManyToOne(() => require('./user.entity').User?.default ?? require('./user.entity').User, { nullable: true })\n // createdBy: User;\n\n // @Expose()\n // @Type( () => require('./user.entity').User?.default ?? require('./user.entity').User )\n // @ManyToOne(() => require('./user.entity').User?.default ?? require('./user.entity').User, { nullable: true })\n // updatedBy: User;\n\n @Expose()\n @Column({ name: `created_by_id`, nullable: true })\n createdBy: number;\n\n @Expose()\n @Column({ name: `updated_by_id`, nullable: true })\n updatedBy: number;\n}\n"]}
1
+ {"version":3,"file":"common.entity.js","sourceRoot":"","sources":["../../src/entities/common.entity.ts"],"names":[],"mappings":";;;;;;;;;;;;;AAAA,yDAAoD;AACpD,qGAAgG;AAChG,qCAAsH;AAG/G,IAAe,YAAY,GAA3B,MAAe,YAAY;;;;CAuEjC,CAAA;AAvEqB,oCAAY;AAG9B;IAFC,IAAA,0BAAM,GAAE;IACR,IAAA,gCAAsB,EAAC,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC;;wCAClC;AAGV;IADC,IAAA,0BAAgB,EAAC,EAAE,IAAI,EAAE,YAAY,EAAE,WAAW,EAAE,sDAAwB,EAAE,CAAC;8BACrE,IAAI;+CAAC;AAGhB;IADC,IAAA,0BAAgB,EAAC,EAAE,IAAI,EAAE,YAAY,EAAE,WAAW,EAAE,sDAAwB,EAAE,CAAC;8BACrE,IAAI;+CAAC;AAIhB;IAFC,IAAA,0BAAgB,EAAC,EAAE,IAAI,EAAE,YAAY,EAAE,WAAW,EAAE,sDAAwB,EAAE,CAAC;IAC/E,IAAA,eAAK,GAAE;8BACG,IAAI;+CAAC;AAGhB;IADC,IAAA,gBAAM,EAAC,EAAE,IAAI,EAAE,gBAAgB,EAAE,OAAO,EAAE,aAAa,EAAE,CAAC;;oDACpC;AAIvB;IAFC,IAAA,0BAAM,GAAE;IACR,IAAA,gBAAM,EAAC,EAAE,IAAI,EAAE,cAAc,EAAE,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,WAAW,EAAE,sDAAwB,EAAE,CAAC;8BAC1F,IAAI;iDAAC;AASlB;IAHC,IAAA,0BAAM,GAAE;IACR,IAAA,gBAAM,EAAC,EAAE,IAAI,EAAE,cAAc,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC;IAChD,IAAA,eAAK,GAAE;;iDACc;AAKtB;IAHC,IAAA,0BAAM,GAAE;IACR,IAAA,gBAAM,EAAC,EAAE,IAAI,EAAE,WAAW,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;IAC5C,IAAA,eAAK,GAAE;;8CACW;AAKnB;IAHC,IAAA,0BAAM,GAAE;IACR,IAAA,gBAAM,EAAC,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,2BAA2B,EAAE,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;IACzF,IAAA,eAAK,GAAE;;4DACwB;AAKhC;IAHC,IAAA,0BAAM,GAAE;IACR,IAAA,gBAAM,EAAC,EAAE,IAAI,EAAE,mBAAmB,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;IACpD,IAAA,eAAK,GAAE;;sDACkB;AAI1B;IAFC,IAAA,0BAAM,GAAE;IACR,IAAA,gBAAM,EAAC,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,aAAa,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;;gDAC7C;AAInB;IAFC,IAAA,0BAAM,GAAE;IACR,IAAA,gBAAM,EAAC,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,0BAA0B,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;;2DAC3C;AAc9B;IAFC,IAAA,0BAAM,GAAE;IACR,IAAA,gBAAM,EAAC,EAAE,IAAI,EAAE,eAAe,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;;+CAChC;AAIlB;IAFC,IAAA,0BAAM,GAAE;IACR,IAAA,gBAAM,EAAC,EAAE,IAAI,EAAE,eAAe,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;;+CAChC;uBAtEA,YAAY;IADjC,IAAA,2BAAO,GAAE;GACY,YAAY,CAuEjC","sourcesContent":["import { Exclude, Expose } from \"class-transformer\";\nimport { LocalDateTimeTransformer } from \"src/transformers/typeorm/local-date-time-transformer\";\nimport { Column, CreateDateColumn, DeleteDateColumn, Index, PrimaryGeneratedColumn, UpdateDateColumn } from \"typeorm\";\n\n@Exclude()\nexport abstract class CommonEntity {\n @Expose()\n @PrimaryGeneratedColumn({ type: 'integer' })\n id: number\n\n @CreateDateColumn({ name: \"created_at\", transformer: LocalDateTimeTransformer })\n createdAt: Date;\n\n @UpdateDateColumn({ name: \"updated_at\", transformer: LocalDateTimeTransformer })\n updatedAt: Date;\n\n @DeleteDateColumn({ name: \"deleted_at\", transformer: LocalDateTimeTransformer })\n @Index()\n deletedAt: Date;\n\n @Column({ name: \"deletedTracker\", default: \"not-deleted\" })\n deletedTracker: string;\n\n @Expose()\n @Column({ name: 'published_at', default: null, nullable: true, transformer: LocalDateTimeTransformer })\n publishedAt: Date;\n\n // Optional (not just nullable) because legacy tables (see LegacyCommonEntityWithExistingId)\n // don't carry these versioning columns at all. CRUDService<T extends CommonEntity> is\n // otherwise used for both plain and legacy entities, so these must stay structurally\n // satisfiable by a type that never declares them.\n @Expose()\n @Column({ name: 'is_published', default: false })\n @Index()\n isPublished?: boolean;\n\n @Expose()\n @Column({ name: 'is_latest', default: true })\n @Index()\n isLatest?: boolean;\n\n @Expose()\n @Column({ type: \"int\", name: 'initial_entity_version_id', default: null, nullable: true })\n @Index()\n initialEntityVersionId?: number;\n\n @Expose()\n @Column({ name: 'published_tracker', default: \"na\" })\n @Index()\n publishedTracker?: string;\n\n @Expose()\n @Column({ type: \"varchar\", name: 'locale_name', default: null })\n localeName: string;\n\n @Expose()\n @Column({ type: \"int\", name: 'default_entity_locale_id', default: null })\n defaultEntityLocaleId: number;\n\n // @Expose()\n // @Type( () => require('./user.entity').User?.default ?? require('./user.entity').User )\n // @ManyToOne(() => require('./user.entity').User?.default ?? require('./user.entity').User, { nullable: true })\n // createdBy: User;\n\n // @Expose()\n // @Type( () => require('./user.entity').User?.default ?? require('./user.entity').User )\n // @ManyToOne(() => require('./user.entity').User?.default ?? require('./user.entity').User, { nullable: true })\n // updatedBy: User;\n\n @Expose()\n @Column({ name: `created_by_id`, nullable: true })\n createdBy: number;\n\n @Expose()\n @Column({ name: `updated_by_id`, nullable: true })\n updatedBy: number;\n}\n"]}
@@ -23,13 +23,13 @@ let DashboardUserLayout = class DashboardUserLayout extends common_entity_1.Comm
23
23
  exports.DashboardUserLayout = DashboardUserLayout;
24
24
  __decorate([
25
25
  (0, typeorm_1.Index)(),
26
- (0, typeorm_1.ManyToOne)(() => user_entity_1.User, { onDelete: "CASCADE", nullable: false }),
26
+ (0, typeorm_1.ManyToOne)(() => user_entity_1.User, { nullable: false }),
27
27
  (0, typeorm_1.JoinColumn)(),
28
28
  __metadata("design:type", user_entity_1.User)
29
29
  ], DashboardUserLayout.prototype, "user", void 0);
30
30
  __decorate([
31
31
  (0, typeorm_1.Index)(),
32
- (0, typeorm_1.ManyToOne)(() => module_metadata_entity_1.ModuleMetadata, { onDelete: "CASCADE", nullable: false }),
32
+ (0, typeorm_1.ManyToOne)(() => module_metadata_entity_1.ModuleMetadata, { nullable: false }),
33
33
  (0, typeorm_1.JoinColumn)(),
34
34
  __metadata("design:type", module_metadata_entity_1.ModuleMetadata)
35
35
  ], DashboardUserLayout.prototype, "module", void 0);
@@ -1 +1 @@
1
- {"version":3,"file":"dashboard-user-layout.entity.js","sourceRoot":"","sources":["../../src/entities/dashboard-user-layout.entity.ts"],"names":[],"mappings":";;;;;;;;;;;;;AAAA,mDAA0D;AAC1D,qCAAuE;AACvE,+CAAgD;AAChD,qEAAoE;AAG7D,IAAM,mBAAmB,GAAzB,MAAM,mBAAoB,SAAQ,4BAAY;;;;CAoBpD,CAAA;AApBY,kDAAmB;AAI5B;IAHC,IAAA,eAAK,GAAE;IACP,IAAA,mBAAS,EAAC,GAAG,EAAE,CAAC,kBAAI,EAAE,EAAE,QAAQ,EAAE,SAAS,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC;IAC/D,IAAA,oBAAU,GAAE;8BACP,kBAAI;iDAAC;AAKX;IAHC,IAAA,eAAK,GAAE;IACP,IAAA,mBAAS,EAAC,GAAG,EAAE,CAAC,uCAAc,EAAE,EAAE,QAAQ,EAAE,SAAS,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC;IACzE,IAAA,oBAAU,GAAE;8BACL,uCAAc;mDAAC;AAIvB;IAFC,IAAA,eAAK,GAAE;IACP,IAAA,gBAAM,EAAC,EAAE,IAAI,EAAE,gBAAgB,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC;;0DAC9B;AAGtB;IADC,IAAA,gBAAM,EAAC,EAAE,IAAI,EAAE,aAAa,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;;uDAC3B;AAGnB;IADC,IAAA,gBAAM,EAAC,EAAE,IAAI,EAAE,SAAS,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;;oDAC5B;8BAnBP,mBAAmB;IAD/B,IAAA,gBAAM,EAAC,0BAA0B,CAAC;GACtB,mBAAmB,CAoB/B","sourcesContent":["import { CommonEntity } from 'src/entities/common.entity';\nimport { Entity, JoinColumn, ManyToOne, Index, Column } from 'typeorm';\nimport { User } from 'src/entities/user.entity';\nimport { ModuleMetadata } from 'src/entities/module-metadata.entity'\n\n@Entity('ss_dashboard_user_layout')\nexport class DashboardUserLayout extends CommonEntity {\n @Index()\n @ManyToOne(() => User, { onDelete: \"CASCADE\", nullable: false })\n @JoinColumn()\n user: User;\n\n @Index()\n @ManyToOne(() => ModuleMetadata, { onDelete: \"CASCADE\", nullable: false })\n @JoinColumn()\n module: ModuleMetadata;\n\n @Index()\n @Column({ name: \"dashboard_name\", type: \"varchar\" })\n dashboardName: string;\n\n @Column({ name: \"layout_json\", type: \"text\" })\n layoutJson: string;\n\n @Column({ type: \"integer\", nullable: true })\n version: number;\n}"]}
1
+ {"version":3,"file":"dashboard-user-layout.entity.js","sourceRoot":"","sources":["../../src/entities/dashboard-user-layout.entity.ts"],"names":[],"mappings":";;;;;;;;;;;;;AAAA,mDAA0D;AAC1D,qCAAuE;AACvE,+CAAgD;AAChD,qEAAoE;AAG7D,IAAM,mBAAmB,GAAzB,MAAM,mBAAoB,SAAQ,4BAAY;;;;CAoBpD,CAAA;AApBY,kDAAmB;AAI5B;IAHC,IAAA,eAAK,GAAE;IACP,IAAA,mBAAS,EAAC,GAAG,EAAE,CAAC,kBAAI,EAAE,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC;IAC1C,IAAA,oBAAU,GAAE;8BACP,kBAAI;iDAAC;AAKX;IAHC,IAAA,eAAK,GAAE;IACP,IAAA,mBAAS,EAAC,GAAG,EAAE,CAAC,uCAAc,EAAE,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC;IACpD,IAAA,oBAAU,GAAE;8BACL,uCAAc;mDAAC;AAIvB;IAFC,IAAA,eAAK,GAAE;IACP,IAAA,gBAAM,EAAC,EAAE,IAAI,EAAE,gBAAgB,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC;;0DAC9B;AAGtB;IADC,IAAA,gBAAM,EAAC,EAAE,IAAI,EAAE,aAAa,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;;uDAC3B;AAGnB;IADC,IAAA,gBAAM,EAAC,EAAE,IAAI,EAAE,SAAS,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;;oDAC5B;8BAnBP,mBAAmB;IAD/B,IAAA,gBAAM,EAAC,0BAA0B,CAAC;GACtB,mBAAmB,CAoB/B","sourcesContent":["import { CommonEntity } from 'src/entities/common.entity';\nimport { Entity, JoinColumn, ManyToOne, Index, Column } from 'typeorm';\nimport { User } from 'src/entities/user.entity';\nimport { ModuleMetadata } from 'src/entities/module-metadata.entity'\n\n@Entity('ss_dashboard_user_layout')\nexport class DashboardUserLayout extends CommonEntity {\n @Index()\n @ManyToOne(() => User, { nullable: false })\n @JoinColumn()\n user: User;\n\n @Index()\n @ManyToOne(() => ModuleMetadata, { nullable: false })\n @JoinColumn()\n module: ModuleMetadata;\n\n @Index()\n @Column({ name: \"dashboard_name\", type: \"varchar\" })\n dashboardName: string;\n\n @Column({ name: \"layout_json\", type: \"text\" })\n layoutJson: string;\n\n @Column({ type: \"integer\", nullable: true })\n version: number;\n}"]}
@@ -24,6 +24,7 @@ export declare class FieldMetadata extends CommonEntity {
24
24
  private: boolean;
25
25
  mediaTypes: string[];
26
26
  mediaMaxSizeKb: number;
27
+ mediaAllowedExtensions: string[];
27
28
  mediaStorageProvider: MediaStorageProviderMetadata;
28
29
  relationType: string;
29
30
  relationCoModelSingularName: string;