@open-mercato/core 0.4.2-canary-15c0b23a3a → 0.4.2-canary-da2b080494

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 (433) hide show
  1. package/dist/generated/entities.ids.generated.js +1 -5
  2. package/dist/generated/entities.ids.generated.js.map +2 -2
  3. package/dist/generated/entity-fields-registry.js +0 -2
  4. package/dist/generated/entity-fields-registry.js.map +2 -2
  5. package/dist/modules/api_docs/frontend/docs/api/page.js +2 -3
  6. package/dist/modules/api_docs/frontend/docs/api/page.js.map +2 -2
  7. package/dist/modules/api_keys/backend/api-keys/page.js +1 -1
  8. package/dist/modules/api_keys/backend/api-keys/page.js.map +2 -2
  9. package/dist/modules/attachments/components/AttachmentLibrary.js +0 -4
  10. package/dist/modules/attachments/components/AttachmentLibrary.js.map +2 -2
  11. package/dist/modules/attachments/components/AttachmentPartitionSettings.js +0 -2
  12. package/dist/modules/attachments/components/AttachmentPartitionSettings.js.map +2 -2
  13. package/dist/modules/auth/api/admin/nav.js +3 -4
  14. package/dist/modules/auth/api/admin/nav.js.map +2 -2
  15. package/dist/modules/auth/api/reset/confirm.js +2 -25
  16. package/dist/modules/auth/api/reset/confirm.js.map +2 -2
  17. package/dist/modules/auth/api/reset.js +0 -23
  18. package/dist/modules/auth/api/reset.js.map +2 -2
  19. package/dist/modules/auth/api/sidebar/preferences/route.js +9 -14
  20. package/dist/modules/auth/api/sidebar/preferences/route.js.map +2 -2
  21. package/dist/modules/auth/api/users/route.js +2 -4
  22. package/dist/modules/auth/api/users/route.js.map +2 -2
  23. package/dist/modules/auth/backend/roles/[id]/edit/page.js +1 -4
  24. package/dist/modules/auth/backend/roles/[id]/edit/page.js.map +2 -2
  25. package/dist/modules/auth/backend/roles/page.js +3 -3
  26. package/dist/modules/auth/backend/roles/page.js.map +2 -2
  27. package/dist/modules/auth/backend/users/[id]/edit/page.js +3 -18
  28. package/dist/modules/auth/backend/users/[id]/edit/page.js.map +2 -2
  29. package/dist/modules/auth/backend/users/create/page.js +2 -15
  30. package/dist/modules/auth/backend/users/create/page.js.map +2 -2
  31. package/dist/modules/auth/backend/users/page.js +3 -3
  32. package/dist/modules/auth/backend/users/page.js.map +2 -2
  33. package/dist/modules/auth/cli.js +11 -25
  34. package/dist/modules/auth/cli.js.map +2 -2
  35. package/dist/modules/auth/commands/users.js +2 -59
  36. package/dist/modules/auth/commands/users.js.map +2 -2
  37. package/dist/modules/auth/data/validators.js +2 -4
  38. package/dist/modules/auth/data/validators.js.map +2 -2
  39. package/dist/modules/auth/frontend/reset/[token]/page.js +10 -20
  40. package/dist/modules/auth/frontend/reset/[token]/page.js.map +2 -2
  41. package/dist/modules/auth/lib/setup-app.js +0 -1
  42. package/dist/modules/auth/lib/setup-app.js.map +2 -2
  43. package/dist/modules/auth/services/authService.js +3 -3
  44. package/dist/modules/auth/services/authService.js.map +2 -2
  45. package/dist/modules/business_rules/api/execute/route.js +1 -7
  46. package/dist/modules/business_rules/api/execute/route.js.map +2 -2
  47. package/dist/modules/business_rules/backend/rules/page.js +0 -4
  48. package/dist/modules/business_rules/backend/rules/page.js.map +2 -2
  49. package/dist/modules/business_rules/backend/sets/page.js +0 -3
  50. package/dist/modules/business_rules/backend/sets/page.js.map +2 -2
  51. package/dist/modules/business_rules/lib/rule-engine.js +3 -33
  52. package/dist/modules/business_rules/lib/rule-engine.js.map +2 -2
  53. package/dist/modules/catalog/components/PriceKindSettings.js +0 -2
  54. package/dist/modules/catalog/components/PriceKindSettings.js.map +2 -2
  55. package/dist/modules/catalog/components/categories/CategoriesDataTable.js +2 -2
  56. package/dist/modules/catalog/components/categories/CategoriesDataTable.js.map +2 -2
  57. package/dist/modules/catalog/components/products/ProductsDataTable.js +0 -2
  58. package/dist/modules/catalog/components/products/ProductsDataTable.js.map +2 -2
  59. package/dist/modules/configs/cli.js +0 -6
  60. package/dist/modules/configs/cli.js.map +2 -2
  61. package/dist/modules/configs/components/CachePanel.js +4 -4
  62. package/dist/modules/configs/components/CachePanel.js.map +2 -2
  63. package/dist/modules/configs/lib/system-status.js +1 -48
  64. package/dist/modules/configs/lib/system-status.js.map +2 -2
  65. package/dist/modules/configs/lib/upgrade-actions.js +0 -18
  66. package/dist/modules/configs/lib/upgrade-actions.js.map +2 -2
  67. package/dist/modules/currencies/backend/currencies/page.js +0 -3
  68. package/dist/modules/currencies/backend/currencies/page.js.map +2 -2
  69. package/dist/modules/currencies/backend/exchange-rates/page.js +0 -2
  70. package/dist/modules/currencies/backend/exchange-rates/page.js.map +2 -2
  71. package/dist/modules/customers/backend/customers/companies/page.js +0 -3
  72. package/dist/modules/customers/backend/customers/companies/page.js.map +2 -2
  73. package/dist/modules/customers/backend/customers/deals/page.js +0 -3
  74. package/dist/modules/customers/backend/customers/deals/page.js.map +2 -2
  75. package/dist/modules/customers/backend/customers/people/page.js +0 -3
  76. package/dist/modules/customers/backend/customers/people/page.js.map +2 -2
  77. package/dist/modules/customers/commands/deals.js +0 -31
  78. package/dist/modules/customers/commands/deals.js.map +2 -2
  79. package/dist/modules/customers/components/CustomerTodosTable.js +0 -1
  80. package/dist/modules/customers/components/CustomerTodosTable.js.map +2 -2
  81. package/dist/modules/dashboards/cli.js +5 -44
  82. package/dist/modules/dashboards/cli.js.map +2 -2
  83. package/dist/modules/dashboards/components/WidgetVisibilityEditor.js +11 -16
  84. package/dist/modules/dashboards/components/WidgetVisibilityEditor.js.map +3 -3
  85. package/dist/modules/dashboards/services/widgetDataService.js +3 -132
  86. package/dist/modules/dashboards/services/widgetDataService.js.map +2 -2
  87. package/dist/modules/dictionaries/components/DictionaryTable.js +0 -2
  88. package/dist/modules/dictionaries/components/DictionaryTable.js.map +2 -2
  89. package/dist/modules/directory/backend/directory/organizations/page.js +2 -2
  90. package/dist/modules/directory/backend/directory/organizations/page.js.map +2 -2
  91. package/dist/modules/directory/backend/directory/tenants/page.js +2 -2
  92. package/dist/modules/directory/backend/directory/tenants/page.js.map +2 -2
  93. package/dist/modules/entities/backend/entities/user/[entityId]/records/page.js +2 -2
  94. package/dist/modules/entities/backend/entities/user/[entityId]/records/page.js.map +2 -2
  95. package/dist/modules/entities/components/SystemEntitiesTable.js +1 -1
  96. package/dist/modules/entities/components/SystemEntitiesTable.js.map +2 -2
  97. package/dist/modules/entities/components/UserEntitiesTable.js +2 -2
  98. package/dist/modules/entities/components/UserEntitiesTable.js.map +2 -2
  99. package/dist/modules/feature_toggles/components/FeatureTogglesTable.js +3 -3
  100. package/dist/modules/feature_toggles/components/FeatureTogglesTable.js.map +2 -2
  101. package/dist/modules/feature_toggles/components/OverridesTable.js +1 -1
  102. package/dist/modules/feature_toggles/components/OverridesTable.js.map +2 -2
  103. package/dist/modules/planner/backend/planner/availability-rulesets/page.js +2 -2
  104. package/dist/modules/planner/backend/planner/availability-rulesets/page.js.map +2 -2
  105. package/dist/modules/query_index/components/QueryIndexesTable.js +1 -7
  106. package/dist/modules/query_index/components/QueryIndexesTable.js.map +2 -2
  107. package/dist/modules/resources/backend/resources/resource-types/page.js +2 -2
  108. package/dist/modules/resources/backend/resources/resource-types/page.js.map +2 -2
  109. package/dist/modules/resources/backend/resources/resources/page.js +2 -2
  110. package/dist/modules/resources/backend/resources/resources/page.js.map +2 -2
  111. package/dist/modules/sales/backend/sales/channels/offers/page.js +0 -2
  112. package/dist/modules/sales/backend/sales/channels/offers/page.js.map +2 -2
  113. package/dist/modules/sales/backend/sales/channels/page.js +0 -2
  114. package/dist/modules/sales/backend/sales/channels/page.js.map +2 -2
  115. package/dist/modules/sales/commands/documents.js +0 -53
  116. package/dist/modules/sales/commands/documents.js.map +2 -2
  117. package/dist/modules/sales/commands/payments.js +0 -26
  118. package/dist/modules/sales/commands/payments.js.map +2 -2
  119. package/dist/modules/sales/components/AdjustmentKindSettings.js +2 -2
  120. package/dist/modules/sales/components/AdjustmentKindSettings.js.map +2 -2
  121. package/dist/modules/sales/components/PaymentMethodsSettings.js +2 -2
  122. package/dist/modules/sales/components/PaymentMethodsSettings.js.map +2 -2
  123. package/dist/modules/sales/components/ShippingMethodsSettings.js +2 -2
  124. package/dist/modules/sales/components/ShippingMethodsSettings.js.map +2 -2
  125. package/dist/modules/sales/components/TaxRatesSettings.js +2 -2
  126. package/dist/modules/sales/components/TaxRatesSettings.js.map +2 -2
  127. package/dist/modules/sales/components/channels/SalesChannelOffersPanel.js +0 -2
  128. package/dist/modules/sales/components/channels/SalesChannelOffersPanel.js.map +2 -2
  129. package/dist/modules/sales/components/documents/AdjustmentsSection.js +0 -2
  130. package/dist/modules/sales/components/documents/AdjustmentsSection.js.map +2 -2
  131. package/dist/modules/sales/components/documents/PaymentsSection.js +1 -2
  132. package/dist/modules/sales/components/documents/PaymentsSection.js.map +2 -2
  133. package/dist/modules/sales/components/documents/SalesDocumentsTable.js +0 -2
  134. package/dist/modules/sales/components/documents/SalesDocumentsTable.js.map +2 -2
  135. package/dist/modules/staff/backend/staff/team-members/page.js +1 -1
  136. package/dist/modules/staff/backend/staff/team-members/page.js.map +2 -2
  137. package/dist/modules/staff/backend/staff/team-roles/page.js +2 -2
  138. package/dist/modules/staff/backend/staff/team-roles/page.js.map +2 -2
  139. package/dist/modules/staff/backend/staff/teams/[id]/edit/page.js +2 -2
  140. package/dist/modules/staff/backend/staff/teams/[id]/edit/page.js.map +2 -2
  141. package/dist/modules/staff/backend/staff/teams/page.js +2 -2
  142. package/dist/modules/staff/backend/staff/teams/page.js.map +2 -2
  143. package/dist/modules/staff/commands/leave-requests.js +0 -79
  144. package/dist/modules/staff/commands/leave-requests.js.map +2 -2
  145. package/dist/modules/workflows/backend/definitions/page.js +0 -5
  146. package/dist/modules/workflows/backend/definitions/page.js.map +2 -2
  147. package/dist/modules/workflows/backend/instances/page.js +0 -3
  148. package/dist/modules/workflows/backend/instances/page.js.map +2 -2
  149. package/dist/modules/workflows/backend/tasks/page.js +0 -3
  150. package/dist/modules/workflows/backend/tasks/page.js.map +2 -2
  151. package/dist/modules/workflows/lib/transition-handler.js +6 -14
  152. package/dist/modules/workflows/lib/transition-handler.js.map +2 -2
  153. package/generated/entities.ids.generated.ts +1 -5
  154. package/generated/entity-fields-registry.ts +0 -2
  155. package/package.json +2 -2
  156. package/src/modules/api_docs/frontend/docs/api/page.tsx +2 -3
  157. package/src/modules/api_keys/backend/api-keys/page.tsx +1 -1
  158. package/src/modules/attachments/components/AttachmentLibrary.tsx +0 -4
  159. package/src/modules/attachments/components/AttachmentPartitionSettings.tsx +0 -2
  160. package/src/modules/auth/README.md +1 -1
  161. package/src/modules/auth/__tests__/cli-setup-acl.test.ts +1 -1
  162. package/src/modules/auth/api/admin/nav.ts +6 -10
  163. package/src/modules/auth/api/reset/confirm.ts +2 -25
  164. package/src/modules/auth/api/reset.ts +0 -23
  165. package/src/modules/auth/api/sidebar/preferences/route.ts +12 -21
  166. package/src/modules/auth/api/users/route.ts +2 -5
  167. package/src/modules/auth/backend/roles/[id]/edit/page.tsx +1 -4
  168. package/src/modules/auth/backend/roles/page.tsx +3 -3
  169. package/src/modules/auth/backend/users/[id]/edit/page.tsx +3 -22
  170. package/src/modules/auth/backend/users/create/page.tsx +2 -19
  171. package/src/modules/auth/backend/users/page.tsx +3 -3
  172. package/src/modules/auth/cli.ts +11 -38
  173. package/src/modules/auth/commands/users.ts +2 -73
  174. package/src/modules/auth/data/validators.ts +2 -5
  175. package/src/modules/auth/frontend/reset/[token]/page.tsx +11 -24
  176. package/src/modules/auth/i18n/de.json +1 -43
  177. package/src/modules/auth/i18n/en.json +1 -43
  178. package/src/modules/auth/i18n/es.json +1 -43
  179. package/src/modules/auth/i18n/pl.json +1 -43
  180. package/src/modules/auth/lib/setup-app.ts +0 -1
  181. package/src/modules/auth/services/authService.ts +4 -4
  182. package/src/modules/business_rules/api/execute/route.ts +1 -8
  183. package/src/modules/business_rules/backend/rules/page.tsx +0 -4
  184. package/src/modules/business_rules/backend/sets/page.tsx +0 -3
  185. package/src/modules/business_rules/i18n/en.json +1 -3
  186. package/src/modules/business_rules/lib/__tests__/rule-engine.test.ts +0 -51
  187. package/src/modules/business_rules/lib/rule-engine.ts +3 -57
  188. package/src/modules/catalog/components/PriceKindSettings.tsx +0 -2
  189. package/src/modules/catalog/components/categories/CategoriesDataTable.tsx +2 -2
  190. package/src/modules/catalog/components/products/ProductsDataTable.tsx +0 -2
  191. package/src/modules/catalog/i18n/en.json +1 -3
  192. package/src/modules/configs/cli.ts +0 -6
  193. package/src/modules/configs/components/CachePanel.tsx +4 -4
  194. package/src/modules/configs/i18n/en.json +2 -12
  195. package/src/modules/configs/i18n/pl.json +2 -12
  196. package/src/modules/configs/lib/system-status.ts +1 -48
  197. package/src/modules/configs/lib/system-status.types.ts +0 -1
  198. package/src/modules/configs/lib/upgrade-actions.ts +0 -18
  199. package/src/modules/currencies/backend/currencies/page.tsx +0 -3
  200. package/src/modules/currencies/backend/exchange-rates/page.tsx +0 -2
  201. package/src/modules/customers/backend/customers/companies/page.tsx +0 -3
  202. package/src/modules/customers/backend/customers/deals/page.tsx +0 -3
  203. package/src/modules/customers/backend/customers/people/page.tsx +0 -3
  204. package/src/modules/customers/commands/deals.ts +0 -39
  205. package/src/modules/customers/components/CustomerTodosTable.tsx +0 -1
  206. package/src/modules/customers/i18n/en.json +1 -5
  207. package/src/modules/dashboards/cli.ts +5 -55
  208. package/src/modules/dashboards/components/WidgetVisibilityEditor.tsx +11 -22
  209. package/src/modules/dashboards/services/widgetDataService.ts +4 -157
  210. package/src/modules/dictionaries/components/DictionaryTable.tsx +0 -2
  211. package/src/modules/directory/backend/directory/organizations/page.tsx +2 -2
  212. package/src/modules/directory/backend/directory/tenants/page.tsx +2 -2
  213. package/src/modules/entities/backend/entities/user/[entityId]/records/page.tsx +2 -2
  214. package/src/modules/entities/components/SystemEntitiesTable.tsx +1 -1
  215. package/src/modules/entities/components/UserEntitiesTable.tsx +2 -2
  216. package/src/modules/feature_toggles/components/FeatureTogglesTable.tsx +4 -3
  217. package/src/modules/feature_toggles/components/OverridesTable.tsx +1 -1
  218. package/src/modules/planner/backend/planner/availability-rulesets/page.tsx +2 -2
  219. package/src/modules/query_index/components/QueryIndexesTable.tsx +2 -8
  220. package/src/modules/resources/backend/resources/resource-types/page.tsx +2 -2
  221. package/src/modules/resources/backend/resources/resources/page.tsx +2 -2
  222. package/src/modules/sales/backend/sales/channels/offers/page.tsx +0 -2
  223. package/src/modules/sales/backend/sales/channels/page.tsx +0 -2
  224. package/src/modules/sales/commands/documents.ts +0 -65
  225. package/src/modules/sales/commands/payments.ts +0 -33
  226. package/src/modules/sales/components/AdjustmentKindSettings.tsx +2 -2
  227. package/src/modules/sales/components/PaymentMethodsSettings.tsx +2 -2
  228. package/src/modules/sales/components/ShippingMethodsSettings.tsx +2 -2
  229. package/src/modules/sales/components/TaxRatesSettings.tsx +2 -2
  230. package/src/modules/sales/components/channels/SalesChannelOffersPanel.tsx +0 -2
  231. package/src/modules/sales/components/documents/AdjustmentsSection.tsx +0 -2
  232. package/src/modules/sales/components/documents/PaymentsSection.tsx +1 -2
  233. package/src/modules/sales/components/documents/SalesDocumentsTable.tsx +0 -2
  234. package/src/modules/sales/i18n/de.json +0 -20
  235. package/src/modules/sales/i18n/en.json +1 -25
  236. package/src/modules/sales/i18n/es.json +0 -20
  237. package/src/modules/sales/i18n/pl.json +0 -20
  238. package/src/modules/staff/backend/staff/team-members/page.tsx +1 -1
  239. package/src/modules/staff/backend/staff/team-roles/page.tsx +2 -2
  240. package/src/modules/staff/backend/staff/teams/[id]/edit/page.tsx +2 -2
  241. package/src/modules/staff/backend/staff/teams/page.tsx +2 -2
  242. package/src/modules/staff/commands/leave-requests.ts +0 -94
  243. package/src/modules/staff/i18n/de.json +0 -4
  244. package/src/modules/staff/i18n/en.json +1 -9
  245. package/src/modules/staff/i18n/es.json +0 -4
  246. package/src/modules/staff/i18n/pl.json +0 -4
  247. package/src/modules/workflows/backend/definitions/page.tsx +0 -5
  248. package/src/modules/workflows/backend/instances/page.tsx +1 -4
  249. package/src/modules/workflows/backend/tasks/page.tsx +1 -4
  250. package/src/modules/workflows/i18n/en.json +1 -3
  251. package/src/modules/workflows/lib/transition-handler.ts +6 -18
  252. package/dist/generated/entities/notification/index.js +0 -57
  253. package/dist/generated/entities/notification/index.js.map +0 -7
  254. package/dist/modules/auth/api/profile/route.js +0 -157
  255. package/dist/modules/auth/api/profile/route.js.map +0 -7
  256. package/dist/modules/auth/backend/auth/profile/page.js +0 -141
  257. package/dist/modules/auth/backend/auth/profile/page.js.map +0 -7
  258. package/dist/modules/auth/backend/auth/profile/page.meta.js +0 -13
  259. package/dist/modules/auth/backend/auth/profile/page.meta.js.map +0 -7
  260. package/dist/modules/auth/notifications.js +0 -112
  261. package/dist/modules/auth/notifications.js.map +0 -7
  262. package/dist/modules/business_rules/notifications.js +0 -28
  263. package/dist/modules/business_rules/notifications.js.map +0 -7
  264. package/dist/modules/business_rules/subscribers/rule-execution-failed-notification.js +0 -37
  265. package/dist/modules/business_rules/subscribers/rule-execution-failed-notification.js.map +0 -7
  266. package/dist/modules/catalog/notifications.js +0 -28
  267. package/dist/modules/catalog/notifications.js.map +0 -7
  268. package/dist/modules/catalog/subscribers/low-stock-notification.js +0 -38
  269. package/dist/modules/catalog/subscribers/low-stock-notification.js.map +0 -7
  270. package/dist/modules/customers/notifications.js +0 -48
  271. package/dist/modules/customers/notifications.js.map +0 -7
  272. package/dist/modules/dashboards/lib/role-widgets.js +0 -58
  273. package/dist/modules/dashboards/lib/role-widgets.js.map +0 -7
  274. package/dist/modules/notifications/acl.js +0 -11
  275. package/dist/modules/notifications/acl.js.map +0 -7
  276. package/dist/modules/notifications/api/[id]/action/route.js +0 -74
  277. package/dist/modules/notifications/api/[id]/action/route.js.map +0 -7
  278. package/dist/modules/notifications/api/[id]/dismiss/route.js +0 -15
  279. package/dist/modules/notifications/api/[id]/dismiss/route.js.map +0 -7
  280. package/dist/modules/notifications/api/[id]/read/route.js +0 -15
  281. package/dist/modules/notifications/api/[id]/read/route.js.map +0 -7
  282. package/dist/modules/notifications/api/[id]/restore/route.js +0 -53
  283. package/dist/modules/notifications/api/[id]/restore/route.js.map +0 -7
  284. package/dist/modules/notifications/api/batch/route.js +0 -17
  285. package/dist/modules/notifications/api/batch/route.js.map +0 -7
  286. package/dist/modules/notifications/api/feature/route.js +0 -17
  287. package/dist/modules/notifications/api/feature/route.js.map +0 -7
  288. package/dist/modules/notifications/api/mark-all-read/route.js +0 -35
  289. package/dist/modules/notifications/api/mark-all-read/route.js.map +0 -7
  290. package/dist/modules/notifications/api/openapi.js +0 -76
  291. package/dist/modules/notifications/api/openapi.js.map +0 -7
  292. package/dist/modules/notifications/api/role/route.js +0 -17
  293. package/dist/modules/notifications/api/role/route.js.map +0 -7
  294. package/dist/modules/notifications/api/route.js +0 -85
  295. package/dist/modules/notifications/api/route.js.map +0 -7
  296. package/dist/modules/notifications/api/settings/route.js +0 -155
  297. package/dist/modules/notifications/api/settings/route.js.map +0 -7
  298. package/dist/modules/notifications/api/unread-count/route.js +0 -38
  299. package/dist/modules/notifications/api/unread-count/route.js.map +0 -7
  300. package/dist/modules/notifications/backend/config/notifications/page.js +0 -10
  301. package/dist/modules/notifications/backend/config/notifications/page.js.map +0 -7
  302. package/dist/modules/notifications/backend/config/notifications/page.meta.js +0 -24
  303. package/dist/modules/notifications/backend/config/notifications/page.meta.js.map +0 -7
  304. package/dist/modules/notifications/cli.js +0 -16
  305. package/dist/modules/notifications/cli.js.map +0 -7
  306. package/dist/modules/notifications/data/entities.js +0 -112
  307. package/dist/modules/notifications/data/entities.js.map +0 -7
  308. package/dist/modules/notifications/data/validators.js +0 -98
  309. package/dist/modules/notifications/data/validators.js.map +0 -7
  310. package/dist/modules/notifications/di.js +0 -13
  311. package/dist/modules/notifications/di.js.map +0 -7
  312. package/dist/modules/notifications/emails/NotificationEmail.js +0 -58
  313. package/dist/modules/notifications/emails/NotificationEmail.js.map +0 -7
  314. package/dist/modules/notifications/frontend/NotificationInboxPageClient.js +0 -44
  315. package/dist/modules/notifications/frontend/NotificationInboxPageClient.js.map +0 -7
  316. package/dist/modules/notifications/frontend/NotificationSettingsPageClient.js +0 -220
  317. package/dist/modules/notifications/frontend/NotificationSettingsPageClient.js.map +0 -7
  318. package/dist/modules/notifications/index.js +0 -14
  319. package/dist/modules/notifications/index.js.map +0 -7
  320. package/dist/modules/notifications/lib/deliveryConfig.js +0 -107
  321. package/dist/modules/notifications/lib/deliveryConfig.js.map +0 -7
  322. package/dist/modules/notifications/lib/deliveryStrategies.js +0 -14
  323. package/dist/modules/notifications/lib/deliveryStrategies.js.map +0 -7
  324. package/dist/modules/notifications/lib/events.js +0 -12
  325. package/dist/modules/notifications/lib/events.js.map +0 -7
  326. package/dist/modules/notifications/lib/notificationBuilder.js +0 -66
  327. package/dist/modules/notifications/lib/notificationBuilder.js.map +0 -7
  328. package/dist/modules/notifications/lib/notificationFactory.js +0 -54
  329. package/dist/modules/notifications/lib/notificationFactory.js.map +0 -7
  330. package/dist/modules/notifications/lib/notificationMapper.js +0 -34
  331. package/dist/modules/notifications/lib/notificationMapper.js.map +0 -7
  332. package/dist/modules/notifications/lib/notificationRecipients.js +0 -35
  333. package/dist/modules/notifications/lib/notificationRecipients.js.map +0 -7
  334. package/dist/modules/notifications/lib/notificationService.js +0 -279
  335. package/dist/modules/notifications/lib/notificationService.js.map +0 -7
  336. package/dist/modules/notifications/lib/routeHelpers.js +0 -101
  337. package/dist/modules/notifications/lib/routeHelpers.js.map +0 -7
  338. package/dist/modules/notifications/lib/safeHref.js +0 -24
  339. package/dist/modules/notifications/lib/safeHref.js.map +0 -7
  340. package/dist/modules/notifications/migrations/Migration20260123000001.js +0 -70
  341. package/dist/modules/notifications/migrations/Migration20260123000001.js.map +0 -7
  342. package/dist/modules/notifications/migrations/Migration20260126150000.js +0 -37
  343. package/dist/modules/notifications/migrations/Migration20260126150000.js.map +0 -7
  344. package/dist/modules/notifications/subscribers/deliver-notification.js +0 -165
  345. package/dist/modules/notifications/subscribers/deliver-notification.js.map +0 -7
  346. package/dist/modules/notifications/workers/create-notification.worker.js +0 -70
  347. package/dist/modules/notifications/workers/create-notification.worker.js.map +0 -7
  348. package/dist/modules/sales/notifications.client.js +0 -51
  349. package/dist/modules/sales/notifications.client.js.map +0 -7
  350. package/dist/modules/sales/notifications.js +0 -88
  351. package/dist/modules/sales/notifications.js.map +0 -7
  352. package/dist/modules/sales/subscribers/quote-expiring-notification.js +0 -38
  353. package/dist/modules/sales/subscribers/quote-expiring-notification.js.map +0 -7
  354. package/dist/modules/sales/widgets/notifications/SalesOrderCreatedRenderer.js +0 -137
  355. package/dist/modules/sales/widgets/notifications/SalesOrderCreatedRenderer.js.map +0 -7
  356. package/dist/modules/sales/widgets/notifications/SalesQuoteCreatedRenderer.js +0 -137
  357. package/dist/modules/sales/widgets/notifications/SalesQuoteCreatedRenderer.js.map +0 -7
  358. package/dist/modules/sales/widgets/notifications/index.js +0 -7
  359. package/dist/modules/sales/widgets/notifications/index.js.map +0 -7
  360. package/dist/modules/sales/widgets/notifications/useSalesDocumentTotals.js +0 -60
  361. package/dist/modules/sales/widgets/notifications/useSalesDocumentTotals.js.map +0 -7
  362. package/dist/modules/staff/notifications.js +0 -75
  363. package/dist/modules/staff/notifications.js.map +0 -7
  364. package/dist/modules/workflows/notifications.js +0 -28
  365. package/dist/modules/workflows/notifications.js.map +0 -7
  366. package/dist/modules/workflows/subscribers/task-assigned-notification.js +0 -38
  367. package/dist/modules/workflows/subscribers/task-assigned-notification.js.map +0 -7
  368. package/generated/entities/notification/index.ts +0 -27
  369. package/src/modules/auth/api/profile/route.ts +0 -163
  370. package/src/modules/auth/backend/auth/profile/page.meta.ts +0 -9
  371. package/src/modules/auth/backend/auth/profile/page.tsx +0 -174
  372. package/src/modules/auth/notifications.ts +0 -109
  373. package/src/modules/business_rules/notifications.ts +0 -25
  374. package/src/modules/business_rules/subscribers/rule-execution-failed-notification.ts +0 -50
  375. package/src/modules/catalog/notifications.ts +0 -25
  376. package/src/modules/catalog/subscribers/low-stock-notification.ts +0 -52
  377. package/src/modules/customers/notifications.ts +0 -44
  378. package/src/modules/dashboards/lib/role-widgets.ts +0 -80
  379. package/src/modules/notifications/__tests__/deliver-notification.test.ts +0 -195
  380. package/src/modules/notifications/__tests__/deliveryStrategies.test.ts +0 -19
  381. package/src/modules/notifications/__tests__/notificationService.test.ts +0 -208
  382. package/src/modules/notifications/acl.ts +0 -7
  383. package/src/modules/notifications/api/[id]/action/route.ts +0 -75
  384. package/src/modules/notifications/api/[id]/dismiss/route.ts +0 -12
  385. package/src/modules/notifications/api/[id]/read/route.ts +0 -12
  386. package/src/modules/notifications/api/[id]/restore/route.ts +0 -53
  387. package/src/modules/notifications/api/batch/route.ts +0 -14
  388. package/src/modules/notifications/api/feature/route.ts +0 -14
  389. package/src/modules/notifications/api/mark-all-read/route.ts +0 -34
  390. package/src/modules/notifications/api/openapi.ts +0 -76
  391. package/src/modules/notifications/api/role/route.ts +0 -14
  392. package/src/modules/notifications/api/route.ts +0 -92
  393. package/src/modules/notifications/api/settings/route.ts +0 -157
  394. package/src/modules/notifications/api/unread-count/route.ts +0 -38
  395. package/src/modules/notifications/backend/config/notifications/page.meta.ts +0 -22
  396. package/src/modules/notifications/backend/config/notifications/page.tsx +0 -12
  397. package/src/modules/notifications/cli.ts +0 -18
  398. package/src/modules/notifications/data/entities.ts +0 -99
  399. package/src/modules/notifications/data/validators.ts +0 -115
  400. package/src/modules/notifications/di.ts +0 -11
  401. package/src/modules/notifications/emails/NotificationEmail.tsx +0 -98
  402. package/src/modules/notifications/frontend/NotificationInboxPageClient.tsx +0 -42
  403. package/src/modules/notifications/frontend/NotificationSettingsPageClient.tsx +0 -233
  404. package/src/modules/notifications/i18n/de.json +0 -50
  405. package/src/modules/notifications/i18n/en.json +0 -50
  406. package/src/modules/notifications/i18n/es.json +0 -50
  407. package/src/modules/notifications/i18n/pl.json +0 -50
  408. package/src/modules/notifications/index.ts +0 -12
  409. package/src/modules/notifications/lib/deliveryConfig.ts +0 -153
  410. package/src/modules/notifications/lib/deliveryStrategies.ts +0 -50
  411. package/src/modules/notifications/lib/events.ts +0 -48
  412. package/src/modules/notifications/lib/notificationBuilder.ts +0 -121
  413. package/src/modules/notifications/lib/notificationFactory.ts +0 -76
  414. package/src/modules/notifications/lib/notificationMapper.ts +0 -33
  415. package/src/modules/notifications/lib/notificationRecipients.ts +0 -83
  416. package/src/modules/notifications/lib/notificationService.ts +0 -414
  417. package/src/modules/notifications/lib/routeHelpers.ts +0 -151
  418. package/src/modules/notifications/lib/safeHref.ts +0 -29
  419. package/src/modules/notifications/migrations/.snapshot-open-mercato.json +0 -300
  420. package/src/modules/notifications/migrations/Migration20260123000001.ts +0 -73
  421. package/src/modules/notifications/migrations/Migration20260126150000.ts +0 -39
  422. package/src/modules/notifications/subscribers/deliver-notification.ts +0 -204
  423. package/src/modules/notifications/workers/create-notification.worker.ts +0 -122
  424. package/src/modules/sales/notifications.client.ts +0 -65
  425. package/src/modules/sales/notifications.ts +0 -82
  426. package/src/modules/sales/subscribers/quote-expiring-notification.ts +0 -53
  427. package/src/modules/sales/widgets/notifications/SalesOrderCreatedRenderer.tsx +0 -156
  428. package/src/modules/sales/widgets/notifications/SalesQuoteCreatedRenderer.tsx +0 -156
  429. package/src/modules/sales/widgets/notifications/index.ts +0 -2
  430. package/src/modules/sales/widgets/notifications/useSalesDocumentTotals.ts +0 -81
  431. package/src/modules/staff/notifications.ts +0 -71
  432. package/src/modules/workflows/notifications.ts +0 -25
  433. package/src/modules/workflows/subscribers/task-assigned-notification.ts +0 -53
