musora-content-services 2.92.3 → 2.92.7

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 (121) hide show
  1. package/.github/workflows/docs.js.yml +64 -47
  2. package/CHANGELOG.md +23 -0
  3. package/package.json +1 -1
  4. package/src/index.d.ts +2 -0
  5. package/src/index.js +2 -0
  6. package/src/lib/brands.ts +7 -7
  7. package/src/services/content/artist.ts +10 -7
  8. package/src/services/content/genre.ts +10 -7
  9. package/src/services/content/instructor.ts +7 -7
  10. package/src/services/content-org/learning-paths.ts +3 -3
  11. package/src/services/progress-row/method-card.js +1 -1
  12. package/src/services/reporting/reporting.ts +19 -15
  13. package/src/services/sync/fetch.ts +3 -0
  14. package/src/services/user/onboarding.ts +3 -3
  15. package/docs/Content.html +0 -269
  16. package/docs/ContentOrganization.html +0 -245
  17. package/docs/Forums.html +0 -269
  18. package/docs/Gamification.html +0 -245
  19. package/docs/TestUser.html +0 -260
  20. package/docs/UserManagementSystem.html +0 -317
  21. package/docs/api_types.js.html +0 -97
  22. package/docs/config.js.html +0 -140
  23. package/docs/content-org_content-org.js.html +0 -76
  24. package/docs/content-org_guided-courses.ts.html +0 -110
  25. package/docs/content-org_learning-paths.ts.html +0 -391
  26. package/docs/content-org_playlists-types.js.html +0 -128
  27. package/docs/content-org_playlists.js.html +0 -440
  28. package/docs/content.js.html +0 -603
  29. package/docs/content_artist.ts.html +0 -206
  30. package/docs/content_content.ts.html +0 -77
  31. package/docs/content_genre.ts.html +0 -209
  32. package/docs/content_instructor.ts.html +0 -206
  33. package/docs/fonts/Montserrat/Montserrat-Bold.eot +0 -0
  34. package/docs/fonts/Montserrat/Montserrat-Bold.ttf +0 -0
  35. package/docs/fonts/Montserrat/Montserrat-Bold.woff +0 -0
  36. package/docs/fonts/Montserrat/Montserrat-Bold.woff2 +0 -0
  37. package/docs/fonts/Montserrat/Montserrat-Regular.eot +0 -0
  38. package/docs/fonts/Montserrat/Montserrat-Regular.ttf +0 -0
  39. package/docs/fonts/Montserrat/Montserrat-Regular.woff +0 -0
  40. package/docs/fonts/Montserrat/Montserrat-Regular.woff2 +0 -0
  41. package/docs/fonts/Source-Sans-Pro/sourcesanspro-light-webfont.eot +0 -0
  42. package/docs/fonts/Source-Sans-Pro/sourcesanspro-light-webfont.svg +0 -978
  43. package/docs/fonts/Source-Sans-Pro/sourcesanspro-light-webfont.ttf +0 -0
  44. package/docs/fonts/Source-Sans-Pro/sourcesanspro-light-webfont.woff +0 -0
  45. package/docs/fonts/Source-Sans-Pro/sourcesanspro-light-webfont.woff2 +0 -0
  46. package/docs/fonts/Source-Sans-Pro/sourcesanspro-regular-webfont.eot +0 -0
  47. package/docs/fonts/Source-Sans-Pro/sourcesanspro-regular-webfont.svg +0 -1049
  48. package/docs/fonts/Source-Sans-Pro/sourcesanspro-regular-webfont.ttf +0 -0
  49. package/docs/fonts/Source-Sans-Pro/sourcesanspro-regular-webfont.woff +0 -0
  50. package/docs/fonts/Source-Sans-Pro/sourcesanspro-regular-webfont.woff2 +0 -0
  51. package/docs/forums_categories.ts.html +0 -156
  52. package/docs/forums_discussions.js.html +0 -95
  53. package/docs/forums_forum.js.html +0 -95
  54. package/docs/forums_forums.ts.html +0 -160
  55. package/docs/forums_posts.ts.html +0 -284
  56. package/docs/forums_threads.ts.html +0 -284
  57. package/docs/gamification_awards.js.html +0 -165
  58. package/docs/gamification_awards.ts.html +0 -195
  59. package/docs/gamification_gamification.js.html +0 -76
  60. package/docs/gamification_types.js.html +0 -80
  61. package/docs/global.html +0 -6019
  62. package/docs/index.html +0 -167
  63. package/docs/liveTesting.ts.html +0 -103
  64. package/docs/module-Accounts.html +0 -2283
  65. package/docs/module-Artist.html +0 -993
  66. package/docs/module-Awards.html +0 -836
  67. package/docs/module-Categories.html +0 -711
  68. package/docs/module-Config.html +0 -431
  69. package/docs/module-Content-Services-V2.html +0 -2998
  70. package/docs/module-ForumCategories.html +0 -687
  71. package/docs/module-ForumDiscussions.html +0 -370
  72. package/docs/module-Forums.html +0 -16599
  73. package/docs/module-Genre.html +0 -981
  74. package/docs/module-GuidedCourses.html +0 -108
  75. package/docs/module-Instructor.html +0 -929
  76. package/docs/module-Interests.html +0 -1066
  77. package/docs/module-LearningPaths.html +0 -2424
  78. package/docs/module-Onboarding.html +0 -882
  79. package/docs/module-Payments.html +0 -392
  80. package/docs/module-Permissions.html +0 -406
  81. package/docs/module-Playlists.html +0 -3030
  82. package/docs/module-ProgressRow.html +0 -108
  83. package/docs/module-Railcontent-Services.html +0 -5876
  84. package/docs/module-Sanity-Services.html +0 -8244
  85. package/docs/module-Sessions.html +0 -575
  86. package/docs/module-Threads.html +0 -1119
  87. package/docs/module-UserActivity.html +0 -4534
  88. package/docs/module-UserChat.html +0 -410
  89. package/docs/module-UserManagement.html +0 -1932
  90. package/docs/module-UserMemberships.html +0 -829
  91. package/docs/module-UserNotifications.html +0 -2595
  92. package/docs/module-UserProfile.html +0 -370
  93. package/docs/progress-row_method-card.js.html +0 -184
  94. package/docs/railcontent.js.html +0 -724
  95. package/docs/sanity.js.html +0 -2322
  96. package/docs/scripts/collapse.js +0 -39
  97. package/docs/scripts/commonNav.js +0 -28
  98. package/docs/scripts/linenumber.js +0 -25
  99. package/docs/scripts/nav.js +0 -12
  100. package/docs/scripts/polyfill.js +0 -4
  101. package/docs/scripts/prettify/Apache-License-2.0.txt +0 -202
  102. package/docs/scripts/prettify/lang-css.js +0 -2
  103. package/docs/scripts/prettify/prettify.js +0 -28
  104. package/docs/scripts/search.js +0 -99
  105. package/docs/styles/jsdoc.css +0 -776
  106. package/docs/styles/prettify.css +0 -80
  107. package/docs/userActivity.js.html +0 -1512
  108. package/docs/user_account.ts.html +0 -265
  109. package/docs/user_chat.js.html +0 -98
  110. package/docs/user_interests.js.html +0 -150
  111. package/docs/user_management.js.html +0 -258
  112. package/docs/user_memberships.js.html +0 -144
  113. package/docs/user_memberships.ts.html +0 -292
  114. package/docs/user_notifications.js.html +0 -374
  115. package/docs/user_onboarding.ts.html +0 -329
  116. package/docs/user_payments.ts.html +0 -146
  117. package/docs/user_permissions.js.html +0 -110
  118. package/docs/user_profile.js.html +0 -115
  119. package/docs/user_sessions.js.html +0 -170
  120. package/docs/user_types.js.html +0 -224
  121. package/docs/user_user-management-system.js.html +0 -79
@@ -1,4534 +0,0 @@
1
- <!DOCTYPE html>
2
- <html lang="en">
3
- <head>
4
-
5
- <meta charset="utf-8">
6
- <title>UserActivity - Documentation</title>
7
-
8
-
9
- <script src="scripts/prettify/prettify.js"></script>
10
- <script src="scripts/prettify/lang-css.js"></script>
11
- <!--[if lt IE 9]>
12
- <script src="//html5shiv.googlecode.com/svn/trunk/html5.js"></script>
13
- <![endif]-->
14
- <link type="text/css" rel="stylesheet" href="styles/prettify.css">
15
- <link type="text/css" rel="stylesheet" href="styles/jsdoc.css">
16
- <script src="scripts/nav.js" defer></script>
17
-
18
- <meta name="viewport" content="width=device-width, initial-scale=1.0">
19
- </head>
20
- <body>
21
-
22
- <input type="checkbox" id="nav-trigger" class="nav-trigger" />
23
- <label for="nav-trigger" class="navicon-button x">
24
- <div class="navicon"></div>
25
- </label>
26
-
27
- <label for="nav-trigger" class="overlay"></label>
28
-
29
- <nav >
30
-
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><li data-type='method'><a href="module-Accounts.html#~toggleStudentView">toggleStudentView</a></li></ul></li><li><a href="module-Artist.html">Artist</a><ul class='methods'><li data-type='method'><a href="module-Artist.html#~fetchArtistBySlug">fetchArtistBySlug</a></li><li data-type='method'><a href="module-Artist.html#~fetchArtistLessons">fetchArtistLessons</a></li><li data-type='method'><a href="module-Artist.html#~fetchArtists">fetchArtists</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#.getOwnedContent">getOwnedContent</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#~deleteForumCategory">deleteForumCategory</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#~markThreadAsRead">markThreadAsRead</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-Genre.html">Genre</a><ul class='methods'><li data-type='method'><a href="module-Genre.html#~fetchGenreBySlug">fetchGenreBySlug</a></li><li data-type='method'><a href="module-Genre.html#~fetchGenreLessons">fetchGenreLessons</a></li><li data-type='method'><a href="module-Genre.html#~fetchGenres">fetchGenres</a></li></ul></li><li><a href="module-GuidedCourses.html">GuidedCourses</a></li><li><a href="module-Instructor.html">Instructor</a><ul class='methods'><li data-type='method'><a href="module-Instructor.html#~fetchInstructorBySlug">fetchInstructorBySlug</a></li><li data-type='method'><a href="module-Instructor.html#~fetchInstructorLessons">fetchInstructorLessons</a></li><li data-type='method'><a href="module-Instructor.html#~fetchInstructors">fetchInstructors</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-LearningPaths.html">LearningPaths</a><ul class='methods'><li data-type='method'><a href="module-LearningPaths.html#~completeLearningPathIntroVideo">completeLearningPathIntroVideo</a></li><li data-type='method'><a href="module-LearningPaths.html#~completeMethodIntroVideo">completeMethodIntroVideo</a></li><li data-type='method'><a href="module-LearningPaths.html#~fetchLearningPathLessons">fetchLearningPathLessons</a></li><li data-type='method'><a href="module-LearningPaths.html#~fetchLearningPathProgressCheckLessons">fetchLearningPathProgressCheckLessons</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#~getEnrichedLearningPath">getEnrichedLearningPath</a></li><li data-type='method'><a href="module-LearningPaths.html#~getLearningPathLessonsByIds">getLearningPathLessonsByIds</a></li><li data-type='method'><a href="module-LearningPaths.html#~mapContentToParent">mapContentToParent</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#~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#.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#.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#.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#.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#.fetchMethodV2StructureFromId">fetchMethodV2StructureFromId</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#.fetchOwnedContent">fetchOwnedContent</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#.fetchTopLevelParentId">fetchTopLevelParentId</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
-
34
- </nav>
35
-
36
- <div id="main">
37
-
38
- <h1 class="page-title">UserActivity</h1>
39
-
40
-
41
-
42
-
43
-
44
-
45
-
46
- <section>
47
-
48
- <header>
49
-
50
-
51
-
52
- </header>
53
-
54
- <article>
55
-
56
- <div class="container-overview">
57
-
58
-
59
-
60
-
61
-
62
- </div>
63
-
64
-
65
-
66
-
67
-
68
-
69
-
70
-
71
-
72
-
73
-
74
-
75
-
76
-
77
-
78
-
79
-
80
- <h3 class="subsection-title">Methods</h3>
81
-
82
-
83
-
84
-
85
-
86
-
87
- <h4 class="name" id=".calculateLongestStreaks"><span class="type-signature type-signature-static">(static) </span>calculateLongestStreaks<span class="signature">()</span><span class="type-signature"> &rarr; {Object}</span></h4>
88
-
89
-
90
-
91
-
92
-
93
-
94
- <dl class="details">
95
-
96
- <dt class="tag-description">Description:</dt>
97
- <dd class="tag-description"><ul class="dummy"><li>Calculates the longest daily, weekly streaks and totalPracticeSeconds from user practice dates.</li></ul></dd>
98
-
99
-
100
-
101
- <dt class="tag-source">Source:</dt>
102
- <dd class="tag-source"><ul class="dummy"><li>
103
- <a href="userActivity.js.html">userActivity.js</a>, <a href="userActivity.js.html#line717">line 717</a>
104
- </li></ul></dd>
105
-
106
-
107
-
108
-
109
-
110
-
111
-
112
-
113
-
114
-
115
-
116
-
117
-
118
-
119
-
120
-
121
-
122
-
123
-
124
-
125
-
126
-
127
-
128
-
129
-
130
-
131
-
132
-
133
-
134
-
135
-
136
- </dl>
137
-
138
-
139
-
140
-
141
-
142
-
143
-
144
-
145
-
146
-
147
-
148
-
149
-
150
-
151
-
152
-
153
-
154
-
155
-
156
-
157
-
158
-
159
-
160
-
161
-
162
-
163
-
164
- <h5 class="h5-returns">Returns:</h5>
165
-
166
-
167
-
168
-
169
- <dl class="param-type">
170
- <dt>
171
- Type
172
- </dt>
173
- <dd>
174
-
175
- <span class="param-type">Object</span>
176
-
177
-
178
-
179
- </dd>
180
- </dl>
181
-
182
-
183
-
184
-
185
-
186
-
187
-
188
-
189
-
190
-
191
- <h4 class="name" id=".createPracticeNotes"><span class="type-signature type-signature-static">(static) </span>createPracticeNotes<span class="signature">(payload)</span><span class="type-signature"> &rarr; {Promise.&lt;Object>}</span></h4>
192
-
193
-
194
-
195
-
196
-
197
-
198
- <dl class="details">
199
-
200
- <dt class="tag-description">Description:</dt>
201
- <dd class="tag-description"><ul class="dummy"><li>Creates practice notes for a specific date.</li></ul></dd>
202
-
203
-
204
-
205
- <dt class="tag-source">Source:</dt>
206
- <dd class="tag-source"><ul class="dummy"><li>
207
- <a href="userActivity.js.html">userActivity.js</a>, <a href="userActivity.js.html#line570">line 570</a>
208
- </li></ul></dd>
209
-
210
-
211
-
212
-
213
-
214
-
215
-
216
-
217
-
218
-
219
-
220
-
221
-
222
-
223
-
224
-
225
-
226
-
227
-
228
-
229
-
230
-
231
-
232
-
233
-
234
-
235
-
236
-
237
-
238
-
239
-
240
- </dl>
241
-
242
-
243
-
244
-
245
-
246
-
247
-
248
-
249
-
250
-
251
-
252
- <h5 class="h5-examples">Example</h5>
253
-
254
- <pre class="prettyprint"><code>createPracticeNotes({ date: '2025-04-10', notes: 'Worked on scales and arpeggios' })
255
- .then(response => console.log(response))
256
- .catch(error => console.error(error));</code></pre>
257
-
258
-
259
-
260
-
261
- <h5 class="h5-parameters">Parameters:</h5>
262
-
263
-
264
- <table class="params">
265
- <thead>
266
- <tr>
267
-
268
- <th>Name</th>
269
-
270
-
271
- <th>Type</th>
272
-
273
-
274
-
275
-
276
-
277
- <th class="last">Description</th>
278
- </tr>
279
- </thead>
280
-
281
- <tbody>
282
-
283
-
284
- <tr>
285
-
286
- <td class="name"><code>payload</code></td>
287
-
288
-
289
- <td class="type">
290
-
291
-
292
- <span class="param-type">Object</span>
293
-
294
-
295
-
296
-
297
- </td>
298
-
299
-
300
-
301
-
302
-
303
- <td class="description last">The data required to create practice notes.
304
- <h6>Properties</h6>
305
-
306
-
307
- <table class="params">
308
- <thead>
309
- <tr>
310
-
311
- <th>Name</th>
312
-
313
-
314
- <th>Type</th>
315
-
316
-
317
-
318
-
319
-
320
- <th class="last">Description</th>
321
- </tr>
322
- </thead>
323
-
324
- <tbody>
325
-
326
-
327
- <tr>
328
-
329
- <td class="name"><code>date</code></td>
330
-
331
-
332
- <td class="type">
333
-
334
-
335
- <span class="param-type">string</span>
336
-
337
-
338
-
339
-
340
- </td>
341
-
342
-
343
-
344
-
345
-
346
- <td class="description last">The date for which to create notes (format: YYYY-MM-DD).</td>
347
- </tr>
348
-
349
-
350
-
351
- <tr>
352
-
353
- <td class="name"><code>notes</code></td>
354
-
355
-
356
- <td class="type">
357
-
358
-
359
- <span class="param-type">string</span>
360
-
361
-
362
-
363
-
364
- </td>
365
-
366
-
367
-
368
-
369
-
370
- <td class="description last">The notes content to be saved.</td>
371
- </tr>
372
-
373
-
374
- </tbody>
375
- </table>
376
-
377
- </td>
378
- </tr>
379
-
380
-
381
- </tbody>
382
- </table>
383
-
384
-
385
-
386
-
387
-
388
-
389
-
390
-
391
-
392
-
393
-
394
-
395
-
396
-
397
-
398
-
399
- <h5 class="h5-returns">Returns:</h5>
400
-
401
-
402
- <div class="param-desc">
403
- - A promise that resolves to the API response after creating the notes.
404
- </div>
405
-
406
-
407
-
408
- <dl class="param-type">
409
- <dt>
410
- Type
411
- </dt>
412
- <dd>
413
-
414
- <span class="param-type">Promise.&lt;Object></span>
415
-
416
-
417
-
418
- </dd>
419
- </dl>
420
-
421
-
422
-
423
-
424
-
425
-
426
-
427
-
428
-
429
-
430
- <h4 class="name" id=".deletePracticeSession"><span class="type-signature type-signature-async, static">(async, static) </span>deletePracticeSession<span class="signature">(day)</span><span class="type-signature"> &rarr; {Promise.&lt;Array.&lt;string>>}</span></h4>
431
-
432
-
433
-
434
-
435
-
436
-
437
- <dl class="details">
438
-
439
- <dt class="tag-description">Description:</dt>
440
- <dd class="tag-description"><ul class="dummy"><li>Deletes all practice sessions for a specific day.
441
-
442
- This function retrieves all user practice session IDs for a given day and sends a DELETE request
443
- to remove them from the server. It also updates the local context to reflect the deletion.</li></ul></dd>
444
-
445
-
446
-
447
- <dt class="tag-source">Source:</dt>
448
- <dd class="tag-source"><ul class="dummy"><li>
449
- <a href="userActivity.js.html">userActivity.js</a>, <a href="userActivity.js.html#line410">line 410</a>
450
- </li></ul></dd>
451
-
452
-
453
-
454
-
455
-
456
-
457
-
458
-
459
-
460
-
461
-
462
-
463
-
464
-
465
-
466
-
467
-
468
-
469
-
470
-
471
-
472
-
473
-
474
-
475
-
476
-
477
-
478
-
479
-
480
-
481
-
482
- </dl>
483
-
484
-
485
-
486
-
487
-
488
-
489
-
490
-
491
-
492
-
493
-
494
-
495
-
496
- <h5 class="h5-parameters">Parameters:</h5>
497
-
498
-
499
- <table class="params">
500
- <thead>
501
- <tr>
502
-
503
- <th>Name</th>
504
-
505
-
506
- <th>Type</th>
507
-
508
-
509
-
510
-
511
-
512
- <th class="last">Description</th>
513
- </tr>
514
- </thead>
515
-
516
- <tbody>
517
-
518
-
519
- <tr>
520
-
521
- <td class="name"><code>day</code></td>
522
-
523
-
524
- <td class="type">
525
-
526
-
527
- <span class="param-type">string</span>
528
-
529
-
530
-
531
-
532
- </td>
533
-
534
-
535
-
536
-
537
-
538
- <td class="description last">The day (in `YYYY-MM-DD` format) for which practice sessions should be deleted.</td>
539
- </tr>
540
-
541
-
542
- </tbody>
543
- </table>
544
-
545
-
546
-
547
-
548
-
549
-
550
-
551
-
552
-
553
-
554
-
555
-
556
-
557
-
558
-
559
-
560
- <h5 class="h5-returns">Returns:</h5>
561
-
562
-
563
- <div class="param-desc">
564
- - A promise that resolves once the practice session is removed.
565
-
566
- * @example
567
- // Delete practice sessions for April 10, 2025
568
- deletePracticeSession("2025-04-10")
569
- .then(deletedIds => console.log("Deleted sessions:", response))
570
- .catch(error => console.error("Delete failed:", error));
571
- </div>
572
-
573
-
574
-
575
- <dl class="param-type">
576
- <dt>
577
- Type
578
- </dt>
579
- <dd>
580
-
581
- <span class="param-type">Promise.&lt;Array.&lt;string>></span>
582
-
583
-
584
-
585
- </dd>
586
- </dl>
587
-
588
-
589
-
590
-
591
-
592
-
593
-
594
-
595
-
596
-
597
- <h4 class="name" id=".deleteUserActivity"><span class="type-signature type-signature-static">(static) </span>deleteUserActivity<span class="signature">(id)</span><span class="type-signature"> &rarr; {Promise.&lt;Object>}</span></h4>
598
-
599
-
600
-
601
-
602
-
603
-
604
- <dl class="details">
605
-
606
- <dt class="tag-description">Description:</dt>
607
- <dd class="tag-description"><ul class="dummy"><li>Deletes a specific user activity by its ID.</li></ul></dd>
608
-
609
-
610
-
611
- <dt class="tag-source">Source:</dt>
612
- <dd class="tag-source"><ul class="dummy"><li>
613
- <a href="userActivity.js.html">userActivity.js</a>, <a href="userActivity.js.html#line870">line 870</a>
614
- </li></ul></dd>
615
-
616
-
617
-
618
-
619
-
620
-
621
-
622
-
623
-
624
-
625
-
626
-
627
-
628
-
629
-
630
-
631
-
632
-
633
-
634
-
635
-
636
-
637
-
638
-
639
-
640
-
641
-
642
-
643
-
644
-
645
-
646
- </dl>
647
-
648
-
649
-
650
-
651
-
652
-
653
-
654
-
655
-
656
-
657
-
658
- <h5 class="h5-examples">Example</h5>
659
-
660
- <pre class="prettyprint"><code>deleteUserActivity(789)
661
- .then(response => console.log('Deleted:', response))
662
- .catch(error => console.error(error));</code></pre>
663
-
664
-
665
-
666
-
667
- <h5 class="h5-parameters">Parameters:</h5>
668
-
669
-
670
- <table class="params">
671
- <thead>
672
- <tr>
673
-
674
- <th>Name</th>
675
-
676
-
677
- <th>Type</th>
678
-
679
-
680
-
681
-
682
-
683
- <th class="last">Description</th>
684
- </tr>
685
- </thead>
686
-
687
- <tbody>
688
-
689
-
690
- <tr>
691
-
692
- <td class="name"><code>id</code></td>
693
-
694
-
695
- <td class="type">
696
-
697
-
698
- <span class="param-type">number</span>
699
- |
700
-
701
- <span class="param-type">string</span>
702
-
703
-
704
-
705
-
706
- </td>
707
-
708
-
709
-
710
-
711
-
712
- <td class="description last">The ID of the user activity to delete.</td>
713
- </tr>
714
-
715
-
716
- </tbody>
717
- </table>
718
-
719
-
720
-
721
-
722
-
723
-
724
-
725
-
726
-
727
-
728
-
729
-
730
-
731
-
732
-
733
-
734
- <h5 class="h5-returns">Returns:</h5>
735
-
736
-
737
- <div class="param-desc">
738
- - A promise that resolves to the API response after deletion.
739
- </div>
740
-
741
-
742
-
743
- <dl class="param-type">
744
- <dt>
745
- Type
746
- </dt>
747
- <dd>
748
-
749
- <span class="param-type">Promise.&lt;Object></span>
750
-
751
-
752
-
753
- </dd>
754
- </dl>
755
-
756
-
757
-
758
-
759
-
760
-
761
-
762
-
763
-
764
-
765
- <h4 class="name" id=".getPracticeNotes"><span class="type-signature type-signature-async, static">(async, static) </span>getPracticeNotes<span class="signature">(day)</span><span class="type-signature"> &rarr; {Promise.&lt;{data: Array.&lt;Object>}>}</span></h4>
766
-
767
-
768
-
769
-
770
-
771
-
772
- <dl class="details">
773
-
774
- <dt class="tag-description">Description:</dt>
775
- <dd class="tag-description"><ul class="dummy"><li>Retrieves user practice notes for a specific day.</li></ul></dd>
776
-
777
-
778
-
779
- <dt class="tag-source">Source:</dt>
780
- <dd class="tag-source"><ul class="dummy"><li>
781
- <a href="userActivity.js.html">userActivity.js</a>, <a href="userActivity.js.html#line521">line 521</a>
782
- </li></ul></dd>
783
-
784
-
785
-
786
-
787
-
788
-
789
-
790
-
791
-
792
-
793
-
794
-
795
-
796
-
797
-
798
-
799
-
800
-
801
-
802
-
803
-
804
-
805
-
806
-
807
-
808
-
809
-
810
-
811
-
812
-
813
-
814
- </dl>
815
-
816
-
817
-
818
-
819
-
820
-
821
-
822
-
823
-
824
-
825
-
826
- <h5 class="h5-examples">Example</h5>
827
-
828
- <pre class="prettyprint"><code>// Get notes for April 10, 2025
829
- getPracticeNotes("2025-04-10")
830
- .then(({ data }) => console.log("Practice notes:", data))
831
- .catch(error => console.error("Failed to get notes:", error));</code></pre>
832
-
833
-
834
-
835
-
836
- <h5 class="h5-parameters">Parameters:</h5>
837
-
838
-
839
- <table class="params">
840
- <thead>
841
- <tr>
842
-
843
- <th>Name</th>
844
-
845
-
846
- <th>Type</th>
847
-
848
-
849
-
850
-
851
-
852
- <th class="last">Description</th>
853
- </tr>
854
- </thead>
855
-
856
- <tbody>
857
-
858
-
859
- <tr>
860
-
861
- <td class="name"><code>day</code></td>
862
-
863
-
864
- <td class="type">
865
-
866
-
867
- <span class="param-type">string</span>
868
-
869
-
870
-
871
-
872
- </td>
873
-
874
-
875
-
876
-
877
-
878
- <td class="description last">The day (in `YYYY-MM-DD` format) to fetch practice notes for.</td>
879
- </tr>
880
-
881
-
882
- </tbody>
883
- </table>
884
-
885
-
886
-
887
-
888
-
889
-
890
-
891
-
892
-
893
-
894
-
895
-
896
-
897
-
898
-
899
-
900
- <h5 class="h5-returns">Returns:</h5>
901
-
902
-
903
- <div class="param-desc">
904
- - A promise that resolves to an object containing the practice notes.
905
- </div>
906
-
907
-
908
-
909
- <dl class="param-type">
910
- <dt>
911
- Type
912
- </dt>
913
- <dd>
914
-
915
- <span class="param-type">Promise.&lt;{data: Array.&lt;Object>}></span>
916
-
917
-
918
-
919
- </dd>
920
- </dl>
921
-
922
-
923
-
924
-
925
-
926
-
927
-
928
-
929
-
930
-
931
- <h4 class="name" id=".getPracticeSessions"><span class="type-signature type-signature-static">(static) </span>getPracticeSessions<span class="signature">(params)</span><span class="type-signature"> &rarr; {Promise.&lt;Object>}</span></h4>
932
-
933
-
934
-
935
-
936
-
937
-
938
- <dl class="details">
939
-
940
- <dt class="tag-description">Description:</dt>
941
- <dd class="tag-description"><ul class="dummy"><li>Retrieves and formats a user's practice sessions for a specific day.</li></ul></dd>
942
-
943
-
944
-
945
- <dt class="tag-source">Source:</dt>
946
- <dd class="tag-source"><ul class="dummy"><li>
947
- <a href="userActivity.js.html">userActivity.js</a>, <a href="userActivity.js.html#line481">line 481</a>
948
- </li></ul></dd>
949
-
950
-
951
-
952
-
953
-
954
-
955
-
956
-
957
-
958
-
959
-
960
-
961
-
962
-
963
-
964
-
965
-
966
-
967
-
968
-
969
-
970
-
971
-
972
-
973
-
974
-
975
-
976
-
977
-
978
-
979
-
980
- </dl>
981
-
982
-
983
-
984
-
985
-
986
-
987
-
988
-
989
-
990
-
991
-
992
- <h5 class="h5-examples">Examples</h5>
993
-
994
- <pre class="prettyprint"><code>// Get practice sessions for the current user on a specific day
995
- getPracticeSessions({ day: "2025-03-31" })
996
- .then(response => console.log(response))
997
- .catch(error => console.error(error));</code></pre>
998
-
999
- <pre class="prettyprint"><code>// Get practice sessions for another user
1000
- getPracticeSessions({ day: "2025-03-31", userId: 456 })
1001
- .then(response => console.log(response))
1002
- .catch(error => console.error(error));</code></pre>
1003
-
1004
-
1005
-
1006
-
1007
- <h5 class="h5-parameters">Parameters:</h5>
1008
-
1009
-
1010
- <table class="params">
1011
- <thead>
1012
- <tr>
1013
-
1014
- <th>Name</th>
1015
-
1016
-
1017
- <th>Type</th>
1018
-
1019
-
1020
-
1021
-
1022
-
1023
- <th class="last">Description</th>
1024
- </tr>
1025
- </thead>
1026
-
1027
- <tbody>
1028
-
1029
-
1030
- <tr>
1031
-
1032
- <td class="name"><code>params</code></td>
1033
-
1034
-
1035
- <td class="type">
1036
-
1037
-
1038
- <span class="param-type">Object</span>
1039
-
1040
-
1041
-
1042
-
1043
- </td>
1044
-
1045
-
1046
-
1047
-
1048
-
1049
- <td class="description last">Parameters for fetching practice sessions.
1050
- <h6>Properties</h6>
1051
-
1052
-
1053
- <table class="params">
1054
- <thead>
1055
- <tr>
1056
-
1057
- <th>Name</th>
1058
-
1059
-
1060
- <th>Type</th>
1061
-
1062
-
1063
- <th>Attributes</th>
1064
-
1065
-
1066
-
1067
- <th>Default</th>
1068
-
1069
-
1070
- <th class="last">Description</th>
1071
- </tr>
1072
- </thead>
1073
-
1074
- <tbody>
1075
-
1076
-
1077
- <tr>
1078
-
1079
- <td class="name"><code>day</code></td>
1080
-
1081
-
1082
- <td class="type">
1083
-
1084
-
1085
- <span class="param-type">string</span>
1086
-
1087
-
1088
-
1089
-
1090
- </td>
1091
-
1092
-
1093
- <td class="attributes">
1094
-
1095
-
1096
-
1097
-
1098
-
1099
- </td>
1100
-
1101
-
1102
-
1103
- <td class="default">
1104
-
1105
- </td>
1106
-
1107
-
1108
- <td class="description last">The date for which practice sessions should be retrieved (format: YYYY-MM-DD).</td>
1109
- </tr>
1110
-
1111
-
1112
-
1113
- <tr>
1114
-
1115
- <td class="name"><code>userId</code></td>
1116
-
1117
-
1118
- <td class="type">
1119
-
1120
-
1121
- <span class="param-type">number</span>
1122
-
1123
-
1124
-
1125
-
1126
- </td>
1127
-
1128
-
1129
- <td class="attributes">
1130
-
1131
- &lt;optional><br>
1132
-
1133
-
1134
-
1135
-
1136
-
1137
- </td>
1138
-
1139
-
1140
-
1141
- <td class="default">
1142
-
1143
- <code>globalConfig.sessionConfig.userId</code>
1144
-
1145
- </td>
1146
-
1147
-
1148
- <td class="description last">Optional user ID to retrieve sessions for a specific user. Defaults to the logged-in user.</td>
1149
- </tr>
1150
-
1151
-
1152
- </tbody>
1153
- </table>
1154
-
1155
- </td>
1156
- </tr>
1157
-
1158
-
1159
- </tbody>
1160
- </table>
1161
-
1162
-
1163
-
1164
-
1165
-
1166
-
1167
-
1168
-
1169
-
1170
-
1171
-
1172
-
1173
-
1174
-
1175
-
1176
-
1177
- <h5 class="h5-returns">Returns:</h5>
1178
-
1179
-
1180
- <div class="param-desc">
1181
- - A promise that resolves to an object containing:
1182
- - `practices`: An array of formatted practice session data.
1183
- - `practiceDuration`: Total practice duration (in seconds) for the given day.
1184
- </div>
1185
-
1186
-
1187
-
1188
- <dl class="param-type">
1189
- <dt>
1190
- Type
1191
- </dt>
1192
- <dd>
1193
-
1194
- <span class="param-type">Promise.&lt;Object></span>
1195
-
1196
-
1197
-
1198
- </dd>
1199
- </dl>
1200
-
1201
-
1202
-
1203
-
1204
-
1205
-
1206
-
1207
-
1208
-
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#line982">line 982</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
-
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>
1509
-
1510
-
1511
-
1512
-
1513
-
1514
-
1515
- <dl class="details">
1516
-
1517
- <dt class="tag-description">Description:</dt>
1518
- <dd class="tag-description"><ul class="dummy"><li>Retrieves the user's recent activity.
1519
-
1520
- Returns an object containing recent practice activity.</li></ul></dd>
1521
-
1522
-
1523
-
1524
- <dt class="tag-source">Source:</dt>
1525
- <dd class="tag-source"><ul class="dummy"><li>
1526
- <a href="userActivity.js.html">userActivity.js</a>, <a href="userActivity.js.html#line539">line 539</a>
1527
- </li></ul></dd>
1528
-
1529
-
1530
-
1531
-
1532
-
1533
-
1534
-
1535
-
1536
-
1537
-
1538
-
1539
-
1540
-
1541
-
1542
-
1543
-
1544
-
1545
-
1546
-
1547
-
1548
-
1549
-
1550
-
1551
-
1552
-
1553
-
1554
-
1555
-
1556
-
1557
-
1558
-
1559
- </dl>
1560
-
1561
-
1562
-
1563
-
1564
-
1565
-
1566
-
1567
-
1568
-
1569
-
1570
-
1571
- <h5 class="h5-examples">Example</h5>
1572
-
1573
- <pre class="prettyprint"><code>// Fetch recent practice activity
1574
- getRecentActivity()
1575
- .then(({ data }) => console.log("Recent activity:", data))
1576
- .catch(error => console.error("Failed to get recent activity:", error));</code></pre>
1577
-
1578
-
1579
-
1580
-
1581
-
1582
-
1583
-
1584
-
1585
-
1586
-
1587
-
1588
-
1589
-
1590
-
1591
-
1592
-
1593
-
1594
-
1595
- <h5 class="h5-returns">Returns:</h5>
1596
-
1597
-
1598
- <div class="param-desc">
1599
- - A promise that resolves to an object containing recent activity items.
1600
- </div>
1601
-
1602
-
1603
-
1604
- <dl class="param-type">
1605
- <dt>
1606
- Type
1607
- </dt>
1608
- <dd>
1609
-
1610
- <span class="param-type">Promise.&lt;{data: Array.&lt;Object>}></span>
1611
-
1612
-
1613
-
1614
- </dd>
1615
- </dl>
1616
-
1617
-
1618
-
1619
-
1620
-
1621
-
1622
-
1623
-
1624
-
1625
-
1626
- <h4 class="name" id=".getUserMonthlyStats"><span class="type-signature type-signature-static">(static) </span>getUserMonthlyStats<span class="signature">(params<span class="signature-attributes">opt</span>)</span><span class="type-signature"> &rarr; {Promise.&lt;Object>}</span></h4>
1627
-
1628
-
1629
-
1630
-
1631
-
1632
-
1633
- <dl class="details">
1634
-
1635
- <dt class="tag-description">Description:</dt>
1636
- <dd class="tag-description"><ul class="dummy"><li>Retrieves user activity statistics for a specified month and user, including daily and weekly activity data.
1637
- If no parameters are provided, defaults to the current year, current month, and the logged-in user.</li></ul></dd>
1638
-
1639
-
1640
-
1641
- <dt class="tag-source">Source:</dt>
1642
- <dd class="tag-source"><ul class="dummy"><li>
1643
- <a href="userActivity.js.html">userActivity.js</a>, <a href="userActivity.js.html#line175">line 175</a>
1644
- </li></ul></dd>
1645
-
1646
-
1647
-
1648
-
1649
-
1650
-
1651
-
1652
-
1653
-
1654
-
1655
-
1656
-
1657
-
1658
-
1659
-
1660
-
1661
-
1662
-
1663
-
1664
-
1665
-
1666
-
1667
-
1668
-
1669
-
1670
-
1671
-
1672
-
1673
-
1674
-
1675
-
1676
- </dl>
1677
-
1678
-
1679
-
1680
-
1681
-
1682
-
1683
-
1684
-
1685
-
1686
-
1687
-
1688
- <h5 class="h5-examples">Examples</h5>
1689
-
1690
- <pre class="prettyprint"><code>// Get stats for current user and month
1691
- getUserMonthlyStats().then(console.log);</code></pre>
1692
-
1693
- <pre class="prettyprint"><code>// Get stats for March 2024
1694
- getUserMonthlyStats({ year: 2024, month: 2 }).then(console.log);</code></pre>
1695
-
1696
- <pre class="prettyprint"><code>// Get stats for another user
1697
- getUserMonthlyStats({ userId: 123 }).then(console.log);</code></pre>
1698
-
1699
-
1700
-
1701
-
1702
- <h5 class="h5-parameters">Parameters:</h5>
1703
-
1704
-
1705
- <table class="params">
1706
- <thead>
1707
- <tr>
1708
-
1709
- <th>Name</th>
1710
-
1711
-
1712
- <th>Type</th>
1713
-
1714
-
1715
- <th>Attributes</th>
1716
-
1717
-
1718
-
1719
- <th>Default</th>
1720
-
1721
-
1722
- <th class="last">Description</th>
1723
- </tr>
1724
- </thead>
1725
-
1726
- <tbody>
1727
-
1728
-
1729
- <tr>
1730
-
1731
- <td class="name"><code>params</code></td>
1732
-
1733
-
1734
- <td class="type">
1735
-
1736
-
1737
- <span class="param-type">Object</span>
1738
-
1739
-
1740
-
1741
-
1742
- </td>
1743
-
1744
-
1745
- <td class="attributes">
1746
-
1747
- &lt;optional><br>
1748
-
1749
-
1750
-
1751
-
1752
-
1753
- </td>
1754
-
1755
-
1756
-
1757
- <td class="default">
1758
-
1759
- <code>{}</code>
1760
-
1761
- </td>
1762
-
1763
-
1764
- <td class="description last">Parameters for fetching user statistics.
1765
- <h6>Properties</h6>
1766
-
1767
-
1768
- <table class="params">
1769
- <thead>
1770
- <tr>
1771
-
1772
- <th>Name</th>
1773
-
1774
-
1775
- <th>Type</th>
1776
-
1777
-
1778
- <th>Attributes</th>
1779
-
1780
-
1781
-
1782
- <th>Default</th>
1783
-
1784
-
1785
- <th class="last">Description</th>
1786
- </tr>
1787
- </thead>
1788
-
1789
- <tbody>
1790
-
1791
-
1792
- <tr>
1793
-
1794
- <td class="name"><code>year</code></td>
1795
-
1796
-
1797
- <td class="type">
1798
-
1799
-
1800
- <span class="param-type">number</span>
1801
-
1802
-
1803
-
1804
-
1805
- </td>
1806
-
1807
-
1808
- <td class="attributes">
1809
-
1810
- &lt;optional><br>
1811
-
1812
-
1813
-
1814
-
1815
-
1816
- </td>
1817
-
1818
-
1819
-
1820
- <td class="default">
1821
-
1822
- <code>new Date().getFullYear()</code>
1823
-
1824
- </td>
1825
-
1826
-
1827
- <td class="description last">The year for which to retrieve the statistics.</td>
1828
- </tr>
1829
-
1830
-
1831
-
1832
- <tr>
1833
-
1834
- <td class="name"><code>month</code></td>
1835
-
1836
-
1837
- <td class="type">
1838
-
1839
-
1840
- <span class="param-type">number</span>
1841
-
1842
-
1843
-
1844
-
1845
- </td>
1846
-
1847
-
1848
- <td class="attributes">
1849
-
1850
- &lt;optional><br>
1851
-
1852
-
1853
-
1854
-
1855
-
1856
- </td>
1857
-
1858
-
1859
-
1860
- <td class="default">
1861
-
1862
- <code>new Date().getMonth()</code>
1863
-
1864
- </td>
1865
-
1866
-
1867
- <td class="description last">The 0-based month index (0 = January).</td>
1868
- </tr>
1869
-
1870
-
1871
-
1872
- <tr>
1873
-
1874
- <td class="name"><code>day</code></td>
1875
-
1876
-
1877
- <td class="type">
1878
-
1879
-
1880
- <span class="param-type">number</span>
1881
-
1882
-
1883
-
1884
-
1885
- </td>
1886
-
1887
-
1888
- <td class="attributes">
1889
-
1890
- &lt;optional><br>
1891
-
1892
-
1893
-
1894
-
1895
-
1896
- </td>
1897
-
1898
-
1899
-
1900
- <td class="default">
1901
-
1902
- <code>1</code>
1903
-
1904
- </td>
1905
-
1906
-
1907
- <td class="description last">The starting day (not used for grid calc, but kept for flexibility).</td>
1908
- </tr>
1909
-
1910
-
1911
-
1912
- <tr>
1913
-
1914
- <td class="name"><code>userId</code></td>
1915
-
1916
-
1917
- <td class="type">
1918
-
1919
-
1920
- <span class="param-type">number</span>
1921
-
1922
-
1923
-
1924
-
1925
- </td>
1926
-
1927
-
1928
- <td class="attributes">
1929
-
1930
- &lt;optional><br>
1931
-
1932
-
1933
-
1934
-
1935
-
1936
- </td>
1937
-
1938
-
1939
-
1940
- <td class="default">
1941
-
1942
- <code>globalConfig.sessionConfig.userId</code>
1943
-
1944
- </td>
1945
-
1946
-
1947
- <td class="description last">The user ID for whom to retrieve stats.</td>
1948
- </tr>
1949
-
1950
-
1951
- </tbody>
1952
- </table>
1953
-
1954
- </td>
1955
- </tr>
1956
-
1957
-
1958
- </tbody>
1959
- </table>
1960
-
1961
-
1962
-
1963
-
1964
-
1965
-
1966
-
1967
-
1968
-
1969
-
1970
-
1971
-
1972
-
1973
-
1974
-
1975
-
1976
- <h5 class="h5-returns">Returns:</h5>
1977
-
1978
-
1979
- <div class="param-desc">
1980
- A promise that resolves to an object containing:
1981
- - `dailyActiveStats`: Array of daily activity data for the calendar grid.
1982
- - `weeklyActiveStats`: Array of weekly streak summaries.
1983
- - `practiceDuration`: Total number of seconds practiced in the month.
1984
- - `currentDailyStreak`: Count of consecutive active days.
1985
- - `currentWeeklyStreak`: Count of consecutive active weeks.
1986
- - `daysPracticed`: Total number of active days in the month.
1987
- </div>
1988
-
1989
-
1990
-
1991
- <dl class="param-type">
1992
- <dt>
1993
- Type
1994
- </dt>
1995
- <dd>
1996
-
1997
- <span class="param-type">Promise.&lt;Object></span>
1998
-
1999
-
2000
-
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#line112">line 112</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#line1385">line 1385</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
-
2198
-
2199
- <h5 class="h5-parameters">Parameters:</h5>
2200
-
2201
-
2202
- <table class="params">
2203
- <thead>
2204
- <tr>
2205
-
2206
- <th>Name</th>
2207
-
2208
-
2209
- <th>Type</th>
2210
-
2211
-
2212
-
2213
-
2214
-
2215
- <th class="last">Description</th>
2216
- </tr>
2217
- </thead>
2218
-
2219
- <tbody>
2220
-
2221
-
2222
- <tr>
2223
-
2224
- <td class="name"><code>brand</code></td>
2225
-
2226
-
2227
- <td class="type">
2228
-
2229
-
2230
- <span class="param-type">string</span>
2231
-
2232
-
2233
-
2234
-
2235
- </td>
2236
-
2237
-
2238
-
2239
-
2240
-
2241
- <td class="description last">The brand context for the pin action.</td>
2242
- </tr>
2243
-
2244
-
2245
-
2246
- <tr>
2247
-
2248
- <td class="name"><code>id</code></td>
2249
-
2250
-
2251
- <td class="type">
2252
-
2253
-
2254
- <span class="param-type">number</span>
2255
- |
2256
-
2257
- <span class="param-type">string</span>
2258
-
2259
-
2260
-
2261
-
2262
- </td>
2263
-
2264
-
2265
-
2266
-
2267
-
2268
- <td class="description last">The ID of the progress item to pin.</td>
2269
- </tr>
2270
-
2271
-
2272
-
2273
- <tr>
2274
-
2275
- <td class="name"><code>progressType</code></td>
2276
-
2277
-
2278
- <td class="type">
2279
-
2280
-
2281
- <span class="param-type">string</span>
2282
-
2283
-
2284
-
2285
-
2286
- </td>
2287
-
2288
-
2289
-
2290
-
2291
-
2292
- <td class="description last">The type of progress (e.g., 'content', 'playlist').</td>
2293
- </tr>
2294
-
2295
-
2296
- </tbody>
2297
- </table>
2298
-
2299
-
2300
-
2301
-
2302
-
2303
-
2304
-
2305
-
2306
-
2307
-
2308
-
2309
-
2310
-
2311
-
2312
-
2313
-
2314
- <h5 class="h5-returns">Returns:</h5>
2315
-
2316
-
2317
- <div class="param-desc">
2318
- - A promise resolving to the response from the pin API.
2319
- </div>
2320
-
2321
-
2322
-
2323
- <dl class="param-type">
2324
- <dt>
2325
- Type
2326
- </dt>
2327
- <dd>
2328
-
2329
- <span class="param-type">Promise.&lt;Object></span>
2330
-
2331
-
2332
-
2333
- </dd>
2334
- </dl>
2335
-
2336
-
2337
-
2338
-
2339
-
2340
-
2341
-
2342
-
2343
-
2344
-
2345
- <h4 class="name" id=".recordUserActivity"><span class="type-signature type-signature-static">(static) </span>recordUserActivity<span class="signature">(payload)</span><span class="type-signature"> &rarr; {Promise.&lt;Object>}</span></h4>
2346
-
2347
-
2348
-
2349
-
2350
-
2351
-
2352
- <dl class="details">
2353
-
2354
- <dt class="tag-description">Description:</dt>
2355
- <dd class="tag-description"><ul class="dummy"><li>Records a new user activity in the system.</li></ul></dd>
2356
-
2357
-
2358
-
2359
- <dt class="tag-source">Source:</dt>
2360
- <dd class="tag-source"><ul class="dummy"><li>
2361
- <a href="userActivity.js.html">userActivity.js</a>, <a href="userActivity.js.html#line854">line 854</a>
2362
- </li></ul></dd>
2363
-
2364
-
2365
-
2366
-
2367
-
2368
-
2369
-
2370
-
2371
-
2372
-
2373
-
2374
-
2375
-
2376
-
2377
-
2378
-
2379
-
2380
-
2381
-
2382
-
2383
-
2384
-
2385
-
2386
-
2387
-
2388
-
2389
-
2390
-
2391
-
2392
-
2393
-
2394
- </dl>
2395
-
2396
-
2397
-
2398
-
2399
-
2400
-
2401
-
2402
-
2403
-
2404
-
2405
-
2406
- <h5 class="h5-examples">Example</h5>
2407
-
2408
- <pre class="prettyprint"><code>recordUserActivity({
2409
- user_id: 123,
2410
- action: 'start',
2411
- brand: 'pianote',
2412
- type: 'lesson',
2413
- content_id: 4561,
2414
- date: '2025-05-15'
2415
- }).then(response => console.log(response))
2416
- .catch(error => console.error(error));</code></pre>
2417
-
2418
-
2419
-
2420
-
2421
- <h5 class="h5-parameters">Parameters:</h5>
2422
-
2423
-
2424
- <table class="params">
2425
- <thead>
2426
- <tr>
2427
-
2428
- <th>Name</th>
2429
-
2430
-
2431
- <th>Type</th>
2432
-
2433
-
2434
-
2435
-
2436
-
2437
- <th class="last">Description</th>
2438
- </tr>
2439
- </thead>
2440
-
2441
- <tbody>
2442
-
2443
-
2444
- <tr>
2445
-
2446
- <td class="name"><code>payload</code></td>
2447
-
2448
-
2449
- <td class="type">
2450
-
2451
-
2452
- <span class="param-type">Object</span>
2453
-
2454
-
2455
-
2456
-
2457
- </td>
2458
-
2459
-
2460
-
2461
-
2462
-
2463
- <td class="description last">The data representing the user activity.
2464
- <h6>Properties</h6>
2465
-
2466
-
2467
- <table class="params">
2468
- <thead>
2469
- <tr>
2470
-
2471
- <th>Name</th>
2472
-
2473
-
2474
- <th>Type</th>
2475
-
2476
-
2477
-
2478
-
2479
-
2480
- <th class="last">Description</th>
2481
- </tr>
2482
- </thead>
2483
-
2484
- <tbody>
2485
-
2486
-
2487
- <tr>
2488
-
2489
- <td class="name"><code>user_id</code></td>
2490
-
2491
-
2492
- <td class="type">
2493
-
2494
-
2495
- <span class="param-type">number</span>
2496
-
2497
-
2498
-
2499
-
2500
- </td>
2501
-
2502
-
2503
-
2504
-
2505
-
2506
- <td class="description last">The ID of the user.</td>
2507
- </tr>
2508
-
2509
-
2510
-
2511
- <tr>
2512
-
2513
- <td class="name"><code>action</code></td>
2514
-
2515
-
2516
- <td class="type">
2517
-
2518
-
2519
- <span class="param-type">string</span>
2520
-
2521
-
2522
-
2523
-
2524
- </td>
2525
-
2526
-
2527
-
2528
-
2529
-
2530
- <td class="description last">The type of action (e.g., 'start', 'complete', 'comment', etc.).</td>
2531
- </tr>
2532
-
2533
-
2534
-
2535
- <tr>
2536
-
2537
- <td class="name"><code>brand</code></td>
2538
-
2539
-
2540
- <td class="type">
2541
-
2542
-
2543
- <span class="param-type">string</span>
2544
-
2545
-
2546
-
2547
-
2548
- </td>
2549
-
2550
-
2551
-
2552
-
2553
-
2554
- <td class="description last">The brand associated with the activity.</td>
2555
- </tr>
2556
-
2557
-
2558
-
2559
- <tr>
2560
-
2561
- <td class="name"><code>type</code></td>
2562
-
2563
-
2564
- <td class="type">
2565
-
2566
-
2567
- <span class="param-type">string</span>
2568
-
2569
-
2570
-
2571
-
2572
- </td>
2573
-
2574
-
2575
-
2576
-
2577
-
2578
- <td class="description last">The content type (e.g., 'lesson', 'song', etc.).</td>
2579
- </tr>
2580
-
2581
-
2582
-
2583
- <tr>
2584
-
2585
- <td class="name"><code>content_id</code></td>
2586
-
2587
-
2588
- <td class="type">
2589
-
2590
-
2591
- <span class="param-type">number</span>
2592
-
2593
-
2594
-
2595
-
2596
- </td>
2597
-
2598
-
2599
-
2600
-
2601
-
2602
- <td class="description last">The ID of the related content.</td>
2603
- </tr>
2604
-
2605
-
2606
-
2607
- <tr>
2608
-
2609
- <td class="name"><code>date</code></td>
2610
-
2611
-
2612
- <td class="type">
2613
-
2614
-
2615
- <span class="param-type">string</span>
2616
-
2617
-
2618
-
2619
-
2620
- </td>
2621
-
2622
-
2623
-
2624
-
2625
-
2626
- <td class="description last">The date of the activity (ISO format).</td>
2627
- </tr>
2628
-
2629
-
2630
- </tbody>
2631
- </table>
2632
-
2633
- </td>
2634
- </tr>
2635
-
2636
-
2637
- </tbody>
2638
- </table>
2639
-
2640
-
2641
-
2642
-
2643
-
2644
-
2645
-
2646
-
2647
-
2648
-
2649
-
2650
-
2651
-
2652
-
2653
-
2654
-
2655
- <h5 class="h5-returns">Returns:</h5>
2656
-
2657
-
2658
- <div class="param-desc">
2659
- - A promise that resolves to the API response after recording the activity.
2660
- </div>
2661
-
2662
-
2663
-
2664
- <dl class="param-type">
2665
- <dt>
2666
- Type
2667
- </dt>
2668
- <dd>
2669
-
2670
- <span class="param-type">Promise.&lt;Object></span>
2671
-
2672
-
2673
-
2674
- </dd>
2675
- </dl>
2676
-
2677
-
2678
-
2679
-
2680
-
2681
-
2682
-
2683
-
2684
-
2685
-
2686
- <h4 class="name" id=".recordUserPractice"><span class="type-signature type-signature-static">(static) </span>recordUserPractice<span class="signature">(practiceDetails)</span><span class="type-signature"> &rarr; {Promise.&lt;Object>}</span></h4>
2687
-
2688
-
2689
-
2690
-
2691
-
2692
-
2693
- <dl class="details">
2694
-
2695
- <dt class="tag-description">Description:</dt>
2696
- <dd class="tag-description"><ul class="dummy"><li>Records a manual user practice data, updating the local database and syncing with remote.</li></ul></dd>
2697
-
2698
-
2699
-
2700
- <dt class="tag-source">Source:</dt>
2701
- <dd class="tag-source"><ul class="dummy"><li>
2702
- <a href="userActivity.js.html">userActivity.js</a>, <a href="userActivity.js.html#line294">line 294</a>
2703
- </li></ul></dd>
2704
-
2705
-
2706
-
2707
-
2708
-
2709
-
2710
-
2711
-
2712
-
2713
-
2714
-
2715
-
2716
-
2717
-
2718
-
2719
-
2720
-
2721
-
2722
-
2723
-
2724
-
2725
-
2726
-
2727
-
2728
-
2729
-
2730
-
2731
-
2732
-
2733
-
2734
-
2735
- </dl>
2736
-
2737
-
2738
-
2739
-
2740
-
2741
-
2742
-
2743
-
2744
-
2745
-
2746
-
2747
- <h5 class="h5-examples">Example</h5>
2748
-
2749
- <pre class="prettyprint"><code>// Record a manual practice session with a title
2750
- recordUserPractice({ title: "Some title", duration_seconds: 300 })
2751
- .then(response => console.log(response))
2752
- .catch(error => console.error(error));</code></pre>
2753
-
2754
-
2755
-
2756
-
2757
- <h5 class="h5-parameters">Parameters:</h5>
2758
-
2759
-
2760
- <table class="params">
2761
- <thead>
2762
- <tr>
2763
-
2764
- <th>Name</th>
2765
-
2766
-
2767
- <th>Type</th>
2768
-
2769
-
2770
-
2771
-
2772
-
2773
- <th class="last">Description</th>
2774
- </tr>
2775
- </thead>
2776
-
2777
- <tbody>
2778
-
2779
-
2780
- <tr>
2781
-
2782
- <td class="name"><code>practiceDetails</code></td>
2783
-
2784
-
2785
- <td class="type">
2786
-
2787
-
2788
- <span class="param-type">Object</span>
2789
-
2790
-
2791
-
2792
-
2793
- </td>
2794
-
2795
-
2796
-
2797
-
2798
-
2799
- <td class="description last">The details of the practice session.
2800
- <h6>Properties</h6>
2801
-
2802
-
2803
- <table class="params">
2804
- <thead>
2805
- <tr>
2806
-
2807
- <th>Name</th>
2808
-
2809
-
2810
- <th>Type</th>
2811
-
2812
-
2813
- <th>Attributes</th>
2814
-
2815
-
2816
-
2817
-
2818
- <th class="last">Description</th>
2819
- </tr>
2820
- </thead>
2821
-
2822
- <tbody>
2823
-
2824
-
2825
- <tr>
2826
-
2827
- <td class="name"><code>duration_seconds</code></td>
2828
-
2829
-
2830
- <td class="type">
2831
-
2832
-
2833
- <span class="param-type">number</span>
2834
-
2835
-
2836
-
2837
-
2838
- </td>
2839
-
2840
-
2841
- <td class="attributes">
2842
-
2843
-
2844
-
2845
-
2846
-
2847
- </td>
2848
-
2849
-
2850
-
2851
-
2852
- <td class="description last">The duration of the practice session in seconds.</td>
2853
- </tr>
2854
-
2855
-
2856
-
2857
- <tr>
2858
-
2859
- <td class="name"><code>title</code></td>
2860
-
2861
-
2862
- <td class="type">
2863
-
2864
-
2865
- <span class="param-type">string</span>
2866
-
2867
-
2868
-
2869
-
2870
- </td>
2871
-
2872
-
2873
- <td class="attributes">
2874
-
2875
- &lt;optional><br>
2876
-
2877
-
2878
-
2879
-
2880
-
2881
- </td>
2882
-
2883
-
2884
-
2885
-
2886
- <td class="description last">The title of the practice session (max 64 characters).</td>
2887
- </tr>
2888
-
2889
-
2890
-
2891
- <tr>
2892
-
2893
- <td class="name"><code>category_id</code></td>
2894
-
2895
-
2896
- <td class="type">
2897
-
2898
-
2899
- <span class="param-type">number</span>
2900
-
2901
-
2902
-
2903
-
2904
- </td>
2905
-
2906
-
2907
- <td class="attributes">
2908
-
2909
- &lt;optional><br>
2910
-
2911
-
2912
-
2913
-
2914
-
2915
- </td>
2916
-
2917
-
2918
-
2919
-
2920
- <td class="description last">The ID of the associated category (if available).</td>
2921
- </tr>
2922
-
2923
-
2924
-
2925
- <tr>
2926
-
2927
- <td class="name"><code>thumbnail_url</code></td>
2928
-
2929
-
2930
- <td class="type">
2931
-
2932
-
2933
- <span class="param-type">string</span>
2934
-
2935
-
2936
-
2937
-
2938
- </td>
2939
-
2940
-
2941
- <td class="attributes">
2942
-
2943
- &lt;optional><br>
2944
-
2945
-
2946
-
2947
-
2948
-
2949
- </td>
2950
-
2951
-
2952
-
2953
-
2954
- <td class="description last">The URL of the session's thumbnail (max 255 characters).</td>
2955
- </tr>
2956
-
2957
-
2958
-
2959
- <tr>
2960
-
2961
- <td class="name"><code>instrument_id</code></td>
2962
-
2963
-
2964
- <td class="type">
2965
-
2966
-
2967
- <span class="param-type">number</span>
2968
-
2969
-
2970
-
2971
-
2972
- </td>
2973
-
2974
-
2975
- <td class="attributes">
2976
-
2977
- &lt;optional><br>
2978
-
2979
-
2980
-
2981
-
2982
-
2983
- </td>
2984
-
2985
-
2986
-
2987
-
2988
- <td class="description last">The ID of the associated instrument (if available).</td>
2989
- </tr>
2990
-
2991
-
2992
- </tbody>
2993
- </table>
2994
-
2995
- </td>
2996
- </tr>
2997
-
2998
-
2999
- </tbody>
3000
- </table>
3001
-
3002
-
3003
-
3004
-
3005
-
3006
-
3007
-
3008
-
3009
-
3010
-
3011
-
3012
-
3013
-
3014
-
3015
-
3016
-
3017
- <h5 class="h5-returns">Returns:</h5>
3018
-
3019
-
3020
- <div class="param-desc">
3021
- - A promise that resolves to the response from logging the user practice.
3022
- </div>
3023
-
3024
-
3025
-
3026
- <dl class="param-type">
3027
- <dt>
3028
- Type
3029
- </dt>
3030
- <dd>
3031
-
3032
- <span class="param-type">Promise.&lt;Object></span>
3033
-
3034
-
3035
-
3036
- </dd>
3037
- </dl>
3038
-
3039
-
3040
-
3041
-
3042
-
3043
-
3044
-
3045
-
3046
-
3047
-
3048
- <h4 class="name" id=".removeUserPractice"><span class="type-signature type-signature-static">(static) </span>removeUserPractice<span class="signature">(id)</span><span class="type-signature"> &rarr; {Promise.&lt;void>}</span></h4>
3049
-
3050
-
3051
-
3052
-
3053
-
3054
-
3055
- <dl class="details">
3056
-
3057
- <dt class="tag-description">Description:</dt>
3058
- <dd class="tag-description"><ul class="dummy"><li>Removes a user's practice session by ID, updating both the local and remote activity context.</li></ul></dd>
3059
-
3060
-
3061
-
3062
- <dt class="tag-source">Source:</dt>
3063
- <dd class="tag-source"><ul class="dummy"><li>
3064
- <a href="userActivity.js.html">userActivity.js</a>, <a href="userActivity.js.html#line346">line 346</a>
3065
- </li></ul></dd>
3066
-
3067
-
3068
-
3069
-
3070
-
3071
-
3072
-
3073
-
3074
-
3075
-
3076
-
3077
-
3078
-
3079
-
3080
-
3081
-
3082
-
3083
-
3084
-
3085
-
3086
-
3087
-
3088
-
3089
-
3090
-
3091
-
3092
-
3093
-
3094
-
3095
-
3096
-
3097
- </dl>
3098
-
3099
-
3100
-
3101
-
3102
-
3103
-
3104
-
3105
-
3106
-
3107
-
3108
-
3109
- <h5 class="h5-examples">Example</h5>
3110
-
3111
- <pre class="prettyprint"><code>// Remove a practice session with ID 123
3112
- removeUserPractice(123)
3113
- .then(() => console.log("Practice session removed successfully"))
3114
- .catch(error => console.error(error));</code></pre>
3115
-
3116
-
3117
-
3118
-
3119
- <h5 class="h5-parameters">Parameters:</h5>
3120
-
3121
-
3122
- <table class="params">
3123
- <thead>
3124
- <tr>
3125
-
3126
- <th>Name</th>
3127
-
3128
-
3129
- <th>Type</th>
3130
-
3131
-
3132
-
3133
-
3134
-
3135
- <th class="last">Description</th>
3136
- </tr>
3137
- </thead>
3138
-
3139
- <tbody>
3140
-
3141
-
3142
- <tr>
3143
-
3144
- <td class="name"><code>id</code></td>
3145
-
3146
-
3147
- <td class="type">
3148
-
3149
-
3150
- <span class="param-type">number</span>
3151
-
3152
-
3153
-
3154
-
3155
- </td>
3156
-
3157
-
3158
-
3159
-
3160
-
3161
- <td class="description last">The unique identifier of the practice session to be removed.</td>
3162
- </tr>
3163
-
3164
-
3165
- </tbody>
3166
- </table>
3167
-
3168
-
3169
-
3170
-
3171
-
3172
-
3173
-
3174
-
3175
-
3176
-
3177
-
3178
-
3179
-
3180
-
3181
-
3182
-
3183
- <h5 class="h5-returns">Returns:</h5>
3184
-
3185
-
3186
- <div class="param-desc">
3187
- - A promise that resolves once the practice session is removed.
3188
- </div>
3189
-
3190
-
3191
-
3192
- <dl class="param-type">
3193
- <dt>
3194
- Type
3195
- </dt>
3196
- <dd>
3197
-
3198
- <span class="param-type">Promise.&lt;void></span>
3199
-
3200
-
3201
-
3202
- </dd>
3203
- </dl>
3204
-
3205
-
3206
-
3207
-
3208
-
3209
-
3210
-
3211
-
3212
-
3213
-
3214
- <h4 class="name" id=".restorePracticeSession"><span class="type-signature type-signature-async, static">(async, static) </span>restorePracticeSession<span class="signature">(date)</span><span class="type-signature"> &rarr; {Promise.&lt;Object>}</span></h4>
3215
-
3216
-
3217
-
3218
-
3219
-
3220
-
3221
- <dl class="details">
3222
-
3223
- <dt class="tag-description">Description:</dt>
3224
- <dd class="tag-description"><ul class="dummy"><li>Restores deleted practice sessions for a specific date.
3225
-
3226
- Sends a PUT request to restore any previously deleted practices for a given date.
3227
- If restored practices are returned, they are added back into the local context.</li></ul></dd>
3228
-
3229
-
3230
-
3231
- <dt class="tag-source">Source:</dt>
3232
- <dd class="tag-source"><ul class="dummy"><li>
3233
- <a href="userActivity.js.html">userActivity.js</a>, <a href="userActivity.js.html#line431">line 431</a>
3234
- </li></ul></dd>
3235
-
3236
-
3237
-
3238
-
3239
-
3240
-
3241
-
3242
-
3243
-
3244
-
3245
-
3246
-
3247
-
3248
-
3249
-
3250
-
3251
-
3252
-
3253
-
3254
-
3255
-
3256
-
3257
-
3258
-
3259
-
3260
-
3261
-
3262
-
3263
-
3264
-
3265
-
3266
- </dl>
3267
-
3268
-
3269
-
3270
-
3271
-
3272
-
3273
-
3274
-
3275
-
3276
-
3277
-
3278
- <h5 class="h5-examples">Example</h5>
3279
-
3280
- <pre class="prettyprint"><code>// Restore practice sessions deleted on April 10, 2025
3281
- restorePracticeSession("2025-04-10")
3282
- .then(response => console.log("Practice session restored:", response))
3283
- .catch(error => console.error("Restore failed:", error));</code></pre>
3284
-
3285
-
3286
-
3287
-
3288
- <h5 class="h5-parameters">Parameters:</h5>
3289
-
3290
-
3291
- <table class="params">
3292
- <thead>
3293
- <tr>
3294
-
3295
- <th>Name</th>
3296
-
3297
-
3298
- <th>Type</th>
3299
-
3300
-
3301
-
3302
-
3303
-
3304
- <th class="last">Description</th>
3305
- </tr>
3306
- </thead>
3307
-
3308
- <tbody>
3309
-
3310
-
3311
- <tr>
3312
-
3313
- <td class="name"><code>date</code></td>
3314
-
3315
-
3316
- <td class="type">
3317
-
3318
-
3319
- <span class="param-type">string</span>
3320
-
3321
-
3322
-
3323
-
3324
- </td>
3325
-
3326
-
3327
-
3328
-
3329
-
3330
- <td class="description last">The date (in `YYYY-MM-DD` format) for which deleted practice sessions should be restored.</td>
3331
- </tr>
3332
-
3333
-
3334
- </tbody>
3335
- </table>
3336
-
3337
-
3338
-
3339
-
3340
-
3341
-
3342
-
3343
-
3344
-
3345
-
3346
-
3347
-
3348
-
3349
-
3350
-
3351
-
3352
- <h5 class="h5-returns">Returns:</h5>
3353
-
3354
-
3355
- <div class="param-desc">
3356
- - The response object from the API, containing practices for selected date.
3357
- </div>
3358
-
3359
-
3360
-
3361
- <dl class="param-type">
3362
- <dt>
3363
- Type
3364
- </dt>
3365
- <dd>
3366
-
3367
- <span class="param-type">Promise.&lt;Object></span>
3368
-
3369
-
3370
-
3371
- </dd>
3372
- </dl>
3373
-
3374
-
3375
-
3376
-
3377
-
3378
-
3379
-
3380
-
3381
-
3382
-
3383
- <h4 class="name" id=".restoreUserActivity"><span class="type-signature type-signature-static">(static) </span>restoreUserActivity<span class="signature">(id)</span><span class="type-signature"> &rarr; {Promise.&lt;Object>}</span></h4>
3384
-
3385
-
3386
-
3387
-
3388
-
3389
-
3390
- <dl class="details">
3391
-
3392
- <dt class="tag-description">Description:</dt>
3393
- <dd class="tag-description"><ul class="dummy"><li>Restores a specific user activity by its ID.</li></ul></dd>
3394
-
3395
-
3396
-
3397
- <dt class="tag-source">Source:</dt>
3398
- <dd class="tag-source"><ul class="dummy"><li>
3399
- <a href="userActivity.js.html">userActivity.js</a>, <a href="userActivity.js.html#line886">line 886</a>
3400
- </li></ul></dd>
3401
-
3402
-
3403
-
3404
-
3405
-
3406
-
3407
-
3408
-
3409
-
3410
-
3411
-
3412
-
3413
-
3414
-
3415
-
3416
-
3417
-
3418
-
3419
-
3420
-
3421
-
3422
-
3423
-
3424
-
3425
-
3426
-
3427
-
3428
-
3429
-
3430
-
3431
-
3432
- </dl>
3433
-
3434
-
3435
-
3436
-
3437
-
3438
-
3439
-
3440
-
3441
-
3442
-
3443
-
3444
- <h5 class="h5-examples">Example</h5>
3445
-
3446
- <pre class="prettyprint"><code>restoreUserActivity(789)
3447
- .then(response => console.log('Restored:', response))
3448
- .catch(error => console.error(error));</code></pre>
3449
-
3450
-
3451
-
3452
-
3453
- <h5 class="h5-parameters">Parameters:</h5>
3454
-
3455
-
3456
- <table class="params">
3457
- <thead>
3458
- <tr>
3459
-
3460
- <th>Name</th>
3461
-
3462
-
3463
- <th>Type</th>
3464
-
3465
-
3466
-
3467
-
3468
-
3469
- <th class="last">Description</th>
3470
- </tr>
3471
- </thead>
3472
-
3473
- <tbody>
3474
-
3475
-
3476
- <tr>
3477
-
3478
- <td class="name"><code>id</code></td>
3479
-
3480
-
3481
- <td class="type">
3482
-
3483
-
3484
- <span class="param-type">number</span>
3485
- |
3486
-
3487
- <span class="param-type">string</span>
3488
-
3489
-
3490
-
3491
-
3492
- </td>
3493
-
3494
-
3495
-
3496
-
3497
-
3498
- <td class="description last">The ID of the user activity to restore.</td>
3499
- </tr>
3500
-
3501
-
3502
- </tbody>
3503
- </table>
3504
-
3505
-
3506
-
3507
-
3508
-
3509
-
3510
-
3511
-
3512
-
3513
-
3514
-
3515
-
3516
-
3517
-
3518
-
3519
-
3520
- <h5 class="h5-returns">Returns:</h5>
3521
-
3522
-
3523
- <div class="param-desc">
3524
- - A promise that resolves to the API response after restoration.
3525
- </div>
3526
-
3527
-
3528
-
3529
- <dl class="param-type">
3530
- <dt>
3531
- Type
3532
- </dt>
3533
- <dd>
3534
-
3535
- <span class="param-type">Promise.&lt;Object></span>
3536
-
3537
-
3538
-
3539
- </dd>
3540
- </dl>
3541
-
3542
-
3543
-
3544
-
3545
-
3546
-
3547
-
3548
-
3549
-
3550
-
3551
- <h4 class="name" id=".restoreUserPractice"><span class="type-signature type-signature-static">(static) </span>restoreUserPractice<span class="signature">(id)</span><span class="type-signature"> &rarr; {Promise.&lt;Object>}</span></h4>
3552
-
3553
-
3554
-
3555
-
3556
-
3557
-
3558
- <dl class="details">
3559
-
3560
- <dt class="tag-description">Description:</dt>
3561
- <dd class="tag-description"><ul class="dummy"><li>Restores a previously deleted user's practice session by ID, updating both the local and remote activity context.</li></ul></dd>
3562
-
3563
-
3564
-
3565
- <dt class="tag-source">Source:</dt>
3566
- <dd class="tag-source"><ul class="dummy"><li>
3567
- <a href="userActivity.js.html">userActivity.js</a>, <a href="userActivity.js.html#line362">line 362</a>
3568
- </li></ul></dd>
3569
-
3570
-
3571
-
3572
-
3573
-
3574
-
3575
-
3576
-
3577
-
3578
-
3579
-
3580
-
3581
-
3582
-
3583
-
3584
-
3585
-
3586
-
3587
-
3588
-
3589
-
3590
-
3591
-
3592
-
3593
-
3594
-
3595
-
3596
-
3597
-
3598
-
3599
-
3600
- </dl>
3601
-
3602
-
3603
-
3604
-
3605
-
3606
-
3607
-
3608
-
3609
-
3610
-
3611
-
3612
- <h5 class="h5-examples">Example</h5>
3613
-
3614
- <pre class="prettyprint"><code>// Restore a deleted practice session with ID 123
3615
- restoreUserPractice(123)
3616
- .then(response => console.log("Practice session restored:", response))
3617
- .catch(error => console.error(error));</code></pre>
3618
-
3619
-
3620
-
3621
-
3622
- <h5 class="h5-parameters">Parameters:</h5>
3623
-
3624
-
3625
- <table class="params">
3626
- <thead>
3627
- <tr>
3628
-
3629
- <th>Name</th>
3630
-
3631
-
3632
- <th>Type</th>
3633
-
3634
-
3635
-
3636
-
3637
-
3638
- <th class="last">Description</th>
3639
- </tr>
3640
- </thead>
3641
-
3642
- <tbody>
3643
-
3644
-
3645
- <tr>
3646
-
3647
- <td class="name"><code>id</code></td>
3648
-
3649
-
3650
- <td class="type">
3651
-
3652
-
3653
- <span class="param-type">number</span>
3654
-
3655
-
3656
-
3657
-
3658
- </td>
3659
-
3660
-
3661
-
3662
-
3663
-
3664
- <td class="description last">The unique identifier of the practice session to be restored.</td>
3665
- </tr>
3666
-
3667
-
3668
- </tbody>
3669
- </table>
3670
-
3671
-
3672
-
3673
-
3674
-
3675
-
3676
-
3677
-
3678
-
3679
-
3680
-
3681
-
3682
-
3683
-
3684
-
3685
-
3686
- <h5 class="h5-returns">Returns:</h5>
3687
-
3688
-
3689
- <div class="param-desc">
3690
- - A promise that resolves to the response containing the restored practice session data.
3691
- </div>
3692
-
3693
-
3694
-
3695
- <dl class="param-type">
3696
- <dt>
3697
- Type
3698
- </dt>
3699
- <dd>
3700
-
3701
- <span class="param-type">Promise.&lt;Object></span>
3702
-
3703
-
3704
-
3705
- </dd>
3706
- </dl>
3707
-
3708
-
3709
-
3710
-
3711
-
3712
-
3713
-
3714
-
3715
-
3716
-
3717
- <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>
3718
-
3719
-
3720
-
3721
-
3722
-
3723
-
3724
- <dl class="details">
3725
-
3726
- <dt class="tag-description">Description:</dt>
3727
- <dd class="tag-description"><ul class="dummy"><li>Unpins the current pinned progress row for a user, scoped by brand.</li></ul></dd>
3728
-
3729
-
3730
-
3731
- <dt class="tag-source">Source:</dt>
3732
- <dd class="tag-source"><ul class="dummy"><li>
3733
- <a href="userActivity.js.html">userActivity.js</a>, <a href="userActivity.js.html#line1408">line 1408</a>
3734
- </li></ul></dd>
3735
-
3736
-
3737
-
3738
-
3739
-
3740
-
3741
-
3742
-
3743
-
3744
-
3745
-
3746
-
3747
-
3748
-
3749
-
3750
-
3751
-
3752
-
3753
-
3754
-
3755
-
3756
-
3757
-
3758
-
3759
-
3760
-
3761
-
3762
-
3763
-
3764
-
3765
-
3766
- </dl>
3767
-
3768
-
3769
-
3770
-
3771
-
3772
-
3773
-
3774
-
3775
-
3776
-
3777
-
3778
- <h5 class="h5-examples">Example</h5>
3779
-
3780
- <pre class="prettyprint"><code>unpinProgressRow('drumeo', 123456)
3781
- .then(response => console.log(response))
3782
- .catch(error => console.error(error));</code></pre>
3783
-
3784
-
3785
-
3786
-
3787
- <h5 class="h5-parameters">Parameters:</h5>
3788
-
3789
-
3790
- <table class="params">
3791
- <thead>
3792
- <tr>
3793
-
3794
- <th>Name</th>
3795
-
3796
-
3797
- <th>Type</th>
3798
-
3799
-
3800
-
3801
-
3802
-
3803
- <th class="last">Description</th>
3804
- </tr>
3805
- </thead>
3806
-
3807
- <tbody>
3808
-
3809
-
3810
- <tr>
3811
-
3812
- <td class="name"><code>brand</code></td>
3813
-
3814
-
3815
- <td class="type">
3816
-
3817
-
3818
- <span class="param-type">string</span>
3819
-
3820
-
3821
-
3822
-
3823
- </td>
3824
-
3825
-
3826
-
3827
-
3828
-
3829
- <td class="description last">The brand context for the unpin action.</td>
3830
- </tr>
3831
-
3832
-
3833
- </tbody>
3834
- </table>
3835
-
3836
-
3837
-
3838
-
3839
-
3840
-
3841
-
3842
-
3843
-
3844
-
3845
-
3846
-
3847
-
3848
-
3849
-
3850
-
3851
- <h5 class="h5-returns">Returns:</h5>
3852
-
3853
-
3854
- <div class="param-desc">
3855
- - A promise resolving to the response from the unpin API.
3856
- </div>
3857
-
3858
-
3859
-
3860
- <dl class="param-type">
3861
- <dt>
3862
- Type
3863
- </dt>
3864
- <dd>
3865
-
3866
- <span class="param-type">Promise.&lt;Object></span>
3867
-
3868
-
3869
-
3870
- </dd>
3871
- </dl>
3872
-
3873
-
3874
-
3875
-
3876
-
3877
-
3878
-
3879
-
3880
-
3881
-
3882
- <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>
3883
-
3884
-
3885
-
3886
-
3887
-
3888
-
3889
- <dl class="details">
3890
-
3891
- <dt class="tag-description">Description:</dt>
3892
- <dd class="tag-description"><ul class="dummy"><li>Updates existing practice notes for a specific date.</li></ul></dd>
3893
-
3894
-
3895
-
3896
- <dt class="tag-source">Source:</dt>
3897
- <dd class="tag-source"><ul class="dummy"><li>
3898
- <a href="userActivity.js.html">userActivity.js</a>, <a href="userActivity.js.html#line590">line 590</a>
3899
- </li></ul></dd>
3900
-
3901
-
3902
-
3903
-
3904
-
3905
-
3906
-
3907
-
3908
-
3909
-
3910
-
3911
-
3912
-
3913
-
3914
-
3915
-
3916
-
3917
-
3918
-
3919
-
3920
-
3921
-
3922
-
3923
-
3924
-
3925
-
3926
-
3927
-
3928
-
3929
-
3930
-
3931
- </dl>
3932
-
3933
-
3934
-
3935
-
3936
-
3937
-
3938
-
3939
-
3940
-
3941
-
3942
-
3943
- <h5 class="h5-examples">Example</h5>
3944
-
3945
- <pre class="prettyprint"><code>updatePracticeNotes({ date: '2025-04-10', notes: 'Updated: Focused on technique and timing' })
3946
- .then(response => console.log(response))
3947
- .catch(error => console.error(error));</code></pre>
3948
-
3949
-
3950
-
3951
-
3952
- <h5 class="h5-parameters">Parameters:</h5>
3953
-
3954
-
3955
- <table class="params">
3956
- <thead>
3957
- <tr>
3958
-
3959
- <th>Name</th>
3960
-
3961
-
3962
- <th>Type</th>
3963
-
3964
-
3965
-
3966
-
3967
-
3968
- <th class="last">Description</th>
3969
- </tr>
3970
- </thead>
3971
-
3972
- <tbody>
3973
-
3974
-
3975
- <tr>
3976
-
3977
- <td class="name"><code>payload</code></td>
3978
-
3979
-
3980
- <td class="type">
3981
-
3982
-
3983
- <span class="param-type">Object</span>
3984
-
3985
-
3986
-
3987
-
3988
- </td>
3989
-
3990
-
3991
-
3992
-
3993
-
3994
- <td class="description last">The data required to update practice notes.
3995
- <h6>Properties</h6>
3996
-
3997
-
3998
- <table class="params">
3999
- <thead>
4000
- <tr>
4001
-
4002
- <th>Name</th>
4003
-
4004
-
4005
- <th>Type</th>
4006
-
4007
-
4008
-
4009
-
4010
-
4011
- <th class="last">Description</th>
4012
- </tr>
4013
- </thead>
4014
-
4015
- <tbody>
4016
-
4017
-
4018
- <tr>
4019
-
4020
- <td class="name"><code>date</code></td>
4021
-
4022
-
4023
- <td class="type">
4024
-
4025
-
4026
- <span class="param-type">string</span>
4027
-
4028
-
4029
-
4030
-
4031
- </td>
4032
-
4033
-
4034
-
4035
-
4036
-
4037
- <td class="description last">The date for which to update notes (format: YYYY-MM-DD).</td>
4038
- </tr>
4039
-
4040
-
4041
-
4042
- <tr>
4043
-
4044
- <td class="name"><code>notes</code></td>
4045
-
4046
-
4047
- <td class="type">
4048
-
4049
-
4050
- <span class="param-type">string</span>
4051
-
4052
-
4053
-
4054
-
4055
- </td>
4056
-
4057
-
4058
-
4059
-
4060
-
4061
- <td class="description last">The updated notes content.</td>
4062
- </tr>
4063
-
4064
-
4065
- </tbody>
4066
- </table>
4067
-
4068
- </td>
4069
- </tr>
4070
-
4071
-
4072
- </tbody>
4073
- </table>
4074
-
4075
-
4076
-
4077
-
4078
-
4079
-
4080
-
4081
-
4082
-
4083
-
4084
-
4085
-
4086
-
4087
-
4088
-
4089
-
4090
- <h5 class="h5-returns">Returns:</h5>
4091
-
4092
-
4093
- <div class="param-desc">
4094
- - A promise that resolves to the API response after updating the notes.
4095
- </div>
4096
-
4097
-
4098
-
4099
- <dl class="param-type">
4100
- <dt>
4101
- Type
4102
- </dt>
4103
- <dd>
4104
-
4105
- <span class="param-type">Promise.&lt;Object></span>
4106
-
4107
-
4108
-
4109
- </dd>
4110
- </dl>
4111
-
4112
-
4113
-
4114
-
4115
-
4116
-
4117
-
4118
-
4119
-
4120
-
4121
- <h4 class="name" id=".updateUserPractice"><span class="type-signature type-signature-static">(static) </span>updateUserPractice<span class="signature">(id, practiceDetails)</span><span class="type-signature"> &rarr; {Promise.&lt;Object>}</span></h4>
4122
-
4123
-
4124
-
4125
-
4126
-
4127
-
4128
- <dl class="details">
4129
-
4130
- <dt class="tag-description">Description:</dt>
4131
- <dd class="tag-description"><ul class="dummy"><li>Updates a user's practice session with new details and syncs the changes remotely.</li></ul></dd>
4132
-
4133
-
4134
-
4135
- <dt class="tag-source">Source:</dt>
4136
- <dd class="tag-source"><ul class="dummy"><li>
4137
- <a href="userActivity.js.html">userActivity.js</a>, <a href="userActivity.js.html#line330">line 330</a>
4138
- </li></ul></dd>
4139
-
4140
-
4141
-
4142
-
4143
-
4144
-
4145
-
4146
-
4147
-
4148
-
4149
-
4150
-
4151
-
4152
-
4153
-
4154
-
4155
-
4156
-
4157
-
4158
-
4159
-
4160
-
4161
-
4162
-
4163
-
4164
-
4165
-
4166
-
4167
-
4168
-
4169
-
4170
- </dl>
4171
-
4172
-
4173
-
4174
-
4175
-
4176
-
4177
-
4178
-
4179
-
4180
-
4181
-
4182
- <h5 class="h5-examples">Example</h5>
4183
-
4184
- <pre class="prettyprint"><code>// Update a practice session's duration
4185
- updateUserPractice(123, { duration_seconds: 600 })
4186
- .then(response => console.log(response))
4187
- .catch(error => console.error(error));</code></pre>
4188
-
4189
-
4190
-
4191
-
4192
- <h5 class="h5-parameters">Parameters:</h5>
4193
-
4194
-
4195
- <table class="params">
4196
- <thead>
4197
- <tr>
4198
-
4199
- <th>Name</th>
4200
-
4201
-
4202
- <th>Type</th>
4203
-
4204
-
4205
-
4206
-
4207
-
4208
- <th class="last">Description</th>
4209
- </tr>
4210
- </thead>
4211
-
4212
- <tbody>
4213
-
4214
-
4215
- <tr>
4216
-
4217
- <td class="name"><code>id</code></td>
4218
-
4219
-
4220
- <td class="type">
4221
-
4222
-
4223
- <span class="param-type">string</span>
4224
-
4225
-
4226
-
4227
-
4228
- </td>
4229
-
4230
-
4231
-
4232
-
4233
-
4234
- <td class="description last">The unique identifier of the practice session to update.</td>
4235
- </tr>
4236
-
4237
-
4238
-
4239
- <tr>
4240
-
4241
- <td class="name"><code>practiceDetails</code></td>
4242
-
4243
-
4244
- <td class="type">
4245
-
4246
-
4247
- <span class="param-type">Object</span>
4248
-
4249
-
4250
-
4251
-
4252
- </td>
4253
-
4254
-
4255
-
4256
-
4257
-
4258
- <td class="description last">The updated details of the practice session.
4259
- <h6>Properties</h6>
4260
-
4261
-
4262
- <table class="params">
4263
- <thead>
4264
- <tr>
4265
-
4266
- <th>Name</th>
4267
-
4268
-
4269
- <th>Type</th>
4270
-
4271
-
4272
- <th>Attributes</th>
4273
-
4274
-
4275
-
4276
-
4277
- <th class="last">Description</th>
4278
- </tr>
4279
- </thead>
4280
-
4281
- <tbody>
4282
-
4283
-
4284
- <tr>
4285
-
4286
- <td class="name"><code>duration_seconds</code></td>
4287
-
4288
-
4289
- <td class="type">
4290
-
4291
-
4292
- <span class="param-type">number</span>
4293
-
4294
-
4295
-
4296
-
4297
- </td>
4298
-
4299
-
4300
- <td class="attributes">
4301
-
4302
- &lt;optional><br>
4303
-
4304
-
4305
-
4306
-
4307
-
4308
- </td>
4309
-
4310
-
4311
-
4312
-
4313
- <td class="description last">The duration of the practice session in seconds.</td>
4314
- </tr>
4315
-
4316
-
4317
-
4318
- <tr>
4319
-
4320
- <td class="name"><code>category_id</code></td>
4321
-
4322
-
4323
- <td class="type">
4324
-
4325
-
4326
- <span class="param-type">number</span>
4327
-
4328
-
4329
-
4330
-
4331
- </td>
4332
-
4333
-
4334
- <td class="attributes">
4335
-
4336
- &lt;optional><br>
4337
-
4338
-
4339
-
4340
-
4341
-
4342
- </td>
4343
-
4344
-
4345
-
4346
-
4347
- <td class="description last">The ID of the associated category (if available).</td>
4348
- </tr>
4349
-
4350
-
4351
-
4352
- <tr>
4353
-
4354
- <td class="name"><code>title</code></td>
4355
-
4356
-
4357
- <td class="type">
4358
-
4359
-
4360
- <span class="param-type">string</span>
4361
-
4362
-
4363
-
4364
-
4365
- </td>
4366
-
4367
-
4368
- <td class="attributes">
4369
-
4370
- &lt;optional><br>
4371
-
4372
-
4373
-
4374
-
4375
-
4376
- </td>
4377
-
4378
-
4379
-
4380
-
4381
- <td class="description last">The title of the practice session (max 64 characters).</td>
4382
- </tr>
4383
-
4384
-
4385
-
4386
- <tr>
4387
-
4388
- <td class="name"><code>thumbnail_url</code></td>
4389
-
4390
-
4391
- <td class="type">
4392
-
4393
-
4394
- <span class="param-type">string</span>
4395
-
4396
-
4397
-
4398
-
4399
- </td>
4400
-
4401
-
4402
- <td class="attributes">
4403
-
4404
- &lt;optional><br>
4405
-
4406
-
4407
-
4408
-
4409
-
4410
- </td>
4411
-
4412
-
4413
-
4414
-
4415
- <td class="description last">The URL of the session's thumbnail (max 255 characters).</td>
4416
- </tr>
4417
-
4418
-
4419
-
4420
- <tr>
4421
-
4422
- <td class="name"><code>instrument_id</code></td>
4423
-
4424
-
4425
- <td class="type">
4426
-
4427
-
4428
- <span class="param-type">number</span>
4429
-
4430
-
4431
-
4432
-
4433
- </td>
4434
-
4435
-
4436
- <td class="attributes">
4437
-
4438
- &lt;optional><br>
4439
-
4440
-
4441
-
4442
-
4443
-
4444
- </td>
4445
-
4446
-
4447
-
4448
-
4449
- <td class="description last">The ID of the associated instrument (if available).</td>
4450
- </tr>
4451
-
4452
-
4453
- </tbody>
4454
- </table>
4455
-
4456
- </td>
4457
- </tr>
4458
-
4459
-
4460
- </tbody>
4461
- </table>
4462
-
4463
-
4464
-
4465
-
4466
-
4467
-
4468
-
4469
-
4470
-
4471
-
4472
-
4473
-
4474
-
4475
-
4476
-
4477
-
4478
- <h5 class="h5-returns">Returns:</h5>
4479
-
4480
-
4481
- <div class="param-desc">
4482
- - A promise that resolves to the response from updating the user practice.
4483
- </div>
4484
-
4485
-
4486
-
4487
- <dl class="param-type">
4488
- <dt>
4489
- Type
4490
- </dt>
4491
- <dd>
4492
-
4493
- <span class="param-type">Promise.&lt;Object></span>
4494
-
4495
-
4496
-
4497
- </dd>
4498
- </dl>
4499
-
4500
-
4501
-
4502
-
4503
-
4504
-
4505
-
4506
-
4507
-
4508
-
4509
-
4510
- </article>
4511
-
4512
- </section>
4513
-
4514
-
4515
-
4516
-
4517
-
4518
-
4519
- </div>
4520
-
4521
- <br class="clear">
4522
-
4523
- <footer>
4524
- Documentation generated by <a href="https://github.com/jsdoc3/jsdoc">JSDoc 4.0.3</a> on Fri Nov 28 2025 11:22:56 GMT-0800 (Pacific Standard Time) using the <a href="https://github.com/clenemt/docdash">docdash</a> theme.
4525
- </footer>
4526
-
4527
- <script>prettyPrint();</script>
4528
- <script src="scripts/polyfill.js"></script>
4529
- <script src="scripts/linenumber.js"></script>
4530
-
4531
-
4532
-
4533
- </body>
4534
- </html>