musora-content-services 2.19.0 → 2.19.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (166) hide show
  1. package/.coderabbit.yaml +0 -0
  2. package/.editorconfig +0 -0
  3. package/.github/pull_request_template.md +0 -0
  4. package/.github/workflows/conventional-commits.yaml +0 -0
  5. package/.github/workflows/docs.js.yml +0 -0
  6. package/.github/workflows/node.js.yml +0 -0
  7. package/.prettierignore +0 -0
  8. package/.prettierrc +0 -0
  9. package/CHANGELOG.md +10 -0
  10. package/README.md +0 -0
  11. package/babel.config.cjs +0 -0
  12. package/docs/Content-Organization.html +0 -0
  13. package/docs/ContentOrganization.html +0 -0
  14. package/docs/Gamification.html +0 -0
  15. package/docs/UserManagement.html +0 -0
  16. package/docs/UserManagementSystem.html +0 -0
  17. package/docs/api_types.js.html +0 -0
  18. package/docs/config.js.html +0 -0
  19. package/docs/content-org_content-org.js.html +0 -0
  20. package/docs/content-org_playlists-types.js.html +0 -0
  21. package/docs/content-org_playlists.js.html +0 -0
  22. package/docs/content.js.html +0 -0
  23. package/docs/fonts/Montserrat/Montserrat-Bold.eot +0 -0
  24. package/docs/fonts/Montserrat/Montserrat-Bold.ttf +0 -0
  25. package/docs/fonts/Montserrat/Montserrat-Bold.woff +0 -0
  26. package/docs/fonts/Montserrat/Montserrat-Bold.woff2 +0 -0
  27. package/docs/fonts/Montserrat/Montserrat-Regular.eot +0 -0
  28. package/docs/fonts/Montserrat/Montserrat-Regular.ttf +0 -0
  29. package/docs/fonts/Montserrat/Montserrat-Regular.woff +0 -0
  30. package/docs/fonts/Montserrat/Montserrat-Regular.woff2 +0 -0
  31. package/docs/fonts/Source-Sans-Pro/sourcesanspro-light-webfont.eot +0 -0
  32. package/docs/fonts/Source-Sans-Pro/sourcesanspro-light-webfont.svg +0 -0
  33. package/docs/fonts/Source-Sans-Pro/sourcesanspro-light-webfont.ttf +0 -0
  34. package/docs/fonts/Source-Sans-Pro/sourcesanspro-light-webfont.woff +0 -0
  35. package/docs/fonts/Source-Sans-Pro/sourcesanspro-light-webfont.woff2 +0 -0
  36. package/docs/fonts/Source-Sans-Pro/sourcesanspro-regular-webfont.eot +0 -0
  37. package/docs/fonts/Source-Sans-Pro/sourcesanspro-regular-webfont.svg +0 -0
  38. package/docs/fonts/Source-Sans-Pro/sourcesanspro-regular-webfont.ttf +0 -0
  39. package/docs/fonts/Source-Sans-Pro/sourcesanspro-regular-webfont.woff +0 -0
  40. package/docs/fonts/Source-Sans-Pro/sourcesanspro-regular-webfont.woff2 +0 -0
  41. package/docs/gamification_awards.js.html +0 -0
  42. package/docs/gamification_gamification.js.html +0 -0
  43. package/docs/gamification_types.js.html +0 -0
  44. package/docs/global.html +0 -0
  45. package/docs/global.html#User +0 -0
  46. package/docs/index.html +0 -0
  47. package/docs/module-Awards.html +0 -0
  48. package/docs/module-Config.html +0 -0
  49. package/docs/module-Content-Services-V2.html +0 -0
  50. package/docs/module-Interests.html +0 -0
  51. package/docs/module-Notifications.html +0 -0
  52. package/docs/module-Permissions.html +0 -0
  53. package/docs/module-Playlists.html +0 -0
  54. package/docs/module-Railcontent-Services.html +0 -0
  55. package/docs/module-Sanity-Services.html +0 -0
  56. package/docs/module-Session-Management.html +0 -0
  57. package/docs/module-Sessions.html +0 -0
  58. package/docs/module-User-Activity.html +0 -0
  59. package/docs/module-User-Management.html +0 -0
  60. package/docs/module-User-Permissions.html +0 -0
  61. package/docs/module-UserActivity.html +0 -0
  62. package/docs/module-UserChat.html +0 -0
  63. package/docs/module-UserManagement.html +0 -0
  64. package/docs/module-UserNotifications.html +0 -0
  65. package/docs/module-UserProfile.html +0 -0
  66. package/docs/railcontent.js.html +0 -0
  67. package/docs/sanity.js.html +0 -0
  68. package/docs/scripts/collapse.js +0 -0
  69. package/docs/scripts/commonNav.js +0 -0
  70. package/docs/scripts/linenumber.js +0 -0
  71. package/docs/scripts/nav.js +0 -0
  72. package/docs/scripts/polyfill.js +0 -0
  73. package/docs/scripts/prettify/Apache-License-2.0.txt +0 -0
  74. package/docs/scripts/prettify/lang-css.js +0 -0
  75. package/docs/scripts/prettify/prettify.js +0 -0
  76. package/docs/scripts/search.js +0 -0
  77. package/docs/styles/jsdoc.css +0 -0
  78. package/docs/styles/prettify.css +0 -0
  79. package/docs/types.js.html +0 -0
  80. package/docs/userActivity.js.html +0 -0
  81. package/docs/user_chat.js.html +0 -0
  82. package/docs/user_interests.js.html +0 -0
  83. package/docs/user_management.js.html +0 -0
  84. package/docs/user_notifications.js.html +0 -0
  85. package/docs/user_permissions.js.html +0 -0
  86. package/docs/user_profile.js.html +0 -0
  87. package/docs/user_sessions.js.html +0 -0
  88. package/docs/user_types.js.html +0 -0
  89. package/docs/user_user-management-system.js.html +0 -0
  90. package/docs/user_user-management.js.html +0 -0
  91. package/jest.config.js +0 -0
  92. package/jsdoc.json +0 -0
  93. package/link_mcs.sh +0 -0
  94. package/package.json +1 -1
  95. package/src/contentMetaData.js +0 -0
  96. package/src/contentTypeConfig.js +1 -2
  97. package/src/filterBuilder.js +0 -0
  98. package/src/index.d.ts +13 -0
  99. package/src/index.js +13 -0
  100. package/src/infrastructure/http/HttpClient.ts +0 -0
  101. package/src/infrastructure/http/executors/FetchRequestExecutor.ts +0 -0
  102. package/src/infrastructure/http/index.ts +0 -0
  103. package/src/infrastructure/http/interfaces/HeaderProvider.ts +0 -0
  104. package/src/infrastructure/http/interfaces/HttpError.ts +0 -0
  105. package/src/infrastructure/http/interfaces/NetworkError.ts +0 -0
  106. package/src/infrastructure/http/interfaces/RequestExecutor.ts +0 -0
  107. package/src/infrastructure/http/interfaces/RequestOptions.ts +0 -0
  108. package/src/infrastructure/http/providers/DefaultHeaderProvider.ts +0 -0
  109. package/src/lib/httpHelper.js +0 -0
  110. package/src/lib/lastUpdated.js +0 -0
  111. package/src/services/api/types.js +0 -0
  112. package/src/services/config.js +0 -0
  113. package/src/services/content-org/content-org.js +0 -0
  114. package/src/services/content-org/guided-courses.ts +0 -0
  115. package/src/services/content-org/playlists-types.js +0 -0
  116. package/src/services/content-org/playlists.js +0 -0
  117. package/src/services/content.js +0 -0
  118. package/src/services/contentAggregator.js +0 -0
  119. package/src/services/contentLikes.js +0 -0
  120. package/src/services/contentProgress.js +0 -0
  121. package/src/services/dataContext.js +0 -0
  122. package/src/services/dateUtils.js +0 -0
  123. package/src/services/forum.js +0 -0
  124. package/src/services/gamification/awards.js +0 -0
  125. package/src/services/gamification/gamification.js +0 -0
  126. package/src/services/gamification/types.js +0 -0
  127. package/src/services/imageSRCBuilder.js +0 -0
  128. package/src/services/imageSRCVerify.js +0 -0
  129. package/src/services/railcontent.js +0 -0
  130. package/src/services/recommendations.js +0 -0
  131. package/src/services/types.js +0 -0
  132. package/src/services/user/account.ts +66 -0
  133. package/src/services/user/chat.js +0 -0
  134. package/src/services/user/interests.js +0 -0
  135. package/src/services/user/management.js +0 -0
  136. package/src/services/user/permissions.js +0 -0
  137. package/src/services/user/profile.js +0 -0
  138. package/src/services/user/types.js +0 -0
  139. package/src/services/user/user-management-system.js +0 -0
  140. package/src/services/userActivity.js +1 -1
  141. package/test/HttpClient.test.js +0 -0
  142. package/test/content.test.js +0 -0
  143. package/test/contentLikes.test.js +0 -0
  144. package/test/contentProgress.test.js +0 -0
  145. package/test/dataContext.test.js +0 -0
  146. package/test/forum.test.js +0 -0
  147. package/test/imageSRCBuilder.test.js +0 -0
  148. package/test/imageSRCVerify.test.js +0 -0
  149. package/test/initializeTests.js +0 -0
  150. package/test/lib/lastUpdated.test.js +0 -0
  151. package/test/live/contentProgressLive.test.js +0 -0
  152. package/test/live/railcontentLive.test.js +0 -0
  153. package/test/localStorageMock.js +0 -0
  154. package/test/log.js +0 -0
  155. package/test/mockData/mockData_fetchByRailContentIds_one_content.json +0 -0
  156. package/test/mockData/mockData_progress_content.json +0 -0
  157. package/test/mockData/mockData_sanity_progress_content.json +0 -0
  158. package/test/mockData/mockData_user_practices.json +0 -0
  159. package/test/notifications.test.js +0 -0
  160. package/test/progressRows.test.js +0 -0
  161. package/test/sanityQueryService.test.js +0 -0
  162. package/test/streakMessage.test.js +0 -0
  163. package/test/user/permissions.test.js +0 -0
  164. package/test/userActivity.test.js +0 -0
  165. package/tools/generate-index.cjs +0 -0
  166. package/.yarnrc.yml +0 -1
