@solidxai/core 0.1.4 → 0.1.5-beta.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (209) hide show
  1. package/.claude/settings.local.json +8 -0
  2. package/dist/constants/error-messages.d.ts +1 -0
  3. package/dist/constants/error-messages.d.ts.map +1 -1
  4. package/dist/constants/error-messages.js +1 -0
  5. package/dist/constants/error-messages.js.map +1 -1
  6. package/dist/constants.d.ts +3 -3
  7. package/dist/constants.d.ts.map +1 -1
  8. package/dist/constants.js +12 -12
  9. package/dist/constants.js.map +1 -1
  10. package/dist/controllers/otp-authentication.controller.d.ts +1 -4
  11. package/dist/controllers/otp-authentication.controller.d.ts.map +1 -1
  12. package/dist/controllers/otp-authentication.controller.js +1 -1
  13. package/dist/controllers/role-metadata.controller.d.ts +1 -0
  14. package/dist/controllers/role-metadata.controller.d.ts.map +1 -1
  15. package/dist/controllers/role-metadata.controller.js +15 -0
  16. package/dist/controllers/role-metadata.controller.js.map +1 -1
  17. package/dist/dtos/create-email-template.dto.d.ts.map +1 -1
  18. package/dist/dtos/create-email-template.dto.js.map +1 -1
  19. package/dist/dtos/create-list-of-values.dto.d.ts.map +1 -1
  20. package/dist/dtos/create-list-of-values.dto.js.map +1 -1
  21. package/dist/dtos/create-menu-item-metadata.dto.d.ts.map +1 -1
  22. package/dist/dtos/create-menu-item-metadata.dto.js.map +1 -1
  23. package/dist/dtos/create-role-metadata.dto.d.ts.map +1 -1
  24. package/dist/dtos/create-role-metadata.dto.js.map +1 -1
  25. package/dist/dtos/create-scheduled-job.dto.d.ts.map +1 -1
  26. package/dist/dtos/create-scheduled-job.dto.js.map +1 -1
  27. package/dist/dtos/create-security-rule.dto.d.ts.map +1 -1
  28. package/dist/dtos/create-security-rule.dto.js.map +1 -1
  29. package/dist/dtos/create-sms-template.dto.d.ts.map +1 -1
  30. package/dist/dtos/create-sms-template.dto.js.map +1 -1
  31. package/dist/dtos/create-view-metadata.dto.d.ts.map +1 -1
  32. package/dist/dtos/create-view-metadata.dto.js.map +1 -1
  33. package/dist/dtos/otp-sign-in.dto.d.ts +1 -1
  34. package/dist/dtos/otp-sign-in.dto.d.ts.map +1 -1
  35. package/dist/dtos/otp-sign-in.dto.js +2 -2
  36. package/dist/dtos/otp-sign-in.dto.js.map +1 -1
  37. package/dist/dtos/otp-sign-up.dto.d.ts +2 -2
  38. package/dist/dtos/otp-sign-up.dto.d.ts.map +1 -1
  39. package/dist/dtos/otp-sign-up.dto.js +2 -2
  40. package/dist/dtos/otp-sign-up.dto.js.map +1 -1
  41. package/dist/dtos/resolve-s3-url.dto.d.ts +2 -5
  42. package/dist/dtos/resolve-s3-url.dto.d.ts.map +1 -1
  43. package/dist/dtos/resolve-s3-url.dto.js +1 -13
  44. package/dist/dtos/resolve-s3-url.dto.js.map +1 -1
  45. package/dist/dtos/sign-up.dto.d.ts.map +1 -1
  46. package/dist/dtos/sign-up.dto.js.map +1 -1
  47. package/dist/dtos/update-email-template.dto.d.ts.map +1 -1
  48. package/dist/dtos/update-email-template.dto.js.map +1 -1
  49. package/dist/dtos/update-list-of-values.dto.d.ts.map +1 -1
  50. package/dist/dtos/update-list-of-values.dto.js.map +1 -1
  51. package/dist/dtos/update-menu-item-metadata.dto.d.ts.map +1 -1
  52. package/dist/dtos/update-menu-item-metadata.dto.js.map +1 -1
  53. package/dist/dtos/update-scheduled-job.dto.d.ts.map +1 -1
  54. package/dist/dtos/update-scheduled-job.dto.js.map +1 -1
  55. package/dist/dtos/update-security-rule.dto.d.ts.map +1 -1
  56. package/dist/dtos/update-security-rule.dto.js.map +1 -1
  57. package/dist/dtos/update-sms-template.dto.d.ts.map +1 -1
  58. package/dist/dtos/update-sms-template.dto.js.map +1 -1
  59. package/dist/dtos/update-view-metadata.dto.d.ts.map +1 -1
  60. package/dist/dtos/update-view-metadata.dto.js.map +1 -1
  61. package/dist/entities/user.entity.d.ts +1 -0
  62. package/dist/entities/user.entity.d.ts.map +1 -1
  63. package/dist/entities/user.entity.js +6 -1
  64. package/dist/entities/user.entity.js.map +1 -1
  65. package/dist/helpers/field-crud-managers/ManyToManyRelationFieldCrudManager.d.ts +2 -0
  66. package/dist/helpers/field-crud-managers/ManyToManyRelationFieldCrudManager.d.ts.map +1 -1
  67. package/dist/helpers/field-crud-managers/ManyToManyRelationFieldCrudManager.js +33 -23
  68. package/dist/helpers/field-crud-managers/ManyToManyRelationFieldCrudManager.js.map +1 -1
  69. package/dist/helpers/field-crud-managers/OneToManyRelationFieldCrudManager.d.ts +3 -0
  70. package/dist/helpers/field-crud-managers/OneToManyRelationFieldCrudManager.d.ts.map +1 -1
  71. package/dist/helpers/field-crud-managers/OneToManyRelationFieldCrudManager.js +36 -23
  72. package/dist/helpers/field-crud-managers/OneToManyRelationFieldCrudManager.js.map +1 -1
  73. package/dist/helpers/security.helper.js +1 -0
  74. package/dist/helpers/security.helper.js.map +1 -1
  75. package/dist/index.d.ts +0 -4
  76. package/dist/index.d.ts.map +1 -1
  77. package/dist/index.js +0 -4
  78. package/dist/index.js.map +1 -1
  79. package/dist/repository/solid-base.repository.d.ts +10 -1
  80. package/dist/repository/solid-base.repository.d.ts.map +1 -1
  81. package/dist/repository/solid-base.repository.js +109 -0
  82. package/dist/repository/solid-base.repository.js.map +1 -1
  83. package/dist/seeders/module-metadata-seeder.service.d.ts +2 -0
  84. package/dist/seeders/module-metadata-seeder.service.d.ts.map +1 -1
  85. package/dist/seeders/module-metadata-seeder.service.js +141 -71
  86. package/dist/seeders/module-metadata-seeder.service.js.map +1 -1
  87. package/dist/seeders/permission-metadata-seeder.service.d.ts +1 -1
  88. package/dist/seeders/permission-metadata-seeder.service.d.ts.map +1 -1
  89. package/dist/seeders/permission-metadata-seeder.service.js +1 -1
  90. package/dist/seeders/permission-metadata-seeder.service.js.map +1 -1
  91. package/dist/seeders/seed-data/solid-core-metadata.json +12 -25
  92. package/dist/services/authentication.service.d.ts +22 -8
  93. package/dist/services/authentication.service.d.ts.map +1 -1
  94. package/dist/services/authentication.service.js +228 -214
  95. package/dist/services/authentication.service.js.map +1 -1
  96. package/dist/services/crud-helper.service.d.ts +4 -0
  97. package/dist/services/crud-helper.service.d.ts.map +1 -1
  98. package/dist/services/crud-helper.service.js +66 -32
  99. package/dist/services/crud-helper.service.js.map +1 -1
  100. package/dist/services/crud.service.d.ts.map +1 -1
  101. package/dist/services/crud.service.js +7 -4
  102. package/dist/services/crud.service.js.map +1 -1
  103. package/dist/services/field-metadata.service.d.ts.map +1 -1
  104. package/dist/services/field-metadata.service.js.map +1 -1
  105. package/dist/services/file/disk-file.service.d.ts +0 -2
  106. package/dist/services/file/disk-file.service.d.ts.map +1 -1
  107. package/dist/services/file/disk-file.service.js +7 -16
  108. package/dist/services/file/disk-file.service.js.map +1 -1
  109. package/dist/services/file/index.d.ts +1 -0
  110. package/dist/services/file/index.d.ts.map +1 -1
  111. package/dist/services/file/index.js +1 -0
  112. package/dist/services/file/index.js.map +1 -1
  113. package/dist/services/file/storage-path-builder.d.ts +17 -0
  114. package/dist/services/file/storage-path-builder.d.ts.map +1 -0
  115. package/dist/{seeders/sms-template-seeder.service.js → services/file/storage-path-builder.js} +45 -35
  116. package/dist/services/file/storage-path-builder.js.map +1 -0
  117. package/dist/services/media.service.d.ts +1 -1
  118. package/dist/services/media.service.d.ts.map +1 -1
  119. package/dist/services/media.service.js +45 -6
  120. package/dist/services/media.service.js.map +1 -1
  121. package/dist/services/mediaStorageProviders/file-s3-storage-provider.js.map +1 -1
  122. package/dist/services/mediaStorageProviders/file-storage-provider.d.ts.map +1 -1
  123. package/dist/services/mediaStorageProviders/file-storage-provider.js +46 -7
  124. package/dist/services/mediaStorageProviders/file-storage-provider.js.map +1 -1
  125. package/dist/services/module-metadata.service.d.ts +4 -6
  126. package/dist/services/module-metadata.service.d.ts.map +1 -1
  127. package/dist/services/module-metadata.service.js +16 -14
  128. package/dist/services/module-metadata.service.js.map +1 -1
  129. package/dist/services/setting.service.d.ts +3 -2
  130. package/dist/services/setting.service.d.ts.map +1 -1
  131. package/dist/services/setting.service.js +7 -4
  132. package/dist/services/setting.service.js.map +1 -1
  133. package/dist/services/settings/default-settings-provider.service.d.ts +24 -2
  134. package/dist/services/settings/default-settings-provider.service.d.ts.map +1 -1
  135. package/dist/services/settings/default-settings-provider.service.js +8 -6
  136. package/dist/services/settings/default-settings-provider.service.js.map +1 -1
  137. package/dist/solid-core.module.d.ts +3 -1
  138. package/dist/solid-core.module.d.ts.map +1 -1
  139. package/dist/solid-core.module.js +45 -9
  140. package/dist/solid-core.module.js.map +1 -1
  141. package/dist/testing/adapters/ui/playwright-adapter.d.ts.map +1 -1
  142. package/dist/testing/adapters/ui/playwright-adapter.js +35 -2
  143. package/dist/testing/adapters/ui/playwright-adapter.js.map +1 -1
  144. package/package.json +8 -2
  145. package/src/constants/error-messages.ts +1 -0
  146. package/src/constants.ts +3 -3
  147. package/src/controllers/role-metadata.controller.ts +26 -18
  148. package/src/dtos/create-email-template.dto.ts +7 -0
  149. package/src/dtos/create-list-of-values.dto.ts +7 -0
  150. package/src/dtos/create-menu-item-metadata.dto.ts +12 -1
  151. package/src/dtos/create-role-metadata.dto.ts +9 -0
  152. package/src/dtos/create-scheduled-job.dto.ts +14 -0
  153. package/src/dtos/create-security-rule.dto.ts +6 -0
  154. package/src/dtos/create-sms-template.dto.ts +6 -0
  155. package/src/dtos/create-view-metadata.dto.ts +11 -0
  156. package/src/dtos/otp-sign-in.dto.ts +3 -3
  157. package/src/dtos/otp-sign-up.dto.ts +3 -3
  158. package/src/dtos/resolve-s3-url.dto.ts +2 -12
  159. package/src/dtos/sign-up.dto.ts +0 -2
  160. package/src/dtos/update-email-template.dto.ts +6 -0
  161. package/src/dtos/update-list-of-values.dto.ts +8 -0
  162. package/src/dtos/update-menu-item-metadata.dto.ts +12 -0
  163. package/src/dtos/update-scheduled-job.dto.ts +15 -0
  164. package/src/dtos/update-security-rule.dto.ts +7 -0
  165. package/src/dtos/update-sms-template.dto.ts +32 -32
  166. package/src/dtos/update-view-metadata.dto.ts +12 -0
  167. package/src/entities/user.entity.ts +3 -0
  168. package/src/helpers/field-crud-managers/ManyToManyRelationFieldCrudManager.ts +43 -32
  169. package/src/helpers/field-crud-managers/OneToManyRelationFieldCrudManager.ts +45 -33
  170. package/src/helpers/security.helper.ts +1 -1
  171. package/src/index.ts +0 -4
  172. package/src/repository/solid-base.repository.ts +172 -1
  173. package/src/seeders/module-metadata-seeder.service.ts +188 -126
  174. package/src/seeders/permission-metadata-seeder.service.ts +1 -4
  175. package/src/seeders/seed-data/solid-core-metadata.json +12 -25
  176. package/src/services/authentication.service.ts +268 -266
  177. package/src/services/crud-helper.service.ts +79 -36
  178. package/src/services/crud.service.ts +9 -4
  179. package/src/services/field-metadata.service.ts +0 -71
  180. package/src/services/file/disk-file.service.ts +8 -18
  181. package/src/services/file/index.ts +1 -0
  182. package/src/services/file/storage-path-builder.ts +56 -0
  183. package/src/services/media.service.ts +13 -7
  184. package/src/services/mediaStorageProviders/file-s3-storage-provider.ts +1 -1
  185. package/src/services/mediaStorageProviders/file-storage-provider.ts +13 -8
  186. package/src/services/module-metadata.service.ts +18 -15
  187. package/src/services/setting.service.ts +5 -3
  188. package/src/services/settings/default-settings-provider.service.ts +5 -3
  189. package/src/solid-core.module.ts +16 -12
  190. package/src/testing/adapters/ui/playwright-adapter.ts +1 -1
  191. package/dist/passport-strategies/local.strategy.d.ts +0 -15
  192. package/dist/passport-strategies/local.strategy.d.ts.map +0 -1
  193. package/dist/passport-strategies/local.strategy.js +0 -44
  194. package/dist/passport-strategies/local.strategy.js.map +0 -1
  195. package/dist/seeders/email-template-seeder.service.d.ts +0 -10
  196. package/dist/seeders/email-template-seeder.service.d.ts.map +0 -1
  197. package/dist/seeders/email-template-seeder.service.js +0 -84
  198. package/dist/seeders/email-template-seeder.service.js.map +0 -1
  199. package/dist/seeders/sms-template-seeder.service.d.ts +0 -10
  200. package/dist/seeders/sms-template-seeder.service.d.ts.map +0 -1
  201. package/dist/seeders/sms-template-seeder.service.js.map +0 -1
  202. package/dist/seeders/user-seeder.service.d.ts +0 -10
  203. package/dist/seeders/user-seeder.service.d.ts.map +0 -1
  204. package/dist/seeders/user-seeder.service.js +0 -44
  205. package/dist/seeders/user-seeder.service.js.map +0 -1
  206. package/src/passport-strategies/local.strategy.ts +0 -28
  207. package/src/seeders/email-template-seeder.service.ts +0 -49
  208. package/src/seeders/sms-template-seeder.service.ts +0 -50
  209. package/src/seeders/user-seeder.service.ts +0 -33
