@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.
Files changed (284) hide show
  1. package/dist/{Media-CR0V1zvB.js → Media-DW8RLbfM.js} +1 -1
  2. package/dist/{Media-C4Ges_Sd.mjs → Media-y_TX6us_.mjs} +1 -1
  3. package/dist/_virtual/index.cjs +1 -1
  4. package/dist/_virtual/index.js +1 -1
  5. package/dist/auth.server.js +1 -1
  6. package/dist/auth.server.mjs +1 -1
  7. package/dist/chats.server.js +1 -1
  8. package/dist/chats.server.mjs +1 -1
  9. package/dist/community.server.js +1 -1
  10. package/dist/community.server.mjs +1 -1
  11. package/dist/events.server.js +1 -1
  12. package/dist/events.server.mjs +1 -1
  13. package/dist/files.server.js +1 -1
  14. package/dist/files.server.mjs +1 -1
  15. package/dist/gallery.server.js +1 -1
  16. package/dist/gallery.server.mjs +1 -1
  17. package/dist/{index-DQqZReAr.js → index-CVXl1rB5.js} +0 -1
  18. package/dist/{index-DICZTQ-1.mjs → index-Df8vtZx7.mjs} +0 -1
  19. package/dist/{main-CsZAG5Wz.js → main-CCfQH-Dd.js} +2 -2
  20. package/dist/{main-CTcal9qN.mjs → main-CgmHzhq5.mjs} +74 -74
  21. 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
  22. package/dist/martyrs/node_modules/@vue/server-renderer/dist/server-renderer.esm-bundler.cjs.map +1 -0
  23. 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
  24. package/dist/martyrs/node_modules/@vue/server-renderer/dist/server-renderer.esm-bundler.js.map +1 -0
  25. package/dist/martyrs/node_modules/@vue/shared/dist/shared.esm-bundler.cjs.map +1 -0
  26. package/dist/martyrs/node_modules/@vue/shared/dist/shared.esm-bundler.js.map +1 -0
  27. package/dist/martyrs/node_modules/uuid/dist/esm-browser/regex.cjs +5 -0
  28. package/dist/martyrs/node_modules/uuid/dist/esm-browser/regex.cjs.map +1 -0
  29. package/dist/martyrs/node_modules/uuid/dist/esm-browser/regex.js +5 -0
  30. package/dist/martyrs/node_modules/uuid/dist/esm-browser/regex.js.map +1 -0
  31. package/dist/{node_modules/.pnpm/uuid@11.1.0 → martyrs}/node_modules/uuid/dist/esm-browser/rng.cjs +4 -4
  32. package/dist/martyrs/node_modules/uuid/dist/esm-browser/rng.cjs.map +1 -0
  33. package/dist/martyrs/node_modules/uuid/dist/esm-browser/rng.js +15 -0
  34. package/dist/martyrs/node_modules/uuid/dist/esm-browser/rng.js.map +1 -0
  35. package/dist/martyrs/node_modules/uuid/dist/esm-browser/stringify.cjs +17 -0
  36. package/dist/martyrs/node_modules/uuid/dist/esm-browser/stringify.cjs.map +1 -0
  37. package/dist/martyrs/node_modules/uuid/dist/esm-browser/stringify.js +17 -0
  38. package/dist/martyrs/node_modules/uuid/dist/esm-browser/stringify.js.map +1 -0
  39. package/dist/martyrs/node_modules/uuid/dist/esm-browser/v4.cjs +13 -0
  40. package/dist/martyrs/node_modules/uuid/dist/esm-browser/v4.cjs.map +1 -0
  41. package/dist/martyrs/node_modules/uuid/dist/esm-browser/v4.js +13 -0
  42. package/dist/martyrs/node_modules/uuid/dist/esm-browser/v4.js.map +1 -0
  43. package/dist/martyrs/node_modules/uuid/dist/esm-browser/validate.cjs +8 -0
  44. package/dist/martyrs/node_modules/uuid/dist/esm-browser/validate.cjs.map +1 -0
  45. package/dist/martyrs/node_modules/uuid/dist/esm-browser/validate.js +8 -0
  46. package/dist/martyrs/node_modules/uuid/dist/esm-browser/validate.js.map +1 -0
  47. package/dist/martyrs/src/components/Feed/Feed.vue.cjs +2 -2
  48. package/dist/martyrs/src/components/Feed/Feed.vue.cjs.map +1 -1
  49. package/dist/martyrs/src/components/Feed/Feed.vue.js +2 -2
  50. package/dist/martyrs/src/components/Feed/Feed.vue.js.map +1 -1
  51. package/dist/martyrs/src/components/Menu/{Menu.vue.cjs → Menu.vue2.cjs} +2 -2
  52. package/dist/martyrs/src/components/Menu/Menu.vue2.cjs.map +1 -0
  53. package/dist/martyrs/src/components/Menu/{Menu.vue.js → Menu.vue2.js} +2 -2
  54. package/dist/martyrs/src/components/Menu/Menu.vue2.js.map +1 -0
  55. package/dist/martyrs/src/components/Skeleton/Skeleton.vue.cjs +5 -5
  56. package/dist/martyrs/src/components/Skeleton/Skeleton.vue.cjs.map +1 -1
  57. package/dist/martyrs/src/components/Skeleton/Skeleton.vue.js +5 -5
  58. package/dist/martyrs/src/components/Skeleton/Skeleton.vue.js.map +1 -1
  59. package/dist/martyrs/src/components/Tab/{Tab.vue2.cjs → Tab.vue.cjs} +2 -2
  60. package/dist/martyrs/src/components/Tab/{Tab.vue2.js.map → Tab.vue.cjs.map} +1 -1
  61. package/dist/martyrs/src/components/Tab/{Tab.vue2.js → Tab.vue.js} +2 -2
  62. package/dist/martyrs/src/components/Tab/Tab.vue.js.map +1 -0
  63. package/dist/martyrs/src/components/Tree/Tree.vue.cjs +3 -1
  64. package/dist/martyrs/src/components/Tree/Tree.vue.cjs.map +1 -1
  65. package/dist/martyrs/src/components/Tree/Tree.vue.js +3 -1
  66. package/dist/martyrs/src/components/Tree/Tree.vue.js.map +1 -1
  67. package/dist/martyrs/src/modules/auth/views/components/layouts/Auth.vue.cjs +1 -1
  68. package/dist/martyrs/src/modules/auth/views/components/layouts/Auth.vue.js +1 -1
  69. package/dist/martyrs/src/modules/auth/views/components/pages/EnterPassword.vue.cjs +1 -1
  70. package/dist/martyrs/src/modules/auth/views/components/pages/EnterPassword.vue.js +1 -1
  71. package/dist/martyrs/src/modules/auth/views/components/pages/Invite.vue.cjs +1 -1
  72. package/dist/martyrs/src/modules/auth/views/components/pages/Invite.vue.js +1 -1
  73. package/dist/martyrs/src/modules/auth/views/components/pages/Profile.vue.cjs +1 -1
  74. package/dist/martyrs/src/modules/auth/views/components/pages/Profile.vue.js +1 -1
  75. package/dist/martyrs/src/modules/auth/views/components/pages/ProfileBlogposts.vue.cjs +1 -1
  76. package/dist/martyrs/src/modules/auth/views/components/pages/ProfileBlogposts.vue.js +1 -1
  77. package/dist/martyrs/src/modules/auth/views/components/pages/ProfileEdit.vue.cjs +1 -1
  78. package/dist/martyrs/src/modules/auth/views/components/pages/ProfileEdit.vue.js +1 -1
  79. package/dist/martyrs/src/modules/auth/views/components/pages/ResetPassword.vue.cjs +1 -1
  80. package/dist/martyrs/src/modules/auth/views/components/pages/ResetPassword.vue.js +1 -1
  81. package/dist/martyrs/src/modules/auth/views/components/pages/SignIn.vue.cjs +1 -1
  82. package/dist/martyrs/src/modules/auth/views/components/pages/SignIn.vue.js +1 -1
  83. package/dist/martyrs/src/modules/auth/views/components/pages/SignUp.vue.cjs +1 -1
  84. package/dist/martyrs/src/modules/auth/views/components/pages/SignUp.vue.js +1 -1
  85. package/dist/martyrs/src/modules/auth/views/store/auth.cjs +1 -0
  86. package/dist/martyrs/src/modules/auth/views/store/auth.cjs.map +1 -1
  87. package/dist/martyrs/src/modules/auth/views/store/auth.js +1 -0
  88. package/dist/martyrs/src/modules/auth/views/store/auth.js.map +1 -1
  89. package/dist/martyrs/src/modules/constructor/components/sections/Constructor.vue.cjs +1 -1
  90. package/dist/martyrs/src/modules/constructor/components/sections/Constructor.vue.js +1 -1
  91. package/dist/martyrs/src/modules/events/components/pages/EventsBackoffice.vue.cjs +1 -1
  92. package/dist/martyrs/src/modules/events/components/pages/EventsBackoffice.vue.js +1 -1
  93. package/dist/martyrs/src/modules/globals/views/classes/globals.store.cjs +107 -21
  94. package/dist/martyrs/src/modules/globals/views/classes/globals.store.cjs.map +1 -1
  95. package/dist/martyrs/src/modules/globals/views/classes/globals.store.js +107 -21
  96. package/dist/martyrs/src/modules/globals/views/classes/globals.store.js.map +1 -1
  97. package/dist/martyrs/src/modules/globals/views/components/partials/Navigation.vue.cjs +10 -14
  98. package/dist/martyrs/src/modules/globals/views/components/partials/Navigation.vue.cjs.map +1 -1
  99. package/dist/martyrs/src/modules/globals/views/components/partials/Navigation.vue.js +12 -16
  100. package/dist/martyrs/src/modules/globals/views/components/partials/Navigation.vue.js.map +1 -1
  101. package/dist/martyrs/src/modules/globals/views/components/sections/SectionPageTitle.vue.cjs +1 -1
  102. package/dist/martyrs/src/modules/globals/views/components/sections/SectionPageTitle.vue.js +1 -1
  103. package/dist/martyrs/src/modules/globals/views/utils/vue-app-renderer.cjs +7 -13
  104. package/dist/martyrs/src/modules/globals/views/utils/vue-app-renderer.cjs.map +1 -1
  105. package/dist/martyrs/src/modules/globals/views/utils/vue-app-renderer.js +7 -13
  106. package/dist/martyrs/src/modules/globals/views/utils/vue-app-renderer.js.map +1 -1
  107. package/dist/martyrs/src/modules/orders/components/pages/OrderCreate.vue.cjs +6 -7
  108. package/dist/martyrs/src/modules/orders/components/pages/OrderCreate.vue.cjs.map +1 -1
  109. package/dist/martyrs/src/modules/orders/components/pages/OrderCreate.vue.js +7 -8
  110. package/dist/martyrs/src/modules/orders/components/pages/OrderCreate.vue.js.map +1 -1
  111. package/dist/martyrs/src/modules/orders/components/pages/OrderCreateBackoffice.vue.cjs +1 -1
  112. package/dist/martyrs/src/modules/orders/components/pages/OrderCreateBackoffice.vue.js +1 -1
  113. package/dist/martyrs/src/modules/orders/components/pages/Orders.vue.cjs +1 -1
  114. package/dist/martyrs/src/modules/orders/components/pages/Orders.vue.js +1 -1
  115. package/dist/martyrs/src/modules/organizations/components/pages/DepartmentEdit.vue.cjs +1 -1
  116. package/dist/martyrs/src/modules/organizations/components/pages/DepartmentEdit.vue.js +1 -1
  117. package/dist/martyrs/src/modules/organizations/components/pages/Members.vue.cjs +2 -2
  118. package/dist/martyrs/src/modules/organizations/components/pages/Members.vue.js +2 -2
  119. package/dist/martyrs/src/modules/organizations/components/pages/Organization.vue.cjs +2 -2
  120. package/dist/martyrs/src/modules/organizations/components/pages/Organization.vue.js +2 -2
  121. package/dist/martyrs/src/modules/organizations/components/pages/OrganizationBackoffice.vue.cjs +1 -1
  122. package/dist/martyrs/src/modules/organizations/components/pages/OrganizationBackoffice.vue.js +1 -1
  123. package/dist/martyrs/src/modules/organizations/components/pages/OrganizationEdit.vue.cjs +1 -1
  124. package/dist/martyrs/src/modules/organizations/components/pages/OrganizationEdit.vue.js +1 -1
  125. package/dist/martyrs/src/modules/organizations/components/pages/Organizations.vue.cjs +1 -1
  126. package/dist/martyrs/src/modules/organizations/components/pages/Organizations.vue.js +1 -1
  127. package/dist/martyrs/src/modules/organizations/components/sections/Organizations.vue.cjs +1 -1
  128. package/dist/martyrs/src/modules/organizations/components/sections/Organizations.vue.js +1 -1
  129. package/dist/martyrs/src/modules/products/components/blocks/CardCategory.vue.cjs +11 -5
  130. package/dist/martyrs/src/modules/products/components/blocks/CardCategory.vue.cjs.map +1 -1
  131. package/dist/martyrs/src/modules/products/components/blocks/CardCategory.vue.js +12 -6
  132. package/dist/martyrs/src/modules/products/components/blocks/CardCategory.vue.js.map +1 -1
  133. package/dist/martyrs/src/modules/products/components/pages/Categories.vue.cjs +34 -13
  134. package/dist/martyrs/src/modules/products/components/pages/Categories.vue.cjs.map +1 -1
  135. package/dist/martyrs/src/modules/products/components/pages/Categories.vue.js +35 -14
  136. package/dist/martyrs/src/modules/products/components/pages/Categories.vue.js.map +1 -1
  137. package/dist/martyrs/src/modules/products/components/pages/CategoryEdit.vue.cjs +20 -9
  138. package/dist/martyrs/src/modules/products/components/pages/CategoryEdit.vue.cjs.map +1 -1
  139. package/dist/martyrs/src/modules/products/components/pages/CategoryEdit.vue.js +21 -10
  140. package/dist/martyrs/src/modules/products/components/pages/CategoryEdit.vue.js.map +1 -1
  141. package/dist/martyrs/src/modules/products/components/pages/Leftovers.vue.cjs +1 -1
  142. package/dist/martyrs/src/modules/products/components/pages/Leftovers.vue.js +1 -1
  143. package/dist/martyrs/src/modules/products/components/pages/Product.vue.cjs +1 -1
  144. package/dist/martyrs/src/modules/products/components/pages/Product.vue.js +1 -1
  145. package/dist/martyrs/src/modules/products/components/pages/ProductEdit.vue.cjs +2 -1
  146. package/dist/martyrs/src/modules/products/components/pages/ProductEdit.vue.cjs.map +1 -1
  147. package/dist/martyrs/src/modules/products/components/pages/ProductEdit.vue.js +2 -1
  148. package/dist/martyrs/src/modules/products/components/pages/ProductEdit.vue.js.map +1 -1
  149. package/dist/martyrs/src/modules/products/components/pages/Products.vue.cjs +1 -1
  150. package/dist/martyrs/src/modules/products/components/pages/Products.vue.js +1 -1
  151. package/dist/martyrs/src/modules/products/components/sections/SectionProduct.vue.cjs +1 -1
  152. package/dist/martyrs/src/modules/products/components/sections/SectionProduct.vue.js +1 -1
  153. package/dist/martyrs/src/modules/rents/views/components/pages/GanttChart.vue.cjs +1 -1
  154. package/dist/martyrs/src/modules/rents/views/components/pages/GanttChart.vue.js +1 -1
  155. package/dist/martyrs/src/modules/rents/views/components/pages/Rents.vue.cjs +1 -1
  156. package/dist/martyrs/src/modules/rents/views/components/pages/Rents.vue.js +1 -1
  157. package/dist/martyrs/src/modules/spots/components/pages/SpotEdit.vue.cjs +1 -1
  158. package/dist/martyrs/src/modules/spots/components/pages/SpotEdit.vue.js +1 -1
  159. package/dist/martyrs.cjs.js +1 -1
  160. package/dist/martyrs.css +1 -1
  161. package/dist/martyrs.es.js +1 -1
  162. package/dist/notifications.server.js +35 -2
  163. package/dist/notifications.server.mjs +35 -2
  164. package/dist/orders.server.js +3 -3
  165. package/dist/orders.server.mjs +3 -3
  166. package/dist/organizations.server.js +1 -1
  167. package/dist/organizations.server.mjs +1 -1
  168. package/dist/products.server.js +78 -53
  169. package/dist/products.server.mjs +78 -53
  170. package/dist/rents.server.js +1 -1
  171. package/dist/rents.server.mjs +1 -1
  172. package/dist/style.css +37 -38
  173. package/dist/wallet.server.js +1 -1
  174. package/dist/wallet.server.mjs +1 -1
  175. package/package.json +2 -1
  176. package/src/components/Feed/Feed.vue +2 -7
  177. package/src/components/Skeleton/Skeleton.vue +4 -5
  178. package/src/components/Tree/Tree.vue +5 -2
  179. package/src/modules/auth/controllers/middlewares/authJwt.js +1 -1
  180. package/src/modules/auth/views/store/auth.js +2 -1
  181. package/src/modules/globals/controllers/classes/globals.crud.js +2 -2
  182. package/src/modules/globals/views/classes/globals.store.js +119 -31
  183. package/src/modules/globals/views/components/partials/Navigation.vue +11 -10
  184. package/src/modules/globals/views/utils/vue-app-renderer.js +7 -16
  185. package/src/modules/icons/entities/IconMusic.vue +14 -0
  186. package/src/modules/icons/navigation/IconCheck.vue +31 -0
  187. package/src/modules/icons/navigation/IconHeart.vue +26 -0
  188. package/src/modules/icons/navigation/IconPause.vue +31 -0
  189. package/src/modules/icons/navigation/IconPlay.vue +17 -0
  190. package/src/modules/icons/navigation/IconRefresh.vue +31 -0
  191. package/src/modules/icons/navigation/IconShuffle.vue +31 -0
  192. package/src/modules/icons/navigation/IconVolume.vue +31 -0
  193. package/src/modules/music/components/SidebarMusic.vue +156 -0
  194. package/src/modules/music/components/cards/AlbumCard.vue +107 -0
  195. package/src/modules/music/components/cards/ArtistCard.vue +37 -0
  196. package/src/modules/music/components/cards/PlaylistCard.vue +100 -0
  197. package/src/modules/music/components/cards/TrackCard.vue +86 -0
  198. package/src/modules/music/components/forms/PlaylistForm.vue +156 -0
  199. package/src/modules/music/components/forms/SearchForm.vue +82 -0
  200. package/src/modules/music/components/forms/UploadForm.vue +313 -0
  201. package/src/modules/music/components/layouts/MusicLayout.vue +137 -0
  202. package/src/modules/music/components/lists/AlbumList.vue +25 -0
  203. package/src/modules/music/components/lists/ArtistList.vue +25 -0
  204. package/src/modules/music/components/lists/PlaylistList.vue +25 -0
  205. package/src/modules/music/components/lists/TrackList.vue +175 -0
  206. package/src/modules/music/components/pages/AlbumDetail.vue +265 -0
  207. package/src/modules/music/components/pages/ArtistDetail.vue +247 -0
  208. package/src/modules/music/components/pages/MusicHome.vue +177 -0
  209. package/src/modules/music/components/pages/MusicLibrary.vue +192 -0
  210. package/src/modules/music/components/pages/MusicUpload.vue +44 -0
  211. package/src/modules/music/components/pages/PlaylistDetail.vue +504 -0
  212. package/src/modules/music/components/pages/SearchResults.vue +397 -0
  213. package/src/modules/music/components/pages/TrackDetail.vue +143 -0
  214. package/src/modules/music/components/player/MusicPlayer.vue +202 -0
  215. package/src/modules/music/components/player/TrackProgress.vue +110 -0
  216. package/src/modules/music/components/player/VolumeControl.vue +98 -0
  217. package/src/modules/music/controllers/album.controller.js +98 -0
  218. package/src/modules/music/controllers/artist.controller.js +111 -0
  219. package/src/modules/music/controllers/genre.controller.js +71 -0
  220. package/src/modules/music/controllers/music.controller.js +174 -0
  221. package/src/modules/music/controllers/playlist.controller.js +182 -0
  222. package/src/modules/music/controllers/search.controller.js +103 -0
  223. package/src/modules/music/controllers/stream.controller.js +106 -0
  224. package/src/modules/music/models/album.model.js +61 -0
  225. package/src/modules/music/models/artist.model.js +67 -0
  226. package/src/modules/music/models/genre.model.js +42 -0
  227. package/src/modules/music/models/play-history.model.js +51 -0
  228. package/src/modules/music/models/playlist.model.js +69 -0
  229. package/src/modules/music/models/track.model.js +94 -0
  230. package/src/modules/music/music.client.js +186 -0
  231. package/src/modules/music/music.server.js +114 -0
  232. package/src/modules/music/policies/music.policies.js +84 -0
  233. package/src/modules/music/router/music.js +77 -0
  234. package/src/modules/music/routes/album.routes.js +62 -0
  235. package/src/modules/music/routes/artist.routes.js +67 -0
  236. package/src/modules/music/routes/genre.routes.js +60 -0
  237. package/src/modules/music/routes/music.routes.js +145 -0
  238. package/src/modules/music/routes/playlist.routes.js +99 -0
  239. package/src/modules/music/routes/search.routes.js +10 -0
  240. package/src/modules/music/routes/stream.routes.js +38 -0
  241. package/src/modules/music/store/albums.js +200 -0
  242. package/src/modules/music/store/artists.js +180 -0
  243. package/src/modules/music/store/player.js +397 -0
  244. package/src/modules/music/store/playlists.js +211 -0
  245. package/src/modules/music/store/search.js +126 -0
  246. package/src/modules/music/store/tracks.js +230 -0
  247. package/src/modules/music/websocket/streaming.handler.js +151 -0
  248. package/src/modules/notifications/controllers/notifications.controller.js +44 -1
  249. package/src/modules/notifications/notifications.server.js +0 -1
  250. package/src/modules/notifications/routes/notifications.routes.js +3 -0
  251. package/src/modules/orders/components/pages/OrderCreate.vue +0 -2
  252. package/src/modules/products/components/blocks/CardCategory.vue +5 -4
  253. package/src/modules/products/components/pages/Categories.vue +38 -20
  254. package/src/modules/products/components/pages/CategoryEdit.vue +16 -7
  255. package/src/modules/products/components/pages/ProductEdit.vue +1 -0
  256. package/src/modules/products/controllers/categories.controller.js +155 -103
  257. package/dist/martyrs/src/components/Menu/Menu.vue.cjs.map +0 -1
  258. package/dist/martyrs/src/components/Menu/Menu.vue.js.map +0 -1
  259. package/dist/martyrs/src/components/Tab/Tab.vue2.cjs.map +0 -1
  260. 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
  261. 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
  262. package/dist/node_modules/.pnpm/@vue_shared@3.5.13/node_modules/@vue/shared/dist/shared.esm-bundler.cjs.map +0 -1
  263. package/dist/node_modules/.pnpm/@vue_shared@3.5.13/node_modules/@vue/shared/dist/shared.esm-bundler.js.map +0 -1
  264. package/dist/node_modules/.pnpm/uuid@11.1.0/node_modules/uuid/dist/esm-browser/native.cjs +0 -6
  265. package/dist/node_modules/.pnpm/uuid@11.1.0/node_modules/uuid/dist/esm-browser/native.cjs.map +0 -1
  266. package/dist/node_modules/.pnpm/uuid@11.1.0/node_modules/uuid/dist/esm-browser/native.js +0 -6
  267. package/dist/node_modules/.pnpm/uuid@11.1.0/node_modules/uuid/dist/esm-browser/native.js.map +0 -1
  268. package/dist/node_modules/.pnpm/uuid@11.1.0/node_modules/uuid/dist/esm-browser/rng.cjs.map +0 -1
  269. package/dist/node_modules/.pnpm/uuid@11.1.0/node_modules/uuid/dist/esm-browser/rng.js +0 -15
  270. package/dist/node_modules/.pnpm/uuid@11.1.0/node_modules/uuid/dist/esm-browser/rng.js.map +0 -1
  271. package/dist/node_modules/.pnpm/uuid@11.1.0/node_modules/uuid/dist/esm-browser/stringify.cjs +0 -11
  272. package/dist/node_modules/.pnpm/uuid@11.1.0/node_modules/uuid/dist/esm-browser/stringify.cjs.map +0 -1
  273. package/dist/node_modules/.pnpm/uuid@11.1.0/node_modules/uuid/dist/esm-browser/stringify.js +0 -11
  274. package/dist/node_modules/.pnpm/uuid@11.1.0/node_modules/uuid/dist/esm-browser/stringify.js.map +0 -1
  275. package/dist/node_modules/.pnpm/uuid@11.1.0/node_modules/uuid/dist/esm-browser/v4.cjs +0 -21
  276. package/dist/node_modules/.pnpm/uuid@11.1.0/node_modules/uuid/dist/esm-browser/v4.cjs.map +0 -1
  277. package/dist/node_modules/.pnpm/uuid@11.1.0/node_modules/uuid/dist/esm-browser/v4.js +0 -21
  278. package/dist/node_modules/.pnpm/uuid@11.1.0/node_modules/uuid/dist/esm-browser/v4.js.map +0 -1
  279. /package/dist/{node_modules/.pnpm/@vue_shared@3.5.13 → martyrs}/node_modules/@vue/shared/dist/shared.esm-bundler.cjs +0 -0
  280. /package/dist/{node_modules/.pnpm/@vue_shared@3.5.13 → martyrs}/node_modules/@vue/shared/dist/shared.esm-bundler.js +0 -0
  281. /package/dist/{node_modules → martyrs/node_modules}/fast-deep-equal/index.cjs +0 -0
  282. /package/dist/{node_modules → martyrs/node_modules}/fast-deep-equal/index.cjs.map +0 -0
  283. /package/dist/{node_modules → martyrs/node_modules}/fast-deep-equal/index.js +0 -0
  284. /package/dist/{node_modules → martyrs/node_modules}/fast-deep-equal/index.js.map +0 -0
