musora-content-services 2.21.3 → 2.21.4

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 (165) hide show
  1. package/.coderabbit.yaml +0 -0
  2. package/.editorconfig +0 -0
  3. package/.github/pull_request_template.md +0 -0
  4. package/.github/workflows/conventional-commits.yaml +0 -0
  5. package/.github/workflows/docs.js.yml +0 -0
  6. package/.github/workflows/node.js.yml +0 -0
  7. package/.prettierignore +0 -0
  8. package/.prettierrc +0 -0
  9. package/CHANGELOG.md +7 -0
  10. package/README.md +0 -0
  11. package/babel.config.cjs +0 -0
  12. package/docs/Content-Organization.html +0 -0
  13. package/docs/ContentOrganization.html +0 -0
  14. package/docs/Gamification.html +0 -0
  15. package/docs/UserManagement.html +0 -0
  16. package/docs/UserManagementSystem.html +0 -0
  17. package/docs/api_types.js.html +0 -0
  18. package/docs/config.js.html +0 -0
  19. package/docs/content-org_content-org.js.html +0 -0
  20. package/docs/content-org_playlists-types.js.html +0 -0
  21. package/docs/content-org_playlists.js.html +0 -0
  22. package/docs/content.js.html +0 -0
  23. package/docs/fonts/Montserrat/Montserrat-Bold.eot +0 -0
  24. package/docs/fonts/Montserrat/Montserrat-Bold.ttf +0 -0
  25. package/docs/fonts/Montserrat/Montserrat-Bold.woff +0 -0
  26. package/docs/fonts/Montserrat/Montserrat-Bold.woff2 +0 -0
  27. package/docs/fonts/Montserrat/Montserrat-Regular.eot +0 -0
  28. package/docs/fonts/Montserrat/Montserrat-Regular.ttf +0 -0
  29. package/docs/fonts/Montserrat/Montserrat-Regular.woff +0 -0
  30. package/docs/fonts/Montserrat/Montserrat-Regular.woff2 +0 -0
  31. package/docs/fonts/Source-Sans-Pro/sourcesanspro-light-webfont.eot +0 -0
  32. package/docs/fonts/Source-Sans-Pro/sourcesanspro-light-webfont.svg +0 -0
  33. package/docs/fonts/Source-Sans-Pro/sourcesanspro-light-webfont.ttf +0 -0
  34. package/docs/fonts/Source-Sans-Pro/sourcesanspro-light-webfont.woff +0 -0
  35. package/docs/fonts/Source-Sans-Pro/sourcesanspro-light-webfont.woff2 +0 -0
  36. package/docs/fonts/Source-Sans-Pro/sourcesanspro-regular-webfont.eot +0 -0
  37. package/docs/fonts/Source-Sans-Pro/sourcesanspro-regular-webfont.svg +0 -0
  38. package/docs/fonts/Source-Sans-Pro/sourcesanspro-regular-webfont.ttf +0 -0
  39. package/docs/fonts/Source-Sans-Pro/sourcesanspro-regular-webfont.woff +0 -0
  40. package/docs/fonts/Source-Sans-Pro/sourcesanspro-regular-webfont.woff2 +0 -0
  41. package/docs/gamification_awards.js.html +0 -0
  42. package/docs/gamification_gamification.js.html +0 -0
  43. package/docs/gamification_types.js.html +0 -0
  44. package/docs/global.html +0 -0
  45. package/docs/global.html#User +0 -0
  46. package/docs/index.html +0 -0
  47. package/docs/module-Awards.html +0 -0
  48. package/docs/module-Config.html +0 -0
  49. package/docs/module-Content-Services-V2.html +0 -0
  50. package/docs/module-Interests.html +0 -0
  51. package/docs/module-Notifications.html +0 -0
  52. package/docs/module-Permissions.html +0 -0
  53. package/docs/module-Playlists.html +0 -0
  54. package/docs/module-Railcontent-Services.html +0 -0
  55. package/docs/module-Sanity-Services.html +0 -0
  56. package/docs/module-Session-Management.html +0 -0
  57. package/docs/module-Sessions.html +0 -0
  58. package/docs/module-User-Activity.html +0 -0
  59. package/docs/module-User-Management.html +0 -0
  60. package/docs/module-User-Permissions.html +0 -0
  61. package/docs/module-UserActivity.html +0 -0
  62. package/docs/module-UserChat.html +0 -0
  63. package/docs/module-UserManagement.html +0 -0
  64. package/docs/module-UserNotifications.html +0 -0
  65. package/docs/module-UserProfile.html +0 -0
  66. package/docs/railcontent.js.html +0 -0
  67. package/docs/sanity.js.html +0 -0
  68. package/docs/scripts/collapse.js +0 -0
  69. package/docs/scripts/commonNav.js +0 -0
  70. package/docs/scripts/linenumber.js +0 -0
  71. package/docs/scripts/nav.js +0 -0
  72. package/docs/scripts/polyfill.js +0 -0
  73. package/docs/scripts/prettify/Apache-License-2.0.txt +0 -0
  74. package/docs/scripts/prettify/lang-css.js +0 -0
  75. package/docs/scripts/prettify/prettify.js +0 -0
  76. package/docs/scripts/search.js +0 -0
  77. package/docs/styles/jsdoc.css +0 -0
  78. package/docs/styles/prettify.css +0 -0
  79. package/docs/types.js.html +0 -0
  80. package/docs/userActivity.js.html +0 -0
  81. package/docs/user_chat.js.html +0 -0
  82. package/docs/user_interests.js.html +0 -0
  83. package/docs/user_management.js.html +0 -0
  84. package/docs/user_notifications.js.html +0 -0
  85. package/docs/user_permissions.js.html +0 -0
  86. package/docs/user_profile.js.html +0 -0
  87. package/docs/user_sessions.js.html +0 -0
  88. package/docs/user_types.js.html +0 -0
  89. package/docs/user_user-management-system.js.html +0 -0
  90. package/docs/user_user-management.js.html +0 -0
  91. package/jest.config.js +0 -0
  92. package/jsdoc.json +0 -0
  93. package/package.json +1 -1
  94. package/src/contentMetaData.js +0 -0
  95. package/src/contentTypeConfig.js +4 -0
  96. package/src/filterBuilder.js +0 -0
  97. package/src/index.d.ts +0 -0
  98. package/src/index.js +0 -0
  99. package/src/infrastructure/http/HttpClient.ts +0 -0
  100. package/src/infrastructure/http/executors/FetchRequestExecutor.ts +0 -0
  101. package/src/infrastructure/http/index.ts +0 -0
  102. package/src/infrastructure/http/interfaces/HeaderProvider.ts +0 -0
  103. package/src/infrastructure/http/interfaces/HttpError.ts +0 -0
  104. package/src/infrastructure/http/interfaces/NetworkError.ts +0 -0
  105. package/src/infrastructure/http/interfaces/RequestExecutor.ts +0 -0
  106. package/src/infrastructure/http/interfaces/RequestOptions.ts +0 -0
  107. package/src/infrastructure/http/providers/DefaultHeaderProvider.ts +0 -0
  108. package/src/lib/httpHelper.js +0 -0
  109. package/src/lib/lastUpdated.js +0 -0
  110. package/src/services/api/types.js +0 -0
  111. package/src/services/config.js +0 -0
  112. package/src/services/content-org/content-org.js +0 -0
  113. package/src/services/content-org/guided-courses.ts +0 -0
  114. package/src/services/content-org/playlists-types.js +0 -0
  115. package/src/services/content-org/playlists.js +0 -0
  116. package/src/services/content.js +0 -0
  117. package/src/services/contentLikes.js +0 -0
  118. package/src/services/dataContext.js +0 -0
  119. package/src/services/dateUtils.js +0 -0
  120. package/src/services/forum.js +38 -16
  121. package/src/services/gamification/awards.js +1 -519
  122. package/src/services/gamification/gamification.js +0 -0
  123. package/src/services/gamification/types.js +0 -0
  124. package/src/services/imageSRCBuilder.js +0 -0
  125. package/src/services/imageSRCVerify.js +0 -0
  126. package/src/services/railcontent.js +0 -0
  127. package/src/services/recommendations.js +0 -0
  128. package/src/services/types.js +0 -0
  129. package/src/services/user/account.ts +0 -0
  130. package/src/services/user/chat.js +0 -0
  131. package/src/services/user/interests.js +0 -0
  132. package/src/services/user/management.js +0 -0
  133. package/src/services/user/notifications.js +0 -0
  134. package/src/services/user/permissions.js +0 -0
  135. package/src/services/user/profile.js +0 -0
  136. package/src/services/user/sessions.js +0 -0
  137. package/src/services/user/types.js +0 -0
  138. package/src/services/user/user-management-system.js +0 -0
  139. package/src/services/userActivity.js +10 -8
  140. package/test/HttpClient.test.js +0 -0
  141. package/test/content.test.js +0 -0
  142. package/test/contentLikes.test.js +0 -0
  143. package/test/contentProgress.test.js +0 -0
  144. package/test/dataContext.test.js +0 -0
  145. package/test/forum.test.js +0 -0
  146. package/test/imageSRCBuilder.test.js +0 -0
  147. package/test/imageSRCVerify.test.js +0 -0
  148. package/test/initializeTests.js +0 -0
  149. package/test/lib/lastUpdated.test.js +0 -0
  150. package/test/live/contentProgressLive.test.js +0 -0
  151. package/test/live/railcontentLive.test.js +0 -0
  152. package/test/localStorageMock.js +0 -0
  153. package/test/log.js +0 -0
  154. package/test/mockData/mockData_fetchByRailContentIds_one_content.json +0 -0
  155. package/test/mockData/mockData_progress_content.json +0 -0
  156. package/test/mockData/mockData_sanity_progress_content.json +0 -0
  157. package/test/mockData/mockData_user_practices.json +0 -0
  158. package/test/notifications.test.js +0 -0
  159. package/test/progressRows.test.js +0 -0
  160. package/test/sanityQueryService.test.js +0 -0
  161. package/test/streakMessage.test.js +0 -0
  162. package/test/user/permissions.test.js +0 -0
  163. package/test/userActivity.test.js +0 -0
  164. package/tools/generate-index.cjs +0 -0
  165. package/.yarnrc.yml +0 -1
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
@@ -1344,8 +1344,8 @@ export function findIncompleteLesson(progressOnItems, currentContentId, contentT
1344
1344
  export async function pinProgressRow(brand, id, progressType) {
1345
1345
  const url = `/api/user-management-system/v1/progress/pin?brand=${brand}&id=${id}&progressType=${progressType}`;
1346
1346
  const response = await fetchHandler(url, 'PUT', null)
1347
- if (response && !response.error) {
1348
- await updatePinnedProgressRow(brand, {
1347
+ if (response && !response.error && response['action'] === 'update_user_pin') {
1348
+ await updateUserPinnedProgressRow(brand, {
1349
1349
  id,
1350
1350
  progressType,
1351
1351
  pinnedAt: new Date().toISOString(),
@@ -1357,23 +1357,25 @@ export async function pinProgressRow(brand, id, progressType) {
1357
1357
  * Unpins the current pinned progress row for a user, scoped by brand.
1358
1358
  *
1359
1359
  * @param {string} brand - The brand context for the unpin action.
1360
+ * @param {string} id - The content or playlist id to unpin.
1360
1361
  * @returns {Promise<Object>} - A promise resolving to the response from the unpin API.
1361
1362
  *
1362
1363
  * @example
1363
- * unpinProgressRow('drumeo')
1364
+ * unpinProgressRow('drumeo', 123456)
1364
1365
  * .then(response => console.log(response))
1365
1366
  * .catch(error => console.error(error));
1366
1367
  */
1367
- export async function unpinProgressRow(brand) {
1368
- const url = `/api/user-management-system/v1/progress/unpin?brand=${brand}`
1368
+ export async function unpinProgressRow(brand, id) {
1369
+ if (!(brand && id)) throw new Error(`undefined parameter brand: ${brand} or id: ${id}`)
1370
+ const url = `/api/user-management-system/v1/progress/unpin?brand=${brand}&id=${id}`
1369
1371
  const response = await fetchHandler(url, 'PUT', null)
1370
- if (response && !response.error) {
1371
- await updatePinnedProgressRow(brand, null)
1372
+ if (response && !response.error && response['action'] === 'clear_user_pin') {
1373
+ await updateUserPinnedProgressRow(brand, null)
1372
1374
  }
1373
1375
  return response
1374
1376
  }
1375
1377
 
1376
- async function updatePinnedProgressRow(brand, pinnedData) {
1378
+ async function updateUserPinnedProgressRow(brand, pinnedData) {
1377
1379
  const userRaw = await globalConfig.localStorage.getItem('user');
1378
1380
  const user = userRaw ? JSON.parse(userRaw) : {};
1379
1381
  user.brand_pinned_progress = user.brand_pinned_progress || {}
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
package/test/log.js CHANGED
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
package/.yarnrc.yml DELETED
@@ -1 +0,0 @@
1
- nodeLinker: node-modules