musora-content-services 2.75.0 → 2.77.0

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 (201) hide show
  1. package/.claude/settings.local.json +11 -0
  2. package/.coderabbit.yaml +0 -0
  3. package/.editorconfig +0 -0
  4. package/.github/pull_request_template.md +0 -0
  5. package/.github/workflows/conventional-commits.yaml +0 -0
  6. package/.github/workflows/docs.js.yml +0 -0
  7. package/.github/workflows/node.js.yml +0 -0
  8. package/.prettierignore +0 -0
  9. package/.prettierrc +0 -0
  10. package/.yarnrc.yml +1 -0
  11. package/CHANGELOG.md +51 -0
  12. package/README.md +0 -0
  13. package/babel.config.cjs +0 -0
  14. package/docs/ContentOrganization.html +2 -2
  15. package/docs/Forums.html +2 -2
  16. package/docs/Gamification.html +2 -2
  17. package/docs/TestUser.html +2 -2
  18. package/docs/UserManagementSystem.html +2 -2
  19. package/docs/api_types.js.html +2 -2
  20. package/docs/config.js.html +2 -2
  21. package/docs/content-org_content-org.js.html +2 -2
  22. package/docs/content-org_guided-courses.ts.html +2 -2
  23. package/docs/content-org_learning-paths.ts.html +55 -35
  24. package/docs/content-org_playlists-types.js.html +2 -2
  25. package/docs/content-org_playlists.js.html +2 -2
  26. package/docs/content.js.html +2 -2
  27. package/docs/fonts/Montserrat/Montserrat-Bold.eot +0 -0
  28. package/docs/fonts/Montserrat/Montserrat-Bold.ttf +0 -0
  29. package/docs/fonts/Montserrat/Montserrat-Bold.woff +0 -0
  30. package/docs/fonts/Montserrat/Montserrat-Bold.woff2 +0 -0
  31. package/docs/fonts/Montserrat/Montserrat-Regular.eot +0 -0
  32. package/docs/fonts/Montserrat/Montserrat-Regular.ttf +0 -0
  33. package/docs/fonts/Montserrat/Montserrat-Regular.woff +0 -0
  34. package/docs/fonts/Montserrat/Montserrat-Regular.woff2 +0 -0
  35. package/docs/fonts/Source-Sans-Pro/sourcesanspro-light-webfont.eot +0 -0
  36. package/docs/fonts/Source-Sans-Pro/sourcesanspro-light-webfont.svg +0 -0
  37. package/docs/fonts/Source-Sans-Pro/sourcesanspro-light-webfont.ttf +0 -0
  38. package/docs/fonts/Source-Sans-Pro/sourcesanspro-light-webfont.woff +0 -0
  39. package/docs/fonts/Source-Sans-Pro/sourcesanspro-light-webfont.woff2 +0 -0
  40. package/docs/fonts/Source-Sans-Pro/sourcesanspro-regular-webfont.eot +0 -0
  41. package/docs/fonts/Source-Sans-Pro/sourcesanspro-regular-webfont.svg +0 -0
  42. package/docs/fonts/Source-Sans-Pro/sourcesanspro-regular-webfont.ttf +0 -0
  43. package/docs/fonts/Source-Sans-Pro/sourcesanspro-regular-webfont.woff +0 -0
  44. package/docs/fonts/Source-Sans-Pro/sourcesanspro-regular-webfont.woff2 +0 -0
  45. package/docs/forums_categories.ts.html +2 -2
  46. package/docs/forums_discussions.js.html +0 -0
  47. package/docs/forums_forum.js.html +0 -0
  48. package/docs/forums_forums.ts.html +2 -2
  49. package/docs/forums_posts.ts.html +2 -2
  50. package/docs/forums_threads.ts.html +2 -2
  51. package/docs/gamification_awards.js.html +0 -0
  52. package/docs/gamification_awards.ts.html +2 -2
  53. package/docs/gamification_gamification.js.html +2 -2
  54. package/docs/gamification_types.js.html +0 -0
  55. package/docs/global.html +56 -8
  56. package/docs/index.html +2 -2
  57. package/docs/liveTesting.ts.html +2 -2
  58. package/docs/module-Accounts.html +191 -2
  59. package/docs/module-Awards.html +2 -2
  60. package/docs/module-Categories.html +0 -0
  61. package/docs/module-Config.html +2 -2
  62. package/docs/module-Content-Services-V2.html +2 -2
  63. package/docs/module-ForumCategories.html +0 -0
  64. package/docs/module-ForumDiscussions.html +0 -0
  65. package/docs/module-Forums.html +2 -2
  66. package/docs/module-GuidedCourses.html +2 -2
  67. package/docs/module-Interests.html +2 -2
  68. package/docs/module-LearningPaths.html +343 -3
  69. package/docs/module-Onboarding.html +2 -2
  70. package/docs/module-Payments.html +2 -2
  71. package/docs/module-Permissions.html +2 -2
  72. package/docs/module-Playlists.html +2 -2
  73. package/docs/module-ProgressRow.html +2 -2
  74. package/docs/module-Railcontent-Services.html +2 -2
  75. package/docs/module-Sanity-Services.html +2 -2
  76. package/docs/module-Sessions.html +2 -2
  77. package/docs/module-Threads.html +0 -0
  78. package/docs/module-UserActivity.html +4 -4
  79. package/docs/module-UserChat.html +2 -2
  80. package/docs/module-UserManagement.html +2 -2
  81. package/docs/module-UserMemberships.html +2 -2
  82. package/docs/module-UserNotifications.html +2 -2
  83. package/docs/module-UserProfile.html +2 -2
  84. package/docs/progress-row_method-card.js.html +40 -43
  85. package/docs/railcontent.js.html +2 -2
  86. package/docs/sanity.js.html +3 -3
  87. package/docs/scripts/collapse.js +0 -0
  88. package/docs/scripts/commonNav.js +0 -0
  89. package/docs/scripts/linenumber.js +0 -0
  90. package/docs/scripts/nav.js +0 -0
  91. package/docs/scripts/polyfill.js +0 -0
  92. package/docs/scripts/prettify/Apache-License-2.0.txt +0 -0
  93. package/docs/scripts/prettify/lang-css.js +0 -0
  94. package/docs/scripts/prettify/prettify.js +0 -0
  95. package/docs/scripts/search.js +0 -0
  96. package/docs/styles/jsdoc.css +0 -0
  97. package/docs/styles/prettify.css +0 -0
  98. package/docs/userActivity.js.html +5 -6
  99. package/docs/user_account.ts.html +29 -2
  100. package/docs/user_chat.js.html +2 -2
  101. package/docs/user_interests.js.html +2 -2
  102. package/docs/user_management.js.html +2 -2
  103. package/docs/user_memberships.js.html +0 -0
  104. package/docs/user_memberships.ts.html +2 -2
  105. package/docs/user_notifications.js.html +2 -2
  106. package/docs/user_onboarding.ts.html +2 -2
  107. package/docs/user_payments.ts.html +2 -2
  108. package/docs/user_permissions.js.html +2 -2
  109. package/docs/user_profile.js.html +2 -2
  110. package/docs/user_sessions.js.html +2 -2
  111. package/docs/user_types.js.html +4 -2
  112. package/docs/user_user-management-system.js.html +2 -2
  113. package/jest.config.js +0 -0
  114. package/jsdoc.json +0 -0
  115. package/package.json +1 -1
  116. package/src/contentMetaData.js +0 -0
  117. package/src/contentTypeConfig.js +18 -10
  118. package/src/filterBuilder.js +0 -0
  119. package/src/index.d.ts +9 -1
  120. package/src/index.js +9 -1
  121. package/src/infrastructure/http/HttpClient.ts +5 -5
  122. package/src/infrastructure/http/executors/FetchRequestExecutor.ts +0 -0
  123. package/src/infrastructure/http/index.ts +0 -0
  124. package/src/infrastructure/http/interfaces/HeaderProvider.ts +0 -0
  125. package/src/infrastructure/http/interfaces/HttpError.ts +0 -0
  126. package/src/infrastructure/http/interfaces/NetworkError.ts +0 -0
  127. package/src/infrastructure/http/interfaces/RequestExecutor.ts +0 -0
  128. package/src/infrastructure/http/interfaces/RequestOptions.ts +0 -0
  129. package/src/infrastructure/http/providers/DefaultHeaderProvider.ts +0 -0
  130. package/src/lib/httpHelper.js +0 -0
  131. package/src/lib/lastUpdated.js +0 -0
  132. package/src/services/api/types.js +0 -0
  133. package/src/services/api/types.ts +0 -0
  134. package/src/services/config.js +0 -0
  135. package/src/services/content-org/content-org.js +0 -0
  136. package/src/services/content-org/guided-courses.ts +0 -0
  137. package/src/services/content-org/learning-paths.ts +53 -33
  138. package/src/services/content-org/playlists-types.js +0 -0
  139. package/src/services/content-org/playlists.js +0 -0
  140. package/src/services/content.js +0 -0
  141. package/src/services/contentAggregator.js +54 -45
  142. package/src/services/contentLikes.js +0 -0
  143. package/src/services/contentProgress.js +9 -8
  144. package/src/services/dataContext.js +0 -0
  145. package/src/services/dateUtils.js +0 -0
  146. package/src/services/eventsAPI.js +0 -0
  147. package/src/services/forums/categories.ts +0 -0
  148. package/src/services/forums/forums.ts +0 -0
  149. package/src/services/forums/posts.ts +20 -1
  150. package/src/services/forums/threads.ts +14 -1
  151. package/src/services/forums/types.ts +1 -0
  152. package/src/services/gamification/awards.ts +0 -0
  153. package/src/services/gamification/gamification.js +0 -0
  154. package/src/services/imageSRCBuilder.js +0 -0
  155. package/src/services/imageSRCVerify.js +0 -0
  156. package/src/services/liveTesting.ts +0 -0
  157. package/src/services/progress-row/method-card.js +38 -41
  158. package/src/services/railcontent.js +0 -0
  159. package/src/services/recommendations.js +0 -0
  160. package/src/services/sanity.js +1 -1
  161. package/src/services/types.js +0 -0
  162. package/src/services/user/account.ts +27 -0
  163. package/src/services/user/chat.js +0 -0
  164. package/src/services/user/interests.js +0 -0
  165. package/src/services/user/management.js +0 -0
  166. package/src/services/user/memberships.ts +0 -0
  167. package/src/services/user/notifications.js +0 -0
  168. package/src/services/user/onboarding.ts +0 -0
  169. package/src/services/user/payments.ts +0 -0
  170. package/src/services/user/permissions.js +0 -0
  171. package/src/services/user/profile.js +0 -0
  172. package/src/services/user/sessions.js +0 -0
  173. package/src/services/user/types.js +2 -0
  174. package/src/services/user/user-management-system.js +0 -0
  175. package/src/services/userActivity.js +3 -4
  176. package/test/HttpClient.test.js +0 -0
  177. package/test/content.test.js +0 -0
  178. package/test/contentLikes.test.js +0 -0
  179. package/test/contentProgress.test.js +0 -0
  180. package/test/dataContext.test.js +0 -0
  181. package/test/forum.test.js +0 -0
  182. package/test/imageSRCBuilder.test.js +0 -0
  183. package/test/imageSRCVerify.test.js +0 -0
  184. package/test/initializeTests.js +0 -0
  185. package/test/learningPaths.test.js +5 -3
  186. package/test/lib/lastUpdated.test.js +0 -0
  187. package/test/live/contentProgressLive.test.js +0 -0
  188. package/test/live/railcontentLive.test.js +0 -0
  189. package/test/localStorageMock.js +0 -0
  190. package/test/log.js +0 -0
  191. package/test/mockData/mockData_fetchByRailContentIds_one_content.json +0 -0
  192. package/test/mockData/mockData_progress_content.json +0 -0
  193. package/test/mockData/mockData_sanity_progress_content.json +0 -0
  194. package/test/mockData/mockData_user_practices.json +0 -0
  195. package/test/notifications.test.js +0 -0
  196. package/test/progressRows.test.js +0 -0
  197. package/test/sanityQueryService.test.js +0 -0
  198. package/test/streakMessage.test.js +0 -0
  199. package/test/user/permissions.test.js +0 -0
  200. package/test/userActivity.test.js +0 -0
  201. package/tools/generate-index.cjs +0 -0
