musora-content-services 1.0.230 → 1.0.232
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.
- package/.github/workflows/node.js.yml +0 -0
- package/CHANGELOG.md +4 -0
- package/README.md +0 -0
- package/babel.config.js +0 -0
- package/docs/fonts/Montserrat/Montserrat-Bold.eot +0 -0
- package/docs/fonts/Montserrat/Montserrat-Bold.ttf +0 -0
- package/docs/fonts/Montserrat/Montserrat-Bold.woff +0 -0
- package/docs/fonts/Montserrat/Montserrat-Bold.woff2 +0 -0
- package/docs/fonts/Montserrat/Montserrat-Regular.eot +0 -0
- package/docs/fonts/Montserrat/Montserrat-Regular.ttf +0 -0
- package/docs/fonts/Montserrat/Montserrat-Regular.woff +0 -0
- package/docs/fonts/Montserrat/Montserrat-Regular.woff2 +0 -0
- package/docs/fonts/Source-Sans-Pro/sourcesanspro-light-webfont.eot +0 -0
- package/docs/fonts/Source-Sans-Pro/sourcesanspro-light-webfont.svg +0 -0
- package/docs/fonts/Source-Sans-Pro/sourcesanspro-light-webfont.ttf +0 -0
- package/docs/fonts/Source-Sans-Pro/sourcesanspro-light-webfont.woff +0 -0
- package/docs/fonts/Source-Sans-Pro/sourcesanspro-light-webfont.woff2 +0 -0
- package/docs/fonts/Source-Sans-Pro/sourcesanspro-regular-webfont.eot +0 -0
- package/docs/fonts/Source-Sans-Pro/sourcesanspro-regular-webfont.svg +0 -0
- package/docs/fonts/Source-Sans-Pro/sourcesanspro-regular-webfont.ttf +0 -0
- package/docs/fonts/Source-Sans-Pro/sourcesanspro-regular-webfont.woff +0 -0
- package/docs/fonts/Source-Sans-Pro/sourcesanspro-regular-webfont.woff2 +0 -0
- package/docs/scripts/collapse.js +0 -0
- package/docs/scripts/commonNav.js +0 -0
- package/docs/scripts/linenumber.js +0 -0
- package/docs/scripts/nav.js +0 -0
- package/docs/scripts/polyfill.js +0 -0
- package/docs/scripts/prettify/Apache-License-2.0.txt +0 -0
- package/docs/scripts/prettify/lang-css.js +0 -0
- package/docs/scripts/prettify/prettify.js +0 -0
- package/docs/scripts/search.js +0 -0
- package/docs/styles/jsdoc.css +0 -0
- package/docs/styles/prettify.css +0 -0
- package/jest.config.js +0 -0
- package/jsdoc.json +0 -0
- package/package.json +1 -1
- package/src/contentTypeConfig.js +4 -1
- package/src/filterBuilder.js +10 -3
- package/src/services/contentLikes.js +0 -0
- package/src/services/lastUpdated.js +0 -0
- package/src/services/sanity.js +11 -5
- package/src/services/userPermissions.js +0 -0
- package/test/contentLikes.test.js +0 -0
- package/test/initializeTests.js +0 -0
- package/test/lastUpdated.test.js +0 -0
- package/test/localStorageMock.js +0 -0
- package/test/log.js +0 -0
- package/test/userPermissions.test.js +0 -0
- 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.232](https://github.com/railroadmedia/musora-content-services/compare/v1.0.231...v1.0.232) (2024-12-11)
|
|
6
|
+
|
|
7
|
+
### [1.0.231](https://github.com/railroadmedia/musora-content-services/compare/v1.0.230...v1.0.231) (2024-12-10)
|
|
8
|
+
|
|
5
9
|
### [1.0.230](https://github.com/railroadmedia/musora-content-services/compare/v1.0.229...v1.0.230) (2024-12-10)
|
|
6
10
|
|
|
7
11
|
### [1.0.229](https://github.com/railroadmedia/musora-content-services/compare/v1.0.228...v1.0.229) (2024-12-09)
|
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
|
|
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/scripts/collapse.js
CHANGED
|
File without changes
|
|
File without changes
|
|
File without changes
|
package/docs/scripts/nav.js
CHANGED
|
File without changes
|
package/docs/scripts/polyfill.js
CHANGED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
package/docs/scripts/search.js
CHANGED
|
File without changes
|
package/docs/styles/jsdoc.css
CHANGED
|
File without changes
|
package/docs/styles/prettify.css
CHANGED
|
File without changes
|
package/jest.config.js
CHANGED
|
File without changes
|
package/jsdoc.json
CHANGED
|
File without changes
|
package/package.json
CHANGED
package/src/contentTypeConfig.js
CHANGED
|
@@ -391,6 +391,8 @@ let contentTypeConfig = {
|
|
|
391
391
|
'sonor': contentWithSortField,
|
|
392
392
|
}
|
|
393
393
|
|
|
394
|
+
const songAccessMembership = 94;
|
|
395
|
+
|
|
394
396
|
function getNewReleasesTypes(brand) {
|
|
395
397
|
const baseNewTypes = ["student-review", "student-review", "student-focus", "coach-stream", "live", "question-and-answer", "boot-camps", "quick-tips", "workout", "challenge", "challenge-part", "podcasts", "pack", "song", "learning-path-level", "play-along", "course", "unit"];
|
|
396
398
|
switch (brand) {
|
|
@@ -535,5 +537,6 @@ module.exports = {
|
|
|
535
537
|
getNewReleasesTypes,
|
|
536
538
|
getUpcomingEventsTypes,
|
|
537
539
|
showsTypes,
|
|
538
|
-
coachLessonsTypes
|
|
540
|
+
coachLessonsTypes,
|
|
541
|
+
songAccessMembership
|
|
539
542
|
}
|
package/src/filterBuilder.js
CHANGED
|
@@ -1,5 +1,7 @@
|
|
|
1
1
|
import {fetchUserPermissions} from "./services/userPermissions";
|
|
2
|
-
|
|
2
|
+
import {
|
|
3
|
+
songAccessMembership
|
|
4
|
+
} from "./contentTypeConfig";
|
|
3
5
|
|
|
4
6
|
export class FilterBuilder {
|
|
5
7
|
|
|
@@ -19,7 +21,8 @@ export class FilterBuilder {
|
|
|
19
21
|
getFutureScheduledContentsOnly = false,
|
|
20
22
|
bypassStatuses = false,
|
|
21
23
|
bypassPublishedDateRestriction = false,
|
|
22
|
-
isSingle = false
|
|
24
|
+
isSingle = false,
|
|
25
|
+
allowsPullSongsContent = true
|
|
23
26
|
} = {}) {
|
|
24
27
|
this.availableContentStatuses = availableContentStatuses;
|
|
25
28
|
this.bypassPermissions = bypassPermissions;
|
|
@@ -29,6 +32,7 @@ export class FilterBuilder {
|
|
|
29
32
|
this.getFutureContentOnly = getFutureContentOnly;
|
|
30
33
|
this.getFutureScheduledContentsOnly = getFutureScheduledContentsOnly;
|
|
31
34
|
this.isSingle = isSingle;
|
|
35
|
+
this.allowsPullSongsContent = allowsPullSongsContent;
|
|
32
36
|
this.filter = filter;
|
|
33
37
|
// this.debug = process.env.DEBUG === 'true' || false;
|
|
34
38
|
this.debug = false;
|
|
@@ -87,7 +91,10 @@ export class FilterBuilder {
|
|
|
87
91
|
|
|
88
92
|
_applyPermissions() {
|
|
89
93
|
if (this.bypassPermissions || this.userData.isAdmin) return this;
|
|
90
|
-
|
|
94
|
+
let requiredPermissions = this._getUserPermissions();
|
|
95
|
+
if(this.userData.isABasicMember && this.allowsPullSongsContent){
|
|
96
|
+
requiredPermissions = [...requiredPermissions, songAccessMembership];
|
|
97
|
+
}
|
|
91
98
|
this._andWhere(`(!defined(permission) || references(*[_type == 'permission' && railcontent_id in ${arrayToRawRepresentation(requiredPermissions)}]._id))`);
|
|
92
99
|
return this;
|
|
93
100
|
}
|
|
File without changes
|
|
File without changes
|
package/src/services/sanity.js
CHANGED
|
@@ -291,7 +291,7 @@ export async function fetchNewReleases(brand, {page = 1, limit = 20, sort = "-pu
|
|
|
291
291
|
const start = (page - 1) * limit;
|
|
292
292
|
const end = start + limit;
|
|
293
293
|
const sortOrder = getSortOrder(sort, brand);
|
|
294
|
-
const filter = `_type in ${typesString} && brand == '${brand}'`;
|
|
294
|
+
const filter = `_type in ${typesString} && brand == '${brand}' && show_in_new_feed == true`;
|
|
295
295
|
const fields = `
|
|
296
296
|
"id": railcontent_id,
|
|
297
297
|
title,
|
|
@@ -306,7 +306,7 @@ export async function fetchNewReleases(brand, {page = 1, limit = 20, sort = "-pu
|
|
|
306
306
|
web_url_path,
|
|
307
307
|
"permission_id": permission[]->railcontent_id,
|
|
308
308
|
`;
|
|
309
|
-
const filterParams = {};
|
|
309
|
+
const filterParams = {allowsPullSongsContent: false};
|
|
310
310
|
const query = await buildQuery(
|
|
311
311
|
filter,
|
|
312
312
|
filterParams,
|
|
@@ -1767,17 +1767,23 @@ export async function fetchSanity(query,
|
|
|
1767
1767
|
console.log("fetchSanity Query:", query);
|
|
1768
1768
|
}
|
|
1769
1769
|
const perspective = globalConfig.sanityConfig.perspective ?? 'published';
|
|
1770
|
-
const encodedQuery = encodeURIComponent(query);
|
|
1771
1770
|
const api = globalConfig.sanityConfig.useCachedAPI ? 'apicdn' : 'api';
|
|
1772
|
-
const url = `https://${globalConfig.sanityConfig.projectId}.${api}.sanity.io/v${globalConfig.sanityConfig.version}/data/query/${globalConfig.sanityConfig.dataset}?perspective=${perspective}
|
|
1771
|
+
const url = `https://${globalConfig.sanityConfig.projectId}.${api}.sanity.io/v${globalConfig.sanityConfig.version}/data/query/${globalConfig.sanityConfig.dataset}?perspective=${perspective}`;
|
|
1773
1772
|
const headers = {
|
|
1774
1773
|
'Authorization': `Bearer ${globalConfig.sanityConfig.token}`,
|
|
1775
1774
|
'Content-Type': 'application/json'
|
|
1776
1775
|
};
|
|
1777
1776
|
|
|
1778
1777
|
try {
|
|
1778
|
+
const method = 'post';
|
|
1779
|
+
const options = {
|
|
1780
|
+
method,
|
|
1781
|
+
headers,
|
|
1782
|
+
body: JSON.stringify({'query': query})
|
|
1783
|
+
};
|
|
1784
|
+
|
|
1779
1785
|
let promisesResult = await Promise.all([
|
|
1780
|
-
fetch(url,
|
|
1786
|
+
fetch(url, options),
|
|
1781
1787
|
processNeedAccess ? fetchUserPermissions() : null
|
|
1782
1788
|
]);
|
|
1783
1789
|
const response = promisesResult[0];
|
|
File without changes
|
|
File without changes
|
package/test/initializeTests.js
CHANGED
|
File without changes
|
package/test/lastUpdated.test.js
CHANGED
|
File without changes
|
package/test/localStorageMock.js
CHANGED
|
File without changes
|
package/test/log.js
CHANGED
|
File without changes
|
|
File without changes
|
package/tools/generate-index.js
CHANGED
|
File without changes
|