@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.
- package/dist/abac-BPl9Bmf9.js +1527 -0
- package/dist/builder.js +51 -39
- package/dist/{common.schema-GFSlNJo7.js → common.schema-DswiUXKB.js} +1 -1
- package/dist/community.server.js +48 -9
- package/dist/core.server.js +6 -4
- package/dist/{crud-C7FSTUes.js → crud-q1ye5IhV.js} +7 -7
- package/dist/events.server.js +3 -3
- package/dist/gallery.server.js +2 -2
- package/dist/inventory.server.js +4 -6
- package/dist/{main-CmjWiDVF.js → main-B9o1iBAZ.js} +1279 -1287
- package/dist/marketplace.server.js +1 -1
- package/dist/martyrs/src/components/Button/{Button.vue.js → Button.vue2.js} +36 -45
- package/dist/martyrs/src/components/Button/Button.vue2.js.map +1 -0
- package/dist/martyrs/src/components/Feed/Carousel.vue.js +1 -1
- package/dist/martyrs/src/components/Feed/Feed.vue.js +1 -1
- package/dist/martyrs/src/components/Field/{Field.vue2.js → Field.vue.js} +2 -2
- package/dist/martyrs/src/components/Field/Field.vue.js.map +1 -0
- package/dist/martyrs/src/components/FieldBig/FieldBig.vue.js +2 -2
- package/dist/martyrs/src/components/FieldPhone/FieldPhone.vue.js +1 -1
- package/dist/martyrs/src/components/FieldPhone/FieldPhone.vue.js.map +1 -1
- package/dist/martyrs/src/components/Loader/{Loader.vue2.js → Loader.vue.js} +3 -4
- package/dist/martyrs/src/components/Loader/Loader.vue.js.map +1 -0
- package/dist/martyrs/src/components/LocationMarker/LocationMarker.vue.js +1 -1
- package/dist/martyrs/src/components/Media/Media.vue.js +1 -1
- package/dist/martyrs/src/components/Menu/{Menu.vue.js → Menu.vue2.js} +2 -2
- package/dist/martyrs/src/components/Menu/Menu.vue2.js.map +1 -0
- 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/components/SelectMulti/{SelectMulti.vue.js → SelectMulti.vue2.js} +2 -2
- package/dist/martyrs/src/components/SelectMulti/SelectMulti.vue2.js.map +1 -0
- package/dist/martyrs/src/components/Tree/Tree.vue.js +6 -3
- package/dist/martyrs/src/components/Tree/Tree.vue.js.map +1 -1
- package/dist/martyrs/src/components/UploadImage/UploadImage.vue.js +1 -1
- package/dist/martyrs/src/components/UploadImageMultiple/UploadImageMultiple.vue.js +1 -1
- package/dist/martyrs/src/modules/auth/auth.client.js +10 -7
- package/dist/martyrs/src/modules/auth/auth.client.js.map +1 -1
- package/dist/martyrs/src/modules/auth/views/components/pages/EnterCode.vue.js +1 -1
- package/dist/martyrs/src/modules/auth/views/components/pages/EnterPassword.vue.js +2 -2
- package/dist/martyrs/src/modules/auth/views/components/pages/Invite.vue.js +2 -2
- package/dist/martyrs/src/modules/auth/views/components/pages/Profile.vue.js +3 -3
- package/dist/martyrs/src/modules/auth/views/components/pages/ProfileEdit.vue.js +1 -1
- package/dist/martyrs/src/modules/auth/views/components/pages/ProfileEditAccount.vue.js +1 -1
- package/dist/martyrs/src/modules/auth/views/components/pages/ProfileEditProfile.vue.js +2 -2
- package/dist/martyrs/src/modules/auth/views/components/pages/ResetPassword.vue.js +2 -2
- package/dist/martyrs/src/modules/auth/views/components/pages/SignIn.vue.js +13 -13
- package/dist/martyrs/src/modules/auth/views/components/pages/SignIn.vue.js.map +1 -1
- package/dist/martyrs/src/modules/auth/views/components/pages/SignUp.vue.js +2 -2
- package/dist/martyrs/src/modules/auth/views/components/sections/ProfileEditCredentials.vue.js +2 -2
- package/dist/martyrs/src/modules/auth/views/router/auth.router.js +116 -0
- package/dist/martyrs/src/modules/auth/views/router/auth.router.js.map +1 -0
- package/dist/martyrs/src/modules/auth/views/router/users.router.js +180 -0
- package/dist/martyrs/src/modules/auth/views/router/users.router.js.map +1 -0
- package/dist/martyrs/src/modules/backoffice/components/partials/Sidebar.vue.js +4 -4
- package/dist/martyrs/src/modules/backoffice/components/partials/Sidebar.vue.js.map +1 -1
- package/dist/martyrs/src/modules/community/components/layouts/Community.vue.js +1 -1
- package/dist/martyrs/src/modules/community/components/pages/BlogPost.vue.js +2 -2
- package/dist/martyrs/src/modules/community/components/pages/CreateBlogPost.vue.js +2 -2
- package/dist/martyrs/src/modules/constructor/components/elements/Card.vue.js +1 -1
- package/dist/martyrs/src/modules/constructor/components/elements/Embed.vue.js +1 -1
- package/dist/martyrs/src/modules/core/locales/en.js +45 -0
- package/dist/martyrs/src/modules/core/locales/en.js.map +1 -1
- package/dist/martyrs/src/modules/core/locales/ru.js +45 -0
- package/dist/martyrs/src/modules/core/locales/ru.js.map +1 -1
- package/dist/martyrs/src/modules/core/views/classes/i18n.manager.js +9 -0
- package/dist/martyrs/src/modules/core/views/classes/i18n.manager.js.map +1 -1
- package/dist/martyrs/src/modules/core/views/components/blocks/BlockSearch.vue.js +1 -1
- package/dist/martyrs/src/modules/core/views/components/blocks/CardHeader.vue.js +1 -1
- package/dist/martyrs/src/modules/core/views/components/blocks/PopupAuth.vue.js +1 -1
- package/dist/martyrs/src/modules/core/views/components/blocks/PopupDateSelector.vue.js +2 -2
- package/dist/martyrs/src/modules/core/views/components/layouts/Client.vue.js +2 -2
- package/dist/martyrs/src/modules/core/views/components/partials/Header.vue.js +2 -2
- package/dist/martyrs/src/modules/core/views/components/partials/NavigationBar.vue.js +1 -1
- package/dist/martyrs/src/modules/core/views/components/sections/filters/FilterRange.vue.js +1 -1
- package/dist/martyrs/src/modules/core/views/mixins/mixins.js +1 -2
- package/dist/martyrs/src/modules/core/views/mixins/mixins.js.map +1 -1
- package/dist/martyrs/src/modules/core/views/router/addRoutes.js +6 -1
- package/dist/martyrs/src/modules/core/views/router/addRoutes.js.map +1 -1
- package/dist/martyrs/src/modules/events/components/elements/ButtonCheck.vue.js +1 -1
- package/dist/martyrs/src/modules/events/components/elements/ButtonJoin.vue.js +1 -1
- package/dist/martyrs/src/modules/events/components/pages/EditEvent.vue.js +4 -4
- package/dist/martyrs/src/modules/events/components/pages/EditEventTickets.vue.js +2 -2
- package/dist/martyrs/src/modules/events/components/pages/Event.vue.js +2 -2
- package/dist/martyrs/src/modules/events/components/sections/EditTickets.vue.js +2 -2
- package/dist/martyrs/src/modules/events/components/sections/Feed.vue.js +1 -1
- package/dist/martyrs/src/modules/events/components/sections/List.vue.js +1 -1
- package/dist/martyrs/src/modules/gallery/components/sections/BackofficeGallery.vue.js +4 -4
- package/dist/martyrs/src/modules/inventory/components/forms/AdjustmentForm.vue.js +3 -3
- package/dist/martyrs/src/modules/inventory/components/forms/ColumnSettingsMenu.vue.js +1 -1
- package/dist/martyrs/src/modules/inventory/components/forms/HistoryView.vue.js +1 -1
- package/dist/martyrs/src/modules/inventory/components/forms/StockAlertsForm.vue.js +3 -3
- package/dist/martyrs/src/modules/inventory/components/pages/InventoryEdit.vue.js +5 -5
- package/dist/martyrs/src/modules/inventory/components/pages/InventoryEdit.vue.js.map +1 -1
- package/dist/martyrs/src/modules/marketplace/views/components/pages/Marketplace.vue.js +1 -1
- package/dist/martyrs/src/modules/marketplace/views/components/sections/SectionMenu.vue.js +1 -1
- package/dist/martyrs/src/modules/music/components/cards/AlbumCard.vue.js +1 -1
- package/dist/martyrs/src/modules/music/components/cards/ArtistCardSmall.vue.js +1 -1
- package/dist/martyrs/src/modules/music/components/cards/PlaylistCard.vue.js +1 -1
- package/dist/martyrs/src/modules/music/components/cards/TrackListCard.vue.js +1 -1
- package/dist/martyrs/src/modules/music/components/forms/AlbumForm.vue.js +3 -3
- package/dist/martyrs/src/modules/music/components/forms/ArtistForm.vue.js +4 -4
- package/dist/martyrs/src/modules/music/components/forms/PlaylistForm.vue.js +2 -2
- package/dist/martyrs/src/modules/music/components/forms/SearchForm.vue.js +1 -1
- package/dist/martyrs/src/modules/music/components/forms/TrackForm.vue.js +3 -3
- package/dist/martyrs/src/modules/music/components/pages/Album.vue.js +2 -2
- package/dist/martyrs/src/modules/music/components/pages/Artist.vue.js +2 -2
- package/dist/martyrs/src/modules/music/components/pages/MusicLibrary.vue.js +1 -1
- package/dist/martyrs/src/modules/music/components/pages/Playlist.vue.js +2 -2
- package/dist/martyrs/src/modules/music/components/pages/SearchResults.vue.js +2 -2
- package/dist/martyrs/src/modules/music/components/pages/Track.vue.js +2 -2
- package/dist/martyrs/src/modules/music/components/pages/TrackCreate.vue.js +1 -1
- package/dist/martyrs/src/modules/music/components/player/MusicPlayer.vue.js +1 -1
- package/dist/martyrs/src/modules/notifications/components/elements/NotificationBadge.vue.js +4 -4
- package/dist/martyrs/src/modules/notifications/components/elements/NotificationBadge.vue.js.map +1 -1
- package/dist/martyrs/src/modules/orders/components/elements/FieldSubscribeNewsletter.vue.js +3 -0
- package/dist/martyrs/src/modules/orders/components/elements/FieldSubscribeNewsletter.vue.js.map +1 -1
- package/dist/martyrs/src/modules/orders/components/forms/FormApplicationDetails.vue.js +3 -3
- package/dist/martyrs/src/modules/orders/components/forms/FormCustomerDetails.vue.js +3 -3
- package/dist/martyrs/src/modules/orders/components/forms/FormSelectCustomer.vue.js +2 -2
- package/dist/martyrs/src/modules/orders/components/pages/OrderBackoffice.vue.js +2 -2
- package/dist/martyrs/src/modules/orders/components/pages/OrderCreate.vue.js +1 -1
- package/dist/martyrs/src/modules/orders/components/pages/OrderCreateBackoffice.vue.js +2 -2
- package/dist/martyrs/src/modules/orders/components/sections/ApplicationDetails.vue.js +1 -1
- package/dist/martyrs/src/modules/orders/components/sections/CustomerDetails.vue.js +1 -1
- package/dist/martyrs/src/modules/orders/components/sections/FormDelivery.vue.js +2 -2
- package/dist/martyrs/src/modules/orders/components/sections/FormPayment.vue.js +1 -1
- package/dist/martyrs/src/modules/organizations/components/blocks/CardOrganization.vue.js +1 -1
- package/dist/martyrs/src/modules/organizations/components/blocks/CardOrganization.vue.js.map +1 -1
- package/dist/martyrs/src/modules/organizations/components/elements/ButtonToggleMembership.vue.js +1 -1
- package/dist/martyrs/src/modules/organizations/components/forms/AddExistingMembersForm.vue.js +1 -1
- package/dist/martyrs/src/modules/organizations/components/forms/DepartmentForm.vue.js +2 -2
- package/dist/martyrs/src/modules/organizations/components/forms/InviteForm.vue.js +2 -2
- package/dist/martyrs/src/modules/organizations/components/pages/Organization.vue.js +1 -1
- package/dist/martyrs/src/modules/organizations/components/pages/OrganizationBackoffice.vue.js +2 -2
- package/dist/martyrs/src/modules/organizations/components/pages/OrganizationEdit.vue.js +5 -5
- package/dist/martyrs/src/modules/organizations/components/pages/OrganizationEdit.vue.js.map +1 -1
- package/dist/martyrs/src/modules/organizations/components/sections/Documents.vue.js +3 -3
- package/dist/martyrs/src/modules/organizations/components/sections/MembersAdd.vue.js +3 -3
- package/dist/martyrs/src/modules/organizations/components/sections/Organizations.vue.js +3 -3
- package/dist/martyrs/src/modules/pages/views/components/blocks/CardPage.vue.js +2 -2
- package/dist/martyrs/src/modules/pages/views/components/pages/PageEdit.vue.js +2 -2
- package/dist/martyrs/src/modules/pages/views/components/partials/SidebarPages.vue.js +1 -1
- package/dist/martyrs/src/modules/products/components/blocks/CardCategory.vue.js +1 -1
- package/dist/martyrs/src/modules/products/components/blocks/CardCategory.vue.js.map +1 -1
- package/dist/martyrs/src/modules/products/components/blocks/CardProduct.vue.js +15 -2
- package/dist/martyrs/src/modules/products/components/blocks/CardProduct.vue.js.map +1 -1
- package/dist/martyrs/src/modules/products/components/elements/Image360.vue.js +1 -1
- package/dist/martyrs/src/modules/products/components/pages/Categories.vue.js +10 -7
- package/dist/martyrs/src/modules/products/components/pages/Categories.vue.js.map +1 -1
- package/dist/martyrs/src/modules/products/components/pages/CategoryEdit.vue.js +7 -6
- package/dist/martyrs/src/modules/products/components/pages/CategoryEdit.vue.js.map +1 -1
- package/dist/martyrs/src/modules/products/components/pages/Product.vue.js +11 -2
- package/dist/martyrs/src/modules/products/components/pages/Product.vue.js.map +1 -1
- package/dist/martyrs/src/modules/products/components/pages/ProductEdit.vue.js +4 -4
- package/dist/martyrs/src/modules/products/components/pages/ProductRecommmendation.vue.js +1 -1
- package/dist/martyrs/src/modules/products/components/pages/Products.vue.js +1 -1
- package/dist/martyrs/src/modules/products/components/sections/EditAttributes.vue.js +2 -2
- package/dist/martyrs/src/modules/products/components/sections/EditDiscounts.vue.js +3 -3
- package/dist/martyrs/src/modules/products/components/sections/EditVariants.vue.js +3 -3
- package/dist/martyrs/src/modules/products/components/sections/ProductConfigurator.vue.js +1 -1
- package/dist/martyrs/src/modules/products/components/sections/ProductsRecommended.vue.js +1 -1
- package/dist/martyrs/src/modules/products/components/sections/SectionProduct.vue.js +11 -8
- package/dist/martyrs/src/modules/products/components/sections/SectionProduct.vue.js.map +1 -1
- package/dist/martyrs/src/modules/rents/views/components/pages/Gant/GanttToolbar.vue.js +1 -1
- package/dist/martyrs/src/modules/rents/views/components/pages/RentsEdit.vue.js +211 -61
- package/dist/martyrs/src/modules/rents/views/components/pages/RentsEdit.vue.js.map +1 -1
- package/dist/martyrs/src/modules/reports/components/sections/FormReport.vue.js +2 -2
- package/dist/martyrs/src/modules/spots/components/blocks/SpotMemberModify.vue.js +2 -2
- package/dist/martyrs/src/modules/spots/components/layouts/Spots.vue.js +1 -1
- package/dist/martyrs/src/modules/spots/components/pages/Map.vue.js +4 -4
- package/dist/martyrs/src/modules/spots/components/pages/Map.vue.js.map +1 -1
- package/dist/martyrs/src/modules/spots/components/pages/SpotEdit.vue.js +3 -3
- package/dist/martyrs/src/modules/spots/components/sections/WorktimeEdit.vue.js +3 -3
- package/dist/martyrs/src/modules/wallet/views/components/blocks/CardDeposit.vue.js +1 -1
- package/dist/martyrs/src/modules/wallet/views/components/blocks/CryptoDeposit.vue.js +2 -2
- package/dist/martyrs/src/modules/wallet/views/components/pages/Wallet.vue.js +2 -2
- package/dist/martyrs.css +1 -1
- package/dist/martyrs.es.js +1 -1
- package/dist/music.server.js +11 -12
- package/dist/notifications.server.js +0 -3
- package/dist/orders.server.js +5 -6
- package/dist/organizations.server.js +9 -10
- package/dist/products.server.js +27 -26
- package/dist/{queryProcessor-CBQgZycY.js → queryProcessor-C_5Iipam.js} +4 -1
- package/dist/rents.server.js +2 -3
- package/dist/spots.server.js +1 -1
- package/dist/style.css +38 -23
- package/dist/{web-cNKIl_cL.js → web-BF3ijvEr.js} +1 -1
- package/package.json +1 -1
- package/src/builder/modes/ssr.rspack.dev.js +4 -3
- package/src/builder/rspack/rspack.config.api.js +15 -4
- package/src/builder/rspack/rspack.config.base.js +3 -3
- package/src/builder/rspack/rspack.config.ssr.client.js +28 -28
- package/src/builder/templates/page.js +2 -2
- package/src/components/Button/Button.vue +50 -37
- package/src/components/FieldPhone/FieldPhone.vue +1 -1
- package/src/components/Loader/Loader.vue +1 -1
- package/src/components/Tree/Tree.vue +6 -3
- package/src/modules/PROCESS.md +0 -0
- package/src/modules/TASKS.MD +17 -0
- package/src/modules/auth/auth.client.js +11 -7
- package/src/modules/auth/views/components/pages/SignIn.vue +1 -1
- package/src/modules/auth/views/router/auth.router.js +94 -0
- package/src/modules/auth/views/router/users.router.js +153 -0
- package/src/modules/backoffice/components/partials/Sidebar.vue +7 -7
- package/src/modules/community/community.server.js +8 -0
- package/src/modules/community/policies/blog.policies.js +55 -0
- package/src/modules/community/routes/blog.routes.js +1 -1
- package/src/modules/community/routes/comments.routes.js +1 -1
- package/src/modules/community/routes/reactions.routes.js +1 -4
- package/src/modules/core/controllers/classes/abac/abac.adapter.express.js +206 -124
- package/src/modules/core/controllers/classes/abac/abac.adapter.ws.js +203 -50
- package/src/modules/core/controllers/classes/abac/abac.core.js +127 -36
- package/src/modules/core/controllers/classes/abac/abac.fields.js +144 -179
- package/src/modules/core/controllers/classes/abac/abac.js +201 -10
- package/src/modules/core/controllers/classes/abac/abac.policies.js +147 -57
- package/src/modules/core/controllers/classes/crud/crud.policies.js +5 -5
- package/src/modules/core/controllers/policies/core.policies.js +5 -2
- package/src/modules/core/controllers/utils/queryProcessor.js +4 -1
- package/src/modules/core/core.server.js +1 -0
- package/src/modules/core/locales/en.js +45 -0
- package/src/modules/core/locales/ru.js +45 -0
- package/src/modules/core/models/schemas/common.schema.js +1 -1
- package/src/modules/core/views/classes/i18n.manager.js +13 -0
- package/src/modules/core/views/components/sections/filters/FilterPrice.vue +81 -0
- package/src/modules/core/views/mixins/mixins.js +1 -2
- package/src/modules/core/views/router/addRoutes.js +6 -1
- package/src/modules/events/routes/events.routes.js +1 -1
- package/src/modules/inventory/components/pages/InventoryEdit.vue +3 -3
- package/src/modules/inventory/policies/inventory.policies.js +1 -1
- package/src/modules/inventory/routes/inventory.routes.js +1 -1
- package/src/modules/marketplace/marketplace.router.js +66 -0
- package/src/modules/marketplace/views/components/layouts/Marketplace.vue +363 -0
- package/src/modules/marketplace/views/components/pages/Catalog.vue +73 -0
- package/src/modules/music/controllers/stream.controller.js +1 -1
- package/src/modules/music/music.server.js +1 -1
- package/src/modules/music/policies/music.policies.js +3 -2
- package/src/modules/music/router/library.router.js +26 -0
- package/src/modules/music/router/music.router.js +176 -0
- package/src/modules/notifications/components/elements/NotificationBadge.vue +5 -6
- package/src/modules/notifications/notifications.server.js +1 -3
- package/src/modules/orders/components/elements/FieldSubscribeNewsletter.vue +5 -0
- package/src/modules/orders/orders.server.js +0 -1
- package/src/modules/organizations/components/blocks/CardOrganization.vue +2 -2
- package/src/modules/organizations/components/pages/DepartmentEdit.vue +2 -2
- package/src/modules/organizations/components/pages/OrganizationEdit.vue +2 -2
- package/src/modules/organizations/policies/organizations.policies.js +12 -6
- package/src/modules/organizations/routes/organizations.routes.js +1 -3
- package/src/modules/products/components/blocks/CardCategory.vue +1 -1
- package/src/modules/products/components/blocks/CardProduct.vue +16 -2
- package/src/modules/products/components/pages/Categories.vue +9 -6
- package/src/modules/products/components/pages/CategoryEdit.vue +8 -4
- package/src/modules/products/components/pages/Product.vue +11 -5
- package/src/modules/products/components/sections/SectionProduct.vue +11 -7
- package/src/modules/products/controllers/categories.controller.js +32 -27
- package/src/modules/products/routes/categories.routes.js +1 -1
- package/src/modules/rents/controllers/routes/rents.routes.js +1 -1
- package/src/modules/rents/views/components/pages/RentsEdit.vue +208 -49
- package/src/modules/spots/components/pages/Map.vue +2 -2
- package/dist/abac-DYoheWuc.js +0 -1031
- package/dist/core.abac-DUPBnlk6.js +0 -298
- package/dist/core.logger-C3q8A9dl.js +0 -51
- package/dist/martyrs/src/components/Button/Button.vue.js.map +0 -1
- package/dist/martyrs/src/components/Field/Field.vue2.js.map +0 -1
- package/dist/martyrs/src/components/Loader/Loader.vue2.js.map +0 -1
- package/dist/martyrs/src/components/Menu/Menu.vue.js.map +0 -1
- package/dist/martyrs/src/components/Select/Select.vue2.js.map +0 -1
- package/dist/martyrs/src/components/SelectMulti/SelectMulti.vue.js.map +0 -1
- package/dist/martyrs/src/modules/auth/auth.router.js +0 -342
- package/dist/martyrs/src/modules/auth/auth.router.js.map +0 -1
- package/src/modules/auth/auth.router.js +0 -262
- package/src/modules/core/controllers/classes/abac/v2/abac-core-fixed.js +0 -313
- package/src/modules/core/controllers/classes/abac/v2/abac-express-fixed.js +0 -276
- package/src/modules/core/controllers/classes/abac/v2/abac-fields-fixed.js +0 -425
- package/src/modules/core/controllers/classes/abac/v2/abac-main-fixed.js +0 -295
- package/src/modules/core/controllers/classes/abac/v2/abac-policies-fixed.js +0 -316
- package/src/modules/core/controllers/classes/abac/v2/abac-ws-fixed.js +0 -237
- package/src/modules/core/controllers/classes/core.abac.js +0 -310
- package/src/modules/core/controllers/classes/core.crud.js +0 -89
- package/src/modules/governance/reactcode/eslint.config.js +0 -28
|
@@ -3,7 +3,7 @@ const ObjectId = { Types }.Types.ObjectId;
|
|
|
3
3
|
|
|
4
4
|
function getBasicOptions(query) {
|
|
5
5
|
console.log(query);
|
|
6
|
-
const { _id, url, status, notstatus, type, organization, owner, customer, creator, product } = query;
|
|
6
|
+
const { _id, url, status, notstatus, type, organization, owner, customer, creator, product, listing } = query;
|
|
7
7
|
const stages = [];
|
|
8
8
|
const conditions = [];
|
|
9
9
|
if (_id) {
|
|
@@ -50,6 +50,9 @@ function getBasicOptions(query) {
|
|
|
50
50
|
if (product) {
|
|
51
51
|
conditions.push({ 'product': new ObjectId(product) });
|
|
52
52
|
}
|
|
53
|
+
if (listing) {
|
|
54
|
+
conditions.push({ listing: listing });
|
|
55
|
+
}
|
|
53
56
|
|
|
54
57
|
if (conditions.length > 0) {
|
|
55
58
|
stages.push({ $match: { $and: conditions } });
|
|
@@ -25,5 +25,50 @@ export default {
|
|
|
25
25
|
PREVIEW_GENERATION_ERROR: 'Error generating file previews.',
|
|
26
26
|
IMAGE_CONVERSION_ERROR: 'Error converting image format.'
|
|
27
27
|
}
|
|
28
|
+
},
|
|
29
|
+
footer: {
|
|
30
|
+
description: 'Get in touch with us',
|
|
31
|
+
phoneNumber: '+1 234 567 890',
|
|
32
|
+
emailAddress: "info{'@'}example.com",
|
|
33
|
+
hours_text: 'Mon-Fri: 9:00 AM - 6:00 PM',
|
|
34
|
+
app: 'Download our app',
|
|
35
|
+
subscribe: 'Subscribe to our newsletter',
|
|
36
|
+
subscribe_text: 'Stay updated with the latest news and updates',
|
|
37
|
+
follow: 'Follow us',
|
|
38
|
+
year: '2025',
|
|
39
|
+
heart: '♥',
|
|
40
|
+
copyright: 'All rights reserved',
|
|
41
|
+
ozdao: 'Made by OZ DAO',
|
|
42
|
+
navigationColumns: [
|
|
43
|
+
{
|
|
44
|
+
sections: [
|
|
45
|
+
{
|
|
46
|
+
title: 'Company',
|
|
47
|
+
items: [
|
|
48
|
+
{ name: 'About', url: 'about' },
|
|
49
|
+
{ name: 'Careers', url: 'careers' },
|
|
50
|
+
{ name: 'Contact', url: 'contact' }
|
|
51
|
+
]
|
|
52
|
+
}
|
|
53
|
+
]
|
|
54
|
+
},
|
|
55
|
+
{
|
|
56
|
+
sections: [
|
|
57
|
+
{
|
|
58
|
+
title: 'Resources',
|
|
59
|
+
items: [
|
|
60
|
+
{ name: 'Blog', url: 'blog' },
|
|
61
|
+
{ name: 'Help Center', url: 'help' },
|
|
62
|
+
{ name: 'Privacy', url: 'privacy' }
|
|
63
|
+
]
|
|
64
|
+
}
|
|
65
|
+
]
|
|
66
|
+
}
|
|
67
|
+
],
|
|
68
|
+
socialLinks: [
|
|
69
|
+
{ name: 'IconInstagram', url: 'https://instagram.com' },
|
|
70
|
+
{ name: 'IconFacebook', url: 'https://facebook.com' },
|
|
71
|
+
{ name: 'IconLinkedin', url: 'https://linkedin.com' }
|
|
72
|
+
]
|
|
28
73
|
}
|
|
29
74
|
};
|
|
@@ -17,5 +17,50 @@ export default {
|
|
|
17
17
|
POST_URL_ALREADY_IN_USE: 'Ошибка! Публикация с этим URL уже используется!',
|
|
18
18
|
NAME_CANNOT_BE_EMPTY: 'Ошибка: Название не может быть пустым. Пожалуйста, введите название.',
|
|
19
19
|
}
|
|
20
|
+
},
|
|
21
|
+
footer: {
|
|
22
|
+
description: 'Свяжитесь с нами',
|
|
23
|
+
phoneNumber: '+1 234 567 890',
|
|
24
|
+
emailAddress: "info{'@'}example.com",
|
|
25
|
+
hours_text: 'Пн-Пт: 9:00 - 18:00',
|
|
26
|
+
app: 'Скачайте наше приложение',
|
|
27
|
+
subscribe: 'Подпишитесь на рассылку',
|
|
28
|
+
subscribe_text: 'Будьте в курсе последних новостей и обновлений',
|
|
29
|
+
follow: 'Подписывайтесь',
|
|
30
|
+
year: '2025',
|
|
31
|
+
heart: '♥',
|
|
32
|
+
copyright: 'Все права защищены',
|
|
33
|
+
ozdao: 'Сделано OZ DAO',
|
|
34
|
+
navigationColumns: [
|
|
35
|
+
{
|
|
36
|
+
sections: [
|
|
37
|
+
{
|
|
38
|
+
title: 'Компания',
|
|
39
|
+
items: [
|
|
40
|
+
{ name: 'О нас', url: 'about' },
|
|
41
|
+
{ name: 'Карьера', url: 'careers' },
|
|
42
|
+
{ name: 'Контакты', url: 'contact' }
|
|
43
|
+
]
|
|
44
|
+
}
|
|
45
|
+
]
|
|
46
|
+
},
|
|
47
|
+
{
|
|
48
|
+
sections: [
|
|
49
|
+
{
|
|
50
|
+
title: 'Ресурсы',
|
|
51
|
+
items: [
|
|
52
|
+
{ name: 'Блог', url: 'blog' },
|
|
53
|
+
{ name: 'Помощь', url: 'help' },
|
|
54
|
+
{ name: 'Конфиденциальность', url: 'privacy' }
|
|
55
|
+
]
|
|
56
|
+
}
|
|
57
|
+
]
|
|
58
|
+
}
|
|
59
|
+
],
|
|
60
|
+
socialLinks: [
|
|
61
|
+
{ name: 'IconInstagram', url: 'https://instagram.com' },
|
|
62
|
+
{ name: 'IconFacebook', url: 'https://facebook.com' },
|
|
63
|
+
{ name: 'IconLinkedin', url: 'https://linkedin.com' }
|
|
64
|
+
]
|
|
20
65
|
}
|
|
21
66
|
};
|
|
@@ -2,7 +2,7 @@ export default (function applyCommonSchema(schema, db) {
|
|
|
2
2
|
schema.add({
|
|
3
3
|
status: {
|
|
4
4
|
type: String,
|
|
5
|
-
enum: ['draft', 'published', '
|
|
5
|
+
enum: ['draft', 'published', 'internal', 'archived', 'removed'],
|
|
6
6
|
default: 'draft',
|
|
7
7
|
required: true,
|
|
8
8
|
},
|
|
@@ -5,6 +5,11 @@ class I18nManager {
|
|
|
5
5
|
this.moduleLocales = new Map();
|
|
6
6
|
this.overrides = new Map();
|
|
7
7
|
this.extensions = new Map();
|
|
8
|
+
this.i18nInstance = null;
|
|
9
|
+
}
|
|
10
|
+
|
|
11
|
+
setI18nInstance(i18n) {
|
|
12
|
+
this.i18nInstance = i18n;
|
|
8
13
|
}
|
|
9
14
|
|
|
10
15
|
register(moduleName, locales) {
|
|
@@ -12,6 +17,14 @@ class I18nManager {
|
|
|
12
17
|
throw new TypeError('Invalid arguments for register()');
|
|
13
18
|
}
|
|
14
19
|
this.moduleLocales.set(moduleName, locales);
|
|
20
|
+
|
|
21
|
+
// Если i18n instance уже создан, добавляем переводы динамически
|
|
22
|
+
if (this.i18nInstance) {
|
|
23
|
+
Object.entries(locales).forEach(([locale, messages]) => {
|
|
24
|
+
this.i18nInstance.global.mergeLocaleMessage(locale, messages);
|
|
25
|
+
});
|
|
26
|
+
}
|
|
27
|
+
|
|
15
28
|
return this;
|
|
16
29
|
}
|
|
17
30
|
|
|
@@ -0,0 +1,81 @@
|
|
|
1
|
+
<!-- filters/FilterPrice.vue -->
|
|
2
|
+
<template>
|
|
3
|
+
<div class="filter-price">
|
|
4
|
+
<div class="flex gap-thin align-center">
|
|
5
|
+
<Field
|
|
6
|
+
type="number"
|
|
7
|
+
v-model:field="localValue.min"
|
|
8
|
+
placeholder="Min"
|
|
9
|
+
class="flex-1 bg-light pd-medium radius-small"
|
|
10
|
+
@blur="updateValue"
|
|
11
|
+
/>
|
|
12
|
+
<span class="t-small">—</span>
|
|
13
|
+
<Field
|
|
14
|
+
type="number"
|
|
15
|
+
v-model:field="localValue.max"
|
|
16
|
+
placeholder="Max"
|
|
17
|
+
class="flex-1 bg-light pd-medium radius-small"
|
|
18
|
+
@blur="updateValue"
|
|
19
|
+
/>
|
|
20
|
+
</div>
|
|
21
|
+
|
|
22
|
+
<div v-if="config?.presets" class="mt-thin">
|
|
23
|
+
<button
|
|
24
|
+
v-for="preset in config.presets"
|
|
25
|
+
:key="preset.label"
|
|
26
|
+
@click="applyPreset(preset)"
|
|
27
|
+
class="btn btn-small mr-thin mb-thin"
|
|
28
|
+
:class="isPresetActive(preset) ? 'btn-primary' : 'btn-secondary'"
|
|
29
|
+
>
|
|
30
|
+
{{ preset.label }}
|
|
31
|
+
</button>
|
|
32
|
+
</div>
|
|
33
|
+
</div>
|
|
34
|
+
</template>
|
|
35
|
+
|
|
36
|
+
<script setup>
|
|
37
|
+
import { ref, watch } from 'vue'
|
|
38
|
+
import Field from '@martyrs/src/components/Field/Field.vue';
|
|
39
|
+
|
|
40
|
+
const props = defineProps({
|
|
41
|
+
config: {
|
|
42
|
+
type: Object,
|
|
43
|
+
default: () => ({})
|
|
44
|
+
}
|
|
45
|
+
})
|
|
46
|
+
|
|
47
|
+
const model = defineModel({
|
|
48
|
+
type: Object,
|
|
49
|
+
default: () => ({ min: null, max: null })
|
|
50
|
+
})
|
|
51
|
+
|
|
52
|
+
const localValue = ref({
|
|
53
|
+
min: model.value?.min || null,
|
|
54
|
+
max: model.value?.max || null
|
|
55
|
+
})
|
|
56
|
+
|
|
57
|
+
watch(model, (val) => {
|
|
58
|
+
if (val) {
|
|
59
|
+
localValue.value = {
|
|
60
|
+
min: val.min || null,
|
|
61
|
+
max: val.max || null
|
|
62
|
+
}
|
|
63
|
+
}
|
|
64
|
+
}, { deep: true })
|
|
65
|
+
|
|
66
|
+
const updateValue = () => {
|
|
67
|
+
model.value = { ...localValue.value }
|
|
68
|
+
}
|
|
69
|
+
|
|
70
|
+
const applyPreset = (preset) => {
|
|
71
|
+
localValue.value = {
|
|
72
|
+
min: preset.min || null,
|
|
73
|
+
max: preset.max || null
|
|
74
|
+
}
|
|
75
|
+
updateValue()
|
|
76
|
+
}
|
|
77
|
+
|
|
78
|
+
const isPresetActive = (preset) => {
|
|
79
|
+
return localValue.value.min === preset.min && localValue.value.max === preset.max
|
|
80
|
+
}
|
|
81
|
+
</script>
|
|
@@ -1,10 +1,9 @@
|
|
|
1
1
|
import { useStore } from '@martyrs/src/modules/core/views/store/core.store.js';
|
|
2
|
-
import { inject } from 'vue';
|
|
3
2
|
|
|
4
3
|
// useGlobalMixins.js
|
|
5
4
|
export function useGlobalMixins() {
|
|
6
5
|
const isModuleInstalled = (moduleName) => {
|
|
7
|
-
const store =
|
|
6
|
+
const store = useStore();
|
|
8
7
|
const options = store.core.state.options;
|
|
9
8
|
|
|
10
9
|
if (options && typeof options === 'object') {
|
|
@@ -52,7 +52,12 @@ function addRoutes(router, config) {
|
|
|
52
52
|
if (emptyRootBehavior.type === 'redirect') {
|
|
53
53
|
// Используем пользовательский redirectPath или первый дочерний маршрут
|
|
54
54
|
const redirectTo = emptyRootBehavior.redirectPath || filteredRoutes[0].path;
|
|
55
|
-
finalChildren = [{
|
|
55
|
+
finalChildren = [{
|
|
56
|
+
path: '',
|
|
57
|
+
redirect: redirectTo,
|
|
58
|
+
name: `${routeNamePrefix}${basePath.charAt(0).toUpperCase() + basePath.slice(1)}Root`,
|
|
59
|
+
meta: { ...meta, isAutoRedirect: true }
|
|
60
|
+
}, ...filteredRoutes];
|
|
56
61
|
} else if (emptyRootBehavior.type === 'fallback') {
|
|
57
62
|
finalChildren = [
|
|
58
63
|
{
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import middlewareFactoryAuth from '@martyrs/src/modules/auth/controllers/middlewares/index.js';
|
|
2
|
-
import coreabac from '@martyrs/src/modules/core/controllers/classes/
|
|
2
|
+
import coreabac from '@martyrs/src/modules/core/controllers/classes/abac/abac.js';
|
|
3
3
|
import controllerFactory from '../controllers/events.controller.js';
|
|
4
4
|
import middlewareFactoryEvents from '../middlewares/server/index.js';
|
|
5
5
|
// ABAC
|
|
@@ -188,7 +188,7 @@
|
|
|
188
188
|
|
|
189
189
|
<!-- :actions="[{
|
|
190
190
|
component: IconEdit,
|
|
191
|
-
handler: () => core.actions.add(leftovers.state.current.positions, position),
|
|
191
|
+
handler: () => store.core.actions.add(leftovers.state.current.positions, position),
|
|
192
192
|
class: 'bg-light'
|
|
193
193
|
},{
|
|
194
194
|
component: IconDelete,
|
|
@@ -254,7 +254,7 @@
|
|
|
254
254
|
|
|
255
255
|
import { useStore } from '@martyrs/src/modules/core/views/store/core.store.js';
|
|
256
256
|
import * as auth from '@martyrs/src/modules/auth/views/store/auth.js';
|
|
257
|
-
const
|
|
257
|
+
const store = useStore();
|
|
258
258
|
import * as inventory from '@martyrs/src/modules/inventory/store/inventory.store.js';
|
|
259
259
|
import * as products from '@martyrs/src/modules/products/store/products.js';
|
|
260
260
|
import * as spots from '@martyrs/src/modules/spots/store/spots.js';
|
|
@@ -334,7 +334,7 @@
|
|
|
334
334
|
}
|
|
335
335
|
};
|
|
336
336
|
// Add position to inventory state
|
|
337
|
-
core.actions.add(inventory.state.current.positions, position);
|
|
337
|
+
store.core.actions.add(inventory.state.current.positions, position);
|
|
338
338
|
closeVariantsPopup();
|
|
339
339
|
}
|
|
340
340
|
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import jwtFactory from '@martyrs/src/modules/auth/controllers/middlewares/authJwt.js';
|
|
2
|
-
import coreabac from '@martyrs/src/modules/core/controllers/classes/
|
|
2
|
+
import coreabac from '@martyrs/src/modules/core/controllers/classes/abac/abac.js';
|
|
3
3
|
import adjustmentServiceFactory from '../services/adjustment.service.js';
|
|
4
4
|
import availabilityServiceFactory from '../services/availability.service.js';
|
|
5
5
|
import auditServiceFactory from '../services/audit.service.js';
|
|
@@ -0,0 +1,66 @@
|
|
|
1
|
+
function buildMarketplaceTree(options = {}) {
|
|
2
|
+
const layoutComponent = options.layoutComponent || (() => import(
|
|
3
|
+
/* webpackChunkName: 'marketplace-layout' */
|
|
4
|
+
'./views/components/layouts/Marketplace.vue'
|
|
5
|
+
));
|
|
6
|
+
const catalogComponent = options.catalogComponent || (() => import(
|
|
7
|
+
/* webpackChunkName: 'marketplace-catalog' */
|
|
8
|
+
'./views/components/pages/Catalog.vue'
|
|
9
|
+
));
|
|
10
|
+
|
|
11
|
+
const buildName = (suffix) => {
|
|
12
|
+
const prefix = options.routeNamePrefix || '';
|
|
13
|
+
return suffix ? `${prefix}${suffix}` : prefix || undefined;
|
|
14
|
+
};
|
|
15
|
+
|
|
16
|
+
return [
|
|
17
|
+
{
|
|
18
|
+
path: '',
|
|
19
|
+
name: buildName('Marketplace') || 'Marketplace',
|
|
20
|
+
component: layoutComponent,
|
|
21
|
+
meta: {
|
|
22
|
+
title: {
|
|
23
|
+
en: 'Marketplace',
|
|
24
|
+
ru: 'Маркетплейс',
|
|
25
|
+
},
|
|
26
|
+
},
|
|
27
|
+
children: [
|
|
28
|
+
{
|
|
29
|
+
path: ':country?',
|
|
30
|
+
component: catalogComponent,
|
|
31
|
+
children: [
|
|
32
|
+
{
|
|
33
|
+
path: ':state?',
|
|
34
|
+
name: buildName('State') || 'State',
|
|
35
|
+
component: catalogComponent,
|
|
36
|
+
children: [
|
|
37
|
+
{
|
|
38
|
+
path: ':city?',
|
|
39
|
+
name: buildName('City') || 'City',
|
|
40
|
+
component: catalogComponent,
|
|
41
|
+
},
|
|
42
|
+
],
|
|
43
|
+
},
|
|
44
|
+
],
|
|
45
|
+
},
|
|
46
|
+
],
|
|
47
|
+
},
|
|
48
|
+
];
|
|
49
|
+
}
|
|
50
|
+
|
|
51
|
+
export function getRoutes(options = {}) {
|
|
52
|
+
const route = options.route || 'Home';
|
|
53
|
+
const routes = [];
|
|
54
|
+
|
|
55
|
+
routes.push({
|
|
56
|
+
parentName: route,
|
|
57
|
+
config: {
|
|
58
|
+
basePath: options.basePath || 'marketplace',
|
|
59
|
+
routes: buildMarketplaceTree(options),
|
|
60
|
+
},
|
|
61
|
+
});
|
|
62
|
+
|
|
63
|
+
return routes;
|
|
64
|
+
}
|
|
65
|
+
|
|
66
|
+
export default { getRoutes };
|