@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
@@ -1,5 +1,5 @@
1
1
  import { ref, computed, resolveComponent, createElementBlock, openBlock, createElementVNode, createCommentVNode, createVNode, toDisplayString, unref, Transition, withCtx, withDirectives, vShow, createTextVNode } from "vue";
2
- import _sfc_main$1 from "../../../../../components/Tab/Tab.vue2.js";
2
+ import _sfc_main$1 from "../../../../../components/Tab/Tab.vue.js";
3
3
  import Field from "../../../../../components/Field/Field.vue.js";
4
4
  import _sfc_main$2 from "../../../../../components/FieldPhone/FieldPhone.vue.js";
5
5
  import _sfc_main$3 from "../../../../../components/Button/Button.vue.js";
@@ -228,5 +228,6 @@ async function removeCookie(name, env = process.env.NODE_ENV) {
228
228
  vue.watch(state, (newState, oldState) => {
229
229
  });
230
230
  exports.actions = actions;
231
+ exports.removeCookie = removeCookie;
231
232
  exports.state = state;
232
233
  //# sourceMappingURL=auth.cjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"auth.cjs","sources":["../../../../../../../src/modules/auth/views/store/auth.js"],"sourcesContent":["// Dependencies\nimport $axios, { setAuthToken } from '@martyrs/src/modules/globals/views/utils/axios-instance.js';\nimport Cookies from 'js-cookie'\n// Capacitor\nimport { Preferences } from '@capacitor/preferences';\n// Vue modules\nimport { reactive, watch } from \"vue\";\n// Globals \nimport { setError } from '@martyrs/src/modules/globals/views/store/globals'\n// State\nimport * as twofa from './twofa'\n\n// State\nconst state = reactive({\n user: {\n _id: undefined,\n avatar: null,\n username: '',\n email: '',\n phone: '',\n password: '',\n passwordRepeat: ''\n },\n access: {\n roles: null,\n token: null,\n status: false\n },\n accesses: []\n});\n\nconst actions = {\n async initialize(cookie) {\n try {\n const userCookie = cookie ? cookie : await getCookie('user');\n\n if (userCookie) {\n const { _id, email, phone, avatar, roles, accessToken } = userCookie;\n\n setAuthToken(accessToken);\n\n // Проверка токена через серверный маршрут\n const response = await $axios.get('/api/auth/check-accesses');\n const userAccesses = response.data;\n state.accesses = userAccesses;\n\n // Обновление состояния приложения с информацией о пользователе и его правах доступа\n Object.assign(state.user, { _id, email, phone, avatar });\n Object.assign(state.access, { token: accessToken, roles, status: !!accessToken });\n } else {\n console.log('no cookies')\n setAuthToken(null);\n this.resetState();\n }\n } catch (error) {\n console.error('Error initializing auth:', error);\n // Make sure we remove the cookie when there's an error\n await removeCookie('user');\n setAuthToken(null);\n this.resetState();\n setError(error)\n }\n },\n \n // Helper method to reset state\n resetState() {\n state.accesses = [];\n state.user = {\n _id: undefined,\n avatar: null,\n username: '',\n email: '',\n phone: '',\n password: '',\n passwordRepeat: ''\n };\n state.access = {\n roles: null,\n token: null,\n status: false\n };\n },\n \n async login(user, type) {\n try {\n const response = await $axios.post('/api/auth/signin', {\n ...user,\n type\n });\n\n setCookie('user', response.data);\n\n Object.assign(state.user, {\n ...response.data\n });\n\n Object.assign(state.access, {\n token: response.data.accessToken,\n status: true,\n roles: response.data.roles\n });\n\n await this.initialize();\n\n return response.data;\n } catch (error) {\n // Make sure cookie is removed on login error\n await removeCookie('user');\n \n Object.assign(state.access, {\n token: null,\n status: false,\n roles: null\n });\n\n console.log(error);\n setError(error);\n return Promise.reject(error);\n }\n },\n\n async signup(user, type, invite) {\n const { password, passwordRepeat } = state.user;\n\n console.log(password);\n console.log(passwordRepeat);\n\n if (password !== passwordRepeat) {\n const error = {\n response: {\n data: { errorCode: \"PASSWORDS_DO_NOT_MATCH\" }\n }\n };\n setError(error);\n throw new Error(error.response.status);\n }\n\n try {\n const response = await $axios.post('/api/auth/signup', {\n ...user,\n type,\n inviteCode: invite\n });\n\n console.log(response);\n\n if (response.data.accessToken) {\n setCookie('user', response.data);\n }\n\n Object.assign(state.user, {\n ...response.data\n });\n\n Object.assign(state.access, {\n token: response.data.accessToken,\n status: true,\n roles: response.data.roles\n });\n\n await this.initialize();\n\n return response.data;\n } catch (error) {\n // Make sure cookie is removed on signup error\n await removeCookie('user');\n setError(error);\n console.log('Sign up failed');\n throw error;\n }\n },\n\n async logout() {\n await removeCookie('user');\n setAuthToken(null);\n this.resetState();\n },\n\n async resetPassword(user, type) {\n try {\n const response = await $axios.post('/api/auth/reset-password', {\n email: user.email,\n phone: user.phone,\n type\n });\n\n Object.assign(twofa.state.code, {\n ...response.data,\n isSended: true\n });\n\n return response.data;\n } catch (error) {\n setError(error);\n return Promise.reject(error);\n }\n },\n\n async updatePassword(user, type) {\n const { password, passwordRepeat } = state.user;\n\n if (password !== passwordRepeat) {\n const error = {\n response: {\n data: { errorCode: \"PASSWORDS_DO_NOT_MATCH\" }\n }\n };\n setError(error);\n throw new Error(error.response.status);\n }\n\n try {\n const response = await $axios.post('/api/auth/update-password', {\n email: user.email,\n phone: user.phone,\n password: user.password,\n passwordRepeat: user.passwordRepeat,\n type\n });\n\n if (response.data.accessToken) {\n setCookie('user', response.data);\n }\n\n Object.assign(state.user, {\n ...response.data\n });\n\n Object.assign(state.access, {\n token: response.data.accessToken,\n status: true\n });\n\n return response.data;\n } catch (error) {\n // Make sure cookie is removed on password update error\n await removeCookie('user');\n setError(error);\n return Promise.reject(error);\n }\n }\n};\n\n// Cookies\nconst optionsDefault = {\n development: { secure: false, expires: 7, sameSite: 'Lax' },\n production: { expires: 7, path: '/', domain: process.env.DOMAIN_URL, sameSite: 'strict', secure: true }\n};\n\nasync function getCookie(name) {\n if (process.env.MOBILE_APP) {\n const { value } = await Preferences.get({ key: name });\n return value ? JSON.parse(value) : null;\n } else {\n const cookie = Cookies.get(name);\n return cookie ? JSON.parse(cookie) : null;\n }\n}\n\nasync function setCookie(name, data, env = process.env.DOMAIN_URL) {\n if (process.env.MOBILE_APP) {\n // Если приложение запущено в Capacitor\n await Preferences.set({\n key: name,\n value: JSON.stringify(data)\n });\n } else {\n // Для веб-версии\n Cookies.set(name, JSON.stringify(data), optionsDefault[env]);\n }\n}\n\nasync function removeCookie(name, env = process.env.NODE_ENV) {\n if (process.env.MOBILE_APP) {\n // Если приложение запущено в Capacitor\n await Preferences.remove({ key: name });\n } else {\n // Для веб-версии\n const options = env === 'production' ? { domain: process.env.DOMAIN_URL, path: '/' } : {};\n Cookies.remove(name, options);\n }\n}\n\n// History\nconst history = [];\nhistory.push(state);\n\n// Watch\nwatch(state, (newState, oldState) => {\n history.push(newState);\n});\n\n// Module Export\nexport {\n state,\n actions\n};"],"names":["reactive","setAuthToken","$axios","setError","twofa.state","Preferences","Cookies","watch"],"mappings":"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"}
1
+ {"version":3,"file":"auth.cjs","sources":["../../../../../../../src/modules/auth/views/store/auth.js"],"sourcesContent":["// Dependencies\nimport $axios, { setAuthToken } from '@martyrs/src/modules/globals/views/utils/axios-instance.js';\nimport Cookies from 'js-cookie'\n// Capacitor\nimport { Preferences } from '@capacitor/preferences';\n// Vue modules\nimport { reactive, watch } from \"vue\";\n// Globals \nimport { setError } from '@martyrs/src/modules/globals/views/store/globals'\n// State\nimport * as twofa from './twofa'\n\n// State\nconst state = reactive({\n user: {\n _id: undefined,\n avatar: null,\n username: '',\n email: '',\n phone: '',\n password: '',\n passwordRepeat: ''\n },\n access: {\n roles: null,\n token: null,\n status: false\n },\n accesses: []\n});\n\nconst actions = {\n async initialize(cookie) {\n try {\n const userCookie = cookie ? cookie : await getCookie('user');\n\n if (userCookie) {\n const { _id, email, phone, avatar, roles, accessToken } = userCookie;\n\n setAuthToken(accessToken);\n\n // Проверка токена через серверный маршрут\n const response = await $axios.get('/api/auth/check-accesses');\n const userAccesses = response.data;\n state.accesses = userAccesses;\n\n // Обновление состояния приложения с информацией о пользователе и его правах доступа\n Object.assign(state.user, { _id, email, phone, avatar });\n Object.assign(state.access, { token: accessToken, roles, status: !!accessToken });\n } else {\n console.log('no cookies')\n setAuthToken(null);\n this.resetState();\n }\n } catch (error) {\n console.error('Error initializing auth:', error);\n // Make sure we remove the cookie when there's an error\n await removeCookie('user');\n setAuthToken(null);\n this.resetState();\n setError(error)\n }\n },\n \n // Helper method to reset state\n resetState() {\n state.accesses = [];\n state.user = {\n _id: undefined,\n avatar: null,\n username: '',\n email: '',\n phone: '',\n password: '',\n passwordRepeat: ''\n };\n state.access = {\n roles: null,\n token: null,\n status: false\n };\n },\n \n async login(user, type) {\n try {\n const response = await $axios.post('/api/auth/signin', {\n ...user,\n type\n });\n\n setCookie('user', response.data);\n\n Object.assign(state.user, {\n ...response.data\n });\n\n Object.assign(state.access, {\n token: response.data.accessToken,\n status: true,\n roles: response.data.roles\n });\n\n await this.initialize();\n\n return response.data;\n } catch (error) {\n // Make sure cookie is removed on login error\n await removeCookie('user');\n \n Object.assign(state.access, {\n token: null,\n status: false,\n roles: null\n });\n\n console.log(error);\n setError(error);\n return Promise.reject(error);\n }\n },\n\n async signup(user, type, invite) {\n const { password, passwordRepeat } = state.user;\n\n console.log(password);\n console.log(passwordRepeat);\n\n if (password !== passwordRepeat) {\n const error = {\n response: {\n data: { errorCode: \"PASSWORDS_DO_NOT_MATCH\" }\n }\n };\n setError(error);\n throw new Error(error.response.status);\n }\n\n try {\n const response = await $axios.post('/api/auth/signup', {\n ...user,\n type,\n inviteCode: invite\n });\n\n console.log(response);\n\n if (response.data.accessToken) {\n setCookie('user', response.data);\n }\n\n Object.assign(state.user, {\n ...response.data\n });\n\n Object.assign(state.access, {\n token: response.data.accessToken,\n status: true,\n roles: response.data.roles\n });\n\n await this.initialize();\n\n return response.data;\n } catch (error) {\n // Make sure cookie is removed on signup error\n await removeCookie('user');\n setError(error);\n console.log('Sign up failed');\n throw error;\n }\n },\n\n async logout() {\n await removeCookie('user');\n setAuthToken(null);\n this.resetState();\n },\n\n async resetPassword(user, type) {\n try {\n const response = await $axios.post('/api/auth/reset-password', {\n email: user.email,\n phone: user.phone,\n type\n });\n\n Object.assign(twofa.state.code, {\n ...response.data,\n isSended: true\n });\n\n return response.data;\n } catch (error) {\n setError(error);\n return Promise.reject(error);\n }\n },\n\n async updatePassword(user, type) {\n const { password, passwordRepeat } = state.user;\n\n if (password !== passwordRepeat) {\n const error = {\n response: {\n data: { errorCode: \"PASSWORDS_DO_NOT_MATCH\" }\n }\n };\n setError(error);\n throw new Error(error.response.status);\n }\n\n try {\n const response = await $axios.post('/api/auth/update-password', {\n email: user.email,\n phone: user.phone,\n password: user.password,\n passwordRepeat: user.passwordRepeat,\n type\n });\n\n if (response.data.accessToken) {\n setCookie('user', response.data);\n }\n\n Object.assign(state.user, {\n ...response.data\n });\n\n Object.assign(state.access, {\n token: response.data.accessToken,\n status: true\n });\n\n return response.data;\n } catch (error) {\n // Make sure cookie is removed on password update error\n await removeCookie('user');\n setError(error);\n return Promise.reject(error);\n }\n }\n};\n\n// Cookies\nconst optionsDefault = {\n development: { secure: false, expires: 7, sameSite: 'Lax' },\n production: { expires: 7, path: '/', domain: process.env.DOMAIN_URL, sameSite: 'strict', secure: true }\n};\n\nasync function getCookie(name) {\n if (process.env.MOBILE_APP) {\n const { value } = await Preferences.get({ key: name });\n return value ? JSON.parse(value) : null;\n } else {\n const cookie = Cookies.get(name);\n return cookie ? JSON.parse(cookie) : null;\n }\n}\n\nasync function setCookie(name, data, env = process.env.DOMAIN_URL) {\n if (process.env.MOBILE_APP) {\n // Если приложение запущено в Capacitor\n await Preferences.set({\n key: name,\n value: JSON.stringify(data)\n });\n } else {\n // Для веб-версии\n Cookies.set(name, JSON.stringify(data), optionsDefault[env]);\n }\n}\n\nasync function removeCookie(name, env = process.env.NODE_ENV) {\n if (process.env.MOBILE_APP) {\n // Если приложение запущено в Capacitor\n await Preferences.remove({ key: name });\n } else {\n // Для веб-версии\n const options = env === 'production' ? { domain: process.env.DOMAIN_URL, path: '/' } : {};\n Cookies.remove(name, options);\n }\n}\n\n// History\nconst history = [];\nhistory.push(state);\n\n// Watch\nwatch(state, (newState, oldState) => {\n history.push(newState);\n});\n\n// Module Export\nexport {\n state,\n actions,\n removeCookie\n};"],"names":["reactive","setAuthToken","$axios","setError","twofa.state","Preferences","Cookies","watch"],"mappings":";;;;;;;;AAaK,MAAC,QAAQA,IAAAA,SAAS;AAAA,EACrB,MAAM;AAAA,IACJ,KAAK;AAAA,IACL,QAAQ;AAAA,IACR,UAAU;AAAA,IACV,OAAO;AAAA,IACP,OAAO;AAAA,IACP,UAAU;AAAA,IACV,gBAAgB;AAAA,EACjB;AAAA,EACD,QAAQ;AAAA,IACN,OAAO;AAAA,IACP,OAAO;AAAA,IACP,QAAQ;AAAA,EACT;AAAA,EACD,UAAU,CAAA;AACZ,CAAC;AAEI,MAAC,UAAU;AAAA,EACd,MAAM,WAAW,QAAQ;AACvB,QAAI;AACF,YAAM,aAAa,SAAS,SAAS,MAAM,UAAU,MAAM;AAE3D,UAAI,YAAY;AACd,cAAM,EAAE,KAAK,OAAO,OAAO,QAAQ,OAAO,YAAW,IAAK;AAE1DC,sBAAAA,aAAa,WAAW;AAGxB,cAAM,WAAW,MAAMC,sBAAO,IAAI,0BAA0B;AAC5D,cAAM,eAAe,SAAS;AAC9B,cAAM,WAAW;AAGjB,eAAO,OAAO,MAAM,MAAM,EAAE,KAAK,OAAO,OAAO,QAAQ;AACvD,eAAO,OAAO,MAAM,QAAQ,EAAE,OAAO,aAAa,OAAO,QAAQ,CAAC,CAAC,YAAW,CAAE;AAAA,MACxF,OAAa;AACL,gBAAQ,IAAI,YAAY;AACxBD,sBAAAA,aAAa,IAAI;AACjB,aAAK,WAAY;AAAA,MACzB;AAAA,IACK,SAAQ,OAAO;AACd,cAAQ,MAAM,4BAA4B,KAAK;AAE/C,YAAM,aAAa,MAAM;AACzBA,oBAAAA,aAAa,IAAI;AACjB,WAAK,WAAY;AACjBE,cAAAA,SAAS,KAAK;AAAA,IACpB;AAAA,EACG;AAAA;AAAA,EAGD,aAAa;AACX,UAAM,WAAW,CAAE;AACnB,UAAM,OAAO;AAAA,MACX,KAAK;AAAA,MACL,QAAQ;AAAA,MACR,UAAU;AAAA,MACV,OAAO;AAAA,MACP,OAAO;AAAA,MACP,UAAU;AAAA,MACV,gBAAgB;AAAA,IACjB;AACD,UAAM,SAAS;AAAA,MACb,OAAO;AAAA,MACP,OAAO;AAAA,MACP,QAAQ;AAAA,IACT;AAAA,EACF;AAAA,EAED,MAAM,MAAM,MAAM,MAAM;AACtB,QAAI;AACF,YAAM,WAAW,MAAMD,sBAAO,KAAK,oBAAoB;AAAA,QACrD,GAAG;AAAA,QACH;AAAA,MACR,CAAO;AAED,gBAAU,QAAQ,SAAS,IAAI;AAE/B,aAAO,OAAO,MAAM,MAAM;AAAA,QACxB,GAAG,SAAS;AAAA,MACpB,CAAO;AAED,aAAO,OAAO,MAAM,QAAQ;AAAA,QAC1B,OAAO,SAAS,KAAK;AAAA,QACrB,QAAQ;AAAA,QACR,OAAO,SAAS,KAAK;AAAA,MAC7B,CAAO;AAED,YAAM,KAAK,WAAY;AAEvB,aAAO,SAAS;AAAA,IACjB,SAAQ,OAAO;AAEd,YAAM,aAAa,MAAM;AAEzB,aAAO,OAAO,MAAM,QAAQ;AAAA,QAC1B,OAAO;AAAA,QACP,QAAQ;AAAA,QACR,OAAO;AAAA,MACf,CAAO;AAED,cAAQ,IAAI,KAAK;AACjBC,cAAAA,SAAS,KAAK;AACd,aAAO,QAAQ,OAAO,KAAK;AAAA,IACjC;AAAA,EACG;AAAA,EAED,MAAM,OAAO,MAAM,MAAM,QAAQ;AAC/B,UAAM,EAAE,UAAU,eAAgB,IAAG,MAAM;AAE3C,YAAQ,IAAI,QAAQ;AACpB,YAAQ,IAAI,cAAc;AAE1B,QAAI,aAAa,gBAAgB;AAC/B,YAAM,QAAQ;AAAA,QACZ,UAAU;AAAA,UACR,MAAM,EAAE,WAAW,yBAAwB;AAAA,QACrD;AAAA,MACO;AACDA,cAAAA,SAAS,KAAK;AACd,YAAM,IAAI,MAAM,MAAM,SAAS,MAAM;AAAA,IAC3C;AAEI,QAAI;AACF,YAAM,WAAW,MAAMD,sBAAO,KAAK,oBAAoB;AAAA,QACrD,GAAG;AAAA,QACH;AAAA,QACA,YAAY;AAAA,MACpB,CAAO;AAED,cAAQ,IAAI,QAAQ;AAEpB,UAAI,SAAS,KAAK,aAAa;AAC7B,kBAAU,QAAQ,SAAS,IAAI;AAAA,MACvC;AAEM,aAAO,OAAO,MAAM,MAAM;AAAA,QACxB,GAAG,SAAS;AAAA,MACpB,CAAO;AAED,aAAO,OAAO,MAAM,QAAQ;AAAA,QAC1B,OAAO,SAAS,KAAK;AAAA,QACrB,QAAQ;AAAA,QACR,OAAO,SAAS,KAAK;AAAA,MAC7B,CAAO;AAED,YAAM,KAAK,WAAY;AAEvB,aAAO,SAAS;AAAA,IACjB,SAAQ,OAAO;AAEd,YAAM,aAAa,MAAM;AACzBC,cAAAA,SAAS,KAAK;AACd,cAAQ,IAAI,gBAAgB;AAC5B,YAAM;AAAA,IACZ;AAAA,EACG;AAAA,EAED,MAAM,SAAS;AACb,UAAM,aAAa,MAAM;AACzBF,kBAAAA,aAAa,IAAI;AACjB,SAAK,WAAY;AAAA,EAClB;AAAA,EAED,MAAM,cAAc,MAAM,MAAM;AAC9B,QAAI;AACF,YAAM,WAAW,MAAMC,sBAAO,KAAK,4BAA4B;AAAA,QAC7D,OAAO,KAAK;AAAA,QACZ,OAAO,KAAK;AAAA,QACZ;AAAA,MACR,CAAO;AAED,aAAO,OAAOE,MAAW,MAAC,MAAM;AAAA,QAC9B,GAAG,SAAS;AAAA,QACZ,UAAU;AAAA,MAClB,CAAO;AAED,aAAO,SAAS;AAAA,IACjB,SAAQ,OAAO;AACdD,cAAAA,SAAS,KAAK;AACd,aAAO,QAAQ,OAAO,KAAK;AAAA,IACjC;AAAA,EACG;AAAA,EAED,MAAM,eAAe,MAAM,MAAM;AAC/B,UAAM,EAAE,UAAU,eAAgB,IAAG,MAAM;AAE3C,QAAI,aAAa,gBAAgB;AAC/B,YAAM,QAAQ;AAAA,QACZ,UAAU;AAAA,UACR,MAAM,EAAE,WAAW,yBAAwB;AAAA,QACrD;AAAA,MACO;AACDA,cAAAA,SAAS,KAAK;AACd,YAAM,IAAI,MAAM,MAAM,SAAS,MAAM;AAAA,IAC3C;AAEI,QAAI;AACF,YAAM,WAAW,MAAMD,sBAAO,KAAK,6BAA6B;AAAA,QAC9D,OAAO,KAAK;AAAA,QACZ,OAAO,KAAK;AAAA,QACZ,UAAU,KAAK;AAAA,QACf,gBAAgB,KAAK;AAAA,QACrB;AAAA,MACR,CAAO;AAED,UAAI,SAAS,KAAK,aAAa;AAC7B,kBAAU,QAAQ,SAAS,IAAI;AAAA,MACvC;AAEM,aAAO,OAAO,MAAM,MAAM;AAAA,QACxB,GAAG,SAAS;AAAA,MACpB,CAAO;AAED,aAAO,OAAO,MAAM,QAAQ;AAAA,QAC1B,OAAO,SAAS,KAAK;AAAA,QACrB,QAAQ;AAAA,MAChB,CAAO;AAED,aAAO,SAAS;AAAA,IACjB,SAAQ,OAAO;AAEd,YAAM,aAAa,MAAM;AACzBC,cAAAA,SAAS,KAAK;AACd,aAAO,QAAQ,OAAO,KAAK;AAAA,IACjC;AAAA,EACA;AACA;AAGA,MAAM,iBAAiB;AAAA,EACrB,aAAa,EAAE,QAAQ,OAAO,SAAS,GAAG,UAAU,MAAO;AAAA,EAC3D,YAAY,EAAE,SAAS,GAAG,MAAM,KAAK,QAAQ,QAAQ,IAAI,YAAY,UAAU,UAAU,QAAQ,KAAI;AACvG;AAEA,eAAe,UAAU,MAAM;AAC7B,MAAI,QAAQ,IAAI,YAAY;AAC1B,UAAM,EAAE,MAAK,IAAK,MAAME,MAAAA,YAAY,IAAI,EAAE,KAAK,MAAM;AACrD,WAAO,QAAQ,KAAK,MAAM,KAAK,IAAI;AAAA,EACvC,OAAS;AACL,UAAM,SAASC,UAAAA,QAAQ,IAAI,IAAI;AAC/B,WAAO,SAAS,KAAK,MAAM,MAAM,IAAI;AAAA,EACzC;AACA;AAEA,eAAe,UAAU,MAAM,MAAM,MAAM,QAAQ,IAAI,YAAY;AACjE,MAAI,QAAQ,IAAI,YAAY;AAE1B,UAAMD,MAAAA,YAAY,IAAI;AAAA,MACpB,KAAK;AAAA,MACL,OAAO,KAAK,UAAU,IAAI;AAAA,IAChC,CAAK;AAAA,EACL,OAAS;AAELC,sBAAQ,IAAI,MAAM,KAAK,UAAU,IAAI,GAAG,eAAe,GAAG,CAAC;AAAA,EAC/D;AACA;AAEA,eAAe,aAAa,MAAM,MAAM,QAAQ,IAAI,UAAU;AAC5D,MAAI,QAAQ,IAAI,YAAY;AAE1B,UAAMD,MAAW,YAAC,OAAO,EAAE,KAAK,KAAI,CAAE;AAAA,EAC1C,OAAS;AAEL,UAAM,UAAU,QAAQ,eAAe,EAAE,QAAQ,QAAQ,IAAI,YAAY,MAAM,IAAK,IAAG,CAAE;AACzFC,sBAAQ,OAAO,MAAM,OAAO;AAAA,EAChC;AACA;AAOAC,IAAAA,MAAM,OAAO,CAAC,UAAU,aAAa;AAErC,CAAC;;;;"}
@@ -227,6 +227,7 @@ watch(state, (newState, oldState) => {
227
227
  });
228
228
  export {
229
229
  actions,
230
+ removeCookie,
230
231
  state
231
232
  };
232
233
  //# sourceMappingURL=auth.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"auth.js","sources":["../../../../../../../src/modules/auth/views/store/auth.js"],"sourcesContent":["// Dependencies\nimport $axios, { setAuthToken } from '@martyrs/src/modules/globals/views/utils/axios-instance.js';\nimport Cookies from 'js-cookie'\n// Capacitor\nimport { Preferences } from '@capacitor/preferences';\n// Vue modules\nimport { reactive, watch } from \"vue\";\n// Globals \nimport { setError } from '@martyrs/src/modules/globals/views/store/globals'\n// State\nimport * as twofa from './twofa'\n\n// State\nconst state = reactive({\n user: {\n _id: undefined,\n avatar: null,\n username: '',\n email: '',\n phone: '',\n password: '',\n passwordRepeat: ''\n },\n access: {\n roles: null,\n token: null,\n status: false\n },\n accesses: []\n});\n\nconst actions = {\n async initialize(cookie) {\n try {\n const userCookie = cookie ? cookie : await getCookie('user');\n\n if (userCookie) {\n const { _id, email, phone, avatar, roles, accessToken } = userCookie;\n\n setAuthToken(accessToken);\n\n // Проверка токена через серверный маршрут\n const response = await $axios.get('/api/auth/check-accesses');\n const userAccesses = response.data;\n state.accesses = userAccesses;\n\n // Обновление состояния приложения с информацией о пользователе и его правах доступа\n Object.assign(state.user, { _id, email, phone, avatar });\n Object.assign(state.access, { token: accessToken, roles, status: !!accessToken });\n } else {\n console.log('no cookies')\n setAuthToken(null);\n this.resetState();\n }\n } catch (error) {\n console.error('Error initializing auth:', error);\n // Make sure we remove the cookie when there's an error\n await removeCookie('user');\n setAuthToken(null);\n this.resetState();\n setError(error)\n }\n },\n \n // Helper method to reset state\n resetState() {\n state.accesses = [];\n state.user = {\n _id: undefined,\n avatar: null,\n username: '',\n email: '',\n phone: '',\n password: '',\n passwordRepeat: ''\n };\n state.access = {\n roles: null,\n token: null,\n status: false\n };\n },\n \n async login(user, type) {\n try {\n const response = await $axios.post('/api/auth/signin', {\n ...user,\n type\n });\n\n setCookie('user', response.data);\n\n Object.assign(state.user, {\n ...response.data\n });\n\n Object.assign(state.access, {\n token: response.data.accessToken,\n status: true,\n roles: response.data.roles\n });\n\n await this.initialize();\n\n return response.data;\n } catch (error) {\n // Make sure cookie is removed on login error\n await removeCookie('user');\n \n Object.assign(state.access, {\n token: null,\n status: false,\n roles: null\n });\n\n console.log(error);\n setError(error);\n return Promise.reject(error);\n }\n },\n\n async signup(user, type, invite) {\n const { password, passwordRepeat } = state.user;\n\n console.log(password);\n console.log(passwordRepeat);\n\n if (password !== passwordRepeat) {\n const error = {\n response: {\n data: { errorCode: \"PASSWORDS_DO_NOT_MATCH\" }\n }\n };\n setError(error);\n throw new Error(error.response.status);\n }\n\n try {\n const response = await $axios.post('/api/auth/signup', {\n ...user,\n type,\n inviteCode: invite\n });\n\n console.log(response);\n\n if (response.data.accessToken) {\n setCookie('user', response.data);\n }\n\n Object.assign(state.user, {\n ...response.data\n });\n\n Object.assign(state.access, {\n token: response.data.accessToken,\n status: true,\n roles: response.data.roles\n });\n\n await this.initialize();\n\n return response.data;\n } catch (error) {\n // Make sure cookie is removed on signup error\n await removeCookie('user');\n setError(error);\n console.log('Sign up failed');\n throw error;\n }\n },\n\n async logout() {\n await removeCookie('user');\n setAuthToken(null);\n this.resetState();\n },\n\n async resetPassword(user, type) {\n try {\n const response = await $axios.post('/api/auth/reset-password', {\n email: user.email,\n phone: user.phone,\n type\n });\n\n Object.assign(twofa.state.code, {\n ...response.data,\n isSended: true\n });\n\n return response.data;\n } catch (error) {\n setError(error);\n return Promise.reject(error);\n }\n },\n\n async updatePassword(user, type) {\n const { password, passwordRepeat } = state.user;\n\n if (password !== passwordRepeat) {\n const error = {\n response: {\n data: { errorCode: \"PASSWORDS_DO_NOT_MATCH\" }\n }\n };\n setError(error);\n throw new Error(error.response.status);\n }\n\n try {\n const response = await $axios.post('/api/auth/update-password', {\n email: user.email,\n phone: user.phone,\n password: user.password,\n passwordRepeat: user.passwordRepeat,\n type\n });\n\n if (response.data.accessToken) {\n setCookie('user', response.data);\n }\n\n Object.assign(state.user, {\n ...response.data\n });\n\n Object.assign(state.access, {\n token: response.data.accessToken,\n status: true\n });\n\n return response.data;\n } catch (error) {\n // Make sure cookie is removed on password update error\n await removeCookie('user');\n setError(error);\n return Promise.reject(error);\n }\n }\n};\n\n// Cookies\nconst optionsDefault = {\n development: { secure: false, expires: 7, sameSite: 'Lax' },\n production: { expires: 7, path: '/', domain: process.env.DOMAIN_URL, sameSite: 'strict', secure: true }\n};\n\nasync function getCookie(name) {\n if (process.env.MOBILE_APP) {\n const { value } = await Preferences.get({ key: name });\n return value ? JSON.parse(value) : null;\n } else {\n const cookie = Cookies.get(name);\n return cookie ? JSON.parse(cookie) : null;\n }\n}\n\nasync function setCookie(name, data, env = process.env.DOMAIN_URL) {\n if (process.env.MOBILE_APP) {\n // Если приложение запущено в Capacitor\n await Preferences.set({\n key: name,\n value: JSON.stringify(data)\n });\n } else {\n // Для веб-версии\n Cookies.set(name, JSON.stringify(data), optionsDefault[env]);\n }\n}\n\nasync function removeCookie(name, env = process.env.NODE_ENV) {\n if (process.env.MOBILE_APP) {\n // Если приложение запущено в Capacitor\n await Preferences.remove({ key: name });\n } else {\n // Для веб-версии\n const options = env === 'production' ? { domain: process.env.DOMAIN_URL, path: '/' } : {};\n Cookies.remove(name, options);\n }\n}\n\n// History\nconst history = [];\nhistory.push(state);\n\n// Watch\nwatch(state, (newState, oldState) => {\n history.push(newState);\n});\n\n// Module Export\nexport {\n state,\n actions\n};"],"names":["twofa.state","Cookies"],"mappings":"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"}
1
+ {"version":3,"file":"auth.js","sources":["../../../../../../../src/modules/auth/views/store/auth.js"],"sourcesContent":["// Dependencies\nimport $axios, { setAuthToken } from '@martyrs/src/modules/globals/views/utils/axios-instance.js';\nimport Cookies from 'js-cookie'\n// Capacitor\nimport { Preferences } from '@capacitor/preferences';\n// Vue modules\nimport { reactive, watch } from \"vue\";\n// Globals \nimport { setError } from '@martyrs/src/modules/globals/views/store/globals'\n// State\nimport * as twofa from './twofa'\n\n// State\nconst state = reactive({\n user: {\n _id: undefined,\n avatar: null,\n username: '',\n email: '',\n phone: '',\n password: '',\n passwordRepeat: ''\n },\n access: {\n roles: null,\n token: null,\n status: false\n },\n accesses: []\n});\n\nconst actions = {\n async initialize(cookie) {\n try {\n const userCookie = cookie ? cookie : await getCookie('user');\n\n if (userCookie) {\n const { _id, email, phone, avatar, roles, accessToken } = userCookie;\n\n setAuthToken(accessToken);\n\n // Проверка токена через серверный маршрут\n const response = await $axios.get('/api/auth/check-accesses');\n const userAccesses = response.data;\n state.accesses = userAccesses;\n\n // Обновление состояния приложения с информацией о пользователе и его правах доступа\n Object.assign(state.user, { _id, email, phone, avatar });\n Object.assign(state.access, { token: accessToken, roles, status: !!accessToken });\n } else {\n console.log('no cookies')\n setAuthToken(null);\n this.resetState();\n }\n } catch (error) {\n console.error('Error initializing auth:', error);\n // Make sure we remove the cookie when there's an error\n await removeCookie('user');\n setAuthToken(null);\n this.resetState();\n setError(error)\n }\n },\n \n // Helper method to reset state\n resetState() {\n state.accesses = [];\n state.user = {\n _id: undefined,\n avatar: null,\n username: '',\n email: '',\n phone: '',\n password: '',\n passwordRepeat: ''\n };\n state.access = {\n roles: null,\n token: null,\n status: false\n };\n },\n \n async login(user, type) {\n try {\n const response = await $axios.post('/api/auth/signin', {\n ...user,\n type\n });\n\n setCookie('user', response.data);\n\n Object.assign(state.user, {\n ...response.data\n });\n\n Object.assign(state.access, {\n token: response.data.accessToken,\n status: true,\n roles: response.data.roles\n });\n\n await this.initialize();\n\n return response.data;\n } catch (error) {\n // Make sure cookie is removed on login error\n await removeCookie('user');\n \n Object.assign(state.access, {\n token: null,\n status: false,\n roles: null\n });\n\n console.log(error);\n setError(error);\n return Promise.reject(error);\n }\n },\n\n async signup(user, type, invite) {\n const { password, passwordRepeat } = state.user;\n\n console.log(password);\n console.log(passwordRepeat);\n\n if (password !== passwordRepeat) {\n const error = {\n response: {\n data: { errorCode: \"PASSWORDS_DO_NOT_MATCH\" }\n }\n };\n setError(error);\n throw new Error(error.response.status);\n }\n\n try {\n const response = await $axios.post('/api/auth/signup', {\n ...user,\n type,\n inviteCode: invite\n });\n\n console.log(response);\n\n if (response.data.accessToken) {\n setCookie('user', response.data);\n }\n\n Object.assign(state.user, {\n ...response.data\n });\n\n Object.assign(state.access, {\n token: response.data.accessToken,\n status: true,\n roles: response.data.roles\n });\n\n await this.initialize();\n\n return response.data;\n } catch (error) {\n // Make sure cookie is removed on signup error\n await removeCookie('user');\n setError(error);\n console.log('Sign up failed');\n throw error;\n }\n },\n\n async logout() {\n await removeCookie('user');\n setAuthToken(null);\n this.resetState();\n },\n\n async resetPassword(user, type) {\n try {\n const response = await $axios.post('/api/auth/reset-password', {\n email: user.email,\n phone: user.phone,\n type\n });\n\n Object.assign(twofa.state.code, {\n ...response.data,\n isSended: true\n });\n\n return response.data;\n } catch (error) {\n setError(error);\n return Promise.reject(error);\n }\n },\n\n async updatePassword(user, type) {\n const { password, passwordRepeat } = state.user;\n\n if (password !== passwordRepeat) {\n const error = {\n response: {\n data: { errorCode: \"PASSWORDS_DO_NOT_MATCH\" }\n }\n };\n setError(error);\n throw new Error(error.response.status);\n }\n\n try {\n const response = await $axios.post('/api/auth/update-password', {\n email: user.email,\n phone: user.phone,\n password: user.password,\n passwordRepeat: user.passwordRepeat,\n type\n });\n\n if (response.data.accessToken) {\n setCookie('user', response.data);\n }\n\n Object.assign(state.user, {\n ...response.data\n });\n\n Object.assign(state.access, {\n token: response.data.accessToken,\n status: true\n });\n\n return response.data;\n } catch (error) {\n // Make sure cookie is removed on password update error\n await removeCookie('user');\n setError(error);\n return Promise.reject(error);\n }\n }\n};\n\n// Cookies\nconst optionsDefault = {\n development: { secure: false, expires: 7, sameSite: 'Lax' },\n production: { expires: 7, path: '/', domain: process.env.DOMAIN_URL, sameSite: 'strict', secure: true }\n};\n\nasync function getCookie(name) {\n if (process.env.MOBILE_APP) {\n const { value } = await Preferences.get({ key: name });\n return value ? JSON.parse(value) : null;\n } else {\n const cookie = Cookies.get(name);\n return cookie ? JSON.parse(cookie) : null;\n }\n}\n\nasync function setCookie(name, data, env = process.env.DOMAIN_URL) {\n if (process.env.MOBILE_APP) {\n // Если приложение запущено в Capacitor\n await Preferences.set({\n key: name,\n value: JSON.stringify(data)\n });\n } else {\n // Для веб-версии\n Cookies.set(name, JSON.stringify(data), optionsDefault[env]);\n }\n}\n\nasync function removeCookie(name, env = process.env.NODE_ENV) {\n if (process.env.MOBILE_APP) {\n // Если приложение запущено в Capacitor\n await Preferences.remove({ key: name });\n } else {\n // Для веб-версии\n const options = env === 'production' ? { domain: process.env.DOMAIN_URL, path: '/' } : {};\n Cookies.remove(name, options);\n }\n}\n\n// History\nconst history = [];\nhistory.push(state);\n\n// Watch\nwatch(state, (newState, oldState) => {\n history.push(newState);\n});\n\n// Module Export\nexport {\n state,\n actions,\n removeCookie\n};"],"names":["twofa.state","Cookies"],"mappings":"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"}
@@ -8,7 +8,7 @@ const Card = require("../elements/Card.vue.cjs");
8
8
  const Audio = require("../elements/Audio.vue.cjs");
9
9
  const Video = require("../elements/Video.vue.cjs");
10
10
  const Draggable = require("../../../../components/Draggable/Draggable.vue.cjs");
11
- const v4 = require("../../../../../../node_modules/.pnpm/uuid@11.1.0/node_modules/uuid/dist/esm-browser/v4.cjs");
11
+ const v4 = require("../../../../../node_modules/uuid/dist/esm-browser/v4.cjs");
12
12
  const _hoisted_1 = ["data-index"];
13
13
  const _hoisted_2 = ["onMouseover"];
14
14
  const _hoisted_3 = {
@@ -6,7 +6,7 @@ import _sfc_main$6 from "../elements/Card.vue.js";
6
6
  import _sfc_main$3 from "../elements/Audio.vue.js";
7
7
  import _sfc_main$2 from "../elements/Video.vue.js";
8
8
  import _sfc_main$1 from "../../../../components/Draggable/Draggable.vue.js";
9
- import v4 from "../../../../../../node_modules/.pnpm/uuid@11.1.0/node_modules/uuid/dist/esm-browser/v4.js";
9
+ import v4 from "../../../../../node_modules/uuid/dist/esm-browser/v4.js";
10
10
  const _hoisted_1 = ["data-index"];
11
11
  const _hoisted_2 = ["onMouseover"];
12
12
  const _hoisted_3 = {
@@ -2,7 +2,7 @@
2
2
  Object.defineProperties(exports, { __esModule: { value: true }, [Symbol.toStringTag]: { value: "Module" } });
3
3
  const vue = require("vue");
4
4
  const vueRouter = require("vue-router");
5
- const Tab = require("../../../../components/Tab/Tab.vue2.cjs");
5
+ const Tab = require("../../../../components/Tab/Tab.vue.cjs");
6
6
  const Feed = require("../../../../components/Feed/Feed.vue.cjs");
7
7
  const CardEvent = require("../blocks/CardEvent.vue.cjs");
8
8
  const auth = require("../../../auth/views/store/auth.cjs");
@@ -1,6 +1,6 @@
1
1
  import { ref, watch, createElementBlock, openBlock, createElementVNode, createCommentVNode, unref, createBlock, createVNode, isRef, withCtx, Fragment, renderList, withModifiers } from "vue";
2
2
  import { useRoute, useRouter } from "vue-router";
3
- import _sfc_main$1 from "../../../../components/Tab/Tab.vue2.js";
3
+ import _sfc_main$1 from "../../../../components/Tab/Tab.vue.js";
4
4
  import _sfc_main$2 from "../../../../components/Feed/Feed.vue.js";
5
5
  import _sfc_main$3 from "../blocks/CardEvent.vue.js";
6
6
  import { state } from "../../../auth/views/store/auth.js";
@@ -9,10 +9,12 @@ class Store {
9
9
  current: {}
10
10
  });
11
11
  this.apiUrl = apiUrl;
12
+ console.log(`Store initialized with API URL: ${apiUrl}`);
12
13
  }
13
- // Simplified request method to avoid repetition and enhance maintainability
14
+ // Simplified request method with enhanced debugging
14
15
  async request(endpoint, options = {}) {
15
16
  const url = endpoint.startsWith("http") ? endpoint : `${this.apiUrl}${endpoint}`;
17
+ console.log(`Making request to: ${url}`, { method: options.method || "GET" });
16
18
  const defaultOptions = {
17
19
  credentials: "include",
18
20
  // Assumes credentials needed for each request
@@ -27,53 +29,131 @@ class Store {
27
29
  finalOptions.body = JSON.stringify(options.body);
28
30
  }
29
31
  try {
32
+ console.log("Request options:", JSON.stringify({
33
+ method: finalOptions.method,
34
+ headers: finalOptions.headers,
35
+ bodyLength: finalOptions.body ? JSON.stringify(finalOptions.body).length : 0
36
+ }));
30
37
  const response = await fetch(url, finalOptions);
38
+ console.log(`Response status: ${response.status}`);
39
+ const responseHeaders = {};
40
+ response.headers.forEach((value, key) => {
41
+ responseHeaders[key] = value;
42
+ });
43
+ console.log("Response headers:", responseHeaders);
31
44
  if (!response.ok) {
32
- const errorData = await response.json();
33
- const error = new Error(errorData.message || "Unknown error");
45
+ let errorData;
46
+ try {
47
+ errorData = await response.json();
48
+ } catch (jsonError) {
49
+ console.error("Failed to parse error response as JSON:", jsonError);
50
+ errorData = { message: "Failed to parse server response" };
51
+ }
52
+ console.error("Server returned error:", errorData);
53
+ const error = new Error(errorData.message || `Server returned ${response.status}`);
54
+ error.status = response.status;
34
55
  error.errorCode = errorData.errorCode || "UNKNOWN_ERROR";
56
+ error.responseText = await response.text().catch(() => "Unable to get response text");
35
57
  throw error;
36
58
  }
37
- return await response.json();
59
+ const data = await response.json();
60
+ console.log("Response data received successfully");
61
+ return data;
38
62
  } catch (error) {
39
- console.error(error);
63
+ console.error("Request failed:", error);
64
+ if (error.name === "TypeError" && error.message.includes("Failed to fetch")) {
65
+ console.error("Network error detected. This might indicate a CORS issue, network connectivity problem, or the server is down.");
66
+ const enhancedError = new Error("Network error: Unable to connect to the server");
67
+ enhancedError.originalError = error;
68
+ globals.setError(enhancedError);
69
+ throw enhancedError;
70
+ }
40
71
  globals.setError(error);
41
72
  throw error;
42
73
  }
43
74
  }
44
75
  async create(item) {
45
- return await this.request("/create", {
46
- method: "POST",
47
- body: item
48
- });
76
+ console.log("Creating item:", item);
77
+ try {
78
+ const result = await this.request("/create", {
79
+ method: "POST",
80
+ body: item
81
+ });
82
+ console.log("Create operation succeeded:", result);
83
+ return result;
84
+ } catch (error) {
85
+ console.error("Create operation failed:", error);
86
+ if (error.status) {
87
+ console.error(`HTTP Status: ${error.status}`);
88
+ }
89
+ if (error.errorCode) {
90
+ console.error(`Error Code: ${error.errorCode}`);
91
+ }
92
+ globals.setError(error);
93
+ throw error;
94
+ }
49
95
  }
50
96
  async read(options = {}) {
51
- const queryParams = new URLSearchParams(options).toString();
52
- return await this.request(`/read?${queryParams}`);
97
+ console.log("Reading items with options:", options);
98
+ try {
99
+ const queryParams = new URLSearchParams(options).toString();
100
+ const result = await this.request(`/read?${queryParams}`);
101
+ console.log(`Read operation returned ${result.length || 0} items`);
102
+ return result;
103
+ } catch (error) {
104
+ console.error("Read operation failed:", error);
105
+ globals.setError(error);
106
+ throw error;
107
+ }
53
108
  }
54
109
  async update(item) {
55
- return await this.request("/update", {
56
- method: "PUT",
57
- body: item
58
- });
110
+ console.log("Updating item:", item);
111
+ try {
112
+ const result = await this.request("/update", {
113
+ method: "PUT",
114
+ body: item
115
+ });
116
+ console.log("Update operation succeeded:", result);
117
+ return result;
118
+ } catch (error) {
119
+ console.error("Update operation failed:", error);
120
+ globals.setError(error);
121
+ throw error;
122
+ }
59
123
  }
60
124
  async delete(item) {
61
- return await this.request(`/delete`, {
62
- method: "DELETE",
63
- body: item
64
- });
125
+ console.log("Deleting item:", item);
126
+ try {
127
+ const result = await this.request(`/delete`, {
128
+ method: "DELETE",
129
+ body: item
130
+ });
131
+ console.log("Delete operation succeeded");
132
+ return result;
133
+ } catch (error) {
134
+ console.error("Delete operation failed:", error);
135
+ globals.setError(error);
136
+ throw error;
137
+ }
65
138
  }
66
139
  // Enhanced Mutations utilizing Vue reactivity system efficiently
67
140
  setItems(items, state) {
68
- state || this.state.items;
69
- state.splice(0, state.length, ...items);
141
+ console.log(`Setting ${items.length} items in state`);
142
+ const targetState = state || this.state.items;
143
+ if (Array.isArray(targetState)) {
144
+ targetState.splice(0, targetState.length, ...items);
145
+ } else {
146
+ console.error("Target state is not an array in setItems");
147
+ }
70
148
  }
71
149
  addItem(item, state, property = "_id") {
72
150
  const targetState = state || this.state.items;
73
151
  const existingItemIndex = targetState.findIndex((i) => i[property] === item[property]);
74
152
  if (existingItemIndex === -1) {
153
+ console.log("Adding new item to state");
75
154
  targetState.splice(0, 0, item);
76
155
  } else {
156
+ console.log("Updating existing item in state");
77
157
  Object.assign(targetState[existingItemIndex], item);
78
158
  }
79
159
  }
@@ -81,14 +161,20 @@ class Store {
81
161
  const targetState = state || this.state.items;
82
162
  const index = targetState.findIndex((i) => i[property] === item[property]);
83
163
  if (index !== -1) {
164
+ console.log("Replacing item in state");
84
165
  targetState.splice(index, 1, item);
166
+ } else {
167
+ console.log("Item not found for update in state");
85
168
  }
86
169
  }
87
170
  removeItem(item, state, property = "_id") {
88
171
  const targetState = state || this.state.items;
89
172
  const index = targetState.findIndex((i) => i[property] === item[property]);
90
173
  if (index !== -1) {
174
+ console.log("Removing item from state");
91
175
  targetState.splice(index, 1);
176
+ } else {
177
+ console.log("Item not found for removal from state");
92
178
  }
93
179
  }
94
180
  }
@@ -1 +1 @@
1
- {"version":3,"file":"globals.store.cjs","sources":["../../../../../../../src/modules/globals/views/classes/globals.store.js"],"sourcesContent":["import { reactive } from 'vue';\n\n// Globals \nimport { setError } from '@martyrs/src/modules/globals/views/store/globals'\n\nclass Store {\n constructor(apiUrl) {\n this.state = reactive({\n items: [],\n current: {}\n });\n this.apiUrl = apiUrl;\n }\n\n // Simplified request method to avoid repetition and enhance maintainability\n async request(endpoint, options = {}) {\n const url = endpoint.startsWith('http') ? endpoint : `${this.apiUrl}${endpoint}`;\n\n const defaultOptions = {\n credentials: 'include', // Assumes credentials needed for each request\n headers: {}\n };\n const finalOptions = {\n ...defaultOptions,\n ...options\n };\n\n // Set default headers if content type is not explicitly set\n if (!finalOptions.headers['Content-Type'] && options.body) {\n finalOptions.headers['Content-Type'] = 'application/json';\n finalOptions.body = JSON.stringify(options.body);\n }\n\n try {\n const response = await fetch(url, finalOptions);\n\n if (!response.ok) {\n const errorData = await response.json();\n const error = new Error(errorData.message || 'Unknown error');\n error.errorCode = errorData.errorCode || 'UNKNOWN_ERROR';\n throw error;\n }\n\n return await response.json();\n\n } catch (error) {\n console.error(error);\n setError(error);\n throw error;\n }\n }\n\n async create(item) {\n return await this.request('/create', {\n method: 'POST',\n body: item\n });\n }\n\n async read(options = {}) {\n const queryParams = new URLSearchParams(options).toString();\n \n return await this.request(`/read?${queryParams}`);\n }\n\n async update(item) {\n return await this.request('/update', {\n method: 'PUT',\n body: item\n });\n }\n\n async delete(item) {\n return await this.request(`/delete`, {\n method: 'DELETE',\n body: item\n });\n }\n\n // Enhanced Mutations utilizing Vue reactivity system efficiently \n setItems(items, state) {\n const targetState = state || this.state.items;\n\n state.splice(0, state.length, ...items);\n }\n\n addItem(item, state, property = '_id') {\n const targetState = state || this.state.items;\n const existingItemIndex = targetState.findIndex(i => i[property] === item[property]);\n \n if (existingItemIndex === -1) {\n targetState.splice(0, 0, item);\n } else {\n Object.assign(targetState[existingItemIndex], item);\n }\n }\n\n updateItem(item, state, property = '_id') {\n const targetState = state || this.state.items;\n const index = targetState.findIndex(i => i[property] === item[property]);\n if (index !== -1) {\n targetState.splice(index, 1, item);\n }\n }\n\n removeItem(item, state, property = '_id') {\n const targetState = state || this.state.items;\n // Поиск и удаление элемента по указанному ключу\n const index = targetState.findIndex(i => i[property] === item[property]);\n if (index !== -1) {\n targetState.splice(index, 1);\n }\n }\n}\n\nexport default Store;"],"names":["reactive","setError"],"mappings":"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"}
1
+ {"version":3,"file":"globals.store.cjs","sources":["../../../../../../../src/modules/globals/views/classes/globals.store.js"],"sourcesContent":["import { reactive } from 'vue';\n// Globals \nimport { setError } from '@martyrs/src/modules/globals/views/store/globals';\n\nclass Store {\n constructor(apiUrl) {\n this.state = reactive({\n items: [],\n current: {}\n });\n this.apiUrl = apiUrl;\n console.log(`Store initialized with API URL: ${apiUrl}`);\n }\n\n // Simplified request method with enhanced debugging\n async request(endpoint, options = {}) {\n const url = endpoint.startsWith('http') ? endpoint : `${this.apiUrl}${endpoint}`;\n console.log(`Making request to: ${url}`, { method: options.method || 'GET' });\n \n const defaultOptions = {\n credentials: 'include', // Assumes credentials needed for each request\n headers: {}\n };\n const finalOptions = {\n ...defaultOptions,\n ...options\n };\n\n // Set default headers if content type is not explicitly set\n if (!finalOptions.headers['Content-Type'] && options.body) {\n finalOptions.headers['Content-Type'] = 'application/json';\n finalOptions.body = JSON.stringify(options.body);\n }\n\n try {\n console.log('Request options:', JSON.stringify({\n method: finalOptions.method,\n headers: finalOptions.headers,\n bodyLength: finalOptions.body ? JSON.stringify(finalOptions.body).length : 0\n }));\n \n const response = await fetch(url, finalOptions);\n console.log(`Response status: ${response.status}`);\n \n // Log response headers for debugging\n const responseHeaders = {};\n response.headers.forEach((value, key) => {\n responseHeaders[key] = value;\n });\n console.log('Response headers:', responseHeaders);\n\n if (!response.ok) {\n let errorData;\n try {\n errorData = await response.json();\n } catch (jsonError) {\n console.error('Failed to parse error response as JSON:', jsonError);\n errorData = { message: 'Failed to parse server response' };\n }\n \n console.error('Server returned error:', errorData);\n const error = new Error(errorData.message || `Server returned ${response.status}`);\n error.status = response.status;\n error.errorCode = errorData.errorCode || 'UNKNOWN_ERROR';\n error.responseText = await response.text().catch(() => 'Unable to get response text');\n throw error;\n }\n\n const data = await response.json();\n console.log('Response data received successfully');\n return data;\n } catch (error) {\n console.error('Request failed:', error);\n if (error.name === 'TypeError' && error.message.includes('Failed to fetch')) {\n console.error('Network error detected. This might indicate a CORS issue, network connectivity problem, or the server is down.');\n const enhancedError = new Error('Network error: Unable to connect to the server');\n enhancedError.originalError = error;\n setError(enhancedError);\n throw enhancedError;\n }\n \n setError(error);\n throw error;\n }\n }\n\n async create(item) {\n console.log('Creating item:', item);\n try {\n const result = await this.request('/create', {\n method: 'POST',\n body: item\n });\n console.log('Create operation succeeded:', result);\n return result;\n } catch (error) {\n console.error('Create operation failed:', error);\n // Log specific error details\n if (error.status) {\n console.error(`HTTP Status: ${error.status}`);\n }\n if (error.errorCode) {\n console.error(`Error Code: ${error.errorCode}`);\n }\n setError(error);\n throw error;\n }\n }\n\n async read(options = {}) {\n console.log('Reading items with options:', options);\n try {\n const queryParams = new URLSearchParams(options).toString();\n const result = await this.request(`/read?${queryParams}`);\n console.log(`Read operation returned ${result.length || 0} items`);\n return result;\n } catch (error) {\n console.error('Read operation failed:', error);\n setError(error);\n throw error;\n }\n }\n\n async update(item) {\n console.log('Updating item:', item);\n try {\n const result = await this.request('/update', {\n method: 'PUT',\n body: item\n });\n console.log('Update operation succeeded:', result);\n return result;\n } catch (error) {\n console.error('Update operation failed:', error);\n setError(error);\n throw error;\n }\n }\n\n async delete(item) {\n console.log('Deleting item:', item);\n try {\n const result = await this.request(`/delete`, {\n method: 'DELETE',\n body: item\n });\n console.log('Delete operation succeeded');\n return result;\n } catch (error) {\n console.error('Delete operation failed:', error);\n setError(error);\n throw error;\n }\n }\n\n // Enhanced Mutations utilizing Vue reactivity system efficiently \n setItems(items, state) {\n console.log(`Setting ${items.length} items in state`);\n const targetState = state || this.state.items;\n if (Array.isArray(targetState)) {\n targetState.splice(0, targetState.length, ...items);\n } else {\n console.error('Target state is not an array in setItems');\n }\n }\n\n addItem(item, state, property = '_id') {\n const targetState = state || this.state.items;\n const existingItemIndex = targetState.findIndex(i => i[property] === item[property]);\n \n if (existingItemIndex === -1) {\n console.log('Adding new item to state');\n targetState.splice(0, 0, item);\n } else {\n console.log('Updating existing item in state');\n Object.assign(targetState[existingItemIndex], item);\n }\n }\n\n updateItem(item, state, property = '_id') {\n const targetState = state || this.state.items;\n const index = targetState.findIndex(i => i[property] === item[property]);\n if (index !== -1) {\n console.log('Replacing item in state');\n targetState.splice(index, 1, item);\n } else {\n console.log('Item not found for update in state');\n }\n }\n\n removeItem(item, state, property = '_id') {\n const targetState = state || this.state.items;\n // Поиск и удаление элемента по указанному ключу\n const index = targetState.findIndex(i => i[property] === item[property]);\n if (index !== -1) {\n console.log('Removing item from state');\n targetState.splice(index, 1);\n } else {\n console.log('Item not found for removal from state');\n }\n }\n}\n\nexport default Store;"],"names":["reactive","setError"],"mappings":"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"}
@@ -7,10 +7,12 @@ class Store {
7
7
  current: {}
8
8
  });
