musora-content-services 2.21.3 → 2.22.0

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/CHANGELOG.md +14 -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 +6 -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 +1 -1
  118. package/src/services/contentAggregator.js +89 -27
  119. package/src/services/contentLikes.js +0 -0
  120. package/src/services/contentProgress.js +10 -3
  121. package/src/services/dataContext.js +0 -0
  122. package/src/services/dateUtils.js +0 -0
  123. package/src/services/forum.js +38 -16
  124. package/src/services/gamification/awards.js +1 -519
  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/railcontent.js +0 -0
  129. package/src/services/recommendations.js +0 -0
  130. package/src/services/sanity.js +3 -3
  131. package/src/services/types.js +0 -0
  132. package/src/services/user/account.ts +0 -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/notifications.js +0 -0
  137. package/src/services/user/permissions.js +0 -0
  138. package/src/services/user/profile.js +0 -0
  139. package/src/services/user/sessions.js +0 -0
  140. package/src/services/user/types.js +0 -0
  141. package/src/services/user/user-management-system.js +0 -0
  142. package/src/services/userActivity.js +11 -9
  143. package/test/HttpClient.test.js +0 -0
  144. package/test/content.test.js +0 -0
  145. package/test/contentLikes.test.js +0 -0
  146. package/test/contentProgress.test.js +0 -0
  147. package/test/dataContext.test.js +0 -0
  148. package/test/forum.test.js +0 -0
  149. package/test/imageSRCBuilder.test.js +0 -0
  150. package/test/imageSRCVerify.test.js +0 -0
  151. package/test/initializeTests.js +0 -0
  152. package/test/lib/lastUpdated.test.js +0 -0
  153. package/test/live/contentProgressLive.test.js +0 -0
  154. package/test/live/railcontentLive.test.js +0 -0
  155. package/test/localStorageMock.js +0 -0
  156. package/test/log.js +0 -0
  157. package/test/mockData/mockData_fetchByRailContentIds_one_content.json +0 -0
  158. package/test/mockData/mockData_progress_content.json +0 -0
  159. package/test/mockData/mockData_sanity_progress_content.json +0 -0
  160. package/test/mockData/mockData_user_practices.json +0 -0
  161. package/test/notifications.test.js +0 -0
  162. package/test/progressRows.test.js +0 -0
  163. package/test/sanityQueryService.test.js +0 -0
  164. package/test/streakMessage.test.js +0 -0
  165. package/test/user/permissions.test.js +0 -0
  166. package/test/userActivity.test.js +0 -0
  167. package/tools/generate-index.cjs +0 -0
  168. package/.yarnrc.yml +0 -1
@@ -10,45 +10,67 @@ export async function getActiveDiscussions(brand, { page = 1, limit = 10 } = {})
10
10
  {
11
11
  id: 11,
12
12
  url: 'https://forum.example.com/post/11',
13
- title: 'My Journey with Pianote',
14
- post: "Hey everyone, I thought I'd create this topic to detail my journey with Pianote. I started playing piano for the first time on Friday the 10th of March",
13
+ title: 'How to Progress',
14
+ post: "I use the 20-80 formula. 20% of the time on rudiments, skill, technique. 80% of the time working on songs or just playing along to the radio. Since it's a percentage, it fits any amount of time whether it's ten minutes or two hours. My neighbors would be p*ssed if I played two hours a day broken up over the whole day. They prefer I get my practice done in one shot. An hour a day works well for me.",
15
15
  author: {
16
16
  id: 123,
17
- name: 'John Doe',
18
- avatar: 'https://d3fzm1tzeyr5n3.cloudfront.net/profile_picture_url/5f6abe99-f1ed-49ec-aff4-893c017ed1aa-1681577292-565638.jpg'
17
+ name: 'Zucconi',
18
+ avatar: 'https://www.musora.com/cdn-cgi/image/quality=75,width=250,height=250,metadata=none/https://d3fzm1tzeyr5n3.cloudfront.net/profile_picture_url/BE9F40FC-61C8-48FB-BC79-6E5A7100638F-1710514476-612136.jpg'
19
19
  }
20
20
  },
21
21
  {
22
22
  id: 12,
23
23
  url: 'https://forum.example.com/post/12',
24
- title: 'Learning the Piano',
25
- post: "I can't wait to share the ups and downs of learning the piano!",
24
+ title: 'Laptop Stand Suggestions?',
25
+ post: "I got a cheap one from Amazon (39.43 Australian Dollars), very simple but I have had no problems with it. This is how I'm watching my Drumeo lessons :) It has some little holes in 2 corners so you could mount a phone holder to it also.",
26
26
  author: {
27
27
  id: 124,
28
- name: 'Jane Smith',
29
- avatar: 'https://d3fzm1tzeyr5n3.cloudfront.net/profile_picture_url/5f6abe99-f1ed-49ec-aff4-893c017ed1aa-1681577292-565638.jpg'
28
+ name: 'Abyssic Wizard',
29
+ avatar: 'https://www.musora.com/cdn-cgi/image/quality=75,width=250,height=250,metadata=none/https://d3fzm1tzeyr5n3.cloudfront.net/profile_picture_url/32F50623-BC25-429A-B480-B4A6A0E037D7-1748730048-844311.jpg'
30
30
  }
31
31
  },
32
32
  {
33
33
  id: 13,
34
34
  url: 'https://forum.example.com/post/13',
35
- title: 'Piano Inspirations',
36
- post: "One video that got me so psyched to learn the piano was this guy on YouTube called chocotiger who played George winstons - variations on pachabel.",
35
+ title: 'Introduce yourself to the Drumeo Community',
36
+ post: "Hi drummer forum 1. I'm 67 and retired plus an adjunct professor at community college currently 2. Enjoying an Alesis with Nitro Max practice drum set and on 9th day going through Domino Santantonio's 30 day challenge. Domino is wonderful and energetic. 3. I like any kind of alt-rock, rock, old gaelic style drumming, and jazz drumming",
37
37
  author: {
38
38
  id: 125,
39
- name: 'Alice Johnson',
40
- avatar: 'https://d3fzm1tzeyr5n3.cloudfront.net/profile_picture_url/5f6abe99-f1ed-49ec-aff4-893c017ed1aa-1681577292-565638.jpg'
39
+ name: 'Rwogie',
40
+ avatar: 'https://www.musora.com/cdn-cgi/image/quality=75,width=250,height=250,metadata=none/https://d3fzm1tzeyr5n3.cloudfront.net/profile_picture_url/user-profile-picture-1752520294-843602.jpg'
41
41
  }
42
42
  },
43
43
  {
44
44
  id: 14,
45
45
  url: 'https://forum.example.com/post/14',
46
- title: 'Feedback on Lessons',
47
- post: "I appreciate the way the lessons are structured and how fun they are. To newbies like me (and maybe some others), would be great if there was a plug-in (like the one from flowkey) to plug your piano/keyboard and get realtime feedback. I'm also trying to learn how to read the sheet music, and it is sometimes hard to read what key is being played, so having the plug-in would help provide feedback asap instead of rewinding the video, (the fonts on the video are too small)",
46
+ title: 'Musora Cross Collaboration June 2025',
47
+ post: "Hey everyone! 🎉 Awesome news! We’ve officially extended the deadline to submit your “Hold The Line” video. You now have until July 1st, 2025 to send it in! We cannot wait to see you all crush this track. Seriously, this is going to be such a fun project, and we’re beyond stoked to showcase your playing. If you’ve got any questions (or just want to say hi), feel free to reach out at <a href=\"mailto:mentors@musora.com\">mentors@musora.com</a>. Let’s make this epic!",
48
48
  author: {
49
49
  id: 126,
50
- name: 'Bob Williams',
51
- avatar: 'https://d3fzm1tzeyr5n3.cloudfront.net/profile_picture_url/5f6abe99-f1ed-49ec-aff4-893c017ed1aa-1681577292-565638.jpg'
50
+ name: 'Ale',
51
+ avatar: 'https://www.musora.com/cdn-cgi/image/quality=75,width=250,height=250,metadata=none/https://d3fzm1tzeyr5n3.cloudfront.net/profile_picture_url/user-profile-picture-1728402676-577074.jpg'
52
+ }
53
+ },
54
+ {
55
+ id: 15,
56
+ url: 'https://forum.example.com/post/15',
57
+ title: 'Drum Recording & Mixing Questions',
58
+ post: "Hi, thanks for welcoming me to Drumeo! I've seen a lot of great acoustic drum performances in your videos – the sound quality is amazing. I'm curious: How do you record your drums to get such a professional sound?",
59
+ author: {
60
+ id: 127,
61
+ name: 'Peter Neumann',
62
+ avatar: 'https://www.musora.com/cdn-cgi/image/quality=75,width=250,height=250,metadata=none/https://d3fzm1tzeyr5n3.cloudfront.net/profile_picture_url/user-profile-picture-1725633212-597725.jpg'
63
+ }
64
+ },
65
+ {
66
+ id: 16,
67
+ url: 'https://forum.example.com/post/16',
68
+ title: 'Play Along or Background Music',
69
+ post: "Hey Aali, you can use the play along tracks (in the sidebar menu) or the songs in the song section to practice with. You can also use your own music via your phone etc to play along with. When I started playing we never had online lessons so I used to practice with CDs etc. Youtube is another option as others have said. From the lessons, many have tracks you can practice along to in the \"Resources\" tab to download",
70
+ author: {
71
+ id: 128,
72
+ name: 'Stidger (Musora Mod)',
73
+ avatar: 'https://www.musora.com/cdn-cgi/image/quality=75,width=250,height=250,metadata=none/https://dzryyo1we6bm3.cloudfront.net/avatars/6A09AFCB-B242-4278-A8B3-0013A650206A-1644690552-495979.jpg'
52
74
  }
53
75
  }
54
76
  ]