@@ -1,7 +1,39 @@
1
1
  "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
15
+ }) : function(o, v) {
16
+ o["default"] = v;
17
+ });
18
+ var __importStar = (this && this.__importStar) || (function () {
19
+ var ownKeys = function(o) {
20
+ ownKeys = Object.getOwnPropertyNames || function (o) {
21
+ var ar = [];
22
+ for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
23
+ return ar;
24
+ };
25
+ return ownKeys(o);
26
+ };
27
+ return function (mod) {
28
+ if (mod && mod.__esModule) return mod;
29
+ var result = {};
30
+ if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
31
+ __setModuleDefault(result, mod);
32
+ return result;
33
+ };
34
+ })();
2
35
  Object.defineProperty(exports, "__esModule", { value: true });
3
36
  exports.PlaywrightAdapter = void 0;
4
- const playwright_1 = require("playwright");
5
37
  function isAbsoluteUrl(url) {
6
38
  return /^https?:\/\//i.test(url);
7
39
  }
@@ -11,7 +43,8 @@ class PlaywrightAdapter {
11
43
  this.headless = opts?.headless ?? true;
12
44
  }
13
45
  async start() {
14
- this.browser = await playwright_1.chromium.launch({ headless: this.headless });
46
+ const { chromium } = await Promise.resolve().then(() => __importStar(require('playwright')));
47
+ this.browser = await chromium.launch({ headless: this.headless });
15
48
  this.context = await this.browser.newContext();
16
49
  this.page = await this.context.newPage();
17
50
  }