@@ -2,20 +2,8 @@
2
2
  "auth.signIn": "Anmelden",
3
3
  "auth.email": "E-Mail",
4
4
  "auth.password": "Passwort",
5
- "auth.password.requirements.help": "Passwortanforderungen: {requirements}",
6
- "auth.password.requirements.minLength": "Mindestens {min} Zeichen",
7
- "auth.password.requirements.digit": "Eine Zahl",
8
- "auth.password.requirements.uppercase": "Ein Großbuchstabe",
9
- "auth.password.requirements.special": "Ein Sonderzeichen",
10
- "auth.password.requirements.separator": ", ",
11
5
  "auth.sendResetLink": "Link zum Zurücksetzen senden",
12
6
  "auth.resetPassword": "Passwort zurücksetzen",
13
- "auth.reset.title": "Neues Passwort festlegen",
14
- "auth.reset.subtitle": "Wähle ein sicheres Passwort für dein Konto.",
15
- "auth.reset.form.password": "Neues Passwort",
16
- "auth.reset.form.loading": "...",
17
- "auth.reset.form.submit": "Passwort aktualisieren",
18
- "auth.reset.errors.failed": "Passwort konnte nicht zurückgesetzt werden",
19
7
  "auth.usersRoles": "Benutzer und Rollen",
