@ozdao/prometheus-framework 0.2.80 → 0.2.82
Sign up to get free protection for your applications and to get access to all the features.
- package/dist/auth.server.js +1 -1
- package/dist/auth.server.mjs +1 -1
- package/dist/community.server.js +3 -3
- package/dist/community.server.mjs +3 -3
- package/dist/credentials.schema-CDZCKfEI.mjs +106 -0
- package/dist/credentials.schema-CfhPcsuI.js +105 -0
- package/dist/events.server.js +4 -15
- package/dist/events.server.mjs +3 -14
- package/dist/files.server.js +1 -1
- package/dist/files.server.mjs +1 -1
- package/dist/gallery.server.js +1 -1
- package/dist/gallery.server.mjs +1 -1
- package/dist/index-B6a1mPgp.mjs +217 -0
- package/dist/index-BCCiEK_u.js +216 -0
- package/dist/main-8N2Jmsuk.js +91 -0
- package/dist/main-CkeuHuCY.mjs +13619 -0
- package/dist/main.css +1 -1
- package/dist/metadata.schema-Cu_mPkjE.js +77 -0
- package/dist/metadata.schema-cbFgazeK.mjs +78 -0
- package/dist/middlewares.server.js +1 -1
- package/dist/middlewares.server.mjs +1 -1
- package/dist/node_modules/@googlemaps/js-api-loader/dist/index.cjs +1 -0
- package/dist/node_modules/@googlemaps/js-api-loader/dist/index.js +238 -0
- package/dist/organizations.server.js +297 -134
- package/dist/organizations.server.mjs +295 -132
- package/dist/products.server.js +2 -2
- package/dist/products.server.mjs +2 -2
- package/dist/prometheus-framework/src/components/Address/Address.vue2.cjs +1 -1
- package/dist/prometheus-framework/src/components/Address/Address.vue2.js +33 -24
- package/dist/prometheus-framework/src/components/Block/Block.vue.cjs +1 -1
- package/dist/prometheus-framework/src/components/Block/Block.vue.js +23 -20
- package/dist/prometheus-framework/src/components/Button/Button.vue2.cjs +1 -1
- package/dist/prometheus-framework/src/components/Button/Button.vue2.js +32 -155
- package/dist/prometheus-framework/src/components/Dropdown/Dropdown.vue.cjs +1 -1
- package/dist/prometheus-framework/src/components/Dropdown/Dropdown.vue.js +55 -1
- package/dist/prometheus-framework/src/components/Dropdown/Dropdown.vue2.cjs +1 -1
- package/dist/prometheus-framework/src/components/Dropdown/Dropdown.vue2.js +1 -55
- package/dist/prometheus-framework/src/components/Feed/Feed.vue.cjs +1 -1
- package/dist/prometheus-framework/src/components/Feed/Feed.vue.js +71 -60
- package/dist/prometheus-framework/src/components/FieldPhone/FieldPhone.vue.cjs +1 -1
- package/dist/prometheus-framework/src/components/FieldPhone/FieldPhone.vue.js +325 -340
- package/dist/prometheus-framework/src/components/FieldPhone/FieldPhone2.vue.cjs +1 -1
- package/dist/prometheus-framework/src/components/FieldPhone/FieldPhone2.vue.js +2 -2
- package/dist/prometheus-framework/src/components/LocationMarker/LocationMarker.vue2.cjs +1 -1
- package/dist/prometheus-framework/src/components/LocationMarker/LocationMarker.vue2.js +53 -44
- package/dist/prometheus-framework/src/components/Popup/Popup.vue.cjs +1 -1
- package/dist/prometheus-framework/src/components/Popup/Popup.vue.js +1 -72
- package/dist/prometheus-framework/src/components/Popup/Popup.vue2.cjs +1 -1
- package/dist/prometheus-framework/src/components/Popup/Popup.vue2.js +73 -1
- package/dist/prometheus-framework/src/components/Select/Select.vue.cjs +1 -1
- package/dist/prometheus-framework/src/components/Select/Select.vue.js +1 -97
- package/dist/prometheus-framework/src/components/Select/Select.vue2.cjs +1 -1
- package/dist/prometheus-framework/src/components/Select/Select.vue2.js +103 -1
- package/dist/prometheus-framework/src/components/Slider/Slider.vue.cjs +1 -1
- package/dist/prometheus-framework/src/components/Slider/Slider.vue.js +18 -19
- package/dist/prometheus-framework/src/components/Tooltip/Tooltip.vue.cjs +1 -1
- package/dist/prometheus-framework/src/components/Tooltip/Tooltip.vue.js +45 -1
- package/dist/prometheus-framework/src/components/Tooltip/Tooltip.vue2.cjs +1 -1
- package/dist/prometheus-framework/src/components/Tooltip/Tooltip.vue2.js +1 -45
- package/dist/prometheus-framework/src/modules/auth/components/pages/Invite.vue.cjs +1 -1
- package/dist/prometheus-framework/src/modules/auth/components/pages/Invite.vue.js +28 -28
- package/dist/prometheus-framework/src/modules/auth/store/auth.cjs +1 -1
- package/dist/prometheus-framework/src/modules/auth/store/auth.js +26 -26
- package/dist/prometheus-framework/src/modules/backoffice/components/pages/Dashboard.vue.cjs +1 -1
- package/dist/prometheus-framework/src/modules/backoffice/components/pages/Dashboard.vue.js +78 -103
- package/dist/prometheus-framework/src/modules/community/components/layouts/Community.vue.cjs +1 -1
- package/dist/prometheus-framework/src/modules/community/components/layouts/Community.vue.js +1 -1
- package/dist/prometheus-framework/src/modules/community/components/pages/Community.vue.cjs +1 -1
- package/dist/prometheus-framework/src/modules/community/components/pages/Community.vue.js +1 -1
- package/dist/prometheus-framework/src/modules/community/components/pages/CreateBlogPost.vue.cjs +1 -1
- package/dist/prometheus-framework/src/modules/community/components/pages/CreateBlogPost.vue.js +1 -1
- package/dist/prometheus-framework/src/modules/community/components/sections/HotPosts.vue.cjs +1 -1
- package/dist/prometheus-framework/src/modules/community/components/sections/HotPosts.vue.js +14 -14
- package/dist/prometheus-framework/src/modules/events/components/blocks/CardEvent.vue.cjs +1 -1
- package/dist/prometheus-framework/src/modules/events/components/blocks/CardEvent.vue.js +4 -4
- package/dist/prometheus-framework/src/modules/events/components/elements/ButtonCheck.vue.cjs +1 -1
- package/dist/prometheus-framework/src/modules/events/components/elements/ButtonCheck.vue.js +1 -1
- package/dist/prometheus-framework/src/modules/events/components/layouts/layoutEvents.vue.cjs +1 -1
- package/dist/prometheus-framework/src/modules/events/components/layouts/layoutEvents.vue.js +1 -1
- package/dist/prometheus-framework/src/modules/events/components/pages/EditEvent.vue.cjs +1 -1
- package/dist/prometheus-framework/src/modules/events/components/pages/EditEvent.vue.js +1 -1
- package/dist/prometheus-framework/src/modules/events/components/pages/EditEventTickets.vue.cjs +1 -1
- package/dist/prometheus-framework/src/modules/events/components/pages/EditEventTickets.vue.js +1 -1
- package/dist/prometheus-framework/src/modules/events/components/pages/Event.vue.cjs +3 -3
- package/dist/prometheus-framework/src/modules/events/components/pages/Event.vue.js +132 -141
- package/dist/prometheus-framework/src/modules/events/components/pages/Events.vue.cjs +1 -1
- package/dist/prometheus-framework/src/modules/events/components/pages/Events.vue.js +29 -27
- package/dist/prometheus-framework/src/modules/events/components/sections/HeroEvent.vue.cjs +1 -1
- package/dist/prometheus-framework/src/modules/events/components/sections/HeroEvent.vue.js +4 -4
- package/dist/prometheus-framework/src/modules/gallery/components/sections/BackofficeGallery.vue.cjs +1 -1
- package/dist/prometheus-framework/src/modules/gallery/components/sections/BackofficeGallery.vue.js +1 -1
- package/dist/prometheus-framework/src/modules/gallery/components/sections/GalleryWithCategories.vue.cjs +1 -1
- package/dist/prometheus-framework/src/modules/gallery/components/sections/GalleryWithCategories.vue.js +1 -1
- package/dist/prometheus-framework/src/modules/globals/components/blocks/CardHeader.vue.cjs +1 -1
- package/dist/prometheus-framework/src/modules/globals/components/blocks/CardHeader.vue.js +2 -2
- package/dist/prometheus-framework/src/modules/globals/components/sections/SectionPageTitle.vue.cjs +1 -1
- package/dist/prometheus-framework/src/modules/globals/components/sections/SectionPageTitle.vue.js +32 -25
- package/dist/prometheus-framework/src/modules/globals/localization/vue-i18n.cjs +1 -1
- package/dist/prometheus-framework/src/modules/globals/localization/vue-i18n.js +6 -3
- package/dist/prometheus-framework/src/modules/globals/services/globals.store.cjs +1 -0
- package/dist/prometheus-framework/src/modules/globals/services/globals.store.js +70 -0
- package/dist/prometheus-framework/src/modules/icons/entities/IconGallery.vue.cjs +1 -0
- package/dist/prometheus-framework/src/modules/icons/entities/IconGallery.vue.js +28 -0
- package/dist/prometheus-framework/src/modules/icons/entities/IconLeftovers.vue.cjs +1 -0
- package/dist/prometheus-framework/src/modules/icons/entities/IconLeftovers.vue.js +30 -0
- package/dist/prometheus-framework/src/modules/icons/entities/IconOrders.vue.cjs +1 -0
- package/dist/prometheus-framework/src/modules/icons/entities/IconOrders.vue.js +35 -0
- package/dist/prometheus-framework/src/modules/icons/entities/IconProducts.vue.cjs +1 -0
- package/dist/prometheus-framework/src/modules/icons/entities/IconProducts.vue.js +28 -0
- package/dist/prometheus-framework/src/modules/landing/components/sections/MobileApp.vue.cjs +1 -1
- package/dist/prometheus-framework/src/modules/landing/components/sections/MobileApp.vue.js +63 -86
- package/dist/prometheus-framework/src/modules/legal/components/pages/Legal.vue.cjs +1 -1
- package/dist/prometheus-framework/src/modules/legal/components/pages/Legal.vue.js +1 -1
- package/dist/prometheus-framework/src/modules/mobile/components/Menu/Menu.vue.cjs +1 -1
- package/dist/prometheus-framework/src/modules/mobile/components/Menu/Menu.vue.js +1 -13
- package/dist/prometheus-framework/src/modules/mobile/components/Menu/Menu.vue2.cjs +1 -1
- package/dist/prometheus-framework/src/modules/mobile/components/Menu/Menu.vue2.js +13 -1
- package/dist/prometheus-framework/src/modules/orders/components/pages/OrderCreateBackoffice.vue.cjs +1 -1
- package/dist/prometheus-framework/src/modules/orders/components/pages/OrderCreateBackoffice.vue.js +174 -114
- package/dist/prometheus-framework/src/modules/orders/components/pages/Orders.vue.cjs +1 -1
- package/dist/prometheus-framework/src/modules/orders/components/pages/Orders.vue.js +39 -39
- package/dist/prometheus-framework/src/modules/orders/components/sections/FormAddCustomer.vue.cjs +1 -0
- package/dist/prometheus-framework/src/modules/orders/components/sections/FormAddCustomer.vue.js +141 -0
- package/dist/prometheus-framework/src/modules/orders/components/sections/FormClientDetails.vue.cjs +1 -1
- package/dist/prometheus-framework/src/modules/orders/components/sections/FormClientDetails.vue.js +3 -3
- package/dist/prometheus-framework/src/modules/orders/components/sections/FormCustomerDetails.vue.cjs +1 -0
- package/dist/prometheus-framework/src/modules/orders/components/sections/FormCustomerDetails.vue.js +77 -0
- package/dist/prometheus-framework/src/modules/orders/components/sections/FormDelivery.vue.cjs +1 -1
- package/dist/prometheus-framework/src/modules/orders/components/sections/FormDelivery.vue.js +46 -35
- package/dist/prometheus-framework/src/modules/orders/components/sections/FormPayment.vue.cjs +1 -1
- package/dist/prometheus-framework/src/modules/orders/components/sections/FormPayment.vue.js +1 -1
- package/dist/prometheus-framework/src/modules/orders/store/customers.store.cjs +1 -0
- package/dist/prometheus-framework/src/modules/orders/store/customers.store.js +5 -0
- package/dist/prometheus-framework/src/modules/orders/store/models/customer.cjs +1 -0
- package/dist/prometheus-framework/src/modules/orders/store/models/customer.js +30 -0
- package/dist/prometheus-framework/src/modules/orders/store/orders.cjs +1 -1
- package/dist/prometheus-framework/src/modules/orders/store/orders.js +24 -25
- package/dist/prometheus-framework/src/modules/organizations/components/blocks/CardDepartment.vue.cjs +1 -1
- package/dist/prometheus-framework/src/modules/organizations/components/blocks/CardDepartment.vue.js +16 -16
- package/dist/prometheus-framework/src/modules/organizations/components/blocks/CardOrganization.vue.cjs +1 -1
- package/dist/prometheus-framework/src/modules/organizations/components/blocks/CardOrganization.vue.js +1 -1
- package/dist/prometheus-framework/src/modules/organizations/components/blocks/DepartmentMemberModify.vue.cjs +1 -1
- package/dist/prometheus-framework/src/modules/organizations/components/blocks/DepartmentMemberModify.vue.js +39 -50
- package/dist/prometheus-framework/src/modules/organizations/components/pages/Department.vue.cjs +1 -1
- package/dist/prometheus-framework/src/modules/organizations/components/pages/Department.vue.js +6 -6
- package/dist/prometheus-framework/src/modules/organizations/components/pages/DepartmentEdit.vue.cjs +1 -1
- package/dist/prometheus-framework/src/modules/organizations/components/pages/DepartmentEdit.vue.js +161 -138
- package/dist/prometheus-framework/src/modules/organizations/components/pages/Members.vue.cjs +1 -1
- package/dist/prometheus-framework/src/modules/organizations/components/pages/Members.vue.js +199 -79
- package/dist/prometheus-framework/src/modules/organizations/components/pages/Organization.vue.cjs +1 -1
- package/dist/prometheus-framework/src/modules/organizations/components/pages/Organization.vue.js +83 -126
- package/dist/prometheus-framework/src/modules/organizations/components/pages/OrganizationEdit.vue.cjs +1 -1
- package/dist/prometheus-framework/src/modules/organizations/components/pages/OrganizationEdit.vue.js +2 -2
- package/dist/prometheus-framework/src/modules/organizations/components/sections/DetailsTab.vue.cjs +1 -1
- package/dist/prometheus-framework/src/modules/organizations/components/sections/DetailsTab.vue.js +1 -1
- package/dist/prometheus-framework/src/modules/organizations/components/sections/Documents.vue.cjs +1 -1
- package/dist/prometheus-framework/src/modules/organizations/components/sections/Documents.vue.js +1 -1
- package/dist/prometheus-framework/src/modules/organizations/components/sections/MembersAdd.vue.cjs +1 -1
- package/dist/prometheus-framework/src/modules/organizations/components/sections/MembersAdd.vue.js +59 -70
- package/dist/prometheus-framework/src/modules/organizations/components/sections/Organizations.vue.cjs +1 -1
- package/dist/prometheus-framework/src/modules/organizations/components/sections/Organizations.vue.js +3 -3
- package/dist/prometheus-framework/src/modules/organizations/organizations.client.cjs +1 -1
- package/dist/prometheus-framework/src/modules/organizations/organizations.client.js +34 -36
- package/dist/prometheus-framework/src/modules/organizations/store/departments.cjs +1 -1
- package/dist/prometheus-framework/src/modules/organizations/store/departments.js +38 -18
- package/dist/prometheus-framework/src/modules/organizations/store/invites.cjs +1 -1
- package/dist/prometheus-framework/src/modules/organizations/store/invites.js +34 -35
- package/dist/prometheus-framework/src/modules/products/components/blocks/CardPosition.vue.cjs +1 -1
- package/dist/prometheus-framework/src/modules/products/components/blocks/CardPosition.vue.js +1 -1
- package/dist/prometheus-framework/src/modules/products/components/blocks/CardProduct.vue.cjs +1 -1
- package/dist/prometheus-framework/src/modules/products/components/blocks/CardProduct.vue.js +41 -21
- package/dist/prometheus-framework/src/modules/products/components/blocks/ImagesThumbnails.vue.cjs +1 -1
- package/dist/prometheus-framework/src/modules/products/components/blocks/ImagesThumbnails.vue.js +1 -1
- package/dist/prometheus-framework/src/modules/products/components/pages/CategoryEdit.vue.cjs +1 -1
- package/dist/prometheus-framework/src/modules/products/components/pages/CategoryEdit.vue.js +1 -1
- package/dist/prometheus-framework/src/modules/products/components/pages/EditLeftover.vue.cjs +1 -1
- package/dist/prometheus-framework/src/modules/products/components/pages/EditLeftover.vue.js +2 -2
- package/dist/prometheus-framework/src/modules/products/components/pages/ProductEdit.vue.cjs +1 -1
- package/dist/prometheus-framework/src/modules/products/components/pages/ProductEdit.vue.js +1 -1
- package/dist/prometheus-framework/src/modules/products/components/pages/Products.vue.cjs +1 -1
- package/dist/prometheus-framework/src/modules/products/components/pages/Products.vue.js +2 -2
- package/dist/prometheus-framework/src/modules/products/components/sections/EditProductInfo.vue.cjs +1 -1
- package/dist/prometheus-framework/src/modules/products/components/sections/EditProductInfo.vue.js +1 -1
- package/dist/prometheus-framework/src/modules/reports/components/sections/FormReport.vue.cjs +1 -1
- package/dist/prometheus-framework/src/modules/reports/components/sections/FormReport.vue.js +24 -26
- package/dist/prometheus-framework/src/modules/users/components/blocks/CardUser.vue.cjs +1 -0
- package/dist/prometheus-framework/src/modules/users/components/blocks/CardUser.vue.js +78 -0
- package/dist/prometheus-framework/src/modules/users/components/pages/Profile.vue.cjs +1 -1
- package/dist/prometheus-framework/src/modules/users/components/pages/Profile.vue.js +2 -2
- package/dist/prometheus-framework/src/modules/users/store/users.cjs +1 -1
- package/dist/prometheus-framework/src/modules/users/store/users.js +13 -14
- package/dist/prometheus-framework/src/modules/wallet/views/components/pages/Wallet.vue.cjs +1 -1
- package/dist/prometheus-framework/src/modules/wallet/views/components/pages/Wallet.vue.js +4 -4
- package/dist/prometheus-framework.cjs.js +1 -1
- package/dist/prometheus-framework.es.js +1 -1
- package/dist/queryProcessor-BJdKh0Ow.mjs +162 -0
- package/dist/queryProcessor-DRMo_GWK.js +161 -0
- package/dist/reports.server.js +1 -1
- package/dist/reports.server.mjs +1 -1
- package/dist/style.css +1 -1
- package/dist/users.server.js +69 -38
- package/dist/users.server.mjs +67 -36
- package/dist/wallet.server.js +2 -2
- package/dist/wallet.server.mjs +2 -2
- package/dist/web-CtVocufd.js +1 -0
- package/dist/web-DNq1tHCE.mjs +54 -0
- package/package.json +1 -1
- package/src/components/Address/Address.vue +13 -2
- package/src/components/Block/Block.vue +3 -2
- package/src/components/Button/Button.vue +9 -12
- package/src/components/Feed/Feed.vue +28 -6
- package/src/components/FieldPhone/FieldPhone.vue +592 -558
- package/src/components/LocationMarker/LocationMarker.vue +26 -22
- package/src/components/Popup/Popup.vue +22 -23
- package/src/components/Select/Select.vue +43 -32
- package/src/components/Slider/Slider.vue +3 -4
- package/src/modules/auth/components/pages/Invite.vue +7 -7
- package/src/modules/auth/store/auth.js +1 -1
- package/src/modules/backoffice/components/pages/Dashboard.vue +44 -29
- package/src/modules/community/components/sections/HotPosts.vue +1 -1
- package/src/modules/events/components/blocks/CardEvent.vue +4 -3
- package/src/modules/events/components/pages/Event.vue +4 -3
- package/src/modules/events/components/pages/Events.vue +23 -6
- package/src/modules/events/components/sections/HeroEvent.vue +1 -1
- package/src/modules/globals/components/sections/SectionPageTitle.vue +19 -7
- package/src/modules/globals/controllers/utils/queryProcessor.js +21 -7
- package/src/modules/globals/localization/vue-i18n.js +3 -0
- package/src/modules/globals/models/credentials.schema.js +7 -0
- package/src/modules/globals/models/metadata.schema.js +17 -0
- package/src/modules/globals/models/profile.schema.js +23 -0
- package/src/modules/globals/models/socials.schema.js +22 -0
- package/src/modules/globals/router/routerGuards.js +1 -0
- package/src/modules/globals/services/globals.cashe.js +26 -0
- package/src/modules/globals/services/globals.crud.js +115 -0
- package/src/modules/globals/services/globals.logger.js +41 -0
- package/src/modules/globals/services/globals.store.js +114 -0
- package/src/modules/icons/entities/IconGallery.vue +14 -0
- package/src/modules/icons/entities/IconLeftovers.vue +14 -0
- package/src/modules/icons/entities/IconOrders.vue +15 -0
- package/src/modules/icons/entities/IconProducts.vue +14 -0
- package/src/modules/landing/components/sections/HeroSection.vue +1 -1
- package/src/modules/landing/components/sections/MobileApp.vue +4 -4
- package/src/modules/landing/router/landing.js +1 -1
- package/src/modules/marketplace/components/sections/Filters.vue +3 -3
- package/src/modules/middlewares/server/accessors/AccessController.js +33 -0
- package/src/modules/middlewares/server/accessors/ReadDepartments.js +101 -0
- package/src/modules/middlewares/server/verifyAccesses.js +33 -0
- package/src/modules/middlewares/server/verifyInvites.js +4 -4
- package/src/modules/orders/components/pages/OrderCreate.vue +2 -2
- package/src/modules/orders/components/pages/OrderCreateBackoffice.vue +105 -68
- package/src/modules/orders/components/pages/Orders.vue +2 -2
- package/src/modules/orders/components/sections/FormAddCustomer.vue +152 -0
- package/src/modules/orders/components/sections/FormCustomerDetails.vue +67 -0
- package/src/modules/orders/components/sections/FormDelivery.vue +17 -3
- package/src/modules/orders/controllers/applications.controller.js +2 -0
- package/src/modules/orders/controllers/orders.controller.js +77 -52
- package/src/modules/orders/models/customer.model.js +54 -18
- package/src/modules/orders/models/order.model.js +1 -1
- package/src/modules/orders/orders.client.js +51 -51
- package/src/modules/orders/orders.server.js +32 -12
- package/src/modules/orders/router/orders.router.js +36 -41
- package/src/modules/orders/routes/orders.routes.js +3 -21
- package/src/modules/orders/store/customers.store.js +5 -0
- package/src/modules/orders/store/models/customer.js +29 -0
- package/src/modules/orders/store/orders.js +14 -20
- package/src/modules/organizations/components/blocks/CardDepartment.vue +3 -3
- package/src/modules/organizations/components/blocks/CardOrganization.vue +1 -1
- package/src/modules/organizations/components/blocks/DepartmentMemberModify.vue +1 -12
- package/src/modules/organizations/components/pages/Department.vue +1 -1
- package/src/modules/organizations/components/pages/DepartmentEdit.vue +72 -48
- package/src/modules/organizations/components/pages/Members.vue +178 -64
- package/src/modules/organizations/components/pages/Organization.vue +1 -41
- package/src/modules/organizations/components/sections/MembersAdd.vue +44 -52
- package/src/modules/organizations/controllers/departments.controller.js +2 -4
- package/src/modules/organizations/controllers/invites.controller.js +24 -23
- package/src/modules/organizations/controllers/organizations.controller.js +1 -1
- package/src/modules/organizations/models/department.model.js +52 -2
- package/src/modules/organizations/models/invite.model.js +29 -32
- package/src/modules/organizations/models/membership.model.js +2 -0
- package/src/modules/organizations/models/organization.model.js +2 -1
- package/src/modules/organizations/organizations.client.js +0 -2
- package/src/modules/organizations/routes/departments.routes.js +18 -7
- package/src/modules/organizations/routes/invites.routes.js +2 -2
- package/src/modules/organizations/store/departments.js +22 -1
- package/src/modules/organizations/store/invites.js +74 -90
- package/src/modules/products/components/blocks/CardProduct.vue +24 -0
- package/src/modules/products/components/pages/Products.vue +1 -1
- package/src/modules/reports/components/sections/FormReport.vue +40 -40
- package/src/modules/spots/components/pages/Spot.vue +1 -1
- package/src/modules/spots/components/pages/SpotEdit.vue +1 -1
- package/src/modules/users/components/blocks/CardUser.vue +85 -0
- package/src/modules/users/controllers/users.controller.js +36 -13
- package/src/modules/users/middlewares/visitor.logger.js +66 -0
- package/src/modules/users/models/request.model.js +18 -0
- package/src/modules/users/models/user.model.js +26 -55
- package/src/modules/users/models/visitor.model.js +14 -0
- package/src/modules/users/store/users.js +2 -11
- package/src/modules/wallet/controllers/routes/payments.routes.js +2 -0
- package/src/components/FieldPhone/FieldPhone(script-setup).vue +0 -1646
- package/src/components/FieldPhone/FieldPhone2.vue +0 -671
- package/src/modules/orders/components/sections/FormClientDetails.vue +0 -61
- package/src/modules/organizations/components/blocks/User.vue +0 -69
- /package/src/modules/backoffice/components/admin/{User.vue → UserEdit.vue} +0 -0
@@ -51,7 +51,6 @@ function getPaginationOptions(skip, limit) {
|
|
51
51
|
}
|
52
52
|
|
53
53
|
|
54
|
-
|
55
54
|
function getCreatorUserLookupStage() {
|
56
55
|
return {
|
57
56
|
$lookup: {
|
@@ -77,10 +76,10 @@ function getCreatorOrganizationLookupStage() {
|
|
77
76
|
function getCreatorCustomerLookupStage() {
|
78
77
|
return {
|
79
78
|
$lookup: {
|
80
|
-
from: "
|
79
|
+
from: "customers",
|
81
80
|
localField: "creator.target",
|
82
81
|
foreignField: "_id",
|
83
|
-
as: "
|
82
|
+
as: "creatorCustomer"
|
84
83
|
}
|
85
84
|
};
|
86
85
|
}
|
@@ -108,6 +107,7 @@ function getOwnerOrganizationLookupStage() {
|
|
108
107
|
};
|
109
108
|
}
|
110
109
|
|
110
|
+
|
111
111
|
function getAddFieldsCreatorOwnerStage() {
|
112
112
|
return {
|
113
113
|
$addFields: {
|
@@ -123,8 +123,8 @@ function getAddFieldsCreatorOwnerStage() {
|
|
123
123
|
then: { $arrayElemAt: ["$creatorOrganization", 0] }
|
124
124
|
},
|
125
125
|
{
|
126
|
-
case: { $eq: ["$creator.type", "
|
127
|
-
then: { $arrayElemAt: ["$
|
126
|
+
case: { $eq: ["$creator.type", "customer"] },
|
127
|
+
then: { $arrayElemAt: ["$creatorCustomer", 0] }
|
128
128
|
}
|
129
129
|
],
|
130
130
|
default: "Unknown type" // или любое другое значение по умолчанию, которое вы хотите использовать
|
@@ -141,16 +141,30 @@ function getAddFieldsCreatorOwnerStage() {
|
|
141
141
|
};
|
142
142
|
}
|
143
143
|
|
144
|
+
function removeTempPropeties() {
|
145
|
+
return {
|
146
|
+
$project: {
|
147
|
+
creatorOrganization: 0,
|
148
|
+
creatorUser: 0,
|
149
|
+
ownerOrganization: 0,
|
150
|
+
ownerUser: 0,
|
151
|
+
creatorCustomer: 0,
|
152
|
+
ownerCustomer: 0
|
153
|
+
}
|
154
|
+
}
|
155
|
+
}
|
156
|
+
|
144
157
|
module.exports = {
|
145
158
|
getBasicOptions,
|
146
159
|
getSortingOptions,
|
147
160
|
getPaginationOptions,
|
148
161
|
getTagsOptions,
|
149
|
-
// Creator and Owner
|
162
|
+
// Creator and Owner
|
150
163
|
getCreatorUserLookupStage,
|
151
164
|
getCreatorOrganizationLookupStage,
|
152
165
|
getCreatorCustomerLookupStage,
|
153
166
|
getOwnerUserLookupStage,
|
154
167
|
getOwnerOrganizationLookupStage,
|
155
|
-
getAddFieldsCreatorOwnerStage
|
168
|
+
getAddFieldsCreatorOwnerStage,
|
169
|
+
removeTempPropeties
|
156
170
|
}
|
@@ -1,7 +1,11 @@
|
|
1
|
+
// Utils
|
2
|
+
const createFriendlyURL = require('@pf/src/modules/globals/utils/seo-friendly-url');
|
3
|
+
|
1
4
|
module.exports = function applyMetadataSchema(schema,db) {
|
2
5
|
schema.add({
|
3
6
|
url: {
|
4
7
|
type: String,
|
8
|
+
unique: true,
|
5
9
|
required: true
|
6
10
|
},
|
7
11
|
tags: [{
|
@@ -9,6 +13,19 @@ module.exports = function applyMetadataSchema(schema,db) {
|
|
9
13
|
}],
|
10
14
|
})
|
11
15
|
|
16
|
+
schema.pre('save', function(next) {
|
17
|
+
// Генерируем URL только если он не задан.
|
18
|
+
if (!this.url) {
|
19
|
+
const name = this.name || this.title || (this.profile ? this.profile.name : '');
|
20
|
+
|
21
|
+
if (name) {
|
22
|
+
this.url = createFriendlyURL(name);
|
23
|
+
}
|
24
|
+
}
|
25
|
+
|
26
|
+
next();
|
27
|
+
});
|
28
|
+
|
12
29
|
schema.index({
|
13
30
|
'url': 1,
|
14
31
|
'tags': 1,
|
@@ -0,0 +1,23 @@
|
|
1
|
+
module.exports = function applyProfileSchema(schema,db) {
|
2
|
+
schema.add({
|
3
|
+
profile: {
|
4
|
+
photo: {
|
5
|
+
type: String,
|
6
|
+
default: null
|
7
|
+
},
|
8
|
+
name: {
|
9
|
+
type: String,
|
10
|
+
default: null
|
11
|
+
},
|
12
|
+
description: {
|
13
|
+
type: String,
|
14
|
+
default: null
|
15
|
+
},
|
16
|
+
birthday: {
|
17
|
+
type: Date,
|
18
|
+
default: null
|
19
|
+
}
|
20
|
+
},
|
21
|
+
})
|
22
|
+
}
|
23
|
+
|
@@ -0,0 +1,22 @@
|
|
1
|
+
module.exports = function applySocialsSchema(schema, db) {
|
2
|
+
schema.add({
|
3
|
+
socials: {
|
4
|
+
telegram: {
|
5
|
+
type: String,
|
6
|
+
default: ''
|
7
|
+
},
|
8
|
+
twitter: {
|
9
|
+
type: String,
|
10
|
+
default: ''
|
11
|
+
},
|
12
|
+
facebook: {
|
13
|
+
type: String,
|
14
|
+
default: ''
|
15
|
+
},
|
16
|
+
instagram: {
|
17
|
+
type: String,
|
18
|
+
default: ''
|
19
|
+
}
|
20
|
+
}
|
21
|
+
})
|
22
|
+
}
|
@@ -0,0 +1,26 @@
|
|
1
|
+
const NodeCache = require('node-cache');
|
2
|
+
const stdTTL = 60 * 5;
|
3
|
+
|
4
|
+
class Cache {
|
5
|
+
constructor(ttlSeconds = stdTTL) {
|
6
|
+
this.cache = new NodeCache({ stdTTL: ttlSeconds });
|
7
|
+
}
|
8
|
+
|
9
|
+
async get(key) {
|
10
|
+
return this.cache.get(key);
|
11
|
+
}
|
12
|
+
|
13
|
+
async set(key, value) {
|
14
|
+
return this.cache.set(key, value);
|
15
|
+
}
|
16
|
+
|
17
|
+
async del(keys) {
|
18
|
+
return this.cache.del(keys);
|
19
|
+
}
|
20
|
+
|
21
|
+
async flush() {
|
22
|
+
this.cache.flushAll(); // Очистка всего кеша
|
23
|
+
}
|
24
|
+
}
|
25
|
+
|
26
|
+
module.exports = Cache;
|
@@ -0,0 +1,115 @@
|
|
1
|
+
const globalsQuery = require('@pf/src/modules/globals/controllers/utils/queryProcessor');
|
2
|
+
|
3
|
+
const Cashe = require('@pf/src/modules/globals/services/globals.cashe');
|
4
|
+
const Logger = require('@pf/src/modules/globals/services/globals.logger');
|
5
|
+
|
6
|
+
class CRUD {
|
7
|
+
constructor(basePath, app, db, model) {
|
8
|
+
this.model = model;
|
9
|
+
this.cache = new Cashe();
|
10
|
+
this.logger = new Logger(db);
|
11
|
+
|
12
|
+
this.app = app;
|
13
|
+
this.basePath = basePath;
|
14
|
+
|
15
|
+
this.registerRoutes();
|
16
|
+
}
|
17
|
+
|
18
|
+
registerRoutes() {
|
19
|
+
this.app.post(`${this.basePath}/create`, this.create.bind(this));
|
20
|
+
this.app.get(`${this.basePath}/read`, this.read.bind(this));
|
21
|
+
this.app.put(`${this.basePath}/update`, this.update.bind(this));
|
22
|
+
this.app.delete(`${this.basePath}/delete`, this.delete.bind(this));
|
23
|
+
}
|
24
|
+
|
25
|
+
async create(req, res) {
|
26
|
+
try {
|
27
|
+
const createdData = await this.model.create(req.body);
|
28
|
+
await this.cache.flush();
|
29
|
+
res.status(201).json(createdData);
|
30
|
+
} catch (error) {
|
31
|
+
console.log(error)
|
32
|
+
this.logger.error('Ошибка создания данных', error);
|
33
|
+
res.status(500).json({ error: error.message });
|
34
|
+
}
|
35
|
+
}
|
36
|
+
|
37
|
+
async read(req, res) {
|
38
|
+
try {
|
39
|
+
let stages = [];
|
40
|
+
|
41
|
+
stages = [
|
42
|
+
...globalsQuery.getBasicOptions(
|
43
|
+
req.query
|
44
|
+
),
|
45
|
+
// For creator
|
46
|
+
globalsQuery.getCreatorUserLookupStage(),
|
47
|
+
globalsQuery.getCreatorOrganizationLookupStage(),
|
48
|
+
// For owner
|
49
|
+
globalsQuery.getOwnerUserLookupStage(),
|
50
|
+
globalsQuery.getOwnerOrganizationLookupStage(),
|
51
|
+
globalsQuery.getAddFieldsCreatorOwnerStage(),
|
52
|
+
// Pagination
|
53
|
+
...globalsQuery.getSortingOptions(
|
54
|
+
req.query.sortParam,
|
55
|
+
req.query.sortOrder,
|
56
|
+
),
|
57
|
+
...globalsQuery.getPaginationOptions(
|
58
|
+
req.query.skip,
|
59
|
+
req.query.limit
|
60
|
+
),
|
61
|
+
globalsQuery.removeTempPropeties()
|
62
|
+
];
|
63
|
+
const cacheKey = JSON.stringify({ stages });
|
64
|
+
let data = await this.cache.get(cacheKey);
|
65
|
+
|
66
|
+
if (!data) {
|
67
|
+
data = await this.model.aggregate(stages).exec();
|
68
|
+
await this.cache.set(cacheKey, data);
|
69
|
+
}
|
70
|
+
|
71
|
+
res.json(data);
|
72
|
+
} catch (error) {
|
73
|
+
this.logger.error(error);
|
74
|
+
res.status(500).json({ error: error.message });
|
75
|
+
}
|
76
|
+
}
|
77
|
+
|
78
|
+
async update(req, res) {
|
79
|
+
try {
|
80
|
+
const updatedData = await this.model.findOneAndUpdate(
|
81
|
+
{ _id: req.body._id },
|
82
|
+
req.body,
|
83
|
+
{ new: true, runValidators: true }
|
84
|
+
);
|
85
|
+
|
86
|
+
if (!updatedData) {
|
87
|
+
throw new Error('Документ не найден.');
|
88
|
+
}
|
89
|
+
|
90
|
+
await this.cache.flush();
|
91
|
+
res.json(updatedData);
|
92
|
+
} catch (error) {
|
93
|
+
this.logger.error('Ошибка обновления данных', error);
|
94
|
+
res.status(404).json({ error: error.message });
|
95
|
+
}
|
96
|
+
}
|
97
|
+
|
98
|
+
async delete(req, res) {
|
99
|
+
try {
|
100
|
+
const deletedData = await this.model.findOneAndDelete({ _id: req.body._id });
|
101
|
+
|
102
|
+
if (!deletedData) {
|
103
|
+
throw new Error('Документ не найден.');
|
104
|
+
}
|
105
|
+
|
106
|
+
await this.cache.flush();
|
107
|
+
res.status(204).send();
|
108
|
+
} catch (error) {
|
109
|
+
this.logger.error('Ошибка удаления данных', error);
|
110
|
+
res.status(404).json({ error: error.message });
|
111
|
+
}
|
112
|
+
}
|
113
|
+
}
|
114
|
+
|
115
|
+
module.exports = CRUD;
|
@@ -0,0 +1,41 @@
|
|
1
|
+
class Logger {
|
2
|
+
static logModel = null;
|
3
|
+
|
4
|
+
constructor(db) {
|
5
|
+
if (!Logger.logModel) {
|
6
|
+
const logSchema = new db.mongoose.Schema({
|
7
|
+
timestamp: { type: Date, default: Date.now },
|
8
|
+
level: String,
|
9
|
+
message: String,
|
10
|
+
}, { versionKey: false });
|
11
|
+
|
12
|
+
Logger.logModel = db.mongoose.model('Log', logSchema); // Создаем и сохраняем модель лога
|
13
|
+
}
|
14
|
+
this.LogModel = Logger.logModel;
|
15
|
+
}
|
16
|
+
|
17
|
+
async log(level, message) {
|
18
|
+
const logEntry = new Logger.logModel({
|
19
|
+
level,
|
20
|
+
message
|
21
|
+
});
|
22
|
+
|
23
|
+
try {
|
24
|
+
await logEntry.save(); // Сохраняем лог в базу данных
|
25
|
+
console.info(`Logged: ${level} - ${message}`); // Дополнительно выводим информацию в консоль
|
26
|
+
} catch (err) {
|
27
|
+
console.error('Logging error:', err);
|
28
|
+
}
|
29
|
+
}
|
30
|
+
|
31
|
+
// Удобные методы для различных уровней логирования
|
32
|
+
async info(message) {
|
33
|
+
await this.log('info', message);
|
34
|
+
}
|
35
|
+
|
36
|
+
async error(message) {
|
37
|
+
await this.log('error', message);
|
38
|
+
}
|
39
|
+
}
|
40
|
+
|
41
|
+
module.exports = Logger;
|
@@ -0,0 +1,114 @@
|
|
1
|
+
import { reactive } from 'vue';
|
2
|
+
|
3
|
+
// Globals
|
4
|
+
import { setError } from '@pf/src/modules/globals/store/globals'
|
5
|
+
|
6
|
+
class Store {
|
7
|
+
constructor(apiUrl) {
|
8
|
+
this.state = reactive({
|
9
|
+
items: [],
|
10
|
+
current: {}
|
11
|
+
});
|
12
|
+
this.apiUrl = apiUrl;
|
13
|
+
}
|
14
|
+
|
15
|
+
// Simplified request method to avoid repetition and enhance maintainability
|
16
|
+
async request(endpoint, options = {}) {
|
17
|
+
const url = endpoint.startsWith('http') ? endpoint : `${this.apiUrl}${endpoint}`;
|
18
|
+
|
19
|
+
const defaultOptions = {
|
20
|
+
credentials: 'include', // Assumes credentials needed for each request
|
21
|
+
headers: {}
|
22
|
+
};
|
23
|
+
const finalOptions = {
|
24
|
+
...defaultOptions,
|
25
|
+
...options
|
26
|
+
};
|
27
|
+
|
28
|
+
// Set default headers if content type is not explicitly set
|
29
|
+
if (!finalOptions.headers['Content-Type'] && options.body) {
|
30
|
+
finalOptions.headers['Content-Type'] = 'application/json';
|
31
|
+
finalOptions.body = JSON.stringify(options.body);
|
32
|
+
}
|
33
|
+
|
34
|
+
try {
|
35
|
+
const response = await fetch(url, finalOptions);
|
36
|
+
|
37
|
+
if (!response.ok) throw new Error('Network response was not ok');
|
38
|
+
|
39
|
+
return await response.json();
|
40
|
+
|
41
|
+
} catch (error) {
|
42
|
+
console.error(error);
|
43
|
+
setError(error);
|
44
|
+
throw error;
|
45
|
+
}
|
46
|
+
}
|
47
|
+
|
48
|
+
async create(item) {
|
49
|
+
return await this.request('/create', {
|
50
|
+
method: 'POST',
|
51
|
+
body: item
|
52
|
+
});
|
53
|
+
}
|
54
|
+
|
55
|
+
async read(options = {}) {
|
56
|
+
const queryParams = new URLSearchParams(options).toString();
|
57
|
+
return await this.request(`/read?${queryParams}`);
|
58
|
+
}
|
59
|
+
|
60
|
+
async update(item) {
|
61
|
+
return await this.request('/update', {
|
62
|
+
method: 'POST',
|
63
|
+
body: item
|
64
|
+
});
|
65
|
+
}
|
66
|
+
|
67
|
+
async delete(itemId) {
|
68
|
+
return await this.request(`/delete/${itemId}`, {
|
69
|
+
method: 'DELETE'
|
70
|
+
});
|
71
|
+
}
|
72
|
+
|
73
|
+
// Enhanced Mutations utilizing Vue reactivity system efficiently
|
74
|
+
setItems(items, state) {
|
75
|
+
const targetState = state || this.state.items;
|
76
|
+
|
77
|
+
state.splice(0, state.length, ...items);
|
78
|
+
}
|
79
|
+
|
80
|
+
addItem(item, state) {
|
81
|
+
const targetState = state ? state.items : this.state.items;
|
82
|
+
|
83
|
+
const existingItemIndex = targetState.findIndex(i => i._id === item._id);
|
84
|
+
|
85
|
+
if (existingItemIndex === -1) {
|
86
|
+
targetState.push(item);
|
87
|
+
} else {
|
88
|
+
Object.assign(targetState[index], item);
|
89
|
+
}
|
90
|
+
}
|
91
|
+
|
92
|
+
updateItem(item, state) {
|
93
|
+
const targetState = state ? state.items : this.state.items;
|
94
|
+
|
95
|
+
const index = targetState.findIndex(i => i._id === item._id);
|
96
|
+
|
97
|
+
if (index !== -1) {
|
98
|
+
targetState.splice(index, 1, item); // замена найденного элемента обновленным
|
99
|
+
}
|
100
|
+
}
|
101
|
+
|
102
|
+
removeItem(item, state) {
|
103
|
+
const targetState = state ? state.items : this.state.items;
|
104
|
+
|
105
|
+
// Поиск и удаление элемента по его _id
|
106
|
+
const index = targetState.findIndex(i => i._id === item._id);
|
107
|
+
|
108
|
+
if (index !== -1) {
|
109
|
+
targetState.splice(index, 1);
|
110
|
+
}
|
111
|
+
}
|
112
|
+
}
|
113
|
+
|
114
|
+
export default Store;
|
@@ -0,0 +1,14 @@
|
|
1
|
+
<template>
|
2
|
+
<svg xmlns="http://www.w3.org/2000/svg" width="80" height="80" viewBox="0 0 80 80" fill="none">
|
3
|
+
<path :fill="fill" :class="$attrs.class" d="M40.4192 33.6535H40.4231C44.2049 33.6535 47.2716 36.7242 47.2716 40.506C47.2716 44.2917 44.2049 47.3584 40.4192 47.3584C36.6374 47.3584 33.5667 44.2917 33.5667 40.506C33.5667 36.7362 36.6136 33.6774 40.3794 33.6575L40.3913 33.6535H40.3953L40.4192 33.6535ZM56.0983 44.5582H56.1063C57.0835 44.5582 58.0607 44.9316 58.8035 45.6784L68.8299 55.7049C69.4417 56.3166 69.4417 57.3057 68.8339 57.9215H68.8299C68.5241 58.2274 68.1228 58.3783 67.7217 58.3783C67.3244 58.3783 66.9312 58.2313 66.6253 57.9334H66.6174L66.6134 57.9215L56.5909 47.899V47.895C56.4559 47.76 56.2771 47.6925 56.0984 47.6925C55.9315 47.6925 55.7647 47.752 55.6336 47.8752L41.3171 62.1876C41.0112 62.4935 40.61 62.6484 40.2088 62.6484C39.8077 62.6484 39.4104 62.4935 39.1045 62.1916V62.1955L39.1006 62.1876C38.4888 61.5759 38.4888 60.5828 39.1006 59.971L40.9954 58.0761V57.9768L38.8582 55.8396C38.7232 55.7045 38.5484 55.633 38.3696 55.633C38.2028 55.633 38.0359 55.6926 37.9048 55.8158L37.9485 55.8277L37.9009 55.8158L29.3602 64.3564C29.0543 64.6623 28.6491 64.8173 28.2479 64.8173C27.8586 64.8173 27.4613 64.6663 27.1594 64.3763H27.1555L27.1396 64.3565C26.5278 63.7447 26.5278 62.7516 27.1396 62.1398L35.6644 53.619L35.6684 53.611H35.6723C36.3993 52.8881 37.3447 52.5186 38.2981 52.5028H38.314C38.3299 52.4988 38.3537 52.4988 38.3696 52.4988C39.3468 52.4988 40.328 52.8722 41.0748 53.6191L43.212 55.7563L43.3114 55.7602L53.3974 45.6742C54.1283 44.9473 55.0777 44.5739 56.0351 44.5619H56.051H56.047C56.0669 44.5579 56.0825 44.5582 56.0983 44.5582ZM52.6543 8.00019V8.00416H52.6384C52.2967 8.00416 51.9512 8.04786 51.6016 8.13922L7.01895 20.0842C7.00703 20.0882 6.99511 20.0921 6.98319 20.0961L6.97922 20.1001C4.83012 20.696 3.56291 22.9165 4.13891 25.0735L14.0818 62.1837C14.5704 64.0031 16.219 65.2028 18.0146 65.2028C18.1417 65.2028 18.2688 65.1988 18.3959 65.1869L18.4038 29.5066C18.4038 25.975 21.2203 23.099 24.732 23.0037L24.7399 23.0077C24.7955 23.0037 24.8511 22.9998 24.9067 22.9998V23.0037H59.8L56.5903 11.0191C56.1017 9.19968 54.4537 8.00019 52.6543 8.00019ZM24.9071 25.4356H24.8912H24.8713H24.8673C22.6348 25.4595 20.8354 27.2749 20.8354 29.5074V67.9243C20.8354 70.1727 22.6587 71.996 24.9071 72H71.067C73.3154 71.996 75.1348 70.1727 75.1388 67.9243V29.5074C75.1348 27.259 73.3154 25.4356 71.067 25.4356H24.9071Z"/>
|
4
|
+
</svg>
|
5
|
+
</template>
|
6
|
+
|
7
|
+
<script setup>
|
8
|
+
const props = defineProps({
|
9
|
+
fill: {
|
10
|
+
type: String,
|
11
|
+
default: 'rgb(var(--black))'
|
12
|
+
}
|
13
|
+
})
|
14
|
+
</script>
|
@@ -0,0 +1,14 @@
|
|
1
|
+
<template>
|
2
|
+
<svg xmlns="http://www.w3.org/2000/svg" width="80" height="80" viewBox="0 0 80 80" fill="none">
|
3
|
+
<path :fill="fill" :class="$attrs.class" fill-rule="evenodd" clip-rule="evenodd" d="M8.45094 37.2842V58.457L38.8294 75.9966V45.8995L35.7538 51.2271C35.3171 51.9814 34.3507 52.2391 33.5964 51.8023L8.45094 37.2842ZM41.9962 4V22.8185L54.5056 30.0408L70.8026 20.6316L41.9962 4ZM38.8302 22.8219V4L10.0229 20.6316L26.3234 30.0425L38.8302 22.8219ZM31.3351 36.5831L38.255 40.5786L33.8084 48.279L3 30.4911L7.44657 22.7898L31.3351 36.5831ZM40.4098 25.5495L51.3472 31.8637L40.4124 38.1771L29.475 31.862L40.4098 25.5495ZM41.9945 45.8986V76L72.3738 58.4604V37.2842L47.2292 51.8023C46.4749 52.2391 45.5085 51.9814 45.0718 51.2271L41.9945 45.8986ZM73.0715 33.2355L47.0155 48.279L42.5689 40.5778L73.3782 22.7898L77.8247 30.4911L73.0715 33.2355Z" />
|
4
|
+
</svg>
|
5
|
+
</template>
|
6
|
+
|
7
|
+
<script setup>
|
8
|
+
const props = defineProps({
|
9
|
+
fill: {
|
10
|
+
type: String,
|
11
|
+
default: 'rgb(var(--black))'
|
12
|
+
}
|
13
|
+
})
|
14
|
+
</script>
|
@@ -0,0 +1,15 @@
|
|
1
|
+
<template>
|
2
|
+
<svg xmlns="http://www.w3.org/2000/svg" width="80" height="80" viewBox="0 0 80 80" fill="none">
|
3
|
+
<path :fill="fill" :class="$attrs.class" d="M22.8663 7.57143C22.2034 7.57143 21.7143 8.07429 21.7143 8.69143V15.5943C21.7143 15.7426 21.7437 15.8893 21.8008 16.0261C21.858 16.1629 21.9417 16.2869 22.0472 16.3912C22.1526 16.4953 22.2777 16.5775 22.4152 16.633C22.5527 16.6885 22.6997 16.7161 22.848 16.7143H57.152C57.4503 16.7143 57.7366 16.5967 57.9489 16.3871C58.1611 16.1774 58.2821 15.8926 58.2857 15.5943V8.69143C58.2857 8.06514 57.7692 7.57143 57.1337 7.57143H53.7143L49.1429 3H30.8572L26.2857 7.57143H22.8663Z" />
|
4
|
+
<path :fill="fill" :class="$attrs.class" fill-rule="evenodd" clip-rule="evenodd" d="M8 16.6778C8 11.6583 12.0858 7.5862 17.1429 7.57153V19.0229C17.1429 20.3029 18.1851 21.2858 19.4743 21.2858H60.5257C61.8149 21.2858 62.8571 20.2709 62.8571 19.0229V7.57148H62.8297C65.253 7.5642 67.58 8.51922 69.2995 10.2268C71.019 11.9343 71.9903 14.2545 72 16.6778V67.0367C72 72.0652 67.8994 76.1429 62.8297 76.1429H17.1703C14.747 76.1502 12.42 75.1952 10.7005 73.4877C8.98098 71.7802 8.00968 69.4599 8 67.0367V16.6778ZM21.7143 37.2858C21.7143 38.5109 22.7383 39.5715 24 39.5715H56C57.2343 39.5715 58.2857 38.5475 58.2857 37.2858C58.2857 36.0607 57.2617 35.0001 56 35.0001H24C22.7657 35.0001 21.7143 36.0241 21.7143 37.2858ZM21.7143 55.5715C21.7143 56.7967 22.7383 57.8572 24 57.8572H56C57.2343 57.8572 58.2857 56.8332 58.2857 55.5715C58.2857 54.3464 57.2617 53.2858 56 53.2858H24C22.7657 53.2858 21.7143 54.3098 21.7143 55.5715ZM56 44.1429H24C22.7376 44.1429 21.7143 45.1662 21.7143 46.4286C21.7143 47.691 22.7376 48.7143 24 48.7143H56C57.2624 48.7143 58.2857 47.691 58.2857 46.4286C58.2857 45.1662 57.2624 44.1429 56 44.1429Z"/>
|
5
|
+
</svg>
|
6
|
+
</template>
|
7
|
+
|
8
|
+
<script setup>
|
9
|
+
const props = defineProps({
|
10
|
+
fill: {
|
11
|
+
type: String,
|
12
|
+
default: 'rgb(var(--black))'
|
13
|
+
}
|
14
|
+
})
|
15
|
+
</script>
|
@@ -0,0 +1,14 @@
|
|
1
|
+
<template>
|
2
|
+
<svg xmlns="http://www.w3.org/2000/svg" width="80" height="80" viewBox="0 0 80 80" fill="none">
|
3
|
+
<path d="M73 26.6401H62.44L49.84 11.1601C48.76 9.84015 46.96 9.72015 45.64 10.6802C44.32 11.7602 44.2 13.6801 45.16 14.8802L54.64 26.5202H25.36L34.84 14.8802C35.92 13.5601 35.68 11.7602 34.48 10.6802C33.16 9.60015 31.24 9.84015 30.28 11.1601L17.56 26.6401H7C5.32 26.6401 4 27.9601 4 29.6401C4 31.3201 5.32 32.6401 7 32.6401H8.92L13.48 62.5201C14.2 66.9601 17.92 70.2002 22.36 70.2002H57.64C62.08 70.2002 65.92 66.9601 66.52 62.5201L71.08 32.6401H73C74.68 32.6401 76 31.3201 76 29.6401C76 27.9601 74.68 26.6401 73 26.6401ZM25 53.6402V43.0802C25 41.4002 26.32 40.0802 28 40.0802C29.68 40.0802 31 41.4002 31 43.0802V53.6402C31 55.3202 29.68 56.6402 28 56.6402C26.32 56.6402 25 55.2002 25 53.6402ZM37 53.6402V43.0802C37 41.4002 38.32 40.0802 40 40.0802C41.68 40.0802 43 41.4002 43 43.0802V53.6402C43 55.3202 41.68 56.6402 40 56.6402C38.32 56.6402 37 55.2002 37 53.6402ZM55 53.6402C55 55.3202 53.68 56.6402 52 56.6402C50.32 56.6402 49 55.3202 49 53.6402V43.0802C49 41.4002 50.32 40.0802 52 40.0802C53.68 40.0802 55 41.4002 55 43.0802V53.6402Z" :fill="fill" :class="$attrs.class" />
|
4
|
+
</svg>
|
5
|
+
</template>
|
6
|
+
|
7
|
+
<script setup>
|
8
|
+
const props = defineProps({
|
9
|
+
fill: {
|
10
|
+
type: String,
|
11
|
+
default: 'rgb(var(--black))'
|
12
|
+
}
|
13
|
+
})
|
14
|
+
</script>
|
@@ -15,19 +15,19 @@
|
|
15
15
|
|
16
16
|
<div class="mn-b-big gap-medium cols-2">
|
17
17
|
<div class="feature">
|
18
|
-
<
|
18
|
+
<h4 class="mn-b-thin">{{ t('features.instantUpdates.title') }}</h4>
|
19
19
|
<p class="t-transp p-medium">{{ t('features.instantUpdates.text') }}</p>
|
20
20
|
</div>
|
21
21
|
<div class="feature">
|
22
|
-
<
|
22
|
+
<h4 class="mn-b-thin">{{ t('features.locate.title') }}</h4>
|
23
23
|
<p class="t-transp p-medium">{{ t('features.locate.text') }}</p>
|
24
24
|
</div>
|
25
25
|
<div class="feature">
|
26
|
-
<
|
26
|
+
<h4 class="mn-b-thin">{{ t('features.wallet.title') }}</h4>
|
27
27
|
<p class="t-transp p-medium">{{ t('features.wallet.text') }}</p>
|
28
28
|
</div>
|
29
29
|
<div class="feature">
|
30
|
-
<
|
30
|
+
<h4 class="mn-b-thin">{{ t('features.customization.title') }}</h4>
|
31
31
|
<p class="t-transp p-medium">{{ t('features.customization.text') }}</p>
|
32
32
|
</div>
|
33
33
|
</div>
|
@@ -1,5 +1,5 @@
|
|
1
1
|
<template>
|
2
|
-
<div class="z-index-1 pos-relative radius-big bg-black t-white pd-medium flex-v-center flex-nowrap flex">
|
2
|
+
<div class="z-index-1 pos-relative radius-big bg-black t-white pd-medium flex-v-center flex-nowrap flex o-scroll">
|
3
3
|
<!-- <p class="t-semi radius-extra uppercase p-medium mn-r-thin">Filter by</p> -->
|
4
4
|
<Dropdown
|
5
5
|
id="fitlerCategory"
|
@@ -46,7 +46,7 @@
|
|
46
46
|
<Dropdown
|
47
47
|
label="Delivery"
|
48
48
|
id="fitlerDelivery"
|
49
|
-
class="cursor-pointer mn-r-
|
49
|
+
class="cursor-pointer mn-r-small br-solid br-2px br-white pd-thin t-semi radius-extra uppercase p-medium"
|
50
50
|
:class="[
|
51
51
|
store.marketplace.state.filter.delivery.length > 0 ? 'bg-white t-black' : ''
|
52
52
|
]"
|
@@ -64,7 +64,7 @@
|
|
64
64
|
</div>
|
65
65
|
</Dropdown>
|
66
66
|
<!-- Reset filter -->
|
67
|
-
<p class="t-semi radius-extra uppercase p-medium mn-r-thin">Sort by</p>
|
67
|
+
<p class="t-semi radius-extra uppercase p-medium mn-r-thin t-nowrap">Sort by</p>
|
68
68
|
|
69
69
|
<div class="flex-stretch flex-nowrap gap-thin flex">
|
70
70
|
<Select
|
@@ -0,0 +1,33 @@
|
|
1
|
+
/**
|
2
|
+
* @class
|
3
|
+
* @classdesc Контроллер доступа.
|
4
|
+
*/
|
5
|
+
class AccessController {
|
6
|
+
db = null;
|
7
|
+
rule = null;
|
8
|
+
next = null;
|
9
|
+
entity = null;
|
10
|
+
|
11
|
+
/**
|
12
|
+
* @param {String} rule - Права на проверку (read, create, ...)
|
13
|
+
* @param {String} entity - Сущность на проверку (departments, post, ...)
|
14
|
+
*/
|
15
|
+
check(rule, entity) {
|
16
|
+
if (this.rule === rule && this.entity === entity) {
|
17
|
+
return this.access.bind(this);
|
18
|
+
} else if (this.next) {
|
19
|
+
this.next.check(rule, entity);
|
20
|
+
} else {
|
21
|
+
console.error('Неудачная попытка вызова посредника verifyAccesses');
|
22
|
+
console.error('Переданные аргументы:', this.rule, this.entity);
|
23
|
+
|
24
|
+
return async (req, res, next) => {
|
25
|
+
return res
|
26
|
+
.status(403)
|
27
|
+
.send({ message: 'Access Denied. Middleware not founded' });
|
28
|
+
}
|
29
|
+
}
|
30
|
+
}
|
31
|
+
}
|
32
|
+
|
33
|
+
module.exports = AccessController;
|