@ozdao/martyrs 0.2.564 → 0.2.565

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 (279) hide show
  1. package/dist/abac-BPl9Bmf9.js +1527 -0
  2. package/dist/builder.js +51 -39
  3. package/dist/{common.schema-GFSlNJo7.js → common.schema-DswiUXKB.js} +1 -1
  4. package/dist/community.server.js +48 -9
  5. package/dist/core.server.js +6 -4
  6. package/dist/{crud-C7FSTUes.js → crud-q1ye5IhV.js} +7 -7
  7. package/dist/events.server.js +3 -3
  8. package/dist/gallery.server.js +2 -2
  9. package/dist/inventory.server.js +4 -6
  10. package/dist/{main-CmjWiDVF.js → main-B9o1iBAZ.js} +1279 -1287
  11. package/dist/marketplace.server.js +1 -1
  12. package/dist/martyrs/src/components/Button/{Button.vue.js → Button.vue2.js} +36 -45
  13. package/dist/martyrs/src/components/Button/Button.vue2.js.map +1 -0
  14. package/dist/martyrs/src/components/Feed/Carousel.vue.js +1 -1
  15. package/dist/martyrs/src/components/Feed/Feed.vue.js +1 -1
  16. package/dist/martyrs/src/components/Field/{Field.vue2.js → Field.vue.js} +2 -2
  17. package/dist/martyrs/src/components/Field/Field.vue.js.map +1 -0
  18. package/dist/martyrs/src/components/FieldBig/FieldBig.vue.js +2 -2
  19. package/dist/martyrs/src/components/FieldPhone/FieldPhone.vue.js +1 -1
  20. package/dist/martyrs/src/components/FieldPhone/FieldPhone.vue.js.map +1 -1
  21. package/dist/martyrs/src/components/Loader/{Loader.vue2.js → Loader.vue.js} +3 -4
  22. package/dist/martyrs/src/components/Loader/Loader.vue.js.map +1 -0
  23. package/dist/martyrs/src/components/LocationMarker/LocationMarker.vue.js +1 -1
  24. package/dist/martyrs/src/components/Media/Media.vue.js +1 -1
  25. package/dist/martyrs/src/components/Menu/{Menu.vue.js → Menu.vue2.js} +2 -2
  26. package/dist/martyrs/src/components/Menu/Menu.vue2.js.map +1 -0
  27. package/dist/martyrs/src/components/Select/{Select.vue2.js → Select.vue.js} +2 -2
  28. package/dist/martyrs/src/components/Select/Select.vue.js.map +1 -0
  29. package/dist/martyrs/src/components/SelectMulti/{SelectMulti.vue.js → SelectMulti.vue2.js} +2 -2
  30. package/dist/martyrs/src/components/SelectMulti/SelectMulti.vue2.js.map +1 -0
  31. package/dist/martyrs/src/components/Tree/Tree.vue.js +6 -3
  32. package/dist/martyrs/src/components/Tree/Tree.vue.js.map +1 -1
  33. package/dist/martyrs/src/components/UploadImage/UploadImage.vue.js +1 -1
  34. package/dist/martyrs/src/components/UploadImageMultiple/UploadImageMultiple.vue.js +1 -1
  35. package/dist/martyrs/src/modules/auth/auth.client.js +10 -7
  36. package/dist/martyrs/src/modules/auth/auth.client.js.map +1 -1
  37. package/dist/martyrs/src/modules/auth/views/components/pages/EnterCode.vue.js +1 -1
  38. package/dist/martyrs/src/modules/auth/views/components/pages/EnterPassword.vue.js +2 -2
  39. package/dist/martyrs/src/modules/auth/views/components/pages/Invite.vue.js +2 -2
  40. package/dist/martyrs/src/modules/auth/views/components/pages/Profile.vue.js +3 -3
  41. package/dist/martyrs/src/modules/auth/views/components/pages/ProfileEdit.vue.js +1 -1
  42. package/dist/martyrs/src/modules/auth/views/components/pages/ProfileEditAccount.vue.js +1 -1
  43. package/dist/martyrs/src/modules/auth/views/components/pages/ProfileEditProfile.vue.js +2 -2
  44. package/dist/martyrs/src/modules/auth/views/components/pages/ResetPassword.vue.js +2 -2
  45. package/dist/martyrs/src/modules/auth/views/components/pages/SignIn.vue.js +13 -13
  46. package/dist/martyrs/src/modules/auth/views/components/pages/SignIn.vue.js.map +1 -1
  47. package/dist/martyrs/src/modules/auth/views/components/pages/SignUp.vue.js +2 -2
  48. package/dist/martyrs/src/modules/auth/views/components/sections/ProfileEditCredentials.vue.js +2 -2
  49. package/dist/martyrs/src/modules/auth/views/router/auth.router.js +116 -0
  50. package/dist/martyrs/src/modules/auth/views/router/auth.router.js.map +1 -0
  51. package/dist/martyrs/src/modules/auth/views/router/users.router.js +180 -0
  52. package/dist/martyrs/src/modules/auth/views/router/users.router.js.map +1 -0
  53. package/dist/martyrs/src/modules/backoffice/components/partials/Sidebar.vue.js +4 -4
  54. package/dist/martyrs/src/modules/backoffice/components/partials/Sidebar.vue.js.map +1 -1
  55. package/dist/martyrs/src/modules/community/components/layouts/Community.vue.js +1 -1
  56. package/dist/martyrs/src/modules/community/components/pages/BlogPost.vue.js +2 -2
  57. package/dist/martyrs/src/modules/community/components/pages/CreateBlogPost.vue.js +2 -2
  58. package/dist/martyrs/src/modules/constructor/components/elements/Card.vue.js +1 -1
  59. package/dist/martyrs/src/modules/constructor/components/elements/Embed.vue.js +1 -1
  60. package/dist/martyrs/src/modules/core/locales/en.js +45 -0
  61. package/dist/martyrs/src/modules/core/locales/en.js.map +1 -1
  62. package/dist/martyrs/src/modules/core/locales/ru.js +45 -0
  63. package/dist/martyrs/src/modules/core/locales/ru.js.map +1 -1
  64. package/dist/martyrs/src/modules/core/views/classes/i18n.manager.js +9 -0
  65. package/dist/martyrs/src/modules/core/views/classes/i18n.manager.js.map +1 -1
  66. package/dist/martyrs/src/modules/core/views/components/blocks/BlockSearch.vue.js +1 -1
  67. package/dist/martyrs/src/modules/core/views/components/blocks/CardHeader.vue.js +1 -1
  68. package/dist/martyrs/src/modules/core/views/components/blocks/PopupAuth.vue.js +1 -1
  69. package/dist/martyrs/src/modules/core/views/components/blocks/PopupDateSelector.vue.js +2 -2
  70. package/dist/martyrs/src/modules/core/views/components/layouts/Client.vue.js +2 -2
  71. package/dist/martyrs/src/modules/core/views/components/partials/Header.vue.js +2 -2
  72. package/dist/martyrs/src/modules/core/views/components/partials/NavigationBar.vue.js +1 -1
  73. package/dist/martyrs/src/modules/core/views/components/sections/filters/FilterRange.vue.js +1 -1
  74. package/dist/martyrs/src/modules/core/views/mixins/mixins.js +1 -2
  75. package/dist/martyrs/src/modules/core/views/mixins/mixins.js.map +1 -1
  76. package/dist/martyrs/src/modules/core/views/router/addRoutes.js +6 -1
  77. package/dist/martyrs/src/modules/core/views/router/addRoutes.js.map +1 -1
  78. package/dist/martyrs/src/modules/events/components/elements/ButtonCheck.vue.js +1 -1
  79. package/dist/martyrs/src/modules/events/components/elements/ButtonJoin.vue.js +1 -1
  80. package/dist/martyrs/src/modules/events/components/pages/EditEvent.vue.js +4 -4
  81. package/dist/martyrs/src/modules/events/components/pages/EditEventTickets.vue.js +2 -2
  82. package/dist/martyrs/src/modules/events/components/pages/Event.vue.js +2 -2
  83. package/dist/martyrs/src/modules/events/components/sections/EditTickets.vue.js +2 -2
  84. package/dist/martyrs/src/modules/events/components/sections/Feed.vue.js +1 -1
  85. package/dist/martyrs/src/modules/events/components/sections/List.vue.js +1 -1
  86. package/dist/martyrs/src/modules/gallery/components/sections/BackofficeGallery.vue.js +4 -4
  87. package/dist/martyrs/src/modules/inventory/components/forms/AdjustmentForm.vue.js +3 -3
  88. package/dist/martyrs/src/modules/inventory/components/forms/ColumnSettingsMenu.vue.js +1 -1
  89. package/dist/martyrs/src/modules/inventory/components/forms/HistoryView.vue.js +1 -1
  90. package/dist/martyrs/src/modules/inventory/components/forms/StockAlertsForm.vue.js +3 -3
  91. package/dist/martyrs/src/modules/inventory/components/pages/InventoryEdit.vue.js +5 -5
  92. package/dist/martyrs/src/modules/inventory/components/pages/InventoryEdit.vue.js.map +1 -1
  93. package/dist/martyrs/src/modules/marketplace/views/components/pages/Marketplace.vue.js +1 -1
  94. package/dist/martyrs/src/modules/marketplace/views/components/sections/SectionMenu.vue.js +1 -1
  95. package/dist/martyrs/src/modules/music/components/cards/AlbumCard.vue.js +1 -1
  96. package/dist/martyrs/src/modules/music/components/cards/ArtistCardSmall.vue.js +1 -1
  97. package/dist/martyrs/src/modules/music/components/cards/PlaylistCard.vue.js +1 -1
  98. package/dist/martyrs/src/modules/music/components/cards/TrackListCard.vue.js +1 -1
  99. package/dist/martyrs/src/modules/music/components/forms/AlbumForm.vue.js +3 -3
  100. package/dist/martyrs/src/modules/music/components/forms/ArtistForm.vue.js +4 -4
  101. package/dist/martyrs/src/modules/music/components/forms/PlaylistForm.vue.js +2 -2
  102. package/dist/martyrs/src/modules/music/components/forms/SearchForm.vue.js +1 -1
  103. package/dist/martyrs/src/modules/music/components/forms/TrackForm.vue.js +3 -3
  104. package/dist/martyrs/src/modules/music/components/pages/Album.vue.js +2 -2
  105. package/dist/martyrs/src/modules/music/components/pages/Artist.vue.js +2 -2
  106. package/dist/martyrs/src/modules/music/components/pages/MusicLibrary.vue.js +1 -1
  107. package/dist/martyrs/src/modules/music/components/pages/Playlist.vue.js +2 -2
  108. package/dist/martyrs/src/modules/music/components/pages/SearchResults.vue.js +2 -2
  109. package/dist/martyrs/src/modules/music/components/pages/Track.vue.js +2 -2
  110. package/dist/martyrs/src/modules/music/components/pages/TrackCreate.vue.js +1 -1
  111. package/dist/martyrs/src/modules/music/components/player/MusicPlayer.vue.js +1 -1
  112. package/dist/martyrs/src/modules/notifications/components/elements/NotificationBadge.vue.js +4 -4
  113. package/dist/martyrs/src/modules/notifications/components/elements/NotificationBadge.vue.js.map +1 -1
  114. package/dist/martyrs/src/modules/orders/components/elements/FieldSubscribeNewsletter.vue.js +3 -0
  115. package/dist/martyrs/src/modules/orders/components/elements/FieldSubscribeNewsletter.vue.js.map +1 -1
  116. package/dist/martyrs/src/modules/orders/components/forms/FormApplicationDetails.vue.js +3 -3
  117. package/dist/martyrs/src/modules/orders/components/forms/FormCustomerDetails.vue.js +3 -3
  118. package/dist/martyrs/src/modules/orders/components/forms/FormSelectCustomer.vue.js +2 -2
  119. package/dist/martyrs/src/modules/orders/components/pages/OrderBackoffice.vue.js +2 -2
  120. package/dist/martyrs/src/modules/orders/components/pages/OrderCreate.vue.js +1 -1
  121. package/dist/martyrs/src/modules/orders/components/pages/OrderCreateBackoffice.vue.js +2 -2
  122. package/dist/martyrs/src/modules/orders/components/sections/ApplicationDetails.vue.js +1 -1
  123. package/dist/martyrs/src/modules/orders/components/sections/CustomerDetails.vue.js +1 -1
  124. package/dist/martyrs/src/modules/orders/components/sections/FormDelivery.vue.js +2 -2
  125. package/dist/martyrs/src/modules/orders/components/sections/FormPayment.vue.js +1 -1
  126. package/dist/martyrs/src/modules/organizations/components/blocks/CardOrganization.vue.js +1 -1
  127. package/dist/martyrs/src/modules/organizations/components/blocks/CardOrganization.vue.js.map +1 -1
  128. package/dist/martyrs/src/modules/organizations/components/elements/ButtonToggleMembership.vue.js +1 -1
  129. package/dist/martyrs/src/modules/organizations/components/forms/AddExistingMembersForm.vue.js +1 -1
  130. package/dist/martyrs/src/modules/organizations/components/forms/DepartmentForm.vue.js +2 -2
  131. package/dist/martyrs/src/modules/organizations/components/forms/InviteForm.vue.js +2 -2
  132. package/dist/martyrs/src/modules/organizations/components/pages/Organization.vue.js +1 -1
  133. package/dist/martyrs/src/modules/organizations/components/pages/OrganizationBackoffice.vue.js +2 -2
  134. package/dist/martyrs/src/modules/organizations/components/pages/OrganizationEdit.vue.js +5 -5
  135. package/dist/martyrs/src/modules/organizations/components/pages/OrganizationEdit.vue.js.map +1 -1
  136. package/dist/martyrs/src/modules/organizations/components/sections/Documents.vue.js +3 -3
  137. package/dist/martyrs/src/modules/organizations/components/sections/MembersAdd.vue.js +3 -3
  138. package/dist/martyrs/src/modules/organizations/components/sections/Organizations.vue.js +3 -3
  139. package/dist/martyrs/src/modules/pages/views/components/blocks/CardPage.vue.js +2 -2
  140. package/dist/martyrs/src/modules/pages/views/components/pages/PageEdit.vue.js +2 -2
  141. package/dist/martyrs/src/modules/pages/views/components/partials/SidebarPages.vue.js +1 -1
  142. package/dist/martyrs/src/modules/products/components/blocks/CardCategory.vue.js +1 -1
  143. package/dist/martyrs/src/modules/products/components/blocks/CardCategory.vue.js.map +1 -1
  144. package/dist/martyrs/src/modules/products/components/blocks/CardProduct.vue.js +15 -2
  145. package/dist/martyrs/src/modules/products/components/blocks/CardProduct.vue.js.map +1 -1
  146. package/dist/martyrs/src/modules/products/components/elements/Image360.vue.js +1 -1
  147. package/dist/martyrs/src/modules/products/components/pages/Categories.vue.js +10 -7
  148. package/dist/martyrs/src/modules/products/components/pages/Categories.vue.js.map +1 -1
  149. package/dist/martyrs/src/modules/products/components/pages/CategoryEdit.vue.js +7 -6
  150. package/dist/martyrs/src/modules/products/components/pages/CategoryEdit.vue.js.map +1 -1
  151. package/dist/martyrs/src/modules/products/components/pages/Product.vue.js +11 -2
  152. package/dist/martyrs/src/modules/products/components/pages/Product.vue.js.map +1 -1
  153. package/dist/martyrs/src/modules/products/components/pages/ProductEdit.vue.js +4 -4
  154. package/dist/martyrs/src/modules/products/components/pages/ProductRecommmendation.vue.js +1 -1
  155. package/dist/martyrs/src/modules/products/components/pages/Products.vue.js +1 -1
  156. package/dist/martyrs/src/modules/products/components/sections/EditAttributes.vue.js +2 -2
  157. package/dist/martyrs/src/modules/products/components/sections/EditDiscounts.vue.js +3 -3
  158. package/dist/martyrs/src/modules/products/components/sections/EditVariants.vue.js +3 -3
  159. package/dist/martyrs/src/modules/products/components/sections/ProductConfigurator.vue.js +1 -1
  160. package/dist/martyrs/src/modules/products/components/sections/ProductsRecommended.vue.js +1 -1
  161. package/dist/martyrs/src/modules/products/components/sections/SectionProduct.vue.js +11 -8
  162. package/dist/martyrs/src/modules/products/components/sections/SectionProduct.vue.js.map +1 -1
  163. package/dist/martyrs/src/modules/rents/views/components/pages/Gant/GanttToolbar.vue.js +1 -1
  164. package/dist/martyrs/src/modules/rents/views/components/pages/RentsEdit.vue.js +211 -61
  165. package/dist/martyrs/src/modules/rents/views/components/pages/RentsEdit.vue.js.map +1 -1
  166. package/dist/martyrs/src/modules/reports/components/sections/FormReport.vue.js +2 -2
  167. package/dist/martyrs/src/modules/spots/components/blocks/SpotMemberModify.vue.js +2 -2
  168. package/dist/martyrs/src/modules/spots/components/layouts/Spots.vue.js +1 -1
  169. package/dist/martyrs/src/modules/spots/components/pages/Map.vue.js +4 -4
  170. package/dist/martyrs/src/modules/spots/components/pages/Map.vue.js.map +1 -1
  171. package/dist/martyrs/src/modules/spots/components/pages/SpotEdit.vue.js +3 -3
  172. package/dist/martyrs/src/modules/spots/components/sections/WorktimeEdit.vue.js +3 -3
  173. package/dist/martyrs/src/modules/wallet/views/components/blocks/CardDeposit.vue.js +1 -1
  174. package/dist/martyrs/src/modules/wallet/views/components/blocks/CryptoDeposit.vue.js +2 -2
  175. package/dist/martyrs/src/modules/wallet/views/components/pages/Wallet.vue.js +2 -2
  176. package/dist/martyrs.css +1 -1
  177. package/dist/martyrs.es.js +1 -1
  178. package/dist/music.server.js +11 -12
  179. package/dist/notifications.server.js +0 -3
  180. package/dist/orders.server.js +5 -6
  181. package/dist/organizations.server.js +9 -10
  182. package/dist/products.server.js +27 -26
  183. package/dist/{queryProcessor-CBQgZycY.js → queryProcessor-C_5Iipam.js} +4 -1
  184. package/dist/rents.server.js +2 -3
  185. package/dist/spots.server.js +1 -1
  186. package/dist/style.css +38 -23
  187. package/dist/{web-cNKIl_cL.js → web-BF3ijvEr.js} +1 -1
  188. package/package.json +1 -1
  189. package/src/builder/modes/ssr.rspack.dev.js +4 -3
  190. package/src/builder/rspack/rspack.config.api.js +15 -4
  191. package/src/builder/rspack/rspack.config.base.js +3 -3
  192. package/src/builder/rspack/rspack.config.ssr.client.js +28 -28
  193. package/src/builder/templates/page.js +2 -2
  194. package/src/components/Button/Button.vue +50 -37
  195. package/src/components/FieldPhone/FieldPhone.vue +1 -1
  196. package/src/components/Loader/Loader.vue +1 -1
  197. package/src/components/Tree/Tree.vue +6 -3
  198. package/src/modules/PROCESS.md +0 -0
  199. package/src/modules/TASKS.MD +17 -0
  200. package/src/modules/auth/auth.client.js +11 -7
  201. package/src/modules/auth/views/components/pages/SignIn.vue +1 -1
  202. package/src/modules/auth/views/router/auth.router.js +94 -0
  203. package/src/modules/auth/views/router/users.router.js +153 -0
  204. package/src/modules/backoffice/components/partials/Sidebar.vue +7 -7
  205. package/src/modules/community/community.server.js +8 -0
  206. package/src/modules/community/policies/blog.policies.js +55 -0
  207. package/src/modules/community/routes/blog.routes.js +1 -1
  208. package/src/modules/community/routes/comments.routes.js +1 -1
  209. package/src/modules/community/routes/reactions.routes.js +1 -4
  210. package/src/modules/core/controllers/classes/abac/abac.adapter.express.js +206 -124
  211. package/src/modules/core/controllers/classes/abac/abac.adapter.ws.js +203 -50
  212. package/src/modules/core/controllers/classes/abac/abac.core.js +127 -36
  213. package/src/modules/core/controllers/classes/abac/abac.fields.js +144 -179
  214. package/src/modules/core/controllers/classes/abac/abac.js +201 -10
  215. package/src/modules/core/controllers/classes/abac/abac.policies.js +147 -57
  216. package/src/modules/core/controllers/classes/crud/crud.policies.js +5 -5
  217. package/src/modules/core/controllers/policies/core.policies.js +5 -2
  218. package/src/modules/core/controllers/utils/queryProcessor.js +4 -1
  219. package/src/modules/core/core.server.js +1 -0
  220. package/src/modules/core/locales/en.js +45 -0
  221. package/src/modules/core/locales/ru.js +45 -0
  222. package/src/modules/core/models/schemas/common.schema.js +1 -1
  223. package/src/modules/core/views/classes/i18n.manager.js +13 -0
  224. package/src/modules/core/views/components/sections/filters/FilterPrice.vue +81 -0
  225. package/src/modules/core/views/mixins/mixins.js +1 -2
  226. package/src/modules/core/views/router/addRoutes.js +6 -1
  227. package/src/modules/events/routes/events.routes.js +1 -1
  228. package/src/modules/inventory/components/pages/InventoryEdit.vue +3 -3
  229. package/src/modules/inventory/policies/inventory.policies.js +1 -1
  230. package/src/modules/inventory/routes/inventory.routes.js +1 -1
  231. package/src/modules/marketplace/marketplace.router.js +66 -0
  232. package/src/modules/marketplace/views/components/layouts/Marketplace.vue +363 -0
  233. package/src/modules/marketplace/views/components/pages/Catalog.vue +73 -0
  234. package/src/modules/music/controllers/stream.controller.js +1 -1
  235. package/src/modules/music/music.server.js +1 -1
  236. package/src/modules/music/policies/music.policies.js +3 -2
  237. package/src/modules/music/router/library.router.js +26 -0
  238. package/src/modules/music/router/music.router.js +176 -0
  239. package/src/modules/notifications/components/elements/NotificationBadge.vue +5 -6
  240. package/src/modules/notifications/notifications.server.js +1 -3
  241. package/src/modules/orders/components/elements/FieldSubscribeNewsletter.vue +5 -0
  242. package/src/modules/orders/orders.server.js +0 -1
  243. package/src/modules/organizations/components/blocks/CardOrganization.vue +2 -2
  244. package/src/modules/organizations/components/pages/DepartmentEdit.vue +2 -2
  245. package/src/modules/organizations/components/pages/OrganizationEdit.vue +2 -2
  246. package/src/modules/organizations/policies/organizations.policies.js +12 -6
  247. package/src/modules/organizations/routes/organizations.routes.js +1 -3
  248. package/src/modules/products/components/blocks/CardCategory.vue +1 -1
  249. package/src/modules/products/components/blocks/CardProduct.vue +16 -2
  250. package/src/modules/products/components/pages/Categories.vue +9 -6
  251. package/src/modules/products/components/pages/CategoryEdit.vue +8 -4
  252. package/src/modules/products/components/pages/Product.vue +11 -5
  253. package/src/modules/products/components/sections/SectionProduct.vue +11 -7
  254. package/src/modules/products/controllers/categories.controller.js +32 -27
  255. package/src/modules/products/routes/categories.routes.js +1 -1
  256. package/src/modules/rents/controllers/routes/rents.routes.js +1 -1
  257. package/src/modules/rents/views/components/pages/RentsEdit.vue +208 -49
  258. package/src/modules/spots/components/pages/Map.vue +2 -2
  259. package/dist/abac-DYoheWuc.js +0 -1031
  260. package/dist/core.abac-DUPBnlk6.js +0 -298
  261. package/dist/core.logger-C3q8A9dl.js +0 -51
  262. package/dist/martyrs/src/components/Button/Button.vue.js.map +0 -1
  263. package/dist/martyrs/src/components/Field/Field.vue2.js.map +0 -1
  264. package/dist/martyrs/src/components/Loader/Loader.vue2.js.map +0 -1
  265. package/dist/martyrs/src/components/Menu/Menu.vue.js.map +0 -1
  266. package/dist/martyrs/src/components/Select/Select.vue2.js.map +0 -1
  267. package/dist/martyrs/src/components/SelectMulti/SelectMulti.vue.js.map +0 -1
  268. package/dist/martyrs/src/modules/auth/auth.router.js +0 -342
  269. package/dist/martyrs/src/modules/auth/auth.router.js.map +0 -1
  270. package/src/modules/auth/auth.router.js +0 -262
  271. package/src/modules/core/controllers/classes/abac/v2/abac-core-fixed.js +0 -313
  272. package/src/modules/core/controllers/classes/abac/v2/abac-express-fixed.js +0 -276
  273. package/src/modules/core/controllers/classes/abac/v2/abac-fields-fixed.js +0 -425
  274. package/src/modules/core/controllers/classes/abac/v2/abac-main-fixed.js +0 -295
  275. package/src/modules/core/controllers/classes/abac/v2/abac-policies-fixed.js +0 -316
  276. package/src/modules/core/controllers/classes/abac/v2/abac-ws-fixed.js +0 -237
  277. package/src/modules/core/controllers/classes/core.abac.js +0 -310
  278. package/src/modules/core/controllers/classes/core.crud.js +0 -89
  279. package/src/modules/governance/reactcode/eslint.config.js +0 -28