@@ -1 +1 @@
1
- {"version":3,"file":"playwright-adapter.js","sourceRoot":"","sources":["../../../../src/testing/adapters/ui/playwright-adapter.ts"],"names":[],"mappings":";;;AAAA,2CAAsC;AAKtC,SAAS,aAAa,CAAC,GAAW;IAChC,OAAO,eAAe,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AACnC,CAAC;AAED,MAAa,iBAAiB;IAO5B,YAAY,IAA+B;QACzC,IAAI,CAAC,OAAO,GAAG,IAAI,EAAE,OAAO,CAAC;QAC7B,IAAI,CAAC,QAAQ,GAAG,IAAI,EAAE,QAAQ,IAAI,IAAI,CAAC;IACzC,CAAC;IAED,KAAK,CAAC,KAAK;QACT,IAAI,CAAC,OAAO,GAAG,MAAM,qBAAQ,CAAC,MAAM,CAAC,EAAE,QAAQ,EAAE,IAAI,CAAC,QAAQ,EAAE,CAAC,CAAC;QAClE,IAAI,CAAC,OAAO,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,UAAU,EAAE,CAAC;QAC/C,IAAI,CAAC,IAAI,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,CAAC;IAC3C,CAAC;IAED,KAAK,CAAC,IAAI;QACR,IAAI,CAAC;YACH,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC;gBACjB,MAAM,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,CAAC;YAC7B,CAAC;QACH,CAAC;gBAAS,CAAC;YACT,IAAI,CAAC,OAAO,GAAG,SAAS,CAAC;YACzB,IAAI,CAAC,IAAI,GAAG,SAAS,CAAC;QACxB,CAAC;QAED,IAAI,CAAC;YACH,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC;gBACjB,MAAM,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,CAAC;YAC7B,CAAC;QACH,CAAC;gBAAS,CAAC;YACT,IAAI,CAAC,OAAO,GAAG,SAAS,CAAC;QAC3B,CAAC;IACH,CAAC;IAED,UAAU,CAAC,GAAW;QACpB,IAAI,aAAa,CAAC,GAAG,CAAC;YAAE,OAAO,GAAG,CAAC;QACnC,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC;YACjB,OAAO,IAAI,GAAG,CAAC,GAAG,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC,QAAQ,EAAE,CAAC;QAC/C,CAAC;QACD,OAAO,GAAG,CAAC;IACb,CAAC;CACF;AA5CD,8CA4CC","sourcesContent":["import { chromium } from \"playwright\";\nimport type { Browser, BrowserContext, Page } from \"playwright\";\n\nimport type { PlaywrightAdapterOptions } from \"./ui.types\";\n\nfunction isAbsoluteUrl(url: string): boolean {\n return /^https?:\\/\\//i.test(url);\n}\n\nexport class PlaywrightAdapter {\n private readonly baseUrl?: string;\n private readonly headless: boolean;\n private browser?: Browser;\n private context?: BrowserContext;\n public page?: Page;\n\n constructor(opts?: PlaywrightAdapterOptions) {\n this.baseUrl = opts?.baseUrl;\n this.headless = opts?.headless ?? true;\n }\n\n async start(): Promise<void> {\n this.browser = await chromium.launch({ headless: this.headless });\n this.context = await this.browser.newContext();\n this.page = await this.context.newPage();\n }\n\n async stop(): Promise<void> {\n try {\n if (this.context) {\n await this.context.close();\n }\n } finally {\n this.context = undefined;\n this.page = undefined;\n }\n\n try {\n if (this.browser) {\n await this.browser.close();\n }\n } finally {\n this.browser = undefined;\n }\n }\n\n resolveUrl(url: string): string {\n if (isAbsoluteUrl(url)) return url;\n if (this.baseUrl) {\n return new URL(url, this.baseUrl).toString();\n }\n return url;\n }\n}\n"]}
1
+ {"version":3,"file":"playwright-adapter.js","sourceRoot":"","sources":["../../../../src/testing/adapters/ui/playwright-adapter.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAIA,SAAS,aAAa,CAAC,GAAW;IAChC,OAAO,eAAe,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AACnC,CAAC;AAED,MAAa,iBAAiB;IAO5B,YAAY,IAA+B;QACzC,IAAI,CAAC,OAAO,GAAG,IAAI,EAAE,OAAO,CAAC;QAC7B,IAAI,CAAC,QAAQ,GAAG,IAAI,EAAE,QAAQ,IAAI,IAAI,CAAC;IACzC,CAAC;IAED,KAAK,CAAC,KAAK;QACT,MAAM,EAAE,QAAQ,EAAE,GAAG,wDAAa,YAAY,GAAC,CAAC;QAChD,IAAI,CAAC,OAAO,GAAG,MAAM,QAAQ,CAAC,MAAM,CAAC,EAAE,QAAQ,EAAE,IAAI,CAAC,QAAQ,EAAE,CAAC,CAAC;QAClE,IAAI,CAAC,OAAO,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,UAAU,EAAE,CAAC;QAC/C,IAAI,CAAC,IAAI,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,CAAC;IAC3C,CAAC;IAED,KAAK,CAAC,IAAI;QACR,IAAI,CAAC;YACH,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC;gBACjB,MAAM,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,CAAC;YAC7B,CAAC;QACH,CAAC;gBAAS,CAAC;YACT,IAAI,CAAC,OAAO,GAAG,SAAS,CAAC;YACzB,IAAI,CAAC,IAAI,GAAG,SAAS,CAAC;QACxB,CAAC;QAED,IAAI,CAAC;YACH,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC;gBACjB,MAAM,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,CAAC;YAC7B,CAAC;QACH,CAAC;gBAAS,CAAC;YACT,IAAI,CAAC,OAAO,GAAG,SAAS,CAAC;QAC3B,CAAC;IACH,CAAC;IAED,UAAU,CAAC,GAAW;QACpB,IAAI,aAAa,CAAC,GAAG,CAAC;YAAE,OAAO,GAAG,CAAC;QACnC,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC;YACjB,OAAO,IAAI,GAAG,CAAC,GAAG,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC,QAAQ,EAAE,CAAC;QAC/C,CAAC;QACD,OAAO,GAAG,CAAC;IACb,CAAC;CACF;AA7CD,8CA6CC","sourcesContent":["import type { Browser, BrowserContext, Page } from \"playwright\";\n\nimport type { PlaywrightAdapterOptions } from \"./ui.types\";\n\nfunction isAbsoluteUrl(url: string): boolean {\n return /^https?:\\/\\//i.test(url);\n}\n\nexport class PlaywrightAdapter {\n private readonly baseUrl?: string;\n private readonly headless: boolean;\n private browser?: Browser;\n private context?: BrowserContext;\n public page?: Page;\n\n constructor(opts?: PlaywrightAdapterOptions) {\n this.baseUrl = opts?.baseUrl;\n this.headless = opts?.headless ?? true;\n }\n\n async start(): Promise<void> {\n const { chromium } = await import('playwright');\n this.browser = await chromium.launch({ headless: this.headless });\n this.context = await this.browser.newContext();\n this.page = await this.context.newPage();\n }\n\n async stop(): Promise<void> {\n try {\n if (this.context) {\n await this.context.close();\n }\n } finally {\n this.context = undefined;\n this.page = undefined;\n }\n\n try {\n if (this.browser) {\n await this.browser.close();\n }\n } finally {\n this.browser = undefined;\n }\n }\n\n resolveUrl(url: string): string {\n if (isAbsoluteUrl(url)) return url;\n if (this.baseUrl) {\n return new URL(url, this.baseUrl).toString();\n }\n return url;\n }\n}\n"]}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@solidxai/core",
3
- "version": "0.1.4",
3
+ "version": "0.1.5-beta.0",
4
4
  "description": "This module is a NestJS module containing all the required core providers required by a Solid application",
5
5
  "main": "dist/index.js",
6
6
  "types": "dist/index.d.ts",
@@ -41,6 +41,7 @@
41
41
  "@nestjs/throttler": "^6.4.0",
42
42
  "amqplib": "^0.10.4",
43
43
  "axios": "^1.7.0",
44
+ "form-data": "^4.0.0",
44
45
  "bcrypt": "^5.1.1",
45
46
  "bson": "^6.10.1",
46
47
  "cache-manager": "^5.5.2",
@@ -76,7 +77,13 @@
76
77
  "uuid": "^9.0.1",
77
78
  "xlsx": "^0.18.5"
78
79
  },
