@ozdao/martyrs 0.2.518 → 0.2.520

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 (509) hide show
  1. package/dist/_virtual/index.cjs +4 -4
  2. package/dist/_virtual/index.js +4 -4
  3. package/dist/_virtual/index2.cjs +4 -4
  4. package/dist/_virtual/index2.js +4 -4
  5. package/dist/{abac-Cf_9lCSh.js → abac-CnJsrv8S.js} +3 -3
  6. package/dist/{abac-6LjoG9u-.cjs → abac-DOyUjhee.cjs} +3 -3
  7. package/dist/builder.cjs +27 -25
  8. package/dist/builder.js +27 -25
  9. package/dist/chats.server.cjs +198 -1
  10. package/dist/chats.server.js +198 -1
  11. package/dist/{crud-sE7GLPbj.js → crud-BIFl1W1i.js} +6 -6
  12. package/dist/{crud-JN_LFj01.cjs → crud-CC6k6yY5.cjs} +6 -6
  13. package/dist/{globals.logger-CZMgIMlM.cjs → globals.logger-BuW7JHMY.cjs} +63 -53
  14. package/dist/{globals.logger-Bf6rRU7j.js → globals.logger-VRHh-WUW.js} +63 -53
  15. package/dist/{globals.observer-CV2wCzzh.cjs → globals.observer-C_FYclgV.cjs} +36 -1
  16. package/dist/{globals.observer-CDqUjVU5.js → globals.observer-MZsqaE6F.js} +36 -1
  17. package/dist/globals.server.cjs +1 -1
  18. package/dist/globals.server.js +1 -1
  19. package/dist/inventory.server.cjs +276 -376
  20. package/dist/inventory.server.js +276 -376
  21. package/dist/main-BM3GslOO.cjs +11 -0
  22. package/dist/{main-wmEhGVvD.js → main-Qcn7YlTx.js} +1834 -1830
  23. package/dist/martyrs/src/components/Address/{Address.vue2.cjs → Address.vue.cjs} +2 -2
  24. package/dist/martyrs/src/components/Address/{Address.vue2.js.map → Address.vue.cjs.map} +1 -1
  25. package/dist/martyrs/src/components/Address/{Address.vue2.js → Address.vue.js} +2 -2
  26. package/dist/martyrs/src/components/Address/Address.vue.js.map +1 -0
  27. package/dist/martyrs/src/components/Button/Button.vue.cjs +1 -1
  28. package/dist/martyrs/src/components/Button/Button.vue.cjs.map +1 -1
  29. package/dist/martyrs/src/components/Button/Button.vue.js +1 -1
  30. package/dist/martyrs/src/components/Button/Button.vue.js.map +1 -1
  31. package/dist/martyrs/src/components/Chips/{Chips.vue.cjs → Chips.vue2.cjs} +2 -2
  32. package/dist/martyrs/src/components/Chips/Chips.vue2.cjs.map +1 -0
  33. package/dist/martyrs/src/components/Chips/{Chips.vue.js → Chips.vue2.js} +2 -2
  34. package/dist/martyrs/src/components/Chips/Chips.vue2.js.map +1 -0
  35. package/dist/martyrs/src/components/Dropdown/{Dropdown.vue.cjs → Dropdown.vue2.cjs} +2 -2
  36. package/dist/martyrs/src/components/Dropdown/Dropdown.vue2.cjs.map +1 -0
  37. package/dist/martyrs/src/components/Dropdown/{Dropdown.vue.js → Dropdown.vue2.js} +2 -2
  38. package/dist/martyrs/src/components/Dropdown/{Dropdown.vue.cjs.map → Dropdown.vue2.js.map} +1 -1
  39. package/dist/martyrs/src/components/EditImages/EditImages.vue.cjs +0 -93
  40. package/dist/martyrs/src/components/EditImages/EditImages.vue.cjs.map +1 -1
  41. package/dist/martyrs/src/components/EditImages/EditImages.vue.js +1 -94
  42. package/dist/martyrs/src/components/EditImages/EditImages.vue.js.map +1 -1
  43. package/dist/martyrs/src/components/EditImages/EditImages.vue2.cjs +93 -0
  44. package/dist/martyrs/src/components/EditImages/EditImages.vue2.cjs.map +1 -1
  45. package/dist/martyrs/src/components/EditImages/EditImages.vue2.js +94 -1
  46. package/dist/martyrs/src/components/EditImages/EditImages.vue2.js.map +1 -1
  47. package/dist/martyrs/src/components/Feed/Feed.vue.cjs +2 -3
  48. package/dist/martyrs/src/components/Feed/Feed.vue.cjs.map +1 -1
  49. package/dist/martyrs/src/components/Feed/Feed.vue.js +2 -3
  50. package/dist/martyrs/src/components/Feed/Feed.vue.js.map +1 -1
  51. package/dist/martyrs/src/components/FieldTags/FieldTags.vue.cjs +1 -1
  52. package/dist/martyrs/src/components/FieldTags/FieldTags.vue.js +1 -1
  53. package/dist/martyrs/src/components/Loader/Loader.vue2.cjs +1 -1
  54. package/dist/martyrs/src/components/Loader/Loader.vue2.cjs.map +1 -1
  55. package/dist/martyrs/src/components/Loader/Loader.vue2.js +1 -1
  56. package/dist/martyrs/src/components/Loader/Loader.vue2.js.map +1 -1
  57. package/dist/martyrs/src/components/LocationMarker/{LocationMarker.vue2.cjs → LocationMarker.vue.cjs} +2 -2
  58. package/dist/martyrs/src/components/LocationMarker/{LocationMarker.vue2.js.map → LocationMarker.vue.cjs.map} +1 -1
  59. package/dist/martyrs/src/components/LocationMarker/{LocationMarker.vue2.js → LocationMarker.vue.js} +2 -2
  60. package/dist/martyrs/src/components/LocationMarker/LocationMarker.vue.js.map +1 -0
  61. package/dist/martyrs/src/components/Select/{Select.vue2.cjs → Select.vue.cjs} +2 -2
  62. package/dist/martyrs/src/components/Select/{Select.vue2.js.map → Select.vue.cjs.map} +1 -1
  63. package/dist/martyrs/src/components/Select/{Select.vue2.js → Select.vue.js} +2 -2
  64. package/dist/martyrs/src/components/Select/Select.vue.js.map +1 -0
  65. package/dist/martyrs/src/modules/auth/views/components/blocks/CardUser.vue.cjs +2 -2
  66. package/dist/martyrs/src/modules/auth/views/components/blocks/CardUser.vue.js +2 -2
  67. package/dist/martyrs/src/modules/auth/views/components/layouts/Auth.vue.cjs +1 -1
  68. package/dist/martyrs/src/modules/auth/views/components/layouts/Auth.vue.cjs.map +1 -1
  69. package/dist/martyrs/src/modules/auth/views/components/layouts/Auth.vue.js +1 -1
  70. package/dist/martyrs/src/modules/auth/views/components/layouts/Auth.vue.js.map +1 -1
  71. package/dist/martyrs/src/modules/auth/views/components/pages/Invite.vue.cjs +2 -2
  72. package/dist/martyrs/src/modules/auth/views/components/pages/Invite.vue.cjs.map +1 -1
  73. package/dist/martyrs/src/modules/auth/views/components/pages/Invite.vue.js +4 -4
  74. package/dist/martyrs/src/modules/auth/views/components/pages/Invite.vue.js.map +1 -1
  75. package/dist/martyrs/src/modules/auth/views/components/pages/Profile.vue.cjs +41 -51
  76. package/dist/martyrs/src/modules/auth/views/components/pages/Profile.vue.cjs.map +1 -1
  77. package/dist/martyrs/src/modules/auth/views/components/pages/Profile.vue.js +59 -69
  78. package/dist/martyrs/src/modules/auth/views/components/pages/Profile.vue.js.map +1 -1
  79. package/dist/martyrs/src/modules/auth/views/components/sections/SliderFeatures.vue.cjs +11 -13
  80. package/dist/martyrs/src/modules/auth/views/components/sections/SliderFeatures.vue.cjs.map +1 -1
  81. package/dist/martyrs/src/modules/auth/views/components/sections/SliderFeatures.vue.js +11 -13
  82. package/dist/martyrs/src/modules/auth/views/components/sections/SliderFeatures.vue.js.map +1 -1
  83. package/dist/martyrs/src/modules/auth/views/store/auth.cjs +10 -1
  84. package/dist/martyrs/src/modules/auth/views/store/auth.cjs.map +1 -1
  85. package/dist/martyrs/src/modules/auth/views/store/auth.js +10 -1
  86. package/dist/martyrs/src/modules/auth/views/store/auth.js.map +1 -1
  87. package/dist/martyrs/src/modules/backoffice/components/partials/Sidebar.vue.cjs +6 -0
  88. package/dist/martyrs/src/modules/backoffice/components/partials/Sidebar.vue.cjs.map +1 -1
  89. package/dist/martyrs/src/modules/backoffice/components/partials/Sidebar.vue.js +6 -0
  90. package/dist/martyrs/src/modules/backoffice/components/partials/Sidebar.vue.js.map +1 -1
  91. package/dist/martyrs/src/modules/chats/components/blocks/ChatMessage.vue.cjs +27 -11
  92. package/dist/martyrs/src/modules/chats/components/blocks/ChatMessage.vue.cjs.map +1 -1
  93. package/dist/martyrs/src/modules/chats/components/blocks/ChatMessage.vue.js +28 -12
  94. package/dist/martyrs/src/modules/chats/components/blocks/ChatMessage.vue.js.map +1 -1
  95. package/dist/martyrs/src/modules/chats/components/sections/ChatWindow.vue.cjs +62 -0
  96. package/dist/martyrs/src/modules/chats/components/sections/ChatWindow.vue.cjs.map +1 -1
  97. package/dist/martyrs/src/modules/chats/components/sections/ChatWindow.vue.js +63 -1
  98. package/dist/martyrs/src/modules/chats/components/sections/ChatWindow.vue.js.map +1 -1
  99. package/dist/martyrs/src/modules/chats/store/chat.store.cjs +60 -1
  100. package/dist/martyrs/src/modules/chats/store/chat.store.cjs.map +1 -1
  101. package/dist/martyrs/src/modules/chats/store/chat.store.js +60 -1
  102. package/dist/martyrs/src/modules/chats/store/chat.store.js.map +1 -1
  103. package/dist/martyrs/src/modules/community/components/blocks/CardBlogpost.vue.cjs +1 -1
  104. package/dist/martyrs/src/modules/community/components/blocks/CardBlogpost.vue.js +1 -1
  105. package/dist/martyrs/src/modules/community/components/layouts/Community.vue.cjs +3 -3
  106. package/dist/martyrs/src/modules/community/components/layouts/Community.vue.cjs.map +1 -1
  107. package/dist/martyrs/src/modules/community/components/layouts/Community.vue.js +3 -3
  108. package/dist/martyrs/src/modules/community/components/layouts/Community.vue.js.map +1 -1
  109. package/dist/martyrs/src/modules/community/components/pages/BlogPost.vue.cjs +2 -2
  110. package/dist/martyrs/src/modules/community/components/pages/BlogPost.vue.js +2 -2
  111. package/dist/martyrs/src/modules/community/components/pages/CreateBlogPost.vue.cjs +1 -1
  112. package/dist/martyrs/src/modules/community/components/pages/CreateBlogPost.vue.js +1 -1
  113. package/dist/martyrs/src/modules/community/components/pages/Posts.vue.cjs +50 -368
  114. package/dist/martyrs/src/modules/community/components/pages/Posts.vue.cjs.map +1 -1
  115. package/dist/martyrs/src/modules/community/components/pages/Posts.vue.js +53 -371
  116. package/dist/martyrs/src/modules/community/components/pages/Posts.vue.js.map +1 -1
  117. package/dist/martyrs/src/modules/events/components/blocks/CardEvent.vue.cjs +1 -1
  118. package/dist/martyrs/src/modules/events/components/blocks/CardEvent.vue.js +1 -1
  119. package/dist/martyrs/src/modules/events/components/pages/EditEvent.vue.cjs +1 -1
  120. package/dist/martyrs/src/modules/events/components/pages/EditEvent.vue.js +1 -1
  121. package/dist/martyrs/src/modules/events/components/pages/EditEventTickets.vue.cjs +1 -1
  122. package/dist/martyrs/src/modules/events/components/pages/EditEventTickets.vue.cjs.map +1 -1
  123. package/dist/martyrs/src/modules/events/components/pages/EditEventTickets.vue.js +1 -1
  124. package/dist/martyrs/src/modules/events/components/pages/EditEventTickets.vue.js.map +1 -1
  125. package/dist/martyrs/src/modules/events/components/pages/Event.vue.cjs +2 -3
  126. package/dist/martyrs/src/modules/events/components/pages/Event.vue.cjs.map +1 -1
  127. package/dist/martyrs/src/modules/events/components/pages/Event.vue.js +2 -3
  128. package/dist/martyrs/src/modules/events/components/pages/Event.vue.js.map +1 -1
  129. package/dist/martyrs/src/modules/events/components/pages/Events.vue.cjs +2 -2
  130. package/dist/martyrs/src/modules/events/components/pages/Events.vue.cjs.map +1 -1
  131. package/dist/martyrs/src/modules/events/components/pages/Events.vue.js +2 -2
  132. package/dist/martyrs/src/modules/events/components/pages/Events.vue.js.map +1 -1
  133. package/dist/martyrs/src/modules/gallery/components/sections/BackofficeGallery.vue.cjs +3 -3
  134. package/dist/martyrs/src/modules/gallery/components/sections/BackofficeGallery.vue.js +3 -3
  135. package/dist/martyrs/src/modules/globals/views/classes/globals.i18n.cjs +1 -1
  136. package/dist/martyrs/src/modules/globals/views/classes/globals.i18n.js +1 -1
  137. package/dist/martyrs/src/modules/globals/views/components/blocks/CardHeader.vue.cjs +2 -2
  138. package/dist/martyrs/src/modules/globals/views/components/blocks/CardHeader.vue.js +2 -2
  139. package/dist/martyrs/src/modules/globals/views/components/partials/Header.vue.cjs +2 -2
  140. package/dist/martyrs/src/modules/globals/views/components/partials/Header.vue.cjs.map +1 -1
  141. package/dist/martyrs/src/modules/globals/views/components/partials/Header.vue.js +2 -2
  142. package/dist/martyrs/src/modules/globals/views/components/partials/Header.vue.js.map +1 -1
  143. package/dist/martyrs/src/modules/globals/views/components/partials/LocationSelection.vue.cjs +2 -2
  144. package/dist/martyrs/src/modules/globals/views/components/partials/LocationSelection.vue.js +2 -2
  145. package/dist/martyrs/src/modules/globals/views/components/partials/Navigation.vue.cjs +1 -1
  146. package/dist/martyrs/src/modules/globals/views/components/partials/Navigation.vue.js +1 -1
  147. package/dist/martyrs/src/modules/globals/views/components/partials/Sidebar.vue.cjs +16 -3
  148. package/dist/martyrs/src/modules/globals/views/components/partials/Sidebar.vue.cjs.map +1 -1
  149. package/dist/martyrs/src/modules/globals/views/components/partials/Sidebar.vue.js +17 -4
  150. package/dist/martyrs/src/modules/globals/views/components/partials/Sidebar.vue.js.map +1 -1
  151. package/dist/martyrs/src/modules/globals/views/components/sections/Walkthrough.vue.cjs +1 -1
  152. package/dist/martyrs/src/modules/globals/views/mixins/mixins.cjs +7 -0
  153. package/dist/martyrs/src/modules/globals/views/mixins/mixins.cjs.map +1 -1
  154. package/dist/martyrs/src/modules/globals/views/mixins/mixins.js +7 -0
  155. package/dist/martyrs/src/modules/globals/views/mixins/mixins.js.map +1 -1
  156. package/dist/martyrs/src/modules/icons/pages/IconsPage.vue.cjs +1 -1
  157. package/dist/martyrs/src/modules/inventory/components/forms/AdjustmentForm.vue.cjs +67 -43
  158. package/dist/martyrs/src/modules/inventory/components/forms/AdjustmentForm.vue.cjs.map +1 -1
  159. package/dist/martyrs/src/modules/inventory/components/forms/AdjustmentForm.vue.js +68 -44
  160. package/dist/martyrs/src/modules/inventory/components/forms/AdjustmentForm.vue.js.map +1 -1
  161. package/dist/martyrs/src/modules/inventory/components/forms/ColumnSettingsMenu.vue.cjs +22 -7
  162. package/dist/martyrs/src/modules/inventory/components/forms/ColumnSettingsMenu.vue.cjs.map +1 -1
  163. package/dist/martyrs/src/modules/inventory/components/forms/ColumnSettingsMenu.vue.js +23 -8
  164. package/dist/martyrs/src/modules/inventory/components/forms/ColumnSettingsMenu.vue.js.map +1 -1
  165. package/dist/martyrs/src/modules/inventory/components/forms/HistoryView.vue.cjs +47 -32
  166. package/dist/martyrs/src/modules/inventory/components/forms/HistoryView.vue.cjs.map +1 -1
  167. package/dist/martyrs/src/modules/inventory/components/forms/HistoryView.vue.js +48 -33
  168. package/dist/martyrs/src/modules/inventory/components/forms/HistoryView.vue.js.map +1 -1
  169. package/dist/martyrs/src/modules/inventory/components/forms/StockAlertsForm.vue.cjs +47 -26
  170. package/dist/martyrs/src/modules/inventory/components/forms/StockAlertsForm.vue.cjs.map +1 -1
  171. package/dist/martyrs/src/modules/inventory/components/forms/StockAlertsForm.vue.js +48 -27
  172. package/dist/martyrs/src/modules/inventory/components/forms/StockAlertsForm.vue.js.map +1 -1
  173. package/dist/martyrs/src/modules/inventory/components/pages/Inventory.vue.cjs +42 -52
  174. package/dist/martyrs/src/modules/inventory/components/pages/Inventory.vue.cjs.map +1 -1
  175. package/dist/martyrs/src/modules/inventory/components/pages/Inventory.vue.js +43 -53
  176. package/dist/martyrs/src/modules/inventory/components/pages/Inventory.vue.js.map +1 -1
  177. package/dist/martyrs/src/modules/inventory/components/pages/InventoryEdit.vue.cjs +18 -18
  178. package/dist/martyrs/src/modules/inventory/components/pages/InventoryEdit.vue.cjs.map +1 -1
  179. package/dist/martyrs/src/modules/inventory/components/pages/InventoryEdit.vue.js +3 -3
  180. package/dist/martyrs/src/modules/inventory/components/pages/InventoryEdit.vue.js.map +1 -1
  181. package/dist/martyrs/src/modules/inventory/store/{ inventory.store.cjs → inventory.store.cjs} +46 -2
  182. package/dist/martyrs/src/modules/inventory/store/inventory.store.cjs.map +1 -0
  183. package/dist/martyrs/src/modules/inventory/store/{ inventory.store.js → inventory.store.js} +46 -2
  184. package/dist/martyrs/src/modules/inventory/store/inventory.store.js.map +1 -0
  185. package/dist/martyrs/src/modules/marketplace/views/components/layouts/Marketplace.vue.cjs +180 -19
  186. package/dist/martyrs/src/modules/marketplace/views/components/layouts/Marketplace.vue.cjs.map +1 -1
  187. package/dist/martyrs/src/modules/marketplace/views/components/layouts/Marketplace.vue.js +181 -20
  188. package/dist/martyrs/src/modules/marketplace/views/components/layouts/Marketplace.vue.js.map +1 -1
  189. package/dist/martyrs/src/modules/music/components/forms/AlbumForm.vue.cjs +1 -1
  190. package/dist/martyrs/src/modules/music/components/forms/AlbumForm.vue.js +1 -1
  191. package/dist/martyrs/src/modules/music/components/forms/ArtistForm.vue.cjs +1 -1
  192. package/dist/martyrs/src/modules/music/components/forms/ArtistForm.vue.js +1 -1
  193. package/dist/martyrs/src/modules/music/components/forms/TrackForm.vue.cjs +1 -1
  194. package/dist/martyrs/src/modules/music/components/forms/TrackForm.vue.js +1 -1
  195. package/dist/martyrs/src/modules/music/components/pages/Album.vue.cjs +1 -1
  196. package/dist/martyrs/src/modules/music/components/pages/Album.vue.js +1 -1
  197. package/dist/martyrs/src/modules/music/components/pages/Playlist.vue.cjs +1 -1
  198. package/dist/martyrs/src/modules/music/components/pages/Playlist.vue.js +1 -1
  199. package/dist/martyrs/src/modules/music/components/pages/Track.vue.cjs +1 -1
  200. package/dist/martyrs/src/modules/music/components/pages/Track.vue.js +1 -1
  201. package/dist/martyrs/src/modules/music/router/music.cjs +1 -2
  202. package/dist/martyrs/src/modules/music/router/music.cjs.map +1 -1
  203. package/dist/martyrs/src/modules/music/router/music.js +1 -2
  204. package/dist/martyrs/src/modules/music/router/music.js.map +1 -1
  205. package/dist/martyrs/src/modules/orders/components/blocks/CardOrderBackoffice.vue.cjs +2 -2
  206. package/dist/martyrs/src/modules/orders/components/blocks/CardOrderBackoffice.vue.cjs.map +1 -1
  207. package/dist/martyrs/src/modules/orders/components/blocks/CardOrderBackoffice.vue.js +2 -2
  208. package/dist/martyrs/src/modules/orders/components/blocks/CardOrderBackoffice.vue.js.map +1 -1
  209. package/dist/martyrs/src/modules/orders/components/forms/FormApplicationDetails.vue.cjs +1 -1
  210. package/dist/martyrs/src/modules/orders/components/forms/FormApplicationDetails.vue.js +1 -1
  211. package/dist/martyrs/src/modules/orders/components/forms/FormCustomerDetails.vue.cjs +1 -1
  212. package/dist/martyrs/src/modules/orders/components/forms/FormCustomerDetails.vue.js +1 -1
  213. package/dist/martyrs/src/modules/orders/components/pages/OrderBackoffice.vue.cjs +1 -1
  214. package/dist/martyrs/src/modules/orders/components/pages/OrderBackoffice.vue.js +1 -1
  215. package/dist/martyrs/src/modules/orders/components/sections/FormDelivery.vue.cjs +3 -4
  216. package/dist/martyrs/src/modules/orders/components/sections/FormDelivery.vue.cjs.map +1 -1
  217. package/dist/martyrs/src/modules/orders/components/sections/FormDelivery.vue.js +3 -4
  218. package/dist/martyrs/src/modules/orders/components/sections/FormDelivery.vue.js.map +1 -1
  219. package/dist/martyrs/src/modules/orders/components/sections/FormPayment.vue.cjs +1 -1
  220. package/dist/martyrs/src/modules/orders/components/sections/FormPayment.vue.js +1 -1
  221. package/dist/martyrs/src/modules/orders/orders.client.cjs +2 -2
  222. package/dist/martyrs/src/modules/orders/orders.client.cjs.map +1 -1
  223. package/dist/martyrs/src/modules/orders/orders.client.js +2 -2
  224. package/dist/martyrs/src/modules/orders/orders.client.js.map +1 -1
  225. package/dist/martyrs/src/modules/orders/router/customers.router.cjs +1 -1
  226. package/dist/martyrs/src/modules/orders/router/customers.router.cjs.map +1 -1
  227. package/dist/martyrs/src/modules/orders/router/customers.router.js +1 -1
  228. package/dist/martyrs/src/modules/orders/router/customers.router.js.map +1 -1
  229. package/dist/martyrs/src/modules/organizations/components/blocks/CardDepartment.vue.cjs +2 -24
  230. package/dist/martyrs/src/modules/organizations/components/blocks/CardDepartment.vue.cjs.map +1 -1
  231. package/dist/martyrs/src/modules/organizations/components/blocks/CardDepartment.vue.js +5 -27
  232. package/dist/martyrs/src/modules/organizations/components/blocks/CardDepartment.vue.js.map +1 -1
  233. package/dist/martyrs/src/modules/organizations/components/blocks/CardOrganization.vue.cjs +1 -1
  234. package/dist/martyrs/src/modules/organizations/components/blocks/CardOrganization.vue.js +1 -1
  235. package/dist/martyrs/src/modules/organizations/components/blocks/Socials.vue.cjs +4 -1
  236. package/dist/martyrs/src/modules/organizations/components/blocks/Socials.vue.cjs.map +1 -1
  237. package/dist/martyrs/src/modules/organizations/components/blocks/Socials.vue.js +4 -1
  238. package/dist/martyrs/src/modules/organizations/components/blocks/Socials.vue.js.map +1 -1
  239. package/dist/martyrs/src/modules/organizations/components/elements/ButtonToggleMembership.vue.cjs +3 -3
  240. package/dist/martyrs/src/modules/organizations/components/elements/ButtonToggleMembership.vue.cjs.map +1 -1
  241. package/dist/martyrs/src/modules/organizations/components/elements/ButtonToggleMembership.vue.js +3 -3
  242. package/dist/martyrs/src/modules/organizations/components/elements/ButtonToggleMembership.vue.js.map +1 -1
  243. package/dist/martyrs/src/modules/organizations/components/forms/AddExistingMembersForm.vue.cjs +195 -0
  244. package/dist/martyrs/src/modules/organizations/components/forms/AddExistingMembersForm.vue.cjs.map +1 -0
  245. package/dist/martyrs/src/modules/organizations/components/forms/AddExistingMembersForm.vue.js +195 -0
  246. package/dist/martyrs/src/modules/organizations/components/forms/AddExistingMembersForm.vue.js.map +1 -0
  247. package/dist/martyrs/src/modules/organizations/components/forms/DepartmentForm.vue.cjs +402 -0
  248. package/dist/martyrs/src/modules/organizations/components/forms/DepartmentForm.vue.cjs.map +1 -0
  249. package/dist/martyrs/src/modules/organizations/components/forms/DepartmentForm.vue.js +402 -0
  250. package/dist/martyrs/src/modules/organizations/components/forms/DepartmentForm.vue.js.map +1 -0
  251. package/dist/martyrs/src/modules/organizations/components/forms/InviteForm.vue.cjs +86 -0
  252. package/dist/martyrs/src/modules/organizations/components/forms/InviteForm.vue.cjs.map +1 -0
  253. package/dist/martyrs/src/modules/organizations/components/forms/InviteForm.vue.js +86 -0
  254. package/dist/martyrs/src/modules/organizations/components/forms/InviteForm.vue.js.map +1 -0
  255. package/dist/martyrs/src/modules/organizations/components/pages/Department.vue.cjs +10 -10
  256. package/dist/martyrs/src/modules/organizations/components/pages/Department.vue.cjs.map +1 -1
  257. package/dist/martyrs/src/modules/organizations/components/pages/Department.vue.js +11 -11
  258. package/dist/martyrs/src/modules/organizations/components/pages/Department.vue.js.map +1 -1
  259. package/dist/martyrs/src/modules/organizations/components/pages/Members.vue.cjs +279 -191
  260. package/dist/martyrs/src/modules/organizations/components/pages/Members.vue.cjs.map +1 -1
  261. package/dist/martyrs/src/modules/organizations/components/pages/Members.vue.js +285 -197
  262. package/dist/martyrs/src/modules/organizations/components/pages/Members.vue.js.map +1 -1
  263. package/dist/martyrs/src/modules/organizations/components/pages/Organization.vue.cjs +7 -7
  264. package/dist/martyrs/src/modules/organizations/components/pages/Organization.vue.cjs.map +1 -1
  265. package/dist/martyrs/src/modules/organizations/components/pages/Organization.vue.js +7 -7
  266. package/dist/martyrs/src/modules/organizations/components/pages/Organization.vue.js.map +1 -1
  267. package/dist/martyrs/src/modules/organizations/components/pages/OrganizationEdit.vue.cjs +2 -2
  268. package/dist/martyrs/src/modules/organizations/components/pages/OrganizationEdit.vue.cjs.map +1 -1
  269. package/dist/martyrs/src/modules/organizations/components/pages/OrganizationEdit.vue.js +2 -2
  270. package/dist/martyrs/src/modules/organizations/components/pages/OrganizationEdit.vue.js.map +1 -1
  271. package/dist/martyrs/src/modules/organizations/components/pages/Organizations.vue.cjs +1 -1
  272. package/dist/martyrs/src/modules/organizations/components/pages/Organizations.vue.cjs.map +1 -1
  273. package/dist/martyrs/src/modules/organizations/components/pages/Organizations.vue.js +1 -1
  274. package/dist/martyrs/src/modules/organizations/components/pages/Organizations.vue.js.map +1 -1
  275. package/dist/martyrs/src/modules/organizations/components/sections/MembersAdd.vue.cjs +1 -1
  276. package/dist/martyrs/src/modules/organizations/components/sections/MembersAdd.vue.js +1 -1
  277. package/dist/martyrs/src/modules/organizations/components/sections/Organizations.vue.cjs +3 -3
  278. package/dist/martyrs/src/modules/organizations/components/sections/Organizations.vue.cjs.map +1 -1
  279. package/dist/martyrs/src/modules/organizations/components/sections/Organizations.vue.js +3 -3
  280. package/dist/martyrs/src/modules/organizations/components/sections/Organizations.vue.js.map +1 -1
  281. package/dist/martyrs/src/modules/organizations/components/sections/Publics.vue.cjs +4 -4
  282. package/dist/martyrs/src/modules/organizations/components/sections/Publics.vue.cjs.map +1 -1
  283. package/dist/martyrs/src/modules/organizations/components/sections/Publics.vue.js +4 -4
  284. package/dist/martyrs/src/modules/organizations/components/sections/Publics.vue.js.map +1 -1
  285. package/dist/martyrs/src/modules/organizations/configs/navigation.organization.config.cjs +42 -41
  286. package/dist/martyrs/src/modules/organizations/configs/navigation.organization.config.cjs.map +1 -1
  287. package/dist/martyrs/src/modules/organizations/configs/navigation.organization.config.js +53 -52
  288. package/dist/martyrs/src/modules/organizations/configs/navigation.organization.config.js.map +1 -1
  289. package/dist/martyrs/src/modules/organizations/organizations.client.cjs +23 -16
  290. package/dist/martyrs/src/modules/organizations/organizations.client.cjs.map +1 -1
  291. package/dist/martyrs/src/modules/organizations/organizations.client.js +35 -28
  292. package/dist/martyrs/src/modules/organizations/organizations.client.js.map +1 -1
  293. package/dist/martyrs/src/modules/organizations/router/departments.router.cjs +0 -18
  294. package/dist/martyrs/src/modules/organizations/router/departments.router.cjs.map +1 -1
  295. package/dist/martyrs/src/modules/organizations/router/departments.router.js +0 -18
  296. package/dist/martyrs/src/modules/organizations/router/departments.router.js.map +1 -1
  297. package/dist/martyrs/src/modules/organizations/store/departments.store.cjs +6 -0
  298. package/dist/martyrs/src/modules/organizations/store/departments.store.cjs.map +1 -0
  299. package/dist/martyrs/src/modules/organizations/store/departments.store.js +6 -0
  300. package/dist/martyrs/src/modules/organizations/store/departments.store.js.map +1 -0
  301. package/dist/martyrs/src/modules/organizations/store/invites.store.cjs +6 -0
  302. package/dist/martyrs/src/modules/organizations/store/invites.store.cjs.map +1 -0
  303. package/dist/martyrs/src/modules/organizations/store/invites.store.js +6 -0
  304. package/dist/martyrs/src/modules/organizations/store/invites.store.js.map +1 -0
  305. package/dist/martyrs/src/modules/organizations/store/memberships.store.cjs +20 -0
  306. package/dist/martyrs/src/modules/organizations/store/memberships.store.cjs.map +1 -0
  307. package/dist/martyrs/src/modules/organizations/store/memberships.store.js +20 -0
  308. package/dist/martyrs/src/modules/organizations/store/memberships.store.js.map +1 -0
  309. package/dist/martyrs/src/modules/products/components/blocks/ProductDiscounts.vue.cjs +1 -1
  310. package/dist/martyrs/src/modules/products/components/blocks/ProductDiscounts.vue.js +1 -1
  311. package/dist/martyrs/src/modules/products/components/pages/CategoryEdit.vue.cjs +3 -4
  312. package/dist/martyrs/src/modules/products/components/pages/CategoryEdit.vue.cjs.map +1 -1
  313. package/dist/martyrs/src/modules/products/components/pages/CategoryEdit.vue.js +3 -4
  314. package/dist/martyrs/src/modules/products/components/pages/CategoryEdit.vue.js.map +1 -1
  315. package/dist/martyrs/src/modules/products/components/pages/ProductEdit.vue.cjs +2 -2
  316. package/dist/martyrs/src/modules/products/components/pages/ProductEdit.vue.js +2 -2
  317. package/dist/martyrs/src/modules/products/components/pages/Products.vue.cjs +1 -1
  318. package/dist/martyrs/src/modules/products/components/pages/Products.vue.cjs.map +1 -1
  319. package/dist/martyrs/src/modules/products/components/pages/Products.vue.js +1 -1
  320. package/dist/martyrs/src/modules/products/components/pages/Products.vue.js.map +1 -1
  321. package/dist/martyrs/src/modules/products/components/sections/EditDiscounts.vue.cjs +1 -1
  322. package/dist/martyrs/src/modules/products/components/sections/EditDiscounts.vue.js +1 -1
  323. package/dist/martyrs/src/modules/products/components/sections/EditVariants.vue.cjs +2 -2
  324. package/dist/martyrs/src/modules/products/components/sections/EditVariants.vue.js +2 -2
  325. package/dist/martyrs/src/modules/rents/views/components/pages/Gant/GanttToolbar.vue.cjs +1 -1
  326. package/dist/martyrs/src/modules/rents/views/components/pages/Gant/GanttToolbar.vue.js +1 -1
  327. package/dist/martyrs/src/modules/reports/components/sections/FormReport.vue.cjs +1 -1
  328. package/dist/martyrs/src/modules/reports/components/sections/FormReport.vue.js +1 -1
  329. package/dist/martyrs/src/modules/spots/components/blocks/CardSpot.vue.cjs +3 -3
  330. package/dist/martyrs/src/modules/spots/components/blocks/CardSpot.vue.cjs.map +1 -1
  331. package/dist/martyrs/src/modules/spots/components/blocks/CardSpot.vue.js +3 -3
  332. package/dist/martyrs/src/modules/spots/components/blocks/CardSpot.vue.js.map +1 -1
  333. package/dist/martyrs/src/modules/spots/components/blocks/SpotMemberModify.vue.cjs +1 -1
  334. package/dist/martyrs/src/modules/spots/components/blocks/SpotMemberModify.vue.js +1 -1
  335. package/dist/martyrs/src/modules/spots/components/layouts/Spots.vue.cjs +1 -1
  336. package/dist/martyrs/src/modules/spots/components/layouts/Spots.vue.js +1 -1
  337. package/dist/martyrs/src/modules/spots/components/pages/SpotEdit.vue.cjs +3 -3
  338. package/dist/martyrs/src/modules/spots/components/pages/SpotEdit.vue.js +3 -3
  339. package/dist/martyrs/src/modules/spots/components/pages/Spots.vue.cjs +60 -272
  340. package/dist/martyrs/src/modules/spots/components/pages/Spots.vue.cjs.map +1 -1
  341. package/dist/martyrs/src/modules/spots/components/pages/Spots.vue.js +62 -274
  342. package/dist/martyrs/src/modules/spots/components/pages/Spots.vue.js.map +1 -1
  343. package/dist/martyrs/src/modules/spots/components/sections/WorktimeEdit.vue.cjs +1 -1
  344. package/dist/martyrs/src/modules/spots/components/sections/WorktimeEdit.vue.js +1 -1
  345. package/dist/martyrs/src/modules/wallet/views/components/blocks/CryptoDeposit.vue.cjs +1 -1
  346. package/dist/martyrs/src/modules/wallet/views/components/blocks/CryptoDeposit.vue.js +1 -1
  347. package/dist/martyrs/src/modules/wallet/views/components/pages/Wallet.vue.cjs +4 -4
  348. package/dist/martyrs/src/modules/wallet/views/components/pages/Wallet.vue.js +4 -4
  349. package/dist/martyrs.cjs.js +1 -1
  350. package/dist/martyrs.css +1 -1
  351. package/dist/martyrs.es.js +1 -1
  352. package/dist/music.server.cjs +9 -9
  353. package/dist/music.server.js +9 -9
  354. package/dist/notifications.server.cjs +0 -24
  355. package/dist/notifications.server.js +0 -24
  356. package/dist/orders.server.cjs +3 -6
  357. package/dist/orders.server.js +3 -6
  358. package/dist/organizations.server.cjs +119 -43
  359. package/dist/organizations.server.js +119 -43
  360. package/dist/products.server.cjs +5 -5
  361. package/dist/products.server.js +5 -5
  362. package/dist/rents.server.cjs +3 -3
  363. package/dist/rents.server.js +3 -3
  364. package/dist/style.css +16 -17
  365. package/dist/wallet.server.cjs +2 -2
  366. package/dist/wallet.server.js +2 -2
  367. package/dist/{web-B5wZTKbK.cjs → web-B0cfxzgu.cjs} +1 -1
  368. package/dist/{web-520xCgXy.js → web-DVR8m2fm.js} +1 -1
  369. package/package.json +1 -1
  370. package/src/builder/modes/ssr.rspack.dev.js +20 -12
  371. package/src/builder/rspack/rspack.config.base.js +16 -15
  372. package/src/components/Button/Button.vue +1 -1
  373. package/src/components/Feed/Feed.old.vue +0 -1
  374. package/src/components/Feed/Feed.vue +1 -31
  375. package/src/components/Loader/Loader.vue +1 -1
  376. package/src/modules/auth/FIXES.md +61 -0
  377. package/src/modules/auth/PROMT.md +33 -0
  378. package/src/modules/auth/auth.server.js +1 -0
  379. package/src/modules/auth/views/components/blocks/CardUser.vue +2 -2
  380. package/src/modules/auth/views/components/layouts/Auth.vue +1 -1
  381. package/src/modules/auth/views/components/pages/Invite.vue +2 -2
  382. package/src/modules/auth/views/components/pages/Profile.vue +33 -48
  383. package/src/modules/auth/views/components/sections/SliderFeatures.vue +5 -7
  384. package/src/modules/auth/views/store/auth.js +16 -1
  385. package/src/modules/auth//320/220/320/240/320/245/320/230/320/242/320/225/320/232/320/242/320/243/320/240/320/220.md +445 -0
  386. package/src/modules/backoffice/components/partials/Sidebar.vue +6 -0
  387. package/src/modules/chats/CLAUDE.md +137 -0
  388. package/src/modules/chats/components/blocks/ChatMessage.vue +12 -0
  389. package/src/modules/chats/components/sections/ChatWindow.vue +84 -2
  390. package/src/modules/chats/controllers/chats.controller.js +187 -0
  391. package/src/modules/chats/models/chat.model.js +21 -0
  392. package/src/modules/chats/routes/chats.routes.js +46 -0
  393. package/src/modules/chats/store/chat.store.js +67 -0
  394. package/src/modules/community/components/layouts/Community.vue +2 -2
  395. package/src/modules/community/components/pages/Posts.vue +3 -328
  396. package/src/modules/events/components/pages/EditEventTickets.vue +1 -1
  397. package/src/modules/events/components/pages/Events.vue +2 -2
  398. package/src/modules/globals/controllers/classes/globals.cache.js +64 -55
  399. package/src/modules/globals/controllers/classes/globals.logger.js +40 -4
  400. package/src/modules/globals/controllers/classes/globals.observer.js +54 -4
  401. package/src/modules/globals/views/components/partials/Header.vue +1 -1
  402. package/src/modules/globals/views/components/partials/Sidebar.vue +17 -13
  403. package/src/modules/globals/views/mixins/mixins.js +7 -0
  404. package/src/modules/inventory/CLAUDE.md +330 -0
  405. package/src/modules/inventory/PROMT.md +25 -0
  406. package/src/modules/inventory/components/forms/AdjustmentForm.vue +53 -36
  407. package/src/modules/inventory/components/forms/ColumnSettingsMenu.vue +11 -6
  408. package/src/modules/inventory/components/forms/HistoryView.vue +21 -9
  409. package/src/modules/inventory/components/forms/StockAlertsForm.vue +33 -22
  410. package/src/modules/inventory/components/pages/Inventory.vue +40 -40
  411. package/src/modules/inventory/components/pages/InventoryEdit.vue +1 -1
  412. package/src/modules/inventory/docs/01-intro.md +126 -0
  413. package/src/modules/inventory/docs/02-architecture.md +266 -0
  414. package/src/modules/inventory/docs/03-components-and-relationships.md +338 -0
  415. package/src/modules/inventory/docs/04-business-logic-and-algorithms.md +376 -0
  416. package/src/modules/inventory/docs/05-api-specification.md +356 -0
  417. package/src/modules/inventory/docs/06-access-control.md +320 -0
  418. package/src/modules/inventory/inventory.server.js +6 -2
  419. package/src/modules/inventory/{services → middlewares}/inventory.verifier.js +5 -16
  420. package/src/modules/inventory/models/stock.availability.model.js +20 -7
  421. package/src/modules/inventory/routes/inventory.routes.js +14 -17
  422. package/src/modules/inventory/services/adjustment.service.js +137 -0
  423. package/src/modules/inventory/services/audit.service.js +160 -0
  424. package/src/modules/inventory/services/availability.service.js +323 -0
  425. package/src/modules/inventory/services/inventory.helpers.old.js +217 -0
  426. package/src/modules/inventory/store/{ inventory.store.js → inventory.store.js} +0 -14
  427. package/src/modules/inventory/workers/inventory.availability.worker.js +29 -30
  428. package/src/modules/marketplace/views/components/layouts/Marketplace.vue +160 -8
  429. package/src/modules/notifications/controllers/notifications.controller.js +0 -6
  430. package/src/modules/notifications/services/notification.service.js +1 -17
  431. package/src/modules/notifications/services/web-push.service.js +0 -2
  432. package/src/modules/orders/components/blocks/CardOrderBackoffice.vue +2 -2
  433. package/src/modules/orders/components/blocks/CardOrderVar1.vue +1 -1
  434. package/src/modules/orders/controllers/orders.controller.js +2 -4
  435. package/src/modules/orders/orders.client.js +2 -2
  436. package/src/modules/orders/router/customers.router.js +1 -1
  437. package/src/modules/organizations/CLAUDE.md +259 -0
  438. package/src/modules/organizations/components/blocks/CardDepartment.vue +1 -22
  439. package/src/modules/organizations/components/blocks/Socials.vue +1 -1
  440. package/src/modules/organizations/components/elements/ButtonToggleMembership.vue +3 -3
  441. package/src/modules/organizations/components/forms/AddExistingMembersForm.vue +191 -0
  442. package/src/modules/organizations/components/forms/DepartmentForm.vue +390 -0
  443. package/src/modules/organizations/components/forms/InviteForm.vue +81 -0
  444. package/src/modules/organizations/components/pages/Department.vue +10 -10
  445. package/src/modules/organizations/components/pages/DepartmentEdit.vue +8 -8
  446. package/src/modules/organizations/components/pages/Members.vue +265 -171
  447. package/src/modules/organizations/components/pages/Organization.new.vue +172 -183
  448. package/src/modules/organizations/components/pages/Organization.vue +6 -6
  449. package/src/modules/organizations/components/pages/OrganizationEdit.vue +1 -1
  450. package/src/modules/organizations/components/pages/Organizations.vue +1 -1
  451. package/src/modules/organizations/components/sections/Organizations.vue +2 -2
  452. package/src/modules/organizations/components/sections/Publics.vue +4 -4
  453. package/src/modules/organizations/configs/navigation.organization.config.js +40 -39
  454. package/src/modules/organizations/controllers/departments.controller.js +53 -34
  455. package/src/modules/organizations/controllers/invites.controller.js +44 -5
  456. package/src/modules/organizations/controllers/memberships.controller.js +43 -4
  457. package/src/modules/organizations/organizations.client.js +24 -15
  458. package/src/modules/organizations/router/departments.router.js +0 -18
  459. package/src/modules/organizations/routes/departments.routes.js +6 -8
  460. package/src/modules/organizations/routes/invites.routes.js +6 -4
  461. package/src/modules/organizations/routes/memberships.routes.js +6 -5
  462. package/src/modules/organizations/routes/organizations.routes.js +1 -1
  463. package/src/modules/organizations/store/departments.store.js +5 -0
  464. package/src/modules/organizations/store/invites.store.js +5 -0
  465. package/src/modules/organizations/store/memberships.store.js +23 -0
  466. package/src/modules/products/components/pages/Products.vue +0 -1
  467. package/src/modules/spots/components/blocks/CardSpot.vue +1 -1
  468. package/src/modules/spots/components/pages/Spots.vue +3 -203
  469. package/src/styles/base/all.scss +0 -15
  470. package/src/styles/responsive.scss +1 -31
  471. package/src/styles/typography.scss +20 -5
  472. package/dist/main-CSzPfQYR.cjs +0 -11
  473. package/dist/martyrs/src/components/Address/Address.vue2.cjs.map +0 -1
  474. package/dist/martyrs/src/components/Chips/Chips.vue.cjs.map +0 -1
  475. package/dist/martyrs/src/components/Chips/Chips.vue.js.map +0 -1
  476. package/dist/martyrs/src/components/Dropdown/Dropdown.vue.js.map +0 -1
  477. package/dist/martyrs/src/components/LocationMarker/LocationMarker.vue2.cjs.map +0 -1
  478. package/dist/martyrs/src/components/Select/Select.vue2.cjs.map +0 -1
  479. package/dist/martyrs/src/modules/globals/views/components/blocks/BlockFilter.vue.cjs +0 -76
  480. package/dist/martyrs/src/modules/globals/views/components/blocks/BlockFilter.vue.cjs.map +0 -1
  481. package/dist/martyrs/src/modules/globals/views/components/blocks/BlockFilter.vue.js +0 -76
  482. package/dist/martyrs/src/modules/globals/views/components/blocks/BlockFilter.vue.js.map +0 -1
  483. package/dist/martyrs/src/modules/inventory/store/ inventory.store.cjs.map +0 -1
  484. package/dist/martyrs/src/modules/inventory/store/ inventory.store.js.map +0 -1
  485. package/dist/martyrs/src/modules/organizations/components/pages/DepartmentEdit.vue.cjs +0 -280
  486. package/dist/martyrs/src/modules/organizations/components/pages/DepartmentEdit.vue.cjs.map +0 -1
  487. package/dist/martyrs/src/modules/organizations/components/pages/DepartmentEdit.vue.js +0 -280
  488. package/dist/martyrs/src/modules/organizations/components/pages/DepartmentEdit.vue.js.map +0 -1
  489. package/dist/martyrs/src/modules/organizations/store/departments.cjs +0 -121
  490. package/dist/martyrs/src/modules/organizations/store/departments.cjs.map +0 -1
  491. package/dist/martyrs/src/modules/organizations/store/departments.js +0 -121
  492. package/dist/martyrs/src/modules/organizations/store/departments.js.map +0 -1
  493. package/dist/martyrs/src/modules/organizations/store/invites.cjs +0 -64
  494. package/dist/martyrs/src/modules/organizations/store/invites.cjs.map +0 -1
  495. package/dist/martyrs/src/modules/organizations/store/invites.js +0 -64
  496. package/dist/martyrs/src/modules/organizations/store/invites.js.map +0 -1
  497. package/dist/martyrs/src/modules/organizations/store/memberships.cjs +0 -87
  498. package/dist/martyrs/src/modules/organizations/store/memberships.cjs.map +0 -1
  499. package/dist/martyrs/src/modules/organizations/store/memberships.js +0 -87
  500. package/dist/martyrs/src/modules/organizations/store/memberships.js.map +0 -1
  501. package/src/modules/globals/controllers/classes/globals.websocket.ws.js +0 -102
  502. package/src/modules/globals/views/components/blocks/BlockFilter.vue +0 -60
  503. package/src/modules/inventory/docs/README.md +0 -291
  504. package/src/modules/inventory/models/stock.balance.model.js +0 -43
  505. package/src/modules/inventory/services/inventory.crud.js +0 -710
  506. package/src/modules/inventory/tests/inventory.test.js +0 -281
  507. package/src/modules/organizations/store/departments.js +0 -137
  508. package/src/modules/organizations/store/invites.js +0 -76
  509. package/src/modules/organizations/store/memberships.js +0 -110
