@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.
- package/dist/_virtual/index.cjs +4 -4
- package/dist/_virtual/index.js +4 -4
- package/dist/_virtual/index2.cjs +4 -4
- package/dist/_virtual/index2.js +4 -4
- package/dist/{abac-Cf_9lCSh.js → abac-CnJsrv8S.js} +3 -3
- package/dist/{abac-6LjoG9u-.cjs → abac-DOyUjhee.cjs} +3 -3
- package/dist/builder.cjs +27 -25
- package/dist/builder.js +27 -25
- package/dist/chats.server.cjs +198 -1
- package/dist/chats.server.js +198 -1
- package/dist/{crud-sE7GLPbj.js → crud-BIFl1W1i.js} +6 -6
- package/dist/{crud-JN_LFj01.cjs → crud-CC6k6yY5.cjs} +6 -6
- package/dist/{globals.logger-CZMgIMlM.cjs → globals.logger-BuW7JHMY.cjs} +63 -53
- package/dist/{globals.logger-Bf6rRU7j.js → globals.logger-VRHh-WUW.js} +63 -53
- package/dist/{globals.observer-CV2wCzzh.cjs → globals.observer-C_FYclgV.cjs} +36 -1
- package/dist/{globals.observer-CDqUjVU5.js → globals.observer-MZsqaE6F.js} +36 -1
- package/dist/globals.server.cjs +1 -1
- package/dist/globals.server.js +1 -1
- package/dist/inventory.server.cjs +276 -376
- package/dist/inventory.server.js +276 -376
- package/dist/main-BM3GslOO.cjs +11 -0
- package/dist/{main-wmEhGVvD.js → main-Qcn7YlTx.js} +1834 -1830
- package/dist/martyrs/src/components/Address/{Address.vue2.cjs → Address.vue.cjs} +2 -2
- package/dist/martyrs/src/components/Address/{Address.vue2.js.map → Address.vue.cjs.map} +1 -1
- package/dist/martyrs/src/components/Address/{Address.vue2.js → Address.vue.js} +2 -2
- package/dist/martyrs/src/components/Address/Address.vue.js.map +1 -0
- package/dist/martyrs/src/components/Button/Button.vue.cjs +1 -1
- package/dist/martyrs/src/components/Button/Button.vue.cjs.map +1 -1
- package/dist/martyrs/src/components/Button/Button.vue.js +1 -1
- package/dist/martyrs/src/components/Button/Button.vue.js.map +1 -1
- package/dist/martyrs/src/components/Chips/{Chips.vue.cjs → Chips.vue2.cjs} +2 -2
- package/dist/martyrs/src/components/Chips/Chips.vue2.cjs.map +1 -0
- package/dist/martyrs/src/components/Chips/{Chips.vue.js → Chips.vue2.js} +2 -2
- package/dist/martyrs/src/components/Chips/Chips.vue2.js.map +1 -0
- package/dist/martyrs/src/components/Dropdown/{Dropdown.vue.cjs → Dropdown.vue2.cjs} +2 -2
- package/dist/martyrs/src/components/Dropdown/Dropdown.vue2.cjs.map +1 -0
- package/dist/martyrs/src/components/Dropdown/{Dropdown.vue.js → Dropdown.vue2.js} +2 -2
- package/dist/martyrs/src/components/Dropdown/{Dropdown.vue.cjs.map → Dropdown.vue2.js.map} +1 -1
- package/dist/martyrs/src/components/EditImages/EditImages.vue.cjs +0 -93
- package/dist/martyrs/src/components/EditImages/EditImages.vue.cjs.map +1 -1
- package/dist/martyrs/src/components/EditImages/EditImages.vue.js +1 -94
- package/dist/martyrs/src/components/EditImages/EditImages.vue.js.map +1 -1
- package/dist/martyrs/src/components/EditImages/EditImages.vue2.cjs +93 -0
- package/dist/martyrs/src/components/EditImages/EditImages.vue2.cjs.map +1 -1
- package/dist/martyrs/src/components/EditImages/EditImages.vue2.js +94 -1
- package/dist/martyrs/src/components/EditImages/EditImages.vue2.js.map +1 -1
- package/dist/martyrs/src/components/Feed/Feed.vue.cjs +2 -3
- package/dist/martyrs/src/components/Feed/Feed.vue.cjs.map +1 -1
- package/dist/martyrs/src/components/Feed/Feed.vue.js +2 -3
- package/dist/martyrs/src/components/Feed/Feed.vue.js.map +1 -1
- package/dist/martyrs/src/components/FieldTags/FieldTags.vue.cjs +1 -1
- package/dist/martyrs/src/components/FieldTags/FieldTags.vue.js +1 -1
- package/dist/martyrs/src/components/Loader/Loader.vue2.cjs +1 -1
- package/dist/martyrs/src/components/Loader/Loader.vue2.cjs.map +1 -1
- package/dist/martyrs/src/components/Loader/Loader.vue2.js +1 -1
- package/dist/martyrs/src/components/Loader/Loader.vue2.js.map +1 -1
- package/dist/martyrs/src/components/LocationMarker/{LocationMarker.vue2.cjs → LocationMarker.vue.cjs} +2 -2
- package/dist/martyrs/src/components/LocationMarker/{LocationMarker.vue2.js.map → LocationMarker.vue.cjs.map} +1 -1
- package/dist/martyrs/src/components/LocationMarker/{LocationMarker.vue2.js → LocationMarker.vue.js} +2 -2
- package/dist/martyrs/src/components/LocationMarker/LocationMarker.vue.js.map +1 -0
- package/dist/martyrs/src/components/Select/{Select.vue2.cjs → Select.vue.cjs} +2 -2
- package/dist/martyrs/src/components/Select/{Select.vue2.js.map → Select.vue.cjs.map} +1 -1
- package/dist/martyrs/src/components/Select/{Select.vue2.js → Select.vue.js} +2 -2
- package/dist/martyrs/src/components/Select/Select.vue.js.map +1 -0
- package/dist/martyrs/src/modules/auth/views/components/blocks/CardUser.vue.cjs +2 -2
- package/dist/martyrs/src/modules/auth/views/components/blocks/CardUser.vue.js +2 -2
- package/dist/martyrs/src/modules/auth/views/components/layouts/Auth.vue.cjs +1 -1
- package/dist/martyrs/src/modules/auth/views/components/layouts/Auth.vue.cjs.map +1 -1
- package/dist/martyrs/src/modules/auth/views/components/layouts/Auth.vue.js +1 -1
- package/dist/martyrs/src/modules/auth/views/components/layouts/Auth.vue.js.map +1 -1
- package/dist/martyrs/src/modules/auth/views/components/pages/Invite.vue.cjs +2 -2
- package/dist/martyrs/src/modules/auth/views/components/pages/Invite.vue.cjs.map +1 -1
- package/dist/martyrs/src/modules/auth/views/components/pages/Invite.vue.js +4 -4
- package/dist/martyrs/src/modules/auth/views/components/pages/Invite.vue.js.map +1 -1
- package/dist/martyrs/src/modules/auth/views/components/pages/Profile.vue.cjs +41 -51
- package/dist/martyrs/src/modules/auth/views/components/pages/Profile.vue.cjs.map +1 -1
- package/dist/martyrs/src/modules/auth/views/components/pages/Profile.vue.js +59 -69
- package/dist/martyrs/src/modules/auth/views/components/pages/Profile.vue.js.map +1 -1
- package/dist/martyrs/src/modules/auth/views/components/sections/SliderFeatures.vue.cjs +11 -13
- package/dist/martyrs/src/modules/auth/views/components/sections/SliderFeatures.vue.cjs.map +1 -1
- package/dist/martyrs/src/modules/auth/views/components/sections/SliderFeatures.vue.js +11 -13
- package/dist/martyrs/src/modules/auth/views/components/sections/SliderFeatures.vue.js.map +1 -1
- package/dist/martyrs/src/modules/auth/views/store/auth.cjs +10 -1
- package/dist/martyrs/src/modules/auth/views/store/auth.cjs.map +1 -1
- package/dist/martyrs/src/modules/auth/views/store/auth.js +10 -1
- package/dist/martyrs/src/modules/auth/views/store/auth.js.map +1 -1
- package/dist/martyrs/src/modules/backoffice/components/partials/Sidebar.vue.cjs +6 -0
- package/dist/martyrs/src/modules/backoffice/components/partials/Sidebar.vue.cjs.map +1 -1
- package/dist/martyrs/src/modules/backoffice/components/partials/Sidebar.vue.js +6 -0
- package/dist/martyrs/src/modules/backoffice/components/partials/Sidebar.vue.js.map +1 -1
- package/dist/martyrs/src/modules/chats/components/blocks/ChatMessage.vue.cjs +27 -11
- package/dist/martyrs/src/modules/chats/components/blocks/ChatMessage.vue.cjs.map +1 -1
- package/dist/martyrs/src/modules/chats/components/blocks/ChatMessage.vue.js +28 -12
- package/dist/martyrs/src/modules/chats/components/blocks/ChatMessage.vue.js.map +1 -1
- package/dist/martyrs/src/modules/chats/components/sections/ChatWindow.vue.cjs +62 -0
- package/dist/martyrs/src/modules/chats/components/sections/ChatWindow.vue.cjs.map +1 -1
- package/dist/martyrs/src/modules/chats/components/sections/ChatWindow.vue.js +63 -1
- package/dist/martyrs/src/modules/chats/components/sections/ChatWindow.vue.js.map +1 -1
- package/dist/martyrs/src/modules/chats/store/chat.store.cjs +60 -1
- package/dist/martyrs/src/modules/chats/store/chat.store.cjs.map +1 -1
- package/dist/martyrs/src/modules/chats/store/chat.store.js +60 -1
- package/dist/martyrs/src/modules/chats/store/chat.store.js.map +1 -1
- package/dist/martyrs/src/modules/community/components/blocks/CardBlogpost.vue.cjs +1 -1
- package/dist/martyrs/src/modules/community/components/blocks/CardBlogpost.vue.js +1 -1
- package/dist/martyrs/src/modules/community/components/layouts/Community.vue.cjs +3 -3
- package/dist/martyrs/src/modules/community/components/layouts/Community.vue.cjs.map +1 -1
- package/dist/martyrs/src/modules/community/components/layouts/Community.vue.js +3 -3
- package/dist/martyrs/src/modules/community/components/layouts/Community.vue.js.map +1 -1
- package/dist/martyrs/src/modules/community/components/pages/BlogPost.vue.cjs +2 -2
- package/dist/martyrs/src/modules/community/components/pages/BlogPost.vue.js +2 -2
- package/dist/martyrs/src/modules/community/components/pages/CreateBlogPost.vue.cjs +1 -1
- package/dist/martyrs/src/modules/community/components/pages/CreateBlogPost.vue.js +1 -1
- package/dist/martyrs/src/modules/community/components/pages/Posts.vue.cjs +50 -368
- package/dist/martyrs/src/modules/community/components/pages/Posts.vue.cjs.map +1 -1
- package/dist/martyrs/src/modules/community/components/pages/Posts.vue.js +53 -371
- package/dist/martyrs/src/modules/community/components/pages/Posts.vue.js.map +1 -1
- package/dist/martyrs/src/modules/events/components/blocks/CardEvent.vue.cjs +1 -1
- package/dist/martyrs/src/modules/events/components/blocks/CardEvent.vue.js +1 -1
- package/dist/martyrs/src/modules/events/components/pages/EditEvent.vue.cjs +1 -1
- package/dist/martyrs/src/modules/events/components/pages/EditEvent.vue.js +1 -1
- package/dist/martyrs/src/modules/events/components/pages/EditEventTickets.vue.cjs +1 -1
- package/dist/martyrs/src/modules/events/components/pages/EditEventTickets.vue.cjs.map +1 -1
- package/dist/martyrs/src/modules/events/components/pages/EditEventTickets.vue.js +1 -1
- package/dist/martyrs/src/modules/events/components/pages/EditEventTickets.vue.js.map +1 -1
- package/dist/martyrs/src/modules/events/components/pages/Event.vue.cjs +2 -3
- package/dist/martyrs/src/modules/events/components/pages/Event.vue.cjs.map +1 -1
- package/dist/martyrs/src/modules/events/components/pages/Event.vue.js +2 -3
- package/dist/martyrs/src/modules/events/components/pages/Event.vue.js.map +1 -1
- package/dist/martyrs/src/modules/events/components/pages/Events.vue.cjs +2 -2
- package/dist/martyrs/src/modules/events/components/pages/Events.vue.cjs.map +1 -1
- package/dist/martyrs/src/modules/events/components/pages/Events.vue.js +2 -2
- package/dist/martyrs/src/modules/events/components/pages/Events.vue.js.map +1 -1
- package/dist/martyrs/src/modules/gallery/components/sections/BackofficeGallery.vue.cjs +3 -3
- package/dist/martyrs/src/modules/gallery/components/sections/BackofficeGallery.vue.js +3 -3
- package/dist/martyrs/src/modules/globals/views/classes/globals.i18n.cjs +1 -1
- package/dist/martyrs/src/modules/globals/views/classes/globals.i18n.js +1 -1
- package/dist/martyrs/src/modules/globals/views/components/blocks/CardHeader.vue.cjs +2 -2
- package/dist/martyrs/src/modules/globals/views/components/blocks/CardHeader.vue.js +2 -2
- package/dist/martyrs/src/modules/globals/views/components/partials/Header.vue.cjs +2 -2
- package/dist/martyrs/src/modules/globals/views/components/partials/Header.vue.cjs.map +1 -1
- package/dist/martyrs/src/modules/globals/views/components/partials/Header.vue.js +2 -2
- package/dist/martyrs/src/modules/globals/views/components/partials/Header.vue.js.map +1 -1
- package/dist/martyrs/src/modules/globals/views/components/partials/LocationSelection.vue.cjs +2 -2
- package/dist/martyrs/src/modules/globals/views/components/partials/LocationSelection.vue.js +2 -2
- package/dist/martyrs/src/modules/globals/views/components/partials/Navigation.vue.cjs +1 -1
- package/dist/martyrs/src/modules/globals/views/components/partials/Navigation.vue.js +1 -1
- package/dist/martyrs/src/modules/globals/views/components/partials/Sidebar.vue.cjs +16 -3
- package/dist/martyrs/src/modules/globals/views/components/partials/Sidebar.vue.cjs.map +1 -1
- package/dist/martyrs/src/modules/globals/views/components/partials/Sidebar.vue.js +17 -4
- package/dist/martyrs/src/modules/globals/views/components/partials/Sidebar.vue.js.map +1 -1
- package/dist/martyrs/src/modules/globals/views/components/sections/Walkthrough.vue.cjs +1 -1
- package/dist/martyrs/src/modules/globals/views/mixins/mixins.cjs +7 -0
- package/dist/martyrs/src/modules/globals/views/mixins/mixins.cjs.map +1 -1
- package/dist/martyrs/src/modules/globals/views/mixins/mixins.js +7 -0
- package/dist/martyrs/src/modules/globals/views/mixins/mixins.js.map +1 -1
- package/dist/martyrs/src/modules/icons/pages/IconsPage.vue.cjs +1 -1
- package/dist/martyrs/src/modules/inventory/components/forms/AdjustmentForm.vue.cjs +67 -43
- package/dist/martyrs/src/modules/inventory/components/forms/AdjustmentForm.vue.cjs.map +1 -1
- package/dist/martyrs/src/modules/inventory/components/forms/AdjustmentForm.vue.js +68 -44
- package/dist/martyrs/src/modules/inventory/components/forms/AdjustmentForm.vue.js.map +1 -1
- package/dist/martyrs/src/modules/inventory/components/forms/ColumnSettingsMenu.vue.cjs +22 -7
- package/dist/martyrs/src/modules/inventory/components/forms/ColumnSettingsMenu.vue.cjs.map +1 -1
- package/dist/martyrs/src/modules/inventory/components/forms/ColumnSettingsMenu.vue.js +23 -8
- package/dist/martyrs/src/modules/inventory/components/forms/ColumnSettingsMenu.vue.js.map +1 -1
- package/dist/martyrs/src/modules/inventory/components/forms/HistoryView.vue.cjs +47 -32
- package/dist/martyrs/src/modules/inventory/components/forms/HistoryView.vue.cjs.map +1 -1
- package/dist/martyrs/src/modules/inventory/components/forms/HistoryView.vue.js +48 -33
- package/dist/martyrs/src/modules/inventory/components/forms/HistoryView.vue.js.map +1 -1
- package/dist/martyrs/src/modules/inventory/components/forms/StockAlertsForm.vue.cjs +47 -26
- package/dist/martyrs/src/modules/inventory/components/forms/StockAlertsForm.vue.cjs.map +1 -1
- package/dist/martyrs/src/modules/inventory/components/forms/StockAlertsForm.vue.js +48 -27
- package/dist/martyrs/src/modules/inventory/components/forms/StockAlertsForm.vue.js.map +1 -1
- package/dist/martyrs/src/modules/inventory/components/pages/Inventory.vue.cjs +42 -52
- package/dist/martyrs/src/modules/inventory/components/pages/Inventory.vue.cjs.map +1 -1
- package/dist/martyrs/src/modules/inventory/components/pages/Inventory.vue.js +43 -53
- package/dist/martyrs/src/modules/inventory/components/pages/Inventory.vue.js.map +1 -1
- package/dist/martyrs/src/modules/inventory/components/pages/InventoryEdit.vue.cjs +18 -18
- package/dist/martyrs/src/modules/inventory/components/pages/InventoryEdit.vue.cjs.map +1 -1
- package/dist/martyrs/src/modules/inventory/components/pages/InventoryEdit.vue.js +3 -3
- package/dist/martyrs/src/modules/inventory/components/pages/InventoryEdit.vue.js.map +1 -1
- package/dist/martyrs/src/modules/inventory/store/{ inventory.store.cjs → inventory.store.cjs} +46 -2
- package/dist/martyrs/src/modules/inventory/store/inventory.store.cjs.map +1 -0
- package/dist/martyrs/src/modules/inventory/store/{ inventory.store.js → inventory.store.js} +46 -2
- package/dist/martyrs/src/modules/inventory/store/inventory.store.js.map +1 -0
- package/dist/martyrs/src/modules/marketplace/views/components/layouts/Marketplace.vue.cjs +180 -19
- package/dist/martyrs/src/modules/marketplace/views/components/layouts/Marketplace.vue.cjs.map +1 -1
- package/dist/martyrs/src/modules/marketplace/views/components/layouts/Marketplace.vue.js +181 -20
- package/dist/martyrs/src/modules/marketplace/views/components/layouts/Marketplace.vue.js.map +1 -1
- package/dist/martyrs/src/modules/music/components/forms/AlbumForm.vue.cjs +1 -1
- package/dist/martyrs/src/modules/music/components/forms/AlbumForm.vue.js +1 -1
- package/dist/martyrs/src/modules/music/components/forms/ArtistForm.vue.cjs +1 -1
- package/dist/martyrs/src/modules/music/components/forms/ArtistForm.vue.js +1 -1
- package/dist/martyrs/src/modules/music/components/forms/TrackForm.vue.cjs +1 -1
- package/dist/martyrs/src/modules/music/components/forms/TrackForm.vue.js +1 -1
- package/dist/martyrs/src/modules/music/components/pages/Album.vue.cjs +1 -1
- package/dist/martyrs/src/modules/music/components/pages/Album.vue.js +1 -1
- package/dist/martyrs/src/modules/music/components/pages/Playlist.vue.cjs +1 -1
- package/dist/martyrs/src/modules/music/components/pages/Playlist.vue.js +1 -1
- package/dist/martyrs/src/modules/music/components/pages/Track.vue.cjs +1 -1
- package/dist/martyrs/src/modules/music/components/pages/Track.vue.js +1 -1
- package/dist/martyrs/src/modules/music/router/music.cjs +1 -2
- package/dist/martyrs/src/modules/music/router/music.cjs.map +1 -1
- package/dist/martyrs/src/modules/music/router/music.js +1 -2
- package/dist/martyrs/src/modules/music/router/music.js.map +1 -1
- package/dist/martyrs/src/modules/orders/components/blocks/CardOrderBackoffice.vue.cjs +2 -2
- package/dist/martyrs/src/modules/orders/components/blocks/CardOrderBackoffice.vue.cjs.map +1 -1
- package/dist/martyrs/src/modules/orders/components/blocks/CardOrderBackoffice.vue.js +2 -2
- package/dist/martyrs/src/modules/orders/components/blocks/CardOrderBackoffice.vue.js.map +1 -1
- package/dist/martyrs/src/modules/orders/components/forms/FormApplicationDetails.vue.cjs +1 -1
- package/dist/martyrs/src/modules/orders/components/forms/FormApplicationDetails.vue.js +1 -1
- package/dist/martyrs/src/modules/orders/components/forms/FormCustomerDetails.vue.cjs +1 -1
- package/dist/martyrs/src/modules/orders/components/forms/FormCustomerDetails.vue.js +1 -1
- package/dist/martyrs/src/modules/orders/components/pages/OrderBackoffice.vue.cjs +1 -1
- package/dist/martyrs/src/modules/orders/components/pages/OrderBackoffice.vue.js +1 -1
- package/dist/martyrs/src/modules/orders/components/sections/FormDelivery.vue.cjs +3 -4
- package/dist/martyrs/src/modules/orders/components/sections/FormDelivery.vue.cjs.map +1 -1
- package/dist/martyrs/src/modules/orders/components/sections/FormDelivery.vue.js +3 -4
- package/dist/martyrs/src/modules/orders/components/sections/FormDelivery.vue.js.map +1 -1
- package/dist/martyrs/src/modules/orders/components/sections/FormPayment.vue.cjs +1 -1
- package/dist/martyrs/src/modules/orders/components/sections/FormPayment.vue.js +1 -1
- package/dist/martyrs/src/modules/orders/orders.client.cjs +2 -2
- package/dist/martyrs/src/modules/orders/orders.client.cjs.map +1 -1
- package/dist/martyrs/src/modules/orders/orders.client.js +2 -2
- package/dist/martyrs/src/modules/orders/orders.client.js.map +1 -1
- package/dist/martyrs/src/modules/orders/router/customers.router.cjs +1 -1
- package/dist/martyrs/src/modules/orders/router/customers.router.cjs.map +1 -1
- package/dist/martyrs/src/modules/orders/router/customers.router.js +1 -1
- package/dist/martyrs/src/modules/orders/router/customers.router.js.map +1 -1
- package/dist/martyrs/src/modules/organizations/components/blocks/CardDepartment.vue.cjs +2 -24
- package/dist/martyrs/src/modules/organizations/components/blocks/CardDepartment.vue.cjs.map +1 -1
- package/dist/martyrs/src/modules/organizations/components/blocks/CardDepartment.vue.js +5 -27
- package/dist/martyrs/src/modules/organizations/components/blocks/CardDepartment.vue.js.map +1 -1
- package/dist/martyrs/src/modules/organizations/components/blocks/CardOrganization.vue.cjs +1 -1
- package/dist/martyrs/src/modules/organizations/components/blocks/CardOrganization.vue.js +1 -1
- package/dist/martyrs/src/modules/organizations/components/blocks/Socials.vue.cjs +4 -1
- package/dist/martyrs/src/modules/organizations/components/blocks/Socials.vue.cjs.map +1 -1
- package/dist/martyrs/src/modules/organizations/components/blocks/Socials.vue.js +4 -1
- package/dist/martyrs/src/modules/organizations/components/blocks/Socials.vue.js.map +1 -1
- package/dist/martyrs/src/modules/organizations/components/elements/ButtonToggleMembership.vue.cjs +3 -3
- package/dist/martyrs/src/modules/organizations/components/elements/ButtonToggleMembership.vue.cjs.map +1 -1
- package/dist/martyrs/src/modules/organizations/components/elements/ButtonToggleMembership.vue.js +3 -3
- package/dist/martyrs/src/modules/organizations/components/elements/ButtonToggleMembership.vue.js.map +1 -1
- package/dist/martyrs/src/modules/organizations/components/forms/AddExistingMembersForm.vue.cjs +195 -0
- package/dist/martyrs/src/modules/organizations/components/forms/AddExistingMembersForm.vue.cjs.map +1 -0
- package/dist/martyrs/src/modules/organizations/components/forms/AddExistingMembersForm.vue.js +195 -0
- package/dist/martyrs/src/modules/organizations/components/forms/AddExistingMembersForm.vue.js.map +1 -0
- package/dist/martyrs/src/modules/organizations/components/forms/DepartmentForm.vue.cjs +402 -0
- package/dist/martyrs/src/modules/organizations/components/forms/DepartmentForm.vue.cjs.map +1 -0
- package/dist/martyrs/src/modules/organizations/components/forms/DepartmentForm.vue.js +402 -0
- package/dist/martyrs/src/modules/organizations/components/forms/DepartmentForm.vue.js.map +1 -0
- package/dist/martyrs/src/modules/organizations/components/forms/InviteForm.vue.cjs +86 -0
- package/dist/martyrs/src/modules/organizations/components/forms/InviteForm.vue.cjs.map +1 -0
- package/dist/martyrs/src/modules/organizations/components/forms/InviteForm.vue.js +86 -0
- package/dist/martyrs/src/modules/organizations/components/forms/InviteForm.vue.js.map +1 -0
- package/dist/martyrs/src/modules/organizations/components/pages/Department.vue.cjs +10 -10
- package/dist/martyrs/src/modules/organizations/components/pages/Department.vue.cjs.map +1 -1
- package/dist/martyrs/src/modules/organizations/components/pages/Department.vue.js +11 -11
- package/dist/martyrs/src/modules/organizations/components/pages/Department.vue.js.map +1 -1
- package/dist/martyrs/src/modules/organizations/components/pages/Members.vue.cjs +279 -191
- package/dist/martyrs/src/modules/organizations/components/pages/Members.vue.cjs.map +1 -1
- package/dist/martyrs/src/modules/organizations/components/pages/Members.vue.js +285 -197
- package/dist/martyrs/src/modules/organizations/components/pages/Members.vue.js.map +1 -1
- package/dist/martyrs/src/modules/organizations/components/pages/Organization.vue.cjs +7 -7
- package/dist/martyrs/src/modules/organizations/components/pages/Organization.vue.cjs.map +1 -1
- package/dist/martyrs/src/modules/organizations/components/pages/Organization.vue.js +7 -7
- package/dist/martyrs/src/modules/organizations/components/pages/Organization.vue.js.map +1 -1
- package/dist/martyrs/src/modules/organizations/components/pages/OrganizationEdit.vue.cjs +2 -2
- package/dist/martyrs/src/modules/organizations/components/pages/OrganizationEdit.vue.cjs.map +1 -1
- package/dist/martyrs/src/modules/organizations/components/pages/OrganizationEdit.vue.js +2 -2
- package/dist/martyrs/src/modules/organizations/components/pages/OrganizationEdit.vue.js.map +1 -1
- package/dist/martyrs/src/modules/organizations/components/pages/Organizations.vue.cjs +1 -1
- package/dist/martyrs/src/modules/organizations/components/pages/Organizations.vue.cjs.map +1 -1
- package/dist/martyrs/src/modules/organizations/components/pages/Organizations.vue.js +1 -1
- package/dist/martyrs/src/modules/organizations/components/pages/Organizations.vue.js.map +1 -1
- package/dist/martyrs/src/modules/organizations/components/sections/MembersAdd.vue.cjs +1 -1
- package/dist/martyrs/src/modules/organizations/components/sections/MembersAdd.vue.js +1 -1
- package/dist/martyrs/src/modules/organizations/components/sections/Organizations.vue.cjs +3 -3
- package/dist/martyrs/src/modules/organizations/components/sections/Organizations.vue.cjs.map +1 -1
- package/dist/martyrs/src/modules/organizations/components/sections/Organizations.vue.js +3 -3
- package/dist/martyrs/src/modules/organizations/components/sections/Organizations.vue.js.map +1 -1
- package/dist/martyrs/src/modules/organizations/components/sections/Publics.vue.cjs +4 -4
- package/dist/martyrs/src/modules/organizations/components/sections/Publics.vue.cjs.map +1 -1
- package/dist/martyrs/src/modules/organizations/components/sections/Publics.vue.js +4 -4
- package/dist/martyrs/src/modules/organizations/components/sections/Publics.vue.js.map +1 -1
- package/dist/martyrs/src/modules/organizations/configs/navigation.organization.config.cjs +42 -41
- package/dist/martyrs/src/modules/organizations/configs/navigation.organization.config.cjs.map +1 -1
- package/dist/martyrs/src/modules/organizations/configs/navigation.organization.config.js +53 -52
- package/dist/martyrs/src/modules/organizations/configs/navigation.organization.config.js.map +1 -1
- package/dist/martyrs/src/modules/organizations/organizations.client.cjs +23 -16
- package/dist/martyrs/src/modules/organizations/organizations.client.cjs.map +1 -1
- package/dist/martyrs/src/modules/organizations/organizations.client.js +35 -28
- package/dist/martyrs/src/modules/organizations/organizations.client.js.map +1 -1
- package/dist/martyrs/src/modules/organizations/router/departments.router.cjs +0 -18
- package/dist/martyrs/src/modules/organizations/router/departments.router.cjs.map +1 -1
- package/dist/martyrs/src/modules/organizations/router/departments.router.js +0 -18
- package/dist/martyrs/src/modules/organizations/router/departments.router.js.map +1 -1
- package/dist/martyrs/src/modules/organizations/store/departments.store.cjs +6 -0
- package/dist/martyrs/src/modules/organizations/store/departments.store.cjs.map +1 -0
- package/dist/martyrs/src/modules/organizations/store/departments.store.js +6 -0
- package/dist/martyrs/src/modules/organizations/store/departments.store.js.map +1 -0
- package/dist/martyrs/src/modules/organizations/store/invites.store.cjs +6 -0
- package/dist/martyrs/src/modules/organizations/store/invites.store.cjs.map +1 -0
- package/dist/martyrs/src/modules/organizations/store/invites.store.js +6 -0
- package/dist/martyrs/src/modules/organizations/store/invites.store.js.map +1 -0
- package/dist/martyrs/src/modules/organizations/store/memberships.store.cjs +20 -0
- package/dist/martyrs/src/modules/organizations/store/memberships.store.cjs.map +1 -0
- package/dist/martyrs/src/modules/organizations/store/memberships.store.js +20 -0
- package/dist/martyrs/src/modules/organizations/store/memberships.store.js.map +1 -0
- package/dist/martyrs/src/modules/products/components/blocks/ProductDiscounts.vue.cjs +1 -1
- package/dist/martyrs/src/modules/products/components/blocks/ProductDiscounts.vue.js +1 -1
- package/dist/martyrs/src/modules/products/components/pages/CategoryEdit.vue.cjs +3 -4
- package/dist/martyrs/src/modules/products/components/pages/CategoryEdit.vue.cjs.map +1 -1
- package/dist/martyrs/src/modules/products/components/pages/CategoryEdit.vue.js +3 -4
- package/dist/martyrs/src/modules/products/components/pages/CategoryEdit.vue.js.map +1 -1
- package/dist/martyrs/src/modules/products/components/pages/ProductEdit.vue.cjs +2 -2
- package/dist/martyrs/src/modules/products/components/pages/ProductEdit.vue.js +2 -2
- package/dist/martyrs/src/modules/products/components/pages/Products.vue.cjs +1 -1
- package/dist/martyrs/src/modules/products/components/pages/Products.vue.cjs.map +1 -1
- package/dist/martyrs/src/modules/products/components/pages/Products.vue.js +1 -1
- package/dist/martyrs/src/modules/products/components/pages/Products.vue.js.map +1 -1
- package/dist/martyrs/src/modules/products/components/sections/EditDiscounts.vue.cjs +1 -1
- package/dist/martyrs/src/modules/products/components/sections/EditDiscounts.vue.js +1 -1
- package/dist/martyrs/src/modules/products/components/sections/EditVariants.vue.cjs +2 -2
- package/dist/martyrs/src/modules/products/components/sections/EditVariants.vue.js +2 -2
- package/dist/martyrs/src/modules/rents/views/components/pages/Gant/GanttToolbar.vue.cjs +1 -1
- package/dist/martyrs/src/modules/rents/views/components/pages/Gant/GanttToolbar.vue.js +1 -1
- package/dist/martyrs/src/modules/reports/components/sections/FormReport.vue.cjs +1 -1
- package/dist/martyrs/src/modules/reports/components/sections/FormReport.vue.js +1 -1
- package/dist/martyrs/src/modules/spots/components/blocks/CardSpot.vue.cjs +3 -3
- package/dist/martyrs/src/modules/spots/components/blocks/CardSpot.vue.cjs.map +1 -1
- package/dist/martyrs/src/modules/spots/components/blocks/CardSpot.vue.js +3 -3
- package/dist/martyrs/src/modules/spots/components/blocks/CardSpot.vue.js.map +1 -1
- package/dist/martyrs/src/modules/spots/components/blocks/SpotMemberModify.vue.cjs +1 -1
- package/dist/martyrs/src/modules/spots/components/blocks/SpotMemberModify.vue.js +1 -1
- package/dist/martyrs/src/modules/spots/components/layouts/Spots.vue.cjs +1 -1
- package/dist/martyrs/src/modules/spots/components/layouts/Spots.vue.js +1 -1
- package/dist/martyrs/src/modules/spots/components/pages/SpotEdit.vue.cjs +3 -3
- package/dist/martyrs/src/modules/spots/components/pages/SpotEdit.vue.js +3 -3
- package/dist/martyrs/src/modules/spots/components/pages/Spots.vue.cjs +60 -272
- package/dist/martyrs/src/modules/spots/components/pages/Spots.vue.cjs.map +1 -1
- package/dist/martyrs/src/modules/spots/components/pages/Spots.vue.js +62 -274
- package/dist/martyrs/src/modules/spots/components/pages/Spots.vue.js.map +1 -1
- package/dist/martyrs/src/modules/spots/components/sections/WorktimeEdit.vue.cjs +1 -1
- package/dist/martyrs/src/modules/spots/components/sections/WorktimeEdit.vue.js +1 -1
- package/dist/martyrs/src/modules/wallet/views/components/blocks/CryptoDeposit.vue.cjs +1 -1
- package/dist/martyrs/src/modules/wallet/views/components/blocks/CryptoDeposit.vue.js +1 -1
- package/dist/martyrs/src/modules/wallet/views/components/pages/Wallet.vue.cjs +4 -4
- package/dist/martyrs/src/modules/wallet/views/components/pages/Wallet.vue.js +4 -4
- package/dist/martyrs.cjs.js +1 -1
- package/dist/martyrs.css +1 -1
- package/dist/martyrs.es.js +1 -1
- package/dist/music.server.cjs +9 -9
- package/dist/music.server.js +9 -9
- package/dist/notifications.server.cjs +0 -24
- package/dist/notifications.server.js +0 -24
- package/dist/orders.server.cjs +3 -6
- package/dist/orders.server.js +3 -6
- package/dist/organizations.server.cjs +119 -43
- package/dist/organizations.server.js +119 -43
- package/dist/products.server.cjs +5 -5
- package/dist/products.server.js +5 -5
- package/dist/rents.server.cjs +3 -3
- package/dist/rents.server.js +3 -3
- package/dist/style.css +16 -17
- package/dist/wallet.server.cjs +2 -2
- package/dist/wallet.server.js +2 -2
- package/dist/{web-B5wZTKbK.cjs → web-B0cfxzgu.cjs} +1 -1
- package/dist/{web-520xCgXy.js → web-DVR8m2fm.js} +1 -1
- package/package.json +1 -1
- package/src/builder/modes/ssr.rspack.dev.js +20 -12
- package/src/builder/rspack/rspack.config.base.js +16 -15
- package/src/components/Button/Button.vue +1 -1
- package/src/components/Feed/Feed.old.vue +0 -1
- package/src/components/Feed/Feed.vue +1 -31
- package/src/components/Loader/Loader.vue +1 -1
- package/src/modules/auth/FIXES.md +61 -0
- package/src/modules/auth/PROMT.md +33 -0
- package/src/modules/auth/auth.server.js +1 -0
- package/src/modules/auth/views/components/blocks/CardUser.vue +2 -2
- package/src/modules/auth/views/components/layouts/Auth.vue +1 -1
- package/src/modules/auth/views/components/pages/Invite.vue +2 -2
- package/src/modules/auth/views/components/pages/Profile.vue +33 -48
- package/src/modules/auth/views/components/sections/SliderFeatures.vue +5 -7
- package/src/modules/auth/views/store/auth.js +16 -1
- 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
- package/src/modules/backoffice/components/partials/Sidebar.vue +6 -0
- package/src/modules/chats/CLAUDE.md +137 -0
- package/src/modules/chats/components/blocks/ChatMessage.vue +12 -0
- package/src/modules/chats/components/sections/ChatWindow.vue +84 -2
- package/src/modules/chats/controllers/chats.controller.js +187 -0
- package/src/modules/chats/models/chat.model.js +21 -0
- package/src/modules/chats/routes/chats.routes.js +46 -0
- package/src/modules/chats/store/chat.store.js +67 -0
- package/src/modules/community/components/layouts/Community.vue +2 -2
- package/src/modules/community/components/pages/Posts.vue +3 -328
- package/src/modules/events/components/pages/EditEventTickets.vue +1 -1
- package/src/modules/events/components/pages/Events.vue +2 -2
- package/src/modules/globals/controllers/classes/globals.cache.js +64 -55
- package/src/modules/globals/controllers/classes/globals.logger.js +40 -4
- package/src/modules/globals/controllers/classes/globals.observer.js +54 -4
- package/src/modules/globals/views/components/partials/Header.vue +1 -1
- package/src/modules/globals/views/components/partials/Sidebar.vue +17 -13
- package/src/modules/globals/views/mixins/mixins.js +7 -0
- package/src/modules/inventory/CLAUDE.md +330 -0
- package/src/modules/inventory/PROMT.md +25 -0
- package/src/modules/inventory/components/forms/AdjustmentForm.vue +53 -36
- package/src/modules/inventory/components/forms/ColumnSettingsMenu.vue +11 -6
- package/src/modules/inventory/components/forms/HistoryView.vue +21 -9
- package/src/modules/inventory/components/forms/StockAlertsForm.vue +33 -22
- package/src/modules/inventory/components/pages/Inventory.vue +40 -40
- package/src/modules/inventory/components/pages/InventoryEdit.vue +1 -1
- package/src/modules/inventory/docs/01-intro.md +126 -0
- package/src/modules/inventory/docs/02-architecture.md +266 -0
- package/src/modules/inventory/docs/03-components-and-relationships.md +338 -0
- package/src/modules/inventory/docs/04-business-logic-and-algorithms.md +376 -0
- package/src/modules/inventory/docs/05-api-specification.md +356 -0
- package/src/modules/inventory/docs/06-access-control.md +320 -0
- package/src/modules/inventory/inventory.server.js +6 -2
- package/src/modules/inventory/{services → middlewares}/inventory.verifier.js +5 -16
- package/src/modules/inventory/models/stock.availability.model.js +20 -7
- package/src/modules/inventory/routes/inventory.routes.js +14 -17
- package/src/modules/inventory/services/adjustment.service.js +137 -0
- package/src/modules/inventory/services/audit.service.js +160 -0
- package/src/modules/inventory/services/availability.service.js +323 -0
- package/src/modules/inventory/services/inventory.helpers.old.js +217 -0
- package/src/modules/inventory/store/{ inventory.store.js → inventory.store.js} +0 -14
- package/src/modules/inventory/workers/inventory.availability.worker.js +29 -30
- package/src/modules/marketplace/views/components/layouts/Marketplace.vue +160 -8
- package/src/modules/notifications/controllers/notifications.controller.js +0 -6
- package/src/modules/notifications/services/notification.service.js +1 -17
- package/src/modules/notifications/services/web-push.service.js +0 -2
- package/src/modules/orders/components/blocks/CardOrderBackoffice.vue +2 -2
- package/src/modules/orders/components/blocks/CardOrderVar1.vue +1 -1
- package/src/modules/orders/controllers/orders.controller.js +2 -4
- package/src/modules/orders/orders.client.js +2 -2
- package/src/modules/orders/router/customers.router.js +1 -1
- package/src/modules/organizations/CLAUDE.md +259 -0
- package/src/modules/organizations/components/blocks/CardDepartment.vue +1 -22
- package/src/modules/organizations/components/blocks/Socials.vue +1 -1
- package/src/modules/organizations/components/elements/ButtonToggleMembership.vue +3 -3
- package/src/modules/organizations/components/forms/AddExistingMembersForm.vue +191 -0
- package/src/modules/organizations/components/forms/DepartmentForm.vue +390 -0
- package/src/modules/organizations/components/forms/InviteForm.vue +81 -0
- package/src/modules/organizations/components/pages/Department.vue +10 -10
- package/src/modules/organizations/components/pages/DepartmentEdit.vue +8 -8
- package/src/modules/organizations/components/pages/Members.vue +265 -171
- package/src/modules/organizations/components/pages/Organization.new.vue +172 -183
- package/src/modules/organizations/components/pages/Organization.vue +6 -6
- package/src/modules/organizations/components/pages/OrganizationEdit.vue +1 -1
- package/src/modules/organizations/components/pages/Organizations.vue +1 -1
- package/src/modules/organizations/components/sections/Organizations.vue +2 -2
- package/src/modules/organizations/components/sections/Publics.vue +4 -4
- package/src/modules/organizations/configs/navigation.organization.config.js +40 -39
- package/src/modules/organizations/controllers/departments.controller.js +53 -34
- package/src/modules/organizations/controllers/invites.controller.js +44 -5
- package/src/modules/organizations/controllers/memberships.controller.js +43 -4
- package/src/modules/organizations/organizations.client.js +24 -15
- package/src/modules/organizations/router/departments.router.js +0 -18
- package/src/modules/organizations/routes/departments.routes.js +6 -8
- package/src/modules/organizations/routes/invites.routes.js +6 -4
- package/src/modules/organizations/routes/memberships.routes.js +6 -5
- package/src/modules/organizations/routes/organizations.routes.js +1 -1
- package/src/modules/organizations/store/departments.store.js +5 -0
- package/src/modules/organizations/store/invites.store.js +5 -0
- package/src/modules/organizations/store/memberships.store.js +23 -0
- package/src/modules/products/components/pages/Products.vue +0 -1
- package/src/modules/spots/components/blocks/CardSpot.vue +1 -1
- package/src/modules/spots/components/pages/Spots.vue +3 -203
- package/src/styles/base/all.scss +0 -15
- package/src/styles/responsive.scss +1 -31
- package/src/styles/typography.scss +20 -5
- package/dist/main-CSzPfQYR.cjs +0 -11
- package/dist/martyrs/src/components/Address/Address.vue2.cjs.map +0 -1
- package/dist/martyrs/src/components/Chips/Chips.vue.cjs.map +0 -1
- package/dist/martyrs/src/components/Chips/Chips.vue.js.map +0 -1
- package/dist/martyrs/src/components/Dropdown/Dropdown.vue.js.map +0 -1
- package/dist/martyrs/src/components/LocationMarker/LocationMarker.vue2.cjs.map +0 -1
- package/dist/martyrs/src/components/Select/Select.vue2.cjs.map +0 -1
- package/dist/martyrs/src/modules/globals/views/components/blocks/BlockFilter.vue.cjs +0 -76
- package/dist/martyrs/src/modules/globals/views/components/blocks/BlockFilter.vue.cjs.map +0 -1
- package/dist/martyrs/src/modules/globals/views/components/blocks/BlockFilter.vue.js +0 -76
- package/dist/martyrs/src/modules/globals/views/components/blocks/BlockFilter.vue.js.map +0 -1
- package/dist/martyrs/src/modules/inventory/store/ inventory.store.cjs.map +0 -1
- package/dist/martyrs/src/modules/inventory/store/ inventory.store.js.map +0 -1
- package/dist/martyrs/src/modules/organizations/components/pages/DepartmentEdit.vue.cjs +0 -280
- package/dist/martyrs/src/modules/organizations/components/pages/DepartmentEdit.vue.cjs.map +0 -1
- package/dist/martyrs/src/modules/organizations/components/pages/DepartmentEdit.vue.js +0 -280
- package/dist/martyrs/src/modules/organizations/components/pages/DepartmentEdit.vue.js.map +0 -1
- package/dist/martyrs/src/modules/organizations/store/departments.cjs +0 -121
- package/dist/martyrs/src/modules/organizations/store/departments.cjs.map +0 -1
- package/dist/martyrs/src/modules/organizations/store/departments.js +0 -121
- package/dist/martyrs/src/modules/organizations/store/departments.js.map +0 -1
- package/dist/martyrs/src/modules/organizations/store/invites.cjs +0 -64
- package/dist/martyrs/src/modules/organizations/store/invites.cjs.map +0 -1
- package/dist/martyrs/src/modules/organizations/store/invites.js +0 -64
- package/dist/martyrs/src/modules/organizations/store/invites.js.map +0 -1
- package/dist/martyrs/src/modules/organizations/store/memberships.cjs +0 -87
- package/dist/martyrs/src/modules/organizations/store/memberships.cjs.map +0 -1
- package/dist/martyrs/src/modules/organizations/store/memberships.js +0 -87
- package/dist/martyrs/src/modules/organizations/store/memberships.js.map +0 -1
- package/src/modules/globals/controllers/classes/globals.websocket.ws.js +0 -102
- package/src/modules/globals/views/components/blocks/BlockFilter.vue +0 -60
- package/src/modules/inventory/docs/README.md +0 -291
- package/src/modules/inventory/models/stock.balance.model.js +0 -43
- package/src/modules/inventory/services/inventory.crud.js +0 -710
- package/src/modules/inventory/tests/inventory.test.js +0 -281
- package/src/modules/organizations/store/departments.js +0 -137
- package/src/modules/organizations/store/invites.js +0 -76
- package/src/modules/organizations/store/memberships.js +0 -110
|
@@ -35,35 +35,6 @@
|
|
|
35
35
|
/>
|
|
36
36
|
</Dropdown>
|
|
37
37
|
|
|
38
|
-
<!-- <template
|
|
39
|
-
v-if="filter"
|
|
40
|
-
>
|
|
41
|
-
<div
|
|
42
|
-
:class="filter.class || 'bg-light'"
|
|
43
|
-
class="flex-center flex pd-thin bg-light radius-medium aspect-1x1 h-100"
|
|
44
|
-
>
|
|
45
|
-
<IconFilter @click="() => filter.active = !filter.active" class="w-1r h-auto"/>
|
|
46
|
-
</div>
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
<BottomSheet
|
|
50
|
-
:show="filter.active"
|
|
51
|
-
@toggle="() => filter.active = false"
|
|
52
|
-
class="z-index-10 pos-fixed pos-r-0"
|
|
53
|
-
:class="{
|
|
54
|
-
'pos-t-0': filter.active,
|
|
55
|
-
'pos-t-100': !filter.active
|
|
56
|
-
}"
|
|
57
|
-
>
|
|
58
|
-
<BlockFilter
|
|
59
|
-
v-model:filter="filter"
|
|
60
|
-
:options="filter.options"
|
|
61
|
-
@click_filter="() => { filter.active = false } "
|
|
62
|
-
class="h-max w-100 pd-small pd-b-5r bg-light"
|
|
63
|
-
/>
|
|
64
|
-
</BottomSheet>
|
|
65
|
-
</template> -->
|
|
66
|
-
|
|
67
38
|
<Dropdown
|
|
68
39
|
v-if="sort && !sort.hideButton"
|
|
69
40
|
:label="{
|
|
@@ -119,7 +90,7 @@
|
|
|
119
90
|
:horizontal="skeleton.horizontal"
|
|
120
91
|
:loading="skeleton.apply_to_slot"
|
|
121
92
|
:key="'skeleton-' + i"
|
|
122
|
-
:class="replaceClasses('radius-medium bg-light pd-thin flex-child-default o-hidden d-block', skeleton.class)"
|
|
93
|
+
:class="replaceClasses('radius-medium bg-light pd-thin flex-child-default mn-b-thin o-hidden d-block', skeleton.class)"
|
|
123
94
|
/>
|
|
124
95
|
<Loader v-if="isLoading && skeleton?.hide"/>
|
|
125
96
|
</TransitionGroup>
|
|
@@ -207,7 +178,6 @@ import BottomSheet from '@martyrs/src/components/BottomSheet/BottomSheet.vue';
|
|
|
207
178
|
|
|
208
179
|
import BlockSearch from '@martyrs/src/modules/globals/views/components/blocks/BlockSearch.vue'
|
|
209
180
|
import BlockSorting from '@martyrs/src/modules/globals/views/components/blocks/BlockSorting.vue'
|
|
210
|
-
import BlockFilter from '@martyrs/src/modules/globals/views/components/blocks/BlockFilter.vue'
|
|
211
181
|
|
|
212
182
|
import FiltersBar from '@martyrs/src/modules/globals/views/components/sections/Filters.vue'
|
|
213
183
|
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
<template>
|
|
2
|
-
<div class="circular-loader pos-relative z-index-1 w-100 h-100 w-max-2r h-max-2r
|
|
2
|
+
<div class="circular-loader pos-relative z-index-1 w-100 h-100 w-max-2r h-max-2r" :class="{ 'circular-loader-centered': centered }">
|
|
3
3
|
<svg viewBox="25 25 50 50">
|
|
4
4
|
<circle class="circular-loader-fill" cx="50" cy="50" r="20" fill="none" stroke-width="4" stroke-miterlimit="10" />
|
|
5
5
|
<circle class="circular-loader-circle" cx="50" cy="50" r="20" fill="none" stroke-width="4" stroke-miterlimit="10" />
|
|
@@ -0,0 +1,61 @@
|
|
|
1
|
+
### 1. **Нет OTP-сервиса — дублирование логики**
|
|
2
|
+
- Сейчас генерация и отправка кодов реализована **в разных частях**: часть в `auth.service.js`, часть в `twofa.service.js`.
|
|
3
|
+
- В будущем при добавлении новых каналов (WhatsApp, push и т.д.) это вызовет **хаос и дублирование**.
|
|
4
|
+
|
|
5
|
+
📌 **Решение:**
|
|
6
|
+
Выделить `otp.service.js`, который:
|
|
7
|
+
- генерирует код (общая логика),
|
|
8
|
+
- сохраняет код (в временную коллекцию),
|
|
9
|
+
- проверяет код,
|
|
10
|
+
- можно вызывать для любого действия и вставлять мидллвар в ручки с проверкой на ввод кода иначе отказ
|
|
11
|
+
- поддерживает каналы доставки (email, SMS и т.д.).
|
|
12
|
+
|
|
13
|
+
---
|
|
14
|
+
|
|
15
|
+
### 2. **Отсутствие полноценной сессии — только JWT**
|
|
16
|
+
- Используются только JWT и куки, но нет **отвязки токенов от состояния на сервере**.
|
|
17
|
+
- Нет поддержки:
|
|
18
|
+
- logout с **ревокацией токена**,
|
|
19
|
+
- множественных сессий (разные устройства),
|
|
20
|
+
- деактивации токенов при смене пароля.
|
|
21
|
+
|
|
22
|
+
📌 **Решение:**
|
|
23
|
+
Добавить:
|
|
24
|
+
- Модель `Session` в базе,
|
|
25
|
+
- Привязку JWT к `sessionId`,
|
|
26
|
+
- Проверку `session.isActive === true` при валидации токена,
|
|
27
|
+
- Хендлер `logout` — деактивация сессии,
|
|
28
|
+
- Использовать вебсокеты для отображения онлайн, был в сети 15 секунд назад и так далее.
|
|
29
|
+
- Очистку всех сессий при сбросе пароля.
|
|
30
|
+
|
|
31
|
+
---
|
|
32
|
+
|
|
33
|
+
### 3. **Логгер посетителей — лишний в auth**
|
|
34
|
+
- `visitor.logger` — это **технический middleware**, но подключается прямо в `auth.server.js`. Модуль auth отвечает не только за аутентификацию и авторизацию, но и за учёт посетителей — ведь до входа в систему пользователь тоже считается «субъектом». Поэтому модели Visitor и Request логично оставлять внутри auth. Однако вместо простого подключения middleware логирования, нужно выделить отдельный сервис visitors.service, который будет управлять логикой работы с визитами и запросами: записью, обновлением, анализом. Модуль auth должен не только учитывать посетителей и их запросы через модели Visitor и Request, но и связывать эти данные с сессиями пользователей и их навигацией по приложению. Для этого сервис visitors.service обязан отслеживать пользовательские сессии, фиксировать последовательность посещённых страниц и действий (пользовательский путь), связывая это с конкретным посетителем или авторизованным пользователем. Такая связь позволит не просто собирать сырые логи, а анализировать поведение пользователей и состояние сессий в единой модели, что существенно расширит возможности аутентификации и безопасности без усложнения архитектуры.
|
|
35
|
+
|
|
36
|
+
---
|
|
37
|
+
|
|
38
|
+
|
|
39
|
+
### 5. **Непрозрачная интеграция с внешними провайдерами**
|
|
40
|
+
- В `auth.service.js` логика Apple/Google логина встроена в `if`-блоки,
|
|
41
|
+
- Нет абстракции: невозможно быстро подключить нового провайдера (напр. Discord, Telegram).
|
|
42
|
+
|
|
43
|
+
📌 **Решение:**
|
|
44
|
+
Сделать **провайдерный интерфейс**, типа:
|
|
45
|
+
|
|
46
|
+
И регистрировать нужных провайдеров: `GoogleProvider`, `AppleProvider`, `TelegramProvider` и т.д.
|
|
47
|
+
|
|
48
|
+
---
|
|
49
|
+
|
|
50
|
+
### 6. **Проверка прав доступа — реализована вне auth**
|
|
51
|
+
- Вызов `GET /api/organizations/check-accesses` **на самом деле отдает права из другого модуля** (`organizations`).
|
|
52
|
+
- Это **архитектурная утечка**: модуль `auth` зависит от чужой бизнес-логики.
|
|
53
|
+
|
|
54
|
+
📌 **Решение:**
|
|
55
|
+
- Вынести `check-accesses` из `auth` в модуль `organizations`,
|
|
56
|
+
- В `auth` оставить только базовые роли (`user`, `admin`),
|
|
57
|
+
- Правильная архитектура:
|
|
58
|
+
`auth` отвечает за личность,
|
|
59
|
+
`organizations` — за полномочия.
|
|
60
|
+
|
|
61
|
+
---
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
Ты должен написать техническую документацию по модулю `auth`, но не простым комментированием кода — а через понимание **архитектуры и предназначения** модуля.
|
|
2
|
+
|
|
3
|
+
❌ Запрещается:
|
|
4
|
+
- Просто описывать содержимое файлов
|
|
5
|
+
- Делать поиск по ключевым словам
|
|
6
|
+
- Выписывать переменные `state` и поля `models` без анализа
|
|
7
|
+
- Комментировать код без системного понимания
|
|
8
|
+
|
|
9
|
+
✅ Что нужно:
|
|
10
|
+
- Объясни, как **взаимодействует клиентская и серверная часть** модуля
|
|
11
|
+
- Определи **основные потоки данных и точку входа** модуля
|
|
12
|
+
- Разбери архитектуру:
|
|
13
|
+
- Как клиент вызывает сервер?
|
|
14
|
+
- Как происходит аутентификация (пошагово)?
|
|
15
|
+
- Где происходит валидация, где проверка ролей, где логирование?
|
|
16
|
+
- Объясни, **какие компоненты связаны** и **что вызывают**
|
|
17
|
+
- Выдели места, которые можно конфигурировать или переопределять
|
|
18
|
+
- Не выдумывай, а пиши только на основе фактической структуры
|
|
19
|
+
|
|
20
|
+
💡 Вывод должен быть **единой Markdown-документацией**, структурированной для инженера:
|
|
21
|
+
|
|
22
|
+
1. Назначение модуля
|
|
23
|
+
2. Общая архитектура (клиент ⇄ сервер)
|
|
24
|
+
3. Потоки (login, signup, 2FA, доступ по ролям)
|
|
25
|
+
4. Структура файлов и их связь
|
|
26
|
+
5. Как интегрировать модуль в проект
|
|
27
|
+
6. Расширение: как добавить новую роль, провайдера и т.д.
|
|
28
|
+
7. Безопасность: где хеширование, токены, CORS, защита API
|
|
29
|
+
8. Примеры ключевых сценариев
|
|
30
|
+
|
|
31
|
+
🎯 Цель — сделать документацию, которую прочтёт новый инженер и поймёт, как работает модуль, как он устроен и как его использовать.
|
|
32
|
+
|
|
33
|
+
‼️ Не начинай работу, пока не проанализируешь полную структуру клиентской и серверной части и не увидишь общую картину.
|
|
@@ -9,6 +9,7 @@ import RequestModel from './models/request.model.js';
|
|
|
9
9
|
import RoleModel from './models/role.model.js';
|
|
10
10
|
import UserModel from './models/user.model.js';
|
|
11
11
|
import VisitorModel from './models/visitor.model.js';
|
|
12
|
+
|
|
12
13
|
function initializeAuth(app, db, origins, publicPath) {
|
|
13
14
|
// Настраиваем модели в объекте базы данных
|
|
14
15
|
db.role = RoleModel(db);
|
|
@@ -26,14 +26,14 @@
|
|
|
26
26
|
/>
|
|
27
27
|
|
|
28
28
|
<div>
|
|
29
|
-
<p class="h4">{{ name }}</p>
|
|
29
|
+
<p class="h4 mn-b-thin">{{ name }}</p>
|
|
30
30
|
<span class="t-transp mn-r-small">{{phone || email}}</span>
|
|
31
31
|
</div>
|
|
32
32
|
|
|
33
33
|
<div v-if="action || role" class="mn-l-auto flex-stretch flex-v-center flex">
|
|
34
34
|
<span
|
|
35
35
|
v-if="role"
|
|
36
|
-
class="flex-child flex-child-shrink-0 capitalize w-max t-medium radius-big pd-
|
|
36
|
+
class="flex-child flex-child-shrink-0 capitalize w-max t-medium radius-big pd-thin bg-main"
|
|
37
37
|
>
|
|
38
38
|
{{role}}
|
|
39
39
|
</span>
|
|
@@ -43,7 +43,7 @@ import { computed, onMounted, ref, onBeforeMount } from 'vue'
|
|
|
43
43
|
import { useRoute, useRouter } from 'vue-router'
|
|
44
44
|
// Import state
|
|
45
45
|
import * as auth from '@martyrs/src/modules/auth/views/store/auth.js'
|
|
46
|
-
import
|
|
46
|
+
import invitesStore from '@martyrs/src/modules/organizations/store/invites.store.js'
|
|
47
47
|
// Import validation
|
|
48
48
|
import * as inputsValidation from '@martyrs/src/modules/auth/views/validations/inputs.validation'
|
|
49
49
|
const passswordValidation = ref(null)
|
|
@@ -52,7 +52,7 @@ const route = useRoute()
|
|
|
52
52
|
const router = useRouter()
|
|
53
53
|
// Lifecycles
|
|
54
54
|
onMounted(async () => {
|
|
55
|
-
await
|
|
55
|
+
await invitesStore.read({ code: route.query.inviteCode })
|
|
56
56
|
})
|
|
57
57
|
// Methods
|
|
58
58
|
async function onSubmit() {
|
|
@@ -157,27 +157,28 @@
|
|
|
157
157
|
|
|
158
158
|
<RouterView />
|
|
159
159
|
|
|
160
|
-
<Menu
|
|
161
|
-
<
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
|
|
170
|
-
|
|
171
|
-
|
|
172
|
-
|
|
173
|
-
|
|
174
|
-
|
|
175
|
-
|
|
176
|
-
|
|
177
|
-
|
|
178
|
-
|
|
179
|
-
|
|
180
|
-
|
|
160
|
+
<Menu class="mn-b-regular bg-light">
|
|
161
|
+
<template v-for="(module, moduleName) in modules" :key="moduleName">
|
|
162
|
+
<MenuItem
|
|
163
|
+
v-if="isModuleInstalled(moduleName) && (!module.visible || module.visible(auth))"
|
|
164
|
+
@click="router.push({
|
|
165
|
+
name: `${module.route}`,
|
|
166
|
+
params: {
|
|
167
|
+
_id: route.params._id,
|
|
168
|
+
user: route.params._id
|
|
169
|
+
}
|
|
170
|
+
})"
|
|
171
|
+
class="profile-menu-item cursor-pointer"
|
|
172
|
+
>
|
|
173
|
+
<component
|
|
174
|
+
:is="module.icon"
|
|
175
|
+
v-if="module.icon"
|
|
176
|
+
class="i-semi"
|
|
177
|
+
:icon="true"
|
|
178
|
+
/>
|
|
179
|
+
<span>{{ module.displayName }}</span>
|
|
180
|
+
</MenuItem>
|
|
181
|
+
</template>
|
|
181
182
|
</Menu>
|
|
182
183
|
|
|
183
184
|
<Menu
|
|
@@ -270,7 +271,8 @@ import { useRoute, useRouter } from 'vue-router'
|
|
|
270
271
|
// Import state
|
|
271
272
|
import * as auth from '@martyrs/src/modules/auth/views/store/auth.js'
|
|
272
273
|
import * as users from '@martyrs/src/modules/auth/views/store/users.js'
|
|
273
|
-
import
|
|
274
|
+
import membershipsStore from '@martyrs/src/modules/organizations/store/memberships.store.js'
|
|
275
|
+
import { useGlobalMixins } from '@martyrs/src/modules/globals/views/mixins/mixins.js'
|
|
274
276
|
// Accessing router
|
|
275
277
|
const route = useRoute()
|
|
276
278
|
const router = useRouter()
|
|
@@ -278,22 +280,26 @@ const router = useRouter()
|
|
|
278
280
|
const show = ref(false)
|
|
279
281
|
|
|
280
282
|
const store = inject('store')
|
|
283
|
+
const { isModuleInstalled } = useGlobalMixins()
|
|
281
284
|
|
|
282
|
-
const
|
|
285
|
+
const modules = {
|
|
283
286
|
events: {
|
|
284
287
|
displayName: 'Events',
|
|
285
288
|
route: 'User Events',
|
|
286
|
-
icon: IconEvents
|
|
289
|
+
icon: IconEvents,
|
|
290
|
+
visible: () => true
|
|
287
291
|
},
|
|
288
292
|
organizations: {
|
|
289
293
|
displayName: 'Groups',
|
|
290
294
|
route: 'User Organizations',
|
|
291
|
-
icon: IconGroups
|
|
295
|
+
icon: IconGroups,
|
|
296
|
+
visible: () => true
|
|
292
297
|
},
|
|
293
298
|
blogposts: {
|
|
294
299
|
displayName: 'Posts',
|
|
295
300
|
route: 'User Posts',
|
|
296
|
-
icon: IconCommunity
|
|
301
|
+
icon: IconCommunity,
|
|
302
|
+
visible: () => true
|
|
297
303
|
},
|
|
298
304
|
orders: {
|
|
299
305
|
displayName: 'Orders',
|
|
@@ -309,27 +315,6 @@ const moduleMapping = {
|
|
|
309
315
|
}
|
|
310
316
|
}
|
|
311
317
|
|
|
312
|
-
const filteredModules = computed(() => {
|
|
313
|
-
return store.modules
|
|
314
|
-
.map(moduleName => {
|
|
315
|
-
return {
|
|
316
|
-
name: moduleName,
|
|
317
|
-
...moduleMapping[moduleName]
|
|
318
|
-
}
|
|
319
|
-
})
|
|
320
|
-
.filter(module => {
|
|
321
|
-
// Проверяем существование маппинга для модуля
|
|
322
|
-
if (!moduleMapping[module.name]) return false;
|
|
323
|
-
|
|
324
|
-
// Проверяем видимость модуля, если есть условие visible
|
|
325
|
-
if (module.visible && typeof module.visible === 'function') {
|
|
326
|
-
return module.visible(auth);
|
|
327
|
-
}
|
|
328
|
-
|
|
329
|
-
// По умолчанию показываем модуль, если есть маппинг
|
|
330
|
-
return true;
|
|
331
|
-
})
|
|
332
|
-
})
|
|
333
318
|
|
|
334
319
|
onMounted(async () => {
|
|
335
320
|
await users.actions.read({ _id: route.params._id, user: auth.state.user._id });
|
|
@@ -337,7 +322,7 @@ onMounted(async () => {
|
|
|
337
322
|
})
|
|
338
323
|
|
|
339
324
|
const handleMembershipUpdate = ({ membership, status, target }, statusName, statusNumber) => {
|
|
340
|
-
|
|
325
|
+
membershipsStore.handleMembershipUpdate(users.state.current, membership, status, target, statusName, statusNumber)
|
|
341
326
|
};
|
|
342
327
|
|
|
343
328
|
function logout () {
|
|
@@ -12,13 +12,11 @@ const features = computed(() => tm('auth.features'))
|
|
|
12
12
|
|
|
13
13
|
<template>
|
|
14
14
|
<Slider :showDots="true" :slideCount="features.length" class="auth_slider h-100">
|
|
15
|
-
<div class="carousel__slide" v-for="(feature, index) in features" :key="index">
|
|
16
|
-
<div class="
|
|
17
|
-
|
|
18
|
-
<
|
|
19
|
-
|
|
20
|
-
<p class='t-center t-transp w-100'>{{ feature.description }}</p>
|
|
21
|
-
</div>
|
|
15
|
+
<div class="grid o-hidden h-100 carousel__slide" style=" grid-template-rows: 1fr auto;" v-for="(feature, index) in features" :key="index">
|
|
16
|
+
<div class="h-100 background-div" :style="`background-image: url(/features/${index}.png);`"></div>
|
|
17
|
+
<div class="h-100 pd-big">
|
|
18
|
+
<h5 class="t-center w-100 mn-b-regular">{{ feature.title }}</h5>
|
|
19
|
+
<p class='t-center t-transp w-100'>{{ feature.description }}</p>
|
|
22
20
|
</div>
|
|
23
21
|
</div>
|
|
24
22
|
</Slider>
|
|
@@ -7,6 +7,7 @@ import { Preferences } from '@capacitor/preferences';
|
|
|
7
7
|
import { reactive, watch } from 'vue';
|
|
8
8
|
// Globals
|
|
9
9
|
import { setError } from '@martyrs/src/modules/globals/views/store/globals.js';
|
|
10
|
+
import globalWebSocket from '@martyrs/src/modules/globals/views/classes/globals.websocket.js';
|
|
10
11
|
// State
|
|
11
12
|
import * as twofa from './twofa.js';
|
|
12
13
|
|
|
@@ -40,7 +41,7 @@ const actions = {
|
|
|
40
41
|
setAuthToken(accessToken);
|
|
41
42
|
|
|
42
43
|
// Проверка токена через серверный маршрут
|
|
43
|
-
const response = await $axios.get('/api/
|
|
44
|
+
const response = await $axios.get('/api/organizations/check-accesses');
|
|
44
45
|
const userAccesses = response.data;
|
|
45
46
|
state.accesses = userAccesses;
|
|
46
47
|
|
|
@@ -101,6 +102,11 @@ const actions = {
|
|
|
101
102
|
});
|
|
102
103
|
|
|
103
104
|
await this.initialize();
|
|
105
|
+
|
|
106
|
+
// Переподключаем WebSocket с новым userId после входа
|
|
107
|
+
console.log('[AUTH] Reconnecting WebSocket after login for user:', response.data._id);
|
|
108
|
+
globalWebSocket.disconnect();
|
|
109
|
+
await globalWebSocket.connect(response.data._id);
|
|
104
110
|
|
|
105
111
|
return response.data;
|
|
106
112
|
} catch (error) {
|
|
@@ -159,6 +165,11 @@ const actions = {
|
|
|
159
165
|
});
|
|
160
166
|
|
|
161
167
|
await this.initialize();
|
|
168
|
+
|
|
169
|
+
// Переподключаем WebSocket с новым userId после регистрации
|
|
170
|
+
console.log('[AUTH] Reconnecting WebSocket after signup for user:', response.data._id);
|
|
171
|
+
globalWebSocket.disconnect();
|
|
172
|
+
await globalWebSocket.connect(response.data._id);
|
|
162
173
|
|
|
163
174
|
return response.data;
|
|
164
175
|
} catch (error) {
|
|
@@ -174,6 +185,10 @@ const actions = {
|
|
|
174
185
|
await removeCookie('user');
|
|
175
186
|
setAuthToken(null);
|
|
176
187
|
this.resetState();
|
|
188
|
+
|
|
189
|
+
// Отключаем WebSocket при выходе
|
|
190
|
+
console.log('[AUTH] Disconnecting WebSocket on logout');
|
|
191
|
+
globalWebSocket.disconnect();
|
|
177
192
|
},
|
|
178
193
|
|
|
179
194
|
async resetPassword(user, type) {
|