9
9
  this.apiUrl = apiUrl;
10
+ console.log(`Store initialized with API URL: ${apiUrl}`);
10
11
  }
11
- // Simplified request method to avoid repetition and enhance maintainability
12
+ // Simplified request method with enhanced debugging
12
13
  async request(endpoint, options = {}) {
13
14
  const url = endpoint.startsWith("http") ? endpoint : `${this.apiUrl}${endpoint}`;
15
+ console.log(`Making request to: ${url}`, { method: options.method || "GET" });
14
16
  const defaultOptions = {
15
17
  credentials: "include",
16
18
  // Assumes credentials needed for each request
@@ -25,53 +27,131 @@ class Store {
25
27
  finalOptions.body = JSON.stringify(options.body);
26
28
  }
27
29
  try {
30
+ console.log("Request options:", JSON.stringify({
31
+ method: finalOptions.method,
32
+ headers: finalOptions.headers,
33
+ bodyLength: finalOptions.body ? JSON.stringify(finalOptions.body).length : 0
34
+ }));
28
35
  const response = await fetch(url, finalOptions);
36
+ console.log(`Response status: ${response.status}`);
37
+ const responseHeaders = {};
38
+ response.headers.forEach((value, key) => {
39
+ responseHeaders[key] = value;
40
+ });
41
+ console.log("Response headers:", responseHeaders);
29
42
  if (!response.ok) {
30
- const errorData = await response.json();
31
- const error = new Error(errorData.message || "Unknown error");
43
+ let errorData;
44
+ try {
45
+ errorData = await response.json();
46
+ } catch (jsonError) {
47
+ console.error("Failed to parse error response as JSON:", jsonError);
48
+ errorData = { message: "Failed to parse server response" };
49
+ }
50
+ console.error("Server returned error:", errorData);
51
+ const error = new Error(errorData.message || `Server returned ${response.status}`);
52
+ error.status = response.status;
32
53
  error.errorCode = errorData.errorCode || "UNKNOWN_ERROR";
54
+ error.responseText = await response.text().catch(() => "Unable to get response text");
33
55
  throw error;
34
56
  }
35
- return await response.json();
57
+ const data = await response.json();
58
+ console.log("Response data received successfully");
59
+ return data;
36
60
  } catch (error) {
37
- console.error(error);
61
+ console.error("Request failed:", error);
62
+ if (error.name === "TypeError" && error.message.includes("Failed to fetch")) {
63
+ console.error("Network error detected. This might indicate a CORS issue, network connectivity problem, or the server is down.");
64
+ const enhancedError = new Error("Network error: Unable to connect to the server");
65
+ enhancedError.originalError = error;
66
+ setError(enhancedError);
67
+ throw enhancedError;
68
+ }
38
69
  setError(error);
39
70
  throw error;
40
71
  }
41
72
  }
42
73
  async create(item) {
43
- return await this.request("/create", {
44
- method: "POST",
45
- body: item
46
- });
74
+ console.log("Creating item:", item);
75
+ try {
76
+ const result = await this.request("/create", {
77
+ method: "POST",
78
+ body: item
79
+ });
80
+ console.log("Create operation succeeded:", result);
81
+ return result;
82
+ } catch (error) {
83
+ console.error("Create operation failed:", error);
84
+ if (error.status) {
85
+ console.error(`HTTP Status: ${error.status}`);
86
+ }
87
+ if (error.errorCode) {
88
+ console.error(`Error Code: ${error.errorCode}`);
89
+ }
90
+ setError(error);
91
+ throw error;
92
+ }
47
93
  }
48
94
  async read(options = {}) {
49
- const queryParams = new URLSearchParams(options).toString();
50
- return await this.request(`/read?${queryParams}`);
95
+ console.log("Reading items with options:", options);
96
+ try {
97
+ const queryParams = new URLSearchParams(options).toString();
98
+ const result = await this.request(`/read?${queryParams}`);
99
+ console.log(`Read operation returned ${result.length || 0} items`);
100
+ return result;
101
+ } catch (error) {
102
+ console.error("Read operation failed:", error);
103
+ setError(error);
104
+ throw error;
105
+ }
51
106
  }
52
107
  async update(item) {
53
- return await this.request("/update", {
54
- method: "PUT",
55
- body: item
56
- });
108
+ console.log("Updating item:", item);
109
+ try {
110
+ const result = await this.request("/update", {
111
+ method: "PUT",
112
+ body: item
113
+ });
114
+ console.log("Update operation succeeded:", result);
115
+ return result;
116
+ } catch (error) {
117
+ console.error("Update operation failed:", error);
118
+ setError(error);
119
+ throw error;
120
+ }
57
121
  }
58
122
  async delete(item) {
59
- return await this.request(`/delete`, {
60
- method: "DELETE",
61
- body: item
62
- });
123
+ console.log("Deleting item:", item);
124
+ try {
125
+ const result = await this.request(`/delete`, {
126
+ method: "DELETE",
127
+ body: item
128
+ });
129
+ console.log("Delete operation succeeded");
130
+ return result;
131
+ } catch (error) {
132
+ console.error("Delete operation failed:", error);
133
+ setError(error);
134
+ throw error;
135
+ }
63
136
  }
64
137
  // Enhanced Mutations utilizing Vue reactivity system efficiently
65
138
  setItems(items, state) {
66
- state || this.state.items;
67
- state.splice(0, state.length, ...items);
139
+ console.log(`Setting ${items.length} items in state`);
140
+ const targetState = state || this.state.items;
141
+ if (Array.isArray(targetState)) {
142
+ targetState.splice(0, targetState.length, ...items);
143
+ } else {
144
+ console.error("Target state is not an array in setItems");
145
+ }
68
146
  }
69
147
  addItem(item, state, property = "_id") {
70
148
  const targetState = state || this.state.items;
71
149
  const existingItemIndex = targetState.findIndex((i) => i[property] === item[property]);
72
150
  if (existingItemIndex === -1) {
151
+ console.log("Adding new item to state");
73
152
  targetState.splice(0, 0, item);
74
153
  } else {
154
+ console.log("Updating existing item in state");
75
155
  Object.assign(targetState[existingItemIndex], item);
76
156
  }
77
157
  }
@@ -79,14 +159,20 @@ class Store {
79
159
  const targetState = state || this.state.items;
80
160
  const index = targetState.findIndex((i) => i[property] === item[property]);
81
161
  if (index !== -1) {
162
+ console.log("Replacing item in state");
82
163
  targetState.splice(index, 1, item);
164
+ } else {
165
+ console.log("Item not found for update in state");
83
166
  }
84
167
  }
85
168
  removeItem(item, state, property = "_id") {
86
169
  const targetState = state || this.state.items;
87
170
  const index = targetState.findIndex((i) => i[property] === item[property]);
88
171
  if (index !== -1) {
172
+ console.log("Removing item from state");
89
173
  targetState.splice(index, 1);
174
+ } else {
175
+ console.log("Item not found for removal from state");
90
176
  }
91
177
  }
92
178
  }