musora-content-services 2.30.3 → 2.30.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 (144) 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 +8 -0
  10. package/README.md +0 -0
  11. package/babel.config.cjs +0 -0
  12. package/docs/ContentOrganization.html +0 -0
  13. package/docs/Gamification.html +0 -0
  14. package/docs/UserManagementSystem.html +0 -0
  15. package/docs/api_types.js.html +0 -0
  16. package/docs/config.js.html +0 -0
  17. package/docs/content-org_content-org.js.html +0 -0
  18. package/docs/content-org_playlists-types.js.html +0 -0
  19. package/docs/content-org_playlists.js.html +0 -0
  20. package/docs/content.js.html +0 -0
  21. package/docs/fonts/Montserrat/Montserrat-Bold.eot +0 -0
  22. package/docs/fonts/Montserrat/Montserrat-Bold.ttf +0 -0
  23. package/docs/fonts/Montserrat/Montserrat-Bold.woff +0 -0
  24. package/docs/fonts/Montserrat/Montserrat-Bold.woff2 +0 -0
  25. package/docs/fonts/Montserrat/Montserrat-Regular.eot +0 -0
  26. package/docs/fonts/Montserrat/Montserrat-Regular.ttf +0 -0
  27. package/docs/fonts/Montserrat/Montserrat-Regular.woff +0 -0
  28. package/docs/fonts/Montserrat/Montserrat-Regular.woff2 +0 -0
  29. package/docs/fonts/Source-Sans-Pro/sourcesanspro-light-webfont.eot +0 -0
  30. package/docs/fonts/Source-Sans-Pro/sourcesanspro-light-webfont.svg +0 -0
  31. package/docs/fonts/Source-Sans-Pro/sourcesanspro-light-webfont.ttf +0 -0
  32. package/docs/fonts/Source-Sans-Pro/sourcesanspro-light-webfont.woff +0 -0
  33. package/docs/fonts/Source-Sans-Pro/sourcesanspro-light-webfont.woff2 +0 -0
  34. package/docs/fonts/Source-Sans-Pro/sourcesanspro-regular-webfont.eot +0 -0
  35. package/docs/fonts/Source-Sans-Pro/sourcesanspro-regular-webfont.svg +0 -0
  36. package/docs/fonts/Source-Sans-Pro/sourcesanspro-regular-webfont.ttf +0 -0
  37. package/docs/fonts/Source-Sans-Pro/sourcesanspro-regular-webfont.woff +0 -0
  38. package/docs/fonts/Source-Sans-Pro/sourcesanspro-regular-webfont.woff2 +0 -0
  39. package/docs/gamification_awards.js.html +0 -0
  40. package/docs/gamification_gamification.js.html +0 -0
  41. package/docs/gamification_types.js.html +0 -0
  42. package/docs/global.html +0 -0
  43. package/docs/index.html +0 -0
  44. package/docs/module-Awards.html +0 -0
  45. package/docs/module-Config.html +0 -0
  46. package/docs/module-Content-Services-V2.html +0 -0
  47. package/docs/module-Interests.html +0 -0
  48. package/docs/module-Permissions.html +0 -0
  49. package/docs/module-Playlists.html +0 -0
  50. package/docs/module-Railcontent-Services.html +0 -0
  51. package/docs/module-Sanity-Services.html +0 -0
  52. package/docs/module-Sessions.html +0 -0
  53. package/docs/module-UserActivity.html +0 -0
  54. package/docs/module-UserChat.html +0 -0
  55. package/docs/module-UserManagement.html +0 -0
  56. package/docs/module-UserNotifications.html +0 -0
  57. package/docs/module-UserProfile.html +0 -0
  58. package/docs/railcontent.js.html +0 -0
  59. package/docs/sanity.js.html +0 -0
  60. package/docs/scripts/collapse.js +0 -0
  61. package/docs/scripts/commonNav.js +0 -0
  62. package/docs/scripts/linenumber.js +0 -0
  63. package/docs/scripts/nav.js +0 -0
  64. package/docs/scripts/polyfill.js +0 -0
  65. package/docs/scripts/prettify/Apache-License-2.0.txt +0 -0
  66. package/docs/scripts/prettify/lang-css.js +0 -0
  67. package/docs/scripts/prettify/prettify.js +0 -0
  68. package/docs/scripts/search.js +0 -0
  69. package/docs/styles/jsdoc.css +0 -0
  70. package/docs/styles/prettify.css +0 -0
  71. package/docs/userActivity.js.html +0 -0
  72. package/docs/user_chat.js.html +0 -0
  73. package/docs/user_interests.js.html +0 -0
  74. package/docs/user_management.js.html +0 -0
  75. package/docs/user_notifications.js.html +0 -0
  76. package/docs/user_permissions.js.html +0 -0
  77. package/docs/user_profile.js.html +0 -0
  78. package/docs/user_sessions.js.html +0 -0
  79. package/docs/user_types.js.html +0 -0
  80. package/docs/user_user-management-system.js.html +0 -0
  81. package/jest.config.js +0 -0
  82. package/jsdoc.json +0 -0
  83. package/package.json +1 -1
  84. package/src/contentMetaData.js +0 -0
  85. package/src/filterBuilder.js +0 -0
  86. package/src/index.d.ts +0 -0
  87. package/src/index.js +0 -0
  88. package/src/infrastructure/http/HttpClient.ts +0 -0
  89. package/src/infrastructure/http/executors/FetchRequestExecutor.ts +0 -0
  90. package/src/infrastructure/http/index.ts +0 -0
  91. package/src/infrastructure/http/interfaces/HeaderProvider.ts +0 -0
  92. package/src/infrastructure/http/interfaces/HttpError.ts +0 -0
  93. package/src/infrastructure/http/interfaces/NetworkError.ts +0 -0
  94. package/src/infrastructure/http/interfaces/RequestExecutor.ts +0 -0
  95. package/src/infrastructure/http/interfaces/RequestOptions.ts +0 -0
  96. package/src/infrastructure/http/providers/DefaultHeaderProvider.ts +0 -0
  97. package/src/lib/httpHelper.js +0 -0
  98. package/src/lib/lastUpdated.js +0 -0
  99. package/src/services/api/types.js +0 -0
  100. package/src/services/content-org/content-org.js +0 -0
  101. package/src/services/content-org/guided-courses.ts +0 -0
  102. package/src/services/contentLikes.js +0 -0
  103. package/src/services/dataContext.js +0 -0
  104. package/src/services/dateUtils.js +0 -0
  105. package/src/services/forum.js +0 -0
  106. package/src/services/gamification/gamification.js +0 -0
  107. package/src/services/imageSRCBuilder.js +0 -0
  108. package/src/services/imageSRCVerify.js +0 -0
  109. package/src/services/sanity.js +2 -0
  110. package/src/services/user/account.ts +0 -0
  111. package/src/services/user/chat.js +0 -0
  112. package/src/services/user/interests.js +0 -0
  113. package/src/services/user/management.js +0 -0
  114. package/src/services/user/notifications.js +0 -0
  115. package/src/services/user/permissions.js +0 -0
  116. package/src/services/user/profile.js +0 -0
  117. package/src/services/user/sessions.js +0 -0
  118. package/src/services/user/types.js +0 -0
  119. package/src/services/user/user-management-system.js +0 -0
  120. package/src/services/userActivity.js +22 -4
  121. package/test/HttpClient.test.js +0 -0
  122. package/test/content.test.js +0 -0
  123. package/test/contentLikes.test.js +0 -0
  124. package/test/contentProgress.test.js +0 -0
  125. package/test/dataContext.test.js +0 -0
  126. package/test/forum.test.js +0 -0
  127. package/test/imageSRCBuilder.test.js +0 -0
  128. package/test/imageSRCVerify.test.js +0 -0
  129. package/test/lib/lastUpdated.test.js +0 -0
  130. package/test/live/contentProgressLive.test.js +0 -0
  131. package/test/live/railcontentLive.test.js +0 -0
  132. package/test/localStorageMock.js +0 -0
  133. package/test/log.js +0 -0
  134. package/test/mockData/mockData_fetchByRailContentIds_one_content.json +0 -0
  135. package/test/mockData/mockData_progress_content.json +0 -0
  136. package/test/mockData/mockData_sanity_progress_content.json +0 -0
  137. package/test/mockData/mockData_user_practices.json +0 -0
  138. package/test/notifications.test.js +0 -0
  139. package/test/progressRows.test.js +0 -0
  140. package/test/sanityQueryService.test.js +0 -0
  141. package/test/streakMessage.test.js +0 -0
  142. package/test/user/permissions.test.js +0 -0
  143. package/test/userActivity.test.js +0 -0
  144. package/tools/generate-index.cjs +0 -0