@@ -1,4 +1,4 @@
1
- import { _ as e, a as o, b as d, C as r, k as t, c as l, d as i, e as p, f as u, g as n, h as M, i as S, j as c, F as m, l as C, n as F, o as g, p as h, L as b, q as k, M as x, r as B, I, s as T, t as U, u as f, v as w, S as D, w as E, x as L, y as P, z as q, A as y, B as A, D as G, E as j, U as v, G as z, H, m as R } from "./main-CmjWiDVF.js";
1
+ import { _ as e, a as o, b as d, C as r, k as t, c as l, d as i, e as p, f as u, g as n, h as M, i as S, j as c, F as m, l as C, n as F, o as g, p as h, L as b, q as k, M as x, r as B, I, s as T, t as U, u as f, v as w, S as D, w as E, x as L, y as P, z as q, A as y, B as A, D as G, E as j, U as v, G as z, H, m as R } from "./main-B9o1iBAZ.js";
2
2
  export {
3
3
  e as Address,
4
4
  o as Breadcrumbs,
@@ -1,12 +1,10 @@
1
- import { c as coreabac } from "./core.abac-DUPBnlk6.js";
1
+ import { c as coreabac, L as LoggerNamespaced } from "./abac-BPl9Bmf9.js";
2
2
  import { C as CacheNamespaced } from "./core.cache-DALYFDdy.js";
3
- import { L as LoggerNamespaced } from "./core.logger-C3q8A9dl.js";
4
- import { C as CRUD } from "./crud-C7FSTUes.js";
5
- import { A as ABAC } from "./abac-DYoheWuc.js";
3
+ import { C as CRUD } from "./crud-q1ye5IhV.js";
6
4
  import { V as Verifier, a as Validator } from "./core.verifier-gPPX_jhf.js";
7
5
  import fs$1 from "fs";
8
6
  import path$1 from "path";
9
- import { a as applyCommonSchema } from "./common.schema-GFSlNJo7.js";
7
+ import { a as applyCommonSchema } from "./common.schema-DswiUXKB.js";
10
8
  import { a as applyEngagementSchema } from "./engagement.schema-fh6W1fb_.js";
11
9
  import { a as applyMetadataSchema, c as createFriendlyURL } from "./metadata.schema-CIRR_WQ-.js";
12
10
  import { a as applyOwnershipSchema } from "./ownership.schema-fwwDf_e5.js";
@@ -187,7 +185,7 @@ function tracksVerifierFactory(db) {
187
185
  deleteVerifier
188
186
  };
189
187
  }
