MOBILE-4653 sites: Move CoreSite constants
This commit is contained in:
		
							parent
							
								
									3959df94d5
								
							
						
					
					
						commit
						dba799ff90
					
				@ -15,9 +15,9 @@
 | 
				
			|||||||
import { Injectable } from '@angular/core';
 | 
					import { Injectable } from '@angular/core';
 | 
				
			||||||
import { CoreSites } from '@services/sites';
 | 
					import { CoreSites } from '@services/sites';
 | 
				
			||||||
import { CoreWSExternalWarning } from '@services/ws';
 | 
					import { CoreWSExternalWarning } from '@services/ws';
 | 
				
			||||||
import { CoreSite } from '@classes/sites/site';
 | 
					 | 
				
			||||||
import { makeSingleton } from '@singletons';
 | 
					import { makeSingleton } from '@singletons';
 | 
				
			||||||
import { CoreError } from '@classes/errors/error';
 | 
					import { CoreError } from '@classes/errors/error';
 | 
				
			||||||
 | 
					import { CoreCacheUpdateFrequency } from '@/core/constants';
 | 
				
			||||||
 | 
					
 | 
				
			||||||
const ROOT_CACHE_KEY = 'mmaBadges:';
 | 
					const ROOT_CACHE_KEY = 'mmaBadges:';
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@ -70,7 +70,7 @@ export class AddonBadgesProvider {
 | 
				
			|||||||
        };
 | 
					        };
 | 
				
			||||||
        const preSets = {
 | 
					        const preSets = {
 | 
				
			||||||
            cacheKey: this.getBadgesCacheKey(courseId, userId),
 | 
					            cacheKey: this.getBadgesCacheKey(courseId, userId),
 | 
				
			||||||
            updateFrequency: CoreSite.FREQUENCY_RARELY,
 | 
					            updateFrequency: CoreCacheUpdateFrequency.RARELY,
 | 
				
			||||||
        };
 | 
					        };
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        const response = await site.read<AddonBadgesGetUserBadgesWSResponse>('core_badges_get_user_badges', data, preSets);
 | 
					        const response = await site.read<AddonBadgesGetUserBadgesWSResponse>('core_badges_get_user_badges', data, preSets);
 | 
				
			||||||
@ -133,7 +133,7 @@ export class AddonBadgesProvider {
 | 
				
			|||||||
        };
 | 
					        };
 | 
				
			||||||
        const preSets = {
 | 
					        const preSets = {
 | 
				
			||||||
            cacheKey: this.getUserBadgeByHashCacheKey(hash),
 | 
					            cacheKey: this.getUserBadgeByHashCacheKey(hash),
 | 
				
			||||||
            updateFrequency: CoreSite.FREQUENCY_RARELY,
 | 
					            updateFrequency: CoreCacheUpdateFrequency.RARELY,
 | 
				
			||||||
        };
 | 
					        };
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        const response = await site.read<AddonBadgesGetUserBadgeByHashWSResponse>(
 | 
					        const response = await site.read<AddonBadgesGetUserBadgeByHashWSResponse>(
 | 
				
			||||||
@ -190,7 +190,7 @@ export class AddonBadgesProvider {
 | 
				
			|||||||
        };
 | 
					        };
 | 
				
			||||||
        const preSets = {
 | 
					        const preSets = {
 | 
				
			||||||
            cacheKey: this.getBadgeClassCacheKey(id),
 | 
					            cacheKey: this.getBadgeClassCacheKey(id),
 | 
				
			||||||
            updateFrequency: CoreSite.FREQUENCY_RARELY,
 | 
					            updateFrequency: CoreCacheUpdateFrequency.RARELY,
 | 
				
			||||||
        };
 | 
					        };
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        const response = await site.read<AddonBadgesGetBadgeClassWSResponse>(
 | 
					        const response = await site.read<AddonBadgesGetBadgeClassWSResponse>(
 | 
				
			||||||
 | 
				
			|||||||
@ -12,10 +12,9 @@
 | 
				
			|||||||
// See the License for the specific language governing permissions and
 | 
					// See the License for the specific language governing permissions and
 | 
				
			||||||
// limitations under the License.
 | 
					// limitations under the License.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
import { ContextLevel } from '@/core/constants';
 | 
					import { ContextLevel, CoreCacheUpdateFrequency } from '@/core/constants';
 | 
				
			||||||
import { Injectable } from '@angular/core';
 | 
					import { Injectable } from '@angular/core';
 | 
				
			||||||
import { CoreSiteWSPreSets } from '@classes/sites/authenticated-site';
 | 
					import { CoreSiteWSPreSets } from '@classes/sites/authenticated-site';
 | 
				
			||||||
import { CoreSite } from '@classes/sites/site';
 | 
					 | 
				
			||||||
import { CoreFileUploaderStoreFilesResult } from '@features/fileuploader/services/fileuploader';
 | 
					import { CoreFileUploaderStoreFilesResult } from '@features/fileuploader/services/fileuploader';
 | 
				
			||||||
import { CoreTagItem } from '@features/tag/services/tag';
 | 
					import { CoreTagItem } from '@features/tag/services/tag';
 | 
				
			||||||
import { CoreUser, CoreUserProfile } from '@features/user/services/user';
 | 
					import { CoreUser, CoreUserProfile } from '@features/user/services/user';
 | 
				
			||||||
@ -83,7 +82,7 @@ export class AddonBlogProvider {
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
        const preSets: CoreSiteWSPreSets = {
 | 
					        const preSets: CoreSiteWSPreSets = {
 | 
				
			||||||
            cacheKey: this.getEntriesCacheKey(filter),
 | 
					            cacheKey: this.getEntriesCacheKey(filter),
 | 
				
			||||||
            updateFrequency: CoreSite.FREQUENCY_SOMETIMES,
 | 
					            updateFrequency: CoreCacheUpdateFrequency.SOMETIMES,
 | 
				
			||||||
            ...CoreSites.getReadingStrategyPreSets(options?.readingStrategy),
 | 
					            ...CoreSites.getReadingStrategyPreSets(options?.readingStrategy),
 | 
				
			||||||
        };
 | 
					        };
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
				
			|||||||
@ -29,7 +29,7 @@ import { CoreWSExternalWarning, CoreWSDate } from '@services/ws';
 | 
				
			|||||||
import moment from 'moment-timezone';
 | 
					import moment from 'moment-timezone';
 | 
				
			||||||
import { AddonCalendarEventDBRecord } from './database/calendar';
 | 
					import { AddonCalendarEventDBRecord } from './database/calendar';
 | 
				
			||||||
import { CoreCourses } from '@features/courses/services/courses';
 | 
					import { CoreCourses } from '@features/courses/services/courses';
 | 
				
			||||||
import { ContextLevel, CoreConstants } from '@/core/constants';
 | 
					import { ContextLevel, CoreCacheUpdateFrequency, CoreConstants } from '@/core/constants';
 | 
				
			||||||
import { CoreWSError } from '@classes/errors/wserror';
 | 
					import { CoreWSError } from '@classes/errors/wserror';
 | 
				
			||||||
import { ApplicationInit, makeSingleton, Translate } from '@singletons';
 | 
					import { ApplicationInit, makeSingleton, Translate } from '@singletons';
 | 
				
			||||||
import { AddonCalendarOfflineEventDBRecord } from './database/calendar-offline';
 | 
					import { AddonCalendarOfflineEventDBRecord } from './database/calendar-offline';
 | 
				
			||||||
@ -563,7 +563,7 @@ export class AddonCalendarProvider {
 | 
				
			|||||||
        const site = await CoreSites.getSite(siteId);
 | 
					        const site = await CoreSites.getSite(siteId);
 | 
				
			||||||
        const preSets: CoreSiteWSPreSets = {
 | 
					        const preSets: CoreSiteWSPreSets = {
 | 
				
			||||||
            cacheKey: this.getEventCacheKey(id),
 | 
					            cacheKey: this.getEventCacheKey(id),
 | 
				
			||||||
            updateFrequency: CoreSite.FREQUENCY_RARELY,
 | 
					            updateFrequency: CoreCacheUpdateFrequency.RARELY,
 | 
				
			||||||
        };
 | 
					        };
 | 
				
			||||||
        const params: AddonCalendarGetCalendarEventsWSParams = {
 | 
					        const params: AddonCalendarGetCalendarEventsWSParams = {
 | 
				
			||||||
            options: {
 | 
					            options: {
 | 
				
			||||||
@ -599,7 +599,7 @@ export class AddonCalendarProvider {
 | 
				
			|||||||
        const site = await CoreSites.getSite(siteId);
 | 
					        const site = await CoreSites.getSite(siteId);
 | 
				
			||||||
        const preSets: CoreSiteWSPreSets = {
 | 
					        const preSets: CoreSiteWSPreSets = {
 | 
				
			||||||
            cacheKey: this.getEventCacheKey(id),
 | 
					            cacheKey: this.getEventCacheKey(id),
 | 
				
			||||||
            updateFrequency: CoreSite.FREQUENCY_RARELY,
 | 
					            updateFrequency: CoreCacheUpdateFrequency.RARELY,
 | 
				
			||||||
        };
 | 
					        };
 | 
				
			||||||
        const params: AddonCalendarGetCalendarEventByIdWSParams = {
 | 
					        const params: AddonCalendarGetCalendarEventByIdWSParams = {
 | 
				
			||||||
            eventid: id,
 | 
					            eventid: id,
 | 
				
			||||||
@ -765,7 +765,7 @@ export class AddonCalendarProvider {
 | 
				
			|||||||
        }
 | 
					        }
 | 
				
			||||||
        const preSets: CoreSiteWSPreSets = {
 | 
					        const preSets: CoreSiteWSPreSets = {
 | 
				
			||||||
            cacheKey: this.getDayEventsCacheKey(year, month, day, courseId, categoryId),
 | 
					            cacheKey: this.getDayEventsCacheKey(year, month, day, courseId, categoryId),
 | 
				
			||||||
            updateFrequency: CoreSite.FREQUENCY_SOMETIMES,
 | 
					            updateFrequency: CoreCacheUpdateFrequency.SOMETIMES,
 | 
				
			||||||
        };
 | 
					        };
 | 
				
			||||||
        if (ignoreCache) {
 | 
					        if (ignoreCache) {
 | 
				
			||||||
            preSets.getFromCache = false;
 | 
					            preSets.getFromCache = false;
 | 
				
			||||||
@ -877,7 +877,7 @@ export class AddonCalendarProvider {
 | 
				
			|||||||
            cacheKey: this.getEventsListCacheKey(daysToStart, daysInterval),
 | 
					            cacheKey: this.getEventsListCacheKey(daysToStart, daysInterval),
 | 
				
			||||||
            getCacheUsingCacheKey: true,
 | 
					            getCacheUsingCacheKey: true,
 | 
				
			||||||
            uniqueCacheKey: true,
 | 
					            uniqueCacheKey: true,
 | 
				
			||||||
            updateFrequency: CoreSite.FREQUENCY_SOMETIMES,
 | 
					            updateFrequency: CoreCacheUpdateFrequency.SOMETIMES,
 | 
				
			||||||
        };
 | 
					        };
 | 
				
			||||||
        const response =
 | 
					        const response =
 | 
				
			||||||
            await site.read<AddonCalendarGetCalendarEventsWSResponse>('core_calendar_get_calendar_events', params, preSets);
 | 
					            await site.read<AddonCalendarGetCalendarEventsWSResponse>('core_calendar_get_calendar_events', params, preSets);
 | 
				
			||||||
@ -955,7 +955,7 @@ export class AddonCalendarProvider {
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
        const preSets: CoreSiteWSPreSets = {
 | 
					        const preSets: CoreSiteWSPreSets = {
 | 
				
			||||||
            cacheKey: this.getMonthlyEventsCacheKey(year, month, courseId, categoryId),
 | 
					            cacheKey: this.getMonthlyEventsCacheKey(year, month, courseId, categoryId),
 | 
				
			||||||
            updateFrequency: CoreSite.FREQUENCY_SOMETIMES,
 | 
					            updateFrequency: CoreCacheUpdateFrequency.SOMETIMES,
 | 
				
			||||||
        };
 | 
					        };
 | 
				
			||||||
        if (ignoreCache) {
 | 
					        if (ignoreCache) {
 | 
				
			||||||
            preSets.getFromCache = false;
 | 
					            preSets.getFromCache = false;
 | 
				
			||||||
@ -1040,7 +1040,7 @@ export class AddonCalendarProvider {
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
        const preSets: CoreSiteWSPreSets = {
 | 
					        const preSets: CoreSiteWSPreSets = {
 | 
				
			||||||
            cacheKey: this.getUpcomingEventsCacheKey(courseId, categoryId),
 | 
					            cacheKey: this.getUpcomingEventsCacheKey(courseId, categoryId),
 | 
				
			||||||
            updateFrequency: CoreSite.FREQUENCY_SOMETIMES,
 | 
					            updateFrequency: CoreCacheUpdateFrequency.SOMETIMES,
 | 
				
			||||||
        };
 | 
					        };
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        if (ignoreCache) {
 | 
					        if (ignoreCache) {
 | 
				
			||||||
 | 
				
			|||||||
@ -12,6 +12,7 @@
 | 
				
			|||||||
// See the License for the specific language governing permissions and
 | 
					// See the License for the specific language governing permissions and
 | 
				
			||||||
// limitations under the License.
 | 
					// limitations under the License.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					import { CoreCacheUpdateFrequency } from '@/core/constants';
 | 
				
			||||||
import { Injectable } from '@angular/core';
 | 
					import { Injectable } from '@angular/core';
 | 
				
			||||||
import { CoreSiteWSPreSets } from '@classes/sites/authenticated-site';
 | 
					import { CoreSiteWSPreSets } from '@classes/sites/authenticated-site';
 | 
				
			||||||
import { CoreSite } from '@classes/sites/site';
 | 
					import { CoreSite } from '@classes/sites/site';
 | 
				
			||||||
@ -208,7 +209,7 @@ export class AddonCompetencyProvider {
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
        const preSets: CoreSiteWSPreSets = {
 | 
					        const preSets: CoreSiteWSPreSets = {
 | 
				
			||||||
            cacheKey: this.getLearningPlansCacheKey(userId),
 | 
					            cacheKey: this.getLearningPlansCacheKey(userId),
 | 
				
			||||||
            updateFrequency: CoreSite.FREQUENCY_RARELY,
 | 
					            updateFrequency: CoreCacheUpdateFrequency.RARELY,
 | 
				
			||||||
        };
 | 
					        };
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        const response = await site.read<AddonCompetencyDataForPlansPageWSResponse>('tool_lp_data_for_plans_page', params, preSets);
 | 
					        const response = await site.read<AddonCompetencyDataForPlansPageWSResponse>('tool_lp_data_for_plans_page', params, preSets);
 | 
				
			||||||
@ -232,7 +233,7 @@ export class AddonCompetencyProvider {
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
        const preSets: CoreSiteWSPreSets = {
 | 
					        const preSets: CoreSiteWSPreSets = {
 | 
				
			||||||
            cacheKey: this.getLearningPlanCacheKey(planId),
 | 
					            cacheKey: this.getLearningPlanCacheKey(planId),
 | 
				
			||||||
            updateFrequency: CoreSite.FREQUENCY_RARELY,
 | 
					            updateFrequency: CoreCacheUpdateFrequency.RARELY,
 | 
				
			||||||
        };
 | 
					        };
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        return site.read('tool_lp_data_for_plan_page', params, preSets);
 | 
					        return site.read('tool_lp_data_for_plan_page', params, preSets);
 | 
				
			||||||
@ -260,7 +261,7 @@ export class AddonCompetencyProvider {
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
        const preSets: CoreSiteWSPreSets = {
 | 
					        const preSets: CoreSiteWSPreSets = {
 | 
				
			||||||
            cacheKey: this.getCompetencyInPlanCacheKey(planId, competencyId),
 | 
					            cacheKey: this.getCompetencyInPlanCacheKey(planId, competencyId),
 | 
				
			||||||
            updateFrequency: CoreSite.FREQUENCY_SOMETIMES,
 | 
					            updateFrequency: CoreCacheUpdateFrequency.SOMETIMES,
 | 
				
			||||||
        };
 | 
					        };
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        return site.read(
 | 
					        return site.read(
 | 
				
			||||||
@ -298,7 +299,7 @@ export class AddonCompetencyProvider {
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
        const preSets: CoreSiteWSPreSets = {
 | 
					        const preSets: CoreSiteWSPreSets = {
 | 
				
			||||||
            cacheKey: this.getCompetencyInCourseCacheKey(courseId, competencyId, userId),
 | 
					            cacheKey: this.getCompetencyInCourseCacheKey(courseId, competencyId, userId),
 | 
				
			||||||
            updateFrequency: CoreSite.FREQUENCY_SOMETIMES,
 | 
					            updateFrequency: CoreCacheUpdateFrequency.SOMETIMES,
 | 
				
			||||||
        };
 | 
					        };
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        if (ignoreCache) {
 | 
					        if (ignoreCache) {
 | 
				
			||||||
@ -334,7 +335,7 @@ export class AddonCompetencyProvider {
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
        const preSets: CoreSiteWSPreSets = {
 | 
					        const preSets: CoreSiteWSPreSets = {
 | 
				
			||||||
            cacheKey: this.getCompetencySummaryCacheKey(competencyId, userId),
 | 
					            cacheKey: this.getCompetencySummaryCacheKey(competencyId, userId),
 | 
				
			||||||
            updateFrequency: CoreSite.FREQUENCY_SOMETIMES,
 | 
					            updateFrequency: CoreCacheUpdateFrequency.SOMETIMES,
 | 
				
			||||||
        };
 | 
					        };
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        if (ignoreCache) {
 | 
					        if (ignoreCache) {
 | 
				
			||||||
@ -400,7 +401,7 @@ export class AddonCompetencyProvider {
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
        const preSets: CoreSiteWSPreSets = {
 | 
					        const preSets: CoreSiteWSPreSets = {
 | 
				
			||||||
            cacheKey: this.getCourseCompetenciesCacheKey(courseId),
 | 
					            cacheKey: this.getCourseCompetenciesCacheKey(courseId),
 | 
				
			||||||
            updateFrequency: CoreSite.FREQUENCY_SOMETIMES,
 | 
					            updateFrequency: CoreCacheUpdateFrequency.SOMETIMES,
 | 
				
			||||||
        };
 | 
					        };
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        if (ignoreCache) {
 | 
					        if (ignoreCache) {
 | 
				
			||||||
 | 
				
			|||||||
@ -25,6 +25,7 @@ import { asyncObservable } from '@/core/utils/rxjs';
 | 
				
			|||||||
import { map } from 'rxjs/operators';
 | 
					import { map } from 'rxjs/operators';
 | 
				
			||||||
import { CoreSiteWSPreSets, WSObservable } from '@classes/sites/authenticated-site';
 | 
					import { CoreSiteWSPreSets, WSObservable } from '@classes/sites/authenticated-site';
 | 
				
			||||||
import { firstValueFrom } from 'rxjs';
 | 
					import { firstValueFrom } from 'rxjs';
 | 
				
			||||||
 | 
					import { CoreCacheUpdateFrequency } from '@/core/constants';
 | 
				
			||||||
 | 
					
 | 
				
			||||||
const ROOT_CACHE_KEY = 'mmaCourseCompletion:';
 | 
					const ROOT_CACHE_KEY = 'mmaCourseCompletion:';
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@ -173,7 +174,7 @@ export class AddonCourseCompletionProvider {
 | 
				
			|||||||
            const preSets = {
 | 
					            const preSets = {
 | 
				
			||||||
                ...(options.preSets ?? {}),
 | 
					                ...(options.preSets ?? {}),
 | 
				
			||||||
                cacheKey: this.getCompletionCacheKey(courseId, userId),
 | 
					                cacheKey: this.getCompletionCacheKey(courseId, userId),
 | 
				
			||||||
                updateFrequency: CoreSite.FREQUENCY_SOMETIMES,
 | 
					                updateFrequency: CoreCacheUpdateFrequency.SOMETIMES,
 | 
				
			||||||
                cacheErrors: ['notenroled'],
 | 
					                cacheErrors: ['notenroled'],
 | 
				
			||||||
                ...CoreSites.getReadingStrategyPreSets(options.readingStrategy),
 | 
					                ...CoreSites.getReadingStrategyPreSets(options.readingStrategy),
 | 
				
			||||||
            };
 | 
					            };
 | 
				
			||||||
 | 
				
			|||||||
@ -12,9 +12,9 @@
 | 
				
			|||||||
// See the License for the specific language governing permissions and
 | 
					// See the License for the specific language governing permissions and
 | 
				
			||||||
// limitations under the License.
 | 
					// limitations under the License.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					import { CoreCacheUpdateFrequency } from '@/core/constants';
 | 
				
			||||||
import { Injectable } from '@angular/core';
 | 
					import { Injectable } from '@angular/core';
 | 
				
			||||||
import { CoreSiteWSPreSets } from '@classes/sites/authenticated-site';
 | 
					import { CoreSiteWSPreSets } from '@classes/sites/authenticated-site';
 | 
				
			||||||
import { CoreSite } from '@classes/sites/site';
 | 
					 | 
				
			||||||
import { CoreEnrolEnrolmentInfo } from '@features/enrol/services/enrol';
 | 
					import { CoreEnrolEnrolmentInfo } from '@features/enrol/services/enrol';
 | 
				
			||||||
import { CoreSites } from '@services/sites';
 | 
					import { CoreSites } from '@services/sites';
 | 
				
			||||||
import { CoreWSExternalWarning } from '@services/ws';
 | 
					import { CoreWSExternalWarning } from '@services/ws';
 | 
				
			||||||
@ -44,7 +44,7 @@ export class AddonEnrolGuestService {
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
        const preSets: CoreSiteWSPreSets = {
 | 
					        const preSets: CoreSiteWSPreSets = {
 | 
				
			||||||
            cacheKey: this.getGuestEnrolmentInfoCacheKey(instanceId),
 | 
					            cacheKey: this.getGuestEnrolmentInfoCacheKey(instanceId),
 | 
				
			||||||
            updateFrequency: CoreSite.FREQUENCY_RARELY,
 | 
					            updateFrequency: CoreCacheUpdateFrequency.RARELY,
 | 
				
			||||||
        };
 | 
					        };
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        const response =
 | 
					        const response =
 | 
				
			||||||
 | 
				
			|||||||
@ -12,10 +12,10 @@
 | 
				
			|||||||
// See the License for the specific language governing permissions and
 | 
					// See the License for the specific language governing permissions and
 | 
				
			||||||
// limitations under the License.
 | 
					// limitations under the License.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					import { CoreCacheUpdateFrequency } from '@/core/constants';
 | 
				
			||||||
import { Injectable } from '@angular/core';
 | 
					import { Injectable } from '@angular/core';
 | 
				
			||||||
import { CoreWSError } from '@classes/errors/wserror';
 | 
					import { CoreWSError } from '@classes/errors/wserror';
 | 
				
			||||||
import { CoreSiteWSPreSets } from '@classes/sites/authenticated-site';
 | 
					import { CoreSiteWSPreSets } from '@classes/sites/authenticated-site';
 | 
				
			||||||
import { CoreSite } from '@classes/sites/site';
 | 
					 | 
				
			||||||
import { CoreCoursesProvider } from '@features/courses/services/courses';
 | 
					import { CoreCoursesProvider } from '@features/courses/services/courses';
 | 
				
			||||||
import { CoreSites } from '@services/sites';
 | 
					import { CoreSites } from '@services/sites';
 | 
				
			||||||
import { CoreStatusWithWarningsWSResponse } from '@services/ws';
 | 
					import { CoreStatusWithWarningsWSResponse } from '@services/ws';
 | 
				
			||||||
@ -45,7 +45,7 @@ export class AddonEnrolSelfService {
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
        const preSets: CoreSiteWSPreSets = {
 | 
					        const preSets: CoreSiteWSPreSets = {
 | 
				
			||||||
            cacheKey: this.getSelfEnrolmentInfoCacheKey(instanceId),
 | 
					            cacheKey: this.getSelfEnrolmentInfoCacheKey(instanceId),
 | 
				
			||||||
            updateFrequency: CoreSite.FREQUENCY_RARELY,
 | 
					            updateFrequency: CoreCacheUpdateFrequency.RARELY,
 | 
				
			||||||
        };
 | 
					        };
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        return await site.read<AddonEnrolSelfGetInstanceInfoWSResponse>('enrol_self_get_instance_info', params, preSets);
 | 
					        return await site.read<AddonEnrolSelfGetInstanceInfoWSResponse>('enrol_self_get_instance_info', params, preSets);
 | 
				
			||||||
 | 
				
			|||||||
@ -16,8 +16,7 @@ import { Injectable } from '@angular/core';
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
import { CoreSites, CoreSitesCommonWSOptions, CoreSitesReadingStrategy } from '@services/sites';
 | 
					import { CoreSites, CoreSitesCommonWSOptions, CoreSitesReadingStrategy } from '@services/sites';
 | 
				
			||||||
import { CoreWSExternalWarning } from '@services/ws';
 | 
					import { CoreWSExternalWarning } from '@services/ws';
 | 
				
			||||||
import { CoreConstants } from '@/core/constants';
 | 
					import { CoreCacheUpdateFrequency, CoreConstants } from '@/core/constants';
 | 
				
			||||||
import { CoreSite } from '@classes/sites/site';
 | 
					 | 
				
			||||||
import { CoreError } from '@classes/errors/error';
 | 
					import { CoreError } from '@classes/errors/error';
 | 
				
			||||||
import { CoreWSError } from '@classes/errors/wserror';
 | 
					import { CoreWSError } from '@classes/errors/wserror';
 | 
				
			||||||
import { makeSingleton, Translate } from '@singletons';
 | 
					import { makeSingleton, Translate } from '@singletons';
 | 
				
			||||||
@ -102,7 +101,7 @@ export class AddonMessageOutputAirnotifierProvider {
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
        const preSets: CoreSiteWSPreSets = {
 | 
					        const preSets: CoreSiteWSPreSets = {
 | 
				
			||||||
            cacheKey: this.getSystemConfiguredCacheKey(),
 | 
					            cacheKey: this.getSystemConfiguredCacheKey(),
 | 
				
			||||||
            updateFrequency: CoreSite.FREQUENCY_RARELY,
 | 
					            updateFrequency: CoreCacheUpdateFrequency.RARELY,
 | 
				
			||||||
            ...CoreSites.getReadingStrategyPreSets(options.readingStrategy), // Include reading strategy preSets.
 | 
					            ...CoreSites.getReadingStrategyPreSets(options.readingStrategy), // Include reading strategy preSets.
 | 
				
			||||||
        };
 | 
					        };
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@ -136,7 +135,7 @@ export class AddonMessageOutputAirnotifierProvider {
 | 
				
			|||||||
        };
 | 
					        };
 | 
				
			||||||
        const preSets: CoreSiteWSPreSets = {
 | 
					        const preSets: CoreSiteWSPreSets = {
 | 
				
			||||||
            cacheKey: this.getUserDevicesCacheKey(),
 | 
					            cacheKey: this.getUserDevicesCacheKey(),
 | 
				
			||||||
            updateFrequency: CoreSite.FREQUENCY_RARELY,
 | 
					            updateFrequency: CoreCacheUpdateFrequency.RARELY,
 | 
				
			||||||
        };
 | 
					        };
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        if (ignoreCache) {
 | 
					        if (ignoreCache) {
 | 
				
			||||||
 | 
				
			|||||||
@ -34,6 +34,7 @@ import { AddonMessagesSyncEvents, AddonMessagesSyncProvider } from './messages-s
 | 
				
			|||||||
import { CoreWSError } from '@classes/errors/wserror';
 | 
					import { CoreWSError } from '@classes/errors/wserror';
 | 
				
			||||||
import { AddonNotificationsPreferencesNotificationProcessorState } from '@addons/notifications/services/notifications';
 | 
					import { AddonNotificationsPreferencesNotificationProcessorState } from '@addons/notifications/services/notifications';
 | 
				
			||||||
import { CoreSiteWSPreSets } from '@classes/sites/authenticated-site';
 | 
					import { CoreSiteWSPreSets } from '@classes/sites/authenticated-site';
 | 
				
			||||||
 | 
					import { CoreCacheUpdateFrequency } from '@/core/constants';
 | 
				
			||||||
 | 
					
 | 
				
			||||||
declare module '@singletons/events' {
 | 
					declare module '@singletons/events' {
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@ -628,7 +629,7 @@ export class AddonMessagesProvider {
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
        const preSets: CoreSiteWSPreSets = {
 | 
					        const preSets: CoreSiteWSPreSets = {
 | 
				
			||||||
            cacheKey: this.getCacheKeyForBlockedContacts(userId),
 | 
					            cacheKey: this.getCacheKeyForBlockedContacts(userId),
 | 
				
			||||||
            updateFrequency: CoreSite.FREQUENCY_OFTEN,
 | 
					            updateFrequency: CoreCacheUpdateFrequency.OFTEN,
 | 
				
			||||||
        };
 | 
					        };
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        return site.read('core_message_get_blocked_users', params, preSets);
 | 
					        return site.read('core_message_get_blocked_users', params, preSets);
 | 
				
			||||||
@ -648,7 +649,7 @@ export class AddonMessagesProvider {
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
        const preSets: CoreSiteWSPreSets = {
 | 
					        const preSets: CoreSiteWSPreSets = {
 | 
				
			||||||
            cacheKey: this.getCacheKeyForContacts(),
 | 
					            cacheKey: this.getCacheKeyForContacts(),
 | 
				
			||||||
            updateFrequency: CoreSite.FREQUENCY_OFTEN,
 | 
					            updateFrequency: CoreCacheUpdateFrequency.OFTEN,
 | 
				
			||||||
        };
 | 
					        };
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        const contacts = await site.read<AddonMessagesGetContactsWSResponse>('core_message_get_contacts', undefined, preSets);
 | 
					        const contacts = await site.read<AddonMessagesGetContactsWSResponse>('core_message_get_contacts', undefined, preSets);
 | 
				
			||||||
@ -699,7 +700,7 @@ export class AddonMessagesProvider {
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
        const preSets: CoreSiteWSPreSets = {
 | 
					        const preSets: CoreSiteWSPreSets = {
 | 
				
			||||||
            cacheKey: this.getCacheKeyForUserContacts(),
 | 
					            cacheKey: this.getCacheKeyForUserContacts(),
 | 
				
			||||||
            updateFrequency: CoreSite.FREQUENCY_OFTEN,
 | 
					            updateFrequency: CoreCacheUpdateFrequency.OFTEN,
 | 
				
			||||||
        };
 | 
					        };
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        const contacts = await site.read<AddonMessagesGetUserContactsWSResponse>('core_message_get_user_contacts', params, preSets);
 | 
					        const contacts = await site.read<AddonMessagesGetUserContactsWSResponse>('core_message_get_user_contacts', params, preSets);
 | 
				
			||||||
@ -743,7 +744,7 @@ export class AddonMessagesProvider {
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
        const preSets: CoreSiteWSPreSets = {
 | 
					        const preSets: CoreSiteWSPreSets = {
 | 
				
			||||||
            cacheKey: this.getCacheKeyForContactRequests(),
 | 
					            cacheKey: this.getCacheKeyForContactRequests(),
 | 
				
			||||||
            updateFrequency: CoreSite.FREQUENCY_OFTEN,
 | 
					            updateFrequency: CoreCacheUpdateFrequency.OFTEN,
 | 
				
			||||||
        };
 | 
					        };
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        const requests = await site.read<AddonMessagesGetContactRequestsWSResponse>(
 | 
					        const requests = await site.read<AddonMessagesGetContactRequestsWSResponse>(
 | 
				
			||||||
@ -939,7 +940,7 @@ export class AddonMessagesProvider {
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
        const preSets: CoreSiteWSPreSets = {
 | 
					        const preSets: CoreSiteWSPreSets = {
 | 
				
			||||||
            cacheKey: this.getCacheKeyForConversationMembers(userId, conversationId),
 | 
					            cacheKey: this.getCacheKeyForConversationMembers(userId, conversationId),
 | 
				
			||||||
            updateFrequency: CoreSite.FREQUENCY_SOMETIMES,
 | 
					            updateFrequency: CoreCacheUpdateFrequency.SOMETIMES,
 | 
				
			||||||
        };
 | 
					        };
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        const params: AddonMessagesGetConversationMembersWSParams = {
 | 
					        const params: AddonMessagesGetConversationMembersWSParams = {
 | 
				
			||||||
@ -1371,7 +1372,7 @@ export class AddonMessagesProvider {
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
        const preSets: CoreSiteWSPreSets = {
 | 
					        const preSets: CoreSiteWSPreSets = {
 | 
				
			||||||
            cacheKey: this.getCacheKeyForMemberInfo(userId, otherUserId),
 | 
					            cacheKey: this.getCacheKeyForMemberInfo(userId, otherUserId),
 | 
				
			||||||
            updateFrequency: CoreSite.FREQUENCY_OFTEN,
 | 
					            updateFrequency: CoreCacheUpdateFrequency.OFTEN,
 | 
				
			||||||
        };
 | 
					        };
 | 
				
			||||||
        const params: AddonMessagesGetMemberInfoWSParams = {
 | 
					        const params: AddonMessagesGetMemberInfoWSParams = {
 | 
				
			||||||
            referenceuserid: userId,
 | 
					            referenceuserid: userId,
 | 
				
			||||||
@ -1410,7 +1411,7 @@ export class AddonMessagesProvider {
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
        const preSets: CoreSiteWSPreSets = {
 | 
					        const preSets: CoreSiteWSPreSets = {
 | 
				
			||||||
            cacheKey: this.getMessagePreferencesCacheKey(),
 | 
					            cacheKey: this.getMessagePreferencesCacheKey(),
 | 
				
			||||||
            updateFrequency: CoreSite.FREQUENCY_SOMETIMES,
 | 
					            updateFrequency: CoreCacheUpdateFrequency.SOMETIMES,
 | 
				
			||||||
        };
 | 
					        };
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        const data = await site.read<AddonMessagesGetUserMessagePreferencesWSResponse>(
 | 
					        const data = await site.read<AddonMessagesGetUserMessagePreferencesWSResponse>(
 | 
				
			||||||
 | 
				
			|||||||
@ -35,7 +35,7 @@ import { CoreFormFields } from '@singletons/form';
 | 
				
			|||||||
import { CoreFileHelper } from '@services/file-helper';
 | 
					import { CoreFileHelper } from '@services/file-helper';
 | 
				
			||||||
import { CoreIonicColorNames } from '@singletons/colors';
 | 
					import { CoreIonicColorNames } from '@singletons/colors';
 | 
				
			||||||
import { CoreSiteWSPreSets } from '@classes/sites/authenticated-site';
 | 
					import { CoreSiteWSPreSets } from '@classes/sites/authenticated-site';
 | 
				
			||||||
import { ContextLevel } from '@/core/constants';
 | 
					import { ContextLevel, CoreCacheUpdateFrequency } from '@/core/constants';
 | 
				
			||||||
import {
 | 
					import {
 | 
				
			||||||
    ADDON_MOD_ASSIGN_AUTO_SYNCED,
 | 
					    ADDON_MOD_ASSIGN_AUTO_SYNCED,
 | 
				
			||||||
    ADDON_MOD_ASSIGN_COMPONENT,
 | 
					    ADDON_MOD_ASSIGN_COMPONENT,
 | 
				
			||||||
@ -174,7 +174,7 @@ export class AddonModAssignProvider {
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
        const preSets: CoreSiteWSPreSets = {
 | 
					        const preSets: CoreSiteWSPreSets = {
 | 
				
			||||||
            cacheKey: this.getAssignmentCacheKey(courseId),
 | 
					            cacheKey: this.getAssignmentCacheKey(courseId),
 | 
				
			||||||
            updateFrequency: CoreSite.FREQUENCY_RARELY,
 | 
					            updateFrequency: CoreCacheUpdateFrequency.RARELY,
 | 
				
			||||||
            component: ADDON_MOD_ASSIGN_COMPONENT,
 | 
					            component: ADDON_MOD_ASSIGN_COMPONENT,
 | 
				
			||||||
            ...CoreSites.getReadingStrategyPreSets(options.readingStrategy), // Include reading strategy preSets.
 | 
					            ...CoreSites.getReadingStrategyPreSets(options.readingStrategy), // Include reading strategy preSets.
 | 
				
			||||||
        };
 | 
					        };
 | 
				
			||||||
@ -246,7 +246,7 @@ export class AddonModAssignProvider {
 | 
				
			|||||||
        };
 | 
					        };
 | 
				
			||||||
        const preSets: CoreSiteWSPreSets = {
 | 
					        const preSets: CoreSiteWSPreSets = {
 | 
				
			||||||
            cacheKey: this.getAssignmentUserMappingsCacheKey(assignId),
 | 
					            cacheKey: this.getAssignmentUserMappingsCacheKey(assignId),
 | 
				
			||||||
            updateFrequency: CoreSite.FREQUENCY_OFTEN,
 | 
					            updateFrequency: CoreCacheUpdateFrequency.OFTEN,
 | 
				
			||||||
            component: ADDON_MOD_ASSIGN_COMPONENT,
 | 
					            component: ADDON_MOD_ASSIGN_COMPONENT,
 | 
				
			||||||
            componentId: options.cmId,
 | 
					            componentId: options.cmId,
 | 
				
			||||||
            ...CoreSites.getReadingStrategyPreSets(options.readingStrategy),
 | 
					            ...CoreSites.getReadingStrategyPreSets(options.readingStrategy),
 | 
				
			||||||
@ -456,7 +456,7 @@ export class AddonModAssignProvider {
 | 
				
			|||||||
        };
 | 
					        };
 | 
				
			||||||
        const preSets: CoreSiteWSPreSets = {
 | 
					        const preSets: CoreSiteWSPreSets = {
 | 
				
			||||||
            cacheKey: this.getSubmissionsCacheKey(assignId),
 | 
					            cacheKey: this.getSubmissionsCacheKey(assignId),
 | 
				
			||||||
            updateFrequency: CoreSite.FREQUENCY_OFTEN,
 | 
					            updateFrequency: CoreCacheUpdateFrequency.OFTEN,
 | 
				
			||||||
            component: ADDON_MOD_ASSIGN_COMPONENT,
 | 
					            component: ADDON_MOD_ASSIGN_COMPONENT,
 | 
				
			||||||
            componentId: options.cmId,
 | 
					            componentId: options.cmId,
 | 
				
			||||||
            ...CoreSites.getReadingStrategyPreSets(options.readingStrategy),
 | 
					            ...CoreSites.getReadingStrategyPreSets(options.readingStrategy),
 | 
				
			||||||
@ -654,7 +654,7 @@ export class AddonModAssignProvider {
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
        const preSets: CoreSiteWSPreSets = {
 | 
					        const preSets: CoreSiteWSPreSets = {
 | 
				
			||||||
            cacheKey: this.listParticipantsCacheKey(assignId, groupId),
 | 
					            cacheKey: this.listParticipantsCacheKey(assignId, groupId),
 | 
				
			||||||
            updateFrequency: CoreSite.FREQUENCY_OFTEN,
 | 
					            updateFrequency: CoreCacheUpdateFrequency.OFTEN,
 | 
				
			||||||
            component: ADDON_MOD_ASSIGN_COMPONENT,
 | 
					            component: ADDON_MOD_ASSIGN_COMPONENT,
 | 
				
			||||||
            componentId: options.cmId,
 | 
					            componentId: options.cmId,
 | 
				
			||||||
            ...CoreSites.getReadingStrategyPreSets(options.readingStrategy),
 | 
					            ...CoreSites.getReadingStrategyPreSets(options.readingStrategy),
 | 
				
			||||||
 | 
				
			|||||||
@ -16,7 +16,6 @@ import { Injectable } from '@angular/core';
 | 
				
			|||||||
import { CoreError } from '@classes/errors/error';
 | 
					import { CoreError } from '@classes/errors/error';
 | 
				
			||||||
import { CoreWSError } from '@classes/errors/wserror';
 | 
					import { CoreWSError } from '@classes/errors/wserror';
 | 
				
			||||||
import { CoreSiteWSPreSets } from '@classes/sites/authenticated-site';
 | 
					import { CoreSiteWSPreSets } from '@classes/sites/authenticated-site';
 | 
				
			||||||
import { CoreSite } from '@classes/sites/site';
 | 
					 | 
				
			||||||
import { CoreCourseCommonModWSOptions } from '@features/course/services/course';
 | 
					import { CoreCourseCommonModWSOptions } from '@features/course/services/course';
 | 
				
			||||||
import { CoreCourseLogHelper } from '@features/course/services/log-helper';
 | 
					import { CoreCourseLogHelper } from '@features/course/services/log-helper';
 | 
				
			||||||
import { CoreSites, CoreSitesCommonWSOptions } from '@services/sites';
 | 
					import { CoreSites, CoreSitesCommonWSOptions } from '@services/sites';
 | 
				
			||||||
@ -25,6 +24,7 @@ import { CoreUtils } from '@services/utils/utils';
 | 
				
			|||||||
import { CoreWSExternalFile, CoreWSExternalWarning } from '@services/ws';
 | 
					import { CoreWSExternalFile, CoreWSExternalWarning } from '@services/ws';
 | 
				
			||||||
import { makeSingleton, Translate } from '@singletons';
 | 
					import { makeSingleton, Translate } from '@singletons';
 | 
				
			||||||
import { ADDON_MOD_BBB_COMPONENT } from '../constants';
 | 
					import { ADDON_MOD_BBB_COMPONENT } from '../constants';
 | 
				
			||||||
 | 
					import { CoreCacheUpdateFrequency } from '@/core/constants';
 | 
				
			||||||
 | 
					
 | 
				
			||||||
/**
 | 
					/**
 | 
				
			||||||
 * Service that provides some features for Big Blue Button activity.
 | 
					 * Service that provides some features for Big Blue Button activity.
 | 
				
			||||||
@ -73,7 +73,7 @@ export class AddonModBBBService {
 | 
				
			|||||||
        };
 | 
					        };
 | 
				
			||||||
        const preSets: CoreSiteWSPreSets = {
 | 
					        const preSets: CoreSiteWSPreSets = {
 | 
				
			||||||
            cacheKey: this.getBBBsCacheKey(courseId),
 | 
					            cacheKey: this.getBBBsCacheKey(courseId),
 | 
				
			||||||
            updateFrequency: CoreSite.FREQUENCY_RARELY,
 | 
					            updateFrequency: CoreCacheUpdateFrequency.RARELY,
 | 
				
			||||||
            component: ADDON_MOD_BBB_COMPONENT,
 | 
					            component: ADDON_MOD_BBB_COMPONENT,
 | 
				
			||||||
            ...CoreSites.getReadingStrategyPreSets(options.readingStrategy), // Include reading strategy preSets.
 | 
					            ...CoreSites.getReadingStrategyPreSets(options.readingStrategy), // Include reading strategy preSets.
 | 
				
			||||||
        };
 | 
					        };
 | 
				
			||||||
 | 
				
			|||||||
@ -14,7 +14,6 @@
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
import { Injectable } from '@angular/core';
 | 
					import { Injectable } from '@angular/core';
 | 
				
			||||||
import { CoreSites, CoreSitesCommonWSOptions } from '@services/sites';
 | 
					import { CoreSites, CoreSitesCommonWSOptions } from '@services/sites';
 | 
				
			||||||
import { CoreSite } from '@classes/sites/site';
 | 
					 | 
				
			||||||
import { CoreTagItem } from '@features/tag/services/tag';
 | 
					import { CoreTagItem } from '@features/tag/services/tag';
 | 
				
			||||||
import { CoreWSExternalWarning, CoreWSExternalFile, CoreWS } from '@services/ws';
 | 
					import { CoreWSExternalWarning, CoreWSExternalFile, CoreWS } from '@services/ws';
 | 
				
			||||||
import { makeSingleton, Translate } from '@singletons';
 | 
					import { makeSingleton, Translate } from '@singletons';
 | 
				
			||||||
@ -29,6 +28,7 @@ import { CoreError } from '@classes/errors/error';
 | 
				
			|||||||
import { CoreSiteWSPreSets } from '@classes/sites/authenticated-site';
 | 
					import { CoreSiteWSPreSets } from '@classes/sites/authenticated-site';
 | 
				
			||||||
import { ADDON_MOD_BOOK_COMPONENT } from '../constants';
 | 
					import { ADDON_MOD_BOOK_COMPONENT } from '../constants';
 | 
				
			||||||
import { CoreUrl } from '@singletons/url';
 | 
					import { CoreUrl } from '@singletons/url';
 | 
				
			||||||
 | 
					import { CoreCacheUpdateFrequency } from '@/core/constants';
 | 
				
			||||||
 | 
					
 | 
				
			||||||
/**
 | 
					/**
 | 
				
			||||||
 * Service that provides some features for books.
 | 
					 * Service that provides some features for books.
 | 
				
			||||||
@ -72,7 +72,7 @@ export class AddonModBookProvider {
 | 
				
			|||||||
        };
 | 
					        };
 | 
				
			||||||
        const preSets: CoreSiteWSPreSets = {
 | 
					        const preSets: CoreSiteWSPreSets = {
 | 
				
			||||||
            cacheKey: this.getBookDataCacheKey(courseId),
 | 
					            cacheKey: this.getBookDataCacheKey(courseId),
 | 
				
			||||||
            updateFrequency: CoreSite.FREQUENCY_RARELY,
 | 
					            updateFrequency: CoreCacheUpdateFrequency.RARELY,
 | 
				
			||||||
            component: ADDON_MOD_BOOK_COMPONENT,
 | 
					            component: ADDON_MOD_BOOK_COMPONENT,
 | 
				
			||||||
            ...CoreSites.getReadingStrategyPreSets(options.readingStrategy),
 | 
					            ...CoreSites.getReadingStrategyPreSets(options.readingStrategy),
 | 
				
			||||||
        };
 | 
					        };
 | 
				
			||||||
 | 
				
			|||||||
@ -15,7 +15,6 @@
 | 
				
			|||||||
import { Injectable } from '@angular/core';
 | 
					import { Injectable } from '@angular/core';
 | 
				
			||||||
import { CoreError } from '@classes/errors/error';
 | 
					import { CoreError } from '@classes/errors/error';
 | 
				
			||||||
import { CoreSiteWSPreSets } from '@classes/sites/authenticated-site';
 | 
					import { CoreSiteWSPreSets } from '@classes/sites/authenticated-site';
 | 
				
			||||||
import { CoreSite } from '@classes/sites/site';
 | 
					 | 
				
			||||||
import { CoreCourseCommonModWSOptions } from '@features/course/services/course';
 | 
					import { CoreCourseCommonModWSOptions } from '@features/course/services/course';
 | 
				
			||||||
import { CoreCourseLogHelper } from '@features/course/services/log-helper';
 | 
					import { CoreCourseLogHelper } from '@features/course/services/log-helper';
 | 
				
			||||||
import { CoreUser } from '@features/user/services/user';
 | 
					import { CoreUser } from '@features/user/services/user';
 | 
				
			||||||
@ -23,6 +22,7 @@ import { CoreSites, CoreSitesCommonWSOptions, CoreSitesReadingStrategy } from '@
 | 
				
			|||||||
import { CoreWSExternalFile, CoreWSExternalWarning } from '@services/ws';
 | 
					import { CoreWSExternalFile, CoreWSExternalWarning } from '@services/ws';
 | 
				
			||||||
import { makeSingleton, Translate } from '@singletons';
 | 
					import { makeSingleton, Translate } from '@singletons';
 | 
				
			||||||
import { ADDON_MOD_CHAT_COMPONENT } from '../constants';
 | 
					import { ADDON_MOD_CHAT_COMPONENT } from '../constants';
 | 
				
			||||||
 | 
					import { CoreCacheUpdateFrequency } from '@/core/constants';
 | 
				
			||||||
 | 
					
 | 
				
			||||||
/**
 | 
					/**
 | 
				
			||||||
 * Service that provides some features for chats.
 | 
					 * Service that provides some features for chats.
 | 
				
			||||||
@ -48,7 +48,7 @@ export class AddonModChatProvider {
 | 
				
			|||||||
        };
 | 
					        };
 | 
				
			||||||
        const preSets: CoreSiteWSPreSets = {
 | 
					        const preSets: CoreSiteWSPreSets = {
 | 
				
			||||||
            cacheKey: this.getChatsCacheKey(courseId),
 | 
					            cacheKey: this.getChatsCacheKey(courseId),
 | 
				
			||||||
            updateFrequency: CoreSite.FREQUENCY_RARELY,
 | 
					            updateFrequency: CoreCacheUpdateFrequency.RARELY,
 | 
				
			||||||
            component: ADDON_MOD_CHAT_COMPONENT,
 | 
					            component: ADDON_MOD_CHAT_COMPONENT,
 | 
				
			||||||
            ...CoreSites.getReadingStrategyPreSets(options.readingStrategy), // Include reading strategy preSets.
 | 
					            ...CoreSites.getReadingStrategyPreSets(options.readingStrategy), // Include reading strategy preSets.
 | 
				
			||||||
        };
 | 
					        };
 | 
				
			||||||
@ -262,7 +262,7 @@ export class AddonModChatProvider {
 | 
				
			|||||||
        };
 | 
					        };
 | 
				
			||||||
        const preSets: CoreSiteWSPreSets = {
 | 
					        const preSets: CoreSiteWSPreSets = {
 | 
				
			||||||
            cacheKey: this.getSessionsCacheKey(chatId, groupId, showAll),
 | 
					            cacheKey: this.getSessionsCacheKey(chatId, groupId, showAll),
 | 
				
			||||||
            updateFrequency: CoreSite.FREQUENCY_SOMETIMES,
 | 
					            updateFrequency: CoreCacheUpdateFrequency.SOMETIMES,
 | 
				
			||||||
            component: ADDON_MOD_CHAT_COMPONENT,
 | 
					            component: ADDON_MOD_CHAT_COMPONENT,
 | 
				
			||||||
            componentId: options.cmId,
 | 
					            componentId: options.cmId,
 | 
				
			||||||
            ...CoreSites.getReadingStrategyPreSets(options.readingStrategy), // Include reading strategy preSets.
 | 
					            ...CoreSites.getReadingStrategyPreSets(options.readingStrategy), // Include reading strategy preSets.
 | 
				
			||||||
@ -300,7 +300,7 @@ export class AddonModChatProvider {
 | 
				
			|||||||
        };
 | 
					        };
 | 
				
			||||||
        const preSets: CoreSiteWSPreSets = {
 | 
					        const preSets: CoreSiteWSPreSets = {
 | 
				
			||||||
            cacheKey: this.getSessionMessagesCacheKey(chatId, sessionStart, groupId),
 | 
					            cacheKey: this.getSessionMessagesCacheKey(chatId, sessionStart, groupId),
 | 
				
			||||||
            updateFrequency: CoreSite.FREQUENCY_RARELY,
 | 
					            updateFrequency: CoreCacheUpdateFrequency.RARELY,
 | 
				
			||||||
            component: ADDON_MOD_CHAT_COMPONENT,
 | 
					            component: ADDON_MOD_CHAT_COMPONENT,
 | 
				
			||||||
            componentId: options.cmId,
 | 
					            componentId: options.cmId,
 | 
				
			||||||
            ...CoreSites.getReadingStrategyPreSets(options.readingStrategy), // Include reading strategy preSets.
 | 
					            ...CoreSites.getReadingStrategyPreSets(options.readingStrategy), // Include reading strategy preSets.
 | 
				
			||||||
 | 
				
			|||||||
@ -15,7 +15,6 @@
 | 
				
			|||||||
import { Injectable } from '@angular/core';
 | 
					import { Injectable } from '@angular/core';
 | 
				
			||||||
import { CoreError } from '@classes/errors/error';
 | 
					import { CoreError } from '@classes/errors/error';
 | 
				
			||||||
import { CoreWSError } from '@classes/errors/wserror';
 | 
					import { CoreWSError } from '@classes/errors/wserror';
 | 
				
			||||||
import { CoreSite } from '@classes/sites/site';
 | 
					 | 
				
			||||||
import { CoreCourseCommonModWSOptions } from '@features/course/services/course';
 | 
					import { CoreCourseCommonModWSOptions } from '@features/course/services/course';
 | 
				
			||||||
import { CoreCourseLogHelper } from '@features/course/services/log-helper';
 | 
					import { CoreCourseLogHelper } from '@features/course/services/log-helper';
 | 
				
			||||||
import { CoreNetwork } from '@services/network';
 | 
					import { CoreNetwork } from '@services/network';
 | 
				
			||||||
@ -28,6 +27,7 @@ import { AddonModChoiceOffline } from './choice-offline';
 | 
				
			|||||||
import { AddonModChoiceAutoSyncData } from './choice-sync';
 | 
					import { AddonModChoiceAutoSyncData } from './choice-sync';
 | 
				
			||||||
import { CoreSiteWSPreSets } from '@classes/sites/authenticated-site';
 | 
					import { CoreSiteWSPreSets } from '@classes/sites/authenticated-site';
 | 
				
			||||||
import { ADDON_MOD_CHOICE_AUTO_SYNCED, ADDON_MOD_CHOICE_COMPONENT, AddonModChoiceShowResults } from '../constants';
 | 
					import { ADDON_MOD_CHOICE_AUTO_SYNCED, ADDON_MOD_CHOICE_COMPONENT, AddonModChoiceShowResults } from '../constants';
 | 
				
			||||||
 | 
					import { CoreCacheUpdateFrequency } from '@/core/constants';
 | 
				
			||||||
 | 
					
 | 
				
			||||||
/**
 | 
					/**
 | 
				
			||||||
 * Service that provides some features for choices.
 | 
					 * Service that provides some features for choices.
 | 
				
			||||||
@ -217,7 +217,7 @@ export class AddonModChoiceProvider {
 | 
				
			|||||||
        };
 | 
					        };
 | 
				
			||||||
        const preSets: CoreSiteWSPreSets = {
 | 
					        const preSets: CoreSiteWSPreSets = {
 | 
				
			||||||
            cacheKey: this.getChoiceDataCacheKey(courseId),
 | 
					            cacheKey: this.getChoiceDataCacheKey(courseId),
 | 
				
			||||||
            updateFrequency: CoreSite.FREQUENCY_RARELY,
 | 
					            updateFrequency: CoreCacheUpdateFrequency.RARELY,
 | 
				
			||||||
            component: ADDON_MOD_CHOICE_COMPONENT,
 | 
					            component: ADDON_MOD_CHOICE_COMPONENT,
 | 
				
			||||||
            ...CoreSites.getReadingStrategyPreSets(options.readingStrategy), // Include reading strategy preSets.
 | 
					            ...CoreSites.getReadingStrategyPreSets(options.readingStrategy), // Include reading strategy preSets.
 | 
				
			||||||
        };
 | 
					        };
 | 
				
			||||||
@ -276,7 +276,7 @@ export class AddonModChoiceProvider {
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
        const preSets: CoreSiteWSPreSets = {
 | 
					        const preSets: CoreSiteWSPreSets = {
 | 
				
			||||||
            cacheKey: this.getChoiceOptionsCacheKey(choiceId),
 | 
					            cacheKey: this.getChoiceOptionsCacheKey(choiceId),
 | 
				
			||||||
            updateFrequency: CoreSite.FREQUENCY_RARELY,
 | 
					            updateFrequency: CoreCacheUpdateFrequency.RARELY,
 | 
				
			||||||
            component: ADDON_MOD_CHOICE_COMPONENT,
 | 
					            component: ADDON_MOD_CHOICE_COMPONENT,
 | 
				
			||||||
            componentId: options.cmId,
 | 
					            componentId: options.cmId,
 | 
				
			||||||
            ...CoreSites.getReadingStrategyPreSets(options.readingStrategy), // Include reading strategy preSets.
 | 
					            ...CoreSites.getReadingStrategyPreSets(options.readingStrategy), // Include reading strategy preSets.
 | 
				
			||||||
 | 
				
			|||||||
@ -14,7 +14,6 @@
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
import { Injectable } from '@angular/core';
 | 
					import { Injectable } from '@angular/core';
 | 
				
			||||||
import { CoreError } from '@classes/errors/error';
 | 
					import { CoreError } from '@classes/errors/error';
 | 
				
			||||||
import { CoreSite } from '@classes/sites/site';
 | 
					 | 
				
			||||||
import { CoreCourseCommonModWSOptions } from '@features/course/services/course';
 | 
					import { CoreCourseCommonModWSOptions } from '@features/course/services/course';
 | 
				
			||||||
import { CoreCourseLogHelper } from '@features/course/services/log-helper';
 | 
					import { CoreCourseLogHelper } from '@features/course/services/log-helper';
 | 
				
			||||||
import { CoreRatingInfo } from '@features/rating/services/rating';
 | 
					import { CoreRatingInfo } from '@features/rating/services/rating';
 | 
				
			||||||
@ -37,6 +36,7 @@ import {
 | 
				
			|||||||
    ADDON_MOD_DATA_ENTRY_CHANGED,
 | 
					    ADDON_MOD_DATA_ENTRY_CHANGED,
 | 
				
			||||||
    AddonModDataAction,
 | 
					    AddonModDataAction,
 | 
				
			||||||
} from '../constants';
 | 
					} from '../constants';
 | 
				
			||||||
 | 
					import { CoreCacheUpdateFrequency } from '@/core/constants';
 | 
				
			||||||
 | 
					
 | 
				
			||||||
declare module '@singletons/events' {
 | 
					declare module '@singletons/events' {
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@ -543,7 +543,7 @@ export class AddonModDataProvider {
 | 
				
			|||||||
        };
 | 
					        };
 | 
				
			||||||
        const preSets: CoreSiteWSPreSets = {
 | 
					        const preSets: CoreSiteWSPreSets = {
 | 
				
			||||||
            cacheKey: this.getDatabaseDataCacheKey(courseId),
 | 
					            cacheKey: this.getDatabaseDataCacheKey(courseId),
 | 
				
			||||||
            updateFrequency: CoreSite.FREQUENCY_RARELY,
 | 
					            updateFrequency: CoreCacheUpdateFrequency.RARELY,
 | 
				
			||||||
            component: ADDON_MOD_DATA_COMPONENT,
 | 
					            component: ADDON_MOD_DATA_COMPONENT,
 | 
				
			||||||
            ...CoreSites.getReadingStrategyPreSets(options.readingStrategy), // Include reading strategy preSets.
 | 
					            ...CoreSites.getReadingStrategyPreSets(options.readingStrategy), // Include reading strategy preSets.
 | 
				
			||||||
        };
 | 
					        };
 | 
				
			||||||
@ -663,7 +663,7 @@ export class AddonModDataProvider {
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
        const preSets: CoreSiteWSPreSets = {
 | 
					        const preSets: CoreSiteWSPreSets = {
 | 
				
			||||||
            cacheKey: this.getEntriesCacheKey(dataId, options.groupId),
 | 
					            cacheKey: this.getEntriesCacheKey(dataId, options.groupId),
 | 
				
			||||||
            updateFrequency: CoreSite.FREQUENCY_SOMETIMES,
 | 
					            updateFrequency: CoreCacheUpdateFrequency.SOMETIMES,
 | 
				
			||||||
            component: ADDON_MOD_DATA_COMPONENT,
 | 
					            component: ADDON_MOD_DATA_COMPONENT,
 | 
				
			||||||
            componentId: options.cmId,
 | 
					            componentId: options.cmId,
 | 
				
			||||||
            ...CoreSites.getReadingStrategyPreSets(options.readingStrategy), // Include reading strategy preSets.
 | 
					            ...CoreSites.getReadingStrategyPreSets(options.readingStrategy), // Include reading strategy preSets.
 | 
				
			||||||
@ -721,7 +721,7 @@ export class AddonModDataProvider {
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
        const preSets: CoreSiteWSPreSets = {
 | 
					        const preSets: CoreSiteWSPreSets = {
 | 
				
			||||||
            cacheKey: this.getEntryCacheKey(dataId, entryId),
 | 
					            cacheKey: this.getEntryCacheKey(dataId, entryId),
 | 
				
			||||||
            updateFrequency: CoreSite.FREQUENCY_SOMETIMES,
 | 
					            updateFrequency: CoreCacheUpdateFrequency.SOMETIMES,
 | 
				
			||||||
            component: ADDON_MOD_DATA_COMPONENT,
 | 
					            component: ADDON_MOD_DATA_COMPONENT,
 | 
				
			||||||
            componentId: options.cmId,
 | 
					            componentId: options.cmId,
 | 
				
			||||||
            ...CoreSites.getReadingStrategyPreSets(options.readingStrategy), // Include reading strategy preSets.
 | 
					            ...CoreSites.getReadingStrategyPreSets(options.readingStrategy), // Include reading strategy preSets.
 | 
				
			||||||
@ -773,7 +773,7 @@ export class AddonModDataProvider {
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
        const preSets: CoreSiteWSPreSets = {
 | 
					        const preSets: CoreSiteWSPreSets = {
 | 
				
			||||||
            cacheKey: this.getFieldsCacheKey(dataId),
 | 
					            cacheKey: this.getFieldsCacheKey(dataId),
 | 
				
			||||||
            updateFrequency: CoreSite.FREQUENCY_RARELY,
 | 
					            updateFrequency: CoreCacheUpdateFrequency.RARELY,
 | 
				
			||||||
            component: ADDON_MOD_DATA_COMPONENT,
 | 
					            component: ADDON_MOD_DATA_COMPONENT,
 | 
				
			||||||
            componentId: options.cmId,
 | 
					            componentId: options.cmId,
 | 
				
			||||||
            ...CoreSites.getReadingStrategyPreSets(options.readingStrategy), // Include reading strategy preSets.
 | 
					            ...CoreSites.getReadingStrategyPreSets(options.readingStrategy), // Include reading strategy preSets.
 | 
				
			||||||
 | 
				
			|||||||
@ -14,7 +14,6 @@
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
import { Injectable } from '@angular/core';
 | 
					import { Injectable } from '@angular/core';
 | 
				
			||||||
import { CoreError } from '@classes/errors/error';
 | 
					import { CoreError } from '@classes/errors/error';
 | 
				
			||||||
import { CoreSite } from '@classes/sites/site';
 | 
					 | 
				
			||||||
import { CoreCourseCommonModWSOptions } from '@features/course/services/course';
 | 
					import { CoreCourseCommonModWSOptions } from '@features/course/services/course';
 | 
				
			||||||
import { CoreCourseLogHelper } from '@features/course/services/log-helper';
 | 
					import { CoreCourseLogHelper } from '@features/course/services/log-helper';
 | 
				
			||||||
import { CoreNetwork } from '@services/network';
 | 
					import { CoreNetwork } from '@services/network';
 | 
				
			||||||
@ -36,6 +35,7 @@ import {
 | 
				
			|||||||
    ADDON_MOD_FEEDBACK_PER_PAGE,
 | 
					    ADDON_MOD_FEEDBACK_PER_PAGE,
 | 
				
			||||||
    AddonModFeedbackIndexTabName,
 | 
					    AddonModFeedbackIndexTabName,
 | 
				
			||||||
} from '../constants';
 | 
					} from '../constants';
 | 
				
			||||||
 | 
					import { CoreCacheUpdateFrequency } from '@/core/constants';
 | 
				
			||||||
 | 
					
 | 
				
			||||||
/**
 | 
					/**
 | 
				
			||||||
 * Service that provides some features for feedbacks.
 | 
					 * Service that provides some features for feedbacks.
 | 
				
			||||||
@ -590,7 +590,7 @@ export class AddonModFeedbackProvider {
 | 
				
			|||||||
        };
 | 
					        };
 | 
				
			||||||
        const preSets: CoreSiteWSPreSets = {
 | 
					        const preSets: CoreSiteWSPreSets = {
 | 
				
			||||||
            cacheKey: this.getFeedbackCacheKey(courseId),
 | 
					            cacheKey: this.getFeedbackCacheKey(courseId),
 | 
				
			||||||
            updateFrequency: CoreSite.FREQUENCY_RARELY,
 | 
					            updateFrequency: CoreCacheUpdateFrequency.RARELY,
 | 
				
			||||||
            component: ADDON_MOD_FEEDBACK_COMPONENT,
 | 
					            component: ADDON_MOD_FEEDBACK_COMPONENT,
 | 
				
			||||||
            ...CoreSites.getReadingStrategyPreSets(options.readingStrategy), // Include reading strategy preSets.
 | 
					            ...CoreSites.getReadingStrategyPreSets(options.readingStrategy), // Include reading strategy preSets.
 | 
				
			||||||
        };
 | 
					        };
 | 
				
			||||||
@ -648,7 +648,7 @@ export class AddonModFeedbackProvider {
 | 
				
			|||||||
        };
 | 
					        };
 | 
				
			||||||
        const preSets: CoreSiteWSPreSets = {
 | 
					        const preSets: CoreSiteWSPreSets = {
 | 
				
			||||||
            cacheKey: this.getItemsDataCacheKey(feedbackId),
 | 
					            cacheKey: this.getItemsDataCacheKey(feedbackId),
 | 
				
			||||||
            updateFrequency: CoreSite.FREQUENCY_SOMETIMES,
 | 
					            updateFrequency: CoreCacheUpdateFrequency.SOMETIMES,
 | 
				
			||||||
            component: ADDON_MOD_FEEDBACK_COMPONENT,
 | 
					            component: ADDON_MOD_FEEDBACK_COMPONENT,
 | 
				
			||||||
            componentId: options.cmId,
 | 
					            componentId: options.cmId,
 | 
				
			||||||
            ...CoreSites.getReadingStrategyPreSets(options.readingStrategy), // Include reading strategy preSets.
 | 
					            ...CoreSites.getReadingStrategyPreSets(options.readingStrategy), // Include reading strategy preSets.
 | 
				
			||||||
@ -1082,7 +1082,7 @@ export class AddonModFeedbackProvider {
 | 
				
			|||||||
        };
 | 
					        };
 | 
				
			||||||
        const preSets: CoreSiteWSPreSets = {
 | 
					        const preSets: CoreSiteWSPreSets = {
 | 
				
			||||||
            cacheKey: this.getCompletedDataCacheKey(feedbackId),
 | 
					            cacheKey: this.getCompletedDataCacheKey(feedbackId),
 | 
				
			||||||
            updateFrequency: CoreSite.FREQUENCY_RARELY,
 | 
					            updateFrequency: CoreCacheUpdateFrequency.RARELY,
 | 
				
			||||||
            component: ADDON_MOD_FEEDBACK_COMPONENT,
 | 
					            component: ADDON_MOD_FEEDBACK_COMPONENT,
 | 
				
			||||||
            ...CoreSites.getReadingStrategyPreSets(options.readingStrategy), // Include reading strategy preSets.
 | 
					            ...CoreSites.getReadingStrategyPreSets(options.readingStrategy), // Include reading strategy preSets.
 | 
				
			||||||
        };
 | 
					        };
 | 
				
			||||||
 | 
				
			|||||||
@ -15,7 +15,6 @@
 | 
				
			|||||||
import { Injectable } from '@angular/core';
 | 
					import { Injectable } from '@angular/core';
 | 
				
			||||||
import { CoreError } from '@classes/errors/error';
 | 
					import { CoreError } from '@classes/errors/error';
 | 
				
			||||||
import { CoreSiteWSPreSets } from '@classes/sites/authenticated-site';
 | 
					import { CoreSiteWSPreSets } from '@classes/sites/authenticated-site';
 | 
				
			||||||
import { CoreSite } from '@classes/sites/site';
 | 
					 | 
				
			||||||
import { CoreCourse } from '@features/course/services/course';
 | 
					import { CoreCourse } from '@features/course/services/course';
 | 
				
			||||||
import { CoreCourseLogHelper } from '@features/course/services/log-helper';
 | 
					import { CoreCourseLogHelper } from '@features/course/services/log-helper';
 | 
				
			||||||
import { CoreSites, CoreSitesCommonWSOptions } from '@services/sites';
 | 
					import { CoreSites, CoreSitesCommonWSOptions } from '@services/sites';
 | 
				
			||||||
@ -23,6 +22,7 @@ import { CoreUtils } from '@services/utils/utils';
 | 
				
			|||||||
import { CoreWSExternalFile, CoreWSExternalWarning } from '@services/ws';
 | 
					import { CoreWSExternalFile, CoreWSExternalWarning } from '@services/ws';
 | 
				
			||||||
import { makeSingleton, Translate } from '@singletons';
 | 
					import { makeSingleton, Translate } from '@singletons';
 | 
				
			||||||
import { ADDON_MOD_FOLDER_COMPONENT } from '../constants';
 | 
					import { ADDON_MOD_FOLDER_COMPONENT } from '../constants';
 | 
				
			||||||
 | 
					import { CoreCacheUpdateFrequency } from '@/core/constants';
 | 
				
			||||||
 | 
					
 | 
				
			||||||
/**
 | 
					/**
 | 
				
			||||||
 * Service that provides some features for folder.
 | 
					 * Service that provides some features for folder.
 | 
				
			||||||
@ -67,7 +67,7 @@ export class AddonModFolderProvider {
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
        const preSets: CoreSiteWSPreSets = {
 | 
					        const preSets: CoreSiteWSPreSets = {
 | 
				
			||||||
            cacheKey: this.getFolderCacheKey(courseId),
 | 
					            cacheKey: this.getFolderCacheKey(courseId),
 | 
				
			||||||
            updateFrequency: CoreSite.FREQUENCY_RARELY,
 | 
					            updateFrequency: CoreCacheUpdateFrequency.RARELY,
 | 
				
			||||||
            component: ADDON_MOD_FOLDER_COMPONENT,
 | 
					            component: ADDON_MOD_FOLDER_COMPONENT,
 | 
				
			||||||
            ...CoreSites.getReadingStrategyPreSets(options.readingStrategy),
 | 
					            ...CoreSites.getReadingStrategyPreSets(options.readingStrategy),
 | 
				
			||||||
        };
 | 
					        };
 | 
				
			||||||
 | 
				
			|||||||
@ -49,6 +49,7 @@ import {
 | 
				
			|||||||
    AddonModForumSortorder,
 | 
					    AddonModForumSortorder,
 | 
				
			||||||
    AddonModForumType,
 | 
					    AddonModForumType,
 | 
				
			||||||
} from '../constants';
 | 
					} from '../constants';
 | 
				
			||||||
 | 
					import { CoreCacheUpdateFrequency } from '@/core/constants';
 | 
				
			||||||
 | 
					
 | 
				
			||||||
declare module '@singletons/events' {
 | 
					declare module '@singletons/events' {
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@ -429,7 +430,7 @@ export class AddonModForumProvider {
 | 
				
			|||||||
        };
 | 
					        };
 | 
				
			||||||
        const preSets: CoreSiteWSPreSets = {
 | 
					        const preSets: CoreSiteWSPreSets = {
 | 
				
			||||||
            cacheKey: this.getForumDataCacheKey(courseId),
 | 
					            cacheKey: this.getForumDataCacheKey(courseId),
 | 
				
			||||||
            updateFrequency: CoreSite.FREQUENCY_RARELY,
 | 
					            updateFrequency: CoreCacheUpdateFrequency.RARELY,
 | 
				
			||||||
            component: ADDON_MOD_FORUM_COMPONENT,
 | 
					            component: ADDON_MOD_FORUM_COMPONENT,
 | 
				
			||||||
            ...CoreSites.getReadingStrategyPreSets(options.readingStrategy),
 | 
					            ...CoreSites.getReadingStrategyPreSets(options.readingStrategy),
 | 
				
			||||||
        };
 | 
					        };
 | 
				
			||||||
@ -458,7 +459,7 @@ export class AddonModForumProvider {
 | 
				
			|||||||
        };
 | 
					        };
 | 
				
			||||||
        const preSets = {
 | 
					        const preSets = {
 | 
				
			||||||
            cacheKey: this.getDiscussionPostDataCacheKey(forumId, discussionId, postId),
 | 
					            cacheKey: this.getDiscussionPostDataCacheKey(forumId, discussionId, postId),
 | 
				
			||||||
            updateFrequency: CoreSite.FREQUENCY_USUALLY,
 | 
					            updateFrequency: CoreCacheUpdateFrequency.USUALLY,
 | 
				
			||||||
            component: ADDON_MOD_FORUM_COMPONENT,
 | 
					            component: ADDON_MOD_FORUM_COMPONENT,
 | 
				
			||||||
            componentId: options.cmId,
 | 
					            componentId: options.cmId,
 | 
				
			||||||
            ...CoreSites.getReadingStrategyPreSets(options.readingStrategy), // Include reading strategy preSets.
 | 
					            ...CoreSites.getReadingStrategyPreSets(options.readingStrategy), // Include reading strategy preSets.
 | 
				
			||||||
 | 
				
			|||||||
@ -37,6 +37,7 @@ import {
 | 
				
			|||||||
    ADDON_MOD_GLOSSARY_LIMIT_CATEGORIES,
 | 
					    ADDON_MOD_GLOSSARY_LIMIT_CATEGORIES,
 | 
				
			||||||
    ADDON_MOD_GLOSSARY_LIMIT_ENTRIES,
 | 
					    ADDON_MOD_GLOSSARY_LIMIT_ENTRIES,
 | 
				
			||||||
} from '../constants';
 | 
					} from '../constants';
 | 
				
			||||||
 | 
					import { CoreCacheUpdateFrequency } from '@/core/constants';
 | 
				
			||||||
 | 
					
 | 
				
			||||||
/**
 | 
					/**
 | 
				
			||||||
 * Service that provides some features for glossaries.
 | 
					 * Service that provides some features for glossaries.
 | 
				
			||||||
@ -72,7 +73,7 @@ export class AddonModGlossaryProvider {
 | 
				
			|||||||
        };
 | 
					        };
 | 
				
			||||||
        const preSets: CoreSiteWSPreSets = {
 | 
					        const preSets: CoreSiteWSPreSets = {
 | 
				
			||||||
            cacheKey: this.getCourseGlossariesCacheKey(courseId),
 | 
					            cacheKey: this.getCourseGlossariesCacheKey(courseId),
 | 
				
			||||||
            updateFrequency: CoreSite.FREQUENCY_RARELY,
 | 
					            updateFrequency: CoreCacheUpdateFrequency.RARELY,
 | 
				
			||||||
            component: ADDON_MOD_GLOSSARY_COMPONENT,
 | 
					            component: ADDON_MOD_GLOSSARY_COMPONENT,
 | 
				
			||||||
            ...CoreSites.getReadingStrategyPreSets(options.readingStrategy), // Include reading strategy preSets.
 | 
					            ...CoreSites.getReadingStrategyPreSets(options.readingStrategy), // Include reading strategy preSets.
 | 
				
			||||||
        };
 | 
					        };
 | 
				
			||||||
@ -133,7 +134,7 @@ export class AddonModGlossaryProvider {
 | 
				
			|||||||
        };
 | 
					        };
 | 
				
			||||||
        const preSets: CoreSiteWSPreSets = {
 | 
					        const preSets: CoreSiteWSPreSets = {
 | 
				
			||||||
            cacheKey: this.getEntriesByAuthorCacheKey(glossaryId),
 | 
					            cacheKey: this.getEntriesByAuthorCacheKey(glossaryId),
 | 
				
			||||||
            updateFrequency: CoreSite.FREQUENCY_SOMETIMES,
 | 
					            updateFrequency: CoreCacheUpdateFrequency.SOMETIMES,
 | 
				
			||||||
            component: ADDON_MOD_GLOSSARY_COMPONENT,
 | 
					            component: ADDON_MOD_GLOSSARY_COMPONENT,
 | 
				
			||||||
            componentId: options.cmId,
 | 
					            componentId: options.cmId,
 | 
				
			||||||
            ...CoreSites.getReadingStrategyPreSets(options.readingStrategy), // Include reading strategy preSets.
 | 
					            ...CoreSites.getReadingStrategyPreSets(options.readingStrategy), // Include reading strategy preSets.
 | 
				
			||||||
@ -177,7 +178,7 @@ export class AddonModGlossaryProvider {
 | 
				
			|||||||
        };
 | 
					        };
 | 
				
			||||||
        const preSets: CoreSiteWSPreSets = {
 | 
					        const preSets: CoreSiteWSPreSets = {
 | 
				
			||||||
            cacheKey: this.getEntriesByCategoryCacheKey(glossaryId),
 | 
					            cacheKey: this.getEntriesByCategoryCacheKey(glossaryId),
 | 
				
			||||||
            updateFrequency: CoreSite.FREQUENCY_SOMETIMES,
 | 
					            updateFrequency: CoreCacheUpdateFrequency.SOMETIMES,
 | 
				
			||||||
            component: ADDON_MOD_GLOSSARY_COMPONENT,
 | 
					            component: ADDON_MOD_GLOSSARY_COMPONENT,
 | 
				
			||||||
            componentId: options.cmId,
 | 
					            componentId: options.cmId,
 | 
				
			||||||
            ...CoreSites.getReadingStrategyPreSets(options.readingStrategy), // Include reading strategy preSets.
 | 
					            ...CoreSites.getReadingStrategyPreSets(options.readingStrategy), // Include reading strategy preSets.
 | 
				
			||||||
@ -247,7 +248,7 @@ export class AddonModGlossaryProvider {
 | 
				
			|||||||
        };
 | 
					        };
 | 
				
			||||||
        const preSets: CoreSiteWSPreSets = {
 | 
					        const preSets: CoreSiteWSPreSets = {
 | 
				
			||||||
            cacheKey: this.getEntriesByDateCacheKey(glossaryId, order),
 | 
					            cacheKey: this.getEntriesByDateCacheKey(glossaryId, order),
 | 
				
			||||||
            updateFrequency: CoreSite.FREQUENCY_SOMETIMES,
 | 
					            updateFrequency: CoreCacheUpdateFrequency.SOMETIMES,
 | 
				
			||||||
            component: ADDON_MOD_GLOSSARY_COMPONENT,
 | 
					            component: ADDON_MOD_GLOSSARY_COMPONENT,
 | 
				
			||||||
            componentId: options.cmId,
 | 
					            componentId: options.cmId,
 | 
				
			||||||
            ...CoreSites.getReadingStrategyPreSets(options.readingStrategy), // Include reading strategy preSets.
 | 
					            ...CoreSites.getReadingStrategyPreSets(options.readingStrategy), // Include reading strategy preSets.
 | 
				
			||||||
@ -305,7 +306,7 @@ export class AddonModGlossaryProvider {
 | 
				
			|||||||
        };
 | 
					        };
 | 
				
			||||||
        const preSets: CoreSiteWSPreSets = {
 | 
					        const preSets: CoreSiteWSPreSets = {
 | 
				
			||||||
            cacheKey: this.getEntriesByLetterCacheKey(glossaryId),
 | 
					            cacheKey: this.getEntriesByLetterCacheKey(glossaryId),
 | 
				
			||||||
            updateFrequency: CoreSite.FREQUENCY_SOMETIMES,
 | 
					            updateFrequency: CoreCacheUpdateFrequency.SOMETIMES,
 | 
				
			||||||
            component: ADDON_MOD_GLOSSARY_COMPONENT,
 | 
					            component: ADDON_MOD_GLOSSARY_COMPONENT,
 | 
				
			||||||
            componentId: options.cmId,
 | 
					            componentId: options.cmId,
 | 
				
			||||||
            ...CoreSites.getReadingStrategyPreSets(options.readingStrategy), // Include reading strategy preSets.
 | 
					            ...CoreSites.getReadingStrategyPreSets(options.readingStrategy), // Include reading strategy preSets.
 | 
				
			||||||
@ -379,7 +380,7 @@ export class AddonModGlossaryProvider {
 | 
				
			|||||||
        };
 | 
					        };
 | 
				
			||||||
        const preSets: CoreSiteWSPreSets = {
 | 
					        const preSets: CoreSiteWSPreSets = {
 | 
				
			||||||
            cacheKey: this.getEntriesBySearchCacheKey(glossaryId, query, fullSearch),
 | 
					            cacheKey: this.getEntriesBySearchCacheKey(glossaryId, query, fullSearch),
 | 
				
			||||||
            updateFrequency: CoreSite.FREQUENCY_SOMETIMES,
 | 
					            updateFrequency: CoreCacheUpdateFrequency.SOMETIMES,
 | 
				
			||||||
            component: ADDON_MOD_GLOSSARY_COMPONENT,
 | 
					            component: ADDON_MOD_GLOSSARY_COMPONENT,
 | 
				
			||||||
            componentId: options.cmId,
 | 
					            componentId: options.cmId,
 | 
				
			||||||
            ...CoreSites.getReadingStrategyPreSets(options.readingStrategy), // Include reading strategy preSets.
 | 
					            ...CoreSites.getReadingStrategyPreSets(options.readingStrategy), // Include reading strategy preSets.
 | 
				
			||||||
@ -457,7 +458,7 @@ export class AddonModGlossaryProvider {
 | 
				
			|||||||
        };
 | 
					        };
 | 
				
			||||||
        const preSets: CoreSiteWSPreSets = {
 | 
					        const preSets: CoreSiteWSPreSets = {
 | 
				
			||||||
            cacheKey: this.getCategoriesCacheKey(glossaryId),
 | 
					            cacheKey: this.getCategoriesCacheKey(glossaryId),
 | 
				
			||||||
            updateFrequency: CoreSite.FREQUENCY_SOMETIMES,
 | 
					            updateFrequency: CoreCacheUpdateFrequency.SOMETIMES,
 | 
				
			||||||
            component: ADDON_MOD_GLOSSARY_COMPONENT,
 | 
					            component: ADDON_MOD_GLOSSARY_COMPONENT,
 | 
				
			||||||
            componentId: options.cmId,
 | 
					            componentId: options.cmId,
 | 
				
			||||||
            ...CoreSites.getReadingStrategyPreSets(options.readingStrategy), // Include reading strategy preSets.
 | 
					            ...CoreSites.getReadingStrategyPreSets(options.readingStrategy), // Include reading strategy preSets.
 | 
				
			||||||
@ -514,7 +515,7 @@ export class AddonModGlossaryProvider {
 | 
				
			|||||||
        };
 | 
					        };
 | 
				
			||||||
        const preSets = {
 | 
					        const preSets = {
 | 
				
			||||||
            cacheKey: this.getEntryCacheKey(entryId),
 | 
					            cacheKey: this.getEntryCacheKey(entryId),
 | 
				
			||||||
            updateFrequency: CoreSite.FREQUENCY_RARELY,
 | 
					            updateFrequency: CoreCacheUpdateFrequency.RARELY,
 | 
				
			||||||
            component: ADDON_MOD_GLOSSARY_COMPONENT,
 | 
					            component: ADDON_MOD_GLOSSARY_COMPONENT,
 | 
				
			||||||
            componentId: options.cmId,
 | 
					            componentId: options.cmId,
 | 
				
			||||||
            ...CoreSites.getReadingStrategyPreSets(options.readingStrategy), // Include reading strategy preSets.
 | 
					            ...CoreSites.getReadingStrategyPreSets(options.readingStrategy), // Include reading strategy preSets.
 | 
				
			||||||
 | 
				
			|||||||
@ -34,6 +34,7 @@ import {
 | 
				
			|||||||
    ADDON_MOD_H5PACTIVITY_USERS_PER_PAGE,
 | 
					    ADDON_MOD_H5PACTIVITY_USERS_PER_PAGE,
 | 
				
			||||||
    AddonModH5PActivityGradeMethod,
 | 
					    AddonModH5PActivityGradeMethod,
 | 
				
			||||||
} from '../constants';
 | 
					} from '../constants';
 | 
				
			||||||
 | 
					import { CoreCacheUpdateFrequency } from '@/core/constants';
 | 
				
			||||||
 | 
					
 | 
				
			||||||
/**
 | 
					/**
 | 
				
			||||||
 * Service that provides some features for H5P activity.
 | 
					 * Service that provides some features for H5P activity.
 | 
				
			||||||
@ -162,7 +163,7 @@ export class AddonModH5PActivityProvider {
 | 
				
			|||||||
        };
 | 
					        };
 | 
				
			||||||
        const preSets: CoreSiteWSPreSets = {
 | 
					        const preSets: CoreSiteWSPreSets = {
 | 
				
			||||||
            cacheKey: this.getAccessInformationCacheKey(id),
 | 
					            cacheKey: this.getAccessInformationCacheKey(id),
 | 
				
			||||||
            updateFrequency: CoreSite.FREQUENCY_OFTEN,
 | 
					            updateFrequency: CoreCacheUpdateFrequency.OFTEN,
 | 
				
			||||||
            component: ADDON_MOD_H5PACTIVITY_COMPONENT,
 | 
					            component: ADDON_MOD_H5PACTIVITY_COMPONENT,
 | 
				
			||||||
            componentId: options.cmId,
 | 
					            componentId: options.cmId,
 | 
				
			||||||
            ...CoreSites.getReadingStrategyPreSets(options.readingStrategy), // Include reading strategy preSets.
 | 
					            ...CoreSites.getReadingStrategyPreSets(options.readingStrategy), // Include reading strategy preSets.
 | 
				
			||||||
@ -266,7 +267,7 @@ export class AddonModH5PActivityProvider {
 | 
				
			|||||||
        };
 | 
					        };
 | 
				
			||||||
        const preSets: CoreSiteWSPreSets = {
 | 
					        const preSets: CoreSiteWSPreSets = {
 | 
				
			||||||
            cacheKey: this.getUsersAttemptsCacheKey(id, options),
 | 
					            cacheKey: this.getUsersAttemptsCacheKey(id, options),
 | 
				
			||||||
            updateFrequency: CoreSite.FREQUENCY_SOMETIMES,
 | 
					            updateFrequency: CoreCacheUpdateFrequency.SOMETIMES,
 | 
				
			||||||
            component: ADDON_MOD_H5PACTIVITY_COMPONENT,
 | 
					            component: ADDON_MOD_H5PACTIVITY_COMPONENT,
 | 
				
			||||||
            componentId: options.cmId,
 | 
					            componentId: options.cmId,
 | 
				
			||||||
            ...CoreSites.getReadingStrategyPreSets(options.readingStrategy), // Include reading strategy preSets.
 | 
					            ...CoreSites.getReadingStrategyPreSets(options.readingStrategy), // Include reading strategy preSets.
 | 
				
			||||||
@ -362,7 +363,7 @@ export class AddonModH5PActivityProvider {
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
        const preSets: CoreSiteWSPreSets = {
 | 
					        const preSets: CoreSiteWSPreSets = {
 | 
				
			||||||
            cacheKey: this.getAttemptResultsCacheKey(id, params.attemptids),
 | 
					            cacheKey: this.getAttemptResultsCacheKey(id, params.attemptids),
 | 
				
			||||||
            updateFrequency: CoreSite.FREQUENCY_SOMETIMES,
 | 
					            updateFrequency: CoreCacheUpdateFrequency.SOMETIMES,
 | 
				
			||||||
            component: ADDON_MOD_H5PACTIVITY_COMPONENT,
 | 
					            component: ADDON_MOD_H5PACTIVITY_COMPONENT,
 | 
				
			||||||
            componentId: options.cmId,
 | 
					            componentId: options.cmId,
 | 
				
			||||||
            ...CoreSites.getReadingStrategyPreSets(options.readingStrategy), // Include reading strategy preSets.
 | 
					            ...CoreSites.getReadingStrategyPreSets(options.readingStrategy), // Include reading strategy preSets.
 | 
				
			||||||
@ -427,7 +428,7 @@ export class AddonModH5PActivityProvider {
 | 
				
			|||||||
        };
 | 
					        };
 | 
				
			||||||
        const preSets: CoreSiteWSPreSets = {
 | 
					        const preSets: CoreSiteWSPreSets = {
 | 
				
			||||||
            cacheKey: this.getAttemptResultsCommonCacheKey(id),
 | 
					            cacheKey: this.getAttemptResultsCommonCacheKey(id),
 | 
				
			||||||
            updateFrequency: CoreSite.FREQUENCY_SOMETIMES,
 | 
					            updateFrequency: CoreCacheUpdateFrequency.SOMETIMES,
 | 
				
			||||||
            component: ADDON_MOD_H5PACTIVITY_COMPONENT,
 | 
					            component: ADDON_MOD_H5PACTIVITY_COMPONENT,
 | 
				
			||||||
            componentId: options.cmId,
 | 
					            componentId: options.cmId,
 | 
				
			||||||
            ...CoreSites.getReadingStrategyPreSets(options.readingStrategy), // Include reading strategy preSets.
 | 
					            ...CoreSites.getReadingStrategyPreSets(options.readingStrategy), // Include reading strategy preSets.
 | 
				
			||||||
@ -510,7 +511,7 @@ export class AddonModH5PActivityProvider {
 | 
				
			|||||||
        };
 | 
					        };
 | 
				
			||||||
        const preSets: CoreSiteWSPreSets = {
 | 
					        const preSets: CoreSiteWSPreSets = {
 | 
				
			||||||
            cacheKey: this.getH5PActivityDataCacheKey(courseId),
 | 
					            cacheKey: this.getH5PActivityDataCacheKey(courseId),
 | 
				
			||||||
            updateFrequency: CoreSite.FREQUENCY_RARELY,
 | 
					            updateFrequency: CoreCacheUpdateFrequency.RARELY,
 | 
				
			||||||
            component: ADDON_MOD_H5PACTIVITY_COMPONENT,
 | 
					            component: ADDON_MOD_H5PACTIVITY_COMPONENT,
 | 
				
			||||||
            ...CoreSites.getReadingStrategyPreSets(options.readingStrategy), // Include reading strategy preSets.
 | 
					            ...CoreSites.getReadingStrategyPreSets(options.readingStrategy), // Include reading strategy preSets.
 | 
				
			||||||
        };
 | 
					        };
 | 
				
			||||||
@ -617,7 +618,7 @@ export class AddonModH5PActivityProvider {
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
            const preSets: CoreSiteWSPreSets = {
 | 
					            const preSets: CoreSiteWSPreSets = {
 | 
				
			||||||
                cacheKey: this.getUserAttemptsCacheKey(id, params.userids),
 | 
					                cacheKey: this.getUserAttemptsCacheKey(id, params.userids),
 | 
				
			||||||
                updateFrequency: CoreSite.FREQUENCY_SOMETIMES,
 | 
					                updateFrequency: CoreCacheUpdateFrequency.SOMETIMES,
 | 
				
			||||||
                component: ADDON_MOD_H5PACTIVITY_COMPONENT,
 | 
					                component: ADDON_MOD_H5PACTIVITY_COMPONENT,
 | 
				
			||||||
                componentId: options.cmId,
 | 
					                componentId: options.cmId,
 | 
				
			||||||
                ...CoreSites.getReadingStrategyPreSets(options.readingStrategy), // Include reading strategy preSets.
 | 
					                ...CoreSites.getReadingStrategyPreSets(options.readingStrategy), // Include reading strategy preSets.
 | 
				
			||||||
 | 
				
			|||||||
@ -14,7 +14,6 @@
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
import { Injectable } from '@angular/core';
 | 
					import { Injectable } from '@angular/core';
 | 
				
			||||||
import { CoreError } from '@classes/errors/error';
 | 
					import { CoreError } from '@classes/errors/error';
 | 
				
			||||||
import { CoreSite } from '@classes/sites/site';
 | 
					 | 
				
			||||||
import { CoreCourse, CoreCourseModuleContentFile } from '@features/course/services/course';
 | 
					import { CoreCourse, CoreCourseModuleContentFile } from '@features/course/services/course';
 | 
				
			||||||
import { CoreCourseModuleData } from '@features/course/services/course-helper';
 | 
					import { CoreCourseModuleData } from '@features/course/services/course-helper';
 | 
				
			||||||
import { CoreCourseLogHelper } from '@features/course/services/log-helper';
 | 
					import { CoreCourseLogHelper } from '@features/course/services/log-helper';
 | 
				
			||||||
@ -28,6 +27,7 @@ import { makeSingleton, Translate } from '@singletons';
 | 
				
			|||||||
import { CorePath } from '@singletons/path';
 | 
					import { CorePath } from '@singletons/path';
 | 
				
			||||||
import { CoreSiteWSPreSets } from '@classes/sites/authenticated-site';
 | 
					import { CoreSiteWSPreSets } from '@classes/sites/authenticated-site';
 | 
				
			||||||
import { ADDON_MOD_IMSCP_COMPONENT } from '../constants';
 | 
					import { ADDON_MOD_IMSCP_COMPONENT } from '../constants';
 | 
				
			||||||
 | 
					import { CoreCacheUpdateFrequency } from '@/core/constants';
 | 
				
			||||||
 | 
					
 | 
				
			||||||
/**
 | 
					/**
 | 
				
			||||||
 * Service that provides some features for IMSCP.
 | 
					 * Service that provides some features for IMSCP.
 | 
				
			||||||
@ -114,7 +114,7 @@ export class AddonModImscpProvider {
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
        const preSets: CoreSiteWSPreSets = {
 | 
					        const preSets: CoreSiteWSPreSets = {
 | 
				
			||||||
            cacheKey: this.getImscpDataCacheKey(courseId),
 | 
					            cacheKey: this.getImscpDataCacheKey(courseId),
 | 
				
			||||||
            updateFrequency: CoreSite.FREQUENCY_RARELY,
 | 
					            updateFrequency: CoreCacheUpdateFrequency.RARELY,
 | 
				
			||||||
            component: ADDON_MOD_IMSCP_COMPONENT,
 | 
					            component: ADDON_MOD_IMSCP_COMPONENT,
 | 
				
			||||||
            ...CoreSites.getReadingStrategyPreSets(options.readingStrategy),
 | 
					            ...CoreSites.getReadingStrategyPreSets(options.readingStrategy),
 | 
				
			||||||
        };
 | 
					        };
 | 
				
			||||||
 | 
				
			|||||||
@ -15,13 +15,13 @@
 | 
				
			|||||||
import { Injectable } from '@angular/core';
 | 
					import { Injectable } from '@angular/core';
 | 
				
			||||||
import { CoreError } from '@classes/errors/error';
 | 
					import { CoreError } from '@classes/errors/error';
 | 
				
			||||||
import { CoreSiteWSPreSets } from '@classes/sites/authenticated-site';
 | 
					import { CoreSiteWSPreSets } from '@classes/sites/authenticated-site';
 | 
				
			||||||
import { CoreSite } from '@classes/sites/site';
 | 
					 | 
				
			||||||
import { CoreFilepool } from '@services/filepool';
 | 
					import { CoreFilepool } from '@services/filepool';
 | 
				
			||||||
import { CoreSites, CoreSitesCommonWSOptions } from '@services/sites';
 | 
					import { CoreSites, CoreSitesCommonWSOptions } from '@services/sites';
 | 
				
			||||||
import { CoreUtils } from '@services/utils/utils';
 | 
					import { CoreUtils } from '@services/utils/utils';
 | 
				
			||||||
import { CoreWSExternalFile, CoreWSExternalWarning } from '@services/ws';
 | 
					import { CoreWSExternalFile, CoreWSExternalWarning } from '@services/ws';
 | 
				
			||||||
import { makeSingleton, Translate } from '@singletons';
 | 
					import { makeSingleton, Translate } from '@singletons';
 | 
				
			||||||
import { ADDON_MOD_LABEL_COMPONENT } from '../constants';
 | 
					import { ADDON_MOD_LABEL_COMPONENT } from '../constants';
 | 
				
			||||||
 | 
					import { CoreCacheUpdateFrequency } from '@/core/constants';
 | 
				
			||||||
 | 
					
 | 
				
			||||||
/**
 | 
					/**
 | 
				
			||||||
 * Service that provides some features for labels.
 | 
					 * Service that provides some features for labels.
 | 
				
			||||||
@ -64,7 +64,7 @@ export class AddonModLabelProvider {
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
        const preSets: CoreSiteWSPreSets = {
 | 
					        const preSets: CoreSiteWSPreSets = {
 | 
				
			||||||
            cacheKey: this.getLabelDataCacheKey(courseId),
 | 
					            cacheKey: this.getLabelDataCacheKey(courseId),
 | 
				
			||||||
            updateFrequency: CoreSite.FREQUENCY_RARELY,
 | 
					            updateFrequency: CoreCacheUpdateFrequency.RARELY,
 | 
				
			||||||
            component: ADDON_MOD_LABEL_COMPONENT,
 | 
					            component: ADDON_MOD_LABEL_COMPONENT,
 | 
				
			||||||
            ...CoreSites.getReadingStrategyPreSets(options.readingStrategy),
 | 
					            ...CoreSites.getReadingStrategyPreSets(options.readingStrategy),
 | 
				
			||||||
        };
 | 
					        };
 | 
				
			||||||
 | 
				
			|||||||
@ -14,7 +14,6 @@
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
import { Injectable } from '@angular/core';
 | 
					import { Injectable } from '@angular/core';
 | 
				
			||||||
import { CoreError } from '@classes/errors/error';
 | 
					import { CoreError } from '@classes/errors/error';
 | 
				
			||||||
import { CoreSite } from '@classes/sites/site';
 | 
					 | 
				
			||||||
import { CoreCourseCommonModWSOptions } from '@features/course/services/course';
 | 
					import { CoreCourseCommonModWSOptions } from '@features/course/services/course';
 | 
				
			||||||
import { CoreCourseLogHelper } from '@features/course/services/log-helper';
 | 
					import { CoreCourseLogHelper } from '@features/course/services/log-helper';
 | 
				
			||||||
import { CoreSites, CoreSitesCommonWSOptions, CoreSitesReadingStrategy } from '@services/sites';
 | 
					import { CoreSites, CoreSitesCommonWSOptions, CoreSitesReadingStrategy } from '@services/sites';
 | 
				
			||||||
@ -38,6 +37,7 @@ import {
 | 
				
			|||||||
    AddonModLessonPageSubtype,
 | 
					    AddonModLessonPageSubtype,
 | 
				
			||||||
} from '../constants';
 | 
					} from '../constants';
 | 
				
			||||||
import { CoreGradeType } from '@features/grades/constants';
 | 
					import { CoreGradeType } from '@features/grades/constants';
 | 
				
			||||||
 | 
					import { CoreCacheUpdateFrequency } from '@/core/constants';
 | 
				
			||||||
 | 
					
 | 
				
			||||||
declare module '@singletons/events' {
 | 
					declare module '@singletons/events' {
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@ -1160,7 +1160,7 @@ export class AddonModLessonProvider {
 | 
				
			|||||||
        };
 | 
					        };
 | 
				
			||||||
        const preSets: CoreSiteWSPreSets = {
 | 
					        const preSets: CoreSiteWSPreSets = {
 | 
				
			||||||
            cacheKey: this.getAccessInformationCacheKey(lessonId),
 | 
					            cacheKey: this.getAccessInformationCacheKey(lessonId),
 | 
				
			||||||
            updateFrequency: CoreSite.FREQUENCY_OFTEN,
 | 
					            updateFrequency: CoreCacheUpdateFrequency.OFTEN,
 | 
				
			||||||
            component: ADDON_MOD_LESSON_COMPONENT,
 | 
					            component: ADDON_MOD_LESSON_COMPONENT,
 | 
				
			||||||
            componentId: options.cmId,
 | 
					            componentId: options.cmId,
 | 
				
			||||||
            ...CoreSites.getReadingStrategyPreSets(options.readingStrategy), // Include reading strategy preSets.
 | 
					            ...CoreSites.getReadingStrategyPreSets(options.readingStrategy), // Include reading strategy preSets.
 | 
				
			||||||
@ -1409,7 +1409,7 @@ export class AddonModLessonProvider {
 | 
				
			|||||||
        };
 | 
					        };
 | 
				
			||||||
        const preSets: CoreSiteWSPreSets = {
 | 
					        const preSets: CoreSiteWSPreSets = {
 | 
				
			||||||
            cacheKey: this.getLessonDataCacheKey(courseId),
 | 
					            cacheKey: this.getLessonDataCacheKey(courseId),
 | 
				
			||||||
            updateFrequency: CoreSite.FREQUENCY_RARELY,
 | 
					            updateFrequency: CoreCacheUpdateFrequency.RARELY,
 | 
				
			||||||
            component: ADDON_MOD_LESSON_COMPONENT,
 | 
					            component: ADDON_MOD_LESSON_COMPONENT,
 | 
				
			||||||
            ...CoreSites.getReadingStrategyPreSets(options.readingStrategy), // Include reading strategy preSets.
 | 
					            ...CoreSites.getReadingStrategyPreSets(options.readingStrategy), // Include reading strategy preSets.
 | 
				
			||||||
        };
 | 
					        };
 | 
				
			||||||
@ -1710,7 +1710,7 @@ export class AddonModLessonProvider {
 | 
				
			|||||||
        };
 | 
					        };
 | 
				
			||||||
        const preSets: CoreSiteWSPreSets = {
 | 
					        const preSets: CoreSiteWSPreSets = {
 | 
				
			||||||
            cacheKey: this.getPagesCacheKey(lessonId),
 | 
					            cacheKey: this.getPagesCacheKey(lessonId),
 | 
				
			||||||
            updateFrequency: CoreSite.FREQUENCY_SOMETIMES,
 | 
					            updateFrequency: CoreCacheUpdateFrequency.SOMETIMES,
 | 
				
			||||||
            component: ADDON_MOD_LESSON_COMPONENT,
 | 
					            component: ADDON_MOD_LESSON_COMPONENT,
 | 
				
			||||||
            componentId: options.cmId,
 | 
					            componentId: options.cmId,
 | 
				
			||||||
            ...CoreSites.getReadingStrategyPreSets(options.readingStrategy), // Include reading strategy preSets.
 | 
					            ...CoreSites.getReadingStrategyPreSets(options.readingStrategy), // Include reading strategy preSets.
 | 
				
			||||||
@ -2059,7 +2059,7 @@ export class AddonModLessonProvider {
 | 
				
			|||||||
        };
 | 
					        };
 | 
				
			||||||
        const preSets = {
 | 
					        const preSets = {
 | 
				
			||||||
            cacheKey: this.getRetakesOverviewCacheKey(lessonId, groupId),
 | 
					            cacheKey: this.getRetakesOverviewCacheKey(lessonId, groupId),
 | 
				
			||||||
            updateFrequency: CoreSite.FREQUENCY_OFTEN,
 | 
					            updateFrequency: CoreCacheUpdateFrequency.OFTEN,
 | 
				
			||||||
            component: ADDON_MOD_LESSON_COMPONENT,
 | 
					            component: ADDON_MOD_LESSON_COMPONENT,
 | 
				
			||||||
            componentId: options.cmId,
 | 
					            componentId: options.cmId,
 | 
				
			||||||
            ...CoreSites.getReadingStrategyPreSets(options.readingStrategy), // Include reading strategy preSets.
 | 
					            ...CoreSites.getReadingStrategyPreSets(options.readingStrategy), // Include reading strategy preSets.
 | 
				
			||||||
@ -2273,7 +2273,7 @@ export class AddonModLessonProvider {
 | 
				
			|||||||
        };
 | 
					        };
 | 
				
			||||||
        const preSets: CoreSiteWSPreSets = {
 | 
					        const preSets: CoreSiteWSPreSets = {
 | 
				
			||||||
            cacheKey: this.getUserRetakeCacheKey(lessonId, userId, retake),
 | 
					            cacheKey: this.getUserRetakeCacheKey(lessonId, userId, retake),
 | 
				
			||||||
            updateFrequency: CoreSite.FREQUENCY_SOMETIMES,
 | 
					            updateFrequency: CoreCacheUpdateFrequency.SOMETIMES,
 | 
				
			||||||
            component: ADDON_MOD_LESSON_COMPONENT,
 | 
					            component: ADDON_MOD_LESSON_COMPONENT,
 | 
				
			||||||
            componentId: options.cmId,
 | 
					            componentId: options.cmId,
 | 
				
			||||||
            ...CoreSites.getReadingStrategyPreSets(options.readingStrategy), // Include reading strategy preSets.
 | 
					            ...CoreSites.getReadingStrategyPreSets(options.readingStrategy), // Include reading strategy preSets.
 | 
				
			||||||
 | 
				
			|||||||
@ -27,6 +27,7 @@ import { CoreUtils } from '@services/utils/utils';
 | 
				
			|||||||
import { CoreWSExternalFile, CoreWSExternalWarning } from '@services/ws';
 | 
					import { CoreWSExternalFile, CoreWSExternalWarning } from '@services/ws';
 | 
				
			||||||
import { makeSingleton, Translate } from '@singletons';
 | 
					import { makeSingleton, Translate } from '@singletons';
 | 
				
			||||||
import { ADDON_MOD_LTI_COMPONENT } from '../constants';
 | 
					import { ADDON_MOD_LTI_COMPONENT } from '../constants';
 | 
				
			||||||
 | 
					import { CoreCacheUpdateFrequency } from '@/core/constants';
 | 
				
			||||||
 | 
					
 | 
				
			||||||
/**
 | 
					/**
 | 
				
			||||||
 * Service that provides some features for LTI.
 | 
					 * Service that provides some features for LTI.
 | 
				
			||||||
@ -96,7 +97,7 @@ export class AddonModLtiProvider {
 | 
				
			|||||||
        };
 | 
					        };
 | 
				
			||||||
        const preSets: CoreSiteWSPreSets = {
 | 
					        const preSets: CoreSiteWSPreSets = {
 | 
				
			||||||
            cacheKey: this.getLtiCacheKey(courseId),
 | 
					            cacheKey: this.getLtiCacheKey(courseId),
 | 
				
			||||||
            updateFrequency: CoreSite.FREQUENCY_RARELY,
 | 
					            updateFrequency: CoreCacheUpdateFrequency.RARELY,
 | 
				
			||||||
            component: ADDON_MOD_LTI_COMPONENT,
 | 
					            component: ADDON_MOD_LTI_COMPONENT,
 | 
				
			||||||
            ...CoreSites.getReadingStrategyPreSets(options.readingStrategy), // Include reading strategy preSets.
 | 
					            ...CoreSites.getReadingStrategyPreSets(options.readingStrategy), // Include reading strategy preSets.
 | 
				
			||||||
        };
 | 
					        };
 | 
				
			||||||
 | 
				
			|||||||
@ -14,7 +14,6 @@
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
import { Injectable } from '@angular/core';
 | 
					import { Injectable } from '@angular/core';
 | 
				
			||||||
import { CoreSitesCommonWSOptions, CoreSites } from '@services/sites';
 | 
					import { CoreSitesCommonWSOptions, CoreSites } from '@services/sites';
 | 
				
			||||||
import { CoreSite } from '@classes/sites/site';
 | 
					 | 
				
			||||||
import { CoreWSExternalWarning, CoreWSExternalFile } from '@services/ws';
 | 
					import { CoreWSExternalWarning, CoreWSExternalFile } from '@services/ws';
 | 
				
			||||||
import { makeSingleton, Translate } from '@singletons';
 | 
					import { makeSingleton, Translate } from '@singletons';
 | 
				
			||||||
import { CoreFilepool } from '@services/filepool';
 | 
					import { CoreFilepool } from '@services/filepool';
 | 
				
			||||||
@ -24,6 +23,7 @@ import { CoreCourseLogHelper } from '@features/course/services/log-helper';
 | 
				
			|||||||
import { CoreError } from '@classes/errors/error';
 | 
					import { CoreError } from '@classes/errors/error';
 | 
				
			||||||
import { CoreSiteWSPreSets } from '@classes/sites/authenticated-site';
 | 
					import { CoreSiteWSPreSets } from '@classes/sites/authenticated-site';
 | 
				
			||||||
import { ADDON_MOD_PAGE_COMPONENT } from '../constants';
 | 
					import { ADDON_MOD_PAGE_COMPONENT } from '../constants';
 | 
				
			||||||
 | 
					import { CoreCacheUpdateFrequency } from '@/core/constants';
 | 
				
			||||||
 | 
					
 | 
				
			||||||
/**
 | 
					/**
 | 
				
			||||||
 * Service that provides some features for page.
 | 
					 * Service that provides some features for page.
 | 
				
			||||||
@ -67,7 +67,7 @@ export class AddonModPageProvider {
 | 
				
			|||||||
        };
 | 
					        };
 | 
				
			||||||
        const preSets: CoreSiteWSPreSets = {
 | 
					        const preSets: CoreSiteWSPreSets = {
 | 
				
			||||||
            cacheKey: this.getPageCacheKey(courseId),
 | 
					            cacheKey: this.getPageCacheKey(courseId),
 | 
				
			||||||
            updateFrequency: CoreSite.FREQUENCY_RARELY,
 | 
					            updateFrequency: CoreCacheUpdateFrequency.RARELY,
 | 
				
			||||||
            component: ADDON_MOD_PAGE_COMPONENT,
 | 
					            component: ADDON_MOD_PAGE_COMPONENT,
 | 
				
			||||||
            ...CoreSites.getReadingStrategyPreSets(options.readingStrategy),
 | 
					            ...CoreSites.getReadingStrategyPreSets(options.readingStrategy),
 | 
				
			||||||
        };
 | 
					        };
 | 
				
			||||||
 | 
				
			|||||||
@ -17,7 +17,6 @@ import { Injectable } from '@angular/core';
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
import { CoreError } from '@classes/errors/error';
 | 
					import { CoreError } from '@classes/errors/error';
 | 
				
			||||||
import { CoreWSError } from '@classes/errors/wserror';
 | 
					import { CoreWSError } from '@classes/errors/wserror';
 | 
				
			||||||
import { CoreSite } from '@classes/sites/site';
 | 
					 | 
				
			||||||
import { CoreCourseCommonModWSOptions } from '@features/course/services/course';
 | 
					import { CoreCourseCommonModWSOptions } from '@features/course/services/course';
 | 
				
			||||||
import { CoreCourseLogHelper } from '@features/course/services/log-helper';
 | 
					import { CoreCourseLogHelper } from '@features/course/services/log-helper';
 | 
				
			||||||
import { CoreGradesFormattedItem, CoreGradesHelper } from '@features/grades/services/grades-helper';
 | 
					import { CoreGradesFormattedItem, CoreGradesHelper } from '@features/grades/services/grades-helper';
 | 
				
			||||||
@ -55,6 +54,7 @@ import {
 | 
				
			|||||||
    ADDON_MOD_QUIZ_AUTO_SYNCED,
 | 
					    ADDON_MOD_QUIZ_AUTO_SYNCED,
 | 
				
			||||||
} from '../constants';
 | 
					} from '../constants';
 | 
				
			||||||
import { CoreIonicColorNames } from '@singletons/colors';
 | 
					import { CoreIonicColorNames } from '@singletons/colors';
 | 
				
			||||||
 | 
					import { CoreCacheUpdateFrequency } from '@/core/constants';
 | 
				
			||||||
 | 
					
 | 
				
			||||||
declare module '@singletons/events' {
 | 
					declare module '@singletons/events' {
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@ -680,7 +680,7 @@ export class AddonModQuizProvider {
 | 
				
			|||||||
        };
 | 
					        };
 | 
				
			||||||
        const preSets: CoreSiteWSPreSets = {
 | 
					        const preSets: CoreSiteWSPreSets = {
 | 
				
			||||||
            cacheKey: this.getFeedbackForGradeCacheKey(quizId, grade),
 | 
					            cacheKey: this.getFeedbackForGradeCacheKey(quizId, grade),
 | 
				
			||||||
            updateFrequency: CoreSite.FREQUENCY_RARELY,
 | 
					            updateFrequency: CoreCacheUpdateFrequency.RARELY,
 | 
				
			||||||
            component: ADDON_MOD_QUIZ_COMPONENT,
 | 
					            component: ADDON_MOD_QUIZ_COMPONENT,
 | 
				
			||||||
            componentId: options.cmId,
 | 
					            componentId: options.cmId,
 | 
				
			||||||
            ...CoreSites.getReadingStrategyPreSets(options.readingStrategy), // Include reading strategy preSets.
 | 
					            ...CoreSites.getReadingStrategyPreSets(options.readingStrategy), // Include reading strategy preSets.
 | 
				
			||||||
@ -820,7 +820,7 @@ export class AddonModQuizProvider {
 | 
				
			|||||||
        };
 | 
					        };
 | 
				
			||||||
        const preSets: CoreSiteWSPreSets = {
 | 
					        const preSets: CoreSiteWSPreSets = {
 | 
				
			||||||
            cacheKey: this.getQuizDataCacheKey(courseId),
 | 
					            cacheKey: this.getQuizDataCacheKey(courseId),
 | 
				
			||||||
            updateFrequency: CoreSite.FREQUENCY_RARELY,
 | 
					            updateFrequency: CoreCacheUpdateFrequency.RARELY,
 | 
				
			||||||
            component: ADDON_MOD_QUIZ_COMPONENT,
 | 
					            component: ADDON_MOD_QUIZ_COMPONENT,
 | 
				
			||||||
            ...CoreSites.getReadingStrategyPreSets(options.readingStrategy), // Include reading strategy preSets.
 | 
					            ...CoreSites.getReadingStrategyPreSets(options.readingStrategy), // Include reading strategy preSets.
 | 
				
			||||||
        };
 | 
					        };
 | 
				
			||||||
@ -955,7 +955,7 @@ export class AddonModQuizProvider {
 | 
				
			|||||||
        };
 | 
					        };
 | 
				
			||||||
        const preSets: CoreSiteWSPreSets = {
 | 
					        const preSets: CoreSiteWSPreSets = {
 | 
				
			||||||
            cacheKey: this.getQuizRequiredQtypesCacheKey(quizId),
 | 
					            cacheKey: this.getQuizRequiredQtypesCacheKey(quizId),
 | 
				
			||||||
            updateFrequency: CoreSite.FREQUENCY_SOMETIMES,
 | 
					            updateFrequency: CoreCacheUpdateFrequency.SOMETIMES,
 | 
				
			||||||
            component: ADDON_MOD_QUIZ_COMPONENT,
 | 
					            component: ADDON_MOD_QUIZ_COMPONENT,
 | 
				
			||||||
            componentId: options.cmId,
 | 
					            componentId: options.cmId,
 | 
				
			||||||
            ...CoreSites.getReadingStrategyPreSets(options.readingStrategy), // Include reading strategy preSets.
 | 
					            ...CoreSites.getReadingStrategyPreSets(options.readingStrategy), // Include reading strategy preSets.
 | 
				
			||||||
@ -1119,7 +1119,7 @@ export class AddonModQuizProvider {
 | 
				
			|||||||
        };
 | 
					        };
 | 
				
			||||||
        const preSets: CoreSiteWSPreSets = {
 | 
					        const preSets: CoreSiteWSPreSets = {
 | 
				
			||||||
            cacheKey: this.getUserAttemptsCacheKey(quizId, userId),
 | 
					            cacheKey: this.getUserAttemptsCacheKey(quizId, userId),
 | 
				
			||||||
            updateFrequency: CoreSite.FREQUENCY_SOMETIMES,
 | 
					            updateFrequency: CoreCacheUpdateFrequency.SOMETIMES,
 | 
				
			||||||
            component: ADDON_MOD_QUIZ_COMPONENT,
 | 
					            component: ADDON_MOD_QUIZ_COMPONENT,
 | 
				
			||||||
            componentId: options.cmId,
 | 
					            componentId: options.cmId,
 | 
				
			||||||
            ...CoreSites.getReadingStrategyPreSets(options.readingStrategy), // Include reading strategy preSets.
 | 
					            ...CoreSites.getReadingStrategyPreSets(options.readingStrategy), // Include reading strategy preSets.
 | 
				
			||||||
 | 
				
			|||||||
@ -15,7 +15,6 @@
 | 
				
			|||||||
import { Injectable } from '@angular/core';
 | 
					import { Injectable } from '@angular/core';
 | 
				
			||||||
import { CoreError } from '@classes/errors/error';
 | 
					import { CoreError } from '@classes/errors/error';
 | 
				
			||||||
import { CoreSiteWSPreSets } from '@classes/sites/authenticated-site';
 | 
					import { CoreSiteWSPreSets } from '@classes/sites/authenticated-site';
 | 
				
			||||||
import { CoreSite } from '@classes/sites/site';
 | 
					 | 
				
			||||||
import { CoreCourse } from '@features/course/services/course';
 | 
					import { CoreCourse } from '@features/course/services/course';
 | 
				
			||||||
import { CoreCourseLogHelper } from '@features/course/services/log-helper';
 | 
					import { CoreCourseLogHelper } from '@features/course/services/log-helper';
 | 
				
			||||||
import { CoreFilepool } from '@services/filepool';
 | 
					import { CoreFilepool } from '@services/filepool';
 | 
				
			||||||
@ -24,6 +23,7 @@ import { CoreUtils } from '@services/utils/utils';
 | 
				
			|||||||
import { CoreWSExternalFile, CoreWSExternalWarning } from '@services/ws';
 | 
					import { CoreWSExternalFile, CoreWSExternalWarning } from '@services/ws';
 | 
				
			||||||
import { makeSingleton, Translate } from '@singletons';
 | 
					import { makeSingleton, Translate } from '@singletons';
 | 
				
			||||||
import { ADDON_MOD_RESOURCE_COMPONENT } from '../constants';
 | 
					import { ADDON_MOD_RESOURCE_COMPONENT } from '../constants';
 | 
				
			||||||
 | 
					import { CoreCacheUpdateFrequency } from '@/core/constants';
 | 
				
			||||||
 | 
					
 | 
				
			||||||
/**
 | 
					/**
 | 
				
			||||||
 * Service that provides some features for resources.
 | 
					 * Service that provides some features for resources.
 | 
				
			||||||
@ -66,7 +66,7 @@ export class AddonModResourceProvider {
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
        const preSets: CoreSiteWSPreSets = {
 | 
					        const preSets: CoreSiteWSPreSets = {
 | 
				
			||||||
            cacheKey: this.getResourceCacheKey(courseId),
 | 
					            cacheKey: this.getResourceCacheKey(courseId),
 | 
				
			||||||
            updateFrequency: CoreSite.FREQUENCY_RARELY,
 | 
					            updateFrequency: CoreCacheUpdateFrequency.RARELY,
 | 
				
			||||||
            component: ADDON_MOD_RESOURCE_COMPONENT,
 | 
					            component: ADDON_MOD_RESOURCE_COMPONENT,
 | 
				
			||||||
            ...CoreSites.getReadingStrategyPreSets(options.readingStrategy),
 | 
					            ...CoreSites.getReadingStrategyPreSets(options.readingStrategy),
 | 
				
			||||||
        };
 | 
					        };
 | 
				
			||||||
 | 
				
			|||||||
@ -12,10 +12,9 @@
 | 
				
			|||||||
// See the License for the specific language governing permissions and
 | 
					// See the License for the specific language governing permissions and
 | 
				
			||||||
// limitations under the License.
 | 
					// limitations under the License.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
import { DownloadStatus } from '@/core/constants';
 | 
					import { CoreCacheUpdateFrequency, DownloadStatus } from '@/core/constants';
 | 
				
			||||||
import { Injectable } from '@angular/core';
 | 
					import { Injectable } from '@angular/core';
 | 
				
			||||||
import { CoreError } from '@classes/errors/error';
 | 
					import { CoreError } from '@classes/errors/error';
 | 
				
			||||||
import { CoreSite } from '@classes/sites/site';
 | 
					 | 
				
			||||||
import { CoreCourseCommonModWSOptions } from '@features/course/services/course';
 | 
					import { CoreCourseCommonModWSOptions } from '@features/course/services/course';
 | 
				
			||||||
import { CoreCourseLogHelper } from '@features/course/services/log-helper';
 | 
					import { CoreCourseLogHelper } from '@features/course/services/log-helper';
 | 
				
			||||||
import { CoreFilepool } from '@services/filepool';
 | 
					import { CoreFilepool } from '@services/filepool';
 | 
				
			||||||
@ -555,7 +554,7 @@ export class AddonModScormProvider {
 | 
				
			|||||||
        };
 | 
					        };
 | 
				
			||||||
        const preSets: CoreSiteWSPreSets = {
 | 
					        const preSets: CoreSiteWSPreSets = {
 | 
				
			||||||
            cacheKey: this.getAttemptCountCacheKey(scormId, userId),
 | 
					            cacheKey: this.getAttemptCountCacheKey(scormId, userId),
 | 
				
			||||||
            updateFrequency: CoreSite.FREQUENCY_SOMETIMES,
 | 
					            updateFrequency: CoreCacheUpdateFrequency.SOMETIMES,
 | 
				
			||||||
            component: ADDON_MOD_SCORM_COMPONENT,
 | 
					            component: ADDON_MOD_SCORM_COMPONENT,
 | 
				
			||||||
            componentId: options.cmId,
 | 
					            componentId: options.cmId,
 | 
				
			||||||
            ...CoreSites.getReadingStrategyPreSets(options.readingStrategy), // Include reading strategy preSets.
 | 
					            ...CoreSites.getReadingStrategyPreSets(options.readingStrategy), // Include reading strategy preSets.
 | 
				
			||||||
@ -851,7 +850,7 @@ export class AddonModScormProvider {
 | 
				
			|||||||
        };
 | 
					        };
 | 
				
			||||||
        const preSets: CoreSiteWSPreSets = {
 | 
					        const preSets: CoreSiteWSPreSets = {
 | 
				
			||||||
            cacheKey: this.getScosCacheKey(scormId),
 | 
					            cacheKey: this.getScosCacheKey(scormId),
 | 
				
			||||||
            updateFrequency: CoreSite.FREQUENCY_SOMETIMES,
 | 
					            updateFrequency: CoreCacheUpdateFrequency.SOMETIMES,
 | 
				
			||||||
            component: ADDON_MOD_SCORM_COMPONENT,
 | 
					            component: ADDON_MOD_SCORM_COMPONENT,
 | 
				
			||||||
            componentId: options.cmId,
 | 
					            componentId: options.cmId,
 | 
				
			||||||
            ...CoreSites.getReadingStrategyPreSets(options.readingStrategy), // Include reading strategy preSets.
 | 
					            ...CoreSites.getReadingStrategyPreSets(options.readingStrategy), // Include reading strategy preSets.
 | 
				
			||||||
@ -1093,7 +1092,7 @@ export class AddonModScormProvider {
 | 
				
			|||||||
        };
 | 
					        };
 | 
				
			||||||
        const preSets: CoreSiteWSPreSets = {
 | 
					        const preSets: CoreSiteWSPreSets = {
 | 
				
			||||||
            cacheKey: this.getScormDataCacheKey(courseId),
 | 
					            cacheKey: this.getScormDataCacheKey(courseId),
 | 
				
			||||||
            updateFrequency: CoreSite.FREQUENCY_RARELY,
 | 
					            updateFrequency: CoreCacheUpdateFrequency.RARELY,
 | 
				
			||||||
            component: ADDON_MOD_SCORM_COMPONENT,
 | 
					            component: ADDON_MOD_SCORM_COMPONENT,
 | 
				
			||||||
            ...CoreSites.getReadingStrategyPreSets(options.readingStrategy), // Include reading strategy preSets.
 | 
					            ...CoreSites.getReadingStrategyPreSets(options.readingStrategy), // Include reading strategy preSets.
 | 
				
			||||||
        };
 | 
					        };
 | 
				
			||||||
 | 
				
			|||||||
@ -14,7 +14,6 @@
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
import { Injectable } from '@angular/core';
 | 
					import { Injectable } from '@angular/core';
 | 
				
			||||||
import { CoreError } from '@classes/errors/error';
 | 
					import { CoreError } from '@classes/errors/error';
 | 
				
			||||||
import { CoreSite } from '@classes/sites/site';
 | 
					 | 
				
			||||||
import { CoreCourseCommonModWSOptions } from '@features/course/services/course';
 | 
					import { CoreCourseCommonModWSOptions } from '@features/course/services/course';
 | 
				
			||||||
import { CoreCourseLogHelper } from '@features/course/services/log-helper';
 | 
					import { CoreCourseLogHelper } from '@features/course/services/log-helper';
 | 
				
			||||||
import { CoreNetwork } from '@services/network';
 | 
					import { CoreNetwork } from '@services/network';
 | 
				
			||||||
@ -26,6 +25,7 @@ import { makeSingleton, Translate } from '@singletons';
 | 
				
			|||||||
import { AddonModSurveyOffline } from './survey-offline';
 | 
					import { AddonModSurveyOffline } from './survey-offline';
 | 
				
			||||||
import { CoreSiteWSPreSets } from '@classes/sites/authenticated-site';
 | 
					import { CoreSiteWSPreSets } from '@classes/sites/authenticated-site';
 | 
				
			||||||
import { ADDON_MOD_SURVEY_COMPONENT } from '../constants';
 | 
					import { ADDON_MOD_SURVEY_COMPONENT } from '../constants';
 | 
				
			||||||
 | 
					import { CoreCacheUpdateFrequency } from '@/core/constants';
 | 
				
			||||||
 | 
					
 | 
				
			||||||
/**
 | 
					/**
 | 
				
			||||||
 * Service that provides some features for surveys.
 | 
					 * Service that provides some features for surveys.
 | 
				
			||||||
@ -51,7 +51,7 @@ export class AddonModSurveyProvider {
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
        const preSets: CoreSiteWSPreSets = {
 | 
					        const preSets: CoreSiteWSPreSets = {
 | 
				
			||||||
            cacheKey: this.getQuestionsCacheKey(surveyId),
 | 
					            cacheKey: this.getQuestionsCacheKey(surveyId),
 | 
				
			||||||
            updateFrequency: CoreSite.FREQUENCY_RARELY,
 | 
					            updateFrequency: CoreCacheUpdateFrequency.RARELY,
 | 
				
			||||||
            component: ADDON_MOD_SURVEY_COMPONENT,
 | 
					            component: ADDON_MOD_SURVEY_COMPONENT,
 | 
				
			||||||
            componentId: options.cmId,
 | 
					            componentId: options.cmId,
 | 
				
			||||||
            ...CoreSites.getReadingStrategyPreSets(options.readingStrategy), // Include reading strategy preSets.
 | 
					            ...CoreSites.getReadingStrategyPreSets(options.readingStrategy), // Include reading strategy preSets.
 | 
				
			||||||
@ -108,7 +108,7 @@ export class AddonModSurveyProvider {
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
        const preSets: CoreSiteWSPreSets = {
 | 
					        const preSets: CoreSiteWSPreSets = {
 | 
				
			||||||
            cacheKey: this.getSurveyCacheKey(courseId),
 | 
					            cacheKey: this.getSurveyCacheKey(courseId),
 | 
				
			||||||
            updateFrequency: CoreSite.FREQUENCY_RARELY,
 | 
					            updateFrequency: CoreCacheUpdateFrequency.RARELY,
 | 
				
			||||||
            component: ADDON_MOD_SURVEY_COMPONENT,
 | 
					            component: ADDON_MOD_SURVEY_COMPONENT,
 | 
				
			||||||
            ...CoreSites.getReadingStrategyPreSets(options.readingStrategy), // Include reading strategy preSets.
 | 
					            ...CoreSites.getReadingStrategyPreSets(options.readingStrategy), // Include reading strategy preSets.
 | 
				
			||||||
        };
 | 
					        };
 | 
				
			||||||
 | 
				
			|||||||
@ -14,10 +14,9 @@
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
import { Injectable } from '@angular/core';
 | 
					import { Injectable } from '@angular/core';
 | 
				
			||||||
import { CoreSites, CoreSitesCommonWSOptions } from '@services/sites';
 | 
					import { CoreSites, CoreSitesCommonWSOptions } from '@services/sites';
 | 
				
			||||||
import { CoreSite } from '@classes/sites/site';
 | 
					 | 
				
			||||||
import { CoreWSExternalWarning, CoreWSExternalFile } from '@services/ws';
 | 
					import { CoreWSExternalWarning, CoreWSExternalFile } from '@services/ws';
 | 
				
			||||||
import { makeSingleton, Translate } from '@singletons';
 | 
					import { makeSingleton, Translate } from '@singletons';
 | 
				
			||||||
import { CoreConstants } from '@/core/constants';
 | 
					import { CoreCacheUpdateFrequency, CoreConstants } from '@/core/constants';
 | 
				
			||||||
import { CoreMimetypeUtils } from '@services/utils/mimetype';
 | 
					import { CoreMimetypeUtils } from '@services/utils/mimetype';
 | 
				
			||||||
import { CoreCourse } from '@features/course/services/course';
 | 
					import { CoreCourse } from '@features/course/services/course';
 | 
				
			||||||
import { CoreUtils } from '@services/utils/utils';
 | 
					import { CoreUtils } from '@services/utils/utils';
 | 
				
			||||||
@ -119,7 +118,7 @@ export class AddonModUrlProvider {
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
        const preSets: CoreSiteWSPreSets = {
 | 
					        const preSets: CoreSiteWSPreSets = {
 | 
				
			||||||
            cacheKey: this.getUrlCacheKey(courseId),
 | 
					            cacheKey: this.getUrlCacheKey(courseId),
 | 
				
			||||||
            updateFrequency: CoreSite.FREQUENCY_RARELY,
 | 
					            updateFrequency: CoreCacheUpdateFrequency.RARELY,
 | 
				
			||||||
            component: ADDON_MOD_URL_COMPONENT,
 | 
					            component: ADDON_MOD_URL_COMPONENT,
 | 
				
			||||||
            ...CoreSites.getReadingStrategyPreSets(options.readingStrategy),
 | 
					            ...CoreSites.getReadingStrategyPreSets(options.readingStrategy),
 | 
				
			||||||
        };
 | 
					        };
 | 
				
			||||||
 | 
				
			|||||||
@ -14,7 +14,6 @@
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
import { Injectable } from '@angular/core';
 | 
					import { Injectable } from '@angular/core';
 | 
				
			||||||
import { CoreError } from '@classes/errors/error';
 | 
					import { CoreError } from '@classes/errors/error';
 | 
				
			||||||
import { CoreSite } from '@classes/sites/site';
 | 
					 | 
				
			||||||
import { CoreCourseCommonModWSOptions } from '@features/course/services/course';
 | 
					import { CoreCourseCommonModWSOptions } from '@features/course/services/course';
 | 
				
			||||||
import { CoreCourseLogHelper } from '@features/course/services/log-helper';
 | 
					import { CoreCourseLogHelper } from '@features/course/services/log-helper';
 | 
				
			||||||
import { CoreTagItem } from '@features/tag/services/tag';
 | 
					import { CoreTagItem } from '@features/tag/services/tag';
 | 
				
			||||||
@ -35,6 +34,7 @@ import {
 | 
				
			|||||||
    ADDON_MOD_WIKI_MANUAL_SYNCED,
 | 
					    ADDON_MOD_WIKI_MANUAL_SYNCED,
 | 
				
			||||||
    ADDON_MOD_WIKI_PAGE_CREATED_EVENT,
 | 
					    ADDON_MOD_WIKI_PAGE_CREATED_EVENT,
 | 
				
			||||||
} from '../constants';
 | 
					} from '../constants';
 | 
				
			||||||
 | 
					import { CoreCacheUpdateFrequency } from '@/core/constants';
 | 
				
			||||||
 | 
					
 | 
				
			||||||
/**
 | 
					/**
 | 
				
			||||||
 * Service that provides some features for wikis.
 | 
					 * Service that provides some features for wikis.
 | 
				
			||||||
@ -138,7 +138,7 @@ export class AddonModWikiProvider {
 | 
				
			|||||||
        };
 | 
					        };
 | 
				
			||||||
        const preSets: CoreSiteWSPreSets = {
 | 
					        const preSets: CoreSiteWSPreSets = {
 | 
				
			||||||
            cacheKey: this.getPageContentsCacheKey(pageId),
 | 
					            cacheKey: this.getPageContentsCacheKey(pageId),
 | 
				
			||||||
            updateFrequency: CoreSite.FREQUENCY_SOMETIMES,
 | 
					            updateFrequency: CoreCacheUpdateFrequency.SOMETIMES,
 | 
				
			||||||
            component: ADDON_MOD_WIKI_COMPONENT,
 | 
					            component: ADDON_MOD_WIKI_COMPONENT,
 | 
				
			||||||
            componentId: options.cmId,
 | 
					            componentId: options.cmId,
 | 
				
			||||||
            ...CoreSites.getReadingStrategyPreSets(options.readingStrategy), // Include reading strategy preSets.
 | 
					            ...CoreSites.getReadingStrategyPreSets(options.readingStrategy), // Include reading strategy preSets.
 | 
				
			||||||
@ -211,7 +211,7 @@ export class AddonModWikiProvider {
 | 
				
			|||||||
        };
 | 
					        };
 | 
				
			||||||
        const preSets: CoreSiteWSPreSets = {
 | 
					        const preSets: CoreSiteWSPreSets = {
 | 
				
			||||||
            cacheKey: this.getSubwikiFilesCacheKey(wikiId, groupId, userId),
 | 
					            cacheKey: this.getSubwikiFilesCacheKey(wikiId, groupId, userId),
 | 
				
			||||||
            updateFrequency: CoreSite.FREQUENCY_SOMETIMES,
 | 
					            updateFrequency: CoreCacheUpdateFrequency.SOMETIMES,
 | 
				
			||||||
            component: ADDON_MOD_WIKI_COMPONENT,
 | 
					            component: ADDON_MOD_WIKI_COMPONENT,
 | 
				
			||||||
            componentId: options.cmId,
 | 
					            componentId: options.cmId,
 | 
				
			||||||
            ...CoreSites.getReadingStrategyPreSets(options.readingStrategy), // Include reading strategy preSets.
 | 
					            ...CoreSites.getReadingStrategyPreSets(options.readingStrategy), // Include reading strategy preSets.
 | 
				
			||||||
@ -281,7 +281,7 @@ export class AddonModWikiProvider {
 | 
				
			|||||||
        };
 | 
					        };
 | 
				
			||||||
        const preSets: CoreSiteWSPreSets = {
 | 
					        const preSets: CoreSiteWSPreSets = {
 | 
				
			||||||
            cacheKey: this.getSubwikiPagesCacheKey(wikiId, groupId, userId),
 | 
					            cacheKey: this.getSubwikiPagesCacheKey(wikiId, groupId, userId),
 | 
				
			||||||
            updateFrequency: CoreSite.FREQUENCY_SOMETIMES,
 | 
					            updateFrequency: CoreCacheUpdateFrequency.SOMETIMES,
 | 
				
			||||||
            component: ADDON_MOD_WIKI_COMPONENT,
 | 
					            component: ADDON_MOD_WIKI_COMPONENT,
 | 
				
			||||||
            componentId: options.cmId,
 | 
					            componentId: options.cmId,
 | 
				
			||||||
            ...CoreSites.getReadingStrategyPreSets(options.readingStrategy), // Include reading strategy preSets.
 | 
					            ...CoreSites.getReadingStrategyPreSets(options.readingStrategy), // Include reading strategy preSets.
 | 
				
			||||||
@ -329,7 +329,7 @@ export class AddonModWikiProvider {
 | 
				
			|||||||
        };
 | 
					        };
 | 
				
			||||||
        const preSets = {
 | 
					        const preSets = {
 | 
				
			||||||
            cacheKey: this.getSubwikisCacheKey(wikiId),
 | 
					            cacheKey: this.getSubwikisCacheKey(wikiId),
 | 
				
			||||||
            updateFrequency: CoreSite.FREQUENCY_RARELY,
 | 
					            updateFrequency: CoreCacheUpdateFrequency.RARELY,
 | 
				
			||||||
            component: ADDON_MOD_WIKI_COMPONENT,
 | 
					            component: ADDON_MOD_WIKI_COMPONENT,
 | 
				
			||||||
            componentId: options.cmId,
 | 
					            componentId: options.cmId,
 | 
				
			||||||
            ...CoreSites.getReadingStrategyPreSets(options.readingStrategy), // Include reading strategy preSets.
 | 
					            ...CoreSites.getReadingStrategyPreSets(options.readingStrategy), // Include reading strategy preSets.
 | 
				
			||||||
@ -387,7 +387,7 @@ export class AddonModWikiProvider {
 | 
				
			|||||||
        };
 | 
					        };
 | 
				
			||||||
        const preSets: CoreSiteWSPreSets = {
 | 
					        const preSets: CoreSiteWSPreSets = {
 | 
				
			||||||
            cacheKey: this.getWikiDataCacheKey(courseId),
 | 
					            cacheKey: this.getWikiDataCacheKey(courseId),
 | 
				
			||||||
            updateFrequency: CoreSite.FREQUENCY_RARELY,
 | 
					            updateFrequency: CoreCacheUpdateFrequency.RARELY,
 | 
				
			||||||
            component: ADDON_MOD_WIKI_COMPONENT,
 | 
					            component: ADDON_MOD_WIKI_COMPONENT,
 | 
				
			||||||
            ...CoreSites.getReadingStrategyPreSets(options.readingStrategy), // Include reading strategy preSets.
 | 
					            ...CoreSites.getReadingStrategyPreSets(options.readingStrategy), // Include reading strategy preSets.
 | 
				
			||||||
        };
 | 
					        };
 | 
				
			||||||
 | 
				
			|||||||
@ -14,7 +14,6 @@
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
import { Injectable } from '@angular/core';
 | 
					import { Injectable } from '@angular/core';
 | 
				
			||||||
import { CoreError } from '@classes/errors/error';
 | 
					import { CoreError } from '@classes/errors/error';
 | 
				
			||||||
import { CoreSite } from '@classes/sites/site';
 | 
					 | 
				
			||||||
import { CoreCourseCommonModWSOptions } from '@features/course/services/course';
 | 
					import { CoreCourseCommonModWSOptions } from '@features/course/services/course';
 | 
				
			||||||
import { CoreCourseLogHelper } from '@features/course/services/log-helper';
 | 
					import { CoreCourseLogHelper } from '@features/course/services/log-helper';
 | 
				
			||||||
import { CoreGradesMenuItem } from '@features/grades/services/grades-helper';
 | 
					import { CoreGradesMenuItem } from '@features/grades/services/grades-helper';
 | 
				
			||||||
@ -42,6 +41,7 @@ import {
 | 
				
			|||||||
    AddonModWorkshopSubmissionType,
 | 
					    AddonModWorkshopSubmissionType,
 | 
				
			||||||
} from '@addons/mod/workshop/constants';
 | 
					} from '@addons/mod/workshop/constants';
 | 
				
			||||||
import { CoreSiteWSPreSets } from '@classes/sites/authenticated-site';
 | 
					import { CoreSiteWSPreSets } from '@classes/sites/authenticated-site';
 | 
				
			||||||
 | 
					import { CoreCacheUpdateFrequency } from '@/core/constants';
 | 
				
			||||||
 | 
					
 | 
				
			||||||
declare module '@singletons/events' {
 | 
					declare module '@singletons/events' {
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@ -218,7 +218,7 @@ export class AddonModWorkshopProvider {
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
        const preSets: CoreSiteWSPreSets = {
 | 
					        const preSets: CoreSiteWSPreSets = {
 | 
				
			||||||
            cacheKey: this.getWorkshopDataCacheKey(courseId),
 | 
					            cacheKey: this.getWorkshopDataCacheKey(courseId),
 | 
				
			||||||
            updateFrequency: CoreSite.FREQUENCY_RARELY,
 | 
					            updateFrequency: CoreCacheUpdateFrequency.RARELY,
 | 
				
			||||||
            component: ADDON_MOD_WORKSHOP_COMPONENT,
 | 
					            component: ADDON_MOD_WORKSHOP_COMPONENT,
 | 
				
			||||||
            ...CoreSites.getReadingStrategyPreSets(options.readingStrategy), // Include reading strategy preSets.
 | 
					            ...CoreSites.getReadingStrategyPreSets(options.readingStrategy), // Include reading strategy preSets.
 | 
				
			||||||
        };
 | 
					        };
 | 
				
			||||||
@ -360,7 +360,7 @@ export class AddonModWorkshopProvider {
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
        const preSets: CoreSiteWSPreSets = {
 | 
					        const preSets: CoreSiteWSPreSets = {
 | 
				
			||||||
            cacheKey: this.getUserPlanDataCacheKey(workshopId),
 | 
					            cacheKey: this.getUserPlanDataCacheKey(workshopId),
 | 
				
			||||||
            updateFrequency: CoreSite.FREQUENCY_OFTEN,
 | 
					            updateFrequency: CoreCacheUpdateFrequency.OFTEN,
 | 
				
			||||||
            component: ADDON_MOD_WORKSHOP_COMPONENT,
 | 
					            component: ADDON_MOD_WORKSHOP_COMPONENT,
 | 
				
			||||||
            componentId: options.cmId,
 | 
					            componentId: options.cmId,
 | 
				
			||||||
            ...CoreSites.getReadingStrategyPreSets(options.readingStrategy), // Include reading strategy preSets.
 | 
					            ...CoreSites.getReadingStrategyPreSets(options.readingStrategy), // Include reading strategy preSets.
 | 
				
			||||||
@ -407,7 +407,7 @@ export class AddonModWorkshopProvider {
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
        const preSets: CoreSiteWSPreSets = {
 | 
					        const preSets: CoreSiteWSPreSets = {
 | 
				
			||||||
            cacheKey: this.getSubmissionsDataCacheKey(workshopId, userId, groupId),
 | 
					            cacheKey: this.getSubmissionsDataCacheKey(workshopId, userId, groupId),
 | 
				
			||||||
            updateFrequency: CoreSite.FREQUENCY_OFTEN,
 | 
					            updateFrequency: CoreCacheUpdateFrequency.OFTEN,
 | 
				
			||||||
            component: ADDON_MOD_WORKSHOP_COMPONENT,
 | 
					            component: ADDON_MOD_WORKSHOP_COMPONENT,
 | 
				
			||||||
            componentId: options.cmId,
 | 
					            componentId: options.cmId,
 | 
				
			||||||
            ...CoreSites.getReadingStrategyPreSets(options.readingStrategy), // Include reading strategy preSets.
 | 
					            ...CoreSites.getReadingStrategyPreSets(options.readingStrategy), // Include reading strategy preSets.
 | 
				
			||||||
@ -537,7 +537,7 @@ export class AddonModWorkshopProvider {
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
        const preSets: CoreSiteWSPreSets = {
 | 
					        const preSets: CoreSiteWSPreSets = {
 | 
				
			||||||
            cacheKey: this.getGradesReportDataCacheKey(workshopId, options.groupId),
 | 
					            cacheKey: this.getGradesReportDataCacheKey(workshopId, options.groupId),
 | 
				
			||||||
            updateFrequency: CoreSite.FREQUENCY_OFTEN,
 | 
					            updateFrequency: CoreCacheUpdateFrequency.OFTEN,
 | 
				
			||||||
            component: ADDON_MOD_WORKSHOP_COMPONENT,
 | 
					            component: ADDON_MOD_WORKSHOP_COMPONENT,
 | 
				
			||||||
            componentId: options.cmId,
 | 
					            componentId: options.cmId,
 | 
				
			||||||
            ...CoreSites.getReadingStrategyPreSets(options.readingStrategy), // Include reading strategy preSets.
 | 
					            ...CoreSites.getReadingStrategyPreSets(options.readingStrategy), // Include reading strategy preSets.
 | 
				
			||||||
@ -1035,7 +1035,7 @@ export class AddonModWorkshopProvider {
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
        const preSets: CoreSiteWSPreSets = {
 | 
					        const preSets: CoreSiteWSPreSets = {
 | 
				
			||||||
            cacheKey: this.getAssessmentFormDataCacheKey(workshopId, assessmentId, mode),
 | 
					            cacheKey: this.getAssessmentFormDataCacheKey(workshopId, assessmentId, mode),
 | 
				
			||||||
            updateFrequency: CoreSite.FREQUENCY_RARELY,
 | 
					            updateFrequency: CoreCacheUpdateFrequency.RARELY,
 | 
				
			||||||
            component: ADDON_MOD_WORKSHOP_COMPONENT,
 | 
					            component: ADDON_MOD_WORKSHOP_COMPONENT,
 | 
				
			||||||
            componentId: options.cmId,
 | 
					            componentId: options.cmId,
 | 
				
			||||||
            ...CoreSites.getReadingStrategyPreSets(options.readingStrategy), // Include reading strategy preSets.
 | 
					            ...CoreSites.getReadingStrategyPreSets(options.readingStrategy), // Include reading strategy preSets.
 | 
				
			||||||
 | 
				
			|||||||
@ -14,7 +14,6 @@
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
import { Injectable } from '@angular/core';
 | 
					import { Injectable } from '@angular/core';
 | 
				
			||||||
import { CoreWSError } from '@classes/errors/wserror';
 | 
					import { CoreWSError } from '@classes/errors/wserror';
 | 
				
			||||||
import { CoreSite } from '@classes/sites/site';
 | 
					 | 
				
			||||||
import { CoreUser } from '@features/user/services/user';
 | 
					import { CoreUser } from '@features/user/services/user';
 | 
				
			||||||
import { CoreNetwork } from '@services/network';
 | 
					import { CoreNetwork } from '@services/network';
 | 
				
			||||||
import { CoreSites } from '@services/sites';
 | 
					import { CoreSites } from '@services/sites';
 | 
				
			||||||
@ -23,6 +22,7 @@ import { CoreWSExternalWarning } from '@services/ws';
 | 
				
			|||||||
import { makeSingleton, Translate } from '@singletons';
 | 
					import { makeSingleton, Translate } from '@singletons';
 | 
				
			||||||
import { AddonNotesOffline } from './notes-offline';
 | 
					import { AddonNotesOffline } from './notes-offline';
 | 
				
			||||||
import { CoreSiteWSPreSets } from '@classes/sites/authenticated-site';
 | 
					import { CoreSiteWSPreSets } from '@classes/sites/authenticated-site';
 | 
				
			||||||
 | 
					import { CoreCacheUpdateFrequency } from '@/core/constants';
 | 
				
			||||||
 | 
					
 | 
				
			||||||
const ROOT_CACHE_KEY = 'mmaNotes:';
 | 
					const ROOT_CACHE_KEY = 'mmaNotes:';
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@ -241,7 +241,7 @@ export class AddonNotesProvider {
 | 
				
			|||||||
            ],
 | 
					            ],
 | 
				
			||||||
        };
 | 
					        };
 | 
				
			||||||
        const preSets: CoreSiteWSPreSets = {
 | 
					        const preSets: CoreSiteWSPreSets = {
 | 
				
			||||||
            updateFrequency: CoreSite.FREQUENCY_RARELY,
 | 
					            updateFrequency: CoreCacheUpdateFrequency.RARELY,
 | 
				
			||||||
        };
 | 
					        };
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        // Use .read to cache data and be able to check it in offline. This means that, if a user loses the capabilities
 | 
					        // Use .read to cache data and be able to check it in offline. This means that, if a user loses the capabilities
 | 
				
			||||||
@ -309,7 +309,7 @@ export class AddonNotesProvider {
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
        const preSets: CoreSiteWSPreSets = {
 | 
					        const preSets: CoreSiteWSPreSets = {
 | 
				
			||||||
            cacheKey: this.getNotesCacheKey(courseId, userId),
 | 
					            cacheKey: this.getNotesCacheKey(courseId, userId),
 | 
				
			||||||
            updateFrequency: CoreSite.FREQUENCY_SOMETIMES,
 | 
					            updateFrequency: CoreCacheUpdateFrequency.SOMETIMES,
 | 
				
			||||||
        };
 | 
					        };
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        if (ignoreCache) {
 | 
					        if (ignoreCache) {
 | 
				
			||||||
 | 
				
			|||||||
@ -19,12 +19,12 @@ import { CoreWSExternalWarning } from '@services/ws';
 | 
				
			|||||||
import { CoreText } from '@singletons/text';
 | 
					import { CoreText } from '@singletons/text';
 | 
				
			||||||
import { CoreTimeUtils } from '@services/utils/time';
 | 
					import { CoreTimeUtils } from '@services/utils/time';
 | 
				
			||||||
import { CoreUser, USER_NOREPLY_USER } from '@features/user/services/user';
 | 
					import { CoreUser, USER_NOREPLY_USER } from '@features/user/services/user';
 | 
				
			||||||
import { CoreSite } from '@classes/sites/site';
 | 
					 | 
				
			||||||
import { CoreLogger } from '@singletons/logger';
 | 
					import { CoreLogger } from '@singletons/logger';
 | 
				
			||||||
import { Translate, makeSingleton } from '@singletons';
 | 
					import { Translate, makeSingleton } from '@singletons';
 | 
				
			||||||
import { CoreCourseModuleDelegate } from '@features/course/services/module-delegate';
 | 
					import { CoreCourseModuleDelegate } from '@features/course/services/module-delegate';
 | 
				
			||||||
import { AddonNotificationsPushNotification } from './handlers/push-click';
 | 
					import { AddonNotificationsPushNotification } from './handlers/push-click';
 | 
				
			||||||
import { CoreSiteWSPreSets } from '@classes/sites/authenticated-site';
 | 
					import { CoreSiteWSPreSets } from '@classes/sites/authenticated-site';
 | 
				
			||||||
 | 
					import { CoreCacheUpdateFrequency } from '@/core/constants';
 | 
				
			||||||
 | 
					
 | 
				
			||||||
declare module '@singletons/events' {
 | 
					declare module '@singletons/events' {
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@ -187,7 +187,7 @@ export class AddonNotificationsProvider {
 | 
				
			|||||||
        const site = await CoreSites.getSite(options.siteId);
 | 
					        const site = await CoreSites.getSite(options.siteId);
 | 
				
			||||||
        const preSets: CoreSiteWSPreSets = {
 | 
					        const preSets: CoreSiteWSPreSets = {
 | 
				
			||||||
            cacheKey: this.getNotificationPreferencesCacheKey(),
 | 
					            cacheKey: this.getNotificationPreferencesCacheKey(),
 | 
				
			||||||
            updateFrequency: CoreSite.FREQUENCY_SOMETIMES,
 | 
					            updateFrequency: CoreCacheUpdateFrequency.SOMETIMES,
 | 
				
			||||||
            ...CoreSites.getReadingStrategyPreSets(options.readingStrategy), // Include reading strategy preSets.
 | 
					            ...CoreSites.getReadingStrategyPreSets(options.readingStrategy), // Include reading strategy preSets.
 | 
				
			||||||
        };
 | 
					        };
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
				
			|||||||
@ -19,7 +19,7 @@ import { CoreMimetypeUtils } from '@services/utils/mimetype';
 | 
				
			|||||||
import { CoreWSExternalWarning } from '@services/ws';
 | 
					import { CoreWSExternalWarning } from '@services/ws';
 | 
				
			||||||
import { CoreSite } from '@classes/sites/site';
 | 
					import { CoreSite } from '@classes/sites/site';
 | 
				
			||||||
import { makeSingleton } from '@singletons';
 | 
					import { makeSingleton } from '@singletons';
 | 
				
			||||||
import { ContextLevel } from '@/core/constants';
 | 
					import { ContextLevel, CoreCacheUpdateFrequency } from '@/core/constants';
 | 
				
			||||||
import { CoreFileUploader } from '@features/fileuploader/services/fileuploader';
 | 
					import { CoreFileUploader } from '@features/fileuploader/services/fileuploader';
 | 
				
			||||||
 | 
					
 | 
				
			||||||
const ROOT_CACHE_KEY = 'mmaFiles:';
 | 
					const ROOT_CACHE_KEY = 'mmaFiles:';
 | 
				
			||||||
@ -84,7 +84,7 @@ export class AddonPrivateFilesProvider {
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
        const preSets = {
 | 
					        const preSets = {
 | 
				
			||||||
            cacheKey: this.getFilesListCacheKey(params),
 | 
					            cacheKey: this.getFilesListCacheKey(params),
 | 
				
			||||||
            updateFrequency: CoreSite.FREQUENCY_SOMETIMES,
 | 
					            updateFrequency: CoreCacheUpdateFrequency.SOMETIMES,
 | 
				
			||||||
        };
 | 
					        };
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        const result: AddonPrivateFilesGetFilesWSResult = await site.read('core_files_get_files', params, preSets);
 | 
					        const result: AddonPrivateFilesGetFilesWSResult = await site.read('core_files_get_files', params, preSets);
 | 
				
			||||||
@ -163,7 +163,7 @@ export class AddonPrivateFilesProvider {
 | 
				
			|||||||
        };
 | 
					        };
 | 
				
			||||||
        const preSets = {
 | 
					        const preSets = {
 | 
				
			||||||
            cacheKey: this.getPrivateFilesInfoCacheKey(userId),
 | 
					            cacheKey: this.getPrivateFilesInfoCacheKey(userId),
 | 
				
			||||||
            updateFrequency: CoreSite.FREQUENCY_SOMETIMES,
 | 
					            updateFrequency: CoreCacheUpdateFrequency.SOMETIMES,
 | 
				
			||||||
        };
 | 
					        };
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        return site.read('core_user_get_private_files_info', params, preSets);
 | 
					        return site.read('core_user_get_private_files_info', params, preSets);
 | 
				
			||||||
 | 
				
			|||||||
@ -24,7 +24,7 @@ import {
 | 
				
			|||||||
import { CoreToasts, ToastDuration } from '@services/toasts';
 | 
					import { CoreToasts, ToastDuration } from '@services/toasts';
 | 
				
			||||||
import { CoreText } from '@singletons/text';
 | 
					import { CoreText } from '@singletons/text';
 | 
				
			||||||
import { CoreUtils } from '@services/utils/utils';
 | 
					import { CoreUtils } from '@services/utils/utils';
 | 
				
			||||||
import { CoreConstants } from '@/core/constants';
 | 
					import { CoreCacheUpdateFrequency, CoreConstants, MINIMUM_MOODLE_VERSION, MOODLE_RELEASES } from '@/core/constants';
 | 
				
			||||||
import { CoreError } from '@classes/errors/error';
 | 
					import { CoreError } from '@classes/errors/error';
 | 
				
			||||||
import { CoreWSError } from '@classes/errors/wserror';
 | 
					import { CoreWSError } from '@classes/errors/wserror';
 | 
				
			||||||
import { CoreLogger } from '@singletons/logger';
 | 
					import { CoreLogger } from '@singletons/logger';
 | 
				
			||||||
@ -51,31 +51,34 @@ export class CoreAuthenticatedSite extends CoreUnauthenticatedSite {
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
    static readonly REQUEST_QUEUE_FORCE_WS = false; // Use "tool_mobile_call_external_functions" even for calling a single function.
 | 
					    static readonly REQUEST_QUEUE_FORCE_WS = false; // Use "tool_mobile_call_external_functions" even for calling a single function.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    // Constants for cache update frequency.
 | 
					    /**
 | 
				
			||||||
    static readonly FREQUENCY_USUALLY = 0;
 | 
					     * @deprecated 5.0. Use CoreCacheUpdateFrequency.USUALLY instead.
 | 
				
			||||||
    static readonly FREQUENCY_OFTEN = 1;
 | 
					     */
 | 
				
			||||||
    static readonly FREQUENCY_SOMETIMES = 2;
 | 
					    static readonly FREQUENCY_USUALLY = CoreCacheUpdateFrequency.USUALLY;
 | 
				
			||||||
    static readonly FREQUENCY_RARELY = 3;
 | 
					    /**
 | 
				
			||||||
 | 
					     * @deprecated 5.0. Use CoreCacheUpdateFrequency.OFTEN instead.
 | 
				
			||||||
 | 
					     */
 | 
				
			||||||
 | 
					    static readonly FREQUENCY_OFTEN = CoreCacheUpdateFrequency.OFTEN;
 | 
				
			||||||
 | 
					    /**
 | 
				
			||||||
 | 
					     * @deprecated 5.0. Use CoreCacheUpdateFrequency.SOMETIMES instead.
 | 
				
			||||||
 | 
					     */
 | 
				
			||||||
 | 
					    static readonly FREQUENCY_SOMETIMES = CoreCacheUpdateFrequency.SOMETIMES;
 | 
				
			||||||
 | 
					    /**
 | 
				
			||||||
 | 
					     * @deprecated 5.0. Use CoreCacheUpdateFrequency.RARELY instead.
 | 
				
			||||||
 | 
					     */
 | 
				
			||||||
 | 
					    static readonly FREQUENCY_RARELY = CoreCacheUpdateFrequency.RARELY;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    static readonly MINIMUM_MOODLE_VERSION = '3.5';
 | 
					    /**
 | 
				
			||||||
 | 
					     * @deprecated 5.0. Use MINIMUM_MOODLE_VERSION from constants.ts.
 | 
				
			||||||
 | 
					     */
 | 
				
			||||||
 | 
					    static readonly MINIMUM_MOODLE_VERSION = MINIMUM_MOODLE_VERSION;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    // Versions of Moodle releases.
 | 
					    /**
 | 
				
			||||||
    static readonly MOODLE_RELEASES = {
 | 
					     * Versions of Moodle releases.
 | 
				
			||||||
        '3.5': 2018051700,
 | 
					     *
 | 
				
			||||||
        '3.6': 2018120300,
 | 
					     * @deprecated 5.0. Use MOODLE_RELEASES from constants.ts.
 | 
				
			||||||
        '3.7': 2019052000,
 | 
					     */
 | 
				
			||||||
        '3.8': 2019111800,
 | 
					    static readonly MOODLE_RELEASES = MOODLE_RELEASES;
 | 
				
			||||||
        '3.9': 2020061500,
 | 
					 | 
				
			||||||
        '3.10': 2020110900,
 | 
					 | 
				
			||||||
        '3.11': 2021051700,
 | 
					 | 
				
			||||||
        '4.0': 2022041900,
 | 
					 | 
				
			||||||
        '4.1': 2022112800,
 | 
					 | 
				
			||||||
        '4.2': 2023042400,
 | 
					 | 
				
			||||||
        '4.3': 2023100900,
 | 
					 | 
				
			||||||
        '4.4': 2024042200,
 | 
					 | 
				
			||||||
        '4.5': 2024100700,
 | 
					 | 
				
			||||||
        '5.0': 2024100800, // @todo [5.0] replace with right value when released. Using a tmp value to be able to test new things.
 | 
					 | 
				
			||||||
    };
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
    // Possible cache update frequencies.
 | 
					    // Possible cache update frequencies.
 | 
				
			||||||
    protected static readonly UPDATE_FREQUENCIES = [
 | 
					    protected static readonly UPDATE_FREQUENCIES = [
 | 
				
			||||||
@ -1484,9 +1487,9 @@ export class CoreAuthenticatedSite extends CoreUnauthenticatedSite {
 | 
				
			|||||||
            return 0;
 | 
					            return 0;
 | 
				
			||||||
        }
 | 
					        }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        if (CoreAuthenticatedSite.MOODLE_RELEASES[data.major] === undefined) {
 | 
					        if (MOODLE_RELEASES[data.major] === undefined) {
 | 
				
			||||||
            // Major version not found. Use the last one.
 | 
					            // Major version not found. Use the last one.
 | 
				
			||||||
            const major = Object.keys(CoreAuthenticatedSite.MOODLE_RELEASES).pop();
 | 
					            const major = Object.keys(MOODLE_RELEASES).pop();
 | 
				
			||||||
            if (!major) {
 | 
					            if (!major) {
 | 
				
			||||||
                return 0;
 | 
					                return 0;
 | 
				
			||||||
            }
 | 
					            }
 | 
				
			||||||
@ -1494,7 +1497,7 @@ export class CoreAuthenticatedSite extends CoreUnauthenticatedSite {
 | 
				
			|||||||
            data.major = major;
 | 
					            data.major = major;
 | 
				
			||||||
        }
 | 
					        }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        return CoreAuthenticatedSite.MOODLE_RELEASES[data.major] + data.minor;
 | 
					        return MOODLE_RELEASES[data.major] + data.minor;
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    /**
 | 
					    /**
 | 
				
			||||||
@ -1524,7 +1527,7 @@ export class CoreAuthenticatedSite extends CoreUnauthenticatedSite {
 | 
				
			|||||||
     */
 | 
					     */
 | 
				
			||||||
    protected getNextMajorVersionNumber(version: string): number {
 | 
					    protected getNextMajorVersionNumber(version: string): number {
 | 
				
			||||||
        const data = this.getMajorAndMinor(version);
 | 
					        const data = this.getMajorAndMinor(version);
 | 
				
			||||||
        const releases = Object.keys(CoreAuthenticatedSite.MOODLE_RELEASES);
 | 
					        const releases = Object.keys(MOODLE_RELEASES);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        if (!data) {
 | 
					        if (!data) {
 | 
				
			||||||
            // Invalid version.
 | 
					            // Invalid version.
 | 
				
			||||||
@ -1535,10 +1538,10 @@ export class CoreAuthenticatedSite extends CoreUnauthenticatedSite {
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
        if (position == -1 || position == releases.length - 1) {
 | 
					        if (position == -1 || position == releases.length - 1) {
 | 
				
			||||||
            // Major version not found or it's the last one. Use the last one.
 | 
					            // Major version not found or it's the last one. Use the last one.
 | 
				
			||||||
            return CoreAuthenticatedSite.MOODLE_RELEASES[releases[position]];
 | 
					            return MOODLE_RELEASES[releases[position]];
 | 
				
			||||||
        }
 | 
					        }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        return CoreAuthenticatedSite.MOODLE_RELEASES[releases[position + 1]];
 | 
					        return MOODLE_RELEASES[releases[position + 1]];
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    /**
 | 
					    /**
 | 
				
			||||||
@ -1547,10 +1550,10 @@ export class CoreAuthenticatedSite extends CoreUnauthenticatedSite {
 | 
				
			|||||||
     * @param updateFrequency The update frequency of the entry.
 | 
					     * @param updateFrequency The update frequency of the entry.
 | 
				
			||||||
     * @returns Expiration delay.
 | 
					     * @returns Expiration delay.
 | 
				
			||||||
     */
 | 
					     */
 | 
				
			||||||
    getExpirationDelay(updateFrequency?: number): number {
 | 
					    getExpirationDelay(updateFrequency?: CoreCacheUpdateFrequency): number {
 | 
				
			||||||
        updateFrequency = updateFrequency || CoreAuthenticatedSite.FREQUENCY_USUALLY;
 | 
					        updateFrequency = updateFrequency ?? CoreCacheUpdateFrequency.USUALLY;
 | 
				
			||||||
        let expirationDelay = CoreAuthenticatedSite.UPDATE_FREQUENCIES[updateFrequency] ||
 | 
					        let expirationDelay = CoreAuthenticatedSite.UPDATE_FREQUENCIES[updateFrequency] ||
 | 
				
			||||||
        CoreAuthenticatedSite.UPDATE_FREQUENCIES[CoreAuthenticatedSite.FREQUENCY_USUALLY];
 | 
					        CoreAuthenticatedSite.UPDATE_FREQUENCIES[CoreCacheUpdateFrequency.USUALLY];
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        if (CoreNetwork.isNetworkAccessLimited()) {
 | 
					        if (CoreNetwork.isNetworkAccessLimited()) {
 | 
				
			||||||
            // Not WiFi, increase the expiration delay a 50% to decrease the data usage in this case.
 | 
					            // Not WiFi, increase the expiration delay a 50% to decrease the data usage in this case.
 | 
				
			||||||
@ -1744,10 +1747,10 @@ export type CoreSiteWSPreSets = {
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
    /**
 | 
					    /**
 | 
				
			||||||
     * Update frequency. This value determines how often the cached data will be updated. Possible values:
 | 
					     * Update frequency. This value determines how often the cached data will be updated. Possible values:
 | 
				
			||||||
     * CoreSite.FREQUENCY_USUALLY, CoreSite.FREQUENCY_OFTEN, CoreSite.FREQUENCY_SOMETIMES, CoreSite.FREQUENCY_RARELY.
 | 
					     * USUALLY, OFTEN, SOMETIMES, RARELY.
 | 
				
			||||||
     * Defaults to CoreSite.FREQUENCY_USUALLY.
 | 
					     * Defaults to USUALLY.
 | 
				
			||||||
     */
 | 
					     */
 | 
				
			||||||
    updateFrequency?: number;
 | 
					    updateFrequency?: CoreCacheUpdateFrequency;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    /**
 | 
					    /**
 | 
				
			||||||
     * Component name. Optionally included if this request is being made on behalf of a specific
 | 
					     * Component name. Optionally included if this request is being made on behalf of a specific
 | 
				
			||||||
 | 
				
			|||||||
@ -76,6 +76,36 @@ export const DownloadStatus = {
 | 
				
			|||||||
export type DownloadStatus = typeof DownloadStatus[keyof typeof DownloadStatus];
 | 
					export type DownloadStatus = typeof DownloadStatus[keyof typeof DownloadStatus];
 | 
				
			||||||
/* eslint-enable @typescript-eslint/naming-convention, @typescript-eslint/no-redeclare */
 | 
					/* eslint-enable @typescript-eslint/naming-convention, @typescript-eslint/no-redeclare */
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					// Constants for cache update frequency.
 | 
				
			||||||
 | 
					export const CoreCacheUpdateFrequency = {
 | 
				
			||||||
 | 
					    USUALLY: 0, // eslint-disable-line @typescript-eslint/naming-convention
 | 
				
			||||||
 | 
					    OFTEN: 1, // eslint-disable-line @typescript-eslint/naming-convention
 | 
				
			||||||
 | 
					    SOMETIMES: 2, // eslint-disable-line @typescript-eslint/naming-convention
 | 
				
			||||||
 | 
					    RARELY: 3, // eslint-disable-line @typescript-eslint/naming-convention
 | 
				
			||||||
 | 
					} as const;
 | 
				
			||||||
 | 
					// eslint-disable-next-line @typescript-eslint/no-redeclare
 | 
				
			||||||
 | 
					export type CoreCacheUpdateFrequency = typeof CoreCacheUpdateFrequency[keyof typeof CoreCacheUpdateFrequency];
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					export const MINIMUM_MOODLE_VERSION = '3.5';
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					// Versions of Moodle releases.
 | 
				
			||||||
 | 
					export const MOODLE_RELEASES = {
 | 
				
			||||||
 | 
					    '3.5': 2018051700,
 | 
				
			||||||
 | 
					    '3.6': 2018120300,
 | 
				
			||||||
 | 
					    '3.7': 2019052000,
 | 
				
			||||||
 | 
					    '3.8': 2019111800,
 | 
				
			||||||
 | 
					    '3.9': 2020061500,
 | 
				
			||||||
 | 
					    '3.10': 2020110900,
 | 
				
			||||||
 | 
					    '3.11': 2021051700,
 | 
				
			||||||
 | 
					    '4.0': 2022041900,
 | 
				
			||||||
 | 
					    '4.1': 2022112800,
 | 
				
			||||||
 | 
					    '4.2': 2023042400,
 | 
				
			||||||
 | 
					    '4.3': 2023100900,
 | 
				
			||||||
 | 
					    '4.4': 2024042200,
 | 
				
			||||||
 | 
					    '4.5': 2024100700,
 | 
				
			||||||
 | 
					    '5.0': 2024100800, // @todo [5.0] replace with right value when released. Using a tmp value to be able to test new things.
 | 
				
			||||||
 | 
					};
 | 
				
			||||||
 | 
					
 | 
				
			||||||
/**
 | 
					/**
 | 
				
			||||||
 * Static class to contain all the core constants.
 | 
					 * Static class to contain all the core constants.
 | 
				
			||||||
 */
 | 
					 */
 | 
				
			||||||
 | 
				
			|||||||
@ -100,6 +100,32 @@ export async function getCoreServices(): Promise<Type<unknown>[]> {
 | 
				
			|||||||
    ];
 | 
					    ];
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					/**
 | 
				
			||||||
 | 
					 * Get core exported objects.
 | 
				
			||||||
 | 
					 *
 | 
				
			||||||
 | 
					 * @returns Core exported objects.
 | 
				
			||||||
 | 
					 */
 | 
				
			||||||
 | 
					export async function getCoreExportedObjects(): Promise<Record<string, unknown>> {
 | 
				
			||||||
 | 
					    const {
 | 
				
			||||||
 | 
					        CoreConstants,
 | 
				
			||||||
 | 
					        CoreCacheUpdateFrequency,
 | 
				
			||||||
 | 
					        DownloadStatus,
 | 
				
			||||||
 | 
					        MINIMUM_MOODLE_VERSION,
 | 
				
			||||||
 | 
					        MOODLE_RELEASES,
 | 
				
			||||||
 | 
					    } = await import('@/core/constants');
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    /* eslint-disable @typescript-eslint/naming-convention */
 | 
				
			||||||
 | 
					    return {
 | 
				
			||||||
 | 
					        CoreConstants,
 | 
				
			||||||
 | 
					        CoreConfigConstants: CoreConstants.CONFIG,
 | 
				
			||||||
 | 
					        CoreCacheUpdateFrequency,
 | 
				
			||||||
 | 
					        DownloadStatus,
 | 
				
			||||||
 | 
					        MINIMUM_MOODLE_VERSION,
 | 
				
			||||||
 | 
					        MOODLE_RELEASES,
 | 
				
			||||||
 | 
					    };
 | 
				
			||||||
 | 
					    /* eslint-enable @typescript-eslint/naming-convention */
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@NgModule({
 | 
					@NgModule({
 | 
				
			||||||
    imports: [
 | 
					    imports: [
 | 
				
			||||||
        CoreFeaturesModule,
 | 
					        CoreFeaturesModule,
 | 
				
			||||||
 | 
				
			|||||||
@ -24,7 +24,7 @@ import { CoreEvents } from '@singletons/events';
 | 
				
			|||||||
import { CoreCommentsOffline } from './comments-offline';
 | 
					import { CoreCommentsOffline } from './comments-offline';
 | 
				
			||||||
import { CoreCommentsSyncAutoSyncData, CoreCommentsSyncProvider } from './comments-sync';
 | 
					import { CoreCommentsSyncAutoSyncData, CoreCommentsSyncProvider } from './comments-sync';
 | 
				
			||||||
import { CoreSiteWSPreSets } from '@classes/sites/authenticated-site';
 | 
					import { CoreSiteWSPreSets } from '@classes/sites/authenticated-site';
 | 
				
			||||||
import { ContextLevel } from '@/core/constants';
 | 
					import { ContextLevel, CoreCacheUpdateFrequency } from '@/core/constants';
 | 
				
			||||||
 | 
					
 | 
				
			||||||
const ROOT_CACHE_KEY = 'mmComments:';
 | 
					const ROOT_CACHE_KEY = 'mmComments:';
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@ -422,7 +422,7 @@ export class CoreCommentsProvider {
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
        const preSets: CoreSiteWSPreSets = {
 | 
					        const preSets: CoreSiteWSPreSets = {
 | 
				
			||||||
            cacheKey: this.getCommentsCacheKey(contextLevel, instanceId, component, itemId, area),
 | 
					            cacheKey: this.getCommentsCacheKey(contextLevel, instanceId, component, itemId, area),
 | 
				
			||||||
            updateFrequency: CoreSite.FREQUENCY_SOMETIMES,
 | 
					            updateFrequency: CoreCacheUpdateFrequency.SOMETIMES,
 | 
				
			||||||
        };
 | 
					        };
 | 
				
			||||||
        const response = await site.read<CoreCommentsGetCommentsWSResponse>('core_comment_get_comments', params, preSets);
 | 
					        const response = await site.read<CoreCommentsGetCommentsWSResponse>('core_comment_get_comments', params, preSets);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
				
			|||||||
@ -42,7 +42,7 @@ import { makeSingleton } from '@singletons';
 | 
				
			|||||||
import { effectWithInjectionContext, modelWithInjectionContext } from '@/core/utils/signals';
 | 
					import { effectWithInjectionContext, modelWithInjectionContext } from '@/core/utils/signals';
 | 
				
			||||||
 | 
					
 | 
				
			||||||
// Import core services.
 | 
					// Import core services.
 | 
				
			||||||
import { getCoreServices } from '@/core/core.module';
 | 
					import { getCoreExportedObjects, getCoreServices } from '@/core/core.module';
 | 
				
			||||||
import { getBlockServices } from '@features/block/block.module';
 | 
					import { getBlockServices } from '@features/block/block.module';
 | 
				
			||||||
import { getCommentsServices } from '@features/comments/comments.module';
 | 
					import { getCommentsServices } from '@features/comments/comments.module';
 | 
				
			||||||
import { getContentLinksExportedObjects, getContentLinksServices } from '@features/contentlinks/contentlinks.module';
 | 
					import { getContentLinksExportedObjects, getContentLinksServices } from '@features/contentlinks/contentlinks.module';
 | 
				
			||||||
@ -73,7 +73,6 @@ import { getXAPIServices } from '@features/xapi/xapi.module';
 | 
				
			|||||||
import { DomSanitizer } from '@angular/platform-browser';
 | 
					import { DomSanitizer } from '@angular/platform-browser';
 | 
				
			||||||
import { FormBuilder, Validators } from '@angular/forms';
 | 
					import { FormBuilder, Validators } from '@angular/forms';
 | 
				
			||||||
import { HttpClient } from '@angular/common/http';
 | 
					import { HttpClient } from '@angular/common/http';
 | 
				
			||||||
import { CoreConstants, DownloadStatus } from '@/core/constants';
 | 
					 | 
				
			||||||
import moment from 'moment-timezone';
 | 
					import moment from 'moment-timezone';
 | 
				
			||||||
import { Md5 } from 'ts-md5/dist/md5';
 | 
					import { Md5 } from 'ts-md5/dist/md5';
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@ -297,9 +296,6 @@ export class CoreCompileProvider {
 | 
				
			|||||||
        // Add some final classes.
 | 
					        // Add some final classes.
 | 
				
			||||||
        instance['injector'] = injector;
 | 
					        instance['injector'] = injector;
 | 
				
			||||||
        instance['Validators'] = Validators;
 | 
					        instance['Validators'] = Validators;
 | 
				
			||||||
        instance['CoreConstants'] = CoreConstants;
 | 
					 | 
				
			||||||
        instance['DownloadStatus'] = DownloadStatus;
 | 
					 | 
				
			||||||
        instance['CoreConfigConstants'] = CoreConstants.CONFIG;
 | 
					 | 
				
			||||||
        instance['CoreEventsProvider'] = CoreEvents;
 | 
					        instance['CoreEventsProvider'] = CoreEvents;
 | 
				
			||||||
        instance['CoreLoggerProvider'] = CoreLogger;
 | 
					        instance['CoreLoggerProvider'] = CoreLogger;
 | 
				
			||||||
        instance['moment'] = moment;
 | 
					        instance['moment'] = moment;
 | 
				
			||||||
@ -420,6 +416,7 @@ export class CoreCompileProvider {
 | 
				
			|||||||
     */
 | 
					     */
 | 
				
			||||||
    protected async getExportedObjects(): Promise<Record<string, unknown>> {
 | 
					    protected async getExportedObjects(): Promise<Record<string, unknown>> {
 | 
				
			||||||
        const objects = await Promise.all([
 | 
					        const objects = await Promise.all([
 | 
				
			||||||
 | 
					            getCoreExportedObjects(),
 | 
				
			||||||
            getCoreErrorsExportedObjects(),
 | 
					            getCoreErrorsExportedObjects(),
 | 
				
			||||||
            getCourseExportedObjects(),
 | 
					            getCourseExportedObjects(),
 | 
				
			||||||
            getContentLinksExportedObjects(),
 | 
					            getContentLinksExportedObjects(),
 | 
				
			||||||
 | 
				
			|||||||
@ -22,7 +22,7 @@ import { CoreSitesCommonWSOptions, CoreSites, CoreSitesReadingStrategy } from '@
 | 
				
			|||||||
import { CoreTimeUtils } from '@services/utils/time';
 | 
					import { CoreTimeUtils } from '@services/utils/time';
 | 
				
			||||||
import { CoreUtils } from '@services/utils/utils';
 | 
					import { CoreUtils } from '@services/utils/utils';
 | 
				
			||||||
import { CoreSite } from '@classes/sites/site';
 | 
					import { CoreSite } from '@classes/sites/site';
 | 
				
			||||||
import { CoreConstants, DownloadStatus } from '@/core/constants';
 | 
					import { CoreCacheUpdateFrequency, CoreConstants, DownloadStatus } from '@/core/constants';
 | 
				
			||||||
import { makeSingleton, Translate } from '@singletons';
 | 
					import { makeSingleton, Translate } from '@singletons';
 | 
				
			||||||
import { CoreStatusWithWarningsWSResponse, CoreWSExternalFile, CoreWSExternalWarning } from '@services/ws';
 | 
					import { CoreStatusWithWarningsWSResponse, CoreWSExternalFile, CoreWSExternalWarning } from '@services/ws';
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@ -455,7 +455,7 @@ export class CoreCourseProvider {
 | 
				
			|||||||
            };
 | 
					            };
 | 
				
			||||||
            const preSets: CoreSiteWSPreSets = {
 | 
					            const preSets: CoreSiteWSPreSets = {
 | 
				
			||||||
                cacheKey: this.getCourseBlocksCacheKey(courseId),
 | 
					                cacheKey: this.getCourseBlocksCacheKey(courseId),
 | 
				
			||||||
                updateFrequency: CoreSite.FREQUENCY_RARELY,
 | 
					                updateFrequency: CoreCacheUpdateFrequency.RARELY,
 | 
				
			||||||
                ...CoreSites.getReadingStrategyPreSets(options.readingStrategy),
 | 
					                ...CoreSites.getReadingStrategyPreSets(options.readingStrategy),
 | 
				
			||||||
            };
 | 
					            };
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@ -581,7 +581,7 @@ export class CoreCourseProvider {
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
            const preSets: CoreSiteWSPreSets = {
 | 
					            const preSets: CoreSiteWSPreSets = {
 | 
				
			||||||
                omitExpires: preferCache,
 | 
					                omitExpires: preferCache,
 | 
				
			||||||
                updateFrequency: CoreSite.FREQUENCY_RARELY,
 | 
					                updateFrequency: CoreCacheUpdateFrequency.RARELY,
 | 
				
			||||||
            };
 | 
					            };
 | 
				
			||||||
 | 
					
 | 
				
			||||||
            if (includeStealth) {
 | 
					            if (includeStealth) {
 | 
				
			||||||
@ -735,7 +735,7 @@ export class CoreCourseProvider {
 | 
				
			|||||||
        };
 | 
					        };
 | 
				
			||||||
        const preSets: CoreSiteWSPreSets = {
 | 
					        const preSets: CoreSiteWSPreSets = {
 | 
				
			||||||
            cacheKey: this.getModuleCacheKey(moduleId),
 | 
					            cacheKey: this.getModuleCacheKey(moduleId),
 | 
				
			||||||
            updateFrequency: CoreSite.FREQUENCY_RARELY,
 | 
					            updateFrequency: CoreCacheUpdateFrequency.RARELY,
 | 
				
			||||||
            ...CoreSites.getReadingStrategyPreSets(options.readingStrategy), // Include reading strategy preSets.
 | 
					            ...CoreSites.getReadingStrategyPreSets(options.readingStrategy), // Include reading strategy preSets.
 | 
				
			||||||
        };
 | 
					        };
 | 
				
			||||||
        const response = await site.read<CoreCourseGetCourseModuleWSResponse>('core_course_get_course_module', params, preSets);
 | 
					        const response = await site.read<CoreCourseGetCourseModuleWSResponse>('core_course_get_course_module', params, preSets);
 | 
				
			||||||
@ -796,7 +796,7 @@ export class CoreCourseProvider {
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
        const preSets: CoreSiteWSPreSets = {
 | 
					        const preSets: CoreSiteWSPreSets = {
 | 
				
			||||||
            cacheKey: this.getModuleBasicInfoByInstanceCacheKey(instanceId, moduleName),
 | 
					            cacheKey: this.getModuleBasicInfoByInstanceCacheKey(instanceId, moduleName),
 | 
				
			||||||
            updateFrequency: CoreSite.FREQUENCY_RARELY,
 | 
					            updateFrequency: CoreCacheUpdateFrequency.RARELY,
 | 
				
			||||||
            ...CoreSites.getReadingStrategyPreSets(options.readingStrategy), // Include reading strategy preSets.
 | 
					            ...CoreSites.getReadingStrategyPreSets(options.readingStrategy), // Include reading strategy preSets.
 | 
				
			||||||
        };
 | 
					        };
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@ -1007,7 +1007,7 @@ export class CoreCourseProvider {
 | 
				
			|||||||
        const preSets: CoreSiteWSPreSets = {
 | 
					        const preSets: CoreSiteWSPreSets = {
 | 
				
			||||||
            ...options.preSets,
 | 
					            ...options.preSets,
 | 
				
			||||||
            cacheKey: this.getSectionsCacheKey(courseId),
 | 
					            cacheKey: this.getSectionsCacheKey(courseId),
 | 
				
			||||||
            updateFrequency: CoreSite.FREQUENCY_RARELY,
 | 
					            updateFrequency: CoreCacheUpdateFrequency.RARELY,
 | 
				
			||||||
            ...CoreSites.getReadingStrategyPreSets(options.readingStrategy),
 | 
					            ...CoreSites.getReadingStrategyPreSets(options.readingStrategy),
 | 
				
			||||||
        };
 | 
					        };
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
				
			|||||||
@ -26,6 +26,7 @@ import { AddonEnrolGuest, AddonEnrolGuestInfo } from '@addons/enrol/guest/servic
 | 
				
			|||||||
import { AddonEnrolSelf } from '@addons/enrol/self/services/self';
 | 
					import { AddonEnrolSelf } from '@addons/enrol/self/services/self';
 | 
				
			||||||
import { CoreEnrol, CoreEnrolEnrolmentInfo, CoreEnrolEnrolmentMethod } from '@features/enrol/services/enrol';
 | 
					import { CoreEnrol, CoreEnrolEnrolmentInfo, CoreEnrolEnrolmentMethod } from '@features/enrol/services/enrol';
 | 
				
			||||||
import { CoreSiteWSPreSets, WSObservable } from '@classes/sites/authenticated-site';
 | 
					import { CoreSiteWSPreSets, WSObservable } from '@classes/sites/authenticated-site';
 | 
				
			||||||
 | 
					import { CoreCacheUpdateFrequency } from '@/core/constants';
 | 
				
			||||||
 | 
					
 | 
				
			||||||
declare module '@singletons/events' {
 | 
					declare module '@singletons/events' {
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@ -100,7 +101,7 @@ export class CoreCoursesProvider {
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
        const preSets = {
 | 
					        const preSets = {
 | 
				
			||||||
            cacheKey: this.getCategoriesCacheKey(categoryId, addSubcategories),
 | 
					            cacheKey: this.getCategoriesCacheKey(categoryId, addSubcategories),
 | 
				
			||||||
            updateFrequency: CoreSite.FREQUENCY_RARELY,
 | 
					            updateFrequency: CoreCacheUpdateFrequency.RARELY,
 | 
				
			||||||
        };
 | 
					        };
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        return site.read('core_course_get_categories', params, preSets);
 | 
					        return site.read('core_course_get_categories', params, preSets);
 | 
				
			||||||
@ -350,7 +351,7 @@ export class CoreCoursesProvider {
 | 
				
			|||||||
        };
 | 
					        };
 | 
				
			||||||
        const preSets: CoreSiteWSPreSets = {
 | 
					        const preSets: CoreSiteWSPreSets = {
 | 
				
			||||||
            cacheKey: this.getCoursesCacheKey(ids),
 | 
					            cacheKey: this.getCoursesCacheKey(ids),
 | 
				
			||||||
            updateFrequency: CoreSite.FREQUENCY_RARELY,
 | 
					            updateFrequency: CoreCacheUpdateFrequency.RARELY,
 | 
				
			||||||
        };
 | 
					        };
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        return site.read('core_course_get_courses', params, preSets);
 | 
					        return site.read('core_course_get_courses', params, preSets);
 | 
				
			||||||
@ -487,7 +488,7 @@ export class CoreCoursesProvider {
 | 
				
			|||||||
            };
 | 
					            };
 | 
				
			||||||
            const preSets: CoreSiteWSPreSets = {
 | 
					            const preSets: CoreSiteWSPreSets = {
 | 
				
			||||||
                cacheKey: this.getCoursesByFieldCacheKey(field, value),
 | 
					                cacheKey: this.getCoursesByFieldCacheKey(field, value),
 | 
				
			||||||
                updateFrequency: CoreSite.FREQUENCY_RARELY,
 | 
					                updateFrequency: CoreCacheUpdateFrequency.RARELY,
 | 
				
			||||||
                ...CoreSites.getReadingStrategyPreSets(options.readingStrategy),
 | 
					                ...CoreSites.getReadingStrategyPreSets(options.readingStrategy),
 | 
				
			||||||
            };
 | 
					            };
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@ -737,7 +738,7 @@ export class CoreCoursesProvider {
 | 
				
			|||||||
            };
 | 
					            };
 | 
				
			||||||
            const preSets: CoreSiteWSPreSets = {
 | 
					            const preSets: CoreSiteWSPreSets = {
 | 
				
			||||||
                cacheKey: this.getUserAdministrationOptionsCacheKey(courseIds),
 | 
					                cacheKey: this.getUserAdministrationOptionsCacheKey(courseIds),
 | 
				
			||||||
                updateFrequency: CoreSite.FREQUENCY_RARELY,
 | 
					                updateFrequency: CoreCacheUpdateFrequency.RARELY,
 | 
				
			||||||
                ...CoreSites.getReadingStrategyPreSets(options.readingStrategy),
 | 
					                ...CoreSites.getReadingStrategyPreSets(options.readingStrategy),
 | 
				
			||||||
            };
 | 
					            };
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@ -807,7 +808,7 @@ export class CoreCoursesProvider {
 | 
				
			|||||||
            };
 | 
					            };
 | 
				
			||||||
            const preSets: CoreSiteWSPreSets = {
 | 
					            const preSets: CoreSiteWSPreSets = {
 | 
				
			||||||
                cacheKey: this.getUserNavigationOptionsCacheKey(courseIds),
 | 
					                cacheKey: this.getUserNavigationOptionsCacheKey(courseIds),
 | 
				
			||||||
                updateFrequency: CoreSite.FREQUENCY_RARELY,
 | 
					                updateFrequency: CoreCacheUpdateFrequency.RARELY,
 | 
				
			||||||
                ...CoreSites.getReadingStrategyPreSets(options.readingStrategy),
 | 
					                ...CoreSites.getReadingStrategyPreSets(options.readingStrategy),
 | 
				
			||||||
            };
 | 
					            };
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@ -910,7 +911,7 @@ export class CoreCoursesProvider {
 | 
				
			|||||||
            const preSets: CoreSiteWSPreSets = {
 | 
					            const preSets: CoreSiteWSPreSets = {
 | 
				
			||||||
                cacheKey: this.getUserCoursesCacheKey(),
 | 
					                cacheKey: this.getUserCoursesCacheKey(),
 | 
				
			||||||
                getCacheUsingCacheKey: true,
 | 
					                getCacheUsingCacheKey: true,
 | 
				
			||||||
                updateFrequency: CoreSite.FREQUENCY_RARELY,
 | 
					                updateFrequency: CoreCacheUpdateFrequency.RARELY,
 | 
				
			||||||
                ...CoreSites.getReadingStrategyPreSets(options.readingStrategy),
 | 
					                ...CoreSites.getReadingStrategyPreSets(options.readingStrategy),
 | 
				
			||||||
            };
 | 
					            };
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
				
			|||||||
@ -23,6 +23,7 @@ import { map } from 'rxjs/operators';
 | 
				
			|||||||
import { firstValueFrom } from 'rxjs';
 | 
					import { firstValueFrom } from 'rxjs';
 | 
				
			||||||
import { asyncObservable } from '@/core/utils/rxjs';
 | 
					import { asyncObservable } from '@/core/utils/rxjs';
 | 
				
			||||||
import { CoreSiteWSPreSets, WSObservable } from '@classes/sites/authenticated-site';
 | 
					import { CoreSiteWSPreSets, WSObservable } from '@classes/sites/authenticated-site';
 | 
				
			||||||
 | 
					import { CoreCacheUpdateFrequency } from '@/core/constants';
 | 
				
			||||||
 | 
					
 | 
				
			||||||
const ROOT_CACHE_KEY = 'CoreCoursesDashboard:';
 | 
					const ROOT_CACHE_KEY = 'CoreCoursesDashboard:';
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@ -90,7 +91,7 @@ export class CoreCoursesDashboardProvider {
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
            const preSets: CoreSiteWSPreSets = {
 | 
					            const preSets: CoreSiteWSPreSets = {
 | 
				
			||||||
                cacheKey: this.getDashboardBlocksCacheKey(myPage, options.userId),
 | 
					                cacheKey: this.getDashboardBlocksCacheKey(myPage, options.userId),
 | 
				
			||||||
                updateFrequency: CoreSite.FREQUENCY_RARELY,
 | 
					                updateFrequency: CoreCacheUpdateFrequency.RARELY,
 | 
				
			||||||
                ...CoreSites.getReadingStrategyPreSets(options.readingStrategy),
 | 
					                ...CoreSites.getReadingStrategyPreSets(options.readingStrategy),
 | 
				
			||||||
            };
 | 
					            };
 | 
				
			||||||
            if (options.userId) {
 | 
					            if (options.userId) {
 | 
				
			||||||
 | 
				
			|||||||
@ -14,10 +14,10 @@
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
import { Injectable } from '@angular/core';
 | 
					import { Injectable } from '@angular/core';
 | 
				
			||||||
import { makeSingleton } from '@singletons';
 | 
					import { makeSingleton } from '@singletons';
 | 
				
			||||||
import { CoreSite } from '@classes/sites/site';
 | 
					 | 
				
			||||||
import { CoreSites } from '@services/sites';
 | 
					import { CoreSites } from '@services/sites';
 | 
				
			||||||
import { CoreUtils } from '@services/utils/utils';
 | 
					import { CoreUtils } from '@services/utils/utils';
 | 
				
			||||||
import { CoreEnrolAction, CoreEnrolDelegate } from './enrol-delegate';
 | 
					import { CoreEnrolAction, CoreEnrolDelegate } from './enrol-delegate';
 | 
				
			||||||
 | 
					import { CoreCacheUpdateFrequency } from '@/core/constants';
 | 
				
			||||||
 | 
					
 | 
				
			||||||
/**
 | 
					/**
 | 
				
			||||||
 * Service that provides functions for enrolment plugins.
 | 
					 * Service that provides functions for enrolment plugins.
 | 
				
			||||||
@ -44,7 +44,7 @@ export class CoreEnrolService {
 | 
				
			|||||||
        };
 | 
					        };
 | 
				
			||||||
        const preSets = {
 | 
					        const preSets = {
 | 
				
			||||||
            cacheKey: this.getCourseEnrolmentMethodsCacheKey(courseId),
 | 
					            cacheKey: this.getCourseEnrolmentMethodsCacheKey(courseId),
 | 
				
			||||||
            updateFrequency: CoreSite.FREQUENCY_RARELY,
 | 
					            updateFrequency: CoreCacheUpdateFrequency.RARELY,
 | 
				
			||||||
        };
 | 
					        };
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        return site.read<CoreEnrolGetCourseEnrolmentMethodsWSResponse>('core_enrol_get_course_enrolment_methods', params, preSets);
 | 
					        return site.read<CoreEnrolGetCourseEnrolmentMethodsWSResponse>('core_enrol_get_course_enrolment_methods', params, preSets);
 | 
				
			||||||
 | 
				
			|||||||
@ -34,7 +34,7 @@ import { CoreLogger } from '@singletons/logger';
 | 
				
			|||||||
import { CoreSite } from '@classes/sites/site';
 | 
					import { CoreSite } from '@classes/sites/site';
 | 
				
			||||||
import { CoreCourseHelper } from '@features/course/services/course-helper';
 | 
					import { CoreCourseHelper } from '@features/course/services/course-helper';
 | 
				
			||||||
import { firstValueFrom } from 'rxjs';
 | 
					import { firstValueFrom } from 'rxjs';
 | 
				
			||||||
import { ContextLevel } from '@/core/constants';
 | 
					import { ContextLevel, CoreCacheUpdateFrequency } from '@/core/constants';
 | 
				
			||||||
import { CoreUtils } from '@services/utils/utils';
 | 
					import { CoreUtils } from '@services/utils/utils';
 | 
				
			||||||
 | 
					
 | 
				
			||||||
/**
 | 
					/**
 | 
				
			||||||
@ -427,7 +427,7 @@ export class CoreFilterHelperProvider {
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
        const cachedData = this.moduleContextsCache[siteId][courseId][contextLevel];
 | 
					        const cachedData = this.moduleContextsCache[siteId][courseId][contextLevel];
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        if (!CoreNetwork.isOnline() || Date.now() <= cachedData.time + site.getExpirationDelay(CoreSite.FREQUENCY_RARELY)) {
 | 
					        if (!CoreNetwork.isOnline() || Date.now() <= cachedData.time + site.getExpirationDelay(CoreCacheUpdateFrequency.RARELY)) {
 | 
				
			||||||
            // We can use cache, return the filters if found.
 | 
					            // We can use cache, return the filters if found.
 | 
				
			||||||
            return cachedData.contexts[contextLevel] && cachedData.contexts[contextLevel][instanceId];
 | 
					            return cachedData.contexts[contextLevel] && cachedData.contexts[contextLevel][instanceId];
 | 
				
			||||||
        }
 | 
					        }
 | 
				
			||||||
 | 
				
			|||||||
@ -24,7 +24,7 @@ import { makeSingleton } from '@singletons';
 | 
				
			|||||||
import { CoreEvents, CoreEventSiteData } from '@singletons/events';
 | 
					import { CoreEvents, CoreEventSiteData } from '@singletons/events';
 | 
				
			||||||
import { CoreLogger } from '@singletons/logger';
 | 
					import { CoreLogger } from '@singletons/logger';
 | 
				
			||||||
import { CoreSiteWSPreSets } from '@classes/sites/authenticated-site';
 | 
					import { CoreSiteWSPreSets } from '@classes/sites/authenticated-site';
 | 
				
			||||||
import { ContextLevel } from '@/core/constants';
 | 
					import { ContextLevel, CoreCacheUpdateFrequency } from '@/core/constants';
 | 
				
			||||||
 | 
					
 | 
				
			||||||
/**
 | 
					/**
 | 
				
			||||||
 * Service to provide filter functionalities.
 | 
					 * Service to provide filter functionalities.
 | 
				
			||||||
@ -288,7 +288,7 @@ export class CoreFilterProvider {
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
        const preSets: CoreSiteWSPreSets = {
 | 
					        const preSets: CoreSiteWSPreSets = {
 | 
				
			||||||
            cacheKey: this.getAllStatesCacheKey(),
 | 
					            cacheKey: this.getAllStatesCacheKey(),
 | 
				
			||||||
            updateFrequency: CoreSite.FREQUENCY_RARELY,
 | 
					            updateFrequency: CoreCacheUpdateFrequency.RARELY,
 | 
				
			||||||
            // Use stale while revalidate by default, but always use the first value. If data is updated it will be stored in DB.
 | 
					            // Use stale while revalidate by default, but always use the first value. If data is updated it will be stored in DB.
 | 
				
			||||||
            ...CoreSites.getReadingStrategyPreSets(options.readingStrategy ?? CoreSitesReadingStrategy.STALE_WHILE_REVALIDATE),
 | 
					            ...CoreSites.getReadingStrategyPreSets(options.readingStrategy ?? CoreSitesReadingStrategy.STALE_WHILE_REVALIDATE),
 | 
				
			||||||
        };
 | 
					        };
 | 
				
			||||||
@ -364,7 +364,7 @@ export class CoreFilterProvider {
 | 
				
			|||||||
        };
 | 
					        };
 | 
				
			||||||
        const preSets: CoreSiteWSPreSets = {
 | 
					        const preSets: CoreSiteWSPreSets = {
 | 
				
			||||||
            cacheKey: this.getAvailableInContextsCacheKey(contextsToSend),
 | 
					            cacheKey: this.getAvailableInContextsCacheKey(contextsToSend),
 | 
				
			||||||
            updateFrequency: CoreSite.FREQUENCY_RARELY,
 | 
					            updateFrequency: CoreCacheUpdateFrequency.RARELY,
 | 
				
			||||||
            splitRequest: {
 | 
					            splitRequest: {
 | 
				
			||||||
                param: 'contexts',
 | 
					                param: 'contexts',
 | 
				
			||||||
                maxLength: 300,
 | 
					                maxLength: 300,
 | 
				
			||||||
@ -428,7 +428,7 @@ export class CoreFilterProvider {
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
            // Check the context isn't "expired". The time stored in this cache will not match the one in the site cache.
 | 
					            // Check the context isn't "expired". The time stored in this cache will not match the one in the site cache.
 | 
				
			||||||
            if (cachedCtxt && (!isOnline ||
 | 
					            if (cachedCtxt && (!isOnline ||
 | 
				
			||||||
                    Date.now() <= cachedCtxt.time + site.getExpirationDelay(CoreSite.FREQUENCY_RARELY))) {
 | 
					                    Date.now() <= cachedCtxt.time + site.getExpirationDelay(CoreCacheUpdateFrequency.RARELY))) {
 | 
				
			||||||
 | 
					
 | 
				
			||||||
                result[context.contextlevel] = result[context.contextlevel] || {};
 | 
					                result[context.contextlevel] = result[context.contextlevel] || {};
 | 
				
			||||||
                result[context.contextlevel][context.instanceid] = cachedCtxt.filters;
 | 
					                result[context.contextlevel][context.instanceid] = cachedCtxt.filters;
 | 
				
			||||||
 | 
				
			|||||||
@ -31,7 +31,7 @@ import { CoreError } from '@classes/errors/error';
 | 
				
			|||||||
import { CorePath } from '@singletons/path';
 | 
					import { CorePath } from '@singletons/path';
 | 
				
			||||||
import { CoreSiteWSPreSets } from '@classes/sites/authenticated-site';
 | 
					import { CoreSiteWSPreSets } from '@classes/sites/authenticated-site';
 | 
				
			||||||
import { CoreFilepool } from '@services/filepool';
 | 
					import { CoreFilepool } from '@services/filepool';
 | 
				
			||||||
import { DownloadStatus } from '@/core/constants';
 | 
					import { CoreCacheUpdateFrequency, DownloadStatus } from '@/core/constants';
 | 
				
			||||||
import { CoreUtils } from '@services/utils/utils';
 | 
					import { CoreUtils } from '@services/utils/utils';
 | 
				
			||||||
 | 
					
 | 
				
			||||||
/**
 | 
					/**
 | 
				
			||||||
@ -145,7 +145,7 @@ export class CoreH5PProvider {
 | 
				
			|||||||
        };
 | 
					        };
 | 
				
			||||||
        const preSets: CoreSiteWSPreSets = {
 | 
					        const preSets: CoreSiteWSPreSets = {
 | 
				
			||||||
            cacheKey: this.getTrustedH5PFileCacheKey(url),
 | 
					            cacheKey: this.getTrustedH5PFileCacheKey(url),
 | 
				
			||||||
            updateFrequency: CoreSite.FREQUENCY_RARELY,
 | 
					            updateFrequency: CoreCacheUpdateFrequency.RARELY,
 | 
				
			||||||
        };
 | 
					        };
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        if (ignoreCache) {
 | 
					        if (ignoreCache) {
 | 
				
			||||||
 | 
				
			|||||||
@ -21,7 +21,7 @@ import { CoreSites, CoreSitesCommonWSOptions } from '@services/sites';
 | 
				
			|||||||
import { CoreWSExternalWarning } from '@services/ws';
 | 
					import { CoreWSExternalWarning } from '@services/ws';
 | 
				
			||||||
import { makeSingleton } from '@singletons';
 | 
					import { makeSingleton } from '@singletons';
 | 
				
			||||||
import { POLICY_PAGE_NAME, SITE_POLICY_PAGE_NAME } from '../constants';
 | 
					import { POLICY_PAGE_NAME, SITE_POLICY_PAGE_NAME } from '../constants';
 | 
				
			||||||
import { CoreSite } from '@classes/sites/site';
 | 
					import { CoreCacheUpdateFrequency } from '@/core/constants';
 | 
				
			||||||
 | 
					
 | 
				
			||||||
/**
 | 
					/**
 | 
				
			||||||
 * Service that provides some common features regarding policies.
 | 
					 * Service that provides some common features regarding policies.
 | 
				
			||||||
@ -140,7 +140,7 @@ export class CorePolicyService {
 | 
				
			|||||||
        };
 | 
					        };
 | 
				
			||||||
        const preSets = {
 | 
					        const preSets = {
 | 
				
			||||||
            cacheKey: this.getUserAcceptancesCacheKey(userId),
 | 
					            cacheKey: this.getUserAcceptancesCacheKey(userId),
 | 
				
			||||||
            updateFrequency: CoreSite.FREQUENCY_RARELY,
 | 
					            updateFrequency: CoreCacheUpdateFrequency.RARELY,
 | 
				
			||||||
            ...CoreSites.getReadingStrategyPreSets(options.readingStrategy),
 | 
					            ...CoreSites.getReadingStrategyPreSets(options.readingStrategy),
 | 
				
			||||||
        };
 | 
					        };
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
				
			|||||||
@ -12,7 +12,7 @@
 | 
				
			|||||||
// See the License for the specific language governing permissions and
 | 
					// See the License for the specific language governing permissions and
 | 
				
			||||||
// limitations under the License.
 | 
					// limitations under the License.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
import { ContextLevel } from '@/core/constants';
 | 
					import { ContextLevel, CoreCacheUpdateFrequency } from '@/core/constants';
 | 
				
			||||||
import { Injectable } from '@angular/core';
 | 
					import { Injectable } from '@angular/core';
 | 
				
			||||||
import { CoreSite } from '@classes/sites/site';
 | 
					import { CoreSite } from '@classes/sites/site';
 | 
				
			||||||
import { CoreUser } from '@features/user/services/user';
 | 
					import { CoreUser } from '@features/user/services/user';
 | 
				
			||||||
@ -237,7 +237,7 @@ export class CoreRatingProvider {
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
        const preSets: CoreSiteWSPreSets = {
 | 
					        const preSets: CoreSiteWSPreSets = {
 | 
				
			||||||
            cacheKey: this.getItemRatingsCacheKey(contextLevel, instanceId, component, ratingArea, itemId, scaleId, sort),
 | 
					            cacheKey: this.getItemRatingsCacheKey(contextLevel, instanceId, component, ratingArea, itemId, scaleId, sort),
 | 
				
			||||||
            updateFrequency: CoreSite.FREQUENCY_RARELY,
 | 
					            updateFrequency: CoreCacheUpdateFrequency.RARELY,
 | 
				
			||||||
        };
 | 
					        };
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        if (ignoreCache) {
 | 
					        if (ignoreCache) {
 | 
				
			||||||
 | 
				
			|||||||
@ -19,7 +19,7 @@ import { CoreWSExternalWarning } from '@services/ws';
 | 
				
			|||||||
import { CoreCourseListItem, CoreCourses } from '@features/courses/services/courses';
 | 
					import { CoreCourseListItem, CoreCourses } from '@features/courses/services/courses';
 | 
				
			||||||
import { CoreUserWithAvatar } from '@components/user-avatar/user-avatar';
 | 
					import { CoreUserWithAvatar } from '@components/user-avatar/user-avatar';
 | 
				
			||||||
import { CoreUser } from '@features/user/services/user';
 | 
					import { CoreUser } from '@features/user/services/user';
 | 
				
			||||||
import { CoreSite } from '@classes/sites/site';
 | 
					import { CoreCacheUpdateFrequency } from '@/core/constants';
 | 
				
			||||||
 | 
					
 | 
				
			||||||
declare module '@singletons/events' {
 | 
					declare module '@singletons/events' {
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@ -154,7 +154,7 @@ export class CoreSearchGlobalSearchService {
 | 
				
			|||||||
        const params: CoreSearchGetSearchAreasListWSParams = {};
 | 
					        const params: CoreSearchGetSearchAreasListWSParams = {};
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        const { areas } = await site.read<CoreSearchGetSearchAreasListWSResponse>('core_search_get_search_areas_list', params, {
 | 
					        const { areas } = await site.read<CoreSearchGetSearchAreasListWSResponse>('core_search_get_search_areas_list', params, {
 | 
				
			||||||
            updateFrequency: CoreSite.FREQUENCY_RARELY,
 | 
					            updateFrequency: CoreCacheUpdateFrequency.RARELY,
 | 
				
			||||||
            cacheKey: CoreSearchGlobalSearchService.SEARCH_AREAS_CACHE_KEY,
 | 
					            cacheKey: CoreSearchGlobalSearchService.SEARCH_AREAS_CACHE_KEY,
 | 
				
			||||||
        });
 | 
					        });
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
				
			|||||||
@ -14,7 +14,7 @@
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
import { Injectable } from '@angular/core';
 | 
					import { Injectable } from '@angular/core';
 | 
				
			||||||
 | 
					
 | 
				
			||||||
import { CoreConstants } from '@/core/constants';
 | 
					import { CoreCacheUpdateFrequency, CoreConstants } from '@/core/constants';
 | 
				
			||||||
import { CoreSite } from '@classes/sites/site';
 | 
					import { CoreSite } from '@classes/sites/site';
 | 
				
			||||||
import { CoreCourseAnyModuleData } from '@features/course/services/course';
 | 
					import { CoreCourseAnyModuleData } from '@features/course/services/course';
 | 
				
			||||||
import { CoreCourses } from '@features/courses/services/courses';
 | 
					import { CoreCourses } from '@features/courses/services/courses';
 | 
				
			||||||
@ -225,7 +225,7 @@ export class CoreSitePluginsProvider {
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
        preSets = preSets || {};
 | 
					        preSets = preSets || {};
 | 
				
			||||||
        preSets.cacheKey = this.getContentCacheKey(component, method, args);
 | 
					        preSets.cacheKey = this.getContentCacheKey(component, method, args);
 | 
				
			||||||
        preSets.updateFrequency = preSets.updateFrequency ?? CoreSite.FREQUENCY_OFTEN;
 | 
					        preSets.updateFrequency = preSets.updateFrequency ?? CoreCacheUpdateFrequency.OFTEN;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        const result = await site.read<CoreSitePluginsGetContentWSResponse>('tool_mobile_get_content', data, preSets);
 | 
					        const result = await site.read<CoreSitePluginsGetContentWSResponse>('tool_mobile_get_content', data, preSets);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
				
			|||||||
@ -19,6 +19,7 @@ import { CoreWSExternalWarning } from '@services/ws';
 | 
				
			|||||||
import { makeSingleton, Translate } from '@singletons';
 | 
					import { makeSingleton, Translate } from '@singletons';
 | 
				
			||||||
import { CoreError } from '@classes/errors/error';
 | 
					import { CoreError } from '@classes/errors/error';
 | 
				
			||||||
import { CoreSiteWSPreSets } from '@classes/sites/authenticated-site';
 | 
					import { CoreSiteWSPreSets } from '@classes/sites/authenticated-site';
 | 
				
			||||||
 | 
					import { CoreCacheUpdateFrequency } from '@/core/constants';
 | 
				
			||||||
 | 
					
 | 
				
			||||||
const ROOT_CACHE_KEY = 'CoreTag:';
 | 
					const ROOT_CACHE_KEY = 'CoreTag:';
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@ -100,7 +101,7 @@ export class CoreTagProvider {
 | 
				
			|||||||
            rec: recursive,
 | 
					            rec: recursive,
 | 
				
			||||||
        };
 | 
					        };
 | 
				
			||||||
        const preSets: CoreSiteWSPreSets = {
 | 
					        const preSets: CoreSiteWSPreSets = {
 | 
				
			||||||
            updateFrequency: CoreSite.FREQUENCY_SOMETIMES,
 | 
					            updateFrequency: CoreCacheUpdateFrequency.SOMETIMES,
 | 
				
			||||||
            cacheKey: this.getTagCloudKey(collectionId, isStandard, sort, search, fromContextId, contextId, recursive),
 | 
					            cacheKey: this.getTagCloudKey(collectionId, isStandard, sort, search, fromContextId, contextId, recursive),
 | 
				
			||||||
            getFromCache: search != '', // Try to get updated data when searching.
 | 
					            getFromCache: search != '', // Try to get updated data when searching.
 | 
				
			||||||
        };
 | 
					        };
 | 
				
			||||||
@ -118,7 +119,7 @@ export class CoreTagProvider {
 | 
				
			|||||||
    async getTagCollections(siteId?: string): Promise<CoreTagCollection[]> {
 | 
					    async getTagCollections(siteId?: string): Promise<CoreTagCollection[]> {
 | 
				
			||||||
        const site = await CoreSites.getSite(siteId);
 | 
					        const site = await CoreSites.getSite(siteId);
 | 
				
			||||||
        const preSets: CoreSiteWSPreSets = {
 | 
					        const preSets: CoreSiteWSPreSets = {
 | 
				
			||||||
            updateFrequency: CoreSite.FREQUENCY_RARELY,
 | 
					            updateFrequency: CoreCacheUpdateFrequency.RARELY,
 | 
				
			||||||
            cacheKey: this.getTagCollectionsKey(),
 | 
					            cacheKey: this.getTagCollectionsKey(),
 | 
				
			||||||
        };
 | 
					        };
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@ -172,7 +173,7 @@ export class CoreTagProvider {
 | 
				
			|||||||
            },
 | 
					            },
 | 
				
			||||||
        };
 | 
					        };
 | 
				
			||||||
        const preSets: CoreSiteWSPreSets = {
 | 
					        const preSets: CoreSiteWSPreSets = {
 | 
				
			||||||
            updateFrequency: CoreSite.FREQUENCY_OFTEN,
 | 
					            updateFrequency: CoreCacheUpdateFrequency.OFTEN,
 | 
				
			||||||
            cacheKey: this.getTagIndexPerAreaKey(id, name, collectionId, areaId, fromContextId, contextId, recursive),
 | 
					            cacheKey: this.getTagIndexPerAreaKey(id, name, collectionId, areaId, fromContextId, contextId, recursive),
 | 
				
			||||||
        };
 | 
					        };
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
				
			|||||||
@ -28,7 +28,7 @@ import { CoreError } from '@classes/errors/error';
 | 
				
			|||||||
import { USERS_TABLE_NAME, CoreUserDBRecord } from './database/user';
 | 
					import { USERS_TABLE_NAME, CoreUserDBRecord } from './database/user';
 | 
				
			||||||
import { CoreUrl } from '@singletons/url';
 | 
					import { CoreUrl } from '@singletons/url';
 | 
				
			||||||
import { CoreSiteWSPreSets } from '@classes/sites/authenticated-site';
 | 
					import { CoreSiteWSPreSets } from '@classes/sites/authenticated-site';
 | 
				
			||||||
import { CoreConstants } from '@/core/constants';
 | 
					import { CoreCacheUpdateFrequency, CoreConstants } from '@/core/constants';
 | 
				
			||||||
 | 
					
 | 
				
			||||||
const ROOT_CACHE_KEY = 'mmUser:';
 | 
					const ROOT_CACHE_KEY = 'mmUser:';
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@ -223,7 +223,7 @@ export class CoreUserProvider {
 | 
				
			|||||||
        };
 | 
					        };
 | 
				
			||||||
        const preSets: CoreSiteWSPreSets = {
 | 
					        const preSets: CoreSiteWSPreSets = {
 | 
				
			||||||
            cacheKey: this.getParticipantsListCacheKey(courseId),
 | 
					            cacheKey: this.getParticipantsListCacheKey(courseId),
 | 
				
			||||||
            updateFrequency: CoreSite.FREQUENCY_RARELY,
 | 
					            updateFrequency: CoreCacheUpdateFrequency.RARELY,
 | 
				
			||||||
        };
 | 
					        };
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        if (ignoreCache) {
 | 
					        if (ignoreCache) {
 | 
				
			||||||
@ -362,7 +362,7 @@ export class CoreUserProvider {
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
        const preSets: CoreSiteWSPreSets = {
 | 
					        const preSets: CoreSiteWSPreSets = {
 | 
				
			||||||
            cacheKey: this.getUserCacheKey(userId),
 | 
					            cacheKey: this.getUserCacheKey(userId),
 | 
				
			||||||
            updateFrequency: CoreSite.FREQUENCY_RARELY,
 | 
					            updateFrequency: CoreCacheUpdateFrequency.RARELY,
 | 
				
			||||||
        };
 | 
					        };
 | 
				
			||||||
        let users: CoreUserData[] | CoreUserCourseProfile[] | undefined;
 | 
					        let users: CoreUserData[] | CoreUserCourseProfile[] | undefined;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@ -463,7 +463,7 @@ export class CoreUserProvider {
 | 
				
			|||||||
        };
 | 
					        };
 | 
				
			||||||
        const preSets: CoreSiteWSPreSets = {
 | 
					        const preSets: CoreSiteWSPreSets = {
 | 
				
			||||||
            cacheKey: this.getUserPreferenceCacheKey(name),
 | 
					            cacheKey: this.getUserPreferenceCacheKey(name),
 | 
				
			||||||
            updateFrequency: CoreSite.FREQUENCY_SOMETIMES,
 | 
					            updateFrequency: CoreCacheUpdateFrequency.SOMETIMES,
 | 
				
			||||||
        };
 | 
					        };
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        const result = await site.read<CoreUserGetUserPreferencesWSResponse>('core_user_get_user_preferences', params, preSets);
 | 
					        const result = await site.read<CoreUserGetUserPreferencesWSResponse>('core_user_get_user_preferences', params, preSets);
 | 
				
			||||||
 | 
				
			|||||||
@ -15,12 +15,12 @@
 | 
				
			|||||||
import { Injectable } from '@angular/core';
 | 
					import { Injectable } from '@angular/core';
 | 
				
			||||||
 | 
					
 | 
				
			||||||
import { CoreSites } from '@services/sites';
 | 
					import { CoreSites } from '@services/sites';
 | 
				
			||||||
import { CoreSite } from '@classes/sites/site';
 | 
					 | 
				
			||||||
import { CoreError } from '@classes/errors/error';
 | 
					import { CoreError } from '@classes/errors/error';
 | 
				
			||||||
import { makeSingleton, Translate } from '@singletons';
 | 
					import { makeSingleton, Translate } from '@singletons';
 | 
				
			||||||
import { CoreWSExternalWarning } from '@services/ws';
 | 
					import { CoreWSExternalWarning } from '@services/ws';
 | 
				
			||||||
import { CoreCourses } from '@features/courses/services/courses';
 | 
					import { CoreCourses } from '@features/courses/services/courses';
 | 
				
			||||||
import { CoreSiteWSPreSets } from '@classes/sites/authenticated-site';
 | 
					import { CoreSiteWSPreSets } from '@classes/sites/authenticated-site';
 | 
				
			||||||
 | 
					import { CoreCacheUpdateFrequency } from '../constants';
 | 
				
			||||||
 | 
					
 | 
				
			||||||
const ROOT_CACHE_KEY = 'mmGroups:';
 | 
					const ROOT_CACHE_KEY = 'mmGroups:';
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@ -78,7 +78,7 @@ export class CoreGroupsProvider {
 | 
				
			|||||||
        };
 | 
					        };
 | 
				
			||||||
        const preSets: CoreSiteWSPreSets = {
 | 
					        const preSets: CoreSiteWSPreSets = {
 | 
				
			||||||
            cacheKey: this.getActivityAllowedGroupsCacheKey(cmId, userId),
 | 
					            cacheKey: this.getActivityAllowedGroupsCacheKey(cmId, userId),
 | 
				
			||||||
            updateFrequency: CoreSite.FREQUENCY_RARELY,
 | 
					            updateFrequency: CoreCacheUpdateFrequency.RARELY,
 | 
				
			||||||
        };
 | 
					        };
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        if (ignoreCache) {
 | 
					        if (ignoreCache) {
 | 
				
			||||||
@ -202,7 +202,7 @@ export class CoreGroupsProvider {
 | 
				
			|||||||
        };
 | 
					        };
 | 
				
			||||||
        const preSets: CoreSiteWSPreSets = {
 | 
					        const preSets: CoreSiteWSPreSets = {
 | 
				
			||||||
            cacheKey: this.getActivityGroupModeCacheKey(cmId),
 | 
					            cacheKey: this.getActivityGroupModeCacheKey(cmId),
 | 
				
			||||||
            updateFrequency: CoreSite.FREQUENCY_RARELY,
 | 
					            updateFrequency: CoreCacheUpdateFrequency.RARELY,
 | 
				
			||||||
        };
 | 
					        };
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        if (ignoreCache) {
 | 
					        if (ignoreCache) {
 | 
				
			||||||
@ -285,7 +285,7 @@ export class CoreGroupsProvider {
 | 
				
			|||||||
        };
 | 
					        };
 | 
				
			||||||
        const preSets = {
 | 
					        const preSets = {
 | 
				
			||||||
            cacheKey: this.getUserGroupsInCourseCacheKey(courseId, userId),
 | 
					            cacheKey: this.getUserGroupsInCourseCacheKey(courseId, userId),
 | 
				
			||||||
            updateFrequency: CoreSite.FREQUENCY_RARELY,
 | 
					            updateFrequency: CoreCacheUpdateFrequency.RARELY,
 | 
				
			||||||
        };
 | 
					        };
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        const response: CoreGroupGetCourseUserGroupsWSResponse =
 | 
					        const response: CoreGroupGetCourseUserGroupsWSResponse =
 | 
				
			||||||
 | 
				
			|||||||
@ -22,7 +22,7 @@ import { CoreWS } from '@services/ws';
 | 
				
			|||||||
import { CoreDomUtils } from '@services/utils/dom';
 | 
					import { CoreDomUtils } from '@services/utils/dom';
 | 
				
			||||||
import { CoreUrl, CoreUrlPartNames } from '@singletons/url';
 | 
					import { CoreUrl, CoreUrlPartNames } from '@singletons/url';
 | 
				
			||||||
import { CoreUtils } from '@services/utils/utils';
 | 
					import { CoreUtils } from '@services/utils/utils';
 | 
				
			||||||
import { CoreConstants } from '@/core/constants';
 | 
					import { CoreConstants, MINIMUM_MOODLE_VERSION, MOODLE_RELEASES } from '@/core/constants';
 | 
				
			||||||
import {
 | 
					import {
 | 
				
			||||||
    CoreSite,
 | 
					    CoreSite,
 | 
				
			||||||
    CoreSiteConfig,
 | 
					    CoreSiteConfig,
 | 
				
			||||||
@ -482,7 +482,7 @@ export class CoreSitesProvider {
 | 
				
			|||||||
            options.message = Translate.instant('core.siteunavailablehelp', { site: siteUrl });
 | 
					            options.message = Translate.instant('core.siteunavailablehelp', { site: siteUrl });
 | 
				
			||||||
            options.debug = {
 | 
					            options.debug = {
 | 
				
			||||||
                code: 'invalidmoodleversion',
 | 
					                code: 'invalidmoodleversion',
 | 
				
			||||||
                details: Translate.instant('core.login.invalidmoodleversion', { $a: CoreSite.MINIMUM_MOODLE_VERSION }),
 | 
					                details: Translate.instant('core.login.invalidmoodleversion', { $a: MINIMUM_MOODLE_VERSION }),
 | 
				
			||||||
            };
 | 
					            };
 | 
				
			||||||
        } else if (error.debug?.code === 'redirecterrordetected') {
 | 
					        } else if (error.debug?.code === 'redirecterrordetected') {
 | 
				
			||||||
            options.critical = false; // Keep checking fallback URLs.
 | 
					            options.critical = false; // Keep checking fallback URLs.
 | 
				
			||||||
@ -710,7 +710,7 @@ export class CoreSitesProvider {
 | 
				
			|||||||
                break;
 | 
					                break;
 | 
				
			||||||
            default:
 | 
					            default:
 | 
				
			||||||
                errorKey = 'core.login.invalidmoodleversion';
 | 
					                errorKey = 'core.login.invalidmoodleversion';
 | 
				
			||||||
                translateParams = { $a: CoreSite.MINIMUM_MOODLE_VERSION };
 | 
					                translateParams = { $a: MINIMUM_MOODLE_VERSION };
 | 
				
			||||||
                debug = {
 | 
					                debug = {
 | 
				
			||||||
                    code: 'invalidmoodleversion',
 | 
					                    code: 'invalidmoodleversion',
 | 
				
			||||||
                    details: 'Cannot connect to app',
 | 
					                    details: 'Cannot connect to app',
 | 
				
			||||||
@ -788,7 +788,7 @@ export class CoreSitesProvider {
 | 
				
			|||||||
        if (info.version) {
 | 
					        if (info.version) {
 | 
				
			||||||
            const version = parseInt(info.version, 10);
 | 
					            const version = parseInt(info.version, 10);
 | 
				
			||||||
            if (!isNaN(version)) {
 | 
					            if (!isNaN(version)) {
 | 
				
			||||||
                if (version >= CoreSite.MOODLE_RELEASES[CoreSite.MINIMUM_MOODLE_VERSION]) {
 | 
					                if (version >= MOODLE_RELEASES[MINIMUM_MOODLE_VERSION]) {
 | 
				
			||||||
                    return this.validateWorkplaceVersion(info);
 | 
					                    return this.validateWorkplaceVersion(info);
 | 
				
			||||||
                }
 | 
					                }
 | 
				
			||||||
            }
 | 
					            }
 | 
				
			||||||
@ -797,7 +797,7 @@ export class CoreSitesProvider {
 | 
				
			|||||||
        // We couldn't validate by version number. Let's try to validate by release number.
 | 
					        // We couldn't validate by version number. Let's try to validate by release number.
 | 
				
			||||||
        const release = this.getReleaseNumber(info.release || '');
 | 
					        const release = this.getReleaseNumber(info.release || '');
 | 
				
			||||||
        if (release) {
 | 
					        if (release) {
 | 
				
			||||||
            if (release >= CoreSite.MINIMUM_MOODLE_VERSION) {
 | 
					            if (release >= MINIMUM_MOODLE_VERSION) {
 | 
				
			||||||
                return this.validateWorkplaceVersion(info);
 | 
					                return this.validateWorkplaceVersion(info);
 | 
				
			||||||
            }
 | 
					            }
 | 
				
			||||||
        }
 | 
					        }
 | 
				
			||||||
 | 
				
			|||||||
@ -26,7 +26,7 @@ import { CoreNetwork } from '@services/network';
 | 
				
			|||||||
import { CoreFile, CoreFileFormat } from '@services/file';
 | 
					import { CoreFile, CoreFileFormat } from '@services/file';
 | 
				
			||||||
import { CoreMimetypeUtils } from '@services/utils/mimetype';
 | 
					import { CoreMimetypeUtils } from '@services/utils/mimetype';
 | 
				
			||||||
import { CoreText } from '@singletons/text';
 | 
					import { CoreText } from '@singletons/text';
 | 
				
			||||||
import { CoreConstants } from '@/core/constants';
 | 
					import { CoreConstants, MINIMUM_MOODLE_VERSION } from '@/core/constants';
 | 
				
			||||||
import { CoreError } from '@classes/errors/error';
 | 
					import { CoreError } from '@classes/errors/error';
 | 
				
			||||||
import { CoreInterceptor } from '@classes/interceptor';
 | 
					import { CoreInterceptor } from '@classes/interceptor';
 | 
				
			||||||
import { makeSingleton, Translate, Http, NativeHttp } from '@singletons';
 | 
					import { makeSingleton, Translate, Http, NativeHttp } from '@singletons';
 | 
				
			||||||
@ -35,7 +35,6 @@ import { CoreWSError } from '@classes/errors/wserror';
 | 
				
			|||||||
import { CoreAjaxError } from '@classes/errors/ajaxerror';
 | 
					import { CoreAjaxError } from '@classes/errors/ajaxerror';
 | 
				
			||||||
import { CoreAjaxWSError } from '@classes/errors/ajaxwserror';
 | 
					import { CoreAjaxWSError } from '@classes/errors/ajaxwserror';
 | 
				
			||||||
import { CoreNetworkError } from '@classes/errors/network-error';
 | 
					import { CoreNetworkError } from '@classes/errors/network-error';
 | 
				
			||||||
import { CoreSite } from '@classes/sites/site';
 | 
					 | 
				
			||||||
import { CoreHttpError } from '@classes/errors/httperror';
 | 
					import { CoreHttpError } from '@classes/errors/httperror';
 | 
				
			||||||
import { CorePromisedValue } from '@classes/promised-value';
 | 
					import { CorePromisedValue } from '@classes/promised-value';
 | 
				
			||||||
import { CorePlatform } from '@services/platform';
 | 
					import { CorePlatform } from '@services/platform';
 | 
				
			||||||
@ -592,7 +591,7 @@ export class CoreWSProvider {
 | 
				
			|||||||
                        options.debug = {
 | 
					                        options.debug = {
 | 
				
			||||||
                            code: 'endpointnotfound',
 | 
					                            code: 'endpointnotfound',
 | 
				
			||||||
                            details: Translate.instant('core.ajaxendpointnotfound', {
 | 
					                            details: Translate.instant('core.ajaxendpointnotfound', {
 | 
				
			||||||
                                $a: CoreSite.MINIMUM_MOODLE_VERSION,
 | 
					                                $a: MINIMUM_MOODLE_VERSION,
 | 
				
			||||||
                            }),
 | 
					                            }),
 | 
				
			||||||
                        };
 | 
					                        };
 | 
				
			||||||
                        break;
 | 
					                        break;
 | 
				
			||||||
 | 
				
			|||||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user