musora-content-services 2.7.1 → 2.7.2

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 (50) hide show
  1. package/CHANGELOG.md +2 -0
  2. package/docs/ContentOrganization.html +2 -2
  3. package/docs/Gamification.html +2 -2
  4. package/docs/UserManagementSystem.html +2 -2
  5. package/docs/api_types.js.html +2 -2
  6. package/docs/config.js.html +2 -2
  7. package/docs/content-org_content-org.js.html +2 -2
  8. package/docs/content-org_playlists-types.js.html +3 -5
  9. package/docs/content-org_playlists.js.html +23 -9
  10. package/docs/content.js.html +9 -2
  11. package/docs/gamification_awards.js.html +2 -2
  12. package/docs/gamification_gamification.js.html +2 -2
  13. package/docs/gamification_types.js.html +2 -2
  14. package/docs/global.html +5 -53
  15. package/docs/index.html +2 -2
  16. package/docs/module-Awards.html +2 -2
  17. package/docs/module-Config.html +2 -2
  18. package/docs/module-Content-Services-V2.html +8 -8
  19. package/docs/module-Interests.html +2 -2
  20. package/docs/module-Permissions.html +2 -2
  21. package/docs/module-Playlists.html +21 -20
  22. package/docs/module-Railcontent-Services.html +2 -2
  23. package/docs/module-Sanity-Services.html +30 -30
  24. package/docs/module-Sessions.html +2 -2
  25. package/docs/module-User-Activity.html +737 -58
  26. package/docs/module-UserManagement.html +2 -2
  27. package/docs/module-UserProfile.html +2 -2
  28. package/docs/railcontent.js.html +2 -2
  29. package/docs/sanity.js.html +24 -6
  30. package/docs/userActivity.js.html +360 -12
  31. package/docs/user_interests.js.html +2 -2
  32. package/docs/user_management.js.html +2 -2
  33. package/docs/user_permissions.js.html +2 -2
  34. package/docs/user_profile.js.html +4 -4
  35. package/docs/user_sessions.js.html +2 -2
  36. package/docs/user_types.js.html +2 -2
  37. package/docs/user_user-management-system.js.html +2 -2
  38. package/package.json +1 -1
  39. package/src/contentMetaData.js +2 -1
  40. package/src/contentTypeConfig.js +18 -2
  41. package/src/index.d.ts +10 -2
  42. package/src/index.js +10 -2
  43. package/src/services/content.js +7 -0
  44. package/src/services/contentProgress.js +45 -15
  45. package/src/services/sanity.js +22 -4
  46. package/src/services/userActivity.js +348 -10
  47. package/test/mockData/mockData_progress_content.json +182 -0
  48. package/test/mockData/mockData_sanity_progress_content.json +1451 -0
  49. package/test/progressRows.test.js +215 -0
  50. package/test/sanityQueryService.test.js +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-Awards.html">Awards</a><ul class='methods'><li data-type='method'><a href="module-Awards.html#.fetchAwardsForUser">fetchAwardsForUser</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#.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-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-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#.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#.updatePlaylist">updatePlaylist</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#~togglePlaylistPrivate">togglePlaylistPrivate</a></li><li data-type='method'><a href="module-Playlists.html#~unlikePlaylist">unlikePlaylist</a></li></ul></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#.fetchChallengeIndexMetadata">fetchChallengeIndexMetadata</a></li><li data-type='method'><a href="module-Railcontent-Services.html#.fetchChallengeLessonData">fetchChallengeLessonData</a></li><li data-type='method'><a href="module-Railcontent-Services.html#.fetchChallengeMetadata">fetchChallengeMetadata</a></li><li data-type='method'><a href="module-Railcontent-Services.html#.fetchChallengeUserActiveChallenges">fetchChallengeUserActiveChallenges</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#.fetchCompletedChallenges">fetchCompletedChallenges</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#.fetchOwnedChallenges">fetchOwnedChallenges</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#.fetchUserChallengeProgress">fetchUserChallengeProgress</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#.postChallengesCommunityNotification">postChallengesCommunityNotification</a></li><li data-type='method'><a href="module-Railcontent-Services.html#.postChallengesEnroll">postChallengesEnroll</a></li><li data-type='method'><a href="module-Railcontent-Services.html#.postChallengesEnrollmentNotification">postChallengesEnrollmentNotification</a></li><li data-type='method'><a href="module-Railcontent-Services.html#.postChallengesHideCompletedBanner">postChallengesHideCompletedBanner</a></li><li data-type='method'><a href="module-Railcontent-Services.html#.postChallengesLeave">postChallengesLeave</a></li><li data-type='method'><a href="module-Railcontent-Services.html#.postChallengesSetStartDate">postChallengesSetStartDate</a></li><li data-type='method'><a href="module-Railcontent-Services.html#.postChallengesSoloNotification">postChallengesSoloNotification</a></li><li data-type='method'><a href="module-Railcontent-Services.html#.postChallengesUnlock">postChallengesUnlock</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#.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#.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#.fetchParentForDownload">fetchParentForDownload</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#.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#~getNextAndPreviousQuarterDates">getNextAndPreviousQuarterDates</a></li><li data-type='method'><a href="module-Sanity-Services.html#~getQueryFromPage">getQueryFromPage</a></li><li data-type='method'><a href="module-Sanity-Services.html#~handleCustomFetchAll">handleCustomFetchAll</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-User-Activity.html">User-Activity</a><ul class='methods'><li data-type='method'><a href="module-User-Activity.html#.calculateLongestStreaks">calculateLongestStreaks</a></li><li data-type='method'><a href="module-User-Activity.html#.createPracticeNotes">createPracticeNotes</a></li><li data-type='method'><a href="module-User-Activity.html#.deletePracticeSession">deletePracticeSession</a></li><li data-type='method'><a href="module-User-Activity.html#.deleteUserActivity">deleteUserActivity</a></li><li data-type='method'><a href="module-User-Activity.html#.getPracticeNotes">getPracticeNotes</a></li><li data-type='method'><a href="module-User-Activity.html#.getPracticeSessions">getPracticeSessions</a></li><li data-type='method'><a href="module-User-Activity.html#.getRecentActivity">getRecentActivity</a></li><li data-type='method'><a href="module-User-Activity.html#.getUserMonthlyStats">getUserMonthlyStats</a></li><li data-type='method'><a href="module-User-Activity.html#.getUserWeeklyStats">getUserWeeklyStats</a></li><li data-type='method'><a href="module-User-Activity.html#.recordUserActivity">recordUserActivity</a></li><li data-type='method'><a href="module-User-Activity.html#.recordUserPractice">recordUserPractice</a></li><li data-type='method'><a href="module-User-Activity.html#.removeUserPractice">removeUserPractice</a></li><li data-type='method'><a href="module-User-Activity.html#.restorePracticeSession">restorePracticeSession</a></li><li data-type='method'><a href="module-User-Activity.html#.restoreUserPractice">restoreUserPractice</a></li><li data-type='method'><a href="module-User-Activity.html#.updatePracticeNotes">updatePracticeNotes</a></li><li data-type='method'><a href="module-User-Activity.html#.updateUserPractice">updateUserPractice</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#.unblockUser">unblockUser</a></li></ul></li><li><a href="module-UserProfile.html">UserProfile</a><ul class='methods'><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="Gamification.html">Gamification</a></li><li><a href="UserManagementSystem.html">UserManagementSystem</a></li></ul><h3><a href="global.html">Global</a></h3>