@@ -2,17 +2,19 @@ class Observer {
2
2
  constructor() {
3
3
  this.listeners = {};
4
4
  }
5
+
5
6
  subscribe(eventType, callback, once = false) {
6
7
  if (!this.listeners[eventType]) {
7
8
  this.listeners[eventType] = new Map();
8
9
  }
9
10
  this.listeners[eventType].set(callback, { once });
10
11
  }
12
+
11
13
  async notify(eventType, data) {
12
14
  if (this.listeners[eventType]) {
13
15
  const promises = [];
14
16
  const callbacksToRemove = [];
15
- // Create a list of promises for all callbacks
17
+
16
18
  for (const [callback, { once }] of this.listeners[eventType]) {
17
19
  const promise = Promise.resolve()
18
20
  .then(() => callback(data))
@@ -20,13 +22,14 @@ class Observer {
20
22
  console.error('Error executing callback:', error);
21
23
  });
22
24
  promises.push(promise);
25
+
23
26
  if (once) {
24
27
  callbacksToRemove.push(callback);
25
28
  }
26
29
  }
27
- // Wait for all promises to settle
30
+
28
31
  await Promise.all(promises);
29
- // Remove callbacks that are set to run only once
32
+
30
33
  for (const callback of callbacksToRemove) {
31
34
  this.listeners[eventType].delete(callback);
32
35
  if (this.listeners[eventType].size === 0) {
@@ -35,6 +38,7 @@ class Observer {
35
38
  }
36
39
  }
37
40
  }
41
+
38
42
  remove(eventType, callback) {
39
43
  if (this.listeners[eventType]?.has(callback)) {
40
44
  this.listeners[eventType].delete(callback);
@@ -43,5 +47,51 @@ class Observer {
43
47
  }
44
48
  }
45
49
  }
50
+
51
+ removeAll(eventType) {
52
+ if (eventType) {
53
+ delete this.listeners[eventType];
54
+ } else {
55
+ this.listeners = {};
56
+ }
57
+ }
46
58
  }
47
- export default Observer;
59
+
60
+ // Хранилище экземпляров по namespace
61
+ const instances = new Map();
62
+
63
+ // Экспортируем конструктор с поддержкой namespace
64
+ export default class ObserverNamespaced {
65
+ constructor(namespace = 'global') {
66
+ // Если экземпляр для namespace уже существует, возвращаем его
67
+ if (instances.has(namespace)) {
68
+ return instances.get(namespace);
69
+ }
70
+
71
+ // Создаем новый экземпляр для namespace
72
+ const instance = new Observer();
73
+ instances.set(namespace, instance);
74
+
75
+ return instance;
76
+ }
77
+
78
+ // Статический метод для получения всех namespace'ов
79
+ static getNamespaces() {
80
+ return Array.from(instances.keys());
81
+ }
82
+
83
+ // Статический метод для очистки подписок в namespace
84
+ static clearNamespace(namespace) {
85
+ if (instances.has(namespace)) {
86
+ instances.get(namespace).removeAll();
87
+ }
88
+ }
89
+
90
+ // Статический метод для удаления namespace (полностью)
91
+ static removeNamespace(namespace) {
92
+ if (instances.has(namespace)) {
93
+ instances.get(namespace).removeAll();
94
+ instances.delete(namespace);
95
+ }
96
+ }
97
+ }
@@ -82,7 +82,7 @@
82
82
  <button
83
83
  aria-label="menu"
84
84
  @click="() => globals.state.isOpenSidebar = !globals.state.isOpenSidebar"
85
- class="cursor-pointer menu-btn"
85
+ class="cursor-pointer mobile-only menu-btn"
86
86
  :class="{
87
87
  'menu-btn_active': globals.state.isOpenSidebar
88
88
  }"