20
8
  "auth.manageAuthSettings": "Verwalte die Authentifizierungseinstellungen.",
21
9
  "auth.login.errors.permissionDenied": "Du hast keine Berechtigung, auf diesen Bereich zuzugreifen. Bitte wende dich an deine Administration.",
@@ -92,21 +80,6 @@
92
80
  "auth.users.form.errors.load": "Benutzerdaten konnten nicht geladen werden",
93
81
  "auth.users.form.errors.aclUpdate": "Aktualisierung der Benutzerberechtigungen fehlgeschlagen",
94
82
  "auth.users.form.errors.delete": "Benutzer konnte nicht gelöscht werden",
95
- "auth.profile.title": "Profil",
96
- "auth.profile.subtitle": "Passwort ändern",
97
- "auth.profile.form.email": "E-Mail",
98
- "auth.profile.form.password": "Neues Passwort",
99
- "auth.profile.form.confirmPassword": "Neues Passwort bestätigen",
100
- "auth.profile.form.save": "Änderungen speichern",
101
- "auth.profile.form.loading": "Profil wird geladen...",
102
- "auth.profile.form.errors.load": "Profil konnte nicht geladen werden.",
103
- "auth.profile.form.errors.save": "Profil konnte nicht aktualisiert werden.",
104
- "auth.profile.form.errors.invalid": "Ungültige Profilaktualisierung.",
105
- "auth.profile.form.errors.passwordMismatch": "Die Passwörter stimmen nicht überein.",
106
- "auth.profile.form.errors.passwordRequirements": "Das Passwort muss die Anforderungen erfüllen.",
107
- "auth.profile.form.errors.noChanges": "Keine Änderungen zu speichern.",
108
- "auth.profile.form.errors.emailRequired": "E-Mail ist erforderlich.",
109
- "auth.profile.form.success": "Profil aktualisiert.",
110
83
  "auth.users.list.error.load": "Benutzer konnten nicht geladen werden",