190
- const { getInstance: getInstance$4 } = ABAC;
188
+ const { getInstance: getInstance$4 } = coreabac;
191
189
  function setupTracksRoutes(app, db) {
192
190
  const abac = getInstance$4(db);
193
191
  const verifier = tracksVerifierFactory();
@@ -449,7 +447,7 @@ function artistsVerifierFactory(db) {
449
447
  deleteVerifier
450
448
  };
451
449
  }
452
- const { getInstance: getInstance$3 } = ABAC;
450
+ const { getInstance: getInstance$3 } = coreabac;
453
451
  function setupArtistsRoutes(app, db) {
454
452
  const abac = getInstance$3(db);
455
453
  const verifier = artistsVerifierFactory();
@@ -732,7 +730,7 @@ function albumsVerifierFactory(db) {
732
730
  deleteVerifier
733
731
  };
734
732
  }
735
- const { getInstance: getInstance$2 } = ABAC;
733
+ const { getInstance: getInstance$2 } = coreabac;
736
734
  function setupAlbumsRoutes(app, db) {
737
735
  const abac = getInstance$2(db);
738
736
  const verifier = albumsVerifierFactory();
@@ -989,7 +987,7 @@ function playlistsVerifierFactory(db) {
989
987
  deleteVerifier
990
988
  };
991
989
  }