@@ -1,8 +1,7 @@
1
1
  <script setup>
2
2
  import { ref, watch } from 'vue'
3
- import { useRouter } from 'vue-router'
3
+ import { useRouter, useRoute } from 'vue-router'
4
4
  import { useGlobalMixins } from "@martyrs/src/modules/globals/views/mixins/mixins.js"
5
-
6
5
  import * as globals from '@martyrs/src/modules/globals/views/store/globals.js'
7
6
 
8
7
  const props = defineProps({
@@ -29,19 +28,30 @@ const emits = defineEmits([
29
28
  ])
30
29
 
31
30
  const { isPhone, isTablet } = useGlobalMixins()
32
-
33
31
  const router = useRouter()
32
+ const route = useRoute()
34
33
 
35
34
  const toggleSidebar = () => {
36
35
  emits('closeSidebar')
37
36
  }
38
37
 
38
+ const handleMouseEnter = () => {
39
+ if (route.meta?.sidebar_hover && !isPhone() && !isTablet()) {
40
+ globals.state.isOpenSidebar = true
41
+ }
42
+ }
43
+
44
+ const handleMouseLeave = () => {
45
+ if (route.meta?.sidebar_hover && !isPhone() && !isTablet()) {
46
+ globals.state.isOpenSidebar = false
47
+ }
48
+ }
49
+
39
50
  router.beforeEach((to, from) => {
40
51
  if (isPhone() || isTablet()) {
41
52
  emits('closeSidebar')
42
53
  }
43
54
  })
44
-
45
55
  </script>
46
56
 
47
57
  <template>
@@ -56,11 +66,11 @@ router.beforeEach((to, from) => {
56
66
  ? 't-black bg-white br-light'
57
67
  : 't-white bg-black br-dark'
58
68
  ]"
69
+ @mouseenter="handleMouseEnter"
70
+ @mouseleave="handleMouseLeave"
59
71
  >
60
-
61
72
  <!-- Slot for navigation content -->
62
73
  <slot></slot>
63
-
64
74
  <div v-if="MOBILE_APP" @click="() => toggleSidebar()" class="pos-relative">
65
75
  <div class="bg-light radius-medium pd-medium">
66
76
  <p class="t-medium t-black-transp-60">
@@ -68,7 +78,6 @@ router.beforeEach((to, from) => {
68
78
  </p>
69
79
  </div>
70
80
  </div>
71
-
72
81
  <div
73
82
  class="br-solid w-100 br-t"
74
83
  :class="{
@@ -106,27 +115,22 @@ router.beforeEach((to, from) => {
106
115
  width: 0;
107
116
  display: none;
108
117
  }
109
-
110
118
  .visible {
111
119
  opacity: 1;
112
120
  display: block;
113
121
  }
114
-
115
122
  /* Scrollbar styles */
116
123
  ::-webkit-scrollbar {
117
124
  width: 6px;
118
125
  }
119
-
120
126
  ::-webkit-scrollbar-track {
121
127
  background: transparent;
122
128
  }
123
-
124
129
  ::-webkit-scrollbar-thumb {
125
130
  background-color: var(--grey-micro);
126
131
  border-radius: 3px;
127
132
  }
128
-
129
133
  ::-webkit-scrollbar-thumb:hover {
130
134
  background-color: var(--grey-small);
131
135
  }
132
- </style>
136
+ </style>
@@ -1,7 +1,13 @@
1
1
  import * as globals from '@martyrs/src/modules/globals/views/store/globals.js';
2
+ import { inject } from 'vue';
2
3
 
3
4
  // useGlobalMixins.js
4
5
  export function useGlobalMixins() {
6
+ const isModuleInstalled = (moduleName) => {
7
+ const store = inject('store');
8
+ if (!store || !store.modules) return false;
9
+ return store.modules.includes(moduleName);
10
+ };
5
11
  const isAdmin = roles => {
6
12
  if (roles) {
7
13
  const isAdmin = roles.includes('ROLE_ADMIN') ? roles.includes('ROLE_ADMIN') : false;
@@ -287,6 +293,7 @@ export function useGlobalMixins() {
287
293
  const isXXLDesktop = () => isMediaMin('--xxl-desktop-min');
288
294
 
289
295
  return {
296
+ isModuleInstalled,
290
297
  isAdmin,
291
298
  hasAccess,
292
299
  returnCurrency,
@@ -0,0 +1,330 @@
1
+ # Техническая документация: Модуль Inventory
2
+
3
+ ## 1. Назначение модуля
4
+
5
+ Модуль `inventory` управляет складскими операциями в системе martyrs. Основные функции:
6
+ - **Учёт остатков и доступности** (stock availability) товаров с учётом ингредиентов
7
+ - **Корректировки остатков** (stock adjustments) с историей изменений
8
+ - **Инвентаризация** (stock audits) с пакетным обновлением остатков
9
+ - **Алерты** по критическим остаткам
10
+ - **Автоматический пересчёт** доступности через Change Streams
11
+
12
+ ## 2. Общая архитектура (клиент ⇄ сервер)
13
+
14
+ ### Инициализация модуля
15
+
16
+ **Клиентская сторона** (`inventory.client.js`):
17
+ ```
18
+ Vue App → initializeInventory() → Router + Components
19
+
20
+ addRoutes() для backoffice/organization контекстов
21
+ ```
22
+
23
+ **Серверная сторона** (`inventory.server.js`):
24
+ ```
25
+ Express App → initializeInventory() → Models + Routes + Policies
26
+
27
+ Регистрация моделей в db + настройка API endpoints
28
+ ```
29
+
30
+ ### Архитектура взаимодействий
31
+
32
+ ```
33
+ Vue Components (UI)
34
+ ↓ HTTP requests
35
+ Vue Store (inventory.store.js)
36
+ ↓ axios calls
37
+ Express Routes (inventory.routes.js)
38
+ ↓ middleware chain
39
+ [JWT] → [Verifier] → [ABAC] → [Service]
40
+ ↓ business logic
41
+ Services (adjustment/availability/audit.service.js)
42
+ ↓ shared helpers
43
+ Helpers (inventory.helpers.js)
44
+ ↓ database operations
45
+ MongoDB Models + Cache + Observer + Change Streams
46
+ ```
47
+
48
+ ## 3. Потоки данных и точки входа
49
+
50
+ ### Основные API endpoints:
51
+
52
+ ```
53
+ GET /api/inventory/adjustments - История корректировок
54
+ POST /api/inventory/adjustments/create - Создание корректировки
55
+
56
+ GET /api/inventory/availability - Доступность и остатки товаров
57
+
58
+ GET /api/inventory/audits - Список инвентаризаций
59
+ POST /api/inventory/audits/create - Создание инвентаризации
60
+ POST /api/inventory/audits/complete - Завершение инвентаризации
61
+ ```
62
+
63
+ ### Клиентские маршруты:
64
+
65
+ ```
66
+ /inventory/ → InventoryList (Inventory.vue)
67
+ /inventory/audit → InventoryAudit (InventoryEdit.vue)
68
+ ```
69
+
70
+ Поддерживает два контекста:
71
+ - **backoffice**: `BackofficeInventoryList`, `BackofficeInventoryAudit`
72
+ - **organization**: `OrganizationInventoryList`, `OrganizationInventoryAudit`
73
+
74
+ ## 4. Аутентификация и авторизация (пошагово)
75
+
76
+ ### Middleware цепочка:
77
+
78
+ 1. **JWT верификация** (`jwtFactory`):
79
+ ```js
80
+ jwt.verifyToken() // обязательная аутентификация
81
+ jwt.verifyToken(true) // опциональная аутентификация
82
+ ```
83
+
84
+ 2. **Валидация входных данных** (`verifierFactory`):
85
+ ```js
86
+ verifier.verifyAdjustmentQuery // GET параметры
87
+ verifier.verifyAdjustmentBody // POST тело запроса
88
+ verifier.verifyBalanceQuery // фильтры остатков
89
+ verifier.verifyInventoryBody // данные инвентаризации
90
+ ```
91
+
92
+ 3. **ABAC авторизация** (`globalsabac`):
93
+ ```js
94
+ abac.middleware('stockAdjustment', 'create') // для создания корректировок
95
+ abac.middleware('stockAudit', 'create') // для создания инвентаризации
96
+ abac.middleware('stockAudit', 'edit') // для завершения инвентаризации
97
+ ```
98
+
99
+ ### Политики безопасности:
100
+
101
+ В `inventory.policies.js` **закомментированы** стандартные политики:
102
+ - Создание корректировки: роли `warehouse`, `admin`, `moderator`
103
+ - Завершение инвентаризации: только создатель или `admin`
104
+
105
+ **Примечание**: Политики отключены - требуется настройка в зависимости от бизнес-требований.
106
+
107
+ ## 5. Структура файлов и их связи
108
+
109
+ ```
110
+ inventory/
111
+ ├── inventory.client.js # Точка входа клиента
112
+ ├── inventory.server.js # Точка входа сервера
113
+ ├── router/
114
+ │ └── inventory.router.js # Клиентские маршруты
115
+ ├── routes/
116
+ │ ├── inventory.routes.js # API endpoints
117
+ │ └── stock.alerts.routes.js # API для алертов
118
+ ├── services/
119
+ │ ├── adjustment.service.js # Сервис корректировок
120
+ │ ├── availability.service.js # Сервис доступности
121
+ │ ├── audit.service.js # Сервис инвентаризаций
122
+ │ └── inventory.helpers.js # Общие функции и хелперы
123
+ ├── middlewares/
124
+ │ ├── inventory.verifier.js # Валидация запросов
125
+ │ └── stock.alerts.verifier.js # Валидация алертов
126
+ ├── models/
127
+ │ ├── stock.adjustment.model.js # История корректировок
128
+ │ ├── stock.availability.model.js # Остатки и доступность
129
+ │ ├── stock.audit.model.js # Инвентаризации
130
+ │ └── stock.alerts.model.js # Алерты по остаткам
131
+ ├── store/
132
+ │ ├── inventory.store.js # Vue состояние
133
+ │ └── stock.alerts.store.js # Состояние алертов
134
+ ├── components/
135
+ │ ├── pages/
136
+ │ │ ├── Inventory.vue # Список товаров с остатками
137
+ │ │ └── InventoryEdit.vue # Создание инвентаризации
138
+ │ └── forms/
139
+ │ ├── AdjustmentForm.vue # Форма корректировки
140
+ │ ├── HistoryView.vue # История движений
141
+ │ ├── ColumnSettingsMenu.vue # Настройки колонок
142
+ │ └── StockAlertsForm.vue # Настройка алертов
143
+ ├── policies/
144
+ │ └── inventory.policies.js # ABAC политики (отключены)
145
+ └── workers/
146
+ └── inventory.availability.worker.js # Фоновый пересчёт
147
+ ```
148
+
149
+ ### Ключевые зависимости:
150
+
151
+ - **Глобальные модули**: `@martyrs/src/modules/globals/*` (cache, logger, validator, abac)
152
+ - **Аутентификация**: `@martyrs/src/modules/auth/controllers/middlewares/authJwt.js`
153
+ - **Vue компоненты**: Vue 3 Composition API + реактивное состояние
154
+ - **MongoDB Change Streams**: Автоматический пересчёт при изменении ингредиентов
155
+
156
+ ## 6. Как интегрировать модуль в проект
157
+
158
+ ### Серверная интеграция:
159
+
160
+ ```js
161
+ import { initialize as initInventory } from './modules/inventory/inventory.server.js';
162
+
163
+ // В основном server.js
164
+ initInventory(app, db, origins, publicPath);
165
+ ```
166
+
167
+ При инициализации автоматически запускаются Change Streams для отслеживания изменений в ингредиентах товаров.
168
+
169
+ ### Клиентская интеграция:
170
+
171
+ ```js
172
+ import inventoryModule from './modules/inventory/inventory.client.js';
173
+
174
+ // В Vue приложении
175
+ inventoryModule.initialize(app, store, router, {
176
+ routeBackoffice: 'Backoffice Root',
177
+ routeOrganizations: 'OrganizationRoot',
178
+ withBackoffice: false, // включить backoffice роуты
179
+ withOrganizationRoutes: false // включить organization роуты
180
+ });
181
+ ```
182
+
183
+ ### Экспорт компонентов:
184
+
185
+ ```js
186
+ import {
187
+ Inventory,
188
+ InventoryEdit,
189
+ AdjustmentForm,
190
+ HistoryView,
191
+ ColumnSettingsMenu,
192
+ StockAlertsForm
193
+ } from './modules/inventory/inventory.client.js';
194
+ ```
195
+
196
+ ## 7. Расширение модуля
197
+
198
+ ### Добавление новой причины корректировки:
199
+
200
+ 1. **Модель** (`stock.adjustment.model.js`):
201
+ ```js
202
+ reason: {
203
+ enum: ['restock', 'sale', 'return', 'damage', 'transfer', 'custom', 'new_reason']
204
+ }
205
+ ```
206
+
207
+ 2. **Валидатор** (`middlewares/inventory.verifier.js`):
208
+ ```js
209
+ validator: Validator.schema().string().oneOf([..., 'new_reason'])
210
+ ```
211
+
212
+ ### Добавление нового типа инвентаризации:
213
+
214
+ 1. **Расширить схему** `stock.audit.model.js`
215
+ 2. **Добавить валидацию** в `middlewares/inventory.verifier.js`
216
+ 3. **Обновить бизнес-логику** в `services/audit.service.js`
217
+ 4. **Создать UI компонент** в `components/forms/`
218
+
219
+ ### Добавление кастомных политик ABAC:
220
+
221
+ ```js
222
+ // В inventory.policies.js
223
+ abac.registerResourcePolicy('stockAdjustment', async context => {
224
+ const { user, action, data } = context;
225
+
226
+ // Ваша логика авторизации
227
+ if (action === 'create' && data.reason === 'damage') {
228
+ // Только менеджеры могут списывать по браку
229
+ return await checkManagerRole(user);
230
+ }
231
+
232
+ return { allow: true };
233
+ });
234
+ ```
235
+
236
+ ## 8. Безопасность
237
+
238
+ ### Аутентификация:
239
+ - **JWT токены** через `authJwt.js` middleware
240
+ - **Опциональная аутентификация** для публичных endpoints (`availability`)
241
+
242
+ ### Валидация данных:
243
+ - **Joi-схемы** через `globals.validator.js`
244
+ - **Строгая типизация** параметров и тела запросов
245
+ - **Санитизация** входных данных
246
+
247
+ ### Авторизация:
248
+ - **ABAC система** через `globals.abac.js`
249
+ - **Контекстная авторизация** (resource + action)
250
+ - **Роли и права доступа** настраиваются через политики
251
+
252
+ ### Защита API:
253
+ - **CORS** настройки через `origins`
254
+ - **Rate limiting** на уровне Express
255
+ - **Логирование** всех операций через `globals.logger.js`
256
+
257
+ ### Транзакции:
258
+ - **MongoDB сессии** для атомарных операций
259
+ - **Rollback** при ошибках через `session.abortTransaction()`
260
+
261
+ ## 9. Ключевые сценарии использования
262
+
263
+ ### Сценарий 1: Корректировка остатков
264
+
265
+ ```
266
+ 1. Пользователь заходит в Inventory.vue
267
+ 2. Нажимает "создать корректировку"
268
+ 3. Заполняет AdjustmentForm.vue (товар, склад, количество, причина)
269
+ 4. POST /api/inventory/adjustments/create
270
+ ├── JWT проверка токена
271
+ ├── Валидация данных
272
+ ├── ABAC проверка прав ('stockAdjustment', 'create')
273
+ ├── Создание StockAdjustment записи
274
+ ├── Обновление StockAvailability (+quantity)
275
+ ├── Пересчёт StockAvailability.доступности для затронутых вариантов
276
+ ├── Проверка алертов по критическим остаткам
277
+ └── Инвалидация кеша
278
+ 5. Обновление UI через reactive store
279
+ ```
280
+
281
+ ### Сценарий 2: Инвентаризация склада
282
+
283
+ ```
284
+ 1. Переход в InventoryEdit.vue
285
+ 2. Выбор склада и добавление позиций
286
+ 3. POST /api/inventory/audits/create (status: 'draft' | 'published')
287
+ 4. Если status = 'published':
288
+ ├── Создание StockAdjustment для каждой позиции
289
+ ├── Batch update StockAvailability через bulkWrite
290
+ ├── Пересчёт availability для всех затронутых товаров
291
+ └── Уведомления через Observer pattern
292
+ 5. Если status = 'draft' - сохранение без применения
293
+ 6. POST /api/inventory/audits/complete для применения draft инвентаризации
294
+ ```
295
+
296
+ ### Сценарий 3: Мониторинг доступности товаров
297
+
298
+ ```
299
+ 1. GET /api/inventory/availability?storage=X&details=true
300
+ 2. Агрегация из Products с join к StockAvailability
301
+ 3. Расчёт итоговой доступности:
302
+ ├── Прямые остатки (quantity в StockAvailability)
303
+ ├── On-demand производство (через ингредиенты)
304
+ └── Ограничения по ингредиентам
305
+ 4. Кеширование результата на 5 минут
306
+ 5. Real-time обновления через change streams на коллекции variants
307
+ ```
308
+
309
+ ### Сценарий 4: Автоматические алерты
310
+
311
+ ```
312
+ 1. При любом изменении остатков (adjustment/inventory)
313
+ 2. Поиск активных алертов для товара/склада
314
+ 3. Проверка threshold vs текущий остаток
315
+ 4. Если остаток < порога:
316
+ ├── HTTP запрос в /api/notifications
317
+ ├── Метаданные: alertId, productId, currentStock, threshold
318
+ └── Уведомление создателю алерта
319
+ 5. Логирование ошибок, но не прерывание основной операции
320
+ ```
321
+
322
+ ---
323
+
324
+ **Заключение**: Модуль inventory реализует полноценную систему складского учёта с поддержкой сложных сценариев (on-demand производство, пакетные операции, real-time уведомления). Архитектура построена на принципах разделения ответственности, транзакционности и масштабируемости.
325
+
326
+ Основные особенности архитектуры:
327
+ - **Модульность**: сервисы разделены по бизнес-функциям (adjustment, availability, audit)
328
+ - **Единая модель StockAvailability**: хранит и остатки (quantity) и доступность (available)
329
+ - **Change Streams**: автоматический пересчёт при изменении ингредиентов
330
+ - **Общие хелперы**: переиспользуемые функции вынесены в inventory.helpers.js
@@ -0,0 +1,25 @@
1
+ Перепиши документацию по модулю inventory, но сделай это как полноценную техническую документацию, ориентированную на разработчиков.
2
+
3
+ ❗️Не делай сжатый конспект — структура и стиль должны соответствовать документации настоящих продакшн-модулей.
4
+
5
+ Требования к результату:
6
+ Разделы: Общее описание, Архитектура, Компоненты и связи, Бизнес-логика, API спецификация, Права доступа, Точки расширения, Обработка ошибок, Примеры сценариев, Встраивание модуля, Безопасность и
7
+ ограничения
8
+
9
+ Объясни зачем нужны ключевые сущности (balance, availability, audit и т.д.), а не просто их перечисление
10
+
11
+ Распиши типовые сценарии в деталях, с шагами, примерами и последствиями
12
+
13
+ Покажи, как устроена клиент-серверная связка через конкретные примеры запросов и изменений данных
14
+
15
+ Отдельно опиши, как работают middleware, кеш, фоновые задачи
16
+
17
+ Запрещается:
18
+ Просто переписывать имена файлов и маршрутов
19
+
20
+ Ограничиваться поверхностным описанием
21
+
22
+ Пропускать связи между слоями (UI ⇄ Store ⇄ API ⇄ DB)
23
+
24
+ Если ты не можешь объяснить назначение и логику каждой части, значит ты не понял модуль — вернись и пересмотри код.
25
+ Делай, как если бы ты сам писал модуль через месяц по этой документации. Сначала составь план переделок для утверждения. Делай на русском.