111
84
  "auth.users.list.error.delete": "Benutzer konnte nicht gelöscht werden",
112
85
  "auth.users.flash.created": "Benutzer erstellt",
@@ -122,20 +95,5 @@
122
95
  "auth.email.resetPassword.title": "Passwort zurücksetzen",
123
96
  "auth.email.resetPassword.body": "Klicken Sie auf den Link unten, um ein neues Passwort festzulegen. Dieser Link läuft in 60 Minuten ab.",
124
97
  "auth.email.resetPassword.cta": "Neues Passwort festlegen",
125
- "auth.email.resetPassword.hint": "Wenn Sie dies nicht angefordert haben, können Sie diese E-Mail ignorieren.",
126
- "auth.notifications.passwordReset.requested.title": "Passwort-Zurücksetzung angefordert",
127
- "auth.notifications.passwordReset.requested.body": "Ein Link zum Zurücksetzen des Passworts wurde an Ihre E-Mail gesendet",
128
- "auth.notifications.passwordReset.completed.title": "Passwort erfolgreich geändert",
129
- "auth.notifications.passwordReset.completed.body": "Ihr Passwort wurde erfolgreich aktualisiert",
130
- "auth.notifications.account.locked.title": "Konto gesperrt",
131
- "auth.notifications.account.locked.body": "Ihr Konto wurde aus Sicherheitsgründen gesperrt. Bitte wenden Sie sich an den Support.",
132
- "auth.notifications.login.newDevice.title": "Neues Gerät erkannt",
133
- "auth.notifications.login.newDevice.body": "Es wurde eine Anmeldung von einem unbekannten Gerät für Ihr Konto erkannt",
134
- "auth.notifications.role.assigned.title": "Neue Rolle zugewiesen",
135
- "auth.notifications.role.assigned.body": "Ihnen wurde eine neue Rolle mit zusätzlichen Berechtigungen zugewiesen",
136
- "auth.notifications.role.revoked.title": "Rolle entfernt",
137
- "auth.notifications.role.revoked.body": "Eine Rolle wurde von Ihrem Konto entfernt",
138
- "auth.actions.contactSupport": "Support kontaktieren",
139
- "auth.actions.viewSessions": "Sitzungen anzeigen",
140
- "auth.actions.viewPermissions": "Berechtigungen anzeigen"
98
+ "auth.email.resetPassword.hint": "Wenn Sie dies nicht angefordert haben, können Sie diese E-Mail ignorieren."
141
99
  }