32
+ <h2><a href="index.html">Home</a></h2><h3>Modules</h3><ul><li><a href="module-Awards.html">Awards</a><ul class='methods'><li data-type='method'><a href="module-Awards.html#.fetchAwardsForUser">fetchAwardsForUser</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#.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-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-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#.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#.updatePlaylist">updatePlaylist</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#~togglePlaylistPrivate">togglePlaylistPrivate</a></li><li data-type='method'><a href="module-Playlists.html#~unlikePlaylist">unlikePlaylist</a></li></ul></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#.fetchChallengeIndexMetadata">fetchChallengeIndexMetadata</a></li><li data-type='method'><a href="module-Railcontent-Services.html#.fetchChallengeLessonData">fetchChallengeLessonData</a></li><li data-type='method'><a href="module-Railcontent-Services.html#.fetchChallengeMetadata">fetchChallengeMetadata</a></li><li data-type='method'><a href="module-Railcontent-Services.html#.fetchChallengeUserActiveChallenges">fetchChallengeUserActiveChallenges</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#.fetchCompletedChallenges">fetchCompletedChallenges</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#.fetchOwnedChallenges">fetchOwnedChallenges</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#.fetchUserChallengeProgress">fetchUserChallengeProgress</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#.postChallengesCommunityNotification">postChallengesCommunityNotification</a></li><li data-type='method'><a href="module-Railcontent-Services.html#.postChallengesEnroll">postChallengesEnroll</a></li><li data-type='method'><a href="module-Railcontent-Services.html#.postChallengesEnrollmentNotification">postChallengesEnrollmentNotification</a></li><li data-type='method'><a href="module-Railcontent-Services.html#.postChallengesHideCompletedBanner">postChallengesHideCompletedBanner</a></li><li data-type='method'><a href="module-Railcontent-Services.html#.postChallengesLeave">postChallengesLeave</a></li><li data-type='method'><a href="module-Railcontent-Services.html#.postChallengesSetStartDate">postChallengesSetStartDate</a></li><li data-type='method'><a href="module-Railcontent-Services.html#.postChallengesSoloNotification">postChallengesSoloNotification</a></li><li data-type='method'><a href="module-Railcontent-Services.html#.postChallengesUnlock">postChallengesUnlock</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#.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#.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#.fetchParentForDownload">fetchParentForDownload</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#.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#~getNextAndPreviousQuarterDates">getNextAndPreviousQuarterDates</a></li><li data-type='method'><a href="module-Sanity-Services.html#~getQueryFromPage">getQueryFromPage</a></li><li data-type='method'><a href="module-Sanity-Services.html#~handleCustomFetchAll">handleCustomFetchAll</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-User-Activity.html">User-Activity</a><ul class='methods'><li data-type='method'><a href="module-User-Activity.html#.calculateLongestStreaks">calculateLongestStreaks</a></li><li data-type='method'><a href="module-User-Activity.html#.createPracticeNotes">createPracticeNotes</a></li><li data-type='method'><a href="module-User-Activity.html#.deletePracticeSession">deletePracticeSession</a></li><li data-type='method'><a href="module-User-Activity.html#.deleteUserActivity">deleteUserActivity</a></li><li data-type='method'><a href="module-User-Activity.html#.getPracticeNotes">getPracticeNotes</a></li><li data-type='method'><a href="module-User-Activity.html#.getPracticeSessions">getPracticeSessions</a></li><li data-type='method'><a href="module-User-Activity.html#.getProgressRows">getProgressRows</a></li><li data-type='method'><a href="module-User-Activity.html#.getRecentActivity">getRecentActivity</a></li><li data-type='method'><a href="module-User-Activity.html#.getUserMonthlyStats">getUserMonthlyStats</a></li><li data-type='method'><a href="module-User-Activity.html#.getUserWeeklyStats">getUserWeeklyStats</a></li><li data-type='method'><a href="module-User-Activity.html#.pinProgressRow">pinProgressRow</a></li><li data-type='method'><a href="module-User-Activity.html#.recordUserActivity">recordUserActivity</a></li><li data-type='method'><a href="module-User-Activity.html#.recordUserPractice">recordUserPractice</a></li><li data-type='method'><a href="module-User-Activity.html#.removeUserPractice">removeUserPractice</a></li><li data-type='method'><a href="module-User-Activity.html#.restorePracticeSession">restorePracticeSession</a></li><li data-type='method'><a href="module-User-Activity.html#.restoreUserPractice">restoreUserPractice</a></li><li data-type='method'><a href="module-User-Activity.html#.unpinProgressRow">unpinProgressRow</a></li><li data-type='method'><a href="module-User-Activity.html#.updatePracticeNotes">updatePracticeNotes</a></li><li data-type='method'><a href="module-User-Activity.html#.updateUserPractice">updateUserPractice</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#.unblockUser">unblockUser</a></li></ul></li><li><a href="module-UserProfile.html">UserProfile</a><ul class='methods'><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="Gamification.html">Gamification</a></li><li><a href="UserManagementSystem.html">UserManagementSystem</a></li></ul><h3><a href="global.html">Global</a></h3>
33
33
 