80
+ "peerDependenciesMeta": {
81
+ "playwright": {
82
+ "optional": true
83
+ }
84
+ },
79
85
  "peerDependencies": {
86
+ "playwright": ">=1.0.0",
80
87
  "@nestjs/axios": "^3.0.2",
81
88
  "@nestjs/cache-manager": "^2.2.2",
82
89
  "@nestjs/common": "^10.0.0",
@@ -119,7 +126,6 @@
119
126
  "@nestjs/testing": "^10.0.0",
120
127
  "@nestjs/typeorm": "^10.0.1",
121
128
  "@solidxai/code-builder": "^0.0.2",
122
- "@playwright/test": "^1.50.0",
123
129
  "@types/express": "^4.17.17",
124
130
  "@types/hapi__joi": "^17.1.12",
125
131
  "@types/jest": "^29.5.2",
@@ -5,6 +5,7 @@ export const ERROR_MESSAGES = {
5
5
  USER_NOT_FOUND: 'User does not exist.',
6
6
  USER_NOT_ACTIVE: 'User profile is not activated.',
7
7
  USER_INACTIVE: 'User is inactive.',
8
+ ACCOUNT_BLOCKED: 'Your account has been blocked due to multiple failed login attempts.',
8
9
  PASSWORD_INCORRECT: 'Password does not match.',
9
10
  PUBLIC_REGISTRATION_DISABLED: 'Public registrations are disabled.',
10
11
  UNIQUE_CONSTRAINT_VIOLATION: 'A unique constraint violation occurred.',
package/src/constants.ts CHANGED
@@ -9,13 +9,13 @@ export const {
9
9
  } = new ConfigurableModuleBuilder<QueuesModuleOptions>().build();
10
10
  export const REQUEST_USER_KEY = 'user';
11
11
 
12
- export enum RegistrationValidationSource {
12
+ export enum PasswordlessLoginValidateWhatSources {
13
13
  EMAIL = 'email',
14
14
  MOBILE = 'mobile',
15
- TRANSACTIONAL = 'transactional',
15
+ SELECTABLE = 'selectable',
16
16
  }
17
17
 
18
- export enum TransactionalRegistrationValidationSource {
18
+ export enum PasswordlessRegistrationValidateWhatSources {
19
19
  EMAIL = 'email',
20
20
  MOBILE = 'mobile',
21
21
  }
@@ -1,4 +1,4 @@
1
- import { Controller, Post, Body, Param, UploadedFiles, UseInterceptors, Put, Get, Query, Delete } from '@nestjs/common';
1
+ import { Controller, Post, Body, Param, UploadedFiles, UseInterceptors, Put, Get, Query, Delete, Patch } from '@nestjs/common';
2
2
  import { AnyFilesInterceptor } from "@nestjs/platform-express";
3
3
  import { ApiBearerAuth, ApiQuery, ApiTags } from '@nestjs/swagger';
4
4
  import { RoleMetadataService } from '../services/role-metadata.service';
@@ -7,31 +7,39 @@ import { UpdateRoleMetadataDto } from '../dtos/update-role-metadata.dto';
7
7
  import { SolidRequestContextDto } from 'src/dtos/solid-request-context.dto';
8
8
  import { SolidRequestContextDecorator } from 'src/decorators/solid-request-context.decorator';
9
9
 
10
- @ApiTags('Solid Core')
10
+ @ApiTags('Solid Core')
11
11
  @Controller('role-metadata') //FIXME: Change this to the model plural name
12
12
  export class RoleMetadataController {
13
- constructor(private readonly service: RoleMetadataService) {}
13
+ constructor(private readonly service: RoleMetadataService) { }
14
14
 
15
15
  @ApiBearerAuth("jwt")
16
16
  @Post()
17
17
  @UseInterceptors(AnyFilesInterceptor())
18
- create(@Body() createDto: CreateRoleMetadataDto, @UploadedFiles() files: Array<Express.Multer.File>,@SolidRequestContextDecorator() solidRequestContext:SolidRequestContextDto) {
19
- return this.service.create(createDto, files,solidRequestContext);
18
+ create(@Body() createDto: CreateRoleMetadataDto, @UploadedFiles() files: Array<Express.Multer.File>, @SolidRequestContextDecorator() solidRequestContext: SolidRequestContextDto) {
19
+ return this.service.create(createDto, files, solidRequestContext);
20
20
  }
21
21
 
22
22
  @ApiBearerAuth("jwt")
23
23
  @Post('/bulk')
24
24
  @UseInterceptors(AnyFilesInterceptor())
25
- insertMany(@Body() createDtos: CreateRoleMetadataDto[], @UploadedFiles() filesArray: Express.Multer.File[][] = [],@SolidRequestContextDecorator() solidRequestContext:SolidRequestContextDto) {
26
- return this.service.insertMany(createDtos, filesArray,solidRequestContext);
25
+ insertMany(@Body() createDtos: CreateRoleMetadataDto[], @UploadedFiles() filesArray: Express.Multer.File[][] = [], @SolidRequestContextDecorator() solidRequestContext: SolidRequestContextDto) {
26
+ return this.service.insertMany(createDtos, filesArray, solidRequestContext);
27
27
  }
28
28
 
29
29
 
30
30
  @ApiBearerAuth("jwt")
31
31
  @Put(':id')
32
32
  @UseInterceptors(AnyFilesInterceptor())
33
- update(@Param('id') id: number, @Body() updateDto: UpdateRoleMetadataDto, @UploadedFiles() files: Array<Express.Multer.File>,@SolidRequestContextDecorator() solidRequestContext:SolidRequestContextDto) {
34
- return this.service.update(id, updateDto, files,false,solidRequestContext);
33
+ update(@Param('id') id: number, @Body() updateDto: UpdateRoleMetadataDto, @UploadedFiles() files: Array<Express.Multer.File>, @SolidRequestContextDecorator() solidRequestContext: SolidRequestContextDto) {
34
+ return this.service.update(id, updateDto, files, false, solidRequestContext);
35
+ }
36
+
37
+
38
+ @ApiBearerAuth("jwt")
39
+ @Patch(':id')
40
+ @UseInterceptors(AnyFilesInterceptor())
41
+ partialUpdate(@Param('id') id: number, @Body() updateDto: UpdateRoleMetadataDto, @UploadedFiles() files: Array<Express.Multer.File>) {
42
+ return this.service.update(id, updateDto, files, true);
35
43
  }
36
44
 
37
45
  @ApiBearerAuth("jwt")
@@ -40,31 +48,31 @@ export class RoleMetadataController {
40
48
  @ApiQuery({ name: 'limit', required: false, type: Number })
41
49
  @ApiQuery({ name: 'offset', required: false, type: Number })
42
50
  @ApiQuery({ name: 'fields', required: false, type: Array })
43
- @ApiQuery({ name: 'sort', required: false, type: Array })
51
+ @ApiQuery({ name: 'sort', required: false, type: Array })
44
52
  @ApiQuery({ name: 'groupBy', required: false, type: Array })
45
53
  @ApiQuery({ name: 'populate', required: false, type: Array })
46
54
  @ApiQuery({ name: 'populateMedia', required: false, type: Array })
47
55
  @ApiQuery({ name: 'filters', required: false, type: Array })
48
56
  @Get()
49
- async findMany(@Query() query: any,@SolidRequestContextDecorator() solidRequestContext:SolidRequestContextDto) {
50
- return this.service.find(query,solidRequestContext);
57
+ async findMany(@Query() query: any, @SolidRequestContextDecorator() solidRequestContext: SolidRequestContextDto) {
58
+ return this.service.find(query, solidRequestContext);
51
59
  }
52
60
 
53
61
  @ApiBearerAuth("jwt")
54
62
  @Get(':id')
55
- async findOne(@Param('id') id: string, @Query() query: any,@SolidRequestContextDecorator() solidRequestContext:SolidRequestContextDto) {
56
- return this.service.findOne(+id, query,solidRequestContext);
63
+ async findOne(@Param('id') id: string, @Query() query: any, @SolidRequestContextDecorator() solidRequestContext: SolidRequestContextDto) {
64
+ return this.service.findOne(+id, query, solidRequestContext);
57
65
  }
58
66
 
59
67
  @Delete('/bulk')
60
- async deleteMany(@Body() ids: number[],@SolidRequestContextDecorator() solidRequestContext:SolidRequestContextDto) {
61
- return this.service.deleteMany(ids,solidRequestContext);
68
+ async deleteMany(@Body() ids: number[], @SolidRequestContextDecorator() solidRequestContext: SolidRequestContextDto) {
69
+ return this.service.deleteMany(ids, solidRequestContext);
62
70
  }
63
71
 
64
72
  @ApiBearerAuth("jwt")
65
73
  @Delete(':id')
66
- async delete (@Param('id') id: number,@SolidRequestContextDecorator() solidRequestContext:SolidRequestContextDto) {
67
- return this.service.delete(id,solidRequestContext);
74
+ async delete(@Param('id') id: number, @SolidRequestContextDecorator() solidRequestContext: SolidRequestContextDto) {
75
+ return this.service.delete(id, solidRequestContext);
68
76
  }
69
77
 
70
78
 
@@ -9,31 +9,38 @@ export class CreateEmailTemplateDto {
9
9
  @IsString()
10
10
  @ApiProperty()
11
11
  name: string;
12
+
12
13
  @IsNotEmpty()
13
14
  @IsString()
14
15
  @ApiProperty()
15
16
  displayName: string;
17
+
16
18
  @IsNotEmpty()
17
19
  @IsString()
18
20
  @ApiProperty()
19
21
  body: string;
22
+
20
23
  @IsNotEmpty()
21
24
  @IsString()
22
25
  @ApiProperty()
23
26
  subject: string = "{}";
27
+
24
28
  @IsOptional()
25
29
  @IsString()
26
30
  @ApiProperty()
27
31
  description: string;
32
+
28
33
  @IsOptional()
29
34
  @IsBoolean()
30
35
  @ApiProperty()
31
36
  active: boolean = true;
37
+
32
38
  @IsOptional()
33
39
  @IsArray()
34
40
  @ValidateNested({ each: true })
35
41
  @Type(() => CreateEmailAttachmentDto)
36
42
  attachments: CreateEmailAttachmentDto[];
43
+
37
44
  @IsOptional()
38
45
  @IsString()
39
46
  @ApiProperty()
@@ -7,30 +7,37 @@ export class CreateListOfValuesDto {
7
7
  @IsString()
8
8
  @ApiProperty()
9
9
  type: string;
10
+
10
11
  @IsNotEmpty()
11
12
  @IsString()
12
13
  @ApiProperty()
13
14
  value: string;
15
+
14
16
  @IsNotEmpty()
15
17
  @IsString()
16
18
  @ApiProperty()
17
19
  display: string;
20
+
18
21
  @IsNotEmpty()
19
22
  @IsString()
20
23
  @ApiProperty()
21
24
  description: string;
25
+
22
26
  @IsOptional()
23
27
  @IsBoolean()
24
28
  @ApiProperty()
25
29
  default: boolean = false;
30
+
26
31
  @IsOptional()
27
32
  @IsInt()
28
33
  @ApiProperty()
29
34
  sequence: number;
35
+
30
36
  @IsOptional()
31
37
  @IsInt()
32
38
  @ApiProperty()
33
39
  moduleId: number;
40
+
34
41
  @IsString()
35
42
  @IsOptional()
36
43
  @ApiProperty()
@@ -12,34 +12,42 @@ export class CreateMenuItemMetadataDto {
12
12
  @IsString()
13
13
  @ApiProperty()
14
14
  name: string;
15
+
15
16
  @IsNotEmpty()
16
17
  @IsString()
17
18
  @ApiProperty()
18
19
  displayName: string;
20
+
19
21
  @IsOptional()
20
22
  @IsInt()
21
23
  @ApiProperty()
22
24
  moduleId: number;
25
+
23
26
  @IsString()
24
27
  @IsOptional()
25
28
  @ApiProperty()
26
29
  moduleUserKey: string;
30
+
27
31
  @IsOptional()
28
32
  @IsInt()
29
33
  @ApiProperty()
30
34
  parentMenuItemId: number;
35
+
31
36
  @IsString()
32
37
  @IsOptional()
33
38
  @ApiProperty()
34
39
  parentMenuItemUserKey: string;
40
+
35
41
  @IsOptional()
36
42
  @IsInt()
37
43
  @ApiProperty()
38
44
  actionId: number;
45
+
39
46
  @IsString()
40
47
  @IsOptional()
41
48
  @ApiProperty()
42
49
  actionUserKey: string;
50
+
43
51
  @Transform(arrayTransformer)
44
52
  @IsOptional()
45
53
  @ApiProperty()
@@ -47,14 +55,17 @@ export class CreateMenuItemMetadataDto {
47
55
  @ValidateNested({ each: true })
48
56
  @Type(() => UpdateRoleMetadataDto)
49
57
  roles: UpdateRoleMetadataDto[];
58
+
50
59
  @IsOptional()
51
60
  @IsArray()
52
61
  @ApiProperty()
53
62
  rolesIds: number[];
63
+
54
64
  @IsString()
55
65
  @IsOptional()
56
66
  @ApiProperty()
57
67
  rolesCommand: string;
68
+
58
69
  @IsOptional()
59
70
  @IsNumber()
60
71
  @ApiProperty()
@@ -69,4 +80,4 @@ export class CreateMenuItemMetadataDto {
69
80
 
70
81
  export const MENU_ROLE_JOIN_TABLE_NAME = "ss_menu_item_metadata_roles_ss_role_metadata"; // <-- your actual join table
71
82
  export const MENU_ROLE_JOIN_TABLE_NAME_MENU_COL = "ss_menu_item_metadata_id"; // <-- actual column name in the join table
72
- export const MENU_ROLE_JOIN_TABLE_NAME_ROLE_COL = "ss_role_metadata_id"; // <-- actual column name in the join table
83
+ export const MENU_ROLE_JOIN_TABLE_NAME_ROLE_COL = "ss_role_metadata_id"; // <-- actual column name in the join table
@@ -15,44 +15,53 @@ export class CreateRoleMetadataDto {
15
15
  @IsString()
16
16
  @ApiProperty()
17
17
  name: string;
18
+
18
19
  @IsOptional()
19
20
  @ApiProperty()
20
21
  @IsArray()
21
22
  @ValidateNested({ each: true })
22
23
  @Type(() => UpdatePermissionMetadataDto)
23
24
  permissions: UpdatePermissionMetadataDto[];
25
+
24
26
  @IsOptional()
25
27
  @IsArray()
26
28
  @ApiProperty()
27
29
  permissionsIds: number[];
30
+
28
31
  @IsString()
29
32
  @IsOptional()
30
33
  @ApiProperty()
31
34
  permissionsCommand: string;
35
+
32
36
  @IsOptional()
33
37
  @ApiProperty()
34
38
  @IsArray()
35
39
  @ValidateNested({ each: true })
36
40
  @Type(() => UpdateUserDto)
37
41
  users: UpdateUserDto[];
42
+
38
43
  @IsOptional()
39
44
  @IsArray()
40
45
  @ApiProperty()
41
46
  usersIds: number[];
47
+
42
48
  @IsString()
43
49
  @IsOptional()
44
50
  @ApiProperty()
45
51
  usersCommand: string;
52
+
46
53
  @IsOptional()
47
54
  @ApiProperty()
48
55
  @IsArray()
49
56
  @ValidateNested({ each: true })
50
57
  @Type(() => UpdateMenuItemMetadataDto)
51
58
  menuItems: UpdateMenuItemMetadataDto[];
59
+
52
60
  @IsOptional()
53
61
  @IsArray()
54
62
  @ApiProperty()
55
63
  menuItemsIds: number[];
64
+
56
65
  @IsString()
57
66
  @IsOptional()
58
67
  @ApiProperty()
@@ -7,58 +7,72 @@ export class CreateScheduledJobDto {
7
7
  @IsString()
8
8
  @ApiProperty()
9
9
  scheduleName: string;
10
+
10
11
  @IsNotEmpty()
11
12
  @IsBoolean()
12
13
  @ApiProperty()
13
14
  isActive: boolean = false;
15
+
14
16
  @IsNotEmpty()
15
17
  @IsString()
16
18
  @ApiProperty()
17
19
  frequency: string;
20
+
18
21
  @IsOptional()
19
22
  @IsDate()
20
23
  @ApiProperty()
21
24
  startTime: Date;
25
+
22
26
  @IsOptional()
23
27
  @IsDate()
24
28
  @ApiProperty()
25
29
  endTime: Date;
30
+
26
31
  @IsOptional()
27
32
  @IsDate()
28
33
  @ApiProperty()
29
34
  startDate: Date;
35
+
30
36
  @IsOptional()
31
37
  @IsDate()
32
38
  @ApiProperty()
33
39
  endDate: Date;
40
+
34
41
  @IsOptional()
35
42
  @IsInt()
36
43
  @ApiProperty()
37
44
  dayOfMonth: number;
45
+
38
46
  @IsOptional()
39
47
  @IsDate()
40
48
  @ApiProperty()
41
49
  lastRunAt: Date;
50
+
42
51
  @IsOptional()
43
52
  @IsDate()
44
53
  @ApiProperty()
45
54
  nextRunAt: Date;
55
+
46
56
  @IsOptional()
47
57
  @IsString()
48
58
  @ApiProperty()
49
59
  dayOfWeek: string;
60
+
50
61
  @IsNotEmpty()
51
62
  @IsString()
52
63
  @ApiProperty()
53
64
  job: string;
65
+
54
66
  @IsOptional()
55
67
  @IsString()
56
68
  @ApiProperty()
57
69
  cronExpression: string;
70
+
58
71
  @IsOptional()
59
72
  @IsInt()
60
73
  @ApiProperty()
61
74
  moduleId: number;
75
+
62
76
  @IsString()
63
77
  @IsOptional()
64
78
  @ApiProperty()
@@ -7,26 +7,32 @@ export class CreateSecurityRuleDto {
7
7
  @IsString()
8
8
  @ApiProperty()
9
9
  name: string;
10
+
10
11
  @IsNotEmpty()
11
12
  @IsString()
12
13
  @ApiProperty()
13
14
  description: string;
15
+
14
16
  @IsOptional()
15
17
  @IsInt()
16
18
  @ApiProperty()
17
19
  roleId: number;
20
+
18
21
  @IsString()
19
22
  @IsOptional()
20
23
  @ApiProperty()
21
24
  roleUserKey: string;
25
+
22
26
  @IsOptional()
23
27
  @IsInt()
24
28
  @ApiProperty()
25
29
  modelMetadataId: number;
30
+
26
31
  @IsString()
27
32
  @IsOptional()
28
33
  @ApiProperty()
29
34
  modelMetadataUserKey: string;
35
+
30
36
  @IsNotEmpty()
31
37
  @IsJSON()
32
38
  @ApiProperty()
@@ -7,26 +7,32 @@ export class CreateSmsTemplateDto {
7
7
  @IsString()
8
8
  @ApiProperty()
9
9
  name: string;
10
+
10
11
  @IsNotEmpty()
11
12
  @IsString()
12
13
  @ApiProperty()
13
14
  displayName: string;
15
+
14
16
  @IsOptional()
15
17
  @IsString()
16
18
  @ApiProperty()
17
19
  body: string;
20
+
18
21
  @IsOptional()
19
22
  @IsString()
20
23
  @ApiProperty()
21
24
  smsProviderTemplateId: string;
25
+
22
26
  @IsOptional()
23
27
  @IsString()
24
28
  @ApiProperty()
25
29
  description: string;
30
+
26
31
  @IsOptional()
27
32
  @IsBoolean()
28
33
  @ApiProperty()
29
34
  active: boolean = true;
35
+
30
36
  @IsOptional()
31
37
  @IsString()
32
38
  @ApiProperty()
@@ -11,48 +11,59 @@ export class CreateViewMetadataDto {
11
11
  @IsString()
12
12
  @ApiProperty()
13
13
  name: string;
14
+
14
15
  @IsNotEmpty()
15
16
  @IsString()
16
17
  @ApiProperty()
17
18
  displayName: string;
19
+
18
20
  @IsNotEmpty()
19
21
  @IsString()
20
22
  @ApiProperty()
21
23
  type: string;
24
+
22
25
  @IsNotEmpty()
23
26
  @IsJSON()
24
27
  @ApiProperty()
25
28
  context: any = "{}";
29
+
26
30
  @IsNotEmpty()
27
31
  @IsJSON()
28
32
  @ApiProperty()
29
33
  layout: any;
34
+
30
35
  @IsOptional()
31
36
  @IsInt()
32
37
  @ApiProperty()
33
38
  moduleId: number;
39
+
34
40
  @IsString()
35
41
  @IsOptional()
36
42
  @ApiProperty()
37
43
  moduleUserKey: string;
44
+
38
45
  @IsOptional()
39
46
  @IsInt()
40
47
  @ApiProperty()
41
48
  modelId: number;
49
+
42
50
  @IsString()
43
51
  @IsOptional()
44
52
  @ApiProperty()
45
53
  modelUserKey: string;
54
+
46
55
  @IsOptional()
47
56
  @ApiProperty()
48
57
  @IsArray()
49
58
  @ValidateNested({ each: true })
50
59
  @Type(() => UpdateUserViewMetadataDto)
51
60
  userViewMetadata: UpdateUserViewMetadataDto[];
61
+
52
62
  @IsOptional()
53
63
  @IsArray()
54
64
  @ApiProperty()
55
65
  userViewMetadataIds: number[];
66
+
56
67
  @IsString()
57
68
  @IsOptional()
58
69
  @ApiProperty()
@@ -1,10 +1,10 @@
1
- import { IsEnum, IsNotEmpty } from "class-validator";
1
+ import { IsEnum, IsNotEmpty, IsOptional } from "class-validator";
2
2
  import { SignInType } from "./otp-confirm-otp.dto";
3
3
 
4
4
  export class OTPSignInDto {
5
5
  @IsEnum(SignInType)
6
- @IsNotEmpty()
7
- type: string;
6
+ @IsOptional()
7
+ type?: string;
8
8
 
9
9
  @IsNotEmpty()
10
10
  identifier: string;
@@ -1,6 +1,6 @@
1
1
  import { IsEmail, IsEnum, IsJSON, IsNotEmpty, IsOptional } from 'class-validator';
2
2
 
3
- import { TransactionalRegistrationValidationSource } from "../constants";
3
+ import { PasswordlessRegistrationValidateWhatSources } from "../constants";
4
4
 
5
5
  export class OTPSignUpDto {
6
6
  @IsNotEmpty()
@@ -15,8 +15,8 @@ export class OTPSignUpDto {
15
15
  mobile: string;
16
16
 
17
17
  @IsOptional()
18
- @IsEnum(TransactionalRegistrationValidationSource, { each: true })
19
- validationSources: TransactionalRegistrationValidationSource[] = [];
18
+ @IsEnum(PasswordlessRegistrationValidateWhatSources, { each: true })
19
+ validationSources: PasswordlessRegistrationValidateWhatSources[] = [];
20
20
 
21
21
  @IsOptional()
22
22
  customPayload: any;