@@ -2,20 +2,8 @@
2
2
  "auth.signIn": "Sign in",
3
3
  "auth.email": "Email",
4
4
  "auth.password": "Password",
5
- "auth.password.requirements.help": "Password requirements: {requirements}",
6
- "auth.password.requirements.minLength": "At least {min} characters",
7
- "auth.password.requirements.digit": "One number",
8
- "auth.password.requirements.uppercase": "One uppercase letter",
9
- "auth.password.requirements.special": "One special character",
10
- "auth.password.requirements.separator": ", ",
11
5
  "auth.sendResetLink": "Send reset link",
12
6
  "auth.resetPassword": "Reset password",
13
- "auth.reset.title": "Set a new password",
14
- "auth.reset.subtitle": "Choose a strong password for your account.",
15
- "auth.reset.form.password": "New password",
16
- "auth.reset.form.loading": "...",
17
- "auth.reset.form.submit": "Update password",
18
- "auth.reset.errors.failed": "Unable to reset password",
19
7
  "auth.usersRoles": "Users & Roles",
20
8
  "auth.manageAuthSettings": "Manage authentication settings.",
21
9
  "auth.login.errors.permissionDenied": "You do not have permission to access this area. Please contact your administrator.",
@@ -92,21 +80,6 @@
92
80
  "auth.users.form.errors.load": "Failed to load user data",
93
81
  "auth.users.form.errors.aclUpdate": "Failed to update user access control",
94
82
  "auth.users.form.errors.delete": "Failed to delete user",
95
- "auth.profile.title": "Profile",
96
- "auth.profile.subtitle": "Change password",
97
- "auth.profile.form.email": "Email",
98
- "auth.profile.form.password": "New password",
99
- "auth.profile.form.confirmPassword": "Confirm new password",
100
- "auth.profile.form.save": "Save changes",
101
- "auth.profile.form.loading": "Loading profile...",
102
- "auth.profile.form.errors.load": "Failed to load profile.",
103
- "auth.profile.form.errors.save": "Failed to update profile.",
104
- "auth.profile.form.errors.invalid": "Invalid profile update.",
105
- "auth.profile.form.errors.passwordMismatch": "Passwords do not match.",
106
- "auth.profile.form.errors.passwordRequirements": "Password must meet the requirements.",
107
- "auth.profile.form.errors.noChanges": "No changes to save.",
108
- "auth.profile.form.errors.emailRequired": "Email is required.",
109
- "auth.profile.form.success": "Profile updated.",
110
83
  "auth.users.list.error.load": "Failed to load users",
111
84
  "auth.users.list.error.delete": "Failed to delete user",
112
85
  "auth.users.flash.created": "User created",
@@ -122,20 +95,5 @@
122
95
  "auth.email.resetPassword.title": "Reset your password",
123
96
  "auth.email.resetPassword.body": "Click the link below to set a new password. This link will expire in 60 minutes.",
124
97
  "auth.email.resetPassword.cta": "Set a new password",
125
- "auth.email.resetPassword.hint": "If you didn't request this, you can safely ignore this email.",
126
- "auth.notifications.passwordReset.requested.title": "Password reset requested",
127
- "auth.notifications.passwordReset.requested.body": "A password reset link has been sent to your email",
128
- "auth.notifications.passwordReset.completed.title": "Password successfully changed",
129
- "auth.notifications.passwordReset.completed.body": "Your password has been updated successfully",
130
- "auth.notifications.account.locked.title": "Account locked",
131
- "auth.notifications.account.locked.body": "Your account has been locked due to security reasons. Please contact support.",
132
- "auth.notifications.login.newDevice.title": "New device login detected",
133
- "auth.notifications.login.newDevice.body": "A new login from an unrecognized device was detected on your account",
134
- "auth.notifications.role.assigned.title": "New role assigned",
135
- "auth.notifications.role.assigned.body": "You have been assigned a new role with additional permissions",
136
- "auth.notifications.role.revoked.title": "Role removed",
137
- "auth.notifications.role.revoked.body": "A role has been removed from your account",
138
- "auth.actions.contactSupport": "Contact Support",
139
- "auth.actions.viewSessions": "View Sessions",
140
- "auth.actions.viewPermissions": "View Permissions"
98
+ "auth.email.resetPassword.hint": "If you didn't request this, you can safely ignore this email."
141
99
  }