992
- const { getInstance: getInstance$1 } = ABAC;
990
+ const { getInstance: getInstance$1 } = coreabac;
993
991
  function setupPlaylistsRoutes(app, db) {
994
992
  const abac = getInstance$1(db);
995
993
  const verifier = playlistsVerifierFactory();
@@ -1289,7 +1287,7 @@ function genresVerifierFactory(db) {
1289
1287
  deleteVerifier
1290
1288
  };
1291
1289
  }
1292
- const { getInstance } = ABAC;
1290
+ const { getInstance } = coreabac;
1293
1291
  function setupGenresRoutes(app, db) {
1294
1292
  const abac = getInstance(db);
1295
1293
  const verifier = genresVerifierFactory();
@@ -1869,8 +1867,9 @@ const musicPolicies = (function initializeMusicPolicies(abacAccessControl) {
1869
1867
  return true;
1870
1868
  }
1871
1869
  if (action === "create") {
1872
- if (context.data.creator && context.data.creator.target) {
1873
- return context.data.creator.target.toString() === user.toString();
1870
+ const creator = context.data.body?.creator;
1871
+ if (creator?.target) {
1872
+ return creator.target.toString() === user.toString();
1874
1873
  }
1875
1874
  return false;
1876
1875
  }
@@ -1,4 +1,3 @@
1
- import { c as coreabac } from "./core.abac-DUPBnlk6.js";
2
1
  import { Types } from "mongoose";
3
2
  import apn from "apn";
4
3
  import { m as mailing } from "./mailing-DuEFRsa3.js";
@@ -761,13 +760,11 @@ const NotificationService = (function(db, wss) {
761
760
  sendToAnonymousDevices
762
761
  };
763
762
  });
764
- const { getInstance } = coreabac;
765
763
  function initializeNotifications(app, db, wss, origins, publicPath) {
766
764
  db.notification = NotificationModel(db);
767
765
  db.userDevice = UserDeviceModel(db);
768
766
  db.notificationPreference = NotificationPreferenceModel(db);
769
767
  db.notificationLog = NotificationLogModel(db);
770
- getInstance(db);
771
768
  if (wss) {
772
769
  const notificationService = NotificationService(db, wss);
773
770
  if (app) {
@@ -1,11 +1,10 @@
1
- import "node-cache";
2
- import { q as queryProcessorCore } from "./queryProcessor-CBQgZycY.js";
3
1
  import "./mailing-DuEFRsa3.js";
2
+ import { q as queryProcessorCore } from "./queryProcessor-C_5Iipam.js";
4
3
  import { m as modelsFactory, a as applyProfileSchema } from "./profile.schema-CjLOfG7b.js";
5
4
  import { a as applyOwnershipSchema } from "./ownership.schema-fwwDf_e5.js";
6
5
  import { a as applyCredentialsSchema } from "./credentials.schema--2vvcu8c.js";
7
- import { C as CRUD } from "./crud-C7FSTUes.js";
8
- import { A as ABAC } from "./abac-DYoheWuc.js";
6
+ import { C as CRUD } from "./crud-q1ye5IhV.js";
7
+ import { c as coreabac } from "./abac-BPl9Bmf9.js";
9
8
  import axios from "axios";
10
9
  import { V as Verifier, a as Validator } from "./core.verifier-gPPX_jhf.js";
11
10
  import { m as middlewareIndexFactory } from "./index-_Edcmck_.js";
@@ -882,7 +881,7 @@ const verifierFactory$1 = (function(db) {
882
881
  deleteVerifier
883
882
  };
884
883
  });
885
- const { getInstance: getInstance$1 } = ABAC;
884
+ const { getInstance: getInstance$1 } = coreabac;
886
885
  function setupApplicationsRoutes(app, db) {
887
886
  const abac = getInstance$1(db);
888
887
  const verifier = verifierFactory$1();
@@ -1217,7 +1216,7 @@ const verifierFactory = (function(db) {
1217
1216
  deleteVerifier
1218
1217
  };
1219
1218
  });
1220
- const { getInstance } = ABAC;
1219
+ const { getInstance } = coreabac;
1221
1220
  function setupCustomersRoutes(app, db) {
1222
1221
  const abac = getInstance(db);
1223
1222
  const verifier = verifierFactory();
@@ -1,13 +1,12 @@
1
- import { A as ABAC } from "./abac-DYoheWuc.js";
1
+ import { c as coreabac } from "./abac-BPl9Bmf9.js";
2
2
  import { a as applyCredentialsSchema } from "./credentials.schema--2vvcu8c.js";
3
3
  import { a as applyOwnershipSchema } from "./ownership.schema-fwwDf_e5.js";
4
4
  import { a as applyEngagementSchema } from "./engagement.schema-fh6W1fb_.js";
5
5
  import { m as middlewareIndexFactory } from "./index-_Edcmck_.js";
6
6
  import { m as mailing } from "./mailing-DuEFRsa3.js";
7
7
  import { uuid } from "uuidv4";
8
- import { q as queryProcessorCore } from "./queryProcessor-CBQgZycY.js";
8
+ import { q as queryProcessorCore } from "./queryProcessor-C_5Iipam.js";
9
9
  import { Types } from "mongoose";
10
- import { c as coreabac } from "./core.abac-DUPBnlk6.js";
11
10
  import { C as CacheNamespaced } from "./core.cache-DALYFDdy.js";
12
11
  import { a as addUserStatusFields, b as addMembersQuantity } from "./addUserStatusFields-Cc-JpmPo.js";
13
12
  import jwt from "jsonwebtoken";
@@ -1068,11 +1067,9 @@ const controllerFactory = (db) => {
1068
1067
  checkAccesses
1069
1068
  };
1070
1069
  };
1071
- const { getInstance: getInstance$1 } = coreabac;
1072
1070
  const organizationsRoutes = (function(app, db) {
1073
1071
  const controller = controllerFactory(db);
1074
1072
  const { authJwt } = middlewareIndexFactory(db);
1075
- getInstance$1(db);
1076
1073
  app.get(
1077
1074
  "/api/organizations",
1078
1075
  [
@@ -1170,11 +1167,13 @@ const initOrganizationPolicies = (function initializeOrganizationPolicies(abacAc
1170
1167
  if (currentResource?.owner?.type === "organization") {
1171
1168
  return String(currentResource.owner.target);
1172
1169
  }
1173
- if (data?.owner?.type === "organization") {
1174
- return String(data.owner.target);
1170
+ const ownerData = data?.body?.owner || data?.params?.owner;
1171
+ if (ownerData?.type === "organization") {
1172
+ return String(ownerData.target);
1175
1173
  }
1176
- if (data?.organization) {
1177
- return String(data.organization);
1174
+ const orgId = data?.body?.organization || data?.params?.organization;
1175
+ if (orgId) {
1176
+ return String(orgId);
1178
1177
  }
1179
1178
  if (currentResource?.organization) {
1180
1179
  return String(currentResource.organization);
@@ -1320,7 +1319,7 @@ const initOrganizationPolicies = (function initializeOrganizationPolicies(abacAc
1320
1319
  abacAccessControl.organizationHelpers = organizationHelpers;
1321
1320
  return abacAccessControl;
1322
1321
  });
1323
- const { getInstance } = ABAC;
1322
+ const { getInstance } = coreabac;
1324
1323
  function initializeOrganization(app, db, origins, publicPath) {
1325
1324
  db.department = DepartmentModel(db);
1326
1325
  db.organization = OrganizationModel(db);
@@ -1,21 +1,20 @@
1
1
  import { C as CacheNamespaced } from "./core.cache-DALYFDdy.js";
2
- import { L as LoggerNamespaced } from "./core.logger-C3q8A9dl.js";
3
- import { q as queryProcessorCore } from "./queryProcessor-CBQgZycY.js";
2
+ import { L as LoggerNamespaced, c as coreabac } from "./abac-BPl9Bmf9.js";
3
+ import { q as queryProcessorCore } from "./queryProcessor-C_5Iipam.js";
4
4
  import OpenAI from "openai";
5
5
  import { Types } from "mongoose";
6
- import { a as applyCommonSchema } from "./common.schema-GFSlNJo7.js";
6
+ import { a as applyCommonSchema } from "./common.schema-DswiUXKB.js";
7
7
  import { a as applyEngagementSchema } from "./engagement.schema-fh6W1fb_.js";
8
8
  import { a as applyMetadataSchema } from "./metadata.schema-CIRR_WQ-.js";
9
9
  import { a as applyOwnershipSchema } from "./ownership.schema-fwwDf_e5.js";
10
10
  import { m as middlewareFactory } from "./authJwt-J1csaMWA.js";
11
- import { c as coreabac } from "./core.abac-DUPBnlk6.js";
12
11
  import { a as Validator, V as Verifier } from "./core.verifier-gPPX_jhf.js";
13
- import { C as CRUD } from "./crud-C7FSTUes.js";
14
- import { A as ABAC } from "./abac-DYoheWuc.js";
12
+ import { C as CRUD } from "./crud-q1ye5IhV.js";
15
13
  const controllerFactory$1 = (db) => {
16
14
  const Category = db.category;
17
15
  const logger = new LoggerNamespaced(db);
18
16
  const cache = new CacheNamespaced();
17
+ const abac = coreabac.getInstance(db);
19
18
  const generateSlug = async (name, parentId = null) => {
20
19
  const baseSlug = name.toLowerCase().replace(/[^a-z0-9\s-]/g, "").replace(/\s+/g, "-").replace(/-+/g, "-").trim("-");
21
20
  let slug = baseSlug;
@@ -137,13 +136,24 @@ const controllerFactory$1 = (db) => {
137
136
  const depthNum = parseInt(depth, 10);
138
137
  const isTree = tree === "true" || tree === true;
139
138
  const isRoot = root === "true" || root === true;
140
- console.log("🚀 Read categories params:", { url, depth: depthNum, tree: isTree, root });
141
- const cacheKey = JSON.stringify(req.query);
139
+ const cacheKey = JSON.stringify({ query: req.query, userId: req.userId });
142
140
  const cached = await cache.get(cacheKey);
143
141
  if (cached) return res.json(cached);
142
+ let canViewAllStatuses = false;
143
+ if (req.userId) {
144
+ const accessCheck = await abac.checkAccess({
145
+ user: req.userId,
146
+ resource: "category",
147
+ action: "read",
148
+ data: {
149
+ body: owner ? { owner: { type: "organization", target: owner } } : {}
150
+ }
151
+ });
152
+ canViewAllStatuses = accessCheck.allow;
153
+ }
144
154
  const match = {
145
155
  ..._id && { _id: new db.mongoose.Types.ObjectId(_id) },
146
- ...status && { status },
156
+ ...status !== void 0 ? { status } : canViewAllStatuses ? {} : { status: "published" },
147
157
  ...search && { name: { $regex: search, $options: "i" } },
148
158
  ...type && { "owner.type": type },
149
159
  ...owner && { "owner.target": new db.mongoose.Types.ObjectId(owner) },
@@ -167,48 +177,39 @@ const controllerFactory$1 = (db) => {
167
177
  } else if (isRoot && !_id) {
168
178
  match.url = { $regex: "^/[^/]+$" };
169
179
  }
170
- console.log("🔎 Match object:", JSON.stringify(match, null, 2));
171
180
  const pipeline = [
172
181
  { $match: match },
173
- ...queryProcessorCore.getSortingOptions(sortParam, sortOrder)
174
- // ...(skip || limit ? globalsQuery.getPaginationOptions(skip, limit) : []),
182
+ ...queryProcessorCore.getSortingOptions(sortParam, sortOrder),
183
+ ...!isTree && (skip || limit) ? queryProcessorCore.getPaginationOptions(skip, limit) : []
175
184
  ];
176
- console.log("🔧 Pipeline:", JSON.stringify(pipeline, null, 2));
177
185
  let results = await Category.aggregate(pipeline);
178
- console.log("🔍 Aggregate results:", results.length, "categories found");
179
- console.log("🔍 Results URLs:", results.map((r) => r.url));
180
186
  if (url && depthNum > 1) {
181
187
  const maxLevel = url.split("/").filter(Boolean).length + depthNum - 1;
182
188
  results = results.filter((cat) => {
183
189
  const catLevel = cat.url.split("/").filter(Boolean).length;
184
190
  return cat.url === url || catLevel <= maxLevel;
185
191
  });
186
- console.log("🔍 After depth filter:", results.length, "categories");
187
192
  }
188
193
  if (isTree && results.length > 0) {
189
- console.log("🌳 Building tree from results");
190
194
  results = buildTreeFromUrl(results, sortParam, sortOrder);
195
+ const skipNum = parseInt(skip, 10) || 0;
196
+ const limitNum = parseInt(limit, 10) || 0;
197
+ if (limitNum > 0) {
198
+ results = results.slice(skipNum, skipNum + limitNum);
199
+ }
191
200
  } else if (!isTree && depthNum === 1 && url && results.length > 0) {
192
- console.log("📋 Processing tree=false, depth=1");
193
- console.log("📋 Looking for main category with url:", url);
194
201
  const mainCategory = results.find((c) => c.url === url);
195
- console.log("📋 Main category found:", !!mainCategory, mainCategory?.url);
196
202
  if (mainCategory) {
197
203
  const children = results.filter(
198
204
  (c) => c.url !== url && c.url.startsWith(url + "/")
199
205
  );
200
- console.log("📋 Children found:", children.length, children.map((c) => c.url));
201
206
  mainCategory.children = children;
202
207
  results = [mainCategory];
203
- console.log("📋 Final result with children:", results[0].url, "children:", results[0].children.length);
204
- } else {
205
- console.log("❌ Main category not found in results!");
206
208
  }
207
209
  }
208
210
  const tags = ["categories"];
209
211
  if (owner) tags.push(`organization_${owner}`);
210
212
  await cache.setWithTags(cacheKey, results, tags);
211
- console.log("✅ Final results count:", results.length);
212
213
  res.json(results);
213
214
  } catch (err) {
214
215
  logger.error(`Error reading categories: ${err.message}`);
@@ -1611,7 +1612,7 @@ const verifierFactory = (function(db) {
1611
1612
  deleteVerifier
1612
1613
  };
1613
1614
  });
1614
- const { getInstance } = ABAC;
1615
+ const { getInstance } = coreabac;
1615
1616
  function setupVariantsRoutes(app, db) {
1616
1617
  const abac = getInstance(db);
1617
1618
  const verifier = verifierFactory();
@@ -2,7 +2,7 @@ import { Types } from "mongoose";
2
2
  const ObjectId = { Types }.Types.ObjectId;
3
3
  function getBasicOptions(query) {
4
4
  console.log(query);
5
- const { _id, url, status, notstatus, type, organization, owner, customer, creator, product } = query;
5
+ const { _id, url, status, notstatus, type, organization, owner, customer, creator, product, listing } = query;
6
6
  const stages = [];
7
7
  const conditions = [];
8
8
  if (_id) {
@@ -43,6 +43,9 @@ function getBasicOptions(query) {
43
43
  if (product) {
44
44
  conditions.push({ "product": new ObjectId(product) });
45
45
  }
46
+ if (listing) {
47
+ conditions.push({ listing });
48
+ }
46
49
  if (conditions.length > 0) {
47
50
  stages.push({ $match: { $and: conditions } });
48
51
  }
@@ -1,9 +1,8 @@
1
1
  import { m as middlewareIndexFactory } from "./index-_Edcmck_.js";
2
- import { c as coreabac } from "./core.abac-DUPBnlk6.js";
2
+ import { L as LoggerNamespaced, c as coreabac } from "./abac-BPl9Bmf9.js";
3
3
  import { C as CacheNamespaced } from "./core.cache-DALYFDdy.js";
4
- import { L as LoggerNamespaced } from "./core.logger-C3q8A9dl.js";
5
4
  import { V as Verifier, a as Validator } from "./core.verifier-gPPX_jhf.js";
6
- import { q as queryProcessorCore } from "./queryProcessor-CBQgZycY.js";
5
+ import { q as queryProcessorCore } from "./queryProcessor-C_5Iipam.js";
7
6
  const queryValidatorConfig = {
8
7
  // status: { rule: 'optional', validator: Validator.schema().string().oneOf(['published', 'pending']), default: 'pending' },
9
8
  owner: { rule: "optional", validator: Validator.schema().string(), default: null },
@@ -1,4 +1,4 @@
1
- import { q as queryProcessorCore } from "./queryProcessor-CBQgZycY.js";
1
+ import { q as queryProcessorCore } from "./queryProcessor-C_5Iipam.js";
2
2
  const getIsOpenNowStage = (function getIsOpenNowStage2() {
3
3
  const now = /* @__PURE__ */ new Date();
4
4
  const currentDay = now.getDay();
package/dist/style.css CHANGED
@@ -167,6 +167,7 @@ a.button {
167
167
  text-box: trim-both cap alphabetic;
168
168
  }
169
169
  .button {
170
+ position: relative;
170
171
  display: flex;
171
172
  padding: var(--small);
172
173
  border-radius: var(--small);
@@ -211,29 +212,43 @@ a.button {
211
212
  align-items: center;
212
213
  justify-content: center;
213
214
  gap: 8px;
215
+ transition: opacity 0.3s ease;
214
216
  }
215
- .icon {
216
- width: 1rem;
217
- height: 1rem;
218
- }
219
-
220
- /* Vue Transitions */
221
- .content-enter-active,
222
- .content-leave-active {
223
- transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
217
+ .button-loader {
218
+ position: absolute;
219
+ inset: 0;
220
+ display: flex;
221
+ align-items: center;
222
+ justify-content: center;
223
+ opacity: 0;
224
+ transition: opacity 0.3s ease;
225
+ pointer-events: none;
224
226
  }
225
- .content-enter-from {
227
+ .button-success {
228
+ position: absolute;
229
+ inset: 0;
230
+ display: flex;
231
+ align-items: center;
232
+ justify-content: center;
226
233
  opacity: 0;
227
- transform: translateY(8px) scale(0.95);
234
+ transition: opacity 0.3s ease;
235
+ pointer-events: none;
228
236
  }
229
- .content-leave-to {
237
+ .button-error {
238
+ position: absolute;
239
+ inset: 0;
240
+ display: flex;
241
+ align-items: center;
242
+ justify-content: center;
230
243
  opacity: 0;
231
- transform: translateY(-8px) scale(0.95);
244
+ transition: opacity 0.3s ease;
245
+ pointer-events: none;
232
246
  }
233
- .content-enter-to,
234
- .content-leave-from {
247
+ .active {
235
248
  opacity: 1;
236
- transform: translateY(0) scale(1);
249
+ }
250
+ .hidden {
251
+ opacity: 0;
237
252
  }.slide-fade-enter-active {
238
253
  transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
239
254
  }
@@ -1417,21 +1432,21 @@ to {
1417
1432
  margin-left: 0.5rem;
1418
1433
  }
1419
1434
 
1420
- .notification-badge-container[data-v-7812247a] {
1435
+ .notification-badge-container[data-v-1dbe1152] {
1421
1436
  position: relative;
1422
1437
  display: inline-block;
1423
1438
  }
1424
- .notification-button[data-v-7812247a] {
1439
+ .notification-button[data-v-1dbe1152] {
1425
1440
  background: none;
1426
1441
  border: none;
1427
1442
  cursor: pointer;
1428
1443
  position: relative;
1429
1444
  font-size: 1.2rem;
1430
1445
  }
1431
- .notification-icon[data-v-7812247a] {
1446
+ .notification-icon[data-v-1dbe1152] {
1432
1447
  font-size: 1.4rem;
1433
1448
  }
1434
- .button-counter[data-v-7812247a] {
1449
+ .button-counter[data-v-1dbe1152] {
1435
1450
  position: absolute;
1436
1451
  right: -8px;
1437
1452
  bottom: -8px;
@@ -1445,8 +1460,8 @@ to {
1445
1460
  line-height: 16px;
1446
1461
  font-size: 10px;
1447
1462
  }
1448
- .notifications-loading[data-v-7812247a],
1449
- .notifications-empty[data-v-7812247a] {
1463
+ .notifications-loading[data-v-1dbe1152],
1464
+ .notifications-empty[data-v-1dbe1152] {
1450
1465
  padding: 24px;
1451
1466
  text-align: center;
1452
1467
  color: rgb(var(--text-light));
@@ -2900,7 +2915,7 @@ to { opacity: 1; transform: translateY(0);
2900
2915
  .bg-danger[data-v-58dea369] {
2901
2916
  background-color: #ef4444;
2902
2917
  }
2903
- #map[data-v-31c24ebe]:focus {
2918
+ #map[data-v-e9370e2c]:focus {
2904
2919
  outline: none;
2905
2920
  }
2906
2921
  /* Add styles for the user card component here */
@@ -1,4 +1,4 @@
1
- import { W as p } from "./main-CmjWiDVF.js";
1
+ import { W as p } from "./main-B9o1iBAZ.js";
2
2
  class f extends p {
3
3
  constructor() {
4
4
  super(...arguments), this.group = "CapacitorStorage";
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@ozdao/martyrs",
3
- "version": "0.2.564",
3
+ "version": "0.2.565",
4
4
  "description": "Fullstack framework focused on user experience and ease of development.",
5
5
  "author": "OZ DAO <hello@ozdao.dev>",
6
6
  "license": "GPL-3.0-or-later",
@@ -196,9 +196,10 @@ export default function createSsrDevServer(projectRoot, configs, createServer) {
196
196
  console.log('[LOADING 6] Loading server module...');
197
197
 
198
198
  // Получаем путь к скомпилированному файлу
199
- const { outputPath } = stats.toJson();
200
- const entryName = Object.keys(stats.toJson().entrypoints)[0];
201
- const assetName = stats.toJson().entrypoints[entryName].assets[0].name;
199
+ const jsonStats = stats.toJson();
200
+ const { outputPath } = jsonStats;
201
+ const entryName = Object.keys(jsonStats.entrypoints)[0];
202
+ const assetName = jsonStats.entrypoints[entryName].assets[0].name;
202
203
 
203
204
  // Импортируем с уникальным параметром для сброса кэша
204
205
  serverModule = await import(`file://${path.resolve(outputPath, assetName)}?t=${Date.now()}`);
@@ -7,18 +7,25 @@ export default projectRoot => {
7
7
  return {
8
8
  target: 'node',
9
9
  mode: 'development',
10
- entry: [path.resolve(projectRoot, 'src/server.js')],
10
+ entry: {
11
+ server: path.resolve(projectRoot, 'src/server.js')
12
+ },
11
13
  output: {
12
14
  filename: 'server.js',
15
+ chunkFilename: '[name].server.js',
13
16
  path: path.resolve(projectRoot, 'builds/web/server'),
14
17
  libraryTarget: 'module',
15
- chunkFormat: 'module',
18
+ chunkFormat: 'module',
19
+ chunkLoading: 'import',
16
20
  module: true,
17
21
  clean: true,
18
22
  },
19
23
  experiments: {
20
24
  outputModule: true,
21
25
  },
26
+ optimization: {
27
+ minimize: false,
28
+ },
22
29
  resolve: {
23
30
  alias: {
24
31
  '@martyrs': path.resolve(projectRoot, 'martyrs'),
@@ -37,13 +44,17 @@ export default projectRoot => {
37
44
  }),
38
45
  // Для .node файлов тоже используем module
39
46
  function({ context, request }, callback) {
40
- if (/\.node$/.test(request)) {
47
+ if (request.endsWith('.node')) {
41
48
  return callback(null, `module ${request}`);
42
49
  }
43
50
  callback();
44
51
  }
45
52
  ],
46
- plugins: [],
53
+ plugins: [
54
+ new rspack.optimize.LimitChunkCountPlugin({
55
+ maxChunks: 1
56
+ })
57
+ ],
47
58
  module: {
48
59
  rules: [
49
60
  {
@@ -48,7 +48,7 @@ export default (projectRoot) => {
48
48
  const rewritten = content
49
49
  // Обработка существующего синтаксиса v-slot
50
50
  .replace(
51
- /<(\w+)\s+v-slot(:[\w\-]+)?=("|'){([^"'}]+)}("|')\s*>/g,
51
+ /<(\w+)\s+v-slot(:[\w-]+)?=("|'){([^"'}]+)}("|')\s*>/g,
52
52
  (_match, tag, slotName, _q1, slotProps, _q2) => {
53
53
  const slotAttr = slotName || '';
54
54
  return `<template v-slot${slotAttr}="{${slotProps}}"><${tag}>`;
@@ -60,13 +60,13 @@ export default (projectRoot) => {
60
60
  )
61
61
  // Новая обработка для сокращенного синтаксиса #slotname
62
62
  .replace(
63
- /<(\w+)(\s+#[\w\-]+)([^>]*)\/>/g,
63
+ /<(\w+)(\s+#[\w-]+)([^>]*)\/>/g,
64
64
  (_match, tag, slotDirective, attrs) => {
65
65
  return `<template${slotDirective}><${tag}${attrs}/></template>`;
66
66
  }
67
67
  )
68
68
  .replace(
69
- /<(\w+)(\s+#[\w\-]+)([^>]*)>(.*?)<\/\1>/gs,
69
+ /<(\w+)(\s+#[\w-]+)([^>]*)>(.*?)<\/\1>/gs,
70
70
  (_match, tag, slotDirective, attrs, content) => {
71
71
  return `<template${slotDirective}><${tag}${attrs}>${content}</${tag}></template>`;
72
72
  }
@@ -77,7 +77,7 @@ export default (projectRoot) => {
77
77
  {
78
78
  extractor: (content) => {
79
79
  // Ищем классы и селекторы с префиксами Tailwind
80
- const normalClasses = content.match(/[A-Za-z0-9-_:\/]+/g) || [];
80
+ const normalClasses = content.match(/[A-Za-z0-9-_:/]+/g) || [];
81
81
 
82
82
  // Дополнительно ищем Vue атрибуты data-v-*
83
83
  // Это важно для правильного распознавания scoped стилей
@@ -96,6 +96,33 @@ export default (projectRoot) => {
96
96
  fileName: 'manifest.json',
97
97
  publicPath: '/'
98
98
  }),
99
+ new RspackManifestPlugin({
100
+ fileName: 'pwa-manifest.json',
101
+ seed: {
102
+ name: process.env.APP_NAME || 'App by Martyrs Framework',
103
+ short_name: process.env.APP_SHORT_NAME || 'App',
104
+ description: process.env.APP_DESCRIPTION || 'Progressive Web App by Martyrs Framework',
105
+ theme_color: '#000000',
106
+ background_color: '#ffffff',
107
+ display: 'standalone',
108
+ orientation: 'portrait',
109
+ scope: '/',
110
+ start_url: '/',
111
+ icons: [
112
+ {
113
+ src: '/favicon/android-chrome-192x192.png',
114
+ sizes: '192x192',
115
+ type: 'image/png'
116
+ },
117
+ {
118
+ src: '/favicon/android-chrome-512x512.png',
119
+ sizes: '512x512',
120
+ type: 'image/png'
121
+ }
122
+ ]
123
+ },
124
+ generate: (seed) => seed
125
+ }),
99
126
  ...(isProd ? [
100
127
  new InjectManifest({
101
128
  swSrc: path.resolve(projectRoot, '../public/sw.js'),
@@ -119,33 +146,6 @@ export default (projectRoot) => {
119
146
  return { manifest };
120
147
  }
121
148
  ]
122
- }),
123
- new RspackManifestPlugin({
124
- fileName: 'pwa-manifest.json',
125
- seed: {
126
- name: process.env.APP_NAME || 'App by Martyrs Framework',
127
- short_name: process.env.APP_SHORT_NAME || 'App',
128
- description: process.env.APP_DESCRIPTION || 'Progressive Web App by Martyrs Framework',
129
- theme_color: '#000000',
130
- background_color: '#ffffff',
131
- display: 'standalone',
132
- orientation: 'portrait',
133
- scope: '/',
134
- start_url: '/',
135
- icons: [
136
- {
137
- src: '/favicon/android-chrome-192x192.png',
138
- sizes: '192x192',
139
- type: 'image/png'
140
- },
141
- {
142
- src: '/favicon/android-chrome-512x512.png',
143
- sizes: '512x512',
144
- type: 'image/png'
145
- }
146
- ]
147
- },
148
- generate: (seed) => seed
149
149
  })
150
150
  ] : []),
151
151
  ],
@@ -38,14 +38,14 @@ export default `
38
38
  requestIdleCallback(() => {
39
39
  const link = document.createElement('link');
40
40
  link.rel = 'manifest';
41
- link.href = '/manifest.json';
41
+ link.href = '/pwa-manifest.json';
42
42
  document.head.appendChild(link);
43
43
  });
44
44
  } else {
45
45
  setTimeout(() => {
46
46
  const link = document.createElement('link');
47
47
  link.rel = 'manifest';
48
- link.href = '/manifest.json';
48
+ link.href = '/pwa-manifest.json';
49
49
  document.head.appendChild(link);
50
50
  }, 0);
51
51
  }