34
34
  </nav>
35
35
 
@@ -100,7 +100,7 @@
100
100
 
101
101
  <dt class="tag-source">Source:</dt>
102
102
  <dd class="tag-source"><ul class="dummy"><li>
103
- <a href="userActivity.js.html">userActivity.js</a>, <a href="userActivity.js.html#line729">line 729</a>
103
+ <a href="userActivity.js.html">userActivity.js</a>, <a href="userActivity.js.html#line732">line 732</a>
104
104
  </li></ul></dd>
105
105
 
106
106
 
@@ -204,7 +204,7 @@
204
204
 
205
205
  <dt class="tag-source">Source:</dt>
206
206
  <dd class="tag-source"><ul class="dummy"><li>
207
- <a href="userActivity.js.html">userActivity.js</a>, <a href="userActivity.js.html#line567">line 567</a>
207
+ <a href="userActivity.js.html">userActivity.js</a>, <a href="userActivity.js.html#line570">line 570</a>
208
208
  </li></ul></dd>
209
209
 
210
210
 
@@ -446,7 +446,7 @@ to remove them from the server. It also updates the local context to reflect the
446
446
 
447
447
  <dt class="tag-source">Source:</dt>
448
448
  <dd class="tag-source"><ul class="dummy"><li>
449
- <a href="userActivity.js.html">userActivity.js</a>, <a href="userActivity.js.html#line418">line 418</a>
449
+ <a href="userActivity.js.html">userActivity.js</a>, <a href="userActivity.js.html#line421">line 421</a>
450
450
  </li></ul></dd>
451
451
 
452
452
 
@@ -610,7 +610,7 @@ deletePracticeSession("2025-04-10")
610
610
 
611
611
  <dt class="tag-source">Source:</dt>
612
612
  <dd class="tag-source"><ul class="dummy"><li>
613
- <a href="userActivity.js.html">userActivity.js</a>, <a href="userActivity.js.html#line886">line 886</a>
613
+ <a href="userActivity.js.html">userActivity.js</a>, <a href="userActivity.js.html#line889">line 889</a>
614
614
  </li></ul></dd>
615
615
 
616
616
 
@@ -778,7 +778,7 @@ deletePracticeSession("2025-04-10")
778
778
 
779
779
  <dt class="tag-source">Source:</dt>
780
780
  <dd class="tag-source"><ul class="dummy"><li>
781
- <a href="userActivity.js.html">userActivity.js</a>, <a href="userActivity.js.html#line531">line 531</a>
781
+ <a href="userActivity.js.html">userActivity.js</a>, <a href="userActivity.js.html#line534">line 534</a>
782
782
  </li></ul></dd>
783
783
 
784
784
 
@@ -944,7 +944,7 @@ getPracticeNotes("2025-04-10")
944
944
 
945
945
  <dt class="tag-source">Source:</dt>
946
946
  <dd class="tag-source"><ul class="dummy"><li>
947
- <a href="userActivity.js.html">userActivity.js</a>, <a href="userActivity.js.html#line501">line 501</a>
947
+ <a href="userActivity.js.html">userActivity.js</a>, <a href="userActivity.js.html#line504">line 504</a>
948
948
  </li></ul></dd>
949
949
 
950
950
 
@@ -1207,6 +1207,304 @@ getPracticeSessions({ day: "2025-03-31", userId: 456 })
1207
1207
 
1208
1208
 
1209
1209
 
1210
+ <h4 class="name" id=".getProgressRows"><span class="type-signature type-signature-static">(static) </span>getProgressRows<span class="signature">(options<span class="signature-attributes">opt</span>)</span><span class="type-signature"> &rarr; {Promise.&lt;Object>}</span></h4>
1211
+
1212
+
1213
+
1214
+
1215
+
1216
+
1217
+ <dl class="details">
1218
+
1219
+ <dt class="tag-description">Description:</dt>
1220
+ <dd class="tag-description"><ul class="dummy"><li>Fetches and combines recent user progress rows and playlists, excluding certain types and parents.</li></ul></dd>
1221
+
1222
+
1223
+
1224
+ <dt class="tag-source">Source:</dt>
1225
+ <dd class="tag-source"><ul class="dummy"><li>
1226
+ <a href="userActivity.js.html">userActivity.js</a>, <a href="userActivity.js.html#line906">line 906</a>
1227
+ </li></ul></dd>
1228
+
1229
+
1230
+
1231
+
1232
+
1233
+
1234
+
1235
+
1236
+
1237
+
1238
+
1239
+
1240
+
1241
+
1242
+
1243
+
1244
+
1245
+
1246
+
1247
+
1248
+
1249
+
1250
+
1251
+
1252
+
1253
+
1254
+
1255
+
1256
+
1257
+
1258
+
1259
+ </dl>
1260
+
1261
+
1262
+
1263
+
1264
+
1265
+
1266
+
1267
+
1268
+
1269
+
1270
+
1271
+ <h5 class="h5-examples">Example</h5>
1272
+
1273
+ <pre class="prettyprint"><code>getProgressRows({ brand: 'drumeo', limit: 10 })
1274
+ .then(data => console.log(data))
1275
+ .catch(error => console.error(error));</code></pre>
1276
+
1277
+
1278
+
1279
+
1280
+ <h5 class="h5-parameters">Parameters:</h5>
1281
+
1282
+
1283
+ <table class="params">
1284
+ <thead>
1285
+ <tr>
1286
+
1287
+ <th>Name</th>
1288
+
1289
+
1290
+ <th>Type</th>
1291
+
1292
+
1293
+ <th>Attributes</th>
1294
+
1295
+
1296
+
1297
+ <th>Default</th>
1298
+
1299
+
1300
+ <th class="last">Description</th>
1301
+ </tr>
1302
+ </thead>
1303
+
1304
+ <tbody>
1305
+
1306
+
1307
+ <tr>
1308
+
1309
+ <td class="name"><code>options</code></td>
1310
+
1311
+
1312
+ <td class="type">
1313
+
1314
+
1315
+ <span class="param-type">Object</span>
1316
+
1317
+
1318
+
1319
+
1320
+ </td>
1321
+
1322
+
1323
+ <td class="attributes">
1324
+
1325
+ &lt;optional><br>
1326
+
1327
+
1328
+
1329
+
1330
+
1331
+ </td>
1332
+
1333
+
1334
+
1335
+ <td class="default">
1336
+
1337
+ <code>{}</code>
1338
+
1339
+ </td>
1340
+
1341
+
1342
+ <td class="description last">Options for fetching progress rows.
1343
+ <h6>Properties</h6>
1344
+
1345
+
1346
+ <table class="params">
1347
+ <thead>
1348
+ <tr>
1349
+
1350
+ <th>Name</th>
1351
+
1352
+
1353
+ <th>Type</th>
1354
+
1355
+
1356
+ <th>Attributes</th>
1357
+
1358
+
1359
+
1360
+ <th>Default</th>
1361
+
1362
+
1363
+ <th class="last">Description</th>
1364
+ </tr>
1365
+ </thead>
1366
+
1367
+ <tbody>
1368
+
1369
+
1370
+ <tr>
1371
+
1372
+ <td class="name"><code>brand</code></td>
1373
+
1374
+
1375
+ <td class="type">
1376
+
1377
+
1378
+ <span class="param-type">string</span>
1379
+ |
1380
+
1381
+ <span class="param-type">null</span>
1382
+
1383
+
1384
+
1385
+
1386
+ </td>
1387
+
1388
+
1389
+ <td class="attributes">
1390
+
1391
+ &lt;optional><br>
1392
+
1393
+
1394
+
1395
+
1396
+
1397
+ </td>
1398
+
1399
+
1400
+
1401
+ <td class="default">
1402
+
1403
+ <code>null</code>
1404
+
1405
+ </td>
1406
+
1407
+
1408
+ <td class="description last">The brand context for progress data.</td>
1409
+ </tr>
1410
+
1411
+
1412
+
1413
+ <tr>
1414
+
1415
+ <td class="name"><code>limit</code></td>
1416
+
1417
+
1418
+ <td class="type">
1419
+
1420
+
1421
+ <span class="param-type">number</span>
1422
+
1423
+
1424
+
1425
+
1426
+ </td>
1427
+
1428
+
1429
+ <td class="attributes">
1430
+
1431
+ &lt;optional><br>
1432
+
1433
+
1434
+
1435
+
1436
+
1437
+ </td>
1438
+
1439
+
1440
+
1441
+ <td class="default">
1442
+
1443
+ <code>8</code>
1444
+
1445
+ </td>
1446
+
1447
+
1448
+ <td class="description last">Maximum number of progress rows to return.</td>
1449
+ </tr>
1450
+
1451
+
1452
+ </tbody>
1453
+ </table>
1454
+
1455
+ </td>
1456
+ </tr>
1457
+
1458
+
1459
+ </tbody>
1460
+ </table>
1461
+
1462
+
1463
+
1464
+
1465
+
1466
+
1467
+
1468
+
1469
+
1470
+
1471
+
1472
+
1473
+
1474
+
1475
+
1476
+
1477
+ <h5 class="h5-returns">Returns:</h5>
1478
+
1479
+
1480
+ <div class="param-desc">
1481
+ - A promise that resolves to an object containing progress rows formatted for UI.
1482
+ </div>
1483
+
1484
+
1485
+
1486
+ <dl class="param-type">
1487
+ <dt>
1488
+ Type
1489
+ </dt>
1490
+ <dd>
1491
+
1492
+ <span class="param-type">Promise.&lt;Object></span>
1493
+
1494
+
1495
+
1496
+ </dd>
1497
+ </dl>
1498
+
1499
+
1500
+
1501
+
1502
+
1503
+
1504
+
1505
+
1506
+
1507
+
1210
1508
  <h4 class="name" id=".getRecentActivity"><span class="type-signature type-signature-async, static">(async, static) </span>getRecentActivity<span class="signature">()</span><span class="type-signature"> &rarr; {Promise.&lt;{data: Array.&lt;Object>}>}</span></h4>
1211
1509
 
1212
1510
 
@@ -1225,7 +1523,7 @@ Returns an object containing recent practice activity.</li></ul></dd>
1225
1523
 
1226
1524
  <dt class="tag-source">Source:</dt>
1227
1525
  <dd class="tag-source"><ul class="dummy"><li>
1228
- <a href="userActivity.js.html">userActivity.js</a>, <a href="userActivity.js.html#line550">line 550</a>
1526
+ <a href="userActivity.js.html">userActivity.js</a>, <a href="userActivity.js.html#line553">line 553</a>
1229
1527
  </li></ul></dd>
1230
1528
 
1231
1529
 
@@ -1342,7 +1640,7 @@ If no parameters are provided, defaults to the current year, current month, and
1342
1640
 
1343
1641
  <dt class="tag-source">Source:</dt>
1344
1642
  <dd class="tag-source"><ul class="dummy"><li>
1345
- <a href="userActivity.js.html">userActivity.js</a>, <a href="userActivity.js.html#line132">line 132</a>
1643
+ <a href="userActivity.js.html">userActivity.js</a>, <a href="userActivity.js.html#line135">line 135</a>
1346
1644
  </li></ul></dd>
1347
1645
 
1348
1646
 
@@ -1700,87 +1998,303 @@ getUserMonthlyStats({ userId: 123 }).then(console.log);</code></pre>
1700
1998
 
1701
1999
 
1702
2000
 
1703
- </dd>
1704
- </dl>
2001
+ </dd>
2002
+ </dl>
2003
+
2004
+
2005
+
2006
+
2007
+
2008
+
2009
+
2010
+
2011
+
2012
+
2013
+ <h4 class="name" id=".getUserWeeklyStats"><span class="type-signature type-signature-static">(static) </span>getUserWeeklyStats<span class="signature">()</span><span class="type-signature"> &rarr; {Promise.&lt;Object>}</span></h4>
2014
+
2015
+
2016
+
2017
+
2018
+
2019
+
2020
+ <dl class="details">
2021
+
2022
+ <dt class="tag-description">Description:</dt>
2023
+ <dd class="tag-description"><ul class="dummy"><li>Retrieves user activity statistics for the current week, including daily activity and streak messages.</li></ul></dd>
2024
+
2025
+
2026
+
2027
+ <dt class="tag-source">Source:</dt>
2028
+ <dd class="tag-source"><ul class="dummy"><li>
2029
+ <a href="userActivity.js.html">userActivity.js</a>, <a href="userActivity.js.html#line79">line 79</a>
2030
+ </li></ul></dd>
2031
+
2032
+
2033
+
2034
+
2035
+
2036
+
2037
+
2038
+
2039
+
2040
+
2041
+
2042
+
2043
+
2044
+
2045
+
2046
+
2047
+
2048
+
2049
+
2050
+
2051
+
2052
+
2053
+
2054
+
2055
+
2056
+
2057
+
2058
+
2059
+
2060
+
2061
+
2062
+ </dl>
2063
+
2064
+
2065
+
2066
+
2067
+
2068
+
2069
+
2070
+
2071
+
2072
+
2073
+
2074
+ <h5 class="h5-examples">Example</h5>
2075
+
2076
+ <pre class="prettyprint"><code>// Retrieve user activity statistics for the current week
2077
+ getUserWeeklyStats()
2078
+ .then(stats => console.log(stats))
2079
+ .catch(error => console.error(error));</code></pre>
2080
+
2081
+
2082
+
2083
+
2084
+
2085
+
2086
+
2087
+
2088
+
2089
+
2090
+
2091
+
2092
+
2093
+
2094
+
2095
+
2096
+
2097
+
2098
+ <h5 class="h5-returns">Returns:</h5>
2099
+
2100
+
2101
+ <div class="param-desc">
2102
+ - A promise that resolves to an object containing weekly user activity statistics.
2103
+ </div>
2104
+
2105
+
2106
+
2107
+ <dl class="param-type">
2108
+ <dt>
2109
+ Type
2110
+ </dt>
2111
+ <dd>
2112
+
2113
+ <span class="param-type">Promise.&lt;Object></span>
2114
+
2115
+
2116
+
2117
+ </dd>
2118
+ </dl>
2119
+
2120
+
2121
+
2122
+
2123
+
2124
+
2125
+
2126
+
2127
+
2128
+
2129
+ <h4 class="name" id=".pinProgressRow"><span class="type-signature type-signature-static">(static) </span>pinProgressRow<span class="signature">(brand, id, progressType)</span><span class="type-signature"> &rarr; {Promise.&lt;Object>}</span></h4>
2130
+
2131
+
2132
+
2133
+
2134
+
2135
+
2136
+ <dl class="details">
2137
+
2138
+ <dt class="tag-description">Description:</dt>
2139
+ <dd class="tag-description"><ul class="dummy"><li>Pins a specific progress row for a user, scoped by brand.</li></ul></dd>
2140
+
2141
+
2142
+
2143
+ <dt class="tag-source">Source:</dt>
2144
+ <dd class="tag-source"><ul class="dummy"><li>
2145
+ <a href="userActivity.js.html">userActivity.js</a>, <a href="userActivity.js.html#line1218">line 1218</a>
2146
+ </li></ul></dd>
2147
+
2148
+
2149
+
2150
+
2151
+
2152
+
2153
+
2154
+
2155
+
2156
+
2157
+
2158
+
2159
+
2160
+
2161
+
2162
+
2163
+
2164
+
2165
+
2166
+
2167
+
2168
+
2169
+
2170
+
2171
+
2172
+
2173
+
2174
+
2175
+
2176
+
2177
+
2178
+ </dl>
2179
+
2180
+
2181
+
2182
+
2183
+
2184
+
2185
+
2186
+
2187
+
2188
+
2189
+
2190
+ <h5 class="h5-examples">Example</h5>
2191
+
2192
+ <pre class="prettyprint"><code>pinProgressRow('drumeo', 12345, 'content')
2193
+ .then(response => console.log(response))
2194
+ .catch(error => console.error(error));</code></pre>
2195
+
2196
+
2197
+
1705
2198
 
2199
+ <h5 class="h5-parameters">Parameters:</h5>
1706
2200
 
1707
2201
 
2202
+ <table class="params">
2203
+ <thead>
2204
+ <tr>
2205
+
2206
+ <th>Name</th>
2207
+
1708
2208
 
2209
+ <th>Type</th>
1709
2210
 
1710
2211
 
1711
-
1712
2212
 
1713
-
2213
+
1714
2214
 
1715
- <h4 class="name" id=".getUserWeeklyStats"><span class="type-signature type-signature-static">(static) </span>getUserWeeklyStats<span class="signature">()</span><span class="type-signature"> &rarr; {Promise.&lt;Object>}</span></h4>
2215
+ <th class="last">Description</th>
2216
+ </tr>
2217
+ </thead>
1716
2218
 
2219
+ <tbody>
1717
2220
 
1718
2221
 
2222
+ <tr>
2223
+
2224
+ <td class="name"><code>brand</code></td>
2225
+
1719
2226
 
2227
+ <td class="type">
2228
+
2229
+
2230
+ <span class="param-type">string</span>
1720
2231
 
1721
2232
 
1722
- <dl class="details">
1723
-
1724
- <dt class="tag-description">Description:</dt>
1725
- <dd class="tag-description"><ul class="dummy"><li>Retrieves user activity statistics for the current week, including daily activity and streak messages.</li></ul></dd>
1726
-
1727
-
1728
-
1729
- <dt class="tag-source">Source:</dt>
1730
- <dd class="tag-source"><ul class="dummy"><li>
1731
- <a href="userActivity.js.html">userActivity.js</a>, <a href="userActivity.js.html#line76">line 76</a>
1732
- </li></ul></dd>
1733
-
1734
2233
 
1735
-
2234
+
2235
+ </td>
1736
2236
 
1737
-
2237
+
1738
2238
 
1739
-
2239
+
1740
2240
 
1741
-
2241
+ <td class="description last">The brand context for the pin action.</td>
2242
+ </tr>
1742
2243
 
1743
2244
 
1744
2245
 
1745
-
2246
+ <tr>
2247
+
2248
+ <td class="name"><code>id</code></td>
2249
+
1746
2250
 
1747
-
2251
+ <td class="type">
2252
+
2253
+
2254
+ <span class="param-type">number</span>
2255
+ |
1748
2256
 
1749
-
2257
+ <span class="param-type">string</span>
1750
2258
 
1751
-
1752
2259
 
1753
-
1754
2260
 
1755
-
2261
+
2262
+ </td>
1756
2263
 
1757
-
2264
+
1758
2265
 
1759
-
2266
+
1760
2267
 
1761
-
2268
+ <td class="description last">The ID of the progress item to pin.</td>
2269
+ </tr>
1762
2270
 
1763
2271
 
1764
- </dl>
1765
-
1766
-
1767
2272
 
2273
+ <tr>
2274
+
2275
+ <td class="name"><code>progressType</code></td>
2276
+
1768
2277
 
2278
+ <td class="type">
2279
+
2280
+
2281
+ <span class="param-type">string</span>
1769
2282
 
1770
2283
 
1771
2284
 
2285
+
2286
+ </td>
1772
2287
 
2288
+
1773
2289
 
2290
+
1774
2291
 
2292
+ <td class="description last">The type of progress (e.g., 'content', 'playlist').</td>
2293
+ </tr>
1775
2294
 
1776
- <h5 class="h5-examples">Example</h5>
1777
2295
 
1778
- <pre class="prettyprint"><code>// Retrieve user activity statistics for the current week
1779
- getUserWeeklyStats()
1780
- .then(stats => console.log(stats))
1781
- .catch(error => console.error(error));</code></pre>
1782
-
1783
-
2296
+ </tbody>
2297
+ </table>
1784
2298
 
1785
2299
 
1786
2300
 
@@ -1801,7 +2315,7 @@ getUserWeeklyStats()
1801
2315
 
1802
2316
 
1803
2317
  <div class="param-desc">
1804
- - A promise that resolves to an object containing weekly user activity statistics.
2318
+ - A promise resolving to the response from the pin API.
1805
2319
  </div>
1806
2320
 
1807
2321
 
@@ -1844,7 +2358,7 @@ getUserWeeklyStats()
1844
2358
 
1845
2359
  <dt class="tag-source">Source:</dt>
1846
2360
  <dd class="tag-source"><ul class="dummy"><li>
1847
- <a href="userActivity.js.html">userActivity.js</a>, <a href="userActivity.js.html#line870">line 870</a>
2361
+ <a href="userActivity.js.html">userActivity.js</a>, <a href="userActivity.js.html#line873">line 873</a>
1848
2362
  </li></ul></dd>
1849
2363
 
1850
2364
 
@@ -2185,7 +2699,7 @@ getUserWeeklyStats()
2185
2699
 
2186
2700
  <dt class="tag-source">Source:</dt>
2187
2701
  <dd class="tag-source"><ul class="dummy"><li>
2188
- <a href="userActivity.js.html">userActivity.js</a>, <a href="userActivity.js.html#line268">line 268</a>
2702
+ <a href="userActivity.js.html">userActivity.js</a>, <a href="userActivity.js.html#line271">line 271</a>
2189
2703
  </li></ul></dd>
2190
2704
 
2191
2705
 
@@ -2620,7 +3134,7 @@ recordUserPractice({
2620
3134
 
2621
3135
  <dt class="tag-source">Source:</dt>
2622
3136
  <dd class="tag-source"><ul class="dummy"><li>
2623
- <a href="userActivity.js.html">userActivity.js</a>, <a href="userActivity.js.html#line343">line 343</a>
3137
+ <a href="userActivity.js.html">userActivity.js</a>, <a href="userActivity.js.html#line346">line 346</a>
2624
3138
  </li></ul></dd>
2625
3139
 
2626
3140
 
@@ -2789,7 +3303,7 @@ If restored practices are returned, they are added back into the local context.<
2789
3303
 
2790
3304
  <dt class="tag-source">Source:</dt>
2791
3305
  <dd class="tag-source"><ul class="dummy"><li>
2792
- <a href="userActivity.js.html">userActivity.js</a>, <a href="userActivity.js.html#line451">line 451</a>
3306
+ <a href="userActivity.js.html">userActivity.js</a>, <a href="userActivity.js.html#line454">line 454</a>
2793
3307
  </li></ul></dd>
2794
3308
 
2795
3309
 
@@ -2955,7 +3469,7 @@ restorePracticeSession("2025-04-10")
2955
3469
 
2956
3470
  <dt class="tag-source">Source:</dt>
2957
3471
  <dd class="tag-source"><ul class="dummy"><li>
2958
- <a href="userActivity.js.html">userActivity.js</a>, <a href="userActivity.js.html#line373">line 373</a>
3472
+ <a href="userActivity.js.html">userActivity.js</a>, <a href="userActivity.js.html#line376">line 376</a>
2959
3473
  </li></ul></dd>
2960
3474
 
2961
3475
 
@@ -3105,6 +3619,171 @@ restoreUserPractice(123)
3105
3619
 
3106
3620
 
3107
3621
 
3622
+ <h4 class="name" id=".unpinProgressRow"><span class="type-signature type-signature-static">(static) </span>unpinProgressRow<span class="signature">(brand)</span><span class="type-signature"> &rarr; {Promise.&lt;Object>}</span></h4>
3623
+
3624
+
3625
+
3626
+
3627
+
3628
+
3629
+ <dl class="details">
3630
+
3631
+ <dt class="tag-description">Description:</dt>
3632
+ <dd class="tag-description"><ul class="dummy"><li>Unpins the current pinned progress row for a user, scoped by brand.</li></ul></dd>
3633
+
3634
+
3635
+
3636
+ <dt class="tag-source">Source:</dt>
3637
+ <dd class="tag-source"><ul class="dummy"><li>
3638
+ <a href="userActivity.js.html">userActivity.js</a>, <a href="userActivity.js.html#line1233">line 1233</a>
3639
+ </li></ul></dd>
3640
+
3641
+
3642
+
3643
+
3644
+
3645
+
3646
+
3647
+
3648
+
3649
+
3650
+
3651
+
3652
+
3653
+
3654
+
3655
+
3656
+
3657
+
3658
+
3659
+
3660
+
3661
+
3662
+
3663
+
3664
+
3665
+
3666
+
3667
+
3668
+
3669
+
3670
+
3671
+ </dl>
3672
+
3673
+
3674
+
3675
+
3676
+
3677
+
3678
+
3679
+
3680
+
3681
+
3682
+
3683
+ <h5 class="h5-examples">Example</h5>
3684
+
3685
+ <pre class="prettyprint"><code>unpinProgressRow('drumeo')
3686
+ .then(response => console.log(response))
3687
+ .catch(error => console.error(error));</code></pre>
3688
+
3689
+
3690
+
3691
+
3692
+ <h5 class="h5-parameters">Parameters:</h5>
3693
+
3694
+
3695
+ <table class="params">
3696
+ <thead>
3697
+ <tr>
3698
+
3699
+ <th>Name</th>
3700
+
3701
+
3702
+ <th>Type</th>
3703
+
3704
+
3705
+
3706
+
3707
+
3708
+ <th class="last">Description</th>
3709
+ </tr>
3710
+ </thead>
3711
+
3712
+ <tbody>
3713
+
3714
+
3715
+ <tr>
3716
+
3717
+ <td class="name"><code>brand</code></td>
3718
+
3719
+
3720
+ <td class="type">
3721
+
3722
+
3723
+ <span class="param-type">string</span>
3724
+
3725
+
3726
+
3727
+
3728
+ </td>
3729
+
3730
+
3731
+
3732
+
3733
+
3734
+ <td class="description last">The brand context for the unpin action.</td>
3735
+ </tr>
3736
+
3737
+
3738
+ </tbody>
3739
+ </table>
3740
+
3741
+
3742
+
3743
+
3744
+
3745
+
3746
+
3747
+
3748
+
3749
+
3750
+
3751
+
3752
+
3753
+
3754
+
3755
+
3756
+ <h5 class="h5-returns">Returns:</h5>
3757
+
3758
+
3759
+ <div class="param-desc">
3760
+ - A promise resolving to the response from the unpin API.
3761
+ </div>
3762
+
3763
+
3764
+
3765
+ <dl class="param-type">
3766
+ <dt>
3767
+ Type
3768
+ </dt>
3769
+ <dd>
3770
+
3771
+ <span class="param-type">Promise.&lt;Object></span>
3772
+
3773
+
3774
+
3775
+ </dd>
3776
+ </dl>
3777
+
3778
+
3779
+
3780
+
3781
+
3782
+
3783
+
3784
+
3785
+
3786
+
3108
3787
  <h4 class="name" id=".updatePracticeNotes"><span class="type-signature type-signature-static">(static) </span>updatePracticeNotes<span class="signature">(payload)</span><span class="type-signature"> &rarr; {Promise.&lt;Object>}</span></h4>
3109
3788
 
3110
3789
 
@@ -3121,7 +3800,7 @@ restoreUserPractice(123)
3121
3800
 
3122
3801
  <dt class="tag-source">Source:</dt>
3123
3802
  <dd class="tag-source"><ul class="dummy"><li>
3124
- <a href="userActivity.js.html">userActivity.js</a>, <a href="userActivity.js.html#line585">line 585</a>
3803
+ <a href="userActivity.js.html">userActivity.js</a>, <a href="userActivity.js.html#line588">line 588</a>
3125
3804
  </li></ul></dd>
3126
3805
 
3127
3806
 
@@ -3360,7 +4039,7 @@ restoreUserPractice(123)
3360
4039
 
3361
4040
  <dt class="tag-source">Source:</dt>
3362
4041
  <dd class="tag-source"><ul class="dummy"><li>
3363
- <a href="userActivity.js.html">userActivity.js</a>, <a href="userActivity.js.html#line326">line 326</a>
4042
+ <a href="userActivity.js.html">userActivity.js</a>, <a href="userActivity.js.html#line329">line 329</a>
3364
4043
  </li></ul></dd>
3365
4044
 
3366
4045
 
@@ -3718,7 +4397,7 @@ updateUserPractice(456, { auto: false, category_id: 8 })
3718
4397
  <br class="clear">
3719
4398
 
3720
4399
  <footer>
3721
- Documentation generated by <a href="https://github.com/jsdoc3/jsdoc">JSDoc 4.0.3</a> on Wed May 21 2025 14:49:14 GMT+0000 (Coordinated Universal Time) using the <a href="https://github.com/clenemt/docdash">docdash</a> theme.
4400
+ Documentation generated by <a href="https://github.com/jsdoc3/jsdoc">JSDoc 4.0.3</a> on Fri May 23 2025 12:43:42 GMT+0300 (Eastern European Summer Time) using the <a href="https://github.com/clenemt/docdash">docdash</a> theme.
3722
4401
  </footer>
3723
4402
 
3724
4403
  <script>prettyPrint();</script>