@@ -29,7 +29,7 @@
29
29
  <nav >
30
30
 
31
31
 
32
- <h2><a href="index.html">Home</a></h2><h3>Modules</h3><ul><li><a href="module-Accounts.html">Accounts</a><ul class='methods'><li data-type='method'><a href="module-Accounts.html#~confirmEmailChange">confirmEmailChange</a></li><li data-type='method'><a href="module-Accounts.html#~deleteAccount">deleteAccount</a></li><li data-type='method'><a href="module-Accounts.html#~numberOfActiveUsers">numberOfActiveUsers</a></li><li data-type='method'><a href="module-Accounts.html#~requestEmailChange">requestEmailChange</a></li><li data-type='method'><a href="module-Accounts.html#~resetPassword">resetPassword</a></li><li data-type='method'><a href="module-Accounts.html#~sendAccountSetupEmail">sendAccountSetupEmail</a></li><li data-type='method'><a href="module-Accounts.html#~sendPasswordResetEmail">sendPasswordResetEmail</a></li><li data-type='method'><a href="module-Accounts.html#~setupAccount">setupAccount</a></li><li data-type='method'><a href="module-Accounts.html#~status">status</a></li></ul></li><li><a href="module-Awards.html">Awards</a><ul class='methods'><li data-type='method'><a href="module-Awards.html#~fetchAwardsForUser">fetchAwardsForUser</a></li><li data-type='method'><a href="module-Awards.html#~fetchCertificate">fetchCertificate</a></li><li data-type='method'><a href="module-Awards.html#~getAwardDataForGuidedContent">getAwardDataForGuidedContent</a></li></ul></li><li><a href="module-Config.html">Config</a><ul class='methods'><li data-type='method'><a href="module-Config.html#.initializeService">initializeService</a></li></ul></li><li><a href="module-Content-Services-V2.html">Content-Services-V2</a><ul class='methods'><li data-type='method'><a href="module-Content-Services-V2.html#.getContentRows">getContentRows</a></li><li data-type='method'><a href="module-Content-Services-V2.html#.getLegacyMethods">getLegacyMethods</a></li><li data-type='method'><a href="module-Content-Services-V2.html#.getNewAndUpcoming">getNewAndUpcoming</a></li><li data-type='method'><a href="module-Content-Services-V2.html#.getRecent">getRecent</a></li><li data-type='method'><a href="module-Content-Services-V2.html#.getRecommendedForYou">getRecommendedForYou</a></li><li data-type='method'><a href="module-Content-Services-V2.html#.getScheduleContentRows">getScheduleContentRows</a></li><li data-type='method'><a href="module-Content-Services-V2.html#.getTabResults">getTabResults</a></li></ul></li><li><a href="module-Forums.html">Forums</a><ul class='methods'><li data-type='method'><a href="module-Forums.html#~createForumCategory">createForumCategory</a></li><li data-type='method'><a href="module-Forums.html#~createPost">createPost</a></li><li data-type='method'><a href="module-Forums.html#~createThread">createThread</a></li><li data-type='method'><a href="module-Forums.html#~deletePost">deletePost</a></li><li data-type='method'><a href="module-Forums.html#~deleteThread">deleteThread</a></li><li data-type='method'><a href="module-Forums.html#~fetchCommunityGuidelines">fetchCommunityGuidelines</a></li><li data-type='method'><a href="module-Forums.html#~fetchFollowedThreads">fetchFollowedThreads</a></li><li data-type='method'><a href="module-Forums.html#~fetchForumCategories">fetchForumCategories</a></li><li data-type='method'><a href="module-Forums.html#~fetchLatestThreads">fetchLatestThreads</a></li><li data-type='method'><a href="module-Forums.html#~fetchPosts">fetchPosts</a></li><li data-type='method'><a href="module-Forums.html#~fetchThreads">fetchThreads</a></li><li data-type='method'><a href="module-Forums.html#~followThread">followThread</a></li><li data-type='method'><a href="module-Forums.html#~jumpToPost">jumpToPost</a></li><li data-type='method'><a href="module-Forums.html#~likePost">likePost</a></li><li data-type='method'><a href="module-Forums.html#~lockThread">lockThread</a></li><li data-type='method'><a href="module-Forums.html#~pinThread">pinThread</a></li><li data-type='method'><a href="module-Forums.html#~search">search</a></li><li data-type='method'><a href="module-Forums.html#~unfollowThread">unfollowThread</a></li><li data-type='method'><a href="module-Forums.html#~unlikePost">unlikePost</a></li><li data-type='method'><a href="module-Forums.html#~unlockThread">unlockThread</a></li><li data-type='method'><a href="module-Forums.html#~unpinThread">unpinThread</a></li><li data-type='method'><a href="module-Forums.html#~updateForumCategory">updateForumCategory</a></li><li data-type='method'><a href="module-Forums.html#~updatePost">updatePost</a></li><li data-type='method'><a href="module-Forums.html#~updateThread">updateThread</a></li></ul></li><li></li><li></li><li><a href="module-GuidedCourses.html">GuidedCourses</a></li><li><a href="module-Interests.html">Interests</a><ul class='methods'><li data-type='method'><a href="module-Interests.html#.fetchInterests">fetchInterests</a></li><li data-type='method'><a href="module-Interests.html#.fetchUninterests">fetchUninterests</a></li><li data-type='method'><a href="module-Interests.html#.markContentAsInterested">markContentAsInterested</a></li><li data-type='method'><a href="module-Interests.html#.markContentAsNotInterested">markContentAsNotInterested</a></li><li data-type='method'><a href="module-Interests.html#.removeContentAsInterested">removeContentAsInterested</a></li><li data-type='method'><a href="module-Interests.html#.removeContentAsNotInterested">removeContentAsNotInterested</a></li></ul></li><li><a href="module-LearningPaths.html">LearningPaths</a><ul class='methods'><li data-type='method'><a href="module-LearningPaths.html#~fetchLearningPathLessons">fetchLearningPathLessons</a></li><li data-type='method'><a href="module-LearningPaths.html#~getActivePath">getActivePath</a></li><li data-type='method'><a href="module-LearningPaths.html#~getDailySession">getDailySession</a></li><li data-type='method'><a href="module-LearningPaths.html#~resetAllLearningPaths">resetAllLearningPaths</a></li><li data-type='method'><a href="module-LearningPaths.html#~startLearningPath">startLearningPath</a></li><li data-type='method'><a href="module-LearningPaths.html#~updateActivePath">updateActivePath</a></li><li data-type='method'><a href="module-LearningPaths.html#~updateDailySession">updateDailySession</a></li></ul></li><li><a href="module-Onboarding.html">Onboarding</a><ul class='methods'><li data-type='method'><a href="module-Onboarding.html#~getOnboardingRecommendedContent">getOnboardingRecommendedContent</a></li><li data-type='method'><a href="module-Onboarding.html#~startOnboarding">startOnboarding</a></li><li data-type='method'><a href="module-Onboarding.html#~updateOnboarding">updateOnboarding</a></li><li data-type='method'><a href="module-Onboarding.html#~userOnboardingForBrand">userOnboardingForBrand</a></li></ul></li><li><a href="module-Payments.html">Payments</a><ul class='methods'><li data-type='method'><a href="module-Payments.html#~fetchCustomerPayments">fetchCustomerPayments</a></li></ul></li><li><a href="module-Permissions.html">Permissions</a><ul class='methods'><li data-type='method'><a href="module-Permissions.html#.fetchUserPermissions">fetchUserPermissions</a></li><li data-type='method'><a href="module-Permissions.html#.reset">reset</a></li></ul></li><li><a href="module-Playlists.html">Playlists</a><ul class='methods'><li data-type='method'><a href="module-Playlists.html#.addItemToPlaylist">addItemToPlaylist</a></li><li data-type='method'><a href="module-Playlists.html#.createPlaylist">createPlaylist</a></li><li data-type='method'><a href="module-Playlists.html#.deletePlaylist">deletePlaylist</a></li><li data-type='method'><a href="module-Playlists.html#.duplicatePlaylist">duplicatePlaylist</a></li><li data-type='method'><a href="module-Playlists.html#.fetchPlaylist">fetchPlaylist</a></li><li data-type='method'><a href="module-Playlists.html#.fetchPlaylistItems">fetchPlaylistItems</a></li><li data-type='method'><a href="module-Playlists.html#.fetchUserPlaylists">fetchUserPlaylists</a></li><li data-type='method'><a href="module-Playlists.html#.togglePlaylistPrivate">togglePlaylistPrivate</a></li><li data-type='method'><a href="module-Playlists.html#.undeletePlaylist">undeletePlaylist</a></li><li data-type='method'><a href="module-Playlists.html#.updatePlaylist">updatePlaylist</a></li><li data-type='method'><a href="module-Playlists.html#~deleteItemsFromPlaylist">deleteItemsFromPlaylist</a></li><li data-type='method'><a href="module-Playlists.html#~likePlaylist">likePlaylist</a></li><li data-type='method'><a href="module-Playlists.html#~reportPlaylist">reportPlaylist</a></li><li data-type='method'><a href="module-Playlists.html#~restoreItemFromPlaylist">restoreItemFromPlaylist</a></li><li data-type='method'><a href="module-Playlists.html#~unlikePlaylist">unlikePlaylist</a></li></ul></li><li><a href="module-ProgressRow.html">ProgressRow</a></li><li><a href="module-Railcontent-Services.html">Railcontent-Services</a><ul class='methods'><li data-type='method'><a href="module-Railcontent-Services.html#.assignModeratorToComment">assignModeratorToComment</a></li><li data-type='method'><a href="module-Railcontent-Services.html#.closeComment">closeComment</a></li><li data-type='method'><a href="module-Railcontent-Services.html#.createComment">createComment</a></li><li data-type='method'><a href="module-Railcontent-Services.html#.deleteComment">deleteComment</a></li><li data-type='method'><a href="module-Railcontent-Services.html#.editComment">editComment</a></li><li data-type='method'><a href="module-Railcontent-Services.html#.fetchAllCompletedStates">fetchAllCompletedStates</a></li><li data-type='method'><a href="module-Railcontent-Services.html#.fetchCarouselCardData">fetchCarouselCardData</a></li><li data-type='method'><a href="module-Railcontent-Services.html#.fetchComment">fetchComment</a></li><li data-type='method'><a href="module-Railcontent-Services.html#.fetchCommentRelies">fetchCommentRelies</a></li><li data-type='method'><a href="module-Railcontent-Services.html#.fetchComments">fetchComments</a></li><li data-type='method'><a href="module-Railcontent-Services.html#.fetchCompletedContent">fetchCompletedContent</a></li><li data-type='method'><a href="module-Railcontent-Services.html#.fetchCompletedState">fetchCompletedState</a></li><li data-type='method'><a href="module-Railcontent-Services.html#.fetchContentInProgress">fetchContentInProgress</a></li><li data-type='method'><a href="module-Railcontent-Services.html#.fetchContentPageUserData">fetchContentPageUserData</a></li><li data-type='method'><a href="module-Railcontent-Services.html#.fetchNextContentDataForParent">fetchNextContentDataForParent</a></li><li data-type='method'><a href="module-Railcontent-Services.html#.fetchRecentUserActivities">fetchRecentUserActivities</a></li><li data-type='method'><a href="module-Railcontent-Services.html#.fetchSongsInProgress">fetchSongsInProgress</a></li><li data-type='method'><a href="module-Railcontent-Services.html#.fetchTopComment">fetchTopComment</a></li><li data-type='method'><a href="module-Railcontent-Services.html#.fetchUserAward">fetchUserAward</a></li><li data-type='method'><a href="module-Railcontent-Services.html#.fetchUserBadges">fetchUserBadges</a></li><li data-type='method'><a href="module-Railcontent-Services.html#.fetchUserPracticeNotes">fetchUserPracticeNotes</a></li><li data-type='method'><a href="module-Railcontent-Services.html#.likeComment">likeComment</a></li><li data-type='method'><a href="module-Railcontent-Services.html#.openComment">openComment</a></li><li data-type='method'><a href="module-Railcontent-Services.html#.postContentComplete">postContentComplete</a></li><li data-type='method'><a href="module-Railcontent-Services.html#.postContentReset">postContentReset</a></li><li data-type='method'><a href="module-Railcontent-Services.html#.postContentRestore">postContentRestore</a></li><li data-type='method'><a href="module-Railcontent-Services.html#.postContentStart">postContentStart</a></li><li data-type='method'><a href="module-Railcontent-Services.html#.replyToComment">replyToComment</a></li><li data-type='method'><a href="module-Railcontent-Services.html#.reportComment">reportComment</a></li><li data-type='method'><a href="module-Railcontent-Services.html#.restoreComment">restoreComment</a></li><li data-type='method'><a href="module-Railcontent-Services.html#.setStudentViewForUser">setStudentViewForUser</a></li><li data-type='method'><a href="module-Railcontent-Services.html#.unassignModeratorToComment">unassignModeratorToComment</a></li><li data-type='method'><a href="module-Railcontent-Services.html#.unlikeComment">unlikeComment</a></li><li data-type='method'><a href="module-Railcontent-Services.html#~fetchLastInteractedChild">fetchLastInteractedChild</a></li></ul></li><li><a href="module-Sanity-Services.html">Sanity-Services</a><ul class='methods'><li data-type='method'><a href="module-Sanity-Services.html#.fetchAll">fetchAll</a></li><li data-type='method'><a href="module-Sanity-Services.html#.fetchAllFilterOptions">fetchAllFilterOptions</a></li><li data-type='method'><a href="module-Sanity-Services.html#.fetchAllPacks">fetchAllPacks</a></li><li data-type='method'><a href="module-Sanity-Services.html#.fetchArtistLessons">fetchArtistLessons</a></li><li data-type='method'><a href="module-Sanity-Services.html#.fetchArtists">fetchArtists</a></li><li data-type='method'><a href="module-Sanity-Services.html#.fetchByRailContentId">fetchByRailContentId</a></li><li data-type='method'><a href="module-Sanity-Services.html#.fetchByRailContentIds">fetchByRailContentIds</a></li><li data-type='method'><a href="module-Sanity-Services.html#.fetchByReference">fetchByReference</a></li><li data-type='method'><a href="module-Sanity-Services.html#.fetchCoachLessons">fetchCoachLessons</a></li><li data-type='method'><a href="module-Sanity-Services.html#.fetchComingSoon">fetchComingSoon</a></li><li data-type='method'><a href="module-Sanity-Services.html#.fetchCommentModContentData">fetchCommentModContentData</a></li><li data-type='method'><a href="module-Sanity-Services.html#.fetchFoundation">fetchFoundation</a></li><li data-type='method'><a href="module-Sanity-Services.html#.fetchGenreLessons">fetchGenreLessons</a></li><li data-type='method'><a href="module-Sanity-Services.html#.fetchLeaving">fetchLeaving</a></li><li data-type='method'><a href="module-Sanity-Services.html#.fetchLessonContent">fetchLessonContent</a></li><li data-type='method'><a href="module-Sanity-Services.html#.fetchLessonsFeaturingThisContent">fetchLessonsFeaturingThisContent</a></li><li data-type='method'><a href="module-Sanity-Services.html#.fetchMetadata">fetchMetadata</a></li><li data-type='method'><a href="module-Sanity-Services.html#.fetchMethod">fetchMethod</a></li><li data-type='method'><a href="module-Sanity-Services.html#.fetchMethodChildren">fetchMethodChildren</a></li><li data-type='method'><a href="module-Sanity-Services.html#.fetchMethodChildrenIds">fetchMethodChildrenIds</a></li><li data-type='method'><a href="module-Sanity-Services.html#.fetchMethodPreviousNextLesson">fetchMethodPreviousNextLesson</a></li><li data-type='method'><a href="module-Sanity-Services.html#.fetchMethodV2IntroVideo">fetchMethodV2IntroVideo</a></li><li data-type='method'><a href="module-Sanity-Services.html#.fetchMethodV2Structure">fetchMethodV2Structure</a></li><li data-type='method'><a href="module-Sanity-Services.html#.fetchNewReleases">fetchNewReleases</a></li><li data-type='method'><a href="module-Sanity-Services.html#.fetchNextPreviousLesson">fetchNextPreviousLesson</a></li><li data-type='method'><a href="module-Sanity-Services.html#.fetchOtherSongVersions">fetchOtherSongVersions</a></li><li data-type='method'><a href="module-Sanity-Services.html#.fetchPackAll">fetchPackAll</a></li><li data-type='method'><a href="module-Sanity-Services.html#.fetchPackData">fetchPackData</a></li><li data-type='method'><a href="module-Sanity-Services.html#.fetchRelatedLessons">fetchRelatedLessons</a></li><li data-type='method'><a href="module-Sanity-Services.html#.fetchRelatedRecommendedContent">fetchRelatedRecommendedContent</a></li><li data-type='method'><a href="module-Sanity-Services.html#.fetchRelatedSongs">fetchRelatedSongs</a></li><li data-type='method'><a href="module-Sanity-Services.html#.fetchReturning">fetchReturning</a></li><li data-type='method'><a href="module-Sanity-Services.html#.fetchSanity">fetchSanity</a></li><li data-type='method'><a href="module-Sanity-Services.html#.fetchScheduledReleases">fetchScheduledReleases</a></li><li data-type='method'><a href="module-Sanity-Services.html#.fetchShowsData">fetchShowsData</a></li><li data-type='method'><a href="module-Sanity-Services.html#.fetchSiblingContent">fetchSiblingContent</a></li><li data-type='method'><a href="module-Sanity-Services.html#.fetchSongArtistCount">fetchSongArtistCount</a></li><li data-type='method'><a href="module-Sanity-Services.html#.fetchSongById">fetchSongById</a></li><li data-type='method'><a href="module-Sanity-Services.html#.fetchUpcomingEvents">fetchUpcomingEvents</a></li><li data-type='method'><a href="module-Sanity-Services.html#.jumpToContinueContent">jumpToContinueContent</a></li><li data-type='method'><a href="module-Sanity-Services.html#~fetchRelatedByLicense">fetchRelatedByLicense</a></li><li data-type='method'><a href="module-Sanity-Services.html#~getQueryFromPage">getQueryFromPage</a></li></ul></li><li><a href="module-Sessions.html">Sessions</a><ul class='methods'><li data-type='method'><a href="module-Sessions.html#.login">login</a></li><li data-type='method'><a href="module-Sessions.html#.logout">logout</a></li></ul></li><li><a href="module-UserActivity.html">UserActivity</a><ul class='methods'><li data-type='method'><a href="module-UserActivity.html#.calculateLongestStreaks">calculateLongestStreaks</a></li><li data-type='method'><a href="module-UserActivity.html#.createPracticeNotes">createPracticeNotes</a></li><li data-type='method'><a href="module-UserActivity.html#.deletePracticeSession">deletePracticeSession</a></li><li data-type='method'><a href="module-UserActivity.html#.deleteUserActivity">deleteUserActivity</a></li><li data-type='method'><a href="module-UserActivity.html#.getPracticeNotes">getPracticeNotes</a></li><li data-type='method'><a href="module-UserActivity.html#.getPracticeSessions">getPracticeSessions</a></li><li data-type='method'><a href="module-UserActivity.html#.getProgressRows">getProgressRows</a></li><li data-type='method'><a href="module-UserActivity.html#.getRecentActivity">getRecentActivity</a></li><li data-type='method'><a href="module-UserActivity.html#.getUserMonthlyStats">getUserMonthlyStats</a></li><li data-type='method'><a href="module-UserActivity.html#.getUserWeeklyStats">getUserWeeklyStats</a></li><li data-type='method'><a href="module-UserActivity.html#.pinProgressRow">pinProgressRow</a></li><li data-type='method'><a href="module-UserActivity.html#.recordUserActivity">recordUserActivity</a></li><li data-type='method'><a href="module-UserActivity.html#.recordUserPractice">recordUserPractice</a></li><li data-type='method'><a href="module-UserActivity.html#.removeUserPractice">removeUserPractice</a></li><li data-type='method'><a href="module-UserActivity.html#.restorePracticeSession">restorePracticeSession</a></li><li data-type='method'><a href="module-UserActivity.html#.restoreUserActivity">restoreUserActivity</a></li><li data-type='method'><a href="module-UserActivity.html#.restoreUserPractice">restoreUserPractice</a></li><li data-type='method'><a href="module-UserActivity.html#.unpinProgressRow">unpinProgressRow</a></li><li data-type='method'><a href="module-UserActivity.html#.updatePracticeNotes">updatePracticeNotes</a></li><li data-type='method'><a href="module-UserActivity.html#.updateUserPractice">updateUserPractice</a></li></ul></li><li><a href="module-UserChat.html">UserChat</a><ul class='methods'><li data-type='method'><a href="module-UserChat.html#.fetchChatSettings">fetchChatSettings</a></li></ul></li><li><a href="module-UserManagement.html">UserManagement</a><ul class='methods'><li data-type='method'><a href="module-UserManagement.html#.blockUser">blockUser</a></li><li data-type='method'><a href="module-UserManagement.html#.blockedUsers">blockedUsers</a></li><li data-type='method'><a href="module-UserManagement.html#.deletePicture">deletePicture</a></li><li data-type='method'><a href="module-UserManagement.html#.getUserData">getUserData</a></li><li data-type='method'><a href="module-UserManagement.html#.getUserSignature">getUserSignature</a></li><li data-type='method'><a href="module-UserManagement.html#.isUsernameAvailable">isUsernameAvailable</a></li><li data-type='method'><a href="module-UserManagement.html#.setUserSignature">setUserSignature</a></li><li data-type='method'><a href="module-UserManagement.html#.toggleSignaturePrivate">toggleSignaturePrivate</a></li><li data-type='method'><a href="module-UserManagement.html#.unblockUser">unblockUser</a></li><li data-type='method'><a href="module-UserManagement.html#.updateDisplayName">updateDisplayName</a></li><li data-type='method'><a href="module-UserManagement.html#.uploadPicture">uploadPicture</a></li><li data-type='method'><a href="module-UserManagement.html#.uploadPictureFromS3">uploadPictureFromS3</a></li></ul></li><li><a href="module-UserMemberships.html">UserMemberships</a><ul class='methods'><li data-type='method'><a href="module-UserMemberships.html#~fetchMemberships">fetchMemberships</a></li><li data-type='method'><a href="module-UserMemberships.html#~fetchRechargeTokens">fetchRechargeTokens</a></li><li data-type='method'><a href="module-UserMemberships.html#~restorePurchases">restorePurchases</a></li><li data-type='method'><a href="module-UserMemberships.html#~upgradeSubscription">upgradeSubscription</a></li></ul></li><li><a href="module-UserNotifications.html">UserNotifications</a><ul class='methods'><li data-type='method'><a href="module-UserNotifications.html#.deleteNotification">deleteNotification</a></li><li data-type='method'><a href="module-UserNotifications.html#.fetchLiveEventPollingState">fetchLiveEventPollingState</a></li><li data-type='method'><a href="module-UserNotifications.html#.fetchNotificationSettings">fetchNotificationSettings</a></li><li data-type='method'><a href="module-UserNotifications.html#.fetchNotifications">fetchNotifications</a></li><li data-type='method'><a href="module-UserNotifications.html#.fetchUnreadCount">fetchUnreadCount</a></li><li data-type='method'><a href="module-UserNotifications.html#.markAllNotificationsAsRead">markAllNotificationsAsRead</a></li><li data-type='method'><a href="module-UserNotifications.html#.markNotificationAsRead">markNotificationAsRead</a></li><li data-type='method'><a href="module-UserNotifications.html#.markNotificationAsUnread">markNotificationAsUnread</a></li><li data-type='method'><a href="module-UserNotifications.html#.pauseLiveEventPolling">pauseLiveEventPolling</a></li><li data-type='method'><a href="module-UserNotifications.html#.restoreNotification">restoreNotification</a></li><li data-type='method'><a href="module-UserNotifications.html#.startLiveEventPolling">startLiveEventPolling</a></li><li data-type='method'><a href="module-UserNotifications.html#.updateNotificationSetting">updateNotificationSetting</a></li></ul></li><li><a href="module-UserProfile.html">UserProfile</a><ul class='methods'><li data-type='method'><a href="module-UserProfile.html#.deleteProfilePicture">deleteProfilePicture</a></li><li data-type='method'><a href="module-UserProfile.html#.otherStats">otherStats</a></li></ul></li></ul><h3>Namespaces</h3><ul><li><a href="ContentOrganization.html">ContentOrganization</a></li><li><a href="Forums.html">Forums</a></li><li><a href="Gamification.html">Gamification</a></li><li><a href="UserManagementSystem.html">UserManagementSystem</a></li></ul><h3>Interfaces</h3><ul><li><a href="TestUser.html">TestUser</a></li></ul><h3>Global</h3><ul><li><a href="global.html#createTestUser">createTestUser</a></li></ul>
32
+ <h2><a href="index.html">Home</a></h2><h3>Modules</h3><ul><li><a href="module-Accounts.html">Accounts</a><ul class='methods'><li data-type='method'><a href="module-Accounts.html#~confirmEmailChange">confirmEmailChange</a></li><li data-type='method'><a href="module-Accounts.html#~deleteAccount">deleteAccount</a></li><li data-type='method'><a href="module-Accounts.html#~numberOfActiveUsers">numberOfActiveUsers</a></li><li data-type='method'><a href="module-Accounts.html#~requestEmailChange">requestEmailChange</a></li><li data-type='method'><a href="module-Accounts.html#~resetPassword">resetPassword</a></li><li data-type='method'><a href="module-Accounts.html#~sendAccountSetupEmail">sendAccountSetupEmail</a></li><li data-type='method'><a href="module-Accounts.html#~sendPasswordResetEmail">sendPasswordResetEmail</a></li><li data-type='method'><a href="module-Accounts.html#~setupAccount">setupAccount</a></li><li data-type='method'><a href="module-Accounts.html#~status">status</a></li><li data-type='method'><a href="module-Accounts.html#~toggleStudentView">toggleStudentView</a></li></ul></li><li><a href="module-Awards.html">Awards</a><ul class='methods'><li data-type='method'><a href="module-Awards.html#~fetchAwardsForUser">fetchAwardsForUser</a></li><li data-type='method'><a href="module-Awards.html#~fetchCertificate">fetchCertificate</a></li><li data-type='method'><a href="module-Awards.html#~getAwardDataForGuidedContent">getAwardDataForGuidedContent</a></li></ul></li><li><a href="module-Config.html">Config</a><ul class='methods'><li data-type='method'><a href="module-Config.html#.initializeService">initializeService</a></li></ul></li><li><a href="module-Content-Services-V2.html">Content-Services-V2</a><ul class='methods'><li data-type='method'><a href="module-Content-Services-V2.html#.getContentRows">getContentRows</a></li><li data-type='method'><a href="module-Content-Services-V2.html#.getLegacyMethods">getLegacyMethods</a></li><li data-type='method'><a href="module-Content-Services-V2.html#.getNewAndUpcoming">getNewAndUpcoming</a></li><li data-type='method'><a href="module-Content-Services-V2.html#.getRecent">getRecent</a></li><li data-type='method'><a href="module-Content-Services-V2.html#.getRecommendedForYou">getRecommendedForYou</a></li><li data-type='method'><a href="module-Content-Services-V2.html#.getScheduleContentRows">getScheduleContentRows</a></li><li data-type='method'><a href="module-Content-Services-V2.html#.getTabResults">getTabResults</a></li></ul></li><li><a href="module-Forums.html">Forums</a><ul class='methods'><li data-type='method'><a href="module-Forums.html#~createForumCategory">createForumCategory</a></li><li data-type='method'><a href="module-Forums.html#~createPost">createPost</a></li><li data-type='method'><a href="module-Forums.html#~createThread">createThread</a></li><li data-type='method'><a href="module-Forums.html#~deletePost">deletePost</a></li><li data-type='method'><a href="module-Forums.html#~deleteThread">deleteThread</a></li><li data-type='method'><a href="module-Forums.html#~fetchCommunityGuidelines">fetchCommunityGuidelines</a></li><li data-type='method'><a href="module-Forums.html#~fetchFollowedThreads">fetchFollowedThreads</a></li><li data-type='method'><a href="module-Forums.html#~fetchForumCategories">fetchForumCategories</a></li><li data-type='method'><a href="module-Forums.html#~fetchLatestThreads">fetchLatestThreads</a></li><li data-type='method'><a href="module-Forums.html#~fetchPosts">fetchPosts</a></li><li data-type='method'><a href="module-Forums.html#~fetchThreads">fetchThreads</a></li><li data-type='method'><a href="module-Forums.html#~followThread">followThread</a></li><li data-type='method'><a href="module-Forums.html#~jumpToPost">jumpToPost</a></li><li data-type='method'><a href="module-Forums.html#~likePost">likePost</a></li><li data-type='method'><a href="module-Forums.html#~lockThread">lockThread</a></li><li data-type='method'><a href="module-Forums.html#~pinThread">pinThread</a></li><li data-type='method'><a href="module-Forums.html#~search">search</a></li><li data-type='method'><a href="module-Forums.html#~unfollowThread">unfollowThread</a></li><li data-type='method'><a href="module-Forums.html#~unlikePost">unlikePost</a></li><li data-type='method'><a href="module-Forums.html#~unlockThread">unlockThread</a></li><li data-type='method'><a href="module-Forums.html#~unpinThread">unpinThread</a></li><li data-type='method'><a href="module-Forums.html#~updateForumCategory">updateForumCategory</a></li><li data-type='method'><a href="module-Forums.html#~updatePost">updatePost</a></li><li data-type='method'><a href="module-Forums.html#~updateThread">updateThread</a></li></ul></li><li></li><li></li><li><a href="module-GuidedCourses.html">GuidedCourses</a></li><li><a href="module-Interests.html">Interests</a><ul class='methods'><li data-type='method'><a href="module-Interests.html#.fetchInterests">fetchInterests</a></li><li data-type='method'><a href="module-Interests.html#.fetchUninterests">fetchUninterests</a></li><li data-type='method'><a href="module-Interests.html#.markContentAsInterested">markContentAsInterested</a></li><li data-type='method'><a href="module-Interests.html#.markContentAsNotInterested">markContentAsNotInterested</a></li><li data-type='method'><a href="module-Interests.html#.removeContentAsInterested">removeContentAsInterested</a></li><li data-type='method'><a href="module-Interests.html#.removeContentAsNotInterested">removeContentAsNotInterested</a></li></ul></li><li><a href="module-LearningPaths.html">LearningPaths</a><ul class='methods'><li data-type='method'><a href="module-LearningPaths.html#~fetchLearningPathLessons">fetchLearningPathLessons</a></li><li data-type='method'><a href="module-LearningPaths.html#~getActivePath">getActivePath</a></li><li data-type='method'><a href="module-LearningPaths.html#~getDailySession">getDailySession</a></li><li data-type='method'><a href="module-LearningPaths.html#~getLearningPath">getLearningPath</a></li><li data-type='method'><a href="module-LearningPaths.html#~getLearningPathLessonsByIds">getLearningPathLessonsByIds</a></li><li data-type='method'><a href="module-LearningPaths.html#~resetAllLearningPaths">resetAllLearningPaths</a></li><li data-type='method'><a href="module-LearningPaths.html#~startLearningPath">startLearningPath</a></li><li data-type='method'><a href="module-LearningPaths.html#~updateActivePath">updateActivePath</a></li><li data-type='method'><a href="module-LearningPaths.html#~updateDailySession">updateDailySession</a></li></ul></li><li><a href="module-Onboarding.html">Onboarding</a><ul class='methods'><li data-type='method'><a href="module-Onboarding.html#~getOnboardingRecommendedContent">getOnboardingRecommendedContent</a></li><li data-type='method'><a href="module-Onboarding.html#~startOnboarding">startOnboarding</a></li><li data-type='method'><a href="module-Onboarding.html#~updateOnboarding">updateOnboarding</a></li><li data-type='method'><a href="module-Onboarding.html#~userOnboardingForBrand">userOnboardingForBrand</a></li></ul></li><li><a href="module-Payments.html">Payments</a><ul class='methods'><li data-type='method'><a href="module-Payments.html#~fetchCustomerPayments">fetchCustomerPayments</a></li></ul></li><li><a href="module-Permissions.html">Permissions</a><ul class='methods'><li data-type='method'><a href="module-Permissions.html#.fetchUserPermissions">fetchUserPermissions</a></li><li data-type='method'><a href="module-Permissions.html#.reset">reset</a></li></ul></li><li><a href="module-Playlists.html">Playlists</a><ul class='methods'><li data-type='method'><a href="module-Playlists.html#.addItemToPlaylist">addItemToPlaylist</a></li><li data-type='method'><a href="module-Playlists.html#.createPlaylist">createPlaylist</a></li><li data-type='method'><a href="module-Playlists.html#.deletePlaylist">deletePlaylist</a></li><li data-type='method'><a href="module-Playlists.html#.duplicatePlaylist">duplicatePlaylist</a></li><li data-type='method'><a href="module-Playlists.html#.fetchPlaylist">fetchPlaylist</a></li><li data-type='method'><a href="module-Playlists.html#.fetchPlaylistItems">fetchPlaylistItems</a></li><li data-type='method'><a href="module-Playlists.html#.fetchUserPlaylists">fetchUserPlaylists</a></li><li data-type='method'><a href="module-Playlists.html#.togglePlaylistPrivate">togglePlaylistPrivate</a></li><li data-type='method'><a href="module-Playlists.html#.undeletePlaylist">undeletePlaylist</a></li><li data-type='method'><a href="module-Playlists.html#.updatePlaylist">updatePlaylist</a></li><li data-type='method'><a href="module-Playlists.html#~deleteItemsFromPlaylist">deleteItemsFromPlaylist</a></li><li data-type='method'><a href="module-Playlists.html#~likePlaylist">likePlaylist</a></li><li data-type='method'><a href="module-Playlists.html#~reportPlaylist">reportPlaylist</a></li><li data-type='method'><a href="module-Playlists.html#~restoreItemFromPlaylist">restoreItemFromPlaylist</a></li><li data-type='method'><a href="module-Playlists.html#~unlikePlaylist">unlikePlaylist</a></li></ul></li><li><a href="module-ProgressRow.html">ProgressRow</a></li><li><a href="module-Railcontent-Services.html">Railcontent-Services</a><ul class='methods'><li data-type='method'><a href="module-Railcontent-Services.html#.assignModeratorToComment">assignModeratorToComment</a></li><li data-type='method'><a href="module-Railcontent-Services.html#.closeComment">closeComment</a></li><li data-type='method'><a href="module-Railcontent-Services.html#.createComment">createComment</a></li><li data-type='method'><a href="module-Railcontent-Services.html#.deleteComment">deleteComment</a></li><li data-type='method'><a href="module-Railcontent-Services.html#.editComment">editComment</a></li><li data-type='method'><a href="module-Railcontent-Services.html#.fetchAllCompletedStates">fetchAllCompletedStates</a></li><li data-type='method'><a href="module-Railcontent-Services.html#.fetchCarouselCardData">fetchCarouselCardData</a></li><li data-type='method'><a href="module-Railcontent-Services.html#.fetchComment">fetchComment</a></li><li data-type='method'><a href="module-Railcontent-Services.html#.fetchCommentRelies">fetchCommentRelies</a></li><li data-type='method'><a href="module-Railcontent-Services.html#.fetchComments">fetchComments</a></li><li data-type='method'><a href="module-Railcontent-Services.html#.fetchCompletedContent">fetchCompletedContent</a></li><li data-type='method'><a href="module-Railcontent-Services.html#.fetchCompletedState">fetchCompletedState</a></li><li data-type='method'><a href="module-Railcontent-Services.html#.fetchContentInProgress">fetchContentInProgress</a></li><li data-type='method'><a href="module-Railcontent-Services.html#.fetchContentPageUserData">fetchContentPageUserData</a></li><li data-type='method'><a href="module-Railcontent-Services.html#.fetchNextContentDataForParent">fetchNextContentDataForParent</a></li><li data-type='method'><a href="module-Railcontent-Services.html#.fetchRecentUserActivities">fetchRecentUserActivities</a></li><li data-type='method'><a href="module-Railcontent-Services.html#.fetchSongsInProgress">fetchSongsInProgress</a></li><li data-type='method'><a href="module-Railcontent-Services.html#.fetchTopComment">fetchTopComment</a></li><li data-type='method'><a href="module-Railcontent-Services.html#.fetchUserAward">fetchUserAward</a></li><li data-type='method'><a href="module-Railcontent-Services.html#.fetchUserBadges">fetchUserBadges</a></li><li data-type='method'><a href="module-Railcontent-Services.html#.fetchUserPracticeNotes">fetchUserPracticeNotes</a></li><li data-type='method'><a href="module-Railcontent-Services.html#.likeComment">likeComment</a></li><li data-type='method'><a href="module-Railcontent-Services.html#.openComment">openComment</a></li><li data-type='method'><a href="module-Railcontent-Services.html#.postContentComplete">postContentComplete</a></li><li data-type='method'><a href="module-Railcontent-Services.html#.postContentReset">postContentReset</a></li><li data-type='method'><a href="module-Railcontent-Services.html#.postContentRestore">postContentRestore</a></li><li data-type='method'><a href="module-Railcontent-Services.html#.postContentStart">postContentStart</a></li><li data-type='method'><a href="module-Railcontent-Services.html#.replyToComment">replyToComment</a></li><li data-type='method'><a href="module-Railcontent-Services.html#.reportComment">reportComment</a></li><li data-type='method'><a href="module-Railcontent-Services.html#.restoreComment">restoreComment</a></li><li data-type='method'><a href="module-Railcontent-Services.html#.setStudentViewForUser">setStudentViewForUser</a></li><li data-type='method'><a href="module-Railcontent-Services.html#.unassignModeratorToComment">unassignModeratorToComment</a></li><li data-type='method'><a href="module-Railcontent-Services.html#.unlikeComment">unlikeComment</a></li><li data-type='method'><a href="module-Railcontent-Services.html#~fetchLastInteractedChild">fetchLastInteractedChild</a></li></ul></li><li><a href="module-Sanity-Services.html">Sanity-Services</a><ul class='methods'><li data-type='method'><a href="module-Sanity-Services.html#.fetchAll">fetchAll</a></li><li data-type='method'><a href="module-Sanity-Services.html#.fetchAllFilterOptions">fetchAllFilterOptions</a></li><li data-type='method'><a href="module-Sanity-Services.html#.fetchAllPacks">fetchAllPacks</a></li><li data-type='method'><a href="module-Sanity-Services.html#.fetchArtistLessons">fetchArtistLessons</a></li><li data-type='method'><a href="module-Sanity-Services.html#.fetchArtists">fetchArtists</a></li><li data-type='method'><a href="module-Sanity-Services.html#.fetchByRailContentId">fetchByRailContentId</a></li><li data-type='method'><a href="module-Sanity-Services.html#.fetchByRailContentIds">fetchByRailContentIds</a></li><li data-type='method'><a href="module-Sanity-Services.html#.fetchByReference">fetchByReference</a></li><li data-type='method'><a href="module-Sanity-Services.html#.fetchCoachLessons">fetchCoachLessons</a></li><li data-type='method'><a href="module-Sanity-Services.html#.fetchComingSoon">fetchComingSoon</a></li><li data-type='method'><a href="module-Sanity-Services.html#.fetchCommentModContentData">fetchCommentModContentData</a></li><li data-type='method'><a href="module-Sanity-Services.html#.fetchFoundation">fetchFoundation</a></li><li data-type='method'><a href="module-Sanity-Services.html#.fetchGenreLessons">fetchGenreLessons</a></li><li data-type='method'><a href="module-Sanity-Services.html#.fetchLeaving">fetchLeaving</a></li><li data-type='method'><a href="module-Sanity-Services.html#.fetchLessonContent">fetchLessonContent</a></li><li data-type='method'><a href="module-Sanity-Services.html#.fetchLessonsFeaturingThisContent">fetchLessonsFeaturingThisContent</a></li><li data-type='method'><a href="module-Sanity-Services.html#.fetchMetadata">fetchMetadata</a></li><li data-type='method'><a href="module-Sanity-Services.html#.fetchMethod">fetchMethod</a></li><li data-type='method'><a href="module-Sanity-Services.html#.fetchMethodChildren">fetchMethodChildren</a></li><li data-type='method'><a href="module-Sanity-Services.html#.fetchMethodChildrenIds">fetchMethodChildrenIds</a></li><li data-type='method'><a href="module-Sanity-Services.html#.fetchMethodPreviousNextLesson">fetchMethodPreviousNextLesson</a></li><li data-type='method'><a href="module-Sanity-Services.html#.fetchMethodV2IntroVideo">fetchMethodV2IntroVideo</a></li><li data-type='method'><a href="module-Sanity-Services.html#.fetchMethodV2Structure">fetchMethodV2Structure</a></li><li data-type='method'><a href="module-Sanity-Services.html#.fetchNewReleases">fetchNewReleases</a></li><li data-type='method'><a href="module-Sanity-Services.html#.fetchNextPreviousLesson">fetchNextPreviousLesson</a></li><li data-type='method'><a href="module-Sanity-Services.html#.fetchOtherSongVersions">fetchOtherSongVersions</a></li><li data-type='method'><a href="module-Sanity-Services.html#.fetchPackAll">fetchPackAll</a></li><li data-type='method'><a href="module-Sanity-Services.html#.fetchPackData">fetchPackData</a></li><li data-type='method'><a href="module-Sanity-Services.html#.fetchRelatedLessons">fetchRelatedLessons</a></li><li data-type='method'><a href="module-Sanity-Services.html#.fetchRelatedRecommendedContent">fetchRelatedRecommendedContent</a></li><li data-type='method'><a href="module-Sanity-Services.html#.fetchRelatedSongs">fetchRelatedSongs</a></li><li data-type='method'><a href="module-Sanity-Services.html#.fetchReturning">fetchReturning</a></li><li data-type='method'><a href="module-Sanity-Services.html#.fetchSanity">fetchSanity</a></li><li data-type='method'><a href="module-Sanity-Services.html#.fetchScheduledReleases">fetchScheduledReleases</a></li><li data-type='method'><a href="module-Sanity-Services.html#.fetchShowsData">fetchShowsData</a></li><li data-type='method'><a href="module-Sanity-Services.html#.fetchSiblingContent">fetchSiblingContent</a></li><li data-type='method'><a href="module-Sanity-Services.html#.fetchSongArtistCount">fetchSongArtistCount</a></li><li data-type='method'><a href="module-Sanity-Services.html#.fetchSongById">fetchSongById</a></li><li data-type='method'><a href="module-Sanity-Services.html#.fetchUpcomingEvents">fetchUpcomingEvents</a></li><li data-type='method'><a href="module-Sanity-Services.html#.jumpToContinueContent">jumpToContinueContent</a></li><li data-type='method'><a href="module-Sanity-Services.html#~fetchRelatedByLicense">fetchRelatedByLicense</a></li><li data-type='method'><a href="module-Sanity-Services.html#~getQueryFromPage">getQueryFromPage</a></li></ul></li><li><a href="module-Sessions.html">Sessions</a><ul class='methods'><li data-type='method'><a href="module-Sessions.html#.login">login</a></li><li data-type='method'><a href="module-Sessions.html#.logout">logout</a></li></ul></li><li><a href="module-UserActivity.html">UserActivity</a><ul class='methods'><li data-type='method'><a href="module-UserActivity.html#.calculateLongestStreaks">calculateLongestStreaks</a></li><li data-type='method'><a href="module-UserActivity.html#.createPracticeNotes">createPracticeNotes</a></li><li data-type='method'><a href="module-UserActivity.html#.deletePracticeSession">deletePracticeSession</a></li><li data-type='method'><a href="module-UserActivity.html#.deleteUserActivity">deleteUserActivity</a></li><li data-type='method'><a href="module-UserActivity.html#.getPracticeNotes">getPracticeNotes</a></li><li data-type='method'><a href="module-UserActivity.html#.getPracticeSessions">getPracticeSessions</a></li><li data-type='method'><a href="module-UserActivity.html#.getProgressRows">getProgressRows</a></li><li data-type='method'><a href="module-UserActivity.html#.getRecentActivity">getRecentActivity</a></li><li data-type='method'><a href="module-UserActivity.html#.getUserMonthlyStats">getUserMonthlyStats</a></li><li data-type='method'><a href="module-UserActivity.html#.getUserWeeklyStats">getUserWeeklyStats</a></li><li data-type='method'><a href="module-UserActivity.html#.pinProgressRow">pinProgressRow</a></li><li data-type='method'><a href="module-UserActivity.html#.recordUserActivity">recordUserActivity</a></li><li data-type='method'><a href="module-UserActivity.html#.recordUserPractice">recordUserPractice</a></li><li data-type='method'><a href="module-UserActivity.html#.removeUserPractice">removeUserPractice</a></li><li data-type='method'><a href="module-UserActivity.html#.restorePracticeSession">restorePracticeSession</a></li><li data-type='method'><a href="module-UserActivity.html#.restoreUserActivity">restoreUserActivity</a></li><li data-type='method'><a href="module-UserActivity.html#.restoreUserPractice">restoreUserPractice</a></li><li data-type='method'><a href="module-UserActivity.html#.unpinProgressRow">unpinProgressRow</a></li><li data-type='method'><a href="module-UserActivity.html#.updatePracticeNotes">updatePracticeNotes</a></li><li data-type='method'><a href="module-UserActivity.html#.updateUserPractice">updateUserPractice</a></li></ul></li><li><a href="module-UserChat.html">UserChat</a><ul class='methods'><li data-type='method'><a href="module-UserChat.html#.fetchChatSettings">fetchChatSettings</a></li></ul></li><li><a href="module-UserManagement.html">UserManagement</a><ul class='methods'><li data-type='method'><a href="module-UserManagement.html#.blockUser">blockUser</a></li><li data-type='method'><a href="module-UserManagement.html#.blockedUsers">blockedUsers</a></li><li data-type='method'><a href="module-UserManagement.html#.deletePicture">deletePicture</a></li><li data-type='method'><a href="module-UserManagement.html#.getUserData">getUserData</a></li><li data-type='method'><a href="module-UserManagement.html#.getUserSignature">getUserSignature</a></li><li data-type='method'><a href="module-UserManagement.html#.isUsernameAvailable">isUsernameAvailable</a></li><li data-type='method'><a href="module-UserManagement.html#.setUserSignature">setUserSignature</a></li><li data-type='method'><a href="module-UserManagement.html#.toggleSignaturePrivate">toggleSignaturePrivate</a></li><li data-type='method'><a href="module-UserManagement.html#.unblockUser">unblockUser</a></li><li data-type='method'><a href="module-UserManagement.html#.updateDisplayName">updateDisplayName</a></li><li data-type='method'><a href="module-UserManagement.html#.uploadPicture">uploadPicture</a></li><li data-type='method'><a href="module-UserManagement.html#.uploadPictureFromS3">uploadPictureFromS3</a></li></ul></li><li><a href="module-UserMemberships.html">UserMemberships</a><ul class='methods'><li data-type='method'><a href="module-UserMemberships.html#~fetchMemberships">fetchMemberships</a></li><li data-type='method'><a href="module-UserMemberships.html#~fetchRechargeTokens">fetchRechargeTokens</a></li><li data-type='method'><a href="module-UserMemberships.html#~restorePurchases">restorePurchases</a></li><li data-type='method'><a href="module-UserMemberships.html#~upgradeSubscription">upgradeSubscription</a></li></ul></li><li><a href="module-UserNotifications.html">UserNotifications</a><ul class='methods'><li data-type='method'><a href="module-UserNotifications.html#.deleteNotification">deleteNotification</a></li><li data-type='method'><a href="module-UserNotifications.html#.fetchLiveEventPollingState">fetchLiveEventPollingState</a></li><li data-type='method'><a href="module-UserNotifications.html#.fetchNotificationSettings">fetchNotificationSettings</a></li><li data-type='method'><a href="module-UserNotifications.html#.fetchNotifications">fetchNotifications</a></li><li data-type='method'><a href="module-UserNotifications.html#.fetchUnreadCount">fetchUnreadCount</a></li><li data-type='method'><a href="module-UserNotifications.html#.markAllNotificationsAsRead">markAllNotificationsAsRead</a></li><li data-type='method'><a href="module-UserNotifications.html#.markNotificationAsRead">markNotificationAsRead</a></li><li data-type='method'><a href="module-UserNotifications.html#.markNotificationAsUnread">markNotificationAsUnread</a></li><li data-type='method'><a href="module-UserNotifications.html#.pauseLiveEventPolling">pauseLiveEventPolling</a></li><li data-type='method'><a href="module-UserNotifications.html#.restoreNotification">restoreNotification</a></li><li data-type='method'><a href="module-UserNotifications.html#.startLiveEventPolling">startLiveEventPolling</a></li><li data-type='method'><a href="module-UserNotifications.html#.updateNotificationSetting">updateNotificationSetting</a></li></ul></li><li><a href="module-UserProfile.html">UserProfile</a><ul class='methods'><li data-type='method'><a href="module-UserProfile.html#.deleteProfilePicture">deleteProfilePicture</a></li><li data-type='method'><a href="module-UserProfile.html#.otherStats">otherStats</a></li></ul></li></ul><h3>Namespaces</h3><ul><li><a href="ContentOrganization.html">ContentOrganization</a></li><li><a href="Forums.html">Forums</a></li><li><a href="Gamification.html">Gamification</a></li><li><a href="UserManagementSystem.html">UserManagementSystem</a></li></ul><h3>Interfaces</h3><ul><li><a href="TestUser.html">TestUser</a></li></ul><h3>Global</h3><ul><li><a href="global.html#createTestUser">createTestUser</a></li></ul>
33
33
 