package/.coderabbit.yaml CHANGED
File without changes
package/.editorconfig CHANGED
File without changes
File without changes
File without changes
File without changes
File without changes
package/.prettierignore CHANGED
File without changes
package/.prettierrc CHANGED
File without changes
package/CHANGELOG.md CHANGED
@@ -2,6 +2,14 @@
2
2
 
3
3
  All notable changes to this project will be documented in this file. See [standard-version](https://github.com/conventional-changelog/standard-version) for commit guidelines.
4
4
 
5
+ ### [2.30.4](https://github.com/railroadmedia/musora-content-services/compare/v2.30.3...v2.30.4) (2025-08-05)
6
+
7
+
8
+ ### Bug Fixes
9
+
10
+ * **MU2-912:** pagination for Incomplete and Completed tabs ([#396](https://github.com/railroadmedia/musora-content-services/issues/396)) ([b66d574](https://github.com/railroadmedia/musora-content-services/commit/b66d57483df4bdd158a985bade3cf63fa3aa65bb))
11
+ * **MU2-916:** Add navigateTo and parentId to practice tracker and recent activity ([#398](https://github.com/railroadmedia/musora-content-services/issues/398)) ([6e43768](https://github.com/railroadmedia/musora-content-services/commit/6e437682f09655cc41966277c967c304b275d0ea))
12
+
5
13
  ### [2.30.3](https://github.com/railroadmedia/musora-content-services/compare/v2.30.2...v2.30.3) (2025-08-04)
6
14
 
7
15
  ### [2.30.2](https://github.com/railroadmedia/musora-content-services/compare/v2.30.1...v2.30.2) (2025-08-04)
package/README.md CHANGED
File without changes
package/babel.config.cjs 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
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/docs/global.html CHANGED
File without changes
package/docs/index.html 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
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
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/jest.config.js CHANGED
File without changes
package/jsdoc.json CHANGED
File without changes
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "musora-content-services",
3
- "version": "2.30.3",
3
+ "version": "2.30.4",
4
4
  "description": "A package for Musoras content services ",
5
5
  "main": "src/index.js",
6
6
  "type": "module",
File without changes
File without changes
package/src/index.d.ts CHANGED
File without changes
package/src/index.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
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
@@ -2173,10 +2173,12 @@ export async function fetchTabData(
2173
2173
  case 'incomplete':
2174
2174
  progressIds = await getAllStarted();
2175
2175
  sortOrder = null;
2176
+ withoutPagination = true;
2176
2177
  break;
2177
2178
  case 'completed':
2178
2179
  progressIds = await getAllCompleted();
2179
2180
  sortOrder = null;
2181
+ withoutPagination = true;
2180
2182
  break;
2181
2183
  }
2182
2184
 
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
@@ -407,7 +407,7 @@ export async function restoreUserPractice(id) {
407
407
  const restoredPractice = response.data.find((p) => p.id === id)
408
408
  if (restoredPractice) {
409
409
  await userActivityContext.updateLocal(async function (localContext) {
410
- if (localContext.data[DATA_KEY_PRACTICES][restoredPractice.day]) {
410
+ if (!localContext.data[DATA_KEY_PRACTICES][restoredPractice.day]) {
411
411
  localContext.data[DATA_KEY_PRACTICES][restoredPractice.day] = []
412
412
  }
413
413
  response.data.forEach((restoredPractice) => {
@@ -581,7 +581,21 @@ export async function getPracticeNotes(day) {
581
581
  * .catch(error => console.error("Failed to get recent activity:", error));
582
582
  */
583
583
  export async function getRecentActivity({ page = 1, limit = 5, tabName = null } = {}) {
584
- return await fetchRecentUserActivities({ page, limit, tabName })
584
+ const recentActivityData = await fetchRecentUserActivities({ page, limit, tabName })
585
+ const contentIds = recentActivityData.data.map((p) => p.contentId).filter((id) => id !== null)
586
+ const contents = await addContextToContent(fetchByRailContentIds, contentIds, {
587
+ addNavigateTo: true,
588
+ addNextLesson: true
589
+ })
590
+ recentActivityData.data = recentActivityData.data.map((practice) => {
591
+ const content = contents.find((c) => c.id === practice.contentId) || {}
592
+ return {
593
+ ...practice,
594
+ parent_id: content.parent_id || null,
595
+ navigateTo: content.navigateTo,
596
+ }
597
+ })
598
+ return recentActivityData
585
599
  }
586
600
 
587
601
  /**
@@ -841,8 +855,10 @@ export async function calculateLongestStreaks(userId = globalConfig.sessionConfi
841
855
 
842
856
  async function formatPracticeMeta(practices) {
843
857
  const contentIds = practices.map((p) => p.content_id).filter((id) => id !== null)
844
- const contents = await fetchByRailContentIds(contentIds)
845
-
858
+ const contents = await addContextToContent(fetchByRailContentIds, contentIds, {
859
+ addNavigateTo: true,
860
+ addNextLesson: true
861
+ })
846
862
  return practices.map((practice) => {
847
863
  const content = contents.find((c) => c.id === practice.content_id) || {}
848
864
 
@@ -863,6 +879,8 @@ async function formatPracticeMeta(practices) {
863
879
  created_at: dayjs(practice.created_at),
864
880
  sanity_type: content.type || null,
865
881
  content_slug: content.slug || null,
882
+ parent_id: content.parent_id || null,
883
+ navigateTo: content.navigateTo || null,
866
884
  }
867
885
  })
868
886
  }
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