@@ -0,0 +1,77 @@
1
+ // router/music.js
2
+ export default {
3
+ path: 'music',
4
+ component: () => import('../components/layouts/MusicLayout.vue'),
5
+ children: [
6
+ {
7
+ path: '',
8
+ name: 'music-home',
9
+ component: () => import('../components/pages/MusicHome.vue'),
10
+ meta: {
11
+ title: 'Music Home'
12
+ }
13
+ },
14
+ {
15
+ path: 'search',
16
+ name: 'music-search',
17
+ component: () => import('../components/pages/SearchResults.vue'),
18
+ meta: {
19
+ title: 'Search Music'
20
+ }
21
+ },
22
+ {
23
+ path: 'library',
24
+ name: 'music-library',
25
+ component: () => import('../components/pages/MusicLibrary.vue'),
26
+ meta: {
27
+ title: 'My Library',
28
+ requiresAuth: true
29
+ }
30
+ },
31
+ {
32
+ path: 'upload',
33
+ name: 'music-upload',
34
+ component: () => import('../components/pages/MusicUpload.vue'),
35
+ meta: {
36
+ title: 'Upload Music',
37
+ requiresAuth: true
38
+ }
39
+ },
40
+ {
41
+ path: 'artists/:url',
42
+ name: 'artist-detail',
43
+ component: () => import('../components/pages/ArtistDetail.vue'),
44
+ props: true,
45
+ meta: {
46
+ title: 'Artist Details'
47
+ }
48
+ },
49
+ {
50
+ path: 'albums/:url',
51
+ name: 'album-detail',
52
+ component: () => import('../components/pages/AlbumDetail.vue'),
53
+ props: true,
54
+ meta: {
55
+ title: 'Album Details'
56
+ }
57
+ },
58
+ {
59
+ path: 'playlists/:url',
60
+ name: 'playlist-detail',
61
+ component: () => import('../components/pages/PlaylistDetail.vue'),
62
+ props: true,
63
+ meta: {
64
+ title: 'Playlist Details'
65
+ }
66
+ },
67
+ {
68
+ path: 'tracks/:url',
69
+ name: 'track-detail',
70
+ component: () => import('../components/pages/TrackDetail.vue'),
71
+ props: true,
72
+ meta: {
73
+ title: 'Track Details'
74
+ }
75
+ }
76
+ ]
77
+ };
@@ -0,0 +1,62 @@
1
+ // routes/album.routes.js
2
+ module.exports = function(app, db, origins, publicPath) {
3
+ const controller = require('../controllers/album.controller')(app,db);
4
+ const middlewareFactoryAuth = require('@martyrs/src/modules/auth/controllers/middlewares');
5
+ const { authJwt } = middlewareFactoryAuth(db);
6
+
7
+ // CRUD operations for albums
8
+ app.post(
9
+ '/api/albums/create',
10
+ [authJwt.verifyToken],
11
+ controller.create
12
+ );
13
+
14
+ app.get(
15
+ '/api/albums/read',
16
+ controller.read
17
+ );
18
+
19
+ app.put(
20
+ '/api/albums/update',
21
+ [authJwt.verifyToken],
22
+ controller.update
23
+ );
24
+
25
+ app.delete(
26
+ '/api/albums/delete',
27
+ [authJwt.verifyToken],
28
+ controller.delete
29
+ );
30
+
31
+ // Get album tracks
32
+ app.get(
33
+ '/api/albums/:albumId/tracks',
34
+ controller.getAlbumTracks
35
+ );
36
+
37
+ // Get featured albums
38
+ app.get(
39
+ '/api/albums/featured',
40
+ controller.getFeaturedAlbums
41
+ );
42
+
43
+ // Get album by URL
44
+ app.get(
45
+ '/api/albums/url/:url',
46
+ async (req, res) => {
47
+ try {
48
+ const album = await db.album.findOne({ url: req.params.url })
49
+ .populate('artist');
50
+
51
+ if (!album) {
52
+ return res.status(404).json({ error: 'Album not found' });
53
+ }
54
+
55
+ res.json(album);
56
+ } catch (error) {
57
+ console.error(error);
58
+ res.status(500).json({ error: error.message });
59
+ }
60
+ }
61
+ );
62
+ };
@@ -0,0 +1,67 @@
1
+ // routes/artist.routes.js
2
+ module.exports = function(app, db, origins, publicPath) {
3
+ const controller = require('../controllers/artist.controller')(app,db);
4
+ const middlewareFactoryAuth = require('@martyrs/src/modules/auth/controllers/middlewares');
5
+ const { authJwt } = middlewareFactoryAuth(db);
6
+
7
+ // CRUD operations for artists
8
+ app.post(
9
+ '/api/artists/create',
10
+ [authJwt.verifyToken],
11
+ controller.create
12
+ );
13
+
14
+ app.get(
15
+ '/api/artists/read',
16
+ controller.read
17
+ );
18
+
19
+ app.put(
20
+ '/api/artists/update',
21
+ [authJwt.verifyToken],
22
+ controller.update
23
+ );
24
+
25
+ app.delete(
26
+ '/api/artists/delete',
27
+ [authJwt.verifyToken],
28
+ controller.delete
29
+ );
30
+
31
+ // Get artist discography
32
+ app.get(
33
+ '/api/artists/:artistId/discography',
34
+ controller.getDiscography
35
+ );
36
+
37
+ // Verify artist (admin only)
38
+ app.put(
39
+ '/api/artists/:artistId/verify',
40
+ [authJwt.verifyToken, authJwt.isAdmin],
41
+ controller.verifyArtist
42
+ );
43
+
44
+ // Get related artists
45
+ app.get(
46
+ '/api/artists/:artistId/related',
47
+ controller.getRelatedArtists
48
+ );
49
+
50
+ // Get artist by URL
51
+ app.get(
52
+ '/api/artists/url/:url',
53
+ async (req, res) => {
54
+ try {
55
+ const artist = await db.artist.findOne({ url: req.params.url });
56
+ if (!artist) {
57
+ return res.status(404).json({ error: 'Artist not found' });
58
+ }
59
+
60
+ res.json(artist);
61
+ } catch (error) {
62
+ console.error(error);
63
+ res.status(500).json({ error: error.message });
64
+ }
65
+ }
66
+ );
67
+ };
@@ -0,0 +1,60 @@
1
+ // routes/genre.routes.js
2
+ module.exports = function(app, db, origins, publicPath) {
3
+ const controller = require('../controllers/genre.controller')(app,db);
4
+ const middlewareFactoryAuth = require('@martyrs/src/modules/auth/controllers/middlewares');
5
+ const { authJwt } = middlewareFactoryAuth(db);
6
+
7
+ // CRUD operations for genres
8
+ app.post(
9
+ '/api/genres/create',
10
+ [authJwt.verifyToken, authJwt.isAdmin],
11
+ controller.create
12
+ );
13
+
14
+ app.get(
15
+ '/api/genres/read',
16
+ controller.read
17
+ );
18
+
19
+ app.put(
20
+ '/api/genres/update',
21
+ [authJwt.verifyToken, authJwt.isAdmin],
22
+ controller.update
23
+ );
24
+
25
+ app.delete(
26
+ '/api/genres/delete',
27
+ [authJwt.verifyToken, authJwt.isAdmin],
28
+ controller.delete
29
+ );
30
+
31
+ // Get tracks by genre
32
+ app.get(
33
+ '/api/genres/:genreId/tracks',
34
+ controller.getGenreTracks
35
+ );
36
+
37
+ // Get popular genres
38
+ app.get(
39
+ '/api/genres/popular',
40
+ controller.getPopularGenres
41
+ );
42
+
43
+ // Get genre by URL
44
+ app.get(
45
+ '/api/genres/url/:url',
46
+ async (req, res) => {
47
+ try {
48
+ const genre = await db.genre.findOne({ url: req.params.url });
49
+ if (!genre) {
50
+ return res.status(404).json({ error: 'Genre not found' });
51
+ }
52
+
53
+ res.json(genre);
54
+ } catch (error) {
55
+ console.error(error);
56
+ res.status(500).json({ error: error.message });
57
+ }
58
+ }
59
+ );
60
+ };
@@ -0,0 +1,145 @@
1
+ // routes/music.routes.js
2
+ // Factories
3
+ const controllerFactory = require('../controllers/music.controller');
4
+ // Middlewares
5
+ const middlewareFactoryAuth = require('@martyrs/src/modules/auth/controllers/middlewares');
6
+ // ABAC
7
+ const { getInstance } = require('@martyrs/src/modules/globals/controllers/classes/globals.abac.js');
8
+
9
+ module.exports = function(app, db, origins, publicPath) {
10
+ const { MusicController } = controllerFactory(app, db);
11
+ const { authJwt } = middlewareFactoryAuth(db);
12
+
13
+ const controller = new MusicController('/api/tracks', app, db, db.track, {disableDefaultRoutes: true});
14
+ const abac = getInstance(db);
15
+
16
+
17
+ // CRUD operations for tracks
18
+
19
+ app.post(
20
+ '/api/tracks/create',
21
+ [authJwt.verifyToken(), // Auth middleware
22
+ (req, res, next) => {
23
+ // Debugging middleware
24
+ console.log('[Route] /api/tracks/create - Request received');
25
+ console.log('[Route] User ID from token:', req.userId);
26
+ next();
27
+ },
28
+ ],
29
+ controller.create.bind(controller) // Bind to ensure 'this' context
30
+ );
31
+
32
+ app.get(
33
+ '/api/tracks/read',
34
+ controller.read.bind(controller)
35
+ );
36
+
37
+ app.put(
38
+ '/api/tracks/update',
39
+ [authJwt.verifyToken],
40
+ controller.update.bind(controller)
41
+ );
42
+
43
+ app.delete(
44
+ '/api/tracks/delete',
45
+ [authJwt.verifyToken],
46
+ controller.delete.bind(controller)
47
+ );
48
+
49
+ // Get track by URL
50
+ app.get(
51
+ '/api/tracks/url/:url',
52
+ async (req, res) => {
53
+ try {
54
+ const track = await db.track.findOne({ url: req.params.url });
55
+ if (!track) {
56
+ return res.status(404).json({ error: 'Track not found' });
57
+ }
58
+
59
+ // Check access using ABAC
60
+ const accessResult = await abac.checkAccess({
61
+ user: req.userId,
62
+ resource: 'tracks',
63
+ action: 'read',
64
+ currentResource: track
65
+ });
66
+
67
+ if (!accessResult.allowed && !track.isPublic) {
68
+ return res.status(403).json({
69
+ errorCode: accessResult.reason,
70
+ message: 'Access Denied'
71
+ });
72
+ }
73
+
74
+ res.json(track);
75
+ } catch (error) {
76
+ console.error(error);
77
+ res.status(500).json({ error: error.message });
78
+ }
79
+ }
80
+ );
81
+
82
+ // Get recent tracks
83
+ app.get(
84
+ '/api/tracks/recent',
85
+ async (req, res) => {
86
+ try {
87
+ const limit = parseInt(req.query.limit) || 10;
88
+
89
+ const recentTracks = await db.track.find({
90
+ status: 'published',
91
+ isPublic: true
92
+ })
93
+ .sort({ createdAt: -1 })
94
+ .limit(limit);
95
+
96
+ res.json(recentTracks);
97
+ } catch (error) {
98
+ console.error(error);
99
+ res.status(500).json({ error: error.message });
100
+ }
101
+ }
102
+ );
103
+
104
+ // Get popular tracks
105
+ app.get(
106
+ '/api/tracks/popular',
107
+ async (req, res) => {
108
+ try {
109
+ const limit = parseInt(req.query.limit) || 10;
110
+
111
+ const popularTracks = await db.track.find({
112
+ status: 'published',
113
+ isPublic: true
114
+ })
115
+ .sort({ playCount: -1 })
116
+ .limit(limit);
117
+
118
+ res.json(popularTracks);
119
+ } catch (error) {
120
+ console.error(error);
121
+ res.status(500).json({ error: error.message });
122
+ }
123
+ }
124
+ );
125
+
126
+ // Get tracks by genre
127
+ app.get(
128
+ '/api/tracks/genre/:genreId',
129
+ async (req, res) => {
130
+ try {
131
+ const tracks = await db.track.find({
132
+ genre: req.params.genreId,
133
+ status: 'published',
134
+ isPublic: true
135
+ })
136
+ .sort({ releaseDate: -1 });
137
+
138
+ res.json(tracks);
139
+ } catch (error) {
140
+ console.error(error);
141
+ res.status(500).json({ error: error.message });
142
+ }
143
+ }
144
+ );
145
+ };
@@ -0,0 +1,99 @@
1
+ // routes/playlist.routes.js
2
+ module.exports = function(app, db, origins, publicPath) {
3
+ const controller = require('../controllers/playlist.controller')(app,db);
4
+
5
+ const middlewareFactoryAuth = require('@martyrs/src/modules/auth/controllers/middlewares');
6
+ const { authJwt } = middlewareFactoryAuth(db);
7
+
8
+ // CRUD operations for playlists
9
+ app.post(
10
+ '/api/playlists/create',
11
+ [authJwt.verifyToken],
12
+ controller.create
13
+ );
14
+
15
+ app.get(
16
+ '/api/playlists/read',
17
+ controller.read
18
+ );
19
+
20
+ app.put(
21
+ '/api/playlists/update',
22
+ [authJwt.verifyToken],
23
+ controller.update
24
+ );
25
+
26
+ app.delete(
27
+ '/api/playlists/delete',
28
+ [authJwt.verifyToken],
29
+ controller.delete
30
+ );
31
+
32
+ // Get user playlists
33
+ app.get(
34
+ '/api/playlists/user/:userId?',
35
+ [authJwt.verifyToken],
36
+ controller.getUserPlaylists
37
+ );
38
+
39
+ // Add track to playlist
40
+ app.post(
41
+ '/api/playlists/:playlistId/tracks/:trackId',
42
+ [authJwt.verifyToken],
43
+ controller.addTrack
44
+ );
45
+
46
+ // Remove track from playlist
47
+ app.delete(
48
+ '/api/playlists/:playlistId/tracks/:trackId',
49
+ [authJwt.verifyToken],
50
+ controller.removeTrack
51
+ );
52
+
53
+ // Add collaborator to playlist
54
+ app.post(
55
+ '/api/playlists/:playlistId/collaborators/:userId',
56
+ [authJwt.verifyToken],
57
+ controller.addCollaborator
58
+ );
59
+
60
+ // Get playlist by URL
61
+ app.get(
62
+ '/api/playlists/url/:url',
63
+ async (req, res) => {
64
+ try {
65
+ const playlist = await db.playlist.findOne({ url: req.params.url })
66
+ .populate({
67
+ path: 'tracks.track',
68
+ select: '-lyrics'
69
+ });
70
+
71
+ if (!playlist) {
72
+ return res.status(404).json({ error: 'Playlist not found' });
73
+ }
74
+
75
+ // If not public, check permissions
76
+ if (!playlist.isPublic) {
77
+ // Only owner and collaborators can see private playlists
78
+ if (!req.userId) {
79
+ return res.status(403).json({ error: 'Access denied to private playlist' });
80
+ }
81
+
82
+ const isOwner = playlist.owner.target.toString() === req.userId;
83
+ const isCollaborator = playlist.collaborators.some(
84
+ collab => collab.toString() === req.userId
85
+ );
86
+
87
+ if (!isOwner && !isCollaborator) {
88
+ return res.status(403).json({ error: 'Access denied to private playlist' });
89
+ }
90
+ }
91
+
92
+ res.json(playlist);
93
+ } catch (error) {
94
+ console.error(error);
95
+ res.status(500).json({ error: error.message });
96
+ }
97
+ }
98
+ );
99
+ };
@@ -0,0 +1,10 @@
1
+ // routes/search.routes.js
2
+ module.exports = function(app, db, origins, publicPath) {
3
+ const controller = require('../controllers/search.controller')(app,db);
4
+
5
+ // Search API endpoint
6
+ app.get(
7
+ '/api/music/search',
8
+ controller.search
9
+ );
10
+ };
@@ -0,0 +1,38 @@
1
+ // routes/stream.routes.js
2
+ module.exports = function(app, db, origins, publicPath) {
3
+ console.log('rouus publioc is', publicPath)
4
+ const controller = require('../controllers/stream.controller')(app,db,publicPath);
5
+
6
+ // Stream audio
7
+ app.get(
8
+ '/api/stream/:trackId',
9
+ controller.streamAudio
10
+ );
11
+
12
+ // WaveForm data for visualization
13
+ app.get(
14
+ '/api/waveform/:trackId',
15
+ async (req, res) => {
16
+ try {
17
+ const track = await db.track.findById(req.params.trackId);
18
+ if (!track) {
19
+ return res.status(404).json({ error: 'Track not found' });
20
+ }
21
+
22
+ // Check if waveform data exists (assuming it's preprocessed)
23
+ const waveformPath = path.join(process.env.FILE_STORAGE_PATH || './uploads', `waveforms/${track._id}.json`);
24
+
25
+ if (fs.existsSync(waveformPath)) {
26
+ const waveformData = JSON.parse(fs.readFileSync(waveformPath, 'utf8'));
27
+ return res.json(waveformData);
28
+ }
29
+
30
+ // If no waveform data, return error
31
+ res.status(404).json({ error: 'Waveform data not found' });
32
+ } catch (error) {
33
+ console.error(error);
34
+ res.status(500).json({ error: error.message });
35
+ }
36
+ }
37
+ );
38
+ };