34
34
  </nav>
35
35
 
@@ -66,7 +66,7 @@
66
66
  <br class="clear">
67
67
 
68
68
  <footer>
69
- Documentation generated by <a href="https://github.com/jsdoc3/jsdoc">JSDoc 4.0.3</a> on Mon Nov 10 2025 16:22:45 GMT+0000 (Coordinated Universal Time) using the <a href="https://github.com/clenemt/docdash">docdash</a> theme.
69
+ Documentation generated by <a href="https://github.com/jsdoc3/jsdoc">JSDoc 4.0.3</a> on Wed Nov 12 2025 23:37:50 GMT+0000 (Coordinated Universal Time) using the <a href="https://github.com/clenemt/docdash">docdash</a> theme.
70
70
  </footer>
71
71
 
72
72
  <script>prettyPrint();</script>
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.75.0",
3
+ "version": "2.77.0",
4
4
  "description": "A package for Musoras content services ",
5
5
  "main": "src/index.js",
6
6
  "type": "module",
File without changes
@@ -277,6 +277,8 @@ export const getNextLessonLessonParentTypes = [
277
277
  'pack',
278
278
  'pack-bundle',
279
279
  'song-tutorial',
280
+ 'learning-path-v2',
281
+ 'skill-pack'
280
282
  ]