package/.coderabbit.yaml CHANGED
File without changes
package/.editorconfig CHANGED
File without changes
File without changes
File without changes
File without changes
File without changes
package/.prettierignore CHANGED
File without changes
package/.prettierrc CHANGED
File without changes
package/CHANGELOG.md CHANGED
@@ -2,6 +2,16 @@
2
2
 
3
3
  All notable changes to this project will be documented in this file. See [standard-version](https://github.com/conventional-changelog/standard-version) for commit guidelines.
4
4
 
5
+ ### [2.19.2](https://github.com/railroadmedia/musora-content-services/compare/v2.19.1...v2.19.2) (2025-07-09)
6
+
7
+ ### [2.19.1](https://github.com/railroadmedia/musora-content-services/compare/v2.19.0...v2.19.1) (2025-07-09)
8
+
9
+
10
+ ### Bug Fixes
11
+
12
+ * **MU2-766:** Song Tutorials should not be showing in lesson collections ([8ce6bcd](https://github.com/railroadmedia/musora-content-services/commit/8ce6bcda634efffb15871e8a07d8cdc8ea8c665e))
13
+ * **sign-in:** add account status and setup email functions ([#331](https://github.com/railroadmedia/musora-content-services/issues/331)) ([fa94a22](https://github.com/railroadmedia/musora-content-services/commit/fa94a22f83f4c011ae152f6b5b5f00249c91c051))
14
+
5
15
  ## [2.19.0](https://github.com/railroadmedia/musora-content-services/compare/v2.18.0...v2.19.0) (2025-07-08)
6
16
 
7
17
 
package/README.md CHANGED
File without changes
package/babel.config.cjs CHANGED
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
package/docs/global.html CHANGED
File without changes
File without changes
package/docs/index.html CHANGED
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
package/jest.config.js CHANGED
File without changes
package/jsdoc.json CHANGED
File without changes
package/link_mcs.sh CHANGED
File without changes
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "musora-content-services",
3
- "version": "2.19.0",
3
+ "version": "2.19.2",
4
4
  "description": "A package for Musoras content services ",
5
5
  "main": "src/index.js",
6
6
  "type": "module",
File without changes
@@ -158,8 +158,7 @@ export const coursesLessonTypes = ['course', 'pack','spotlight', 'guided-course'
158
158
  export const showsLessonTypes = ['diy-drum-experiment','exploring-beats','in-rhythm', 'rhythmic-adventures-of-captain-carson','rhythms-from-another-planet','study-the-greats'];
159
159
  export const collectionLessonTypes = [
160
160
  ...coursesLessonTypes,
161
- ...showsLessonTypes,
162
- 'song-tutorial',
161
+ ...showsLessonTypes
163
162
  ];
164
163
 
165
164
  export const lessonTypesMapping = {
File without changes
package/src/index.d.ts CHANGED
@@ -225,6 +225,14 @@ import {
225
225
  jumpToContinueContent
226
226
  } from './services/sanity.js';
227
227
 
228
+ import {
229
+ resetPassword,
230
+ sendAccountSetupEmail,
231
+ sendPasswordResetEmail,
232
+ setupAccount,
233
+ status
234
+ } from './services/user/account.ts';
235
+
228
236
  import {
229
237
  fetchChatSettings
230
238
  } from './services/user/chat.js';
@@ -495,11 +503,16 @@ declare module 'musora-content-services' {
495
503
  reportComment,
496
504
  reportPlaylist,
497
505
  reset,
506
+ resetPassword,
498
507
  restoreComment,
499
508
  restoreItemFromPlaylist,
500
509
  restorePracticeSession,
501
510
  restoreUserPractice,
511
+ sendAccountSetupEmail,
512
+ sendPasswordResetEmail,
502
513
  setStudentViewForUser,
514
+ setupAccount,
515
+ status,
503
516
  togglePlaylistPrivate,
504
517
  unEnrollUserInGuidedCourse,
505
518
  unPinGuidedCourse,
package/src/index.js CHANGED
@@ -225,6 +225,14 @@ import {
225
225
  jumpToContinueContent
226
226
  } from './services/sanity.js';
227
227
 
228
+ import {
229
+ resetPassword,
230
+ sendAccountSetupEmail,
231
+ sendPasswordResetEmail,
232
+ setupAccount,
233
+ status
234
+ } from './services/user/account.ts';
235
+
228
236
  import {
229
237
  fetchChatSettings
230
238
  } from './services/user/chat.js';
@@ -494,11 +502,16 @@ export {
494
502
  reportComment,
495
503
  reportPlaylist,
496
504
  reset,
505
+ resetPassword,
497
506
  restoreComment,
498
507
  restoreItemFromPlaylist,
499
508
  restorePracticeSession,
500
509
  restoreUserPractice,
510
+ sendAccountSetupEmail,
511
+ sendPasswordResetEmail,
501
512
  setStudentViewForUser,
513
+ setupAccount,
514
+ status,
502
515
  togglePlaylistPrivate,
503
516
  unEnrollUserInGuidedCourse,
504
517
  unPinGuidedCourse,
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
@@ -0,0 +1,66 @@
1
+ /**
2
+ * @module Accounts
3
+ */
4
+ import { HttpClient } from '../../infrastructure/http/HttpClient'
5
+ import { HttpError } from '../../infrastructure/http/interfaces/HttpError'
6
+ import { globalConfig } from '../config.js'
7
+
8
+ export interface PasswordResetProps {
9
+ email: string
10
+ password: string
11
+ passwordConfirmation: string
12
+ token: string
13
+ }
14
+
15
+ export async function status(email: string): Promise<{ requires_setup: boolean } | HttpError> {
16
+ const httpClient = new HttpClient(globalConfig.baseUrl)
17
+ const response = await httpClient.get<{ requires_setup: boolean }>(
18
+ `/api/user-management-system/v1/accounts/${encodeURIComponent(email)}/status`
19
+ )
20
+ return response
21
+ }
22
+
23
+ export async function sendAccountSetupEmail(email: string): Promise<void | HttpError> {
24
+ const httpClient = new HttpClient(globalConfig.baseUrl)
25
+ return httpClient.post<void>(
26
+ `/api/user-management-system/v1/accounts/${encodeURIComponent(email)}/send-setup-email`,
27
+ {}
28
+ )
29
+ }
30
+
31
+ export async function setupAccount({
32
+ email,
33
+ password,
34
+ passwordConfirmation,
35
+ token,
36
+ }: PasswordResetProps): Promise<void | HttpError> {
37
+ const httpClient = new HttpClient(globalConfig.baseUrl)
38
+ return httpClient.post(`/api/user-management-system/v1/accounts`, {
39
+ email,
40
+ password,
41
+ password_confirmation: passwordConfirmation,
42
+ token,
43
+ })
44
+ }
45
+
46
+ export async function sendPasswordResetEmail(email: string): Promise<void | HttpError> {
47
+ const httpClient = new HttpClient(globalConfig.baseUrl)
48
+ return httpClient.post(`/api/user-management-system/v1/accounts/password/reset-email`, {
49
+ email,
50
+ })
51
+ }
52
+
53
+ export async function resetPassword({
54
+ email,
55
+ password,
56
+ passwordConfirmation,
57
+ token,
58
+ }: PasswordResetProps): Promise<void | HttpError> {
59
+ const httpClient = new HttpClient(globalConfig.baseUrl)
60
+ return httpClient.post(`/api/user-management-system/v1/accounts/password/reset`, {
61
+ email,
62
+ password,
63
+ password_confirmation: passwordConfirmation,
64
+ token,
65
+ })
66
+ }
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
@@ -1030,7 +1030,7 @@ async function processContentItem(item) {
1030
1030
  let ctaText = 'Continue';
1031
1031
  if (contentType === 'transcription' || contentType === 'play-along' || contentType === 'jam-track') ctaText = 'Replay Song';
1032
1032
  if (contentType === 'lesson') ctaText = status === 'completed' ? 'Revisit Lesson' : 'Continue';
1033
- if (collectionLessonTypes.includes(contentType) && status === 'completed') ctaText = 'Revisit Lessons' ;
1033
+ if ((contentType === 'song tutorial' || collectionLessonTypes.includes(contentType)) && status === 'completed') ctaText = 'Revisit Lessons' ;
1034
1034
  if (contentType === 'pack' && status === 'completed') {
1035
1035
  ctaText = 'View Lessons';
1036
1036
  }
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
package/test/log.js CHANGED
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
package/.yarnrc.yml DELETED
@@ -1 +0,0 @@
1
- nodeLinker: node-modules