@@ -2,20 +2,8 @@
2
2
  "auth.signIn": "Iniciar sesión",
3
3
  "auth.email": "Correo electrónico",
4
4
  "auth.password": "Contraseña",
5
- "auth.password.requirements.help": "Requisitos de la contraseña: {requirements}",
6
- "auth.password.requirements.minLength": "Al menos {min} caracteres",
7
- "auth.password.requirements.digit": "Un número",
8
- "auth.password.requirements.uppercase": "Una letra mayúscula",
9
- "auth.password.requirements.special": "Un carácter especial",
10
- "auth.password.requirements.separator": ", ",
11
5
  "auth.sendResetLink": "Enviar enlace de restablecimiento",
12
6
  "auth.resetPassword": "Restablecer contraseña",
13
- "auth.reset.title": "Establecer una nueva contraseña",
14
- "auth.reset.subtitle": "Elige una contraseña segura para tu cuenta.",
15
- "auth.reset.form.password": "Nueva contraseña",
16
- "auth.reset.form.loading": "...",
17
- "auth.reset.form.submit": "Actualizar contraseña",
18
- "auth.reset.errors.failed": "No se pudo restablecer la contraseña",
19
7
  "auth.usersRoles": "Usuarios y roles",
20
8
  "auth.manageAuthSettings": "Administra la configuración de autenticación.",
21
9
  "auth.login.errors.permissionDenied": "No tienes permiso para acceder a esta área. Ponte en contacto con tu administrador.",
@@ -92,21 +80,6 @@
92
80
  "auth.users.form.errors.load": "No se pudieron cargar los datos del usuario",
93
81
  "auth.users.form.errors.aclUpdate": "No se pudo actualizar el control de acceso del usuario",
94
82
  "auth.users.form.errors.delete": "No se pudo eliminar el usuario",
95
- "auth.profile.title": "Perfil",
96
- "auth.profile.subtitle": "Cambiar contraseña",
97
- "auth.profile.form.email": "Correo electrónico",
98
- "auth.profile.form.password": "Nueva contraseña",
99
- "auth.profile.form.confirmPassword": "Confirmar nueva contraseña",
100
- "auth.profile.form.save": "Guardar cambios",
101
- "auth.profile.form.loading": "Cargando perfil...",
102
- "auth.profile.form.errors.load": "No se pudo cargar el perfil.",
103
- "auth.profile.form.errors.save": "No se pudo actualizar el perfil.",
104
- "auth.profile.form.errors.invalid": "Actualización de perfil inválida.",
105
- "auth.profile.form.errors.passwordMismatch": "Las contraseñas no coinciden.",
106
- "auth.profile.form.errors.passwordRequirements": "La contraseña debe cumplir los requisitos.",
107
- "auth.profile.form.errors.noChanges": "No hay cambios para guardar.",
108
- "auth.profile.form.errors.emailRequired": "El correo electrónico es obligatorio.",
109
- "auth.profile.form.success": "Perfil actualizado.",
110
83
  "auth.users.list.error.load": "No se pudieron cargar los usuarios",
111
84
  "auth.users.list.error.delete": "No se pudo eliminar el usuario",
112
85
  "auth.users.flash.created": "Usuario creado",
@@ -122,20 +95,5 @@
122
95
  "auth.email.resetPassword.title": "Restablecer tu contraseña",
123
96
  "auth.email.resetPassword.body": "Haz clic en el siguiente enlace para establecer una nueva contraseña. Este enlace caducará en 60 minutos.",
124
97
  "auth.email.resetPassword.cta": "Establecer nueva contraseña",
125
- "auth.email.resetPassword.hint": "Si no solicitaste esto, puedes ignorar este correo de forma segura.",
126
- "auth.notifications.passwordReset.requested.title": "Solicitud de restablecimiento de contraseña",
127
- "auth.notifications.passwordReset.requested.body": "Se ha enviado un enlace de restablecimiento de contraseña a tu correo electrónico",
128
- "auth.notifications.passwordReset.completed.title": "Contraseña cambiada correctamente",
129
- "auth.notifications.passwordReset.completed.body": "Tu contraseña se actualizó correctamente",
130
- "auth.notifications.account.locked.title": "Cuenta bloqueada",
131
- "auth.notifications.account.locked.body": "Tu cuenta ha sido bloqueada por razones de seguridad. Ponte en contacto con soporte.",
132
- "auth.notifications.login.newDevice.title": "Nuevo inicio de sesión detectado",
133
- "auth.notifications.login.newDevice.body": "Se detectó un inicio de sesión desde un dispositivo no reconocido en tu cuenta",
134
- "auth.notifications.role.assigned.title": "Nuevo rol asignado",
135
- "auth.notifications.role.assigned.body": "Se te ha asignado un nuevo rol con permisos adicionales",
136
- "auth.notifications.role.revoked.title": "Rol eliminado",
137
- "auth.notifications.role.revoked.body": "Se ha eliminado un rol de tu cuenta",
138
- "auth.actions.contactSupport": "Contactar soporte",
139
- "auth.actions.viewSessions": "Ver sesiones",
140
- "auth.actions.viewPermissions": "Ver permisos"
98
+ "auth.email.resetPassword.hint": "Si no solicitaste esto, puedes ignorar este correo de forma segura."
141
99
  }
@@ -2,20 +2,8 @@
2
2
  "auth.signIn": "Zaloguj się",
3
3
  "auth.email": "Email",
4
4
  "auth.password": "Hasło",
5
- "auth.password.requirements.help": "Wymagania hasła: {requirements}",
6
- "auth.password.requirements.minLength": "Co najmniej {min} znaków",
7
- "auth.password.requirements.digit": "Jedna cyfra",
8
- "auth.password.requirements.uppercase": "Jedna wielka litera",
9
- "auth.password.requirements.special": "Jeden znak specjalny",
10
- "auth.password.requirements.separator": ", ",
11
5
  "auth.sendResetLink": "Wyślij link resetujący",
12
6
  "auth.resetPassword": "Resetuj hasło",
13
- "auth.reset.title": "Ustaw nowe hasło",
14
- "auth.reset.subtitle": "Wybierz silne hasło dla swojego konta.",
15
- "auth.reset.form.password": "Nowe hasło",
16
- "auth.reset.form.loading": "...",
17
- "auth.reset.form.submit": "Zaktualizuj hasło",
18
- "auth.reset.errors.failed": "Nie udało się zresetować hasła",
19
7
  "auth.usersRoles": "Użytkownicy i role",
20
8
  "auth.manageAuthSettings": "Zarządzaj ustawieniami uwierzytelniania.",
21
9
  "auth.login.errors.permissionDenied": "Nie masz uprawnień do tego obszaru. Skontaktuj się z administratorem.",
@@ -92,21 +80,6 @@
92
80
  "auth.users.form.errors.load": "Nie udało się wczytać danych użytkownika",
93
81
  "auth.users.form.errors.aclUpdate": "Nie udało się zaktualizować uprawnień użytkownika",
94
82
  "auth.users.form.errors.delete": "Nie udało się usunąć użytkownika",
95
- "auth.profile.title": "Profil",
96
- "auth.profile.subtitle": "Zmiana hasła",
97
- "auth.profile.form.email": "Email",
98
- "auth.profile.form.password": "Nowe hasło",
99
- "auth.profile.form.confirmPassword": "Potwierdź nowe hasło",
100
- "auth.profile.form.save": "Zapisz zmiany",
101
- "auth.profile.form.loading": "Ładowanie profilu...",
102
- "auth.profile.form.errors.load": "Nie udało się wczytać profilu.",
103
- "auth.profile.form.errors.save": "Nie udało się zaktualizować profilu.",
104
- "auth.profile.form.errors.invalid": "Nieprawidłowa aktualizacja profilu.",
105
- "auth.profile.form.errors.passwordMismatch": "Hasła nie są zgodne.",
106
- "auth.profile.form.errors.passwordRequirements": "Hasło musi spełniać wymagania.",
107
- "auth.profile.form.errors.noChanges": "Brak zmian do zapisania.",
108
- "auth.profile.form.errors.emailRequired": "Email jest wymagany.",
109
- "auth.profile.form.success": "Profil zaktualizowany.",
110
83
  "auth.users.list.error.load": "Nie udało się wczytać użytkowników",
111
84
  "auth.users.list.error.delete": "Nie udało się usunąć użytkownika",
112
85
  "auth.users.flash.created": "Użytkownik utworzony",
@@ -122,20 +95,5 @@
122
95
  "auth.email.resetPassword.title": "Zresetuj swoje hasło",