281
283
 
282
284
  export const progressTypesMapping = {
@@ -296,8 +298,8 @@ export const progressTypesMapping = {
296
298
  songs: transcriptionsLessonTypes,
297
299
  'play along': playAlongLessonTypes,
298
300
  'guided course': ['guided-course'],
299
- 'pack': ['pack', 'semester-pack'],
300
- 'method': ['method-card', 'method-intro'],
301
+ pack: ['pack', 'semester-pack'],
302
+ method: ['method-card', 'method-intro'],
301
303
  'learning path': ['learning-path'],
302
304
  'jam track': jamTrackLessonTypes,
303
305
  'course video': ['course-part'],
@@ -479,7 +481,7 @@ export let contentTypeConfig = {
479
481
  },
480
482
  'learning-path-v2': {
481
483
  fields: [
482
- 'intro_video',
484
+ `"intro_video": intro_video->{ ${getIntroVideoFields('learning-path').join(', ')} }`,
483
485
  'total_skills',
484
486
  `"resource": ${resourcesField}`,
485
487
  `"badge": *[
@@ -678,7 +680,7 @@ export let contentTypeConfig = {
678
680
  `"type":_type`,
679
681
  'title',
680
682
  'brand',
681
- `"intro_video": intro_video->{ ${getIntroVideoFields().join(', ')} }`,
683
+ `"intro_video": intro_video->{ ${getIntroVideoFields('method').join(', ')} }`,
682
684
  `child[]->{
683
685
  "resource": ${resourcesField},
684
686
  total_skills,
@@ -696,21 +698,27 @@ export let contentTypeConfig = {
696
698
  }
697
699
  }`,
698
700
  ],
699
- 'method-intro': getIntroVideoFields(),
700
701
  }
701
702
 
702
- export function getIntroVideoFields() {
703
- return [
703
+ export function getIntroVideoFields(type) {
704
+ const fields = [
705
+ `"id": railcontent_id`,
704
706
  'title',
705
707
  'brand',
706
708
  `"type": _type`,
707
- "brand",
709
+ 'brand',
708
710
  `"description": ${descriptionField}`,
709
711
  `"thumbnail": thumbnail.asset->url`,
710
712
  'length_in_seconds',
711
- 'video_desktop',
712
- 'video_mobile',
713
713
  ]
714
+
715
+ if (type === 'method') {
716
+ fields.push(...['video_desktop', 'video_mobile'])
717
+ } else if (type === 'learning-path') {
718
+ fields.push('video')
719
+ }
720
+
721
+ return fields
714
722
  }
715
723
 
716
724
  export const plusMembershipPermissions = 92
File without changes
package/src/index.d.ts CHANGED
@@ -16,6 +16,9 @@ import {
16
16
  fetchLearningPathLessons,
17
17
  getActivePath,
18
18
  getDailySession,
19
+ getLearningPath,
20
+ getLearningPathLessonsByIds,
21
+ mapContentToParent,
19
22
  resetAllLearningPaths,
20
23
  startLearningPath,
21
24
  updateActivePath,
@@ -281,7 +284,8 @@ import {
281
284
  sendAccountSetupEmail,
282
285
  sendPasswordResetEmail,
283
286
  setupAccount,
284
- status
287
+ status,
288
+ toggleStudentView
285
289
  } from './services/user/account.ts';
286
290
 
287
291
  import {
@@ -539,6 +543,8 @@ declare module 'musora-content-services' {
539
543
  getContentRows,
540
544
  getDailySession,
541
545
  getLastInteractedOf,
546
+ getLearningPath,
547
+ getLearningPathLessonsByIds,
542
548
  getLegacyMethods,
543
549
  getLessonContentRows,
544
550
  getMethodCard,
@@ -592,6 +598,7 @@ declare module 'musora-content-services' {
592
598
  logUserPractice,
593
599
  login,
594
600
  logout,
601
+ mapContentToParent,
595
602
  markAllNotificationsAsRead,
596
603
  markContentAsInterested,
597
604
  markContentAsNotInterested,
@@ -647,6 +654,7 @@ declare module 'musora-content-services' {
647
654
  toDayjs,
648
655
  togglePlaylistPrivate,
649
656
  toggleSignaturePrivate,
657
+ toggleStudentView,
650
658
  unEnrollUserInGuidedCourse,
651
659
  unassignModeratorToComment,
652
660
  unblockUser,
package/src/index.js CHANGED
@@ -16,6 +16,9 @@ import {
16
16
  fetchLearningPathLessons,
17
17
  getActivePath,
18
18
  getDailySession,
19
+ getLearningPath,
20
+ getLearningPathLessonsByIds,
21
+ mapContentToParent,
19
22
  resetAllLearningPaths,
20
23
  startLearningPath,
21
24
  updateActivePath,
@@ -281,7 +284,8 @@ import {
281
284
  sendAccountSetupEmail,
282
285
  sendPasswordResetEmail,
283
286
  setupAccount,
284
- status
287
+ status,
288
+ toggleStudentView
285
289
  } from './services/user/account.ts';
286
290
 
287
291
  import {
@@ -538,6 +542,8 @@ export {
538
542
  getContentRows,
539
543
  getDailySession,
540
544
  getLastInteractedOf,
545
+ getLearningPath,
546
+ getLearningPathLessonsByIds,
541
547
  getLegacyMethods,
542
548
  getLessonContentRows,
543
549
  getMethodCard,
@@ -591,6 +597,7 @@ export {
591
597
  logUserPractice,
592
598
  login,
593
599
  logout,
600
+ mapContentToParent,
594
601
  markAllNotificationsAsRead,
595
602
  markContentAsInterested,
596
603
  markContentAsNotInterested,
@@ -646,6 +653,7 @@ export {
646
653
  toDayjs,
647
654
  togglePlaylistPrivate,
648
655
  toggleSignaturePrivate,
656
+ toggleStudentView,
649
657
  unEnrollUserInGuidedCourse,
650
658
  unassignModeratorToComment,
651
659
  unblockUser,
@@ -30,23 +30,23 @@ export class HttpClient {
30
30
  }
31
31
 
32
32
  public async get<T>(url: string, dataVersion: string | null = null): Promise<T> {
33
- return this.request<T>(url, 'get', dataVersion)
33
+ return this.request<T>(url, 'GET', dataVersion)
34
34
  }
35
35
 
36
36
  public async post<T>(url: string, data: any, dataVersion: string | null = null): Promise<T> {
37
- return this.request<T>(url, 'post', dataVersion, data)
37
+ return this.request<T>(url, 'POST', dataVersion, data)
38
38
  }
39
39
 
40
40
  public async put<T>(url: string, data: any, dataVersion: string | null = null): Promise<T> {
41
- return this.request<T>(url, 'put', dataVersion, data)
41
+ return this.request<T>(url, 'PUT', dataVersion, data)
42
42
  }
43
43
 
44
44
  public async patch<T>(url: string, data: any, dataVersion: string | null = null): Promise<T> {
45
- return this.request<T>(url, 'patch', dataVersion, data)
45
+ return this.request<T>(url, 'PATCH', dataVersion, data)
46
46
  }
47
47
 
48
48
  public async delete<T>(url: string, dataVersion: string | null = null): Promise<T> {
49
- return this.request<T>(url, 'delete', dataVersion)
49
+ return this.request<T>(url, 'DELETE', dataVersion)
50
50
  }
51
51
 
52
52
  private async request<T>(
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
@@ -77,6 +77,48 @@ export async function resetAllLearningPaths() {
77
77
  return await fetchHandler(url, 'POST', null, {})
78
78
  }
79
79
 
80
+ /**
81
+ * Returns learning path with lessons and progress data
82
+ * @param {number} learningPathId - The learning path ID
83
+ * @returns {Promise<Object>} Learning path with enriched lesson data
84
+ */
85
+ export async function getLearningPath(learningPathId) {
86
+ //TODO: must be a cleaner way to do this
87
+ let learningPath = await fetchByRailContentId(learningPathId, 'learning-path-v2')
88
+ learningPath.children = mapContentToParent(
89
+ learningPath.children,
90
+ 'learning-path-lesson-v2',
91
+ learningPathId
92
+ )
93
+
94
+ learningPath.children = await addContextToContent(() => learningPath.children, {
95
+ addProgressStatus: true,
96
+ addProgressPercentage: true,
97
+ addProgressTimestamp: true,
98
+ })
99
+ learningPath = await addContextToContent(() => learningPath, { addNextLesson: true })
100
+ return learningPath
101
+ }
102
+
103
+ /**
104
+ * Get specific learning path lessons by content IDs
105
+ * @param {number[]} contentIds - Array of content IDs to filter
106
+ * @param {number} learningPathId - The learning path ID
107
+ * @returns {Promise<Array>} Filtered lessons
108
+ */
109
+ export async function getLearningPathLessonsByIds(contentIds, learningPathId) {
110
+ // It is more efficient to load the entire learning path than individual lessons
111
+ // Also adds reliability check whether content is actually in the learning path
112
+ const learningPath = await getLearningPath(learningPathId)
113
+ return learningPath.children.filter((lesson) => contentIds.includes(lesson.id))
114
+ }
115
+
116
+ export function mapContentToParent(lessons, parentContentType, parentContentId) {
117
+ return lessons.map((lesson: any) => {
118
+ return { ...lesson, type: parentContentType, parent_id: parentContentId }
119
+ })
120
+ }
121
+
80
122
  /** Fetches and organizes learning path lessons.
81
123
  *
82
124
  * @param {number} learningPathId - The learning path ID.
@@ -100,36 +142,28 @@ export async function fetchLearningPathLessons(
100
142
  userDate: Date
101
143
  ) {
102
144
  const [learningPath, dailySession] = await Promise.all([
103
- fetchByRailContentId(learningPathId, 'learning-path-v2'),
145
+ getLearningPath(learningPathId),
104
146
  getDailySession(brand, userDate),
105
147
  ])
106
148
 
107
- const addContextParameters = {
108
- addProgressStatus: true,
109
- addProgressPercentage: true,
110
- }
111
-
112
- const lessons = await addContextToContent(() => learningPath.children, addContextParameters)
113
149
  const isActiveLearningPath = (dailySession?.active_learning_path_id || 0) == learningPathId
114
- const manipulatedLessons = lessons.map((lesson: any) => {
115
- return { ...lesson, type: 'learning-path-lesson-v2', parent_id: learningPathId }
116
- })
117
-
118
150
  if (!isActiveLearningPath) {
119
151
  return {
120
152
  ...learningPath,
121
153
  is_active_learning_path: isActiveLearningPath,
122
- children: manipulatedLessons,
123
154
  }
124
155
  }
125
156
  const todayContentIds = dailySession.daily_session[0]?.content_ids || []
157
+ const previousLearningPathId = dailySession.daily_session[0]?.learning_path_id
126
158
  const nextContentIds = dailySession.daily_session[1]?.content_ids || []
159
+ const nextLearningPathId = dailySession.daily_session[1]?.learning_path_id
127
160
  const completedLessons = []
128
161
  let todaysLessons = []
129
162
  let nextLPLessons = []
163
+ let previousLearningPathTodays = []
130
164
  const upcomingLessons = []
131
165
 
132
- manipulatedLessons.forEach((lesson: any) => {
166
+ learningPath.children.forEach((lesson: any) => {
133
167
  if (todayContentIds.includes(lesson.id)) {
134
168
  todaysLessons.push(lesson)
135
169
  } else if (lesson.progressStatus === 'completed') {
@@ -139,20 +173,13 @@ export async function fetchLearningPathLessons(
139
173
  }
140
174
  })
141
175
 
142
- let previousLearnigPathTodays = []
143
176
  if (todaysLessons.length == 0) {
144
177
  // Daily sessions first lessons are not part of the active learning path, but next lessons are
145
178
  // load todays lessons from previous learning path
146
- previousLearnigPathTodays = await addContextToContent(
147
- fetchByRailContentIds,
179
+ previousLearningPathTodays = await getLearningPathLessonsByIds(
148
180
  todayContentIds,
149
- addContextParameters
181
+ previousLearningPathId
150
182
  )
151
-
152
- const previousLearningPathId = dailySession.daily_session[0]?.learing_path_id
153
- previousLearnigPathTodays = previousLearnigPathTodays.map((lesson: any) => {
154
- return { ...lesson, type: 'learning-path-lesson-v2', parent_id: previousLearningPathId }
155
- })
156
183
  } else if (
157
184
  nextContentIds.length > 0 &&
158
185
  todaysLessons.length < 3 &&
@@ -160,25 +187,18 @@ export async function fetchLearningPathLessons(
160
187
  ) {
161
188
  // Daily sessions first lessons are the active learning path and the next lessons are not
162
189
  // load next lessons from next learning path
163
- nextLPLessons = await addContextToContent(
164
- fetchByRailContentIds,
165
- nextContentIds,
166
- addContextParameters
167
- )
168
- const nextLearningPathId = dailySession.daily_session[1]?.learing_path_id
169
- nextLPLessons = nextLPLessons.map((lesson: any) => {
170
- return { ...lesson, type: 'learning-path-lesson-v2', parent_id: nextLearningPathId }
171
- })
190
+ nextLPLessons = await getLearningPathLessonsByIds(nextContentIds, nextLearningPathId)
172
191
  }
173
192
 
174
193
  return {
175
194
  ...learningPath,
176
195
  is_active_learning_path: isActiveLearningPath,
177
- children: manipulatedLessons,
196
+ active_learning_path_id: dailySession?.active_learning_path_id,
197
+ active_learning_path_created_at: dailySession?.active_learning_path_created_at,
178
198
  upcoming_lessons: upcomingLessons,
179
199
  todays_lessons: todaysLessons,
180
200
  next_learning_path_lessons: nextLPLessons,
181
201
  completed_lessons: completedLessons,
182
- previous_learning_path_todays: previousLearnigPathTodays,
202
+ previous_learning_path_todays: previousLearningPathTodays,
183
203
  }
184
204
  }
File without changes
File without changes
File without changes