musora-content-services 2.33.6 → 2.34.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.
- package/.coderabbit.yaml +0 -0
- package/.editorconfig +0 -0
- package/.github/pull_request_template.md +0 -0
- package/.github/workflows/conventional-commits.yaml +0 -0
- package/.github/workflows/docs.js.yml +0 -0
- package/.github/workflows/node.js.yml +0 -0
- package/.prettierignore +0 -0
- package/.prettierrc +0 -0
- package/.yarnrc.yml +1 -0
- package/CHANGELOG.md +30 -0
- package/README.md +0 -0
- package/babel.config.cjs +0 -0
- package/docs/ContentOrganization.html +2 -2
- package/docs/Gamification.html +2 -2
- package/docs/UserManagementSystem.html +2 -2
- package/docs/api_types.js.html +2 -2
- package/docs/config.js.html +2 -2
- package/docs/content-org_content-org.js.html +2 -2
- package/docs/content-org_guided-courses.ts.html +2 -2
- package/docs/content-org_playlists-types.js.html +2 -2
- package/docs/content-org_playlists.js.html +2 -2
- package/docs/content.js.html +2 -2
- 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/gamification_awards.js.html +0 -0
- package/docs/gamification_awards.ts.html +2 -2
- package/docs/gamification_gamification.js.html +2 -2
- package/docs/gamification_types.js.html +0 -0
- package/docs/global.html +2 -2
- package/docs/index.html +2 -2
- package/docs/module-Accounts.html +2 -2
- package/docs/module-Awards.html +2 -2
- package/docs/module-Config.html +2 -2
- package/docs/module-Content-Services-V2.html +2 -2
- package/docs/module-GuidedCourses.html +2 -2
- package/docs/module-Interests.html +2 -2
- package/docs/module-Permissions.html +2 -2
- package/docs/module-Playlists.html +2 -2
- package/docs/module-Railcontent-Services.html +2 -2
- package/docs/module-Sanity-Services.html +2 -2
- package/docs/module-Sessions.html +2 -2
- package/docs/module-UserActivity.html +4 -4
- package/docs/module-UserChat.html +2 -2
- package/docs/module-UserManagement.html +2 -2
- package/docs/module-UserMemberships.html +406 -0
- package/docs/module-UserNotifications.html +14 -14
- package/docs/module-UserProfile.html +2 -2
- package/docs/railcontent.js.html +2 -2
- package/docs/sanity.js.html +5 -4
- 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/docs/userActivity.js.html +15 -6
- package/docs/user_account.ts.html +2 -2
- package/docs/user_chat.js.html +2 -2
- package/docs/user_interests.js.html +2 -2
- package/docs/user_management.js.html +2 -2
- package/docs/user_memberships.js.html +122 -0
- package/docs/user_notifications.js.html +7 -5
- package/docs/user_permissions.js.html +2 -2
- package/docs/user_profile.js.html +2 -2
- package/docs/user_sessions.js.html +2 -2
- package/docs/user_types.js.html +2 -2
- package/docs/user_user-management-system.js.html +2 -2
- package/jest.config.js +0 -0
- package/jsdoc.json +0 -0
- package/package.json +1 -1
- package/src/contentMetaData.js +0 -0
- package/src/filterBuilder.js +0 -0
- package/src/index.d.ts +13 -0
- package/src/index.js +13 -0
- package/src/infrastructure/http/HttpClient.ts +0 -0
- package/src/infrastructure/http/executors/FetchRequestExecutor.ts +0 -0
- package/src/infrastructure/http/index.ts +0 -0
- package/src/infrastructure/http/interfaces/HeaderProvider.ts +0 -0
- package/src/infrastructure/http/interfaces/HttpError.ts +0 -0
- package/src/infrastructure/http/interfaces/NetworkError.ts +0 -0
- package/src/infrastructure/http/interfaces/RequestExecutor.ts +0 -0
- package/src/infrastructure/http/interfaces/RequestOptions.ts +0 -0
- package/src/infrastructure/http/providers/DefaultHeaderProvider.ts +0 -0
- package/src/lib/httpHelper.js +0 -0
- package/src/lib/lastUpdated.js +0 -0
- package/src/services/api/types.js +0 -0
- package/src/services/api/types.ts +0 -0
- package/src/services/config.js +0 -0
- package/src/services/content-org/content-org.js +0 -0
- package/src/services/content-org/guided-courses.ts +0 -0
- package/src/services/content-org/playlists-types.js +0 -0
- package/src/services/content-org/playlists.js +0 -0
- package/src/services/content.js +0 -0
- package/src/services/contentAggregator.js +0 -0
- package/src/services/contentLikes.js +0 -0
- package/src/services/contentProgress.js +1 -0
- package/src/services/dataContext.js +1 -0
- package/src/services/dateUtils.js +0 -0
- package/src/services/eventsAPI.js +154 -0
- package/src/services/forum.js +0 -0
- package/src/services/gamification/awards.ts +0 -0
- package/src/services/gamification/gamification.js +0 -0
- package/src/services/imageSRCBuilder.js +0 -0
- package/src/services/imageSRCVerify.js +0 -0
- package/src/services/railcontent.js +0 -0
- package/src/services/recommendations.js +0 -0
- package/src/services/sanity.js +3 -2
- package/src/services/types.js +0 -0
- package/src/services/user/account.ts +0 -0
- package/src/services/user/chat.js +0 -0
- package/src/services/user/interests.js +0 -0
- package/src/services/user/management.js +0 -0
- package/src/services/user/memberships.js +50 -0
- package/src/services/user/notifications.js +5 -3
- package/src/services/user/permissions.js +0 -0
- package/src/services/user/profile.js +0 -0
- package/src/services/user/sessions.js +0 -0
- package/src/services/user/types.js +0 -0
- package/src/services/user/user-management-system.js +0 -0
- package/src/services/userActivity.js +13 -4
- package/test/HttpClient.test.js +0 -0
- package/test/content.test.js +0 -0
- package/test/contentLikes.test.js +0 -0
- package/test/contentProgress.test.js +0 -0
- package/test/dataContext.test.js +0 -0
- package/test/forum.test.js +0 -0
- package/test/imageSRCBuilder.test.js +0 -0
- package/test/imageSRCVerify.test.js +0 -0
- package/test/initializeTests.js +0 -0
- package/test/lib/lastUpdated.test.js +0 -0
- package/test/live/contentProgressLive.test.js +0 -0
- package/test/live/railcontentLive.test.js +0 -0
- package/test/localStorageMock.js +0 -0
- package/test/log.js +0 -0
- package/test/mockData/mockData_fetchByRailContentIds_one_content.json +0 -0
- package/test/mockData/mockData_progress_content.json +0 -0
- package/test/mockData/mockData_sanity_progress_content.json +0 -0
- package/test/mockData/mockData_user_practices.json +0 -0
- package/test/notifications.test.js +0 -0
- package/test/progressRows.test.js +0 -0
- package/test/sanityQueryService.test.js +0 -0
- package/test/streakMessage.test.js +0 -0
- package/test/user/permissions.test.js +0 -0
- package/test/userActivity.test.js +0 -0
- package/tools/generate-index.cjs +8 -0
|
@@ -13,7 +13,7 @@ import {
|
|
|
13
13
|
import { DataContext, UserActivityVersionKey } from './dataContext.js'
|
|
14
14
|
import { fetchByRailContentId, fetchByRailContentIds, fetchShows } from './sanity'
|
|
15
15
|
import { fetchPlaylist, fetchUserPlaylists } from './content-org/playlists'
|
|
16
|
-
import { pinnedGuidedCourses
|
|
16
|
+
import {guidedCourses, pinnedGuidedCourses} from './content-org/guided-courses'
|
|
17
17
|
import {
|
|
18
18
|
getMonday,
|
|
19
19
|
getWeekNumber,
|
|
@@ -1051,13 +1051,19 @@ function generateContentsMap(contents, playlistsContents) {
|
|
|
1051
1051
|
*/
|
|
1052
1052
|
export async function getProgressRows({ brand = null, limit = 8 } = {}) {
|
|
1053
1053
|
// TODO slice progress to a reasonable number, say 100
|
|
1054
|
-
|
|
1054
|
+
|
|
1055
|
+
const [recentPlaylists, progressContents, allPinnedGuidedCourse, userPinnedItem, enrolledGuidedCourses] =
|
|
1055
1056
|
await Promise.all([
|
|
1056
1057
|
fetchUserPlaylists(brand, { sort: '-last_progress', limit: limit }),
|
|
1057
1058
|
getAllStartedOrCompleted({ onlyIds: false, brand: brand }),
|
|
1058
1059
|
pinnedGuidedCourses(brand),
|
|
1059
1060
|
getUserPinnedItem(brand),
|
|
1061
|
+
guidedCourses()
|
|
1060
1062
|
])
|
|
1063
|
+
|
|
1064
|
+
const enrolledGuidedCoursesIds = enrolledGuidedCourses.map(course => String(course.content_id));
|
|
1065
|
+
|
|
1066
|
+
const mergedGuidedCourses = 1 //get all cuigded courses, incl no progress.
|
|
1061
1067
|
let pinnedGuidedCourse = allPinnedGuidedCourse?.[0] ?? null
|
|
1062
1068
|
|
|
1063
1069
|
const playlists = recentPlaylists?.data || []
|
|
@@ -1067,12 +1073,15 @@ export async function getProgressRows({ brand = null, limit = 8 } = {}) {
|
|
|
1067
1073
|
)
|
|
1068
1074
|
|
|
1069
1075
|
const nonPlaylistContentIds = Object.keys(progressContents)
|
|
1070
|
-
if (
|
|
1071
|
-
nonPlaylistContentIds.push(
|
|
1076
|
+
if (enrolledGuidedCoursesIds.length > 0) {
|
|
1077
|
+
nonPlaylistContentIds.push(...enrolledGuidedCoursesIds)
|
|
1072
1078
|
}
|
|
1073
1079
|
if (userPinnedItem?.progressType === 'content') {
|
|
1074
1080
|
nonPlaylistContentIds.push(userPinnedItem.id)
|
|
1075
1081
|
}
|
|
1082
|
+
console.log("nonPlaylistContentIds",nonPlaylistContentIds)
|
|
1083
|
+
|
|
1084
|
+
|
|
1076
1085
|
const [playlistsContents, contents] = await Promise.all([
|
|
1077
1086
|
playlistEngagedOnContents ? addContextToContent(fetchByRailContentIds, playlistEngagedOnContents, 'progress-tracker', {
|
|
1078
1087
|
addNextLesson: true,
|
package/test/HttpClient.test.js
CHANGED
|
File without changes
|
package/test/content.test.js
CHANGED
|
File without changes
|
|
File without changes
|
|
File without changes
|
package/test/dataContext.test.js
CHANGED
|
File without changes
|
package/test/forum.test.js
CHANGED
|
File without changes
|
|
File without changes
|
|
File without changes
|
package/test/initializeTests.js
CHANGED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
package/test/localStorageMock.js
CHANGED
|
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
|
|
File without changes
|
package/tools/generate-index.cjs
CHANGED
|
@@ -89,11 +89,15 @@ Object.entries(fileExports).forEach(([file, functionNames]) => {
|
|
|
89
89
|
content += `\nimport {\n\t${functionNames.join(',\n\t')}\n} from './services/${file}';\n`
|
|
90
90
|
})
|
|
91
91
|
|
|
92
|
+
content += `\nimport {\n\t default as EventsAPI \n} from './services/eventsAPI';\n`
|
|
93
|
+
|
|
92
94
|
const allFunctionNames = Object.values(fileExports).flat().sort()
|
|
93
95
|
content += '\nexport {\n'
|
|
94
96
|
content += `\t${allFunctionNames.join(',\n\t')},\n`
|
|
95
97
|
content += '};\n'
|
|
96
98
|
|
|
99
|
+
content += '\nexport default EventsAPI\n'
|
|
100
|
+
|
|
97
101
|
// write the generated content to index.js
|
|
98
102
|
const outputPath = path.join(__dirname, '../src/index.js')
|
|
99
103
|
fs.writeFileSync(outputPath, content)
|
|
@@ -108,12 +112,16 @@ Object.entries(fileExports).forEach(([file, functionNames]) => {
|
|
|
108
112
|
dtsContent += `\nimport {\n\t${functionNames.join(',\n\t')}\n} from './services/${file}';\n`
|
|
109
113
|
})
|
|
110
114
|
|
|
115
|
+
dtsContent += `\nimport {\n\t default as EventsAPI \n} from './services/eventsAPI';\n`
|
|
116
|
+
|
|
111
117
|
dtsContent += "\ndeclare module 'musora-content-services' {\n"
|
|
112
118
|
dtsContent += '\texport {\n'
|
|
113
119
|
dtsContent += `\t\t${allFunctionNames.join(',\n\t\t')},\n`
|
|
114
120
|
dtsContent += '\t}\n'
|
|
115
121
|
dtsContent += '}\n'
|
|
116
122
|
|
|
123
|
+
dtsContent += '\nexport default EventsAPI\n'
|
|
124
|
+
|
|
117
125
|
// write the generated content to index.d.ts
|
|
118
126
|
const outputDtsPath = path.join(__dirname, '../src/index.d.ts')
|
|
119
127
|
fs.writeFileSync(outputDtsPath, dtsContent)
|