123
96
  "auth.email.resetPassword.body": "Kliknij poniższy link, aby ustawić nowe hasło. Link wygaśnie za 60 minut.",
124
97
  "auth.email.resetPassword.cta": "Ustaw nowe hasło",
125
- "auth.email.resetPassword.hint": "Jeśli nie prosiłeś o tę wiadomość, możesz ją bezpiecznie zignorować.",
126
- "auth.notifications.passwordReset.requested.title": "Żądanie resetu hasła",
127
- "auth.notifications.passwordReset.requested.body": "Link do resetu hasła został wysłany na Twój adres e-mail",
128
- "auth.notifications.passwordReset.completed.title": "Hasło zmienione pomyślnie",
129
- "auth.notifications.passwordReset.completed.body": "Twoje hasło zostało pomyślnie zaktualizowane",
130
- "auth.notifications.account.locked.title": "Konto zablokowane",
131
- "auth.notifications.account.locked.body": "Twoje konto zostało zablokowane z powodów bezpieczeństwa. Skontaktuj się z pomocą techniczną.",
132
- "auth.notifications.login.newDevice.title": "Wykryto logowanie z nowego urządzenia",
133
- "auth.notifications.login.newDevice.body": "Wykryto logowanie z nieznanego urządzenia na Twoim koncie",
134
- "auth.notifications.role.assigned.title": "Przypisano nową rolę",
135
- "auth.notifications.role.assigned.body": "Przypisano Ci nową rolę z dodatkowymi uprawnieniami",
136
- "auth.notifications.role.revoked.title": "Rola usunięta",
137
- "auth.notifications.role.revoked.body": "Z Twojego konta usunięto rolę",
138
- "auth.actions.contactSupport": "Skontaktuj się z pomocą",
139
- "auth.actions.viewSessions": "Zobacz sesje",
140
- "auth.actions.viewPermissions": "Zobacz uprawnienia"
98
+ "auth.email.resetPassword.hint": "Jeśli nie prosiłeś o tę wiadomość, możesz ją bezpiecznie zignorować."
141
99
  }
