@ozdao/martyrs 0.2.470 → 0.2.472
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/{Media-CR0V1zvB.js → Media-DW8RLbfM.js} +1 -1
- package/dist/{Media-C4Ges_Sd.mjs → Media-y_TX6us_.mjs} +1 -1
- package/dist/_virtual/index.cjs +1 -1
- package/dist/_virtual/index.js +1 -1
- package/dist/auth.server.js +1 -1
- package/dist/auth.server.mjs +1 -1
- package/dist/chats.server.js +1 -1
- package/dist/chats.server.mjs +1 -1
- package/dist/community.server.js +1 -1
- package/dist/community.server.mjs +1 -1
- package/dist/events.server.js +1 -1
- package/dist/events.server.mjs +1 -1
- 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-DQqZReAr.js → index-CVXl1rB5.js} +0 -1
- package/dist/{index-DICZTQ-1.mjs → index-Df8vtZx7.mjs} +0 -1
- package/dist/{main-CsZAG5Wz.js → main-CCfQH-Dd.js} +2 -2
- package/dist/{main-CTcal9qN.mjs → main-CgmHzhq5.mjs} +74 -74
- package/dist/{node_modules/.pnpm/@vue_server-renderer@3.5.13_vue@3.5.13_typescript@5.8.3_ → martyrs}/node_modules/@vue/server-renderer/dist/server-renderer.esm-bundler.cjs +1 -1
- package/dist/martyrs/node_modules/@vue/server-renderer/dist/server-renderer.esm-bundler.cjs.map +1 -0
- package/dist/{node_modules/.pnpm/@vue_server-renderer@3.5.13_vue@3.5.13_typescript@5.8.3_ → martyrs}/node_modules/@vue/server-renderer/dist/server-renderer.esm-bundler.js +1 -1
- package/dist/martyrs/node_modules/@vue/server-renderer/dist/server-renderer.esm-bundler.js.map +1 -0
- package/dist/martyrs/node_modules/@vue/shared/dist/shared.esm-bundler.cjs.map +1 -0
- package/dist/martyrs/node_modules/@vue/shared/dist/shared.esm-bundler.js.map +1 -0
- package/dist/martyrs/node_modules/uuid/dist/esm-browser/regex.cjs +5 -0
- package/dist/martyrs/node_modules/uuid/dist/esm-browser/regex.cjs.map +1 -0
- package/dist/martyrs/node_modules/uuid/dist/esm-browser/regex.js +5 -0
- package/dist/martyrs/node_modules/uuid/dist/esm-browser/regex.js.map +1 -0
- package/dist/{node_modules/.pnpm/uuid@11.1.0 → martyrs}/node_modules/uuid/dist/esm-browser/rng.cjs +4 -4
- package/dist/martyrs/node_modules/uuid/dist/esm-browser/rng.cjs.map +1 -0
- package/dist/martyrs/node_modules/uuid/dist/esm-browser/rng.js +15 -0
- package/dist/martyrs/node_modules/uuid/dist/esm-browser/rng.js.map +1 -0
- package/dist/martyrs/node_modules/uuid/dist/esm-browser/stringify.cjs +17 -0
- package/dist/martyrs/node_modules/uuid/dist/esm-browser/stringify.cjs.map +1 -0
- package/dist/martyrs/node_modules/uuid/dist/esm-browser/stringify.js +17 -0
- package/dist/martyrs/node_modules/uuid/dist/esm-browser/stringify.js.map +1 -0
- package/dist/martyrs/node_modules/uuid/dist/esm-browser/v4.cjs +13 -0
- package/dist/martyrs/node_modules/uuid/dist/esm-browser/v4.cjs.map +1 -0
- package/dist/martyrs/node_modules/uuid/dist/esm-browser/v4.js +13 -0
- package/dist/martyrs/node_modules/uuid/dist/esm-browser/v4.js.map +1 -0
- package/dist/martyrs/node_modules/uuid/dist/esm-browser/validate.cjs +8 -0
- package/dist/martyrs/node_modules/uuid/dist/esm-browser/validate.cjs.map +1 -0
- package/dist/martyrs/node_modules/uuid/dist/esm-browser/validate.js +8 -0
- package/dist/martyrs/node_modules/uuid/dist/esm-browser/validate.js.map +1 -0
- package/dist/martyrs/src/components/Feed/Feed.vue.cjs +2 -2
- package/dist/martyrs/src/components/Feed/Feed.vue.cjs.map +1 -1
- package/dist/martyrs/src/components/Feed/Feed.vue.js +2 -2
- package/dist/martyrs/src/components/Feed/Feed.vue.js.map +1 -1
- package/dist/martyrs/src/components/Menu/{Menu.vue.cjs → Menu.vue2.cjs} +2 -2
- package/dist/martyrs/src/components/Menu/Menu.vue2.cjs.map +1 -0
- 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/Skeleton/Skeleton.vue.cjs +5 -5
- package/dist/martyrs/src/components/Skeleton/Skeleton.vue.cjs.map +1 -1
- package/dist/martyrs/src/components/Skeleton/Skeleton.vue.js +5 -5
- package/dist/martyrs/src/components/Skeleton/Skeleton.vue.js.map +1 -1
- package/dist/martyrs/src/components/Tab/{Tab.vue2.cjs → Tab.vue.cjs} +2 -2
- package/dist/martyrs/src/components/Tab/{Tab.vue2.js.map → Tab.vue.cjs.map} +1 -1
- package/dist/martyrs/src/components/Tab/{Tab.vue2.js → Tab.vue.js} +2 -2
- package/dist/martyrs/src/components/Tab/Tab.vue.js.map +1 -0
- package/dist/martyrs/src/components/Tree/Tree.vue.cjs +3 -1
- package/dist/martyrs/src/components/Tree/Tree.vue.cjs.map +1 -1
- package/dist/martyrs/src/components/Tree/Tree.vue.js +3 -1
- package/dist/martyrs/src/components/Tree/Tree.vue.js.map +1 -1
- 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.js +1 -1
- package/dist/martyrs/src/modules/auth/views/components/pages/EnterPassword.vue.cjs +1 -1
- package/dist/martyrs/src/modules/auth/views/components/pages/EnterPassword.vue.js +1 -1
- package/dist/martyrs/src/modules/auth/views/components/pages/Invite.vue.cjs +1 -1
- package/dist/martyrs/src/modules/auth/views/components/pages/Invite.vue.js +1 -1
- package/dist/martyrs/src/modules/auth/views/components/pages/Profile.vue.cjs +1 -1
- package/dist/martyrs/src/modules/auth/views/components/pages/Profile.vue.js +1 -1
- package/dist/martyrs/src/modules/auth/views/components/pages/ProfileBlogposts.vue.cjs +1 -1
- package/dist/martyrs/src/modules/auth/views/components/pages/ProfileBlogposts.vue.js +1 -1
- package/dist/martyrs/src/modules/auth/views/components/pages/ProfileEdit.vue.cjs +1 -1
- package/dist/martyrs/src/modules/auth/views/components/pages/ProfileEdit.vue.js +1 -1
- package/dist/martyrs/src/modules/auth/views/components/pages/ResetPassword.vue.cjs +1 -1
- package/dist/martyrs/src/modules/auth/views/components/pages/ResetPassword.vue.js +1 -1
- package/dist/martyrs/src/modules/auth/views/components/pages/SignIn.vue.cjs +1 -1
- package/dist/martyrs/src/modules/auth/views/components/pages/SignIn.vue.js +1 -1
- package/dist/martyrs/src/modules/auth/views/components/pages/SignUp.vue.cjs +1 -1
- package/dist/martyrs/src/modules/auth/views/components/pages/SignUp.vue.js +1 -1
- package/dist/martyrs/src/modules/auth/views/store/auth.cjs +1 -0
- package/dist/martyrs/src/modules/auth/views/store/auth.cjs.map +1 -1
- package/dist/martyrs/src/modules/auth/views/store/auth.js +1 -0
- package/dist/martyrs/src/modules/auth/views/store/auth.js.map +1 -1
- package/dist/martyrs/src/modules/constructor/components/sections/Constructor.vue.cjs +1 -1
- package/dist/martyrs/src/modules/constructor/components/sections/Constructor.vue.js +1 -1
- package/dist/martyrs/src/modules/events/components/pages/EventsBackoffice.vue.cjs +1 -1
- package/dist/martyrs/src/modules/events/components/pages/EventsBackoffice.vue.js +1 -1
- package/dist/martyrs/src/modules/globals/views/classes/globals.store.cjs +107 -21
- package/dist/martyrs/src/modules/globals/views/classes/globals.store.cjs.map +1 -1
- package/dist/martyrs/src/modules/globals/views/classes/globals.store.js +107 -21
- package/dist/martyrs/src/modules/globals/views/classes/globals.store.js.map +1 -1
- package/dist/martyrs/src/modules/globals/views/components/partials/Navigation.vue.cjs +10 -14
- package/dist/martyrs/src/modules/globals/views/components/partials/Navigation.vue.cjs.map +1 -1
- package/dist/martyrs/src/modules/globals/views/components/partials/Navigation.vue.js +12 -16
- package/dist/martyrs/src/modules/globals/views/components/partials/Navigation.vue.js.map +1 -1
- package/dist/martyrs/src/modules/globals/views/components/sections/SectionPageTitle.vue.cjs +1 -1
- package/dist/martyrs/src/modules/globals/views/components/sections/SectionPageTitle.vue.js +1 -1
- package/dist/martyrs/src/modules/globals/views/utils/vue-app-renderer.cjs +7 -13
- package/dist/martyrs/src/modules/globals/views/utils/vue-app-renderer.cjs.map +1 -1
- package/dist/martyrs/src/modules/globals/views/utils/vue-app-renderer.js +7 -13
- package/dist/martyrs/src/modules/globals/views/utils/vue-app-renderer.js.map +1 -1
- package/dist/martyrs/src/modules/orders/components/pages/OrderCreate.vue.cjs +6 -7
- package/dist/martyrs/src/modules/orders/components/pages/OrderCreate.vue.cjs.map +1 -1
- package/dist/martyrs/src/modules/orders/components/pages/OrderCreate.vue.js +7 -8
- package/dist/martyrs/src/modules/orders/components/pages/OrderCreate.vue.js.map +1 -1
- package/dist/martyrs/src/modules/orders/components/pages/OrderCreateBackoffice.vue.cjs +1 -1
- package/dist/martyrs/src/modules/orders/components/pages/OrderCreateBackoffice.vue.js +1 -1
- package/dist/martyrs/src/modules/orders/components/pages/Orders.vue.cjs +1 -1
- package/dist/martyrs/src/modules/orders/components/pages/Orders.vue.js +1 -1
- package/dist/martyrs/src/modules/organizations/components/pages/DepartmentEdit.vue.cjs +1 -1
- package/dist/martyrs/src/modules/organizations/components/pages/DepartmentEdit.vue.js +1 -1
- package/dist/martyrs/src/modules/organizations/components/pages/Members.vue.cjs +2 -2
- package/dist/martyrs/src/modules/organizations/components/pages/Members.vue.js +2 -2
- package/dist/martyrs/src/modules/organizations/components/pages/Organization.vue.cjs +2 -2
- package/dist/martyrs/src/modules/organizations/components/pages/Organization.vue.js +2 -2
- package/dist/martyrs/src/modules/organizations/components/pages/OrganizationBackoffice.vue.cjs +1 -1
- package/dist/martyrs/src/modules/organizations/components/pages/OrganizationBackoffice.vue.js +1 -1
- package/dist/martyrs/src/modules/organizations/components/pages/OrganizationEdit.vue.cjs +1 -1
- package/dist/martyrs/src/modules/organizations/components/pages/OrganizationEdit.vue.js +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.js +1 -1
- package/dist/martyrs/src/modules/organizations/components/sections/Organizations.vue.cjs +1 -1
- package/dist/martyrs/src/modules/organizations/components/sections/Organizations.vue.js +1 -1
- package/dist/martyrs/src/modules/products/components/blocks/CardCategory.vue.cjs +11 -5
- package/dist/martyrs/src/modules/products/components/blocks/CardCategory.vue.cjs.map +1 -1
- package/dist/martyrs/src/modules/products/components/blocks/CardCategory.vue.js +12 -6
- package/dist/martyrs/src/modules/products/components/blocks/CardCategory.vue.js.map +1 -1
- package/dist/martyrs/src/modules/products/components/pages/Categories.vue.cjs +34 -13
- package/dist/martyrs/src/modules/products/components/pages/Categories.vue.cjs.map +1 -1
- package/dist/martyrs/src/modules/products/components/pages/Categories.vue.js +35 -14
- package/dist/martyrs/src/modules/products/components/pages/Categories.vue.js.map +1 -1
- package/dist/martyrs/src/modules/products/components/pages/CategoryEdit.vue.cjs +20 -9
- 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 +21 -10
- package/dist/martyrs/src/modules/products/components/pages/CategoryEdit.vue.js.map +1 -1
- package/dist/martyrs/src/modules/products/components/pages/Leftovers.vue.cjs +1 -1
- package/dist/martyrs/src/modules/products/components/pages/Leftovers.vue.js +1 -1
- package/dist/martyrs/src/modules/products/components/pages/Product.vue.cjs +1 -1
- package/dist/martyrs/src/modules/products/components/pages/Product.vue.js +1 -1
- package/dist/martyrs/src/modules/products/components/pages/ProductEdit.vue.cjs +2 -1
- package/dist/martyrs/src/modules/products/components/pages/ProductEdit.vue.cjs.map +1 -1
- package/dist/martyrs/src/modules/products/components/pages/ProductEdit.vue.js +2 -1
- package/dist/martyrs/src/modules/products/components/pages/ProductEdit.vue.js.map +1 -1
- package/dist/martyrs/src/modules/products/components/pages/Products.vue.cjs +1 -1
- package/dist/martyrs/src/modules/products/components/pages/Products.vue.js +1 -1
- package/dist/martyrs/src/modules/products/components/sections/SectionProduct.vue.cjs +1 -1
- package/dist/martyrs/src/modules/products/components/sections/SectionProduct.vue.js +1 -1
- package/dist/martyrs/src/modules/rents/views/components/pages/GanttChart.vue.cjs +1 -1
- package/dist/martyrs/src/modules/rents/views/components/pages/GanttChart.vue.js +1 -1
- package/dist/martyrs/src/modules/rents/views/components/pages/Rents.vue.cjs +1 -1
- package/dist/martyrs/src/modules/rents/views/components/pages/Rents.vue.js +1 -1
- package/dist/martyrs/src/modules/spots/components/pages/SpotEdit.vue.cjs +1 -1
- package/dist/martyrs/src/modules/spots/components/pages/SpotEdit.vue.js +1 -1
- package/dist/martyrs.cjs.js +1 -1
- package/dist/martyrs.css +1 -1
- package/dist/martyrs.es.js +1 -1
- package/dist/notifications.server.js +35 -2
- package/dist/notifications.server.mjs +35 -2
- package/dist/orders.server.js +3 -3
- package/dist/orders.server.mjs +3 -3
- package/dist/organizations.server.js +1 -1
- package/dist/organizations.server.mjs +1 -1
- package/dist/products.server.js +78 -53
- package/dist/products.server.mjs +78 -53
- package/dist/rents.server.js +1 -1
- package/dist/rents.server.mjs +1 -1
- package/dist/style.css +37 -38
- package/dist/wallet.server.js +1 -1
- package/dist/wallet.server.mjs +1 -1
- package/package.json +2 -1
- package/src/components/Feed/Feed.vue +2 -7
- package/src/components/Skeleton/Skeleton.vue +4 -5
- package/src/components/Tree/Tree.vue +5 -2
- package/src/modules/auth/controllers/middlewares/authJwt.js +1 -1
- package/src/modules/auth/views/store/auth.js +2 -1
- package/src/modules/globals/controllers/classes/globals.crud.js +2 -2
- package/src/modules/globals/views/classes/globals.store.js +119 -31
- package/src/modules/globals/views/components/partials/Navigation.vue +11 -10
- package/src/modules/globals/views/utils/vue-app-renderer.js +7 -16
- package/src/modules/icons/entities/IconMusic.vue +14 -0
- package/src/modules/icons/navigation/IconCheck.vue +31 -0
- package/src/modules/icons/navigation/IconHeart.vue +26 -0
- package/src/modules/icons/navigation/IconPause.vue +31 -0
- package/src/modules/icons/navigation/IconPlay.vue +17 -0
- package/src/modules/icons/navigation/IconRefresh.vue +31 -0
- package/src/modules/icons/navigation/IconShuffle.vue +31 -0
- package/src/modules/icons/navigation/IconVolume.vue +31 -0
- package/src/modules/music/components/SidebarMusic.vue +156 -0
- package/src/modules/music/components/cards/AlbumCard.vue +107 -0
- package/src/modules/music/components/cards/ArtistCard.vue +37 -0
- package/src/modules/music/components/cards/PlaylistCard.vue +100 -0
- package/src/modules/music/components/cards/TrackCard.vue +86 -0
- package/src/modules/music/components/forms/PlaylistForm.vue +156 -0
- package/src/modules/music/components/forms/SearchForm.vue +82 -0
- package/src/modules/music/components/forms/UploadForm.vue +313 -0
- package/src/modules/music/components/layouts/MusicLayout.vue +137 -0
- package/src/modules/music/components/lists/AlbumList.vue +25 -0
- package/src/modules/music/components/lists/ArtistList.vue +25 -0
- package/src/modules/music/components/lists/PlaylistList.vue +25 -0
- package/src/modules/music/components/lists/TrackList.vue +175 -0
- package/src/modules/music/components/pages/AlbumDetail.vue +265 -0
- package/src/modules/music/components/pages/ArtistDetail.vue +247 -0
- package/src/modules/music/components/pages/MusicHome.vue +177 -0
- package/src/modules/music/components/pages/MusicLibrary.vue +192 -0
- package/src/modules/music/components/pages/MusicUpload.vue +44 -0
- package/src/modules/music/components/pages/PlaylistDetail.vue +504 -0
- package/src/modules/music/components/pages/SearchResults.vue +397 -0
- package/src/modules/music/components/pages/TrackDetail.vue +143 -0
- package/src/modules/music/components/player/MusicPlayer.vue +202 -0
- package/src/modules/music/components/player/TrackProgress.vue +110 -0
- package/src/modules/music/components/player/VolumeControl.vue +98 -0
- package/src/modules/music/controllers/album.controller.js +98 -0
- package/src/modules/music/controllers/artist.controller.js +111 -0
- package/src/modules/music/controllers/genre.controller.js +71 -0
- package/src/modules/music/controllers/music.controller.js +174 -0
- package/src/modules/music/controllers/playlist.controller.js +182 -0
- package/src/modules/music/controllers/search.controller.js +103 -0
- package/src/modules/music/controllers/stream.controller.js +106 -0
- package/src/modules/music/models/album.model.js +61 -0
- package/src/modules/music/models/artist.model.js +67 -0
- package/src/modules/music/models/genre.model.js +42 -0
- package/src/modules/music/models/play-history.model.js +51 -0
- package/src/modules/music/models/playlist.model.js +69 -0
- package/src/modules/music/models/track.model.js +94 -0
- package/src/modules/music/music.client.js +186 -0
- package/src/modules/music/music.server.js +114 -0
- package/src/modules/music/policies/music.policies.js +84 -0
- package/src/modules/music/router/music.js +77 -0
- package/src/modules/music/routes/album.routes.js +62 -0
- package/src/modules/music/routes/artist.routes.js +67 -0
- package/src/modules/music/routes/genre.routes.js +60 -0
- package/src/modules/music/routes/music.routes.js +145 -0
- package/src/modules/music/routes/playlist.routes.js +99 -0
- package/src/modules/music/routes/search.routes.js +10 -0
- package/src/modules/music/routes/stream.routes.js +38 -0
- package/src/modules/music/store/albums.js +200 -0
- package/src/modules/music/store/artists.js +180 -0
- package/src/modules/music/store/player.js +397 -0
- package/src/modules/music/store/playlists.js +211 -0
- package/src/modules/music/store/search.js +126 -0
- package/src/modules/music/store/tracks.js +230 -0
- package/src/modules/music/websocket/streaming.handler.js +151 -0
- package/src/modules/notifications/controllers/notifications.controller.js +44 -1
- package/src/modules/notifications/notifications.server.js +0 -1
- package/src/modules/notifications/routes/notifications.routes.js +3 -0
- package/src/modules/orders/components/pages/OrderCreate.vue +0 -2
- package/src/modules/products/components/blocks/CardCategory.vue +5 -4
- package/src/modules/products/components/pages/Categories.vue +38 -20
- package/src/modules/products/components/pages/CategoryEdit.vue +16 -7
- package/src/modules/products/components/pages/ProductEdit.vue +1 -0
- package/src/modules/products/controllers/categories.controller.js +155 -103
- package/dist/martyrs/src/components/Menu/Menu.vue.cjs.map +0 -1
- package/dist/martyrs/src/components/Menu/Menu.vue.js.map +0 -1
- package/dist/martyrs/src/components/Tab/Tab.vue2.cjs.map +0 -1
- package/dist/node_modules/.pnpm/@vue_server-renderer@3.5.13_vue@3.5.13_typescript@5.8.3_/node_modules/@vue/server-renderer/dist/server-renderer.esm-bundler.cjs.map +0 -1
- package/dist/node_modules/.pnpm/@vue_server-renderer@3.5.13_vue@3.5.13_typescript@5.8.3_/node_modules/@vue/server-renderer/dist/server-renderer.esm-bundler.js.map +0 -1
- package/dist/node_modules/.pnpm/@vue_shared@3.5.13/node_modules/@vue/shared/dist/shared.esm-bundler.cjs.map +0 -1
- package/dist/node_modules/.pnpm/@vue_shared@3.5.13/node_modules/@vue/shared/dist/shared.esm-bundler.js.map +0 -1
- package/dist/node_modules/.pnpm/uuid@11.1.0/node_modules/uuid/dist/esm-browser/native.cjs +0 -6
- package/dist/node_modules/.pnpm/uuid@11.1.0/node_modules/uuid/dist/esm-browser/native.cjs.map +0 -1
- package/dist/node_modules/.pnpm/uuid@11.1.0/node_modules/uuid/dist/esm-browser/native.js +0 -6
- package/dist/node_modules/.pnpm/uuid@11.1.0/node_modules/uuid/dist/esm-browser/native.js.map +0 -1
- package/dist/node_modules/.pnpm/uuid@11.1.0/node_modules/uuid/dist/esm-browser/rng.cjs.map +0 -1
- package/dist/node_modules/.pnpm/uuid@11.1.0/node_modules/uuid/dist/esm-browser/rng.js +0 -15
- package/dist/node_modules/.pnpm/uuid@11.1.0/node_modules/uuid/dist/esm-browser/rng.js.map +0 -1
- package/dist/node_modules/.pnpm/uuid@11.1.0/node_modules/uuid/dist/esm-browser/stringify.cjs +0 -11
- package/dist/node_modules/.pnpm/uuid@11.1.0/node_modules/uuid/dist/esm-browser/stringify.cjs.map +0 -1
- package/dist/node_modules/.pnpm/uuid@11.1.0/node_modules/uuid/dist/esm-browser/stringify.js +0 -11
- package/dist/node_modules/.pnpm/uuid@11.1.0/node_modules/uuid/dist/esm-browser/stringify.js.map +0 -1
- package/dist/node_modules/.pnpm/uuid@11.1.0/node_modules/uuid/dist/esm-browser/v4.cjs +0 -21
- package/dist/node_modules/.pnpm/uuid@11.1.0/node_modules/uuid/dist/esm-browser/v4.cjs.map +0 -1
- package/dist/node_modules/.pnpm/uuid@11.1.0/node_modules/uuid/dist/esm-browser/v4.js +0 -21
- package/dist/node_modules/.pnpm/uuid@11.1.0/node_modules/uuid/dist/esm-browser/v4.js.map +0 -1
- /package/dist/{node_modules/.pnpm/@vue_shared@3.5.13 → martyrs}/node_modules/@vue/shared/dist/shared.esm-bundler.cjs +0 -0
- /package/dist/{node_modules/.pnpm/@vue_shared@3.5.13 → martyrs}/node_modules/@vue/shared/dist/shared.esm-bundler.js +0 -0
- /package/dist/{node_modules → martyrs/node_modules}/fast-deep-equal/index.cjs +0 -0
- /package/dist/{node_modules → martyrs/node_modules}/fast-deep-equal/index.cjs.map +0 -0
- /package/dist/{node_modules → martyrs/node_modules}/fast-deep-equal/index.js +0 -0
- /package/dist/{node_modules → martyrs/node_modules}/fast-deep-equal/index.js.map +0 -0
package/dist/martyrs.es.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { a as o, t, b as d, c as r, u as l, v as i, w as p, d as u, x as n, e as m, y as M, F as S, z as c, f as F, A as g, L as h, g as b, M as k, E as x, n as B, o as C, h as T, i as U, S as f, j as w, B as D, C as E, k as I, D as L, l as P, q, p as y, U as A, r as j, s as v, m as z } from "./main-
|
|
1
|
+
import { a as o, t, b as d, c as r, u as l, v as i, w as p, d as u, x as n, e as m, y as M, F as S, z as c, f as F, A as g, L as h, g as b, M as k, E as x, n as B, o as C, h as T, i as U, S as f, j as w, B as D, C as E, k as I, D as L, l as P, q, p as y, U as A, r as j, s as v, m as z } from "./main-CgmHzhq5.mjs";
|
|
2
2
|
import "vue";
|
|
3
3
|
export {
|
|
4
4
|
o as Address,
|
|
@@ -412,6 +412,38 @@ function requireNotifications_controller() {
|
|
|
412
412
|
return res.status(500).json({ message: err.message });
|
|
413
413
|
}
|
|
414
414
|
};
|
|
415
|
+
const markAllAsRead = async (req, res) => {
|
|
416
|
+
try {
|
|
417
|
+
const userId = req.params.userId;
|
|
418
|
+
const result = await db.notification.updateMany(
|
|
419
|
+
{ userId, status: "unread" },
|
|
420
|
+
{ status: "read", updatedAt: Date.now() }
|
|
421
|
+
);
|
|
422
|
+
const updatedNotifications = await db.notification.find({
|
|
423
|
+
userId,
|
|
424
|
+
status: "read",
|
|
425
|
+
updatedAt: { $gte: new Date(Date.now() - 1e4) }
|
|
426
|
+
// Get notifications updated in the last 10 seconds
|
|
427
|
+
});
|
|
428
|
+
const logPromises = updatedNotifications.map((notification) => {
|
|
429
|
+
return db.notificationLog.create({
|
|
430
|
+
notificationId: notification._id,
|
|
431
|
+
userId,
|
|
432
|
+
channelType: "web",
|
|
433
|
+
// Assuming web as default
|
|
434
|
+
status: "read",
|
|
435
|
+
readAt: Date.now()
|
|
436
|
+
});
|
|
437
|
+
});
|
|
438
|
+
await Promise.all(logPromises);
|
|
439
|
+
return res.json({
|
|
440
|
+
message: "All notifications marked as read",
|
|
441
|
+
count: result.modifiedCount
|
|
442
|
+
});
|
|
443
|
+
} catch (err) {
|
|
444
|
+
return res.status(500).json({ message: err.message });
|
|
445
|
+
}
|
|
446
|
+
};
|
|
415
447
|
const registerDevice = async (req, res) => {
|
|
416
448
|
try {
|
|
417
449
|
const { userId, deviceId, deviceType, deviceToken } = req.body;
|
|
@@ -472,7 +504,8 @@ function requireNotifications_controller() {
|
|
|
472
504
|
markAsRead,
|
|
473
505
|
registerDevice,
|
|
474
506
|
updatePreferences,
|
|
475
|
-
getUserPreferences
|
|
507
|
+
getUserPreferences,
|
|
508
|
+
markAllAsRead
|
|
476
509
|
};
|
|
477
510
|
};
|
|
478
511
|
notifications_controller = NotificationsController;
|
|
@@ -488,6 +521,7 @@ function requireNotifications_routes() {
|
|
|
488
521
|
app.get("/api/notifications/user/:userId", controller.getUserNotifications);
|
|
489
522
|
app.post("/api/notifications", controller.create);
|
|
490
523
|
app.put("/api/notifications/:id/read", controller.markAsRead);
|
|
524
|
+
app.put("/api/notifications/user/:userId/read-all", controller.markAllAsRead);
|
|
491
525
|
app.post("/api/notifications/devices/register", controller.registerDevice);
|
|
492
526
|
app.get("/api/notifications/preferences/:userId", controller.getUserPreferences);
|
|
493
527
|
app.put("/api/notifications/preferences", controller.updatePreferences);
|
|
@@ -589,7 +623,6 @@ function requireNotifications_server() {
|
|
|
589
623
|
const NotificationService = requireNotification_service();
|
|
590
624
|
const { getInstance } = globals_abac.requireGlobals_abac();
|
|
591
625
|
function initializeNotifications(app, db, wss, origins, publicPath) {
|
|
592
|
-
console.log("wss init is", wss);
|
|
593
626
|
db.notification = NotificationModel(db);
|
|
594
627
|
db.userDevice = UserDeviceModel(db);
|
|
595
628
|
db.notificationPreference = NotificationPreferenceModel(db);
|
|
@@ -411,6 +411,38 @@ function requireNotifications_controller() {
|
|
|
411
411
|
return res.status(500).json({ message: err.message });
|
|
412
412
|
}
|
|
413
413
|
};
|
|
414
|
+
const markAllAsRead = async (req, res) => {
|
|
415
|
+
try {
|
|
416
|
+
const userId = req.params.userId;
|
|
417
|
+
const result = await db.notification.updateMany(
|
|
418
|
+
{ userId, status: "unread" },
|
|
419
|
+
{ status: "read", updatedAt: Date.now() }
|
|
420
|
+
);
|
|
421
|
+
const updatedNotifications = await db.notification.find({
|
|
422
|
+
userId,
|
|
423
|
+
status: "read",
|
|
424
|
+
updatedAt: { $gte: new Date(Date.now() - 1e4) }
|
|
425
|
+
// Get notifications updated in the last 10 seconds
|
|
426
|
+
});
|
|
427
|
+
const logPromises = updatedNotifications.map((notification) => {
|
|
428
|
+
return db.notificationLog.create({
|
|
429
|
+
notificationId: notification._id,
|
|
430
|
+
userId,
|
|
431
|
+
channelType: "web",
|
|
432
|
+
// Assuming web as default
|
|
433
|
+
status: "read",
|
|
434
|
+
readAt: Date.now()
|
|
435
|
+
});
|
|
436
|
+
});
|
|
437
|
+
await Promise.all(logPromises);
|
|
438
|
+
return res.json({
|
|
439
|
+
message: "All notifications marked as read",
|
|
440
|
+
count: result.modifiedCount
|
|
441
|
+
});
|
|
442
|
+
} catch (err) {
|
|
443
|
+
return res.status(500).json({ message: err.message });
|
|
444
|
+
}
|
|
445
|
+
};
|
|
414
446
|
const registerDevice = async (req, res) => {
|
|
415
447
|
try {
|
|
416
448
|
const { userId, deviceId, deviceType, deviceToken } = req.body;
|
|
@@ -471,7 +503,8 @@ function requireNotifications_controller() {
|
|
|
471
503
|
markAsRead,
|
|
472
504
|
registerDevice,
|
|
473
505
|
updatePreferences,
|
|
474
|
-
getUserPreferences
|
|
506
|
+
getUserPreferences,
|
|
507
|
+
markAllAsRead
|
|
475
508
|
};
|
|
476
509
|
};
|
|
477
510
|
notifications_controller = NotificationsController;
|
|
@@ -487,6 +520,7 @@ function requireNotifications_routes() {
|
|
|
487
520
|
app.get("/api/notifications/user/:userId", controller.getUserNotifications);
|
|
488
521
|
app.post("/api/notifications", controller.create);
|
|
489
522
|
app.put("/api/notifications/:id/read", controller.markAsRead);
|
|
523
|
+
app.put("/api/notifications/user/:userId/read-all", controller.markAllAsRead);
|
|
490
524
|
app.post("/api/notifications/devices/register", controller.registerDevice);
|
|
491
525
|
app.get("/api/notifications/preferences/:userId", controller.getUserPreferences);
|
|
492
526
|
app.put("/api/notifications/preferences", controller.updatePreferences);
|
|
@@ -588,7 +622,6 @@ function requireNotifications_server() {
|
|
|
588
622
|
const NotificationService = requireNotification_service();
|
|
589
623
|
const { getInstance } = requireGlobals_abac();
|
|
590
624
|
function initializeNotifications(app, db, wss, origins, publicPath) {
|
|
591
|
-
console.log("wss init is", wss);
|
|
592
625
|
db.notification = NotificationModel(db);
|
|
593
626
|
db.userDevice = UserDeviceModel(db);
|
|
594
627
|
db.notificationPreference = NotificationPreferenceModel(db);
|
package/dist/orders.server.js
CHANGED
|
@@ -5,7 +5,7 @@ const profile_schema = require("./profile.schema-h61hhB2w.js");
|
|
|
5
5
|
const credentials_schema = require("./credentials.schema-BmOPv6FD.js");
|
|
6
6
|
const queryProcessor = require("./queryProcessor-D6GuKfTV.js");
|
|
7
7
|
const mailing = require("./mailing-D4kWlk3_.js");
|
|
8
|
-
const index = require("./index-
|
|
8
|
+
const index = require("./index-CVXl1rB5.js");
|
|
9
9
|
const require$$0 = require("axios");
|
|
10
10
|
const globals_cache = require("./globals.cache-CwWvNGFQ.js");
|
|
11
11
|
const globals_logger = require("./globals.logger-BdjooLaD.js");
|
|
@@ -784,13 +784,13 @@ function requireGlobals_crud() {
|
|
|
784
784
|
const Cache = globals_cache.requireGlobals_cache();
|
|
785
785
|
const Logger = globals_logger.requireGlobals_logger();
|
|
786
786
|
class CRUD {
|
|
787
|
-
constructor(basePath, app, db, model) {
|
|
787
|
+
constructor(basePath, app, db, model, options) {
|
|
788
788
|
this.model = model;
|
|
789
789
|
this.cache = new Cache();
|
|
790
790
|
this.logger = new Logger(db);
|
|
791
791
|
this.app = app;
|
|
792
792
|
this.basePath = basePath;
|
|
793
|
-
this.registerRoutes();
|
|
793
|
+
if (!options || options && !options.disableDefaultRoutes) this.registerRoutes();
|
|
794
794
|
}
|
|
795
795
|
registerRoutes() {
|
|
796
796
|
this.app.post(`${this.basePath}/create`, this.create.bind(this));
|
package/dist/orders.server.mjs
CHANGED
|
@@ -4,7 +4,7 @@ import { r as requireProfile_schema } from "./profile.schema-kP_zKXNt.mjs";
|
|
|
4
4
|
import { r as requireCredentials_schema } from "./credentials.schema-oOC8B5KL.mjs";
|
|
5
5
|
import { r as requireQueryProcessor } from "./queryProcessor-CWnMIe2U.mjs";
|
|
6
6
|
import { r as requireMailing } from "./mailing-DvCT5ijo.mjs";
|
|
7
|
-
import { r as requireMiddlewares } from "./index-
|
|
7
|
+
import { r as requireMiddlewares } from "./index-Df8vtZx7.mjs";
|
|
8
8
|
import require$$0 from "axios";
|
|
9
9
|
import { r as requireGlobals_cache } from "./globals.cache-BT6q3vOf.mjs";
|
|
10
10
|
import { r as requireGlobals_logger } from "./globals.logger-DusiFsxN.mjs";
|
|
@@ -783,13 +783,13 @@ function requireGlobals_crud() {
|
|
|
783
783
|
const Cache = requireGlobals_cache();
|
|
784
784
|
const Logger = requireGlobals_logger();
|
|
785
785
|
class CRUD {
|
|
786
|
-
constructor(basePath, app, db, model) {
|
|
786
|
+
constructor(basePath, app, db, model, options) {
|
|
787
787
|
this.model = model;
|
|
788
788
|
this.cache = new Cache();
|
|
789
789
|
this.logger = new Logger(db);
|
|
790
790
|
this.app = app;
|
|
791
791
|
this.basePath = basePath;
|
|
792
|
-
this.registerRoutes();
|
|
792
|
+
if (!options || options && !options.disableDefaultRoutes) this.registerRoutes();
|
|
793
793
|
}
|
|
794
794
|
registerRoutes() {
|
|
795
795
|
this.app.post(`${this.basePath}/create`, this.create.bind(this));
|
|
@@ -8,7 +8,7 @@ const require$$1 = require("@googlemaps/google-maps-services-js");
|
|
|
8
8
|
const addMembersQuantity = require("./addMembersQuantity-DxWjHK1K.js");
|
|
9
9
|
const require$$0$2 = require("uuidv4");
|
|
10
10
|
const mailing = require("./mailing-D4kWlk3_.js");
|
|
11
|
-
const index = require("./index-
|
|
11
|
+
const index = require("./index-CVXl1rB5.js");
|
|
12
12
|
const globals_abac = require("./globals.abac-DT0VjfaZ.js");
|
|
13
13
|
const engagement_schema = require("./engagement.schema-DAiXsvh1.js");
|
|
14
14
|
const ownership_schema = require("./ownership.schema-Ck2H9clB.js");
|
|
@@ -7,7 +7,7 @@ import require$$1 from "@googlemaps/google-maps-services-js";
|
|
|
7
7
|
import { r as requireAddUserStatusFields, a as requireAddMembersQuantity } from "./addMembersQuantity-DBfuUEx_.mjs";
|
|
8
8
|
import require$$0$2 from "uuidv4";
|
|
9
9
|
import { r as requireMailing } from "./mailing-DvCT5ijo.mjs";
|
|
10
|
-
import { r as requireMiddlewares } from "./index-
|
|
10
|
+
import { r as requireMiddlewares } from "./index-Df8vtZx7.mjs";
|
|
11
11
|
import { r as requireGlobals_abac } from "./globals.abac-CvmZM8XG.mjs";
|
|
12
12
|
import { r as requireEngagement_schema } from "./engagement.schema-DnDD7Bn3.mjs";
|
|
13
13
|
import { r as requireOwnership_schema } from "./ownership.schema-C0w02Vw1.mjs";
|
package/dist/products.server.js
CHANGED
|
@@ -636,48 +636,57 @@ function requireCategories_controller() {
|
|
|
636
636
|
return {
|
|
637
637
|
async read(req, res) {
|
|
638
638
|
try {
|
|
639
|
-
let
|
|
640
|
-
const
|
|
641
|
-
|
|
642
|
-
|
|
643
|
-
|
|
644
|
-
...item,
|
|
639
|
+
let buildAdjacencyTree = function(categories, sortParam2, sortOrder2) {
|
|
640
|
+
const categoryMap = /* @__PURE__ */ new Map();
|
|
641
|
+
categories.forEach((category) => {
|
|
642
|
+
categoryMap.set(category._id.toString(), {
|
|
643
|
+
...category,
|
|
645
644
|
children: []
|
|
646
|
-
};
|
|
645
|
+
});
|
|
647
646
|
});
|
|
648
|
-
|
|
649
|
-
|
|
650
|
-
const
|
|
651
|
-
if (
|
|
652
|
-
|
|
653
|
-
|
|
654
|
-
|
|
647
|
+
const rootCategories = [];
|
|
648
|
+
categories.forEach((category) => {
|
|
649
|
+
const categoryWithChildren = categoryMap.get(category._id.toString());
|
|
650
|
+
if (category.parent && categoryMap.has(category.parent.toString())) {
|
|
651
|
+
const parentCategory = categoryMap.get(category.parent.toString());
|
|
652
|
+
parentCategory.children.push(categoryWithChildren);
|
|
653
|
+
} else if (!category.parent) {
|
|
654
|
+
rootCategories.push(categoryWithChildren);
|
|
655
655
|
}
|
|
656
656
|
});
|
|
657
|
-
|
|
658
|
-
|
|
659
|
-
|
|
660
|
-
return orderA - orderB;
|
|
661
|
-
};
|
|
662
|
-
const sortChildren = (node) => {
|
|
663
|
-
if (node.children && node.children.length > 0) {
|
|
664
|
-
node.children.sort(sortByOrder);
|
|
665
|
-
node.children.forEach(sortChildren);
|
|
657
|
+
function sortCategories(nodes) {
|
|
658
|
+
if (!nodes || nodes.length === 0) {
|
|
659
|
+
return nodes;
|
|
666
660
|
}
|
|
667
|
-
|
|
668
|
-
|
|
669
|
-
|
|
670
|
-
|
|
661
|
+
nodes.sort((a, b) => {
|
|
662
|
+
const valueA = a[sortParam2] ?? (sortParam2 === "order" ? Number.MAX_SAFE_INTEGER : "");
|
|
663
|
+
const valueB = b[sortParam2] ?? (sortParam2 === "order" ? Number.MAX_SAFE_INTEGER : "");
|
|
664
|
+
if (typeof valueA === "number" && typeof valueB === "number") {
|
|
665
|
+
return sortOrder2 === "asc" ? valueA - valueB : valueB - valueA;
|
|
666
|
+
} else {
|
|
667
|
+
const stringA = String(valueA);
|
|
668
|
+
const stringB = String(valueB);
|
|
669
|
+
return sortOrder2 === "asc" ? stringA.localeCompare(stringB) : stringB.localeCompare(stringA);
|
|
670
|
+
}
|
|
671
|
+
});
|
|
672
|
+
nodes.forEach((node) => {
|
|
673
|
+
if (node.children && node.children.length > 0) {
|
|
674
|
+
sortCategories(node.children);
|
|
675
|
+
}
|
|
676
|
+
});
|
|
677
|
+
return nodes;
|
|
678
|
+
}
|
|
679
|
+
return sortCategories(rootCategories);
|
|
671
680
|
};
|
|
672
|
-
|
|
681
|
+
let {
|
|
673
682
|
parent,
|
|
674
683
|
url,
|
|
675
684
|
search,
|
|
676
|
-
|
|
677
|
-
|
|
685
|
+
sortParam = "order",
|
|
686
|
+
sortOrder = "asc",
|
|
678
687
|
skip = 0,
|
|
679
688
|
limit = 10,
|
|
680
|
-
excludeChildren =
|
|
689
|
+
excludeChildren = "true",
|
|
681
690
|
rootOnly = false
|
|
682
691
|
} = req.query;
|
|
683
692
|
const matchStage = {
|
|
@@ -685,11 +694,18 @@ function requireCategories_controller() {
|
|
|
685
694
|
...req.query.url && { url: req.query.url },
|
|
686
695
|
...search && { name: { $regex: search, $options: "i" } },
|
|
687
696
|
...parent ? { parent: new db.mongoose.Types.ObjectId(parent) } : {},
|
|
688
|
-
...rootOnly === true ? { parent: null } : {}
|
|
697
|
+
...rootOnly === "true" && !search ? { parent: null } : {}
|
|
689
698
|
};
|
|
699
|
+
console.log("matchStage", matchStage);
|
|
700
|
+
if (search) excludeChildren = "true";
|
|
690
701
|
const pipeline = [
|
|
691
702
|
{ $match: matchStage },
|
|
692
|
-
{
|
|
703
|
+
{ $sort: { [sortParam]: sortOrder === "asc" ? 1 : -1 } },
|
|
704
|
+
{ $skip: Number(skip) },
|
|
705
|
+
{ $limit: Number(limit) }
|
|
706
|
+
];
|
|
707
|
+
if (excludeChildren !== "true") {
|
|
708
|
+
pipeline.push({
|
|
693
709
|
$graphLookup: {
|
|
694
710
|
from: "categories",
|
|
695
711
|
startWith: "$_id",
|
|
@@ -698,24 +714,36 @@ function requireCategories_controller() {
|
|
|
698
714
|
as: "allDescendants",
|
|
699
715
|
maxDepth: 10
|
|
700
716
|
}
|
|
701
|
-
}
|
|
702
|
-
|
|
703
|
-
|
|
704
|
-
|
|
705
|
-
|
|
706
|
-
|
|
707
|
-
|
|
708
|
-
|
|
709
|
-
|
|
710
|
-
|
|
711
|
-
|
|
712
|
-
|
|
713
|
-
|
|
714
|
-
|
|
715
|
-
|
|
716
|
-
|
|
717
|
+
});
|
|
718
|
+
}
|
|
719
|
+
const results = await Category.aggregate(pipeline);
|
|
720
|
+
if (excludeChildren === "true") {
|
|
721
|
+
console.log(results);
|
|
722
|
+
res.status(200).json(results);
|
|
723
|
+
return;
|
|
724
|
+
}
|
|
725
|
+
const allCategories = [];
|
|
726
|
+
results.forEach((doc) => {
|
|
727
|
+
const category = { ...doc };
|
|
728
|
+
delete category.allDescendants;
|
|
729
|
+
allCategories.push(category);
|
|
730
|
+
if (doc.allDescendants && doc.allDescendants.length > 0) {
|
|
731
|
+
allCategories.push(...doc.allDescendants);
|
|
732
|
+
}
|
|
717
733
|
});
|
|
718
|
-
|
|
734
|
+
const uniqueCategories = Array.from(
|
|
735
|
+
new Map(allCategories.map((item) => [item._id.toString(), item])).values()
|
|
736
|
+
);
|
|
737
|
+
const tree = buildAdjacencyTree(uniqueCategories, sortParam, sortOrder);
|
|
738
|
+
if (rootOnly === "true") {
|
|
739
|
+
res.json(tree);
|
|
740
|
+
} else {
|
|
741
|
+
const requestedCategoryIds = results.map((r) => r._id.toString());
|
|
742
|
+
const filteredTree = tree.filter(
|
|
743
|
+
(category) => requestedCategoryIds.includes(category._id.toString())
|
|
744
|
+
);
|
|
745
|
+
res.status(200).json(filteredTree);
|
|
746
|
+
}
|
|
719
747
|
} catch (err) {
|
|
720
748
|
res.status(500).json({ message: err.message });
|
|
721
749
|
}
|
|
@@ -748,7 +776,6 @@ function requireCategories_controller() {
|
|
|
748
776
|
},
|
|
749
777
|
async update(req, res) {
|
|
750
778
|
try {
|
|
751
|
-
console.log(req.body);
|
|
752
779
|
const category = req.body;
|
|
753
780
|
if (!category || !category._id) {
|
|
754
781
|
return res.status(400).json({ message: "Category ID is required" });
|
|
@@ -768,7 +795,6 @@ function requireCategories_controller() {
|
|
|
768
795
|
}
|
|
769
796
|
},
|
|
770
797
|
async updateOrder(req, res) {
|
|
771
|
-
console.log(req.body);
|
|
772
798
|
try {
|
|
773
799
|
const { categories } = req.body;
|
|
774
800
|
const bulkOps = categories.map((category) => ({
|
|
@@ -784,7 +810,6 @@ function requireCategories_controller() {
|
|
|
784
810
|
}));
|
|
785
811
|
await Category.bulkWrite(bulkOps);
|
|
786
812
|
const updatedCategories = await Category.find().sort({ order: "asc" }).lean();
|
|
787
|
-
console.log(updatedCategories);
|
|
788
813
|
res.status(200).json(updatedCategories);
|
|
789
814
|
} catch (err) {
|
|
790
815
|
console.error("Category update error:", err);
|
package/dist/products.server.mjs
CHANGED
|
@@ -635,48 +635,57 @@ function requireCategories_controller() {
|
|
|
635
635
|
return {
|
|
636
636
|
async read(req, res) {
|
|
637
637
|
try {
|
|
638
|
-
let
|
|
639
|
-
const
|
|
640
|
-
|
|
641
|
-
|
|
642
|
-
|
|
643
|
-
...item,
|
|
638
|
+
let buildAdjacencyTree = function(categories, sortParam2, sortOrder2) {
|
|
639
|
+
const categoryMap = /* @__PURE__ */ new Map();
|
|
640
|
+
categories.forEach((category) => {
|
|
641
|
+
categoryMap.set(category._id.toString(), {
|
|
642
|
+
...category,
|
|
644
643
|
children: []
|
|
645
|
-
};
|
|
644
|
+
});
|
|
646
645
|
});
|
|
647
|
-
|
|
648
|
-
|
|
649
|
-
const
|
|
650
|
-
if (
|
|
651
|
-
|
|
652
|
-
|
|
653
|
-
|
|
646
|
+
const rootCategories = [];
|
|
647
|
+
categories.forEach((category) => {
|
|
648
|
+
const categoryWithChildren = categoryMap.get(category._id.toString());
|
|
649
|
+
if (category.parent && categoryMap.has(category.parent.toString())) {
|
|
650
|
+
const parentCategory = categoryMap.get(category.parent.toString());
|
|
651
|
+
parentCategory.children.push(categoryWithChildren);
|
|
652
|
+
} else if (!category.parent) {
|
|
653
|
+
rootCategories.push(categoryWithChildren);
|
|
654
654
|
}
|
|
655
655
|
});
|
|
656
|
-
|
|
657
|
-
|
|
658
|
-
|
|
659
|
-
return orderA - orderB;
|
|
660
|
-
};
|
|
661
|
-
const sortChildren = (node) => {
|
|
662
|
-
if (node.children && node.children.length > 0) {
|
|
663
|
-
node.children.sort(sortByOrder);
|
|
664
|
-
node.children.forEach(sortChildren);
|
|
656
|
+
function sortCategories(nodes) {
|
|
657
|
+
if (!nodes || nodes.length === 0) {
|
|
658
|
+
return nodes;
|
|
665
659
|
}
|
|
666
|
-
|
|
667
|
-
|
|
668
|
-
|
|
669
|
-
|
|
660
|
+
nodes.sort((a, b) => {
|
|
661
|
+
const valueA = a[sortParam2] ?? (sortParam2 === "order" ? Number.MAX_SAFE_INTEGER : "");
|
|
662
|
+
const valueB = b[sortParam2] ?? (sortParam2 === "order" ? Number.MAX_SAFE_INTEGER : "");
|
|
663
|
+
if (typeof valueA === "number" && typeof valueB === "number") {
|
|
664
|
+
return sortOrder2 === "asc" ? valueA - valueB : valueB - valueA;
|
|
665
|
+
} else {
|
|
666
|
+
const stringA = String(valueA);
|
|
667
|
+
const stringB = String(valueB);
|
|
668
|
+
return sortOrder2 === "asc" ? stringA.localeCompare(stringB) : stringB.localeCompare(stringA);
|
|
669
|
+
}
|
|
670
|
+
});
|
|
671
|
+
nodes.forEach((node) => {
|
|
672
|
+
if (node.children && node.children.length > 0) {
|
|
673
|
+
sortCategories(node.children);
|
|
674
|
+
}
|
|
675
|
+
});
|
|
676
|
+
return nodes;
|
|
677
|
+
}
|
|
678
|
+
return sortCategories(rootCategories);
|
|
670
679
|
};
|
|
671
|
-
|
|
680
|
+
let {
|
|
672
681
|
parent,
|
|
673
682
|
url,
|
|
674
683
|
search,
|
|
675
|
-
|
|
676
|
-
|
|
684
|
+
sortParam = "order",
|
|
685
|
+
sortOrder = "asc",
|
|
677
686
|
skip = 0,
|
|
678
687
|
limit = 10,
|
|
679
|
-
excludeChildren =
|
|
688
|
+
excludeChildren = "true",
|
|
680
689
|
rootOnly = false
|
|
681
690
|
} = req.query;
|
|
682
691
|
const matchStage = {
|
|
@@ -684,11 +693,18 @@ function requireCategories_controller() {
|
|
|
684
693
|
...req.query.url && { url: req.query.url },
|
|
685
694
|
...search && { name: { $regex: search, $options: "i" } },
|
|
686
695
|
...parent ? { parent: new db.mongoose.Types.ObjectId(parent) } : {},
|
|
687
|
-
...rootOnly === true ? { parent: null } : {}
|
|
696
|
+
...rootOnly === "true" && !search ? { parent: null } : {}
|
|
688
697
|
};
|
|
698
|
+
console.log("matchStage", matchStage);
|
|
699
|
+
if (search) excludeChildren = "true";
|
|
689
700
|
const pipeline = [
|
|
690
701
|
{ $match: matchStage },
|
|
691
|
-
{
|
|
702
|
+
{ $sort: { [sortParam]: sortOrder === "asc" ? 1 : -1 } },
|
|
703
|
+
{ $skip: Number(skip) },
|
|
704
|
+
{ $limit: Number(limit) }
|
|
705
|
+
];
|
|
706
|
+
if (excludeChildren !== "true") {
|
|
707
|
+
pipeline.push({
|
|
692
708
|
$graphLookup: {
|
|
693
709
|
from: "categories",
|
|
694
710
|
startWith: "$_id",
|
|
@@ -697,24 +713,36 @@ function requireCategories_controller() {
|
|
|
697
713
|
as: "allDescendants",
|
|
698
714
|
maxDepth: 10
|
|
699
715
|
}
|
|
700
|
-
}
|
|
701
|
-
|
|
702
|
-
|
|
703
|
-
|
|
704
|
-
|
|
705
|
-
|
|
706
|
-
|
|
707
|
-
|
|
708
|
-
|
|
709
|
-
|
|
710
|
-
|
|
711
|
-
|
|
712
|
-
|
|
713
|
-
|
|
714
|
-
|
|
715
|
-
|
|
716
|
+
});
|
|
717
|
+
}
|
|
718
|
+
const results = await Category.aggregate(pipeline);
|
|
719
|
+
if (excludeChildren === "true") {
|
|
720
|
+
console.log(results);
|
|
721
|
+
res.status(200).json(results);
|
|
722
|
+
return;
|
|
723
|
+
}
|
|
724
|
+
const allCategories = [];
|
|
725
|
+
results.forEach((doc) => {
|
|
726
|
+
const category = { ...doc };
|
|
727
|
+
delete category.allDescendants;
|
|
728
|
+
allCategories.push(category);
|
|
729
|
+
if (doc.allDescendants && doc.allDescendants.length > 0) {
|
|
730
|
+
allCategories.push(...doc.allDescendants);
|
|
731
|
+
}
|
|
716
732
|
});
|
|
717
|
-
|
|
733
|
+
const uniqueCategories = Array.from(
|
|
734
|
+
new Map(allCategories.map((item) => [item._id.toString(), item])).values()
|
|
735
|
+
);
|
|
736
|
+
const tree = buildAdjacencyTree(uniqueCategories, sortParam, sortOrder);
|
|
737
|
+
if (rootOnly === "true") {
|
|
738
|
+
res.json(tree);
|
|
739
|
+
} else {
|
|
740
|
+
const requestedCategoryIds = results.map((r) => r._id.toString());
|
|
741
|
+
const filteredTree = tree.filter(
|
|
742
|
+
(category) => requestedCategoryIds.includes(category._id.toString())
|
|
743
|
+
);
|
|
744
|
+
res.status(200).json(filteredTree);
|
|
745
|
+
}
|
|
718
746
|
} catch (err) {
|
|
719
747
|
res.status(500).json({ message: err.message });
|
|
720
748
|
}
|
|
@@ -747,7 +775,6 @@ function requireCategories_controller() {
|
|
|
747
775
|
},
|
|
748
776
|
async update(req, res) {
|
|
749
777
|
try {
|
|
750
|
-
console.log(req.body);
|
|
751
778
|
const category = req.body;
|
|
752
779
|
if (!category || !category._id) {
|
|
753
780
|
return res.status(400).json({ message: "Category ID is required" });
|
|
@@ -767,7 +794,6 @@ function requireCategories_controller() {
|
|
|
767
794
|
}
|
|
768
795
|
},
|
|
769
796
|
async updateOrder(req, res) {
|
|
770
|
-
console.log(req.body);
|
|
771
797
|
try {
|
|
772
798
|
const { categories } = req.body;
|
|
773
799
|
const bulkOps = categories.map((category) => ({
|
|
@@ -783,7 +809,6 @@ function requireCategories_controller() {
|
|
|
783
809
|
}));
|
|
784
810
|
await Category.bulkWrite(bulkOps);
|
|
785
811
|
const updatedCategories = await Category.find().sort({ order: "asc" }).lean();
|
|
786
|
-
console.log(updatedCategories);
|
|
787
812
|
res.status(200).json(updatedCategories);
|
|
788
813
|
} catch (err) {
|
|
789
814
|
console.error("Category update error:", err);
|
package/dist/rents.server.js
CHANGED
|
@@ -4,7 +4,7 @@ const globals_verifier = require("./globals.verifier-ChDpCdy_.js");
|
|
|
4
4
|
const globals_cache = require("./globals.cache-CwWvNGFQ.js");
|
|
5
5
|
const globals_logger = require("./globals.logger-BdjooLaD.js");
|
|
6
6
|
const queryProcessor = require("./queryProcessor-D6GuKfTV.js");
|
|
7
|
-
const index = require("./index-
|
|
7
|
+
const index = require("./index-CVXl1rB5.js");
|
|
8
8
|
const globals_abac = require("./globals.abac-DT0VjfaZ.js");
|
|
9
9
|
var rents_services;
|
|
10
10
|
var hasRequiredRents_services;
|
package/dist/rents.server.mjs
CHANGED
|
@@ -3,7 +3,7 @@ import { a as requireGlobals_validator, r as requireGlobals_verifier } from "./g
|
|
|
3
3
|
import { r as requireGlobals_cache } from "./globals.cache-BT6q3vOf.mjs";
|
|
4
4
|
import { r as requireGlobals_logger } from "./globals.logger-DusiFsxN.mjs";
|
|
5
5
|
import { r as requireQueryProcessor } from "./queryProcessor-CWnMIe2U.mjs";
|
|
6
|
-
import { r as requireMiddlewares } from "./index-
|
|
6
|
+
import { r as requireMiddlewares } from "./index-Df8vtZx7.mjs";
|
|
7
7
|
import { r as requireGlobals_abac } from "./globals.abac-CvmZM8XG.mjs";
|
|
8
8
|
var rents_services;
|
|
9
9
|
var hasRequiredRents_services;
|