musora-content-services 2.27.4 → 2.27.5

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 (168) 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/.yarnrc.yml +1 -0
  10. package/CHANGELOG.md +11 -0
  11. package/README.md +0 -0
  12. package/babel.config.cjs +0 -0
  13. package/docs/Content-Organization.html +0 -0
  14. package/docs/ContentOrganization.html +0 -0
  15. package/docs/Gamification.html +0 -0
  16. package/docs/UserManagement.html +0 -0
  17. package/docs/UserManagementSystem.html +0 -0
  18. package/docs/api_types.js.html +0 -0
  19. package/docs/config.js.html +0 -0
  20. package/docs/content-org_content-org.js.html +0 -0
  21. package/docs/content-org_playlists-types.js.html +0 -0
  22. package/docs/content-org_playlists.js.html +0 -0
  23. package/docs/content.js.html +0 -0
  24. package/docs/fonts/Montserrat/Montserrat-Bold.eot +0 -0
  25. package/docs/fonts/Montserrat/Montserrat-Bold.ttf +0 -0
  26. package/docs/fonts/Montserrat/Montserrat-Bold.woff +0 -0
  27. package/docs/fonts/Montserrat/Montserrat-Bold.woff2 +0 -0
  28. package/docs/fonts/Montserrat/Montserrat-Regular.eot +0 -0
  29. package/docs/fonts/Montserrat/Montserrat-Regular.ttf +0 -0
  30. package/docs/fonts/Montserrat/Montserrat-Regular.woff +0 -0
  31. package/docs/fonts/Montserrat/Montserrat-Regular.woff2 +0 -0
  32. package/docs/fonts/Source-Sans-Pro/sourcesanspro-light-webfont.eot +0 -0
  33. package/docs/fonts/Source-Sans-Pro/sourcesanspro-light-webfont.svg +0 -0
  34. package/docs/fonts/Source-Sans-Pro/sourcesanspro-light-webfont.ttf +0 -0
  35. package/docs/fonts/Source-Sans-Pro/sourcesanspro-light-webfont.woff +0 -0
  36. package/docs/fonts/Source-Sans-Pro/sourcesanspro-light-webfont.woff2 +0 -0
  37. package/docs/fonts/Source-Sans-Pro/sourcesanspro-regular-webfont.eot +0 -0
  38. package/docs/fonts/Source-Sans-Pro/sourcesanspro-regular-webfont.svg +0 -0
  39. package/docs/fonts/Source-Sans-Pro/sourcesanspro-regular-webfont.ttf +0 -0
  40. package/docs/fonts/Source-Sans-Pro/sourcesanspro-regular-webfont.woff +0 -0
  41. package/docs/fonts/Source-Sans-Pro/sourcesanspro-regular-webfont.woff2 +0 -0
  42. package/docs/gamification_awards.js.html +0 -0
  43. package/docs/gamification_gamification.js.html +0 -0
  44. package/docs/gamification_types.js.html +0 -0
  45. package/docs/global.html +0 -0
  46. package/docs/global.html#User +0 -0
  47. package/docs/index.html +0 -0
  48. package/docs/module-Awards.html +0 -0
  49. package/docs/module-Config.html +0 -0
  50. package/docs/module-Content-Services-V2.html +0 -0
  51. package/docs/module-Interests.html +0 -0
  52. package/docs/module-Notifications.html +0 -0
  53. package/docs/module-Permissions.html +0 -0
  54. package/docs/module-Playlists.html +0 -0
  55. package/docs/module-Railcontent-Services.html +0 -0
  56. package/docs/module-Sanity-Services.html +0 -0
  57. package/docs/module-Session-Management.html +0 -0
  58. package/docs/module-Sessions.html +0 -0
  59. package/docs/module-User-Activity.html +0 -0
  60. package/docs/module-User-Management.html +0 -0
  61. package/docs/module-User-Permissions.html +0 -0
  62. package/docs/module-UserActivity.html +0 -0
  63. package/docs/module-UserChat.html +0 -0
  64. package/docs/module-UserManagement.html +0 -0
  65. package/docs/module-UserNotifications.html +0 -0
  66. package/docs/module-UserProfile.html +0 -0
  67. package/docs/railcontent.js.html +0 -0
  68. package/docs/sanity.js.html +0 -0
  69. package/docs/scripts/collapse.js +0 -0
  70. package/docs/scripts/commonNav.js +0 -0
  71. package/docs/scripts/linenumber.js +0 -0
  72. package/docs/scripts/nav.js +0 -0
  73. package/docs/scripts/polyfill.js +0 -0
  74. package/docs/scripts/prettify/Apache-License-2.0.txt +0 -0
  75. package/docs/scripts/prettify/lang-css.js +0 -0
  76. package/docs/scripts/prettify/prettify.js +0 -0
  77. package/docs/scripts/search.js +0 -0
  78. package/docs/styles/jsdoc.css +0 -0
  79. package/docs/styles/prettify.css +0 -0
  80. package/docs/types.js.html +0 -0
  81. package/docs/userActivity.js.html +0 -0
  82. package/docs/user_chat.js.html +0 -0
  83. package/docs/user_interests.js.html +0 -0
  84. package/docs/user_management.js.html +0 -0
  85. package/docs/user_notifications.js.html +0 -0
  86. package/docs/user_permissions.js.html +0 -0
  87. package/docs/user_profile.js.html +0 -0
  88. package/docs/user_sessions.js.html +0 -0
  89. package/docs/user_types.js.html +0 -0
  90. package/docs/user_user-management-system.js.html +0 -0
  91. package/docs/user_user-management.js.html +0 -0
  92. package/jest.config.js +0 -0
  93. package/jsdoc.json +0 -0
  94. package/package.json +1 -1
  95. package/src/contentMetaData.js +0 -0
  96. package/src/contentTypeConfig.js +2 -1
  97. package/src/filterBuilder.js +0 -0
  98. package/src/index.d.ts +0 -0
  99. package/src/index.js +0 -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/sanity.js +1 -1
  132. package/src/services/types.js +0 -0
  133. package/src/services/user/account.ts +0 -0
  134. package/src/services/user/chat.js +0 -0
  135. package/src/services/user/interests.js +0 -0
  136. package/src/services/user/management.js +0 -0
  137. package/src/services/user/notifications.js +0 -0
  138. package/src/services/user/permissions.js +0 -0
  139. package/src/services/user/profile.js +0 -0
  140. package/src/services/user/sessions.js +0 -0
  141. package/src/services/user/types.js +0 -0
  142. package/src/services/user/user-management-system.js +0 -0
  143. package/src/services/userActivity.js +13 -5
  144. package/test/HttpClient.test.js +0 -0
  145. package/test/content.test.js +0 -0
  146. package/test/contentLikes.test.js +0 -0
  147. package/test/contentProgress.test.js +0 -0
  148. package/test/dataContext.test.js +0 -0
  149. package/test/forum.test.js +0 -0
  150. package/test/imageSRCBuilder.test.js +0 -0
  151. package/test/imageSRCVerify.test.js +0 -0
  152. package/test/initializeTests.js +0 -0
  153. package/test/lib/lastUpdated.test.js +0 -0
  154. package/test/live/contentProgressLive.test.js +0 -0
  155. package/test/live/railcontentLive.test.js +0 -0
  156. package/test/localStorageMock.js +0 -0
  157. package/test/log.js +0 -0
  158. package/test/mockData/mockData_fetchByRailContentIds_one_content.json +0 -0
  159. package/test/mockData/mockData_progress_content.json +0 -0
  160. package/test/mockData/mockData_sanity_progress_content.json +0 -0
  161. package/test/mockData/mockData_user_practices.json +0 -0
  162. package/test/notifications.test.js +0 -0
  163. package/test/progressRows.test.js +0 -0
  164. package/test/sanityQueryService.test.js +0 -0
  165. package/test/streakMessage.test.js +0 -0
  166. package/test/user/permissions.test.js +0 -0
  167. package/test/userActivity.test.js +0 -0
  168. package/tools/generate-index.cjs +0 -0
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/.yarnrc.yml ADDED
@@ -0,0 +1 @@
1
+ nodeLinker: node-modules
package/CHANGELOG.md CHANGED
@@ -2,6 +2,17 @@
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.27.5](https://github.com/railroadmedia/musora-content-services/compare/v2.27.3...v2.27.5) (2025-07-23)
6
+
7
+
8
+ ### Bug Fixes
9
+
10
+ * MU2-848 New releases should only show published releases, not scheduled conte… ([34f081e](https://github.com/railroadmedia/musora-content-services/commit/34f081e56be1a7a562004d76fd9ca3ae1955e726))
11
+ * MU2-848 New releases should only show published releases, not scheduled conte… ([637bad5](https://github.com/railroadmedia/musora-content-services/commit/637bad53c5e5c57f24b785ea0e7d35aa56fe0eb5))
12
+ * T3PS-272 Update course part meta ([4249b35](https://github.com/railroadmedia/musora-content-services/commit/4249b352c4abb9798a3232aa5fd3d25dc89461fd))
13
+ * **T3PS-306:** add custom method to delete profile picture ([#369](https://github.com/railroadmedia/musora-content-services/issues/369)) ([61634db](https://github.com/railroadmedia/musora-content-services/commit/61634db6923f9ca4fdde9a5c20f18e8b61dd78ec))
14
+ * T3PS-501: Homepage progress rows - content types ([954df2f](https://github.com/railroadmedia/musora-content-services/commit/954df2f92099c58e2b9c545d7c8515aa53eda0a8))
15
+
5
16
  ### [2.27.4](https://github.com/railroadmedia/musora-content-services/compare/v2.27.3...v2.27.4) (2025-07-23)
6
17
 
7
18
 
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/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "musora-content-services",
3
- "version": "2.27.4",
3
+ "version": "2.27.5",
4
4
  "description": "A package for Musoras content services ",
5
5
  "main": "src/index.js",
6
6
  "type": "module",
File without changes
@@ -182,7 +182,7 @@ export const lessonTypesMapping = {
182
182
  export const getNextLessonLessonParentTypes = ['course', 'guided-course', 'pack', 'pack-bundle', 'song-tutorial'];
183
183
 
184
184
  export const progressTypesMapping = {
185
- 'lesson': [...singleLessonTypes,...practiceAlongsLessonTypes, ...liveArchivesLessonTypes, ...performancesLessonTypes, ...studentArchivesLessonTypes, ...documentariesLessonTypes, 'live', 'pack-bundle-lesson', 'course-part'],
185
+ 'lesson': [...singleLessonTypes,...practiceAlongsLessonTypes, ...liveArchivesLessonTypes, ...performancesLessonTypes, ...studentArchivesLessonTypes, ...documentariesLessonTypes, 'live', 'pack-bundle-lesson'],
186
186
  'course': ['course'],
187
187
  'show': showsLessonTypes,
188
188
  'song tutorial': [...tutorialsLessonTypes, 'song-tutorial-children'],
@@ -192,6 +192,7 @@ export const progressTypesMapping = {
192
192
  'pack': ['pack', 'semester-pack'],
193
193
  'method': ['learning-path'],
194
194
  'jam track': ['jam-track'],
195
+ 'course video': ['course-part'],
195
196
  };
196
197
 
197
198
  export const songs = {
File without changes
package/src/index.d.ts CHANGED
File without changes
package/src/index.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
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
@@ -351,7 +351,7 @@ export async function fetchNewReleases(
351
351
  const end = start + limit
352
352
  const sortOrder = getSortOrder(sort, brand)
353
353
  const nextQuarter = getNextAndPreviousQuarterDates()['next']
354
- const filter = `_type in ${typesString} && brand == '${brand}' && show_in_new_feed == true && (!defined(quarter_published) || quarter_published != '${nextQuarter}')`
354
+ const filter = `_type in ${typesString} && brand == '${brand}' && status == 'published' && show_in_new_feed == true && (!defined(quarter_published) || quarter_published != '${nextQuarter}')`
355
355
  const fields = `
356
356
  "id": railcontent_id,
357
357
  title,
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
@@ -18,7 +18,7 @@ import {fetchPlaylist, fetchUserPlaylists} from "./content-org/playlists"
18
18
  import {pinnedGuidedCourses} from "./content-org/guided-courses"
19
19
  import {convertToTimeZone, getMonday, getWeekNumber, isSameDate, isNextDay, getTimeRemainingUntilLocal, toDayjs} from './dateUtils.js'
20
20
  import { globalConfig } from './config'
21
- import {collectionLessonTypes, lessonTypesMapping, progressTypesMapping, showsLessonTypes, songs} from "../contentTypeConfig";
21
+ import {collectionLessonTypes, lessonTypesMapping, progressTypesMapping, recentTypes, showsLessonTypes, songs} from "../contentTypeConfig";
22
22
  import {
23
23
  getAllStartedOrCompleted,
24
24
  getProgressPercentageByIds,
@@ -355,9 +355,14 @@ export async function removeUserPractice(id) {
355
355
  async function (localContext) {
356
356
  if (localContext.data?.[DATA_KEY_PRACTICES]) {
357
357
  Object.keys(localContext.data[DATA_KEY_PRACTICES]).forEach((date) => {
358
- localContext.data[DATA_KEY_PRACTICES][date] = localContext.data[DATA_KEY_PRACTICES][
359
- date
360
- ].filter((practice) => practice.id !== id)
358
+ const filtered = localContext.data[DATA_KEY_PRACTICES][date].filter(
359
+ (practice) => practice.id !== id
360
+ )
361
+ if (filtered.length > 0) {
362
+ localContext.data[DATA_KEY_PRACTICES][date] = filtered
363
+ } else {
364
+ delete localContext.data[DATA_KEY_PRACTICES][date]
365
+ }
361
366
  })
362
367
  }
363
368
  },
@@ -963,11 +968,14 @@ export async function getProgressRows({ brand = null, limit = 8 } = {}) {
963
968
  }
964
969
  });
965
970
 
971
+ const allRecentTypeSet = new Set(
972
+ Object.values(recentTypes).flat()
973
+ )
966
974
  const progressMap = new Map();
967
975
  for (const [idStr, progress] of Object.entries(progressContents)) {
968
976
  const id = parseInt(idStr);
969
977
  const content = contentsMap[id];
970
- if (!content || excludedTypes.has(content.type)) continue;
978
+ if (!content || excludedTypes.has(content.type) || !allRecentTypeSet.has(content.type) ) continue;
971
979
  const parentId = childToParentMap[id];
972
980
  // Handle children with parents
973
981
  if (parentId) {
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