@@ -396,7 +396,6 @@ async function ensureDefaultRoleAcls(
396
396
  'dashboards.admin.assign-widgets',
397
397
  'analytics.view',
398
398
  'api_keys.*',
399
- 'notifications.manage',
400
399
  'perspectives.use',
401
400
  'perspectives.role_defaults',
402
401
  'business_rules.*',
@@ -75,15 +75,15 @@ export class AuthService {
75
75
  return { user, token }
76
76
  }
77
77
 
78
- async confirmPasswordReset(token: string, newPassword: string): Promise<User | null> {
78
+ async confirmPasswordReset(token: string, newPassword: string) {
79
79
  const now = new Date()
80
80
  const row = await this.em.findOne(PasswordReset, { token })
81
- if (!row || (row.usedAt && row.usedAt <= now) || row.expiresAt <= now) return null
81
+ if (!row || (row.usedAt && row.usedAt <= now) || row.expiresAt <= now) return false
82
82
  const user = await this.em.findOne(User, { id: row.user.id })
83
- if (!user) return null
83
+ if (!user) return false
84
84
  user.passwordHash = await hash(newPassword, 10)
85
85
  row.usedAt = new Date()
86
86
  await this.em.flush()
87
- return user
87
+ return true
88
88
  }
89
89
  }
@@ -4,7 +4,6 @@ import type { OpenApiRouteDoc } from '@open-mercato/shared/lib/openapi'
4
4
  import { getAuthFromRequest } from '@open-mercato/shared/lib/auth/server'
5
5
  import { createRequestContainer } from '@open-mercato/shared/lib/di/container'
6
6
  import type { EntityManager } from '@mikro-orm/postgresql'
7
- import type { EventBus } from '@open-mercato/events'
8
7
  import { ruleEngineContextSchema } from '../../data/validators'
9
8
  import * as ruleEngine from '../../lib/rule-engine'
10
9
 
@@ -47,12 +46,6 @@ export async function POST(req: Request) {
47
46
 
48
47
  const container = await createRequestContainer()
49
48
  const em = container.resolve('em') as EntityManager
50
- let eventBus: EventBus | null = null
51
- try {
52
- eventBus = container.resolve('eventBus') as EventBus
53
- } catch {
54
- eventBus = null
55
- }
56
49
 
57
50
  let body: any
58
51
  try {
@@ -92,7 +85,7 @@ export async function POST(req: Request) {
92
85
  }
93
86
 
94
87
  try {
95
- const result = await ruleEngine.executeRules(em, context, { eventBus })
88
+ const result = await ruleEngine.executeRules(em, context)
96
89
 
97
90
  const response = {
98
91
  allowed: result.allowed,
@@ -264,17 +264,14 @@ export default function RulesListPage() {
264
264
  <RowActions
265
265
  items={[
266
266
  {
267
- id: 'edit',
268
267
  label: t('common.edit'),
269
268
  href: `/backend/rules/${row.original.id}`,
270
269
  },
271
270
  {
272
- id: row.original.enabled ? 'disable' : 'enable',
273
271
  label: row.original.enabled ? t('common.disable') : t('common.enable'),
274
272
  onSelect: () => handleToggleEnabled(row.original.id, row.original.enabled),
275
273
  },
276
274
  {
277
- id: 'duplicate',
278
275
  label: t('common.duplicate'),
279
276
  onSelect: () => {
280
277
  // TODO: Implement duplicate functionality in Step 5.2
@@ -282,7 +279,6 @@ export default function RulesListPage() {
282
279
  },
283
280
  },
284
281
  {
285
- id: 'delete',
286
282
  label: t('common.delete'),
287
283
  onSelect: () => handleDelete(row.original.id, row.original.ruleName),
288
284
  destructive: true,
@@ -196,17 +196,14 @@ export default function RuleSetsListPage() {
196
196
  <RowActions
197
197
  items={[
198
198
  {
199
- id: 'edit',
200
199
  label: t('common.edit'),
201
200
  href: `/backend/sets/${row.original.id}`,
202
201
  },
203
202
  {
204
- id: row.original.enabled ? 'disable' : 'enable',
205
203
  label: row.original.enabled ? t('common.disable') : t('common.enable'),
206
204
  onSelect: () => handleToggleEnabled(row.original.id, row.original.enabled),
207
205
  },
208
206
  {
209
- id: 'delete',
210
207
  label: t('common.delete'),
211
208
  onSelect: () => handleDelete(row.original.id, row.original.setName),
212
209
  destructive: true,
@@ -367,7 +367,5 @@
367
367
  "business_rules.components.conditionRow.field.comparisonPlaceholder": "e.g., user.role",
368
368
  "business_rules.components.conditionRow.value.help": "Use JSON for arrays: [\"a\",\"b\"]",
369
369
  "business_rules.components.conditionRow.field.comparisonHelp": "Field path to compare with",
370
- "business_rules.components.conditionRow.deleteCondition": "Delete condition",
371
- "businessRules.notifications.rule.executionFailed.title": "Business Rule Failed",
372
- "businessRules.notifications.rule.executionFailed.body": "Rule \"{ruleName}\" failed to execute{entityType, select, other { on {entityType}}}: {errorMessage}"
370
+ "business_rules.components.conditionRow.deleteCondition": "Delete condition"
373
371
  }
@@ -654,57 +654,6 @@ describe('Rule Engine (Unit Tests)', () => {
654
654
  expect(result.errors).toBeDefined()
655
655
  expect(result.errors![0]).toContain('Rule count limit exceeded')
656
656
  })
657
-
658
- test('should emit execution_failed event when rule evaluation fails', async () => {
659
- const mockRule: Partial<BusinessRule> = {
660
- id: 'rule-1',
661
- ruleId: 'TEST-001',
662
- ruleName: 'Test Rule',
663
- ruleType: 'ACTION',
664
- entityType: 'WorkOrder',
665
- conditionExpression: { field: 'status', operator: '=', value: 'RELEASED' },
666
- enabled: true,
667
- tenantId: testTenantId,
668
- organizationId: testOrgId,
669
- }
670
-
671
- mockEm.find.mockResolvedValue([mockRule as BusinessRule])
672
- mockEm.create.mockReturnValue({ id: 'log-1' } as any)
673
- mockEm.persistAndFlush.mockResolvedValue(undefined)
674
-
675
- jest.mocked(ruleEvaluator.evaluateSingleRule).mockResolvedValue({
676
- rule: mockRule as BusinessRule,
677
- conditionsPassed: false,
678
- evaluationCompleted: false,
679
- evaluationTime: 1,
680
- error: 'Evaluation error',
681
- })
682
-
683
- const eventBus = { emitEvent: jest.fn().mockResolvedValue(undefined) }
684
-
685
- const context: RuleEngineContext = {
686
- entityType: 'WorkOrder',
687
- entityId: testEntityId,
688
- data: { status: 'RELEASED' },
689
- tenantId: testTenantId,
690
- organizationId: testOrgId,
691
- dryRun: false,
692
- }
693
-
694
- await ruleEngine.executeRules(mockEm, context, { eventBus })
695
-
696
- expect(eventBus.emitEvent).toHaveBeenCalledWith(
697
- 'business_rules.rule.execution_failed',
698
- expect.objectContaining({
699
- ruleId: 'TEST-001',
700
- ruleName: 'Test Rule',
701
- entityType: 'WorkOrder',
702
- errorMessage: 'Evaluation error',
703
- tenantId: testTenantId,
704
- organizationId: testOrgId,
705
- })
706
- )
707
- })
708
657
  })
709
658
 
710
659
  describe('logRuleExecution', () => {
@@ -1,5 +1,4 @@
1
1
  import type { EntityManager } from '@mikro-orm/core'
2
- import type { EventBus } from '@open-mercato/events'
3
2
  import { BusinessRule, RuleExecutionLog, type RuleType } from '../data/entities'
4
3
  import * as ruleEvaluator from './rule-evaluator'
5
4
  import * as actionExecutor from './action-executor'
@@ -86,19 +85,6 @@ export interface RuleDiscoveryOptions {
86
85
  ruleType?: RuleType
87
86
  }
88
87
 
89
- export type RuleEngineExecutionOptions = {
90
- eventBus?: Pick<EventBus, 'emitEvent'> | null
91
- }
92
-
93
- type RuleExecutionFailedPayload = {
94
- ruleId: string
95
- ruleName: string
96
- entityType?: string | null
97
- errorMessage?: string | null
98
- tenantId: string
99
- organizationId?: string | null
100
- }
101
-
102
88
  /**
103
89
  * Execute a function with a timeout
104
90
  */
@@ -127,8 +113,7 @@ async function withTimeout<T>(
127
113
  */
128
114
  export async function executeRules(
129
115
  em: EntityManager,
130
- context: RuleEngineContext,
131
- options: RuleEngineExecutionOptions = {}
116
+ context: RuleEngineContext
132
117
  ): Promise<RuleEngineResult> {
133
118
  // Validate input
134
119
  const validation = ruleEngineContextSchema.safeParse(context)
@@ -174,7 +159,7 @@ export async function executeRules(
174
159
  const executionPromise = (async () => {
175
160
  for (const rule of rules) {
176
161
  try {
177
- const ruleResult = await executeSingleRule(em, rule, context, options)
162
+ const ruleResult = await executeSingleRule(em, rule, context)
178
163
  executedRules.push(ruleResult)
179
164
 
180
165
  if (ruleResult.logId) {
@@ -192,17 +177,6 @@ export async function executeRules(
192
177
  `Unexpected error in rule execution [ruleId=${rule.ruleId}, type=${rule.ruleType}]: ${errorMessage}`
193
178
  )
194
179
 
195
- if (!context.dryRun) {
196
- await emitRuleExecutionFailed(options.eventBus, {
197
- ruleId: rule.ruleId,
198
- ruleName: rule.ruleName,
199
- entityType: context.entityType ?? null,
200
- errorMessage,
201
- tenantId: context.tenantId,
202
- organizationId: context.organizationId ?? null,
203
- })
204
- }
205
-
206
180
  executedRules.push({
207
181
  rule,
208
182
  conditionResult: false,
@@ -259,8 +233,7 @@ export async function executeRules(
259
233
  export async function executeSingleRule(
260
234
  em: EntityManager,
261
235
  rule: BusinessRule,
262
- context: RuleEngineContext,
263
- options: RuleEngineExecutionOptions = {}
236
+ context: RuleEngineContext
264
237
  ): Promise<RuleExecutionResult> {
265
238
  const startTime = Date.now()
266
239
 
@@ -296,15 +269,6 @@ export async function executeSingleRule(
296
269
  executionTime,
297
270
  error: result.error,
298
271
  })
299
-
300
- await emitRuleExecutionFailed(options.eventBus, {
301
- ruleId: rule.ruleId,
302
- ruleName: rule.ruleName,
303
- entityType: context.entityType ?? null,
304
- errorMessage: result.error ?? null,
305
- tenantId: context.tenantId,
306
- organizationId: context.organizationId ?? null,
307
- })
308
272
  }
309
273
 
310
274
  return {
@@ -382,15 +346,6 @@ export async function executeSingleRule(
382
346
  executionTime,
383
347
  error: enhancedError,
384
348
  })
385
-
386
- await emitRuleExecutionFailed(options.eventBus, {
387
- ruleId: rule.ruleId,
388
- ruleName: rule.ruleName,
389
- entityType: context.entityType ?? null,
390
- errorMessage: enhancedError,
391
- tenantId: context.tenantId,
392
- organizationId: context.organizationId ?? null,
393
- })
394
349
  }
395
350
 
396
351
  return {
@@ -589,12 +544,3 @@ export async function logRuleExecution(
589
544
 
590
545
  return log.id
591
546
  }
592
-
593
- async function emitRuleExecutionFailed(
594
- eventBus: Pick<EventBus, 'emitEvent'> | null | undefined,
595
- payload: RuleExecutionFailedPayload
596
- ): Promise<void> {
597
- if (!eventBus?.emitEvent) return
598
-
599
- await eventBus.emitEvent('business_rules.rule.execution_failed', payload).catch(() => undefined)
600
- }
@@ -420,12 +420,10 @@ export function PriceKindSettings() {
420
420
  <RowActions
421
421
  items={[
422
422
  {
423
- id: 'edit',
424
423
  label: t('catalog.priceKinds.actions.edit', 'Edit'),
425
424
  onSelect: () => openDialog({ mode: 'edit', entry }),
426
425
  },
427
426
  {
428
- id: 'delete',
429
427
  label: t('catalog.priceKinds.actions.delete', 'Delete'),
430
428
  destructive: true,
431
429
  onSelect: () => { void handleDelete(entry) },
@@ -221,8 +221,8 @@ export default function CategoriesDataTable() {
221
221
  canManage ? (
222
222
  <RowActions
223
223
  items={[
224
- { id: 'edit', label: t('catalog.categories.list.actions.edit', 'Edit'), href: `/backend/catalog/categories/${row.id}/edit` },
225
- { id: 'delete', label: t('catalog.categories.list.actions.delete', 'Delete'), destructive: true, onSelect: () => handleDelete(row) },
224
+ { label: t('catalog.categories.list.actions.edit', 'Edit'), href: `/backend/catalog/categories/${row.id}/edit` },
225
+ { label: t('catalog.categories.list.actions.delete', 'Delete'), destructive: true, onSelect: () => handleDelete(row) },
226
226
  ]}
227
227
  />
228
228
  ) : null
@@ -650,12 +650,10 @@ export default function ProductsDataTable() {
650
650
  <RowActions
651
651
  items={[
652
652
  {
653
- id: 'edit',
654
653
  label: t('catalog.products.table.actions.edit', 'Edit'),
655
654
  href: `/backend/catalog/products/${row.id}`,
656
655
  },
657
656
  {
658
- id: 'delete',
659
657
  label: t('catalog.products.table.actions.delete', 'Delete'),
660
658
  destructive: true,
661
659
  onSelect: () => {
@@ -681,7 +681,5 @@
681
681
  "deleteError": "Failed to delete variant."
682
682
  }
683
683
  }
684
- },
685
- "catalog.notifications.product.lowStock.title": "Low Stock Alert",
686
- "catalog.notifications.product.lowStock.body": "{productName}{sku, select, other { ({sku})}} is running low on stock ({currentStock} remaining, threshold: {threshold})"
684
+ }
687
685
  }
@@ -2,7 +2,6 @@ import type { ModuleCli } from '@open-mercato/shared/modules/registry'
2
2
  import { createRequestContainer } from '@open-mercato/shared/lib/di/container'
3
3
  import type { ModuleConfigService } from './lib/module-config-service'
4
4
  import { parseBooleanToken } from '@open-mercato/shared/lib/boolean'
5
- import { DEFAULT_NOTIFICATION_DELIVERY_CONFIG, NOTIFICATIONS_DELIVERY_CONFIG_KEY } from '../notifications/lib/deliveryConfig'
6
5
 
7
6
  function envDisablesAutoIndexing(): boolean {
8
7
  const raw = process.env.DISABLE_VECTOR_SEARCH_AUTOINDEXING
@@ -32,11 +31,6 @@ const restoreDefaults: ModuleCli = {
32
31
  name: 'auto_index_enabled',
33
32
  value: defaultEnabled,
34
33
  },
35
- {
36
- moduleId: 'notifications',
37
- name: NOTIFICATIONS_DELIVERY_CONFIG_KEY,
38
- value: DEFAULT_NOTIFICATION_DELIVERY_CONFIG,
39
- },
40
34
  ],
41
35
  { force: true },
42
36
  )