@open-mercato/core 0.4.8-develop-6b37dabfa2 → 0.4.8-develop-84f3678a58

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 (330) hide show
  1. package/agentic/standalone-guide.md +235 -0
  2. package/dist/generated/entities/customer_role/index.js +27 -0
  3. package/dist/generated/entities/customer_role/index.js.map +7 -0
  4. package/dist/generated/entities/customer_role_acl/index.js +19 -0
  5. package/dist/generated/entities/customer_role_acl/index.js.map +7 -0
  6. package/dist/generated/entities/customer_user/index.js +37 -0
  7. package/dist/generated/entities/customer_user/index.js.map +7 -0
  8. package/dist/generated/entities/customer_user_acl/index.js +19 -0
  9. package/dist/generated/entities/customer_user_acl/index.js.map +7 -0
  10. package/dist/generated/entities/customer_user_email_verification/index.js +17 -0
  11. package/dist/generated/entities/customer_user_email_verification/index.js.map +7 -0
  12. package/dist/generated/entities/customer_user_invitation/index.js +33 -0
  13. package/dist/generated/entities/customer_user_invitation/index.js.map +7 -0
  14. package/dist/generated/entities/customer_user_password_reset/index.js +15 -0
  15. package/dist/generated/entities/customer_user_password_reset/index.js.map +7 -0
  16. package/dist/generated/entities/customer_user_role/index.js +13 -0
  17. package/dist/generated/entities/customer_user_role/index.js.map +7 -0
  18. package/dist/generated/entities/customer_user_session/index.js +21 -0
  19. package/dist/generated/entities/customer_user_session/index.js.map +7 -0
  20. package/dist/generated/entities/organization/index.js +2 -0
  21. package/dist/generated/entities/organization/index.js.map +2 -2
  22. package/dist/generated/entities.ids.generated.js +14 -1
  23. package/dist/generated/entities.ids.generated.js.map +2 -2
  24. package/dist/generated/entity-fields-registry.js +18 -0
  25. package/dist/generated/entity-fields-registry.js.map +2 -2
  26. package/dist/modules/auth/services/rbacService.js +3 -9
  27. package/dist/modules/auth/services/rbacService.js.map +2 -2
  28. package/dist/modules/customer_accounts/acl.js +12 -0
  29. package/dist/modules/customer_accounts/acl.js.map +7 -0
  30. package/dist/modules/customer_accounts/api/admin/roles/[id]/acl.js +87 -0
  31. package/dist/modules/customer_accounts/api/admin/roles/[id]/acl.js.map +7 -0
  32. package/dist/modules/customer_accounts/api/admin/roles/[id].js +216 -0
  33. package/dist/modules/customer_accounts/api/admin/roles/[id].js.map +7 -0
  34. package/dist/modules/customer_accounts/api/admin/roles.js +189 -0
  35. package/dist/modules/customer_accounts/api/admin/roles.js.map +7 -0
  36. package/dist/modules/customer_accounts/api/admin/users/[id]/reset-password.js +69 -0
  37. package/dist/modules/customer_accounts/api/admin/users/[id]/reset-password.js.map +7 -0
  38. package/dist/modules/customer_accounts/api/admin/users/[id]/verify-email.js +64 -0
  39. package/dist/modules/customer_accounts/api/admin/users/[id]/verify-email.js.map +7 -0
  40. package/dist/modules/customer_accounts/api/admin/users/[id].js +253 -0
  41. package/dist/modules/customer_accounts/api/admin/users/[id].js.map +7 -0
  42. package/dist/modules/customer_accounts/api/admin/users-invite.js +78 -0
  43. package/dist/modules/customer_accounts/api/admin/users-invite.js.map +7 -0
  44. package/dist/modules/customer_accounts/api/admin/users.js +251 -0
  45. package/dist/modules/customer_accounts/api/admin/users.js.map +7 -0
  46. package/dist/modules/customer_accounts/api/email/verify.js +59 -0
  47. package/dist/modules/customer_accounts/api/email/verify.js.map +7 -0
  48. package/dist/modules/customer_accounts/api/interceptors.js +5 -0
  49. package/dist/modules/customer_accounts/api/interceptors.js.map +7 -0
  50. package/dist/modules/customer_accounts/api/invitations/accept.js +114 -0
  51. package/dist/modules/customer_accounts/api/invitations/accept.js.map +7 -0
  52. package/dist/modules/customer_accounts/api/login.js +143 -0
  53. package/dist/modules/customer_accounts/api/login.js.map +7 -0
  54. package/dist/modules/customer_accounts/api/magic-link/request.js +78 -0
  55. package/dist/modules/customer_accounts/api/magic-link/request.js.map +7 -0
  56. package/dist/modules/customer_accounts/api/magic-link/verify.js +114 -0
  57. package/dist/modules/customer_accounts/api/magic-link/verify.js.map +7 -0
  58. package/dist/modules/customer_accounts/api/password/reset-confirm.js +59 -0
  59. package/dist/modules/customer_accounts/api/password/reset-confirm.js.map +7 -0
  60. package/dist/modules/customer_accounts/api/password/reset-request.js +77 -0
  61. package/dist/modules/customer_accounts/api/password/reset-request.js.map +7 -0
  62. package/dist/modules/customer_accounts/api/portal/events/stream.js +163 -0
  63. package/dist/modules/customer_accounts/api/portal/events/stream.js.map +7 -0
  64. package/dist/modules/customer_accounts/api/portal/feature-check.js +57 -0
  65. package/dist/modules/customer_accounts/api/portal/feature-check.js.map +7 -0
  66. package/dist/modules/customer_accounts/api/portal/logout.js +64 -0
  67. package/dist/modules/customer_accounts/api/portal/logout.js.map +7 -0
  68. package/dist/modules/customer_accounts/api/portal/notifications/[id]/dismiss.js +49 -0
  69. package/dist/modules/customer_accounts/api/portal/notifications/[id]/dismiss.js.map +7 -0
  70. package/dist/modules/customer_accounts/api/portal/notifications/[id]/read.js +49 -0
  71. package/dist/modules/customer_accounts/api/portal/notifications/[id]/read.js.map +7 -0
  72. package/dist/modules/customer_accounts/api/portal/notifications/mark-all-read.js +46 -0
  73. package/dist/modules/customer_accounts/api/portal/notifications/mark-all-read.js.map +7 -0
  74. package/dist/modules/customer_accounts/api/portal/notifications/unread-count.js +42 -0
  75. package/dist/modules/customer_accounts/api/portal/notifications/unread-count.js.map +7 -0
  76. package/dist/modules/customer_accounts/api/portal/notifications.js +105 -0
  77. package/dist/modules/customer_accounts/api/portal/notifications.js.map +7 -0
  78. package/dist/modules/customer_accounts/api/portal/password-change.js +57 -0
  79. package/dist/modules/customer_accounts/api/portal/password-change.js.map +7 -0
  80. package/dist/modules/customer_accounts/api/portal/profile.js +135 -0
  81. package/dist/modules/customer_accounts/api/portal/profile.js.map +7 -0
  82. package/dist/modules/customer_accounts/api/portal/sessions/[id].js +62 -0
  83. package/dist/modules/customer_accounts/api/portal/sessions/[id].js.map +7 -0
  84. package/dist/modules/customer_accounts/api/portal/sessions-refresh.js +75 -0
  85. package/dist/modules/customer_accounts/api/portal/sessions-refresh.js.map +7 -0
  86. package/dist/modules/customer_accounts/api/portal/sessions.js +77 -0
  87. package/dist/modules/customer_accounts/api/portal/sessions.js.map +7 -0
  88. package/dist/modules/customer_accounts/api/portal/users/[id]/roles.js +90 -0
  89. package/dist/modules/customer_accounts/api/portal/users/[id]/roles.js.map +7 -0
  90. package/dist/modules/customer_accounts/api/portal/users/[id].js +71 -0
  91. package/dist/modules/customer_accounts/api/portal/users/[id].js.map +7 -0
  92. package/dist/modules/customer_accounts/api/portal/users-invite.js +92 -0
  93. package/dist/modules/customer_accounts/api/portal/users-invite.js.map +7 -0
  94. package/dist/modules/customer_accounts/api/portal/users.js +79 -0
  95. package/dist/modules/customer_accounts/api/portal/users.js.map +7 -0
  96. package/dist/modules/customer_accounts/api/signup.js +121 -0
  97. package/dist/modules/customer_accounts/api/signup.js.map +7 -0
  98. package/dist/modules/customer_accounts/backend/customer_accounts/[id]/page.js +491 -0
  99. package/dist/modules/customer_accounts/backend/customer_accounts/[id]/page.js.map +7 -0
  100. package/dist/modules/customer_accounts/backend/customer_accounts/[id]/page.meta.js +15 -0
  101. package/dist/modules/customer_accounts/backend/customer_accounts/[id]/page.meta.js.map +7 -0
  102. package/dist/modules/customer_accounts/backend/customer_accounts/roles/[id]/page.js +343 -0
  103. package/dist/modules/customer_accounts/backend/customer_accounts/roles/[id]/page.js.map +7 -0
  104. package/dist/modules/customer_accounts/backend/customer_accounts/roles/[id]/page.meta.js +16 -0
  105. package/dist/modules/customer_accounts/backend/customer_accounts/roles/[id]/page.meta.js.map +7 -0
  106. package/dist/modules/customer_accounts/backend/customer_accounts/roles/create/page.js +180 -0
  107. package/dist/modules/customer_accounts/backend/customer_accounts/roles/create/page.js.map +7 -0
  108. package/dist/modules/customer_accounts/backend/customer_accounts/roles/create/page.meta.js +16 -0
  109. package/dist/modules/customer_accounts/backend/customer_accounts/roles/create/page.meta.js.map +7 -0
  110. package/dist/modules/customer_accounts/backend/customer_accounts/roles/page.js +176 -0
  111. package/dist/modules/customer_accounts/backend/customer_accounts/roles/page.js.map +7 -0
  112. package/dist/modules/customer_accounts/backend/customer_accounts/roles/page.meta.js +33 -0
  113. package/dist/modules/customer_accounts/backend/customer_accounts/roles/page.meta.js.map +7 -0
  114. package/dist/modules/customer_accounts/backend/page.js +466 -0
  115. package/dist/modules/customer_accounts/backend/page.js.map +7 -0
  116. package/dist/modules/customer_accounts/backend/page.meta.js +35 -0
  117. package/dist/modules/customer_accounts/backend/page.meta.js.map +7 -0
  118. package/dist/modules/customer_accounts/ce.js +26 -0
  119. package/dist/modules/customer_accounts/ce.js.map +7 -0
  120. package/dist/modules/customer_accounts/data/enrichers.js +85 -0
  121. package/dist/modules/customer_accounts/data/enrichers.js.map +7 -0
  122. package/dist/modules/customer_accounts/data/entities.js +377 -0
  123. package/dist/modules/customer_accounts/data/entities.js.map +7 -0
  124. package/dist/modules/customer_accounts/data/extensions.js +8 -0
  125. package/dist/modules/customer_accounts/data/extensions.js.map +7 -0
  126. package/dist/modules/customer_accounts/data/validators.js +111 -0
  127. package/dist/modules/customer_accounts/data/validators.js.map +7 -0
  128. package/dist/modules/customer_accounts/di.js +17 -0
  129. package/dist/modules/customer_accounts/di.js.map +7 -0
  130. package/dist/modules/customer_accounts/events.js +28 -0
  131. package/dist/modules/customer_accounts/events.js.map +7 -0
  132. package/dist/modules/customer_accounts/index.js +15 -0
  133. package/dist/modules/customer_accounts/index.js.map +7 -0
  134. package/dist/modules/customer_accounts/lib/customerAuth.js +71 -0
  135. package/dist/modules/customer_accounts/lib/customerAuth.js.map +7 -0
  136. package/dist/modules/customer_accounts/lib/customerAuthServer.js +29 -0
  137. package/dist/modules/customer_accounts/lib/customerAuthServer.js.map +7 -0
  138. package/dist/modules/customer_accounts/lib/rateLimiter.js +63 -0
  139. package/dist/modules/customer_accounts/lib/rateLimiter.js.map +7 -0
  140. package/dist/modules/customer_accounts/lib/tokenGenerator.js +12 -0
  141. package/dist/modules/customer_accounts/lib/tokenGenerator.js.map +7 -0
  142. package/dist/modules/customer_accounts/migrations/Migration20260313222043.js +49 -0
  143. package/dist/modules/customer_accounts/migrations/Migration20260313222043.js.map +7 -0
  144. package/dist/modules/customer_accounts/notifications.client.js +47 -0
  145. package/dist/modules/customer_accounts/notifications.client.js.map +7 -0
  146. package/dist/modules/customer_accounts/notifications.js +46 -0
  147. package/dist/modules/customer_accounts/notifications.js.map +7 -0
  148. package/dist/modules/customer_accounts/search.js +120 -0
  149. package/dist/modules/customer_accounts/search.js.map +7 -0
  150. package/dist/modules/customer_accounts/services/customerInvitationService.js +87 -0
  151. package/dist/modules/customer_accounts/services/customerInvitationService.js.map +7 -0
  152. package/dist/modules/customer_accounts/services/customerRbacService.js +109 -0
  153. package/dist/modules/customer_accounts/services/customerRbacService.js.map +7 -0
  154. package/dist/modules/customer_accounts/services/customerSessionService.js +75 -0
  155. package/dist/modules/customer_accounts/services/customerSessionService.js.map +7 -0
  156. package/dist/modules/customer_accounts/services/customerTokenService.js +91 -0
  157. package/dist/modules/customer_accounts/services/customerTokenService.js.map +7 -0
  158. package/dist/modules/customer_accounts/services/customerUserService.js +92 -0
  159. package/dist/modules/customer_accounts/services/customerUserService.js.map +7 -0
  160. package/dist/modules/customer_accounts/setup.js +179 -0
  161. package/dist/modules/customer_accounts/setup.js.map +7 -0
  162. package/dist/modules/customer_accounts/subscribers/autoLinkCrm.js +54 -0
  163. package/dist/modules/customer_accounts/subscribers/autoLinkCrm.js.map +7 -0
  164. package/dist/modules/customer_accounts/subscribers/autoLinkCrmReverse.js +68 -0
  165. package/dist/modules/customer_accounts/subscribers/autoLinkCrmReverse.js.map +7 -0
  166. package/dist/modules/customer_accounts/subscribers/notifyStaffOnSignup.js +29 -0
  167. package/dist/modules/customer_accounts/subscribers/notifyStaffOnSignup.js.map +7 -0
  168. package/dist/modules/customer_accounts/translations.js +9 -0
  169. package/dist/modules/customer_accounts/translations.js.map +7 -0
  170. package/dist/modules/customer_accounts/widgets/injection/account-status/widget.client.js +63 -0
  171. package/dist/modules/customer_accounts/widgets/injection/account-status/widget.client.js.map +7 -0
  172. package/dist/modules/customer_accounts/widgets/injection/account-status/widget.js +17 -0
  173. package/dist/modules/customer_accounts/widgets/injection/account-status/widget.js.map +7 -0
  174. package/dist/modules/customer_accounts/widgets/injection/company-users/widget.client.js +55 -0
  175. package/dist/modules/customer_accounts/widgets/injection/company-users/widget.client.js.map +7 -0
  176. package/dist/modules/customer_accounts/widgets/injection/company-users/widget.js +17 -0
  177. package/dist/modules/customer_accounts/widgets/injection/company-users/widget.js.map +7 -0
  178. package/dist/modules/customer_accounts/widgets/injection-table.js +26 -0
  179. package/dist/modules/customer_accounts/widgets/injection-table.js.map +7 -0
  180. package/dist/modules/customer_accounts/workers/cleanupExpiredSessions.js +23 -0
  181. package/dist/modules/customer_accounts/workers/cleanupExpiredSessions.js.map +7 -0
  182. package/dist/modules/customer_accounts/workers/cleanupExpiredTokens.js +38 -0
  183. package/dist/modules/customer_accounts/workers/cleanupExpiredTokens.js.map +7 -0
  184. package/dist/modules/directory/api/get/organizations/lookup.js +83 -0
  185. package/dist/modules/directory/api/get/organizations/lookup.js.map +7 -0
  186. package/dist/modules/directory/commands/organizations.js +32 -1
  187. package/dist/modules/directory/commands/organizations.js.map +2 -2
  188. package/dist/modules/directory/data/entities.js +6 -2
  189. package/dist/modules/directory/data/entities.js.map +2 -2
  190. package/dist/modules/directory/data/validators.js +3 -0
  191. package/dist/modules/directory/data/validators.js.map +2 -2
  192. package/dist/modules/directory/migrations/Migration20260314143323.js +15 -0
  193. package/dist/modules/directory/migrations/Migration20260314143323.js.map +7 -0
  194. package/dist/modules/directory/setup.js +36 -0
  195. package/dist/modules/directory/setup.js.map +2 -2
  196. package/dist/modules/payment_gateways/migrations/Migration20260313222043.js +15 -0
  197. package/dist/modules/payment_gateways/migrations/Migration20260313222043.js.map +7 -0
  198. package/dist/modules/portal/frontend/[orgSlug]/portal/dashboard/page.js +131 -0
  199. package/dist/modules/portal/frontend/[orgSlug]/portal/dashboard/page.js.map +7 -0
  200. package/dist/modules/portal/frontend/[orgSlug]/portal/login/page.js +96 -0
  201. package/dist/modules/portal/frontend/[orgSlug]/portal/login/page.js.map +7 -0
  202. package/dist/modules/portal/frontend/[orgSlug]/portal/page.js +94 -0
  203. package/dist/modules/portal/frontend/[orgSlug]/portal/page.js.map +7 -0
  204. package/dist/modules/portal/frontend/[orgSlug]/portal/profile/page.js +89 -0
  205. package/dist/modules/portal/frontend/[orgSlug]/portal/profile/page.js.map +7 -0
  206. package/dist/modules/portal/frontend/[orgSlug]/portal/signup/page.js +104 -0
  207. package/dist/modules/portal/frontend/[orgSlug]/portal/signup/page.js.map +7 -0
  208. package/dist/modules/portal/index.js +11 -0
  209. package/dist/modules/portal/index.js.map +7 -0
  210. package/dist/modules/portal/setup.js +23 -0
  211. package/dist/modules/portal/setup.js.map +7 -0
  212. package/generated/entities/customer_role/index.ts +12 -0
  213. package/generated/entities/customer_role_acl/index.ts +8 -0
  214. package/generated/entities/customer_user/index.ts +17 -0
  215. package/generated/entities/customer_user_acl/index.ts +8 -0
  216. package/generated/entities/customer_user_email_verification/index.ts +7 -0
  217. package/generated/entities/customer_user_invitation/index.ts +15 -0
  218. package/generated/entities/customer_user_password_reset/index.ts +6 -0
  219. package/generated/entities/customer_user_role/index.ts +5 -0
  220. package/generated/entities/customer_user_session/index.ts +9 -0
  221. package/generated/entities/organization/index.ts +1 -0
  222. package/generated/entities.ids.generated.ts +14 -1
  223. package/generated/entity-fields-registry.ts +18 -0
  224. package/package.json +3 -3
  225. package/src/modules/auth/services/rbacService.ts +3 -9
  226. package/src/modules/customer_accounts/AGENTS.md +377 -0
  227. package/src/modules/customer_accounts/acl.ts +8 -0
  228. package/src/modules/customer_accounts/api/admin/roles/[id]/acl.ts +98 -0
  229. package/src/modules/customer_accounts/api/admin/roles/[id].ts +246 -0
  230. package/src/modules/customer_accounts/api/admin/roles.ts +212 -0
  231. package/src/modules/customer_accounts/api/admin/users/[id]/reset-password.ts +78 -0
  232. package/src/modules/customer_accounts/api/admin/users/[id]/verify-email.ts +72 -0
  233. package/src/modules/customer_accounts/api/admin/users/[id].ts +289 -0
  234. package/src/modules/customer_accounts/api/admin/users-invite.ts +86 -0
  235. package/src/modules/customer_accounts/api/admin/users.ts +280 -0
  236. package/src/modules/customer_accounts/api/email/verify.ts +66 -0
  237. package/src/modules/customer_accounts/api/interceptors.ts +3 -0
  238. package/src/modules/customer_accounts/api/invitations/accept.ts +128 -0
  239. package/src/modules/customer_accounts/api/login.ts +163 -0
  240. package/src/modules/customer_accounts/api/magic-link/request.ts +87 -0
  241. package/src/modules/customer_accounts/api/magic-link/verify.ts +132 -0
  242. package/src/modules/customer_accounts/api/password/reset-confirm.ts +69 -0
  243. package/src/modules/customer_accounts/api/password/reset-request.ts +87 -0
  244. package/src/modules/customer_accounts/api/portal/events/stream.ts +209 -0
  245. package/src/modules/customer_accounts/api/portal/feature-check.ts +60 -0
  246. package/src/modules/customer_accounts/api/portal/logout.ts +71 -0
  247. package/src/modules/customer_accounts/api/portal/notifications/[id]/dismiss.ts +54 -0
  248. package/src/modules/customer_accounts/api/portal/notifications/[id]/read.ts +54 -0
  249. package/src/modules/customer_accounts/api/portal/notifications/mark-all-read.ts +49 -0
  250. package/src/modules/customer_accounts/api/portal/notifications/unread-count.ts +45 -0
  251. package/src/modules/customer_accounts/api/portal/notifications.ts +115 -0
  252. package/src/modules/customer_accounts/api/portal/password-change.ts +65 -0
  253. package/src/modules/customer_accounts/api/portal/profile.ts +151 -0
  254. package/src/modules/customer_accounts/api/portal/sessions/[id].ts +70 -0
  255. package/src/modules/customer_accounts/api/portal/sessions-refresh.ts +87 -0
  256. package/src/modules/customer_accounts/api/portal/sessions.ts +84 -0
  257. package/src/modules/customer_accounts/api/portal/users/[id]/roles.ts +106 -0
  258. package/src/modules/customer_accounts/api/portal/users/[id].ts +81 -0
  259. package/src/modules/customer_accounts/api/portal/users-invite.ts +103 -0
  260. package/src/modules/customer_accounts/api/portal/users.ts +86 -0
  261. package/src/modules/customer_accounts/api/signup.ts +136 -0
  262. package/src/modules/customer_accounts/backend/customer_accounts/[id]/page.meta.ts +11 -0
  263. package/src/modules/customer_accounts/backend/customer_accounts/[id]/page.tsx +607 -0
  264. package/src/modules/customer_accounts/backend/customer_accounts/roles/[id]/page.meta.ts +12 -0
  265. package/src/modules/customer_accounts/backend/customer_accounts/roles/[id]/page.tsx +385 -0
  266. package/src/modules/customer_accounts/backend/customer_accounts/roles/create/page.meta.ts +12 -0
  267. package/src/modules/customer_accounts/backend/customer_accounts/roles/create/page.tsx +203 -0
  268. package/src/modules/customer_accounts/backend/customer_accounts/roles/page.meta.ts +31 -0
  269. package/src/modules/customer_accounts/backend/customer_accounts/roles/page.tsx +217 -0
  270. package/src/modules/customer_accounts/backend/page.meta.ts +33 -0
  271. package/src/modules/customer_accounts/backend/page.tsx +535 -0
  272. package/src/modules/customer_accounts/ce.ts +22 -0
  273. package/src/modules/customer_accounts/data/enrichers.ts +117 -0
  274. package/src/modules/customer_accounts/data/entities.ts +302 -0
  275. package/src/modules/customer_accounts/data/extensions.ts +4 -0
  276. package/src/modules/customer_accounts/data/validators.ts +128 -0
  277. package/src/modules/customer_accounts/di.ts +15 -0
  278. package/src/modules/customer_accounts/events.ts +28 -0
  279. package/src/modules/customer_accounts/i18n/de.json +176 -0
  280. package/src/modules/customer_accounts/i18n/en.json +176 -0
  281. package/src/modules/customer_accounts/i18n/es.json +176 -0
  282. package/src/modules/customer_accounts/i18n/pl.json +176 -0
  283. package/src/modules/customer_accounts/index.ts +13 -0
  284. package/src/modules/customer_accounts/lib/customerAuth.ts +85 -0
  285. package/src/modules/customer_accounts/lib/customerAuthServer.ts +54 -0
  286. package/src/modules/customer_accounts/lib/rateLimiter.ts +36 -0
  287. package/src/modules/customer_accounts/lib/tokenGenerator.ts +9 -0
  288. package/src/modules/customer_accounts/migrations/.snapshot-open-mercato.json +1255 -0
  289. package/src/modules/customer_accounts/migrations/Migration20260313222043.ts +62 -0
  290. package/src/modules/customer_accounts/notifications.client.ts +46 -0
  291. package/src/modules/customer_accounts/notifications.ts +44 -0
  292. package/src/modules/customer_accounts/search.ts +134 -0
  293. package/src/modules/customer_accounts/services/customerInvitationService.ts +109 -0
  294. package/src/modules/customer_accounts/services/customerRbacService.ts +144 -0
  295. package/src/modules/customer_accounts/services/customerSessionService.ts +90 -0
  296. package/src/modules/customer_accounts/services/customerTokenService.ts +98 -0
  297. package/src/modules/customer_accounts/services/customerUserService.ts +105 -0
  298. package/src/modules/customer_accounts/setup.ts +212 -0
  299. package/src/modules/customer_accounts/subscribers/autoLinkCrm.ts +65 -0
  300. package/src/modules/customer_accounts/subscribers/autoLinkCrmReverse.ts +78 -0
  301. package/src/modules/customer_accounts/subscribers/notifyStaffOnSignup.ts +32 -0
  302. package/src/modules/customer_accounts/translations.ts +5 -0
  303. package/src/modules/customer_accounts/widgets/injection/account-status/widget.client.tsx +89 -0
  304. package/src/modules/customer_accounts/widgets/injection/account-status/widget.ts +16 -0
  305. package/src/modules/customer_accounts/widgets/injection/company-users/widget.client.tsx +78 -0
  306. package/src/modules/customer_accounts/widgets/injection/company-users/widget.ts +16 -0
  307. package/src/modules/customer_accounts/widgets/injection-table.ts +24 -0
  308. package/src/modules/customer_accounts/workers/cleanupExpiredSessions.ts +33 -0
  309. package/src/modules/customer_accounts/workers/cleanupExpiredTokens.ts +51 -0
  310. package/src/modules/directory/api/get/organizations/lookup.ts +92 -0
  311. package/src/modules/directory/commands/organizations.ts +34 -1
  312. package/src/modules/directory/data/entities.ts +5 -1
  313. package/src/modules/directory/data/validators.ts +4 -0
  314. package/src/modules/directory/migrations/.snapshot-open-mercato.json +20 -1
  315. package/src/modules/directory/migrations/Migration20260314143323.ts +15 -0
  316. package/src/modules/directory/setup.ts +41 -0
  317. package/src/modules/payment_gateways/migrations/.snapshot-open-mercato.json +4 -1
  318. package/src/modules/payment_gateways/migrations/Migration20260313222043.ts +17 -0
  319. package/src/modules/portal/frontend/[orgSlug]/portal/dashboard/page.tsx +158 -0
  320. package/src/modules/portal/frontend/[orgSlug]/portal/login/page.tsx +120 -0
  321. package/src/modules/portal/frontend/[orgSlug]/portal/page.tsx +118 -0
  322. package/src/modules/portal/frontend/[orgSlug]/portal/profile/page.tsx +112 -0
  323. package/src/modules/portal/frontend/[orgSlug]/portal/signup/page.tsx +138 -0
  324. package/src/modules/portal/i18n/de.json +93 -0
  325. package/src/modules/portal/i18n/en.json +93 -0
  326. package/src/modules/portal/i18n/es.json +93 -0
  327. package/src/modules/portal/i18n/pl.json +93 -0
  328. package/src/modules/portal/index.ts +9 -0
  329. package/src/modules/portal/setup.ts +23 -0
  330. package/src/modules/shipping_carriers/migrations/.snapshot-open-mercato.json +226 -0
@@ -0,0 +1,1255 @@
1
+ {
2
+ "namespaces": [
3
+ "public"
4
+ ],
5
+ "name": "public",
6
+ "tables": [
7
+ {
8
+ "columns": {
9
+ "id": {
10
+ "name": "id",
11
+ "type": "uuid",
12
+ "unsigned": false,
13
+ "autoincrement": false,
14
+ "primary": false,
15
+ "nullable": false,
16
+ "default": "gen_random_uuid()",
17
+ "mappedType": "uuid"
18
+ },
19
+ "tenant_id": {
20
+ "name": "tenant_id",
21
+ "type": "uuid",
22
+ "unsigned": false,
23
+ "autoincrement": false,
24
+ "primary": false,
25
+ "nullable": false,
26
+ "mappedType": "uuid"
27
+ },
28
+ "organization_id": {
29
+ "name": "organization_id",
30
+ "type": "uuid",
31
+ "unsigned": false,
32
+ "autoincrement": false,
33
+ "primary": false,
34
+ "nullable": false,
35
+ "mappedType": "uuid"
36
+ },
37
+ "name": {
38
+ "name": "name",
39
+ "type": "text",
40
+ "unsigned": false,
41
+ "autoincrement": false,
42
+ "primary": false,
43
+ "nullable": false,
44
+ "mappedType": "text"
45
+ },
46
+ "slug": {
47
+ "name": "slug",
48
+ "type": "text",
49
+ "unsigned": false,
50
+ "autoincrement": false,
51
+ "primary": false,
52
+ "nullable": false,
53
+ "mappedType": "text"
54
+ },
55
+ "description": {
56
+ "name": "description",
57
+ "type": "text",
58
+ "unsigned": false,
59
+ "autoincrement": false,
60
+ "primary": false,
61
+ "nullable": true,
62
+ "mappedType": "text"
63
+ },
64
+ "is_default": {
65
+ "name": "is_default",
66
+ "type": "boolean",
67
+ "unsigned": false,
68
+ "autoincrement": false,
69
+ "primary": false,
70
+ "nullable": false,
71
+ "default": "false",
72
+ "mappedType": "boolean"
73
+ },
74
+ "is_system": {
75
+ "name": "is_system",
76
+ "type": "boolean",
77
+ "unsigned": false,
78
+ "autoincrement": false,
79
+ "primary": false,
80
+ "nullable": false,
81
+ "default": "false",
82
+ "mappedType": "boolean"
83
+ },
84
+ "customer_assignable": {
85
+ "name": "customer_assignable",
86
+ "type": "boolean",
87
+ "unsigned": false,
88
+ "autoincrement": false,
89
+ "primary": false,
90
+ "nullable": false,
91
+ "default": "false",
92
+ "mappedType": "boolean"
93
+ },
94
+ "created_at": {
95
+ "name": "created_at",
96
+ "type": "timestamptz",
97
+ "unsigned": false,
98
+ "autoincrement": false,
99
+ "primary": false,
100
+ "nullable": false,
101
+ "length": 6,
102
+ "mappedType": "datetime"
103
+ },
104
+ "updated_at": {
105
+ "name": "updated_at",
106
+ "type": "timestamptz",
107
+ "unsigned": false,
108
+ "autoincrement": false,
109
+ "primary": false,
110
+ "nullable": true,
111
+ "length": 6,
112
+ "mappedType": "datetime"
113
+ },
114
+ "deleted_at": {
115
+ "name": "deleted_at",
116
+ "type": "timestamptz",
117
+ "unsigned": false,
118
+ "autoincrement": false,
119
+ "primary": false,
120
+ "nullable": true,
121
+ "length": 6,
122
+ "mappedType": "datetime"
123
+ }
124
+ },
125
+ "name": "customer_roles",
126
+ "schema": "public",
127
+ "indexes": [
128
+ {
129
+ "keyName": "customer_roles_tenant_slug_uniq",
130
+ "columnNames": [
131
+ "tenant_id",
132
+ "slug"
133
+ ],
134
+ "composite": true,
135
+ "constraint": true,
136
+ "primary": false,
137
+ "unique": true
138
+ },
139
+ {
140
+ "keyName": "customer_roles_pkey",
141
+ "columnNames": [
142
+ "id"
143
+ ],
144
+ "composite": false,
145
+ "constraint": true,
146
+ "primary": true,
147
+ "unique": true
148
+ }
149
+ ],
150
+ "checks": [],
151
+ "foreignKeys": {},
152
+ "nativeEnums": {}
153
+ },
154
+ {
155
+ "columns": {
156
+ "id": {
157
+ "name": "id",
158
+ "type": "uuid",
159
+ "unsigned": false,
160
+ "autoincrement": false,
161
+ "primary": false,
162
+ "nullable": false,
163
+ "default": "gen_random_uuid()",
164
+ "mappedType": "uuid"
165
+ },
166
+ "role_id": {
167
+ "name": "role_id",
168
+ "type": "uuid",
169
+ "unsigned": false,
170
+ "autoincrement": false,
171
+ "primary": false,
172
+ "nullable": false,
173
+ "mappedType": "uuid"
174
+ },
175
+ "tenant_id": {
176
+ "name": "tenant_id",
177
+ "type": "uuid",
178
+ "unsigned": false,
179
+ "autoincrement": false,
180
+ "primary": false,
181
+ "nullable": false,
182
+ "mappedType": "uuid"
183
+ },
184
+ "features_json": {
185
+ "name": "features_json",
186
+ "type": "jsonb",
187
+ "unsigned": false,
188
+ "autoincrement": false,
189
+ "primary": false,
190
+ "nullable": true,
191
+ "mappedType": "json"
192
+ },
193
+ "is_portal_admin": {
194
+ "name": "is_portal_admin",
195
+ "type": "boolean",
196
+ "unsigned": false,
197
+ "autoincrement": false,
198
+ "primary": false,
199
+ "nullable": false,
200
+ "default": "false",
201
+ "mappedType": "boolean"
202
+ },
203
+ "created_at": {
204
+ "name": "created_at",
205
+ "type": "timestamptz",
206
+ "unsigned": false,
207
+ "autoincrement": false,
208
+ "primary": false,
209
+ "nullable": false,
210
+ "length": 6,
211
+ "mappedType": "datetime"
212
+ },
213
+ "updated_at": {
214
+ "name": "updated_at",
215
+ "type": "timestamptz",
216
+ "unsigned": false,
217
+ "autoincrement": false,
218
+ "primary": false,
219
+ "nullable": true,
220
+ "length": 6,
221
+ "mappedType": "datetime"
222
+ },
223
+ "deleted_at": {
224
+ "name": "deleted_at",
225
+ "type": "timestamptz",
226
+ "unsigned": false,
227
+ "autoincrement": false,
228
+ "primary": false,
229
+ "nullable": true,
230
+ "length": 6,
231
+ "mappedType": "datetime"
232
+ }
233
+ },
234
+ "name": "customer_role_acls",
235
+ "schema": "public",
236
+ "indexes": [
237
+ {
238
+ "keyName": "customer_role_acls_role_tenant_uniq",
239
+ "columnNames": [
240
+ "role_id",
241
+ "tenant_id"
242
+ ],
243
+ "composite": true,
244
+ "constraint": true,
245
+ "primary": false,
246
+ "unique": true
247
+ },
248
+ {
249
+ "keyName": "customer_role_acls_pkey",
250
+ "columnNames": [
251
+ "id"
252
+ ],
253
+ "composite": false,
254
+ "constraint": true,
255
+ "primary": true,
256
+ "unique": true
257
+ }
258
+ ],
259
+ "checks": [],
260
+ "foreignKeys": {
261
+ "customer_role_acls_role_id_foreign": {
262
+ "constraintName": "customer_role_acls_role_id_foreign",
263
+ "columnNames": [
264
+ "role_id"
265
+ ],
266
+ "localTableName": "public.customer_role_acls",
267
+ "referencedColumnNames": [
268
+ "id"
269
+ ],
270
+ "referencedTableName": "public.customer_roles",
271
+ "updateRule": "cascade"
272
+ }
273
+ },
274
+ "nativeEnums": {}
275
+ },
276
+ {
277
+ "columns": {
278
+ "id": {
279
+ "name": "id",
280
+ "type": "uuid",
281
+ "unsigned": false,
282
+ "autoincrement": false,
283
+ "primary": false,
284
+ "nullable": false,
285
+ "default": "gen_random_uuid()",
286
+ "mappedType": "uuid"
287
+ },
288
+ "tenant_id": {
289
+ "name": "tenant_id",
290
+ "type": "uuid",
291
+ "unsigned": false,
292
+ "autoincrement": false,
293
+ "primary": false,
294
+ "nullable": false,
295
+ "mappedType": "uuid"
296
+ },
297
+ "organization_id": {
298
+ "name": "organization_id",
299
+ "type": "uuid",
300
+ "unsigned": false,
301
+ "autoincrement": false,
302
+ "primary": false,
303
+ "nullable": false,
304
+ "mappedType": "uuid"
305
+ },
306
+ "email": {
307
+ "name": "email",
308
+ "type": "text",
309
+ "unsigned": false,
310
+ "autoincrement": false,
311
+ "primary": false,
312
+ "nullable": false,
313
+ "mappedType": "text"
314
+ },
315
+ "email_hash": {
316
+ "name": "email_hash",
317
+ "type": "text",
318
+ "unsigned": false,
319
+ "autoincrement": false,
320
+ "primary": false,
321
+ "nullable": false,
322
+ "mappedType": "text"
323
+ },
324
+ "password_hash": {
325
+ "name": "password_hash",
326
+ "type": "text",
327
+ "unsigned": false,
328
+ "autoincrement": false,
329
+ "primary": false,
330
+ "nullable": true,
331
+ "mappedType": "text"
332
+ },
333
+ "display_name": {
334
+ "name": "display_name",
335
+ "type": "text",
336
+ "unsigned": false,
337
+ "autoincrement": false,
338
+ "primary": false,
339
+ "nullable": false,
340
+ "mappedType": "text"
341
+ },
342
+ "email_verified_at": {
343
+ "name": "email_verified_at",
344
+ "type": "timestamptz",
345
+ "unsigned": false,
346
+ "autoincrement": false,
347
+ "primary": false,
348
+ "nullable": true,
349
+ "length": 6,
350
+ "mappedType": "datetime"
351
+ },
352
+ "failed_login_attempts": {
353
+ "name": "failed_login_attempts",
354
+ "type": "int",
355
+ "unsigned": false,
356
+ "autoincrement": false,
357
+ "primary": false,
358
+ "nullable": false,
359
+ "default": "0",
360
+ "mappedType": "integer"
361
+ },
362
+ "locked_until": {
363
+ "name": "locked_until",
364
+ "type": "timestamptz",
365
+ "unsigned": false,
366
+ "autoincrement": false,
367
+ "primary": false,
368
+ "nullable": true,
369
+ "length": 6,
370
+ "mappedType": "datetime"
371
+ },
372
+ "last_login_at": {
373
+ "name": "last_login_at",
374
+ "type": "timestamptz",
375
+ "unsigned": false,
376
+ "autoincrement": false,
377
+ "primary": false,
378
+ "nullable": true,
379
+ "length": 6,
380
+ "mappedType": "datetime"
381
+ },
382
+ "person_entity_id": {
383
+ "name": "person_entity_id",
384
+ "type": "uuid",
385
+ "unsigned": false,
386
+ "autoincrement": false,
387
+ "primary": false,
388
+ "nullable": true,
389
+ "mappedType": "uuid"
390
+ },
391
+ "customer_entity_id": {
392
+ "name": "customer_entity_id",
393
+ "type": "uuid",
394
+ "unsigned": false,
395
+ "autoincrement": false,
396
+ "primary": false,
397
+ "nullable": true,
398
+ "mappedType": "uuid"
399
+ },
400
+ "is_active": {
401
+ "name": "is_active",
402
+ "type": "boolean",
403
+ "unsigned": false,
404
+ "autoincrement": false,
405
+ "primary": false,
406
+ "nullable": false,
407
+ "default": "true",
408
+ "mappedType": "boolean"
409
+ },
410
+ "created_at": {
411
+ "name": "created_at",
412
+ "type": "timestamptz",
413
+ "unsigned": false,
414
+ "autoincrement": false,
415
+ "primary": false,
416
+ "nullable": false,
417
+ "length": 6,
418
+ "mappedType": "datetime"
419
+ },
420
+ "updated_at": {
421
+ "name": "updated_at",
422
+ "type": "timestamptz",
423
+ "unsigned": false,
424
+ "autoincrement": false,
425
+ "primary": false,
426
+ "nullable": true,
427
+ "length": 6,
428
+ "mappedType": "datetime"
429
+ },
430
+ "deleted_at": {
431
+ "name": "deleted_at",
432
+ "type": "timestamptz",
433
+ "unsigned": false,
434
+ "autoincrement": false,
435
+ "primary": false,
436
+ "nullable": true,
437
+ "length": 6,
438
+ "mappedType": "datetime"
439
+ }
440
+ },
441
+ "name": "customer_users",
442
+ "schema": "public",
443
+ "indexes": [
444
+ {
445
+ "columnNames": [
446
+ "email_hash"
447
+ ],
448
+ "composite": false,
449
+ "keyName": "customer_users_email_hash_idx",
450
+ "constraint": false,
451
+ "primary": false,
452
+ "unique": false
453
+ },
454
+ {
455
+ "columnNames": [
456
+ "person_entity_id"
457
+ ],
458
+ "composite": false,
459
+ "keyName": "customer_users_person_entity_idx",
460
+ "constraint": false,
461
+ "primary": false,
462
+ "unique": false
463
+ },
464
+ {
465
+ "columnNames": [
466
+ "customer_entity_id"
467
+ ],
468
+ "composite": false,
469
+ "keyName": "customer_users_customer_entity_idx",
470
+ "constraint": false,
471
+ "primary": false,
472
+ "unique": false
473
+ },
474
+ {
475
+ "keyName": "customer_users_tenant_email_hash_uniq",
476
+ "columnNames": [
477
+ "tenant_id",
478
+ "email_hash"
479
+ ],
480
+ "composite": true,
481
+ "constraint": true,
482
+ "primary": false,
483
+ "unique": true
484
+ },
485
+ {
486
+ "keyName": "customer_users_pkey",
487
+ "columnNames": [
488
+ "id"
489
+ ],
490
+ "composite": false,
491
+ "constraint": true,
492
+ "primary": true,
493
+ "unique": true
494
+ }
495
+ ],
496
+ "checks": [],
497
+ "foreignKeys": {},
498
+ "nativeEnums": {}
499
+ },
500
+ {
501
+ "columns": {
502
+ "id": {
503
+ "name": "id",
504
+ "type": "uuid",
505
+ "unsigned": false,
506
+ "autoincrement": false,
507
+ "primary": false,
508
+ "nullable": false,
509
+ "default": "gen_random_uuid()",
510
+ "mappedType": "uuid"
511
+ },
512
+ "user_id": {
513
+ "name": "user_id",
514
+ "type": "uuid",
515
+ "unsigned": false,
516
+ "autoincrement": false,
517
+ "primary": false,
518
+ "nullable": false,
519
+ "mappedType": "uuid"
520
+ },
521
+ "tenant_id": {
522
+ "name": "tenant_id",
523
+ "type": "uuid",
524
+ "unsigned": false,
525
+ "autoincrement": false,
526
+ "primary": false,
527
+ "nullable": false,
528
+ "mappedType": "uuid"
529
+ },
530
+ "features_json": {
531
+ "name": "features_json",
532
+ "type": "jsonb",
533
+ "unsigned": false,
534
+ "autoincrement": false,
535
+ "primary": false,
536
+ "nullable": true,
537
+ "mappedType": "json"
538
+ },
539
+ "is_portal_admin": {
540
+ "name": "is_portal_admin",
541
+ "type": "boolean",
542
+ "unsigned": false,
543
+ "autoincrement": false,
544
+ "primary": false,
545
+ "nullable": false,
546
+ "default": "false",
547
+ "mappedType": "boolean"
548
+ },
549
+ "created_at": {
550
+ "name": "created_at",
551
+ "type": "timestamptz",
552
+ "unsigned": false,
553
+ "autoincrement": false,
554
+ "primary": false,
555
+ "nullable": false,
556
+ "length": 6,
557
+ "mappedType": "datetime"
558
+ },
559
+ "updated_at": {
560
+ "name": "updated_at",
561
+ "type": "timestamptz",
562
+ "unsigned": false,
563
+ "autoincrement": false,
564
+ "primary": false,
565
+ "nullable": true,
566
+ "length": 6,
567
+ "mappedType": "datetime"
568
+ },
569
+ "deleted_at": {
570
+ "name": "deleted_at",
571
+ "type": "timestamptz",
572
+ "unsigned": false,
573
+ "autoincrement": false,
574
+ "primary": false,
575
+ "nullable": true,
576
+ "length": 6,
577
+ "mappedType": "datetime"
578
+ }
579
+ },
580
+ "name": "customer_user_acls",
581
+ "schema": "public",
582
+ "indexes": [
583
+ {
584
+ "keyName": "customer_user_acls_user_tenant_uniq",
585
+ "columnNames": [
586
+ "user_id",
587
+ "tenant_id"
588
+ ],
589
+ "composite": true,
590
+ "constraint": true,
591
+ "primary": false,
592
+ "unique": true
593
+ },
594
+ {
595
+ "keyName": "customer_user_acls_pkey",
596
+ "columnNames": [
597
+ "id"
598
+ ],
599
+ "composite": false,
600
+ "constraint": true,
601
+ "primary": true,
602
+ "unique": true
603
+ }
604
+ ],
605
+ "checks": [],
606
+ "foreignKeys": {
607
+ "customer_user_acls_user_id_foreign": {
608
+ "constraintName": "customer_user_acls_user_id_foreign",
609
+ "columnNames": [
610
+ "user_id"
611
+ ],
612
+ "localTableName": "public.customer_user_acls",
613
+ "referencedColumnNames": [
614
+ "id"
615
+ ],
616
+ "referencedTableName": "public.customer_users",
617
+ "updateRule": "cascade"
618
+ }
619
+ },
620
+ "nativeEnums": {}
621
+ },
622
+ {
623
+ "columns": {
624
+ "id": {
625
+ "name": "id",
626
+ "type": "uuid",
627
+ "unsigned": false,
628
+ "autoincrement": false,
629
+ "primary": false,
630
+ "nullable": false,
631
+ "default": "gen_random_uuid()",
632
+ "mappedType": "uuid"
633
+ },
634
+ "user_id": {
635
+ "name": "user_id",
636
+ "type": "uuid",
637
+ "unsigned": false,
638
+ "autoincrement": false,
639
+ "primary": false,
640
+ "nullable": false,
641
+ "mappedType": "uuid"
642
+ },
643
+ "token": {
644
+ "name": "token",
645
+ "type": "text",
646
+ "unsigned": false,
647
+ "autoincrement": false,
648
+ "primary": false,
649
+ "nullable": false,
650
+ "mappedType": "text"
651
+ },
652
+ "purpose": {
653
+ "name": "purpose",
654
+ "type": "text",
655
+ "unsigned": false,
656
+ "autoincrement": false,
657
+ "primary": false,
658
+ "nullable": false,
659
+ "default": "'email_verification'",
660
+ "mappedType": "text"
661
+ },
662
+ "expires_at": {
663
+ "name": "expires_at",
664
+ "type": "timestamptz",
665
+ "unsigned": false,
666
+ "autoincrement": false,
667
+ "primary": false,
668
+ "nullable": false,
669
+ "length": 6,
670
+ "mappedType": "datetime"
671
+ },
672
+ "used_at": {
673
+ "name": "used_at",
674
+ "type": "timestamptz",
675
+ "unsigned": false,
676
+ "autoincrement": false,
677
+ "primary": false,
678
+ "nullable": true,
679
+ "length": 6,
680
+ "mappedType": "datetime"
681
+ },
682
+ "created_at": {
683
+ "name": "created_at",
684
+ "type": "timestamptz",
685
+ "unsigned": false,
686
+ "autoincrement": false,
687
+ "primary": false,
688
+ "nullable": false,
689
+ "length": 6,
690
+ "mappedType": "datetime"
691
+ }
692
+ },
693
+ "name": "customer_user_email_verifications",
694
+ "schema": "public",
695
+ "indexes": [
696
+ {
697
+ "keyName": "customer_user_email_verifications_token_idx",
698
+ "columnNames": [
699
+ "token"
700
+ ],
701
+ "composite": false,
702
+ "constraint": false,
703
+ "primary": false,
704
+ "unique": false
705
+ },
706
+ {
707
+ "keyName": "customer_user_email_verifications_pkey",
708
+ "columnNames": [
709
+ "id"
710
+ ],
711
+ "composite": false,
712
+ "constraint": true,
713
+ "primary": true,
714
+ "unique": true
715
+ }
716
+ ],
717
+ "checks": [],
718
+ "foreignKeys": {
719
+ "customer_user_email_verifications_user_id_foreign": {
720
+ "constraintName": "customer_user_email_verifications_user_id_foreign",
721
+ "columnNames": [
722
+ "user_id"
723
+ ],
724
+ "localTableName": "public.customer_user_email_verifications",
725
+ "referencedColumnNames": [
726
+ "id"
727
+ ],
728
+ "referencedTableName": "public.customer_users",
729
+ "updateRule": "cascade"
730
+ }
731
+ },
732
+ "nativeEnums": {}
733
+ },
734
+ {
735
+ "columns": {
736
+ "id": {
737
+ "name": "id",
738
+ "type": "uuid",
739
+ "unsigned": false,
740
+ "autoincrement": false,
741
+ "primary": false,
742
+ "nullable": false,
743
+ "default": "gen_random_uuid()",
744
+ "mappedType": "uuid"
745
+ },
746
+ "tenant_id": {
747
+ "name": "tenant_id",
748
+ "type": "uuid",
749
+ "unsigned": false,
750
+ "autoincrement": false,
751
+ "primary": false,
752
+ "nullable": false,
753
+ "mappedType": "uuid"
754
+ },
755
+ "organization_id": {
756
+ "name": "organization_id",
757
+ "type": "uuid",
758
+ "unsigned": false,
759
+ "autoincrement": false,
760
+ "primary": false,
761
+ "nullable": false,
762
+ "mappedType": "uuid"
763
+ },
764
+ "email": {
765
+ "name": "email",
766
+ "type": "text",
767
+ "unsigned": false,
768
+ "autoincrement": false,
769
+ "primary": false,
770
+ "nullable": false,
771
+ "mappedType": "text"
772
+ },
773
+ "email_hash": {
774
+ "name": "email_hash",
775
+ "type": "text",
776
+ "unsigned": false,
777
+ "autoincrement": false,
778
+ "primary": false,
779
+ "nullable": false,
780
+ "mappedType": "text"
781
+ },
782
+ "token": {
783
+ "name": "token",
784
+ "type": "text",
785
+ "unsigned": false,
786
+ "autoincrement": false,
787
+ "primary": false,
788
+ "nullable": false,
789
+ "mappedType": "text"
790
+ },
791
+ "customer_entity_id": {
792
+ "name": "customer_entity_id",
793
+ "type": "uuid",
794
+ "unsigned": false,
795
+ "autoincrement": false,
796
+ "primary": false,
797
+ "nullable": true,
798
+ "mappedType": "uuid"
799
+ },
800
+ "role_ids_json": {
801
+ "name": "role_ids_json",
802
+ "type": "jsonb",
803
+ "unsigned": false,
804
+ "autoincrement": false,
805
+ "primary": false,
806
+ "nullable": true,
807
+ "mappedType": "json"
808
+ },
809
+ "invited_by_user_id": {
810
+ "name": "invited_by_user_id",
811
+ "type": "uuid",
812
+ "unsigned": false,
813
+ "autoincrement": false,
814
+ "primary": false,
815
+ "nullable": true,
816
+ "mappedType": "uuid"
817
+ },
818
+ "invited_by_customer_user_id": {
819
+ "name": "invited_by_customer_user_id",
820
+ "type": "uuid",
821
+ "unsigned": false,
822
+ "autoincrement": false,
823
+ "primary": false,
824
+ "nullable": true,
825
+ "mappedType": "uuid"
826
+ },
827
+ "display_name": {
828
+ "name": "display_name",
829
+ "type": "text",
830
+ "unsigned": false,
831
+ "autoincrement": false,
832
+ "primary": false,
833
+ "nullable": true,
834
+ "mappedType": "text"
835
+ },
836
+ "expires_at": {
837
+ "name": "expires_at",
838
+ "type": "timestamptz",
839
+ "unsigned": false,
840
+ "autoincrement": false,
841
+ "primary": false,
842
+ "nullable": false,
843
+ "length": 6,
844
+ "mappedType": "datetime"
845
+ },
846
+ "accepted_at": {
847
+ "name": "accepted_at",
848
+ "type": "timestamptz",
849
+ "unsigned": false,
850
+ "autoincrement": false,
851
+ "primary": false,
852
+ "nullable": true,
853
+ "length": 6,
854
+ "mappedType": "datetime"
855
+ },
856
+ "cancelled_at": {
857
+ "name": "cancelled_at",
858
+ "type": "timestamptz",
859
+ "unsigned": false,
860
+ "autoincrement": false,
861
+ "primary": false,
862
+ "nullable": true,
863
+ "length": 6,
864
+ "mappedType": "datetime"
865
+ },
866
+ "created_at": {
867
+ "name": "created_at",
868
+ "type": "timestamptz",
869
+ "unsigned": false,
870
+ "autoincrement": false,
871
+ "primary": false,
872
+ "nullable": false,
873
+ "length": 6,
874
+ "mappedType": "datetime"
875
+ }
876
+ },
877
+ "name": "customer_user_invitations",
878
+ "schema": "public",
879
+ "indexes": [
880
+ {
881
+ "keyName": "customer_user_invitations_tenant_email_hash_idx",
882
+ "columnNames": [
883
+ "tenant_id",
884
+ "email_hash"
885
+ ],
886
+ "composite": true,
887
+ "constraint": false,
888
+ "primary": false,
889
+ "unique": false
890
+ },
891
+ {
892
+ "keyName": "customer_user_invitations_token_idx",
893
+ "columnNames": [
894
+ "token"
895
+ ],
896
+ "composite": false,
897
+ "constraint": false,
898
+ "primary": false,
899
+ "unique": false
900
+ },
901
+ {
902
+ "keyName": "customer_user_invitations_pkey",
903
+ "columnNames": [
904
+ "id"
905
+ ],
906
+ "composite": false,
907
+ "constraint": true,
908
+ "primary": true,
909
+ "unique": true
910
+ }
911
+ ],
912
+ "checks": [],
913
+ "foreignKeys": {},
914
+ "nativeEnums": {}
915
+ },
916
+ {
917
+ "columns": {
918
+ "id": {
919
+ "name": "id",
920
+ "type": "uuid",
921
+ "unsigned": false,
922
+ "autoincrement": false,
923
+ "primary": false,
924
+ "nullable": false,
925
+ "default": "gen_random_uuid()",
926
+ "mappedType": "uuid"
927
+ },
928
+ "user_id": {
929
+ "name": "user_id",
930
+ "type": "uuid",
931
+ "unsigned": false,
932
+ "autoincrement": false,
933
+ "primary": false,
934
+ "nullable": false,
935
+ "mappedType": "uuid"
936
+ },
937
+ "token": {
938
+ "name": "token",
939
+ "type": "text",
940
+ "unsigned": false,
941
+ "autoincrement": false,
942
+ "primary": false,
943
+ "nullable": false,
944
+ "mappedType": "text"
945
+ },
946
+ "expires_at": {
947
+ "name": "expires_at",
948
+ "type": "timestamptz",
949
+ "unsigned": false,
950
+ "autoincrement": false,
951
+ "primary": false,
952
+ "nullable": false,
953
+ "length": 6,
954
+ "mappedType": "datetime"
955
+ },
956
+ "used_at": {
957
+ "name": "used_at",
958
+ "type": "timestamptz",
959
+ "unsigned": false,
960
+ "autoincrement": false,
961
+ "primary": false,
962
+ "nullable": true,
963
+ "length": 6,
964
+ "mappedType": "datetime"
965
+ },
966
+ "created_at": {
967
+ "name": "created_at",
968
+ "type": "timestamptz",
969
+ "unsigned": false,
970
+ "autoincrement": false,
971
+ "primary": false,
972
+ "nullable": false,
973
+ "length": 6,
974
+ "mappedType": "datetime"
975
+ }
976
+ },
977
+ "name": "customer_user_password_resets",
978
+ "schema": "public",
979
+ "indexes": [
980
+ {
981
+ "keyName": "customer_user_password_resets_token_idx",
982
+ "columnNames": [
983
+ "token"
984
+ ],
985
+ "composite": false,
986
+ "constraint": false,
987
+ "primary": false,
988
+ "unique": false
989
+ },
990
+ {
991
+ "keyName": "customer_user_password_resets_pkey",
992
+ "columnNames": [
993
+ "id"
994
+ ],
995
+ "composite": false,
996
+ "constraint": true,
997
+ "primary": true,
998
+ "unique": true
999
+ }
1000
+ ],
1001
+ "checks": [],
1002
+ "foreignKeys": {
1003
+ "customer_user_password_resets_user_id_foreign": {
1004
+ "constraintName": "customer_user_password_resets_user_id_foreign",
1005
+ "columnNames": [
1006
+ "user_id"
1007
+ ],
1008
+ "localTableName": "public.customer_user_password_resets",
1009
+ "referencedColumnNames": [
1010
+ "id"
1011
+ ],
1012
+ "referencedTableName": "public.customer_users",
1013
+ "updateRule": "cascade"
1014
+ }
1015
+ },
1016
+ "nativeEnums": {}
1017
+ },
1018
+ {
1019
+ "columns": {
1020
+ "id": {
1021
+ "name": "id",
1022
+ "type": "uuid",
1023
+ "unsigned": false,
1024
+ "autoincrement": false,
1025
+ "primary": false,
1026
+ "nullable": false,
1027
+ "default": "gen_random_uuid()",
1028
+ "mappedType": "uuid"
1029
+ },
1030
+ "user_id": {
1031
+ "name": "user_id",
1032
+ "type": "uuid",
1033
+ "unsigned": false,
1034
+ "autoincrement": false,
1035
+ "primary": false,
1036
+ "nullable": false,
1037
+ "mappedType": "uuid"
1038
+ },
1039
+ "role_id": {
1040
+ "name": "role_id",
1041
+ "type": "uuid",
1042
+ "unsigned": false,
1043
+ "autoincrement": false,
1044
+ "primary": false,
1045
+ "nullable": false,
1046
+ "mappedType": "uuid"
1047
+ },
1048
+ "created_at": {
1049
+ "name": "created_at",
1050
+ "type": "timestamptz",
1051
+ "unsigned": false,
1052
+ "autoincrement": false,
1053
+ "primary": false,
1054
+ "nullable": false,
1055
+ "length": 6,
1056
+ "mappedType": "datetime"
1057
+ },
1058
+ "deleted_at": {
1059
+ "name": "deleted_at",
1060
+ "type": "timestamptz",
1061
+ "unsigned": false,
1062
+ "autoincrement": false,
1063
+ "primary": false,
1064
+ "nullable": true,
1065
+ "length": 6,
1066
+ "mappedType": "datetime"
1067
+ }
1068
+ },
1069
+ "name": "customer_user_roles",
1070
+ "schema": "public",
1071
+ "indexes": [
1072
+ {
1073
+ "keyName": "customer_user_roles_user_role_uniq",
1074
+ "columnNames": [
1075
+ "user_id",
1076
+ "role_id"
1077
+ ],
1078
+ "composite": true,
1079
+ "constraint": true,
1080
+ "primary": false,
1081
+ "unique": true
1082
+ },
1083
+ {
1084
+ "keyName": "customer_user_roles_pkey",
1085
+ "columnNames": [
1086
+ "id"
1087
+ ],
1088
+ "composite": false,
1089
+ "constraint": true,
1090
+ "primary": true,
1091
+ "unique": true
1092
+ }
1093
+ ],
1094
+ "checks": [],
1095
+ "foreignKeys": {
1096
+ "customer_user_roles_user_id_foreign": {
1097
+ "constraintName": "customer_user_roles_user_id_foreign",
1098
+ "columnNames": [
1099
+ "user_id"
1100
+ ],
1101
+ "localTableName": "public.customer_user_roles",
1102
+ "referencedColumnNames": [
1103
+ "id"
1104
+ ],
1105
+ "referencedTableName": "public.customer_users",
1106
+ "updateRule": "cascade"
1107
+ },
1108
+ "customer_user_roles_role_id_foreign": {
1109
+ "constraintName": "customer_user_roles_role_id_foreign",
1110
+ "columnNames": [
1111
+ "role_id"
1112
+ ],
1113
+ "localTableName": "public.customer_user_roles",
1114
+ "referencedColumnNames": [
1115
+ "id"
1116
+ ],
1117
+ "referencedTableName": "public.customer_roles",
1118
+ "updateRule": "cascade"
1119
+ }
1120
+ },
1121
+ "nativeEnums": {}
1122
+ },
1123
+ {
1124
+ "columns": {
1125
+ "id": {
1126
+ "name": "id",
1127
+ "type": "uuid",
1128
+ "unsigned": false,
1129
+ "autoincrement": false,
1130
+ "primary": false,
1131
+ "nullable": false,
1132
+ "default": "gen_random_uuid()",
1133
+ "mappedType": "uuid"
1134
+ },
1135
+ "user_id": {
1136
+ "name": "user_id",
1137
+ "type": "uuid",
1138
+ "unsigned": false,
1139
+ "autoincrement": false,
1140
+ "primary": false,
1141
+ "nullable": false,
1142
+ "mappedType": "uuid"
1143
+ },
1144
+ "token_hash": {
1145
+ "name": "token_hash",
1146
+ "type": "text",
1147
+ "unsigned": false,
1148
+ "autoincrement": false,
1149
+ "primary": false,
1150
+ "nullable": false,
1151
+ "mappedType": "text"
1152
+ },
1153
+ "ip_address": {
1154
+ "name": "ip_address",
1155
+ "type": "text",
1156
+ "unsigned": false,
1157
+ "autoincrement": false,
1158
+ "primary": false,
1159
+ "nullable": true,
1160
+ "mappedType": "text"
1161
+ },
1162
+ "user_agent": {
1163
+ "name": "user_agent",
1164
+ "type": "text",
1165
+ "unsigned": false,
1166
+ "autoincrement": false,
1167
+ "primary": false,
1168
+ "nullable": true,
1169
+ "mappedType": "text"
1170
+ },
1171
+ "expires_at": {
1172
+ "name": "expires_at",
1173
+ "type": "timestamptz",
1174
+ "unsigned": false,
1175
+ "autoincrement": false,
1176
+ "primary": false,
1177
+ "nullable": false,
1178
+ "length": 6,
1179
+ "mappedType": "datetime"
1180
+ },
1181
+ "last_used_at": {
1182
+ "name": "last_used_at",
1183
+ "type": "timestamptz",
1184
+ "unsigned": false,
1185
+ "autoincrement": false,
1186
+ "primary": false,
1187
+ "nullable": true,
1188
+ "length": 6,
1189
+ "mappedType": "datetime"
1190
+ },
1191
+ "created_at": {
1192
+ "name": "created_at",
1193
+ "type": "timestamptz",
1194
+ "unsigned": false,
1195
+ "autoincrement": false,
1196
+ "primary": false,
1197
+ "nullable": false,
1198
+ "length": 6,
1199
+ "mappedType": "datetime"
1200
+ },
1201
+ "deleted_at": {
1202
+ "name": "deleted_at",
1203
+ "type": "timestamptz",
1204
+ "unsigned": false,
1205
+ "autoincrement": false,
1206
+ "primary": false,
1207
+ "nullable": true,
1208
+ "length": 6,
1209
+ "mappedType": "datetime"
1210
+ }
1211
+ },
1212
+ "name": "customer_user_sessions",
1213
+ "schema": "public",
1214
+ "indexes": [
1215
+ {
1216
+ "keyName": "customer_user_sessions_token_hash_idx",
1217
+ "columnNames": [
1218
+ "token_hash"
1219
+ ],
1220
+ "composite": false,
1221
+ "constraint": false,
1222
+ "primary": false,
1223
+ "unique": false
1224
+ },
1225
+ {
1226
+ "keyName": "customer_user_sessions_pkey",
1227
+ "columnNames": [
1228
+ "id"
1229
+ ],
1230
+ "composite": false,
1231
+ "constraint": true,
1232
+ "primary": true,
1233
+ "unique": true
1234
+ }
1235
+ ],
1236
+ "checks": [],
1237
+ "foreignKeys": {
1238
+ "customer_user_sessions_user_id_foreign": {
1239
+ "constraintName": "customer_user_sessions_user_id_foreign",
1240
+ "columnNames": [
1241
+ "user_id"
1242
+ ],
1243
+ "localTableName": "public.customer_user_sessions",
1244
+ "referencedColumnNames": [
1245
+ "id"
1246
+ ],
1247
+ "referencedTableName": "public.customer_users",
1248
+ "updateRule": "cascade"
1249
+ }
1250
+ },
1251
+ "nativeEnums": {}
1252
+ }
1253
+ ],
1254
+ "nativeEnums": {}
1255
+ }