musora-content-services 1.0.238 → 1.0.240

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 (67) hide show
  1. package/.github/workflows/node.js.yml +0 -0
  2. package/CHANGELOG.md +4 -0
  3. package/README.md +0 -0
  4. package/babel.config.js +0 -0
  5. package/docs/config.js.html +0 -0
  6. package/docs/fonts/Montserrat/Montserrat-Bold.eot +0 -0
  7. package/docs/fonts/Montserrat/Montserrat-Bold.ttf +0 -0
  8. package/docs/fonts/Montserrat/Montserrat-Bold.woff +0 -0
  9. package/docs/fonts/Montserrat/Montserrat-Bold.woff2 +0 -0
  10. package/docs/fonts/Montserrat/Montserrat-Regular.eot +0 -0
  11. package/docs/fonts/Montserrat/Montserrat-Regular.ttf +0 -0
  12. package/docs/fonts/Montserrat/Montserrat-Regular.woff +0 -0
  13. package/docs/fonts/Montserrat/Montserrat-Regular.woff2 +0 -0
  14. package/docs/fonts/Source-Sans-Pro/sourcesanspro-light-webfont.eot +0 -0
  15. package/docs/fonts/Source-Sans-Pro/sourcesanspro-light-webfont.svg +0 -0
  16. package/docs/fonts/Source-Sans-Pro/sourcesanspro-light-webfont.ttf +0 -0
  17. package/docs/fonts/Source-Sans-Pro/sourcesanspro-light-webfont.woff +0 -0
  18. package/docs/fonts/Source-Sans-Pro/sourcesanspro-light-webfont.woff2 +0 -0
  19. package/docs/fonts/Source-Sans-Pro/sourcesanspro-regular-webfont.eot +0 -0
  20. package/docs/fonts/Source-Sans-Pro/sourcesanspro-regular-webfont.svg +0 -0
  21. package/docs/fonts/Source-Sans-Pro/sourcesanspro-regular-webfont.ttf +0 -0
  22. package/docs/fonts/Source-Sans-Pro/sourcesanspro-regular-webfont.woff +0 -0
  23. package/docs/fonts/Source-Sans-Pro/sourcesanspro-regular-webfont.woff2 +0 -0
  24. package/docs/index.html +0 -0
  25. package/docs/module-Config.html +0 -0
  26. package/docs/module-Railcontent-Services.html +0 -0
  27. package/docs/module-Sanity-Services.html +0 -0
  28. package/docs/railcontent.js.html +0 -0
  29. package/docs/sanity.js.html +0 -0
  30. package/docs/scripts/collapse.js +0 -0
  31. package/docs/scripts/commonNav.js +0 -0
  32. package/docs/scripts/linenumber.js +0 -0
  33. package/docs/scripts/nav.js +0 -0
  34. package/docs/scripts/polyfill.js +0 -0
  35. package/docs/scripts/prettify/Apache-License-2.0.txt +0 -0
  36. package/docs/scripts/prettify/lang-css.js +0 -0
  37. package/docs/scripts/prettify/prettify.js +0 -0
  38. package/docs/scripts/search.js +0 -0
  39. package/docs/styles/jsdoc.css +0 -0
  40. package/docs/styles/prettify.css +0 -0
  41. package/jest.config.js +0 -0
  42. package/jsdoc.json +0 -0
  43. package/link_mcs.sh +0 -0
  44. package/package.json +1 -1
  45. package/src/contentMetaData.js +0 -0
  46. package/src/filterBuilder.js +0 -0
  47. package/src/index.d.ts +2 -0
  48. package/src/index.js +2 -0
  49. package/src/services/config.js +0 -0
  50. package/src/services/contentLikes.js +0 -0
  51. package/src/services/contentProgress.js +0 -0
  52. package/src/services/dataContext.js +0 -0
  53. package/src/services/lastUpdated.js +0 -0
  54. package/src/services/railcontent.js +5 -0
  55. package/src/services/sanity.js +15 -2
  56. package/src/services/userPermissions.js +0 -0
  57. package/test/contentLikes.test.js +0 -0
  58. package/test/contentProgress.test.js +0 -0
  59. package/test/initializeTests.js +0 -0
  60. package/test/lastUpdated.test.js +0 -0
  61. package/test/live/contentProgressLive.test.js +0 -0
  62. package/test/live/railcontentLive.test.js +0 -0
  63. package/test/localStorageMock.js +0 -0
  64. package/test/log.js +0 -0
  65. package/test/sanityQueryService.test.js +11 -2
  66. package/test/userPermissions.test.js +0 -0
  67. package/tools/generate-index.js +0 -0
File without changes
package/CHANGELOG.md CHANGED
@@ -2,6 +2,10 @@
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
+ ### [1.0.240](https://github.com/railroadmedia/musora-content-services/compare/v1.0.239...v1.0.240) (2024-12-16)
6
+
7
+ ### [1.0.239](https://github.com/railroadmedia/musora-content-services/compare/v1.0.238...v1.0.239) (2024-12-16)
8
+
5
9
  ### [1.0.238](https://github.com/railroadmedia/musora-content-services/compare/v1.0.237...v1.0.238) (2024-12-16)
6
10
 
7
11
  ### [1.0.237](https://github.com/railroadmedia/musora-content-services/compare/v1.0.236...v1.0.237) (2024-12-14)
package/README.md CHANGED
File without changes
package/babel.config.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/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
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": "1.0.238",
3
+ "version": "1.0.240",
4
4
  "description": "A package for Musoras content services ",
5
5
  "main": "src/index.js",
6
6
  "scripts": {
File without changes
File without changes
package/src/index.d.ts CHANGED
@@ -63,6 +63,7 @@ import {
63
63
  fetchUserPlaylists,
64
64
  likePlaylist,
65
65
  pinPlaylist,
66
+ playback,
66
67
  postChallengesCommunityNotification,
67
68
  postChallengesCompleteLesson,
68
69
  postChallengesEnroll,
@@ -248,6 +249,7 @@ declare module 'musora-content-services' {
248
249
  likeContent,
249
250
  likePlaylist,
250
251
  pinPlaylist,
252
+ playback,
251
253
  postChallengesCommunityNotification,
252
254
  postChallengesCompleteLesson,
253
255
  postChallengesEnroll,
package/src/index.js CHANGED
@@ -63,6 +63,7 @@ import {
63
63
  fetchUserPlaylists,
64
64
  likePlaylist,
65
65
  pinPlaylist,
66
+ playback,
66
67
  postChallengesCommunityNotification,
67
68
  postChallengesCompleteLesson,
68
69
  postChallengesEnroll,
@@ -247,6 +248,7 @@ export {
247
248
  likeContent,
248
249
  likePlaylist,
249
250
  pinPlaylist,
251
+ playback,
250
252
  postChallengesCommunityNotification,
251
253
  postChallengesCompleteLesson,
252
254
  postChallengesEnroll,
File without changes
File without changes
File without changes
File without changes
File without changes
@@ -1162,6 +1162,11 @@ export async function reportPlaylist(playlistId, {issue} = {}) {
1162
1162
  return await fetchHandler(url, "PUT");
1163
1163
  }
1164
1164
 
1165
+ export async function playback(playlistId) {
1166
+ const url = `/playlists/play/${playlistId}`;
1167
+ return await fetchHandler(url, "GET");
1168
+ }
1169
+
1165
1170
  function fetchAbsolute(url, params) {
1166
1171
  if (globalConfig.railcontentConfig.baseUrl) {
1167
1172
  if (url.startsWith('/')) {
@@ -449,7 +449,20 @@ export async function fetchByRailContentIds(ids, contentType = undefined) {
449
449
  const query = `*[railcontent_id in [${idsString}]]{
450
450
  ${getFieldsForContentType(contentType)}
451
451
  }`
452
- return fetchSanity(query, true);
452
+ const results = await fetchSanity(query, true);
453
+
454
+ const sortFuction = function compare(a,b){
455
+ const indexA = ids.indexOf(a['id']);
456
+ const indexB = ids.indexOf(b['id'])
457
+ if(indexA === indexB) return 0;
458
+ if(indexA > indexB) return 1;
459
+ return -1;
460
+ }
461
+
462
+ // Sort results to match the order of the input IDs
463
+ const sortedResults = results.sort(sortFuction);
464
+
465
+ return sortedResults;
453
466
  }
454
467
 
455
468
  /**
@@ -1118,7 +1131,7 @@ export async function fetchNextPreviousLesson(railcontentId) {
1118
1131
  */
1119
1132
  export async function jumpToContinueContent(railcontentId) {
1120
1133
  const nextContent = await fetchNextContentDataForParent(railcontentId);
1121
- if (!nextContent) {
1134
+ if (!nextContent || !nextContent.id) {
1122
1135
  return null;
1123
1136
  }
1124
1137
  let next = await fetchByRailContentId(nextContent.id, nextContent.type);
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
@@ -123,10 +123,19 @@ describe('Sanity Queries', function () {
123
123
  const id2 = 402204;
124
124
  const response = await fetchByRailContentIds([id, id2]);
125
125
  const returnedIds = response.map((x) => x.id);
126
- expect(returnedIds).toContain(id);
127
- expect(returnedIds).toContain(id2);
126
+ expect(returnedIds[0]).toBe(id);
127
+ expect(returnedIds[1]).toBe(id2);
128
128
  expect(returnedIds.length).toBe(2);
129
+ });
129
130
 
131
+ test('fetchByRailContentIds_Order', async () => {
132
+ const id = 380094;
133
+ const id2 = 402204;
134
+ const response = await fetchByRailContentIds([id2, id]);
135
+ const returnedIds = response.map((x) => x.id);
136
+ expect(returnedIds[0]).toBe(id2);
137
+ expect(returnedIds[1]).toBe(id);
138
+ expect(returnedIds.length).toBe(2);
130
139
  });
131
140
 
132
141
  test('fetchUpcomingEvents', async () => {
File without changes
File without changes