musora-content-services 2.3.4 → 2.3.6

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 (134) hide show
  1. package/.coderabbit.yaml +22 -0
  2. package/.editorconfig +0 -0
  3. package/.github/workflows/node.js.yml +0 -0
  4. package/.prettierignore +0 -0
  5. package/.prettierrc +0 -0
  6. package/CHANGELOG.md +4 -0
  7. package/README.md +0 -0
  8. package/babel.config.cjs +0 -0
  9. package/docs/Content-Organization.html +0 -0
  10. package/docs/ContentOrganization.html +245 -0
  11. package/docs/Gamification.html +2 -2
  12. package/docs/UserManagement.html +269 -0
  13. package/docs/UserManagementSystem.html +293 -0
  14. package/docs/api_types.js.html +2 -2
  15. package/docs/config.js.html +16 -22
  16. package/docs/content-org_content-org.js.html +76 -0
  17. package/docs/content-org_playlists-types.js.html +2 -2
  18. package/docs/content-org_playlists.js.html +4 -6
  19. package/docs/content.js.html +6 -3
  20. package/docs/fonts/Montserrat/Montserrat-Bold.eot +0 -0
  21. package/docs/fonts/Montserrat/Montserrat-Bold.ttf +0 -0
  22. package/docs/fonts/Montserrat/Montserrat-Bold.woff +0 -0
  23. package/docs/fonts/Montserrat/Montserrat-Bold.woff2 +0 -0
  24. package/docs/fonts/Montserrat/Montserrat-Regular.eot +0 -0
  25. package/docs/fonts/Montserrat/Montserrat-Regular.ttf +0 -0
  26. package/docs/fonts/Montserrat/Montserrat-Regular.woff +0 -0
  27. package/docs/fonts/Montserrat/Montserrat-Regular.woff2 +0 -0
  28. package/docs/fonts/Source-Sans-Pro/sourcesanspro-light-webfont.eot +0 -0
  29. package/docs/fonts/Source-Sans-Pro/sourcesanspro-light-webfont.svg +0 -0
  30. package/docs/fonts/Source-Sans-Pro/sourcesanspro-light-webfont.ttf +0 -0
  31. package/docs/fonts/Source-Sans-Pro/sourcesanspro-light-webfont.woff +0 -0
  32. package/docs/fonts/Source-Sans-Pro/sourcesanspro-light-webfont.woff2 +0 -0
  33. package/docs/fonts/Source-Sans-Pro/sourcesanspro-regular-webfont.eot +0 -0
  34. package/docs/fonts/Source-Sans-Pro/sourcesanspro-regular-webfont.svg +0 -0
  35. package/docs/fonts/Source-Sans-Pro/sourcesanspro-regular-webfont.ttf +0 -0
  36. package/docs/fonts/Source-Sans-Pro/sourcesanspro-regular-webfont.woff +0 -0
  37. package/docs/fonts/Source-Sans-Pro/sourcesanspro-regular-webfont.woff2 +0 -0
  38. package/docs/gamification_awards.js.html +2 -2
  39. package/docs/gamification_gamification.js.html +2 -2
  40. package/docs/gamification_types.js.html +2 -2
  41. package/docs/global.html +2 -2
  42. package/docs/global.html#User +293 -0
  43. package/docs/index.html +2 -2
  44. package/docs/module-Awards.html +2 -2
  45. package/docs/module-Config.html +83 -616
  46. package/docs/module-Content-Services-V2.html +3 -3
  47. package/docs/module-Permissions.html +406 -0
  48. package/docs/module-Playlists.html +6 -6
  49. package/docs/module-Railcontent-Services.html +57 -57
  50. package/docs/module-Sanity-Services.html +34 -34
  51. package/docs/module-Session-Management.html +0 -0
  52. package/docs/module-Sessions.html +575 -0
  53. package/docs/module-User-Management.html +490 -0
  54. package/docs/module-User-Permissions.html +0 -0
  55. package/docs/module-UserManagement.html +490 -0
  56. package/docs/railcontent.js.html +82 -74
  57. package/docs/sanity.js.html +12 -9
  58. package/docs/scripts/collapse.js +0 -0
  59. package/docs/scripts/commonNav.js +0 -0
  60. package/docs/scripts/linenumber.js +0 -0
  61. package/docs/scripts/nav.js +0 -0
  62. package/docs/scripts/polyfill.js +0 -0
  63. package/docs/scripts/prettify/Apache-License-2.0.txt +0 -0
  64. package/docs/scripts/prettify/lang-css.js +0 -0
  65. package/docs/scripts/prettify/prettify.js +0 -0
  66. package/docs/scripts/search.js +0 -0
  67. package/docs/styles/jsdoc.css +0 -0
  68. package/docs/styles/prettify.css +0 -0
  69. package/docs/types.js.html +122 -0
  70. package/docs/user_management.js.html +105 -0
  71. package/docs/user_permissions.js.html +3 -3
  72. package/docs/user_sessions.js.html +6 -6
  73. package/docs/user_types.js.html +2 -2
  74. package/docs/user_user-management-system.js.html +78 -0
  75. package/docs/user_user-management.js.html +78 -0
  76. package/jest.config.js +0 -0
  77. package/jsdoc.json +0 -0
  78. package/link_mcs.sh +0 -0
  79. package/package.json +1 -1
  80. package/src/contentMetaData.js +0 -0
  81. package/src/filterBuilder.js +0 -0
  82. package/src/index.d.ts +0 -0
  83. package/src/index.js +0 -0
  84. package/src/lib/httpHelper.js +0 -0
  85. package/src/lib/lastUpdated.js +0 -0
  86. package/src/services/api/types.js +0 -0
  87. package/src/services/config.js +13 -20
  88. package/src/services/content-org/content-org.js +4 -0
  89. package/src/services/content-org/playlists-types.js +0 -0
  90. package/src/services/content-org/playlists.js +2 -4
  91. package/src/services/content.js +0 -0
  92. package/src/services/contentLikes.js +0 -0
  93. package/src/services/contentProgress.js +0 -0
  94. package/src/services/dataContext.js +0 -0
  95. package/src/services/gamification/awards.js +0 -0
  96. package/src/services/gamification/gamification.js +0 -0
  97. package/src/services/gamification/types.js +0 -0
  98. package/src/services/imageSRCBuilder.js +0 -0
  99. package/src/services/imageSRCVerify.js +0 -0
  100. package/src/services/railcontent.js +41 -43
  101. package/src/services/recommendations.js +19 -19
  102. package/src/services/sanity.js +1 -0
  103. package/src/services/types.js +50 -0
  104. package/src/services/user/management.js +1 -3
  105. package/src/services/user/permissions.js +1 -1
  106. package/src/services/user/sessions.js +4 -4
  107. package/src/services/user/types.js +0 -0
  108. package/src/services/user/user-management-system.js +6 -0
  109. package/test/content.test.js +0 -0
  110. package/test/contentLikes.test.js +0 -0
  111. package/test/contentProgress.test.js +0 -0
  112. package/test/dataContext.test.js +0 -0
  113. package/test/forum.test.js +0 -0
  114. package/test/imageSRCBuilder.test.js +0 -0
  115. package/test/imageSRCVerify.test.js +0 -0
  116. package/test/initializeTests.js +6 -4
  117. package/test/lib/lastUpdated.test.js +0 -0
  118. package/test/live/contentProgressLive.test.js +0 -0
  119. package/test/live/railcontentLive.test.js +0 -0
  120. package/test/localStorageMock.js +0 -0
  121. package/test/log.js +0 -0
  122. package/test/mockData/mockData_fetchByRailContentIds_one_content.json +0 -0
  123. package/test/sanityQueryService.test.js +11 -1
  124. package/test/user/permissions.test.js +0 -0
  125. package/test/userActivity.test.js +0 -0
  126. package/tools/generate-index.cjs +0 -0
  127. package/.yarnrc.yml +0 -1
  128. package/docs/Playlists.html +0 -192
  129. package/docs/content-org_types.js.html +0 -112
  130. package/docs/module-Content-Organization-Playlists.html +0 -194
  131. package/docs/module-Content-Organization.html +0 -976
  132. package/docs/module-Content-Services.html +0 -763
  133. package/docs/module-playlists.html +0 -1878
  134. package/docs/module-playlists_.html +0 -108
@@ -1,976 +0,0 @@
1
- <!DOCTYPE html>
2
- <html lang="en">
3
- <head>
4
-
5
- <meta charset="utf-8">
6
- <title>Content-Organization - 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-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-Organization.html">Content-Organization</a><ul class='methods'><li data-type='method'><a href="module-Content-Organization.html#.addItemToPlaylist">addItemToPlaylist</a></li><li data-type='method'><a href="module-Content-Organization.html#.createPlaylist">createPlaylist</a></li><li data-type='method'><a href="module-Content-Organization.html#.fetchUserPlaylists">fetchUserPlaylists</a></li></ul></li><li><a href="module-Content-Services-V2.html">Content-Services-V2</a><ul class='methods'><li data-type='method'><a href="module-Content-Services-V2.html#.getContentRows">getContentRows</a></li><li data-type='method'><a href="module-Content-Services-V2.html#.getNewAndUpcoming">getNewAndUpcoming</a></li><li data-type='method'><a href="module-Content-Services-V2.html#.getRecent">getRecent</a></li><li data-type='method'><a href="module-Content-Services-V2.html#.getRecommendedForYou">getRecommendedForYou</a></li><li data-type='method'><a href="module-Content-Services-V2.html#.getScheduleContentRows">getScheduleContentRows</a></li><li data-type='method'><a href="module-Content-Services-V2.html#.getTabResults">getTabResults</a></li></ul></li><li><a href="module-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#.countAssignmentsAndLessons">countAssignmentsAndLessons</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#.deletePlaylist">deletePlaylist</a></li><li data-type='method'><a href="module-Railcontent-Services.html#.deletePlaylistItem">deletePlaylistItem</a></li><li data-type='method'><a href="module-Railcontent-Services.html#.deletePlaylistLike">deletePlaylistLike</a></li><li data-type='method'><a href="module-Railcontent-Services.html#.duplicatePlaylist">duplicatePlaylist</a></li><li data-type='method'><a href="module-Railcontent-Services.html#.editComment">editComment</a></li><li data-type='method'><a href="module-Railcontent-Services.html#.fetchAllCompletedStates">fetchAllCompletedStates</a></li><li data-type='method'><a href="module-Railcontent-Services.html#.fetchCarouselCardData">fetchCarouselCardData</a></li><li data-type='method'><a href="module-Railcontent-Services.html#.fetchChallengeIndexMetadata">fetchChallengeIndexMetadata</a></li><li data-type='method'><a href="module-Railcontent-Services.html#.fetchChallengeLessonData">fetchChallengeLessonData</a></li><li data-type='method'><a href="module-Railcontent-Services.html#.fetchChallengeMetadata">fetchChallengeMetadata</a></li><li data-type='method'><a href="module-Railcontent-Services.html#.fetchChallengeUserActiveChallenges">fetchChallengeUserActiveChallenges</a></li><li data-type='method'><a href="module-Railcontent-Services.html#.fetchCommentRelies">fetchCommentRelies</a></li><li data-type='method'><a href="module-Railcontent-Services.html#.fetchComments">fetchComments</a></li><li data-type='method'><a href="module-Railcontent-Services.html#.fetchCompletedChallenges">fetchCompletedChallenges</a></li><li data-type='method'><a href="module-Railcontent-Services.html#.fetchCompletedContent">fetchCompletedContent</a></li><li data-type='method'><a href="module-Railcontent-Services.html#.fetchCompletedState">fetchCompletedState</a></li><li data-type='method'><a href="module-Railcontent-Services.html#.fetchContentInProgress">fetchContentInProgress</a></li><li data-type='method'><a href="module-Railcontent-Services.html#.fetchContentPageUserData">fetchContentPageUserData</a></li><li data-type='method'><a href="module-Railcontent-Services.html#.fetchNextContentDataForParent">fetchNextContentDataForParent</a></li><li data-type='method'><a href="module-Railcontent-Services.html#.fetchOwnedChallenges">fetchOwnedChallenges</a></li><li data-type='method'><a href="module-Railcontent-Services.html#.fetchPinnedPlaylists">fetchPinnedPlaylists</a></li><li data-type='method'><a href="module-Railcontent-Services.html#.fetchPlaylist">fetchPlaylist</a></li><li data-type='method'><a href="module-Railcontent-Services.html#.fetchPlaylistItem">fetchPlaylistItem</a></li><li data-type='method'><a href="module-Railcontent-Services.html#.fetchPlaylistItems">fetchPlaylistItems</a></li><li data-type='method'><a href="module-Railcontent-Services.html#.fetchSongsInProgress">fetchSongsInProgress</a></li><li data-type='method'><a href="module-Railcontent-Services.html#.fetchTopComment">fetchTopComment</a></li><li data-type='method'><a href="module-Railcontent-Services.html#.fetchUserAward">fetchUserAward</a></li><li data-type='method'><a href="module-Railcontent-Services.html#.fetchUserBadges">fetchUserBadges</a></li><li data-type='method'><a href="module-Railcontent-Services.html#.fetchUserChallengeProgress">fetchUserChallengeProgress</a></li><li data-type='method'><a href="module-Railcontent-Services.html#.likeComment">likeComment</a></li><li data-type='method'><a href="module-Railcontent-Services.html#.likePlaylist">likePlaylist</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#.pinPlaylist">pinPlaylist</a></li><li data-type='method'><a href="module-Railcontent-Services.html#.postChallengesCommunityNotification">postChallengesCommunityNotification</a></li><li data-type='method'><a href="module-Railcontent-Services.html#.postChallengesCompleteLesson">postChallengesCompleteLesson</a></li><li data-type='method'><a href="module-Railcontent-Services.html#.postChallengesEnroll">postChallengesEnroll</a></li><li data-type='method'><a href="module-Railcontent-Services.html#.postChallengesEnrollmentNotification">postChallengesEnrollmentNotification</a></li><li data-type='method'><a href="module-Railcontent-Services.html#.postChallengesHideCompletedBanner">postChallengesHideCompletedBanner</a></li><li data-type='method'><a href="module-Railcontent-Services.html#.postChallengesLeave">postChallengesLeave</a></li><li data-type='method'><a href="module-Railcontent-Services.html#.postChallengesSetStartDate">postChallengesSetStartDate</a></li><li data-type='method'><a href="module-Railcontent-Services.html#.postChallengesSoloNotification">postChallengesSoloNotification</a></li><li data-type='method'><a href="module-Railcontent-Services.html#.postChallengesUnlock">postChallengesUnlock</a></li><li data-type='method'><a href="module-Railcontent-Services.html#.replyToComment">replyToComment</a></li><li data-type='method'><a href="module-Railcontent-Services.html#.reportPlaylist">reportPlaylist</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#.unpinPlaylist">unpinPlaylist</a></li><li data-type='method'><a href="module-Railcontent-Services.html#.updatePlaylist">updatePlaylist</a></li><li data-type='method'><a href="module-Railcontent-Services.html#.updatePlaylistItem">updatePlaylistItem</a></li></ul></li><li><a href="module-Sanity-Services.html">Sanity-Services</a><ul class='methods'><li data-type='method'><a href="module-Sanity-Services.html#.fetchAll">fetchAll</a></li><li data-type='method'><a href="module-Sanity-Services.html#.fetchAllFilterOptions">fetchAllFilterOptions</a></li><li data-type='method'><a href="module-Sanity-Services.html#.fetchAllPacks">fetchAllPacks</a></li><li data-type='method'><a href="module-Sanity-Services.html#.fetchArtistLessons">fetchArtistLessons</a></li><li data-type='method'><a href="module-Sanity-Services.html#.fetchArtists">fetchArtists</a></li><li data-type='method'><a href="module-Sanity-Services.html#.fetchByRailContentId">fetchByRailContentId</a></li><li data-type='method'><a href="module-Sanity-Services.html#.fetchByRailContentIds">fetchByRailContentIds</a></li><li data-type='method'><a href="module-Sanity-Services.html#.fetchByReference">fetchByReference</a></li><li data-type='method'><a href="module-Sanity-Services.html#.fetchCoachLessons">fetchCoachLessons</a></li><li data-type='method'><a href="module-Sanity-Services.html#.fetchComingSoon">fetchComingSoon</a></li><li data-type='method'><a href="module-Sanity-Services.html#.fetchCommentModContentData">fetchCommentModContentData</a></li><li data-type='method'><a href="module-Sanity-Services.html#.fetchFoundation">fetchFoundation</a></li><li data-type='method'><a href="module-Sanity-Services.html#.fetchGenreLessons">fetchGenreLessons</a></li><li data-type='method'><a href="module-Sanity-Services.html#.fetchLeaving">fetchLeaving</a></li><li data-type='method'><a href="module-Sanity-Services.html#.fetchLessonContent">fetchLessonContent</a></li><li data-type='method'><a href="module-Sanity-Services.html#.fetchMetadata">fetchMetadata</a></li><li data-type='method'><a href="module-Sanity-Services.html#.fetchMethod">fetchMethod</a></li><li data-type='method'><a href="module-Sanity-Services.html#.fetchMethodChildren">fetchMethodChildren</a></li><li data-type='method'><a href="module-Sanity-Services.html#.fetchMethodChildrenIds">fetchMethodChildrenIds</a></li><li data-type='method'><a href="module-Sanity-Services.html#.fetchMethodPreviousNextLesson">fetchMethodPreviousNextLesson</a></li><li data-type='method'><a href="module-Sanity-Services.html#.fetchNewReleases">fetchNewReleases</a></li><li data-type='method'><a href="module-Sanity-Services.html#.fetchNextPreviousLesson">fetchNextPreviousLesson</a></li><li data-type='method'><a href="module-Sanity-Services.html#.fetchPackAll">fetchPackAll</a></li><li data-type='method'><a href="module-Sanity-Services.html#.fetchPackData">fetchPackData</a></li><li data-type='method'><a href="module-Sanity-Services.html#.fetchParentForDownload">fetchParentForDownload</a></li><li data-type='method'><a href="module-Sanity-Services.html#.fetchRelatedLessons">fetchRelatedLessons</a></li><li data-type='method'><a href="module-Sanity-Services.html#.fetchRelatedSongs">fetchRelatedSongs</a></li><li data-type='method'><a href="module-Sanity-Services.html#.fetchReturning">fetchReturning</a></li><li data-type='method'><a href="module-Sanity-Services.html#.fetchSanity">fetchSanity</a></li><li data-type='method'><a href="module-Sanity-Services.html#.fetchScheduledReleases">fetchScheduledReleases</a></li><li data-type='method'><a href="module-Sanity-Services.html#.fetchShowsData">fetchShowsData</a></li><li data-type='method'><a href="module-Sanity-Services.html#.fetchSongArtistCount">fetchSongArtistCount</a></li><li data-type='method'><a href="module-Sanity-Services.html#.fetchSongById">fetchSongById</a></li><li data-type='method'><a href="module-Sanity-Services.html#.fetchUpcomingEvents">fetchUpcomingEvents</a></li><li data-type='method'><a href="module-Sanity-Services.html#.jumpToContinueContent">jumpToContinueContent</a></li><li data-type='method'><a href="module-Sanity-Services.html#~getNextAndPreviousQuarterDates">getNextAndPreviousQuarterDates</a></li><li data-type='method'><a href="module-Sanity-Services.html#~getQueryFromPage">getQueryFromPage</a></li><li data-type='method'><a href="module-Sanity-Services.html#~handleCustomFetchAll">handleCustomFetchAll</a></li></ul></li><li><a href="module-Session-Management.html">Session-Management</a><ul class='methods'><li data-type='method'><a href="module-Session-Management.html#.login">login</a></li><li data-type='method'><a href="module-Session-Management.html#.logout">logout</a></li></ul></li><li><a href="module-User-Permissions.html">User-Permissions</a><ul class='methods'><li data-type='method'><a href="module-User-Permissions.html#.fetchUserPermissions">fetchUserPermissions</a></li><li data-type='method'><a href="module-User-Permissions.html#.reset">reset</a></li></ul></li></ul><h3>Namespaces</h3><ul><li><a href="module-Content-Organization-Playlists.html">Playlists</a></li></ul><h3><a href="global.html">Global</a></h3>
33
-
34
- </nav>
35
-
36
- <div id="main">
37
-
38
- <h1 class="page-title">Content-Organization</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
- <h3 class="subsection-title">Namespaces</h3>
77
-
78
- <dl>
79
- <dt><a href="module-Content-Organization-Playlists.html">Playlists</a></dt>
80
- <dd></dd>
81
- </dl>
82
-
83
-
84
-
85
- <h3 class="subsection-title">Members</h3>
86
-
87
-
88
-
89
- <h4 class="name" id="~excludeFromGeneratedIndex"><span class="type-signature type-signature-inner, constant">(inner, constant) </span>excludeFromGeneratedIndex<span class="type-signature"> :Array.&lt;string></span></h4>
90
-
91
-
92
-
93
-
94
-
95
- <dl class="details">
96
-
97
- <dt class="tag-description">Description:</dt>
98
- <dd class="tag-description"><ul class="dummy"><li>Exported functions that are excluded from index generation.</li></ul></dd>
99
-
100
-
101
-
102
- <dt class="tag-source">Source:</dt>
103
- <dd class="tag-source"><ul class="dummy"><li>
104
- <a href="content-org_playlists.js.html">content-org/playlists.js</a>, <a href="content-org_playlists.js.html#line16">line 16</a>
105
- </li></ul></dd>
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
-
137
- </dl>
138
-
139
-
140
-
141
-
142
-
143
- <div class="description usertext">
144
- Exported functions that are excluded from index generation.
145
- </div>
146
-
147
-
148
-
149
- <h5 class="h5-types">Type:</h5>
150
- <ul>
151
- <li>
152
-
153
- <span class="param-type">Array.&lt;string></span>
154
-
155
-
156
-
157
- </li>
158
- </ul>
159
-
160
-
161
-
162
-
163
-
164
-
165
-
166
-
167
-
168
-
169
- <h3 class="subsection-title">Methods</h3>
170
-
171
-
172
-
173
-
174
-
175
-
176
- <h4 class="name" id=".addItemToPlaylist"><span class="type-signature type-signature-static">(static) </span>addItemToPlaylist<span class="signature">(payload)</span><span class="type-signature"> &rarr; {Promise.&lt;(Object|null)>}</span></h4>
177
-
178
-
179
-
180
-
181
-
182
-
183
- <dl class="details">
184
-
185
- <dt class="tag-description">Description:</dt>
186
- <dd class="tag-description"><ul class="dummy"><li>Adds an item to one or more playlists by making a POST request to the `/playlists/add-item` endpoint.</li></ul></dd>
187
-
188
-
189
-
190
- <dt class="tag-source">Source:</dt>
191
- <dd class="tag-source"><ul class="dummy"><li>
192
- <a href="content-org_playlists.js.html">content-org/playlists.js</a>, <a href="content-org_playlists.js.html#line118">line 118</a>
193
- </li></ul></dd>
194
-
195
-
196
-
197
-
198
-
199
-
200
-
201
-
202
-
203
-
204
-
205
-
206
-
207
-
208
-
209
-
210
-
211
-
212
-
213
-
214
-
215
-
216
-
217
-
218
-
219
-
220
-
221
-
222
-
223
-
224
-
225
- </dl>
226
-
227
-
228
-
229
-
230
-
231
-
232
-
233
-
234
-
235
-
236
-
237
- <h5 class="h5-examples">Example</h5>
238
-
239
- <pre class="prettyprint"><code>const payload = {
240
- content_id: 123,
241
- playlist_id: [1, 2, 3],
242
- import_all_assignments: true
243
- };
244
-
245
- addItemToPlaylist(payload)
246
- .then(response => {
247
- if (response?.success) {
248
- console.log("Item(s) added to playlist successfully");
249
- }
250
- if (response?.limit_excedeed) {
251
- console.warn("Some playlists exceeded the item limit:", response.limit_excedeed);
252
- }
253
- })
254
- .catch(error => {
255
- console.error("Error adding item to playlist:", error);
256
- });</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"><a href="global.html#AddItemToPlaylistDTO">AddItemToPlaylistDTO</a></span>
293
-
294
-
295
-
296
-
297
- </td>
298
-
299
-
300
-
301
-
302
-
303
- <td class="description last">The request payload containing necessary parameters.</td>
304
- </tr>
305
-
306
-
307
- </tbody>
308
- </table>
309
-
310
-
311
-
312
-
313
-
314
-
315
-
316
-
317
-
318
-
319
-
320
-
321
-
322
-
323
- <h5 class="h5-throws">Throws:</h5>
324
-
325
-
326
-
327
- <dl>
328
- <dt>
329
- <div class="param-desc usertext">
330
- - Throws an error if the request encounters issues during the operation.
331
- </div>
332
- </dt>
333
- <dd></dd>
334
- <dt>
335
- <dl class="param-type">
336
- <dt>
337
- Type
338
- </dt>
339
- <dd>
340
-
341
- <span class="param-type">Error</span>
342
-
343
-
344
-
345
- </dd>
346
- </dl>
347
- </dt>
348
- <dd></dd>
349
- </dl>
350
-
351
-
352
-
353
-
354
-
355
- <h5 class="h5-returns">Returns:</h5>
356
-
357
-
358
- <div class="param-desc">
359
- - A promise that resolves to an object with the response data, including:
360
- - `success` (boolean): Indicates if the items were added successfully (`true` on success).
361
- - `limit_excedeed` (Array): A list of playlists where the item limit was exceeded, if any.
362
- - `successful` (Array): A list of successfully added items (empty if none).
363
-
364
- Resolves to `null` if the request fails.
365
- </div>
366
-
367
-
368
-
369
- <dl class="param-type">
370
- <dt>
371
- Type
372
- </dt>
373
- <dd>
374
-
375
- <span class="param-type">Promise.&lt;(Object|null)></span>
376
-
377
-
378
-
379
- </dd>
380
- </dl>
381
-
382
-
383
-
384
-
385
-
386
-
387
-
388
-
389
-
390
-
391
- <h4 class="name" id=".createPlaylist"><span class="type-signature type-signature-static">(static) </span>createPlaylist<span class="signature">(playlistData)</span><span class="type-signature"> &rarr; {Promise.&lt;<a href="global.html#Playlist">Playlist</a>>}</span></h4>
392
-
393
-
394
-
395
-
396
-
397
-
398
- <dl class="details">
399
-
400
- <dt class="tag-description">Description:</dt>
401
- <dd class="tag-description"><ul class="dummy"><li>Creates a new user playlist by sending a POST request with playlist data to the API.
402
-
403
- This function calls the `/playlists/playlist` endpoint, where the server validates the incoming data and associates
404
- the new playlist with the authenticated user. The `name` field is required, while other fields are optional.</li></ul></dd>
405
-
406
-
407
-
408
- <dt class="tag-source">Source:</dt>
409
- <dd class="tag-source"><ul class="dummy"><li>
410
- <a href="content-org_playlists.js.html">content-org/playlists.js</a>, <a href="content-org_playlists.js.html#line80">line 80</a>
411
- </li></ul></dd>
412
-
413
-
414
-
415
-
416
-
417
-
418
-
419
-
420
-
421
-
422
-
423
-
424
-
425
-
426
-
427
-
428
-
429
-
430
-
431
-
432
-
433
-
434
-
435
-
436
-
437
-
438
-
439
-
440
-
441
-
442
-
443
- </dl>
444
-
445
-
446
-
447
-
448
-
449
-
450
-
451
-
452
-
453
-
454
-
455
- <h5 class="h5-examples">Example</h5>
456
-
457
- <pre class="prettyprint"><code>createPlaylist({ name: "My Playlist", description: "A cool playlist", private: true })
458
- .then(response => console.log(response.message))
459
- .catch(error => console.error('Error creating playlist:', error));</code></pre>
460
-
461
-
462
-
463
-
464
- <h5 class="h5-parameters">Parameters:</h5>
465
-
466
-
467
- <table class="params">
468
- <thead>
469
- <tr>
470
-
471
- <th>Name</th>
472
-
473
-
474
- <th>Type</th>
475
-
476
-
477
-
478
-
479
-
480
- <th class="last">Description</th>
481
- </tr>
482
- </thead>
483
-
484
- <tbody>
485
-
486
-
487
- <tr>
488
-
489
- <td class="name"><code>playlistData</code></td>
490
-
491
-
492
- <td class="type">
493
-
494
-
495
- <span class="param-type"><a href="global.html#CreatePlaylistDTO">CreatePlaylistDTO</a></span>
496
-
497
-
498
-
499
-
500
- </td>
501
-
502
-
503
-
504
-
505
-
506
- <td class="description last">An object containing data to create the playlist. The fields include:
507
- - `name` (string): The name of the new playlist (required, max 255 characters).
508
- - `description` (string): A description of the playlist (optional, max 1000 characters).
509
- - `category` (string): The category of the playlist.
510
- - `thumbnail_url` (string): The URL of the playlist thumbnail (optional, must be a valid URL).
511
- - `private` (boolean): Whether the playlist is private (optional, defaults to true).
512
- - `brand` (string): Brand identifier for the playlist.</td>
513
- </tr>
514
-
515
-
516
- </tbody>
517
- </table>
518
-
519
-
520
-
521
-
522
-
523
-
524
-
525
-
526
-
527
-
528
-
529
-
530
-
531
-
532
-
533
-
534
- <h5 class="h5-returns">Returns:</h5>
535
-
536
-
537
- <div class="param-desc">
538
- - A promise that resolves to the created playlist data if successful, or an error response if validation fails.
539
-
540
- The server response includes:
541
- - `message`: Success message indicating playlist creation (e.g., "Playlist created successfully").
542
- - `playlist`: The data for the created playlist, including the `user_id` of the authenticated user.
543
- </div>
544
-
545
-
546
-
547
- <dl class="param-type">
548
- <dt>
549
- Type
550
- </dt>
551
- <dd>
552
-
553
- <span class="param-type">Promise.&lt;<a href="global.html#Playlist">Playlist</a>></span>
554
-
555
-
556
-
557
- </dd>
558
- </dl>
559
-
560
-
561
-
562
-
563
-
564
-
565
-
566
-
567
-
568
-
569
- <h4 class="name" id=".fetchUserPlaylists"><span class="type-signature type-signature-static">(static) </span>fetchUserPlaylists<span class="signature">(brand)</span><span class="type-signature"> &rarr; {Promise.&lt;(Object|null)>}</span></h4>
570
-
571
-
572
-
573
-
574
-
575
-
576
- <dl class="details">
577
-
578
- <dt class="tag-description">Description:</dt>
579
- <dd class="tag-description"><ul class="dummy"><li>Fetches user playlists for a specific brand.
580
-
581
- Allows optional pagination, sorting, and search parameters to control the result set.</li></ul></dd>
582
-
583
-
584
-
585
- <dt class="tag-source">Source:</dt>
586
- <dd class="tag-source"><ul class="dummy"><li>
587
- <a href="content-org_playlists.js.html">content-org/playlists.js</a>, <a href="content-org_playlists.js.html#line39">line 39</a>
588
- </li></ul></dd>
589
-
590
-
591
-
592
-
593
-
594
-
595
-
596
-
597
-
598
-
599
-
600
-
601
-
602
-
603
-
604
-
605
-
606
-
607
-
608
-
609
-
610
-
611
-
612
-
613
-
614
-
615
-
616
-
617
-
618
-
619
-
620
- </dl>
621
-
622
-
623
-
624
-
625
-
626
-
627
-
628
-
629
-
630
-
631
-
632
- <h5 class="h5-examples">Example</h5>
633
-
634
- <pre class="prettyprint"><code>fetchUserPlaylists('drumeo', { page: 1, sort: 'name', searchTerm: 'rock' })
635
- .then(playlists => console.log(playlists))
636
- .catch(error => console.error(error));</code></pre>
637
-
638
-
639
-
640
-
641
- <h5 class="h5-parameters">Parameters:</h5>
642
-
643
-
644
- <table class="params">
645
- <thead>
646
- <tr>
647
-
648
- <th>Name</th>
649
-
650
-
651
- <th>Type</th>
652
-
653
-
654
- <th>Attributes</th>
655
-
656
-
657
-
658
- <th>Default</th>
659
-
660
-
661
- <th class="last">Description</th>
662
- </tr>
663
- </thead>
664
-
665
- <tbody>
666
-
667
-
668
- <tr>
669
-
670
- <td class="name"><code>brand</code></td>
671
-
672
-
673
- <td class="type">
674
-
675
-
676
- <span class="param-type">string</span>
677
-
678
-
679
-
680
-
681
- </td>
682
-
683
-
684
- <td class="attributes">
685
-
686
-
687
-
688
-
689
-
690
- </td>
691
-
692
-
693
-
694
- <td class="default">
695
-
696
- </td>
697
-
698
-
699
- <td class="description last">The brand identifier for which playlists are being fetched.</td>
700
- </tr>
701
-
702
-
703
-
704
- <tr>
705
-
706
- <td class="name"><code>params.limit</code></td>
707
-
708
-
709
- <td class="type">
710
-
711
-
712
- <span class="param-type">number</span>
713
-
714
-
715
-
716
-
717
- </td>
718
-
719
-
720
- <td class="attributes">
721
-
722
- &lt;optional><br>
723
-
724
-
725
-
726
-
727
-
728
- </td>
729
-
730
-
731
-
732
- <td class="default">
733
-
734
- <code>10</code>
735
-
736
- </td>
737
-
738
-
739
- <td class="description last">The maximum number of playlists to return per page (default is 10).</td>
740
- </tr>
741
-
742
-
743
-
744
- <tr>
745
-
746
- <td class="name"><code>params.page</code></td>
747
-
748
-
749
- <td class="type">
750
-
751
-
752
- <span class="param-type">number</span>
753
-
754
-
755
-
756
-
757
- </td>
758
-
759
-
760
- <td class="attributes">
761
-
762
- &lt;optional><br>
763
-
764
-
765
-
766
-
767
-
768
- </td>
769
-
770
-
771
-
772
- <td class="default">
773
-
774
- <code>1</code>
775
-
776
- </td>
777
-
778
-
779
- <td class="description last">The page number for pagination.</td>
780
- </tr>
781
-
782
-
783
-
784
- <tr>
785
-
786
- <td class="name"><code>params.sort</code></td>
787
-
788
-
789
- <td class="type">
790
-
791
-
792
- <span class="param-type">string</span>
793
-
794
-
795
-
796
-
797
- </td>
798
-
799
-
800
- <td class="attributes">
801
-
802
- &lt;optional><br>
803
-
804
-
805
-
806
-
807
-
808
- </td>
809
-
810
-
811
-
812
- <td class="default">
813
-
814
- <code>'-created_at'</code>
815
-
816
- </td>
817
-
818
-
819
- <td class="description last">The sorting order for the playlists (default is by created_at in descending order).</td>
820
- </tr>
821
-
822
-
823
-
824
- <tr>
825
-
826
- <td class="name"><code>params.searchTerm</code></td>
827
-
828
-
829
- <td class="type">
830
-
831
-
832
- <span class="param-type">string</span>
833
-
834
-
835
-
836
-
837
- </td>
838
-
839
-
840
- <td class="attributes">
841
-
842
- &lt;optional><br>
843
-
844
-
845
-
846
-
847
-
848
- </td>
849
-
850
-
851
-
852
- <td class="default">
853
-
854
- </td>
855
-
856
-
857
- <td class="description last">A search term to filter playlists by name.</td>
858
- </tr>
859
-
860
-
861
-
862
- <tr>
863
-
864
- <td class="name"><code>params.content_id</code></td>
865
-
866
-
867
- <td class="type">
868
-
869
-
870
- <span class="param-type">int</span>
871
- |
872
-
873
- <span class="param-type">string</span>
874
-
875
-
876
-
877
-
878
- </td>
879
-
880
-
881
- <td class="attributes">
882
-
883
- &lt;optional><br>
884
-
885
-
886
-
887
-
888
-
889
- </td>
890
-
891
-
892
-
893
- <td class="default">
894
-
895
- </td>
896
-
897
-
898
- <td class="description last">If content_id exists, the endpoint checks in each playlist if we have the content in the items.</td>
899
- </tr>
900
-
901
-
902
- </tbody>
903
- </table>
904
-
905
-
906
-
907
-
908
-
909
-
910
-
911
-
912
-
913
-
914
-
915
-
916
-
917
-
918
-
919
-
920
- <h5 class="h5-returns">Returns:</h5>
921
-
922
-
923
- <div class="param-desc">
924
- - A promise that resolves to the response from the API, containing the user playlists data.
925
- </div>
926
-
927
-
928
-
929
- <dl class="param-type">
930
- <dt>
931
- Type
932
- </dt>
933
- <dd>
934
-
935
- <span class="param-type">Promise.&lt;(Object|null)></span>
936
-
937
-
938
-
939
- </dd>
940
- </dl>
941
-
942
-
943
-
944
-
945
-
946
-
947
-
948
-
949
-
950
-
951
-
952
- </article>
953
-
954
- </section>
955
-
956
-
957
-
958
-
959
-
960
-
961
- </div>
962
-
963
- <br class="clear">
964
-
965
- <footer>
966
- Documentation generated by <a href="https://github.com/jsdoc3/jsdoc">JSDoc 4.0.3</a> on Thu Mar 20 2025 21:59:08 GMT+0000 (Coordinated Universal Time) using the <a href="https://github.com/clenemt/docdash">docdash</a> theme.
967
- </footer>
968
-
969
- <script>prettyPrint();</script>
970
- <script src="scripts/polyfill.js"></script>
971
- <script src="scripts/linenumber.js"></script>
972
-
973
-
974
-
975
- </body>
976
- </html>