From 75ce4633629bbbe993bf596fc63e8db504e2e9db Mon Sep 17 00:00:00 2001 From: Dani Palou Date: Mon, 20 May 2019 12:20:46 +0200 Subject: [PATCH] MOBILE-3036 core: Apply update frequency to all WS calls --- src/addon/badges/providers/badges.ts | 8 +++-- src/addon/blog/providers/blog.ts | 4 ++- src/addon/calendar/providers/calendar.ts | 9 ++++-- src/addon/competency/providers/competency.ts | 19 ++++++++---- .../providers/coursecompletion.ts | 2 ++ src/addon/files/providers/files.ts | 6 ++-- .../airnotifier/providers/airnotifier.ts | 4 ++- src/addon/messages/providers/messages.ts | 21 ++++++++----- src/addon/mod/assign/providers/assign.ts | 14 +++++---- src/addon/mod/book/providers/book.ts | 4 ++- src/addon/mod/chat/providers/chat.ts | 9 ++++-- src/addon/mod/choice/providers/choice.ts | 8 +++-- src/addon/mod/data/providers/data.ts | 13 +++++--- src/addon/mod/feedback/providers/feedback.ts | 8 +++-- src/addon/mod/folder/providers/folder.ts | 4 ++- src/addon/mod/forum/providers/forum.ts | 3 +- src/addon/mod/glossary/providers/glossary.ts | 22 +++++++++----- src/addon/mod/imscp/providers/imscp.ts | 4 ++- src/addon/mod/label/providers/label.ts | 3 +- src/addon/mod/lesson/providers/lesson.ts | 14 +++++---- src/addon/mod/lti/providers/lti.ts | 4 ++- src/addon/mod/page/providers/page.ts | 4 ++- src/addon/mod/quiz/providers/quiz.ts | 14 +++++---- src/addon/mod/resource/providers/resource.ts | 4 ++- src/addon/mod/scorm/providers/scorm.ts | 11 ++++--- src/addon/mod/survey/providers/survey.ts | 8 +++-- src/addon/mod/url/providers/url.ts | 4 ++- src/addon/mod/wiki/providers/wiki.ts | 17 +++++++---- src/addon/mod/workshop/providers/workshop.ts | 16 ++++++---- src/addon/notes/providers/notes.ts | 30 +++++++++++-------- .../notifications/providers/notifications.ts | 4 ++- src/core/comments/providers/comments.ts | 3 +- src/core/course/providers/course.ts | 13 +++++--- src/core/courses/providers/courses.ts | 24 ++++++++++----- src/core/courses/providers/dashboard.ts | 3 +- src/core/rating/providers/rating.ts | 3 +- src/core/siteplugins/providers/siteplugins.ts | 2 ++ src/core/user/providers/user.ts | 9 ++++-- src/providers/groups.ts | 11 ++++--- 39 files changed, 242 insertions(+), 121 deletions(-) diff --git a/src/addon/badges/providers/badges.ts b/src/addon/badges/providers/badges.ts index 2245ad1fb..019341e39 100644 --- a/src/addon/badges/providers/badges.ts +++ b/src/addon/badges/providers/badges.ts @@ -15,6 +15,7 @@ import { Injectable } from '@angular/core'; import { CoreLoggerProvider } from '@providers/logger'; import { CoreSitesProvider } from '@providers/sites'; +import { CoreSite } from '@classes/site'; /** * Service to handle badges. @@ -79,11 +80,12 @@ export class AddonBadgesProvider { courseid : courseId, userid : userId }, - presets = { - cacheKey: this.getBadgesCacheKey(courseId, userId) + preSets = { + cacheKey: this.getBadgesCacheKey(courseId, userId), + updateFrequency: CoreSite.FREQUENCY_RARELY }; - return site.read('core_badges_get_user_badges', data, presets).then((response) => { + return site.read('core_badges_get_user_badges', data, preSets).then((response) => { if (response && response.badges) { return response.badges; } else { diff --git a/src/addon/blog/providers/blog.ts b/src/addon/blog/providers/blog.ts index e5387cb65..90b875283 100644 --- a/src/addon/blog/providers/blog.ts +++ b/src/addon/blog/providers/blog.ts @@ -17,6 +17,7 @@ import { CoreLoggerProvider } from '@providers/logger'; import { CoreSitesProvider } from '@providers/sites'; import { CoreUtilsProvider } from '@providers/utils/utils'; import { CorePushNotificationsProvider } from '@core/pushnotifications/providers/pushnotifications'; +import { CoreSite } from '@classes/site'; /** * Service to handle blog entries. @@ -76,7 +77,8 @@ export class AddonBlogProvider { }; const preSets = { - cacheKey: this.getEntriesCacheKey(filter) + cacheKey: this.getEntriesCacheKey(filter), + updateFrequency: CoreSite.FREQUENCY_SOMETIMES }; return site.read('core_blog_get_entries', data, preSets); diff --git a/src/addon/calendar/providers/calendar.ts b/src/addon/calendar/providers/calendar.ts index 73bf0217f..bfcb87110 100644 --- a/src/addon/calendar/providers/calendar.ts +++ b/src/addon/calendar/providers/calendar.ts @@ -292,7 +292,8 @@ export class AddonCalendarProvider { getEvent(id: number, siteId?: string): Promise { return this.sitesProvider.getSite(siteId).then((site) => { const preSets = { - cacheKey: this.getEventCacheKey(id) + cacheKey: this.getEventCacheKey(id), + updateFrequency: CoreSite.FREQUENCY_RARELY }, data = { options: { @@ -332,7 +333,8 @@ export class AddonCalendarProvider { cacheKey: this.getEventCacheKey(id) }, data = { - eventid: id + eventid: id, + updateFrequency: CoreSite.FREQUENCY_RARELY }; return site.read('core_calendar_get_calendar_event_by_id', data, preSets).then((response) => { @@ -469,7 +471,8 @@ export class AddonCalendarProvider { // We need to retrieve cached data using cache key because we have timestamp in the params. const preSets = { cacheKey: this.getEventsListCacheKey(daysToStart, daysInterval), - getCacheUsingCacheKey: true + getCacheUsingCacheKey: true, + updateFrequency: CoreSite.FREQUENCY_SOMETIMES }; return site.read('core_calendar_get_calendar_events', data, preSets).then((response) => { diff --git a/src/addon/competency/providers/competency.ts b/src/addon/competency/providers/competency.ts index 7786b75a6..f2ba8f2a6 100644 --- a/src/addon/competency/providers/competency.ts +++ b/src/addon/competency/providers/competency.ts @@ -16,6 +16,7 @@ import { Injectable } from '@angular/core'; import { CoreLoggerProvider } from '@providers/logger'; import { CoreSitesProvider } from '@providers/sites'; import { CorePushNotificationsProvider } from '@core/pushnotifications/providers/pushnotifications'; +import { CoreSite } from '@classes/site'; /** * Service to handle caompetency learning plans. @@ -156,7 +157,8 @@ export class AddonCompetencyProvider { userid: userId }, preSets = { - cacheKey: this.getLearningPlansCacheKey(userId) + cacheKey: this.getLearningPlansCacheKey(userId), + updateFrequency: CoreSite.FREQUENCY_RARELY }; return site.read('tool_lp_data_for_plans_page', params, preSets).then((response) => { @@ -185,7 +187,8 @@ export class AddonCompetencyProvider { planid: planId }, preSets = { - cacheKey: this.getLearningPlanCacheKey(planId) + cacheKey: this.getLearningPlanCacheKey(planId), + updateFrequency: CoreSite.FREQUENCY_RARELY }; return site.read('tool_lp_data_for_plan_page', params, preSets).then((response) => { @@ -216,7 +219,8 @@ export class AddonCompetencyProvider { competencyid: competencyId }, preSets = { - cacheKey: this.getCompetencyInPlanCacheKey(planId, competencyId) + cacheKey: this.getCompetencyInPlanCacheKey(planId, competencyId), + updateFrequency: CoreSite.FREQUENCY_SOMETIMES }; return site.read('tool_lp_data_for_user_competency_summary_in_plan', params, preSets).then((response) => { @@ -253,7 +257,8 @@ export class AddonCompetencyProvider { userid: userId }, preSets: any = { - cacheKey: this.getCompetencyInCourseCacheKey(courseId, competencyId, userId) + cacheKey: this.getCompetencyInCourseCacheKey(courseId, competencyId, userId), + updateFrequency: CoreSite.FREQUENCY_SOMETIMES }; if (ignoreCache) { @@ -291,7 +296,8 @@ export class AddonCompetencyProvider { userid: userId }, preSets: any = { - cacheKey: this.getCompetencySummaryCacheKey(competencyId, userId) + cacheKey: this.getCompetencySummaryCacheKey(competencyId, userId), + updateFrequency: CoreSite.FREQUENCY_SOMETIMES }; if (ignoreCache) { @@ -327,7 +333,8 @@ export class AddonCompetencyProvider { courseid: courseId }, preSets: any = { - cacheKey: this.getCourseCompetenciesCacheKey(courseId) + cacheKey: this.getCourseCompetenciesCacheKey(courseId), + updateFrequency: CoreSite.FREQUENCY_SOMETIMES }; if (ignoreCache) { diff --git a/src/addon/coursecompletion/providers/coursecompletion.ts b/src/addon/coursecompletion/providers/coursecompletion.ts index fba2e064d..262bb8e3b 100644 --- a/src/addon/coursecompletion/providers/coursecompletion.ts +++ b/src/addon/coursecompletion/providers/coursecompletion.ts @@ -17,6 +17,7 @@ import { CoreLoggerProvider } from '@providers/logger'; import { CoreSitesProvider } from '@providers/sites'; import { CoreUtilsProvider } from '@providers/utils/utils'; import { CoreCoursesProvider } from '@core/courses/providers/courses'; +import { CoreSite } from '@classes/site'; /** * Service to handle course completion. @@ -108,6 +109,7 @@ export class AddonCourseCompletionProvider { }; preSets.cacheKey = this.getCompletionCacheKey(courseId, userId); + preSets.updateFrequency = preSets.updateFrequency || CoreSite.FREQUENCY_SOMETIMES; return site.read('core_completion_get_course_completion_status', data, preSets).then((data) => { if (data.completionstatus) { diff --git a/src/addon/files/providers/files.ts b/src/addon/files/providers/files.ts index 8cad3e251..1db49f1da 100644 --- a/src/addon/files/providers/files.ts +++ b/src/addon/files/providers/files.ts @@ -77,7 +77,8 @@ export class AddonFilesProvider { return this.sitesProvider.getSite(siteId).then((site) => { const preSets = { - cacheKey: this.getFilesListCacheKey(params) + cacheKey: this.getFilesListCacheKey(params), + updateFrequency: CoreSite.FREQUENCY_SOMETIMES }; return site.read('core_files_get_files', params, preSets); @@ -171,7 +172,8 @@ export class AddonFilesProvider { userid: userId }, preSets = { - cacheKey: this.getPrivateFilesInfoCacheKey(userId) + cacheKey: this.getPrivateFilesInfoCacheKey(userId), + updateFrequency: CoreSite.FREQUENCY_SOMETIMES }; return site.read('core_user_get_private_files_info', params, preSets); diff --git a/src/addon/messageoutput/airnotifier/providers/airnotifier.ts b/src/addon/messageoutput/airnotifier/providers/airnotifier.ts index f8ca5be71..129c1ebf0 100644 --- a/src/addon/messageoutput/airnotifier/providers/airnotifier.ts +++ b/src/addon/messageoutput/airnotifier/providers/airnotifier.ts @@ -16,6 +16,7 @@ import { Injectable } from '@angular/core'; import { CoreLoggerProvider } from '@providers/logger'; import { CoreSitesProvider } from '@providers/sites'; import { CoreConfigConstants } from '../../../../configconstants'; +import { CoreSite } from '@classes/site'; /** * Service to handle Airnotifier message output. @@ -81,7 +82,8 @@ export class AddonMessageOutputAirnotifierProvider { appid: CoreConfigConstants.app_id }; const preSets = { - cacheKey: this.getUserDevicesCacheKey() + cacheKey: this.getUserDevicesCacheKey(), + updateFrequency: CoreSite.FREQUENCY_RARELY }; return site.read('message_airnotifier_get_user_devices', data, preSets).then((data) => { diff --git a/src/addon/messages/providers/messages.ts b/src/addon/messages/providers/messages.ts index fbaccdd11..b4181773a 100644 --- a/src/addon/messages/providers/messages.ts +++ b/src/addon/messages/providers/messages.ts @@ -571,7 +571,8 @@ export class AddonMessagesProvider { userid: userId }, preSets = { - cacheKey: this.getCacheKeyForBlockedContacts(userId) + cacheKey: this.getCacheKeyForBlockedContacts(userId), + updateFrequency: CoreSite.FREQUENCY_OFTEN }; return site.read('core_message_get_blocked_users', params, preSets); @@ -590,7 +591,8 @@ export class AddonMessagesProvider { getContacts(siteId?: string): Promise { return this.sitesProvider.getSite(siteId).then((site) => { const preSets = { - cacheKey: this.getCacheKeyForContacts() + cacheKey: this.getCacheKeyForContacts(), + updateFrequency: CoreSite.FREQUENCY_OFTEN }; return site.read('core_message_get_contacts', undefined, preSets).then((contacts) => { @@ -632,7 +634,8 @@ export class AddonMessagesProvider { limitnum: limitNum <= 0 ? 0 : limitNum + 1 }; const preSets = { - cacheKey: this.getCacheKeyForUserContacts() + cacheKey: this.getCacheKeyForUserContacts(), + updateFrequency: CoreSite.FREQUENCY_OFTEN }; return site.read('core_message_get_user_contacts', params, preSets).then((contacts) => { @@ -673,7 +676,8 @@ export class AddonMessagesProvider { limitnum: limitNum <= 0 ? 0 : limitNum + 1 }; const preSets = { - cacheKey: this.getCacheKeyForContactRequests() + cacheKey: this.getCacheKeyForContactRequests(), + updateFrequency: CoreSite.FREQUENCY_OFTEN }; return site.read('core_message_get_contact_requests', data, preSets).then((requests) => { @@ -837,7 +841,8 @@ export class AddonMessagesProvider { } const preSets = { - cacheKey: this.getCacheKeyForConversationMembers(userId, conversationId) + cacheKey: this.getCacheKeyForConversationMembers(userId, conversationId), + updateFrequency: CoreSite.FREQUENCY_SOMETIMES }, params: any = { userid: userId, @@ -1272,7 +1277,8 @@ export class AddonMessagesProvider { userId = userId || site.getUserId(); const preSets = { - cacheKey: this.getCacheKeyForMemberInfo(userId, otherUserId) + cacheKey: this.getCacheKeyForMemberInfo(userId, otherUserId), + updateFrequency: CoreSite.FREQUENCY_OFTEN }, params: any = { referenceuserid: userId, @@ -1312,7 +1318,8 @@ export class AddonMessagesProvider { return this.sitesProvider.getSite(siteId).then((site) => { const preSets = { - cacheKey: this.getMessagePreferencesCacheKey() + cacheKey: this.getMessagePreferencesCacheKey(), + updateFrequency: CoreSite.FREQUENCY_SOMETIMES }; return site.read('core_message_get_user_message_preferences', {}, preSets).then((data) => { diff --git a/src/addon/mod/assign/providers/assign.ts b/src/addon/mod/assign/providers/assign.ts index 1b785e8b5..26c6ecf41 100644 --- a/src/addon/mod/assign/providers/assign.ts +++ b/src/addon/mod/assign/providers/assign.ts @@ -25,7 +25,7 @@ import { CoreGradesProvider } from '@core/grades/providers/grades'; import { CoreCourseLogHelperProvider } from '@core/course/providers/log-helper'; import { AddonModAssignSubmissionDelegate } from './submission-delegate'; import { AddonModAssignOfflineProvider } from './assign-offline'; -import { CoreSiteWSPreSets } from '@classes/site'; +import { CoreSite, CoreSiteWSPreSets } from '@classes/site'; import { CoreInterceptor } from '@classes/interceptor'; /** @@ -146,7 +146,8 @@ export class AddonModAssignProvider { includenotenrolledcourses: 1 }, preSets: CoreSiteWSPreSets = { - cacheKey: this.getAssignmentCacheKey(courseId) + cacheKey: this.getAssignmentCacheKey(courseId), + updateFrequency: CoreSite.FREQUENCY_RARELY }; if (ignoreCache) { @@ -215,7 +216,8 @@ export class AddonModAssignProvider { assignmentids: [assignId] }, preSets: CoreSiteWSPreSets = { - cacheKey: this.getAssignmentUserMappingsCacheKey(assignId) + cacheKey: this.getAssignmentUserMappingsCacheKey(assignId), + updateFrequency: CoreSite.FREQUENCY_OFTEN }; if (ignoreCache) { @@ -437,7 +439,8 @@ export class AddonModAssignProvider { assignmentids: [assignId] }, preSets: CoreSiteWSPreSets = { - cacheKey: this.getSubmissionsCacheKey(assignId) + cacheKey: this.getSubmissionsCacheKey(assignId), + updateFrequency: CoreSite.FREQUENCY_OFTEN }; if (ignoreCache) { @@ -642,7 +645,8 @@ export class AddonModAssignProvider { filter: '' }, preSets: CoreSiteWSPreSets = { - cacheKey: this.listParticipantsCacheKey(assignId, groupId) + cacheKey: this.listParticipantsCacheKey(assignId, groupId), + updateFrequency: CoreSite.FREQUENCY_OFTEN }; if (ignoreCache) { diff --git a/src/addon/mod/book/providers/book.ts b/src/addon/mod/book/providers/book.ts index 4cb37834b..1655ed164 100644 --- a/src/addon/mod/book/providers/book.ts +++ b/src/addon/mod/book/providers/book.ts @@ -23,6 +23,7 @@ import { CoreTextUtilsProvider } from '@providers/utils/text'; import { CoreUtilsProvider } from '@providers/utils/utils'; import { CoreCourseProvider } from '@core/course/providers/course'; import { CoreCourseLogHelperProvider } from '@core/course/providers/log-helper'; +import { CoreSite } from '@classes/site'; /** * A book chapter inside the toc list. @@ -97,7 +98,8 @@ export class AddonModBookProvider { courseids: [courseId] }, preSets = { - cacheKey: this.getBookDataCacheKey(courseId) + cacheKey: this.getBookDataCacheKey(courseId), + updateFrequency: CoreSite.FREQUENCY_RARELY }; return site.read('mod_book_get_books_by_courses', params, preSets).then((response) => { diff --git a/src/addon/mod/chat/providers/chat.ts b/src/addon/mod/chat/providers/chat.ts index ed86a56d5..4e6b6df9b 100644 --- a/src/addon/mod/chat/providers/chat.ts +++ b/src/addon/mod/chat/providers/chat.ts @@ -18,7 +18,7 @@ import { CoreSitesProvider } from '@providers/sites'; import { CoreUserProvider } from '@core/user/providers/user'; import { CoreCourseLogHelperProvider } from '@core/course/providers/log-helper'; import { CoreUtilsProvider } from '@providers/utils/utils'; -import { CoreSiteWSPreSets } from '@classes/site'; +import { CoreSite, CoreSiteWSPreSets } from '@classes/site'; /** * Service that provides some features for chats. @@ -47,7 +47,8 @@ export class AddonModChatProvider { courseids: [courseId] }; const preSets: CoreSiteWSPreSets = { - cacheKey: this.getChatsCacheKey(courseId) + cacheKey: this.getChatsCacheKey(courseId), + updateFrequency: CoreSite.FREQUENCY_RARELY }; return site.read('mod_chat_get_chats_by_courses', params, preSets).then((response) => { @@ -214,6 +215,7 @@ export class AddonModChatProvider { }; const preSets: CoreSiteWSPreSets = { cacheKey: this.getSessionsCacheKey(chatId, groupId, showAll), + updateFrequency: CoreSite.FREQUENCY_SOMETIMES }; if (ignoreCache) { preSets.getFromCache = false; @@ -252,7 +254,8 @@ export class AddonModChatProvider { groupid: groupId }; const preSets: CoreSiteWSPreSets = { - cacheKey: this.getSessionMessagesCacheKey(chatId, sessionStart, groupId) + cacheKey: this.getSessionMessagesCacheKey(chatId, sessionStart, groupId), + updateFrequency: CoreSite.FREQUENCY_RARELY }; if (ignoreCache) { preSets.getFromCache = false; diff --git a/src/addon/mod/choice/providers/choice.ts b/src/addon/mod/choice/providers/choice.ts index 7d1dd0e00..770afa6c0 100644 --- a/src/addon/mod/choice/providers/choice.ts +++ b/src/addon/mod/choice/providers/choice.ts @@ -19,7 +19,7 @@ import { CoreAppProvider } from '@providers/app'; import { CoreFilepoolProvider } from '@providers/filepool'; import { CoreCourseLogHelperProvider } from '@core/course/providers/log-helper'; import { AddonModChoiceOfflineProvider } from './offline'; -import { CoreSiteWSPreSets } from '@classes/site'; +import { CoreSite, CoreSiteWSPreSets } from '@classes/site'; /** * Service that provides some features for choices. @@ -187,7 +187,8 @@ export class AddonModChoiceProvider { }; const preSets: CoreSiteWSPreSets = { cacheKey: this.getChoiceDataCacheKey(courseId), - omitExpires: forceCache + omitExpires: forceCache, + updateFrequency: CoreSite.FREQUENCY_RARELY }; if (forceCache) { @@ -252,7 +253,8 @@ export class AddonModChoiceProvider { choiceid: choiceId }; const preSets: CoreSiteWSPreSets = { - cacheKey: this.getChoiceOptionsCacheKey(choiceId) + cacheKey: this.getChoiceOptionsCacheKey(choiceId), + updateFrequency: CoreSite.FREQUENCY_RARELY }; if (ignoreCache) { diff --git a/src/addon/mod/data/providers/data.ts b/src/addon/mod/data/providers/data.ts index 47f8fc64d..63e53e364 100644 --- a/src/addon/mod/data/providers/data.ts +++ b/src/addon/mod/data/providers/data.ts @@ -22,6 +22,7 @@ import { CoreCourseLogHelperProvider } from '@core/course/providers/log-helper'; import { AddonModDataOfflineProvider } from './offline'; import { AddonModDataFieldsDelegate } from './fields-delegate'; import { CoreRatingInfo } from '@core/rating/providers/rating'; +import { CoreSite } from '@classes/site'; /** * Database entry (online or offline). @@ -538,7 +539,8 @@ export class AddonModDataProvider { courseids: [courseId] }, preSets = { - cacheKey: this.getDatabaseDataCacheKey(courseId) + cacheKey: this.getDatabaseDataCacheKey(courseId), + updateFrequency: CoreSite.FREQUENCY_RARELY }; if (forceCache) { preSets['omitExpires'] = true; @@ -675,7 +677,8 @@ export class AddonModDataProvider { order: order }, preSets = { - cacheKey: this.getEntriesCacheKey(dataId, groupId) + cacheKey: this.getEntriesCacheKey(dataId, groupId), + updateFrequency: CoreSite.FREQUENCY_SOMETIMES }; if (forceCache) { @@ -733,7 +736,8 @@ export class AddonModDataProvider { returncontents: 1 }, preSets = { - cacheKey: this.getEntryCacheKey(dataId, entryId) + cacheKey: this.getEntryCacheKey(dataId, entryId), + updateFrequency: CoreSite.FREQUENCY_SOMETIMES }; if (ignoreCache) { @@ -775,7 +779,8 @@ export class AddonModDataProvider { databaseid: dataId }, preSets = { - cacheKey: this.getFieldsCacheKey(dataId) + cacheKey: this.getFieldsCacheKey(dataId), + updateFrequency: CoreSite.FREQUENCY_RARELY }; if (forceCache) { diff --git a/src/addon/mod/feedback/providers/feedback.ts b/src/addon/mod/feedback/providers/feedback.ts index 23327ca75..a9aed0880 100644 --- a/src/addon/mod/feedback/providers/feedback.ts +++ b/src/addon/mod/feedback/providers/feedback.ts @@ -20,7 +20,7 @@ import { CoreFilepoolProvider } from '@providers/filepool'; import { CoreAppProvider } from '@providers/app'; import { CoreCourseLogHelperProvider } from '@core/course/providers/log-helper'; import { AddonModFeedbackOfflineProvider } from './offline'; -import { CoreSiteWSPreSets } from '@classes/site'; +import { CoreSite, CoreSiteWSPreSets } from '@classes/site'; /** * Service that provides some features for feedbacks. @@ -583,7 +583,8 @@ export class AddonModFeedbackProvider { courseids: [courseId] }, preSets: CoreSiteWSPreSets = { - cacheKey: this.getFeedbackCacheKey(courseId) + cacheKey: this.getFeedbackCacheKey(courseId), + updateFrequency: CoreSite.FREQUENCY_RARELY }; if (forceCache) { @@ -650,7 +651,8 @@ export class AddonModFeedbackProvider { feedbackid: feedbackId }, preSets: CoreSiteWSPreSets = { - cacheKey: this.getItemsDataCacheKey(feedbackId) + cacheKey: this.getItemsDataCacheKey(feedbackId), + updateFrequency: CoreSite.FREQUENCY_SOMETIMES }; if (ignoreCache) { diff --git a/src/addon/mod/folder/providers/folder.ts b/src/addon/mod/folder/providers/folder.ts index eff8af19c..ce3336634 100644 --- a/src/addon/mod/folder/providers/folder.ts +++ b/src/addon/mod/folder/providers/folder.ts @@ -18,6 +18,7 @@ import { CoreSitesProvider } from '@providers/sites'; import { CoreUtilsProvider } from '@providers/utils/utils'; import { CoreCourseProvider } from '@core/course/providers/course'; import { CoreCourseLogHelperProvider } from '@core/course/providers/log-helper'; +import { CoreSite } from '@classes/site'; /** * Service that provides some features for folder. @@ -61,7 +62,8 @@ export class AddonModFolderProvider { courseids: [courseId] }, preSets = { - cacheKey: this.getFolderCacheKey(courseId) + cacheKey: this.getFolderCacheKey(courseId), + updateFrequency: CoreSite.FREQUENCY_RARELY }; return site.read('mod_folder_get_folders_by_courses', params, preSets).then((response) => { diff --git a/src/addon/mod/forum/providers/forum.ts b/src/addon/mod/forum/providers/forum.ts index 72f90fc3d..3659e11ef 100644 --- a/src/addon/mod/forum/providers/forum.ts +++ b/src/addon/mod/forum/providers/forum.ts @@ -298,7 +298,8 @@ export class AddonModForumProvider { courseids: [courseId] }; const preSets = { - cacheKey: this.getForumDataCacheKey(courseId) + cacheKey: this.getForumDataCacheKey(courseId), + updateFrequency: CoreSite.FREQUENCY_RARELY }; return site.read('mod_forum_get_forums_by_courses', params, preSets); diff --git a/src/addon/mod/glossary/providers/glossary.ts b/src/addon/mod/glossary/providers/glossary.ts index 1e7ba968b..bd6862d68 100644 --- a/src/addon/mod/glossary/providers/glossary.ts +++ b/src/addon/mod/glossary/providers/glossary.ts @@ -71,7 +71,8 @@ export class AddonModGlossaryProvider { courseids: [courseId] }; const preSets = { - cacheKey: this.getCourseGlossariesCacheKey(courseId) + cacheKey: this.getCourseGlossariesCacheKey(courseId), + updateFrequency: CoreSite.FREQUENCY_RARELY }; return site.read('mod_glossary_get_glossaries_by_courses', params, preSets).then((result) => { @@ -134,7 +135,8 @@ export class AddonModGlossaryProvider { }; const preSets = { cacheKey: this.getEntriesByAuthorCacheKey(glossaryId, letter, field, sort), - omitExpires: forceCache + omitExpires: forceCache, + updateFrequency: CoreSite.FREQUENCY_SOMETIMES }; return site.read('mod_glossary_get_entries_by_author', params, preSets); @@ -182,7 +184,8 @@ export class AddonModGlossaryProvider { }; const preSets = { cacheKey: this.getEntriesByCategoryCacheKey(glossaryId, categoryId), - omitExpires: forceCache + omitExpires: forceCache, + updateFrequency: CoreSite.FREQUENCY_SOMETIMES }; return site.read('mod_glossary_get_entries_by_category', params, preSets); @@ -254,7 +257,8 @@ export class AddonModGlossaryProvider { }; const preSets = { cacheKey: this.getEntriesByDateCacheKey(glossaryId, order, sort), - omitExpires: forceCache + omitExpires: forceCache, + updateFrequency: CoreSite.FREQUENCY_SOMETIMES }; return site.read('mod_glossary_get_entries_by_date', params, preSets); @@ -311,7 +315,8 @@ export class AddonModGlossaryProvider { }; const preSets = { cacheKey: this.getEntriesByLetterCacheKey(glossaryId, letter), - omitExpires: forceCache + omitExpires: forceCache, + updateFrequency: CoreSite.FREQUENCY_SOMETIMES }; return site.read('mod_glossary_get_entries_by_letter', params, preSets); @@ -378,6 +383,7 @@ export class AddonModGlossaryProvider { const preSets = { cacheKey: this.getEntriesBySearchCacheKey(glossaryId, query, fullSearch, order, sort), omitExpires: forceCache, + updateFrequency: CoreSite.FREQUENCY_SOMETIMES }; return site.read('mod_glossary_get_entries_by_search', params, preSets); @@ -444,7 +450,8 @@ export class AddonModGlossaryProvider { limit: limit }; const preSets = { - cacheKey: this.getCategoriesCacheKey(glossaryId) + cacheKey: this.getCategoriesCacheKey(glossaryId), + updateFrequency: CoreSite.FREQUENCY_SOMETIMES }; return site.read('mod_glossary_get_categories', params, preSets).then((response) => { @@ -496,7 +503,8 @@ export class AddonModGlossaryProvider { id: entryId }; const preSets = { - cacheKey: this.getEntryCacheKey(entryId) + cacheKey: this.getEntryCacheKey(entryId), + updateFrequency: CoreSite.FREQUENCY_RARELY }; return site.read('mod_glossary_get_entry_by_id', params, preSets).then((response) => { diff --git a/src/addon/mod/imscp/providers/imscp.ts b/src/addon/mod/imscp/providers/imscp.ts index df58e9b46..86166f3c2 100644 --- a/src/addon/mod/imscp/providers/imscp.ts +++ b/src/addon/mod/imscp/providers/imscp.ts @@ -20,6 +20,7 @@ import { CoreTextUtilsProvider } from '@providers/utils/text'; import { CoreUtilsProvider } from '@providers/utils/utils'; import { CoreCourseProvider } from '@core/course/providers/course'; import { CoreCourseLogHelperProvider } from '@core/course/providers/log-helper'; +import { CoreSite } from '@classes/site'; /** * Service that provides some features for IMSCP. @@ -162,7 +163,8 @@ export class AddonModImscpProvider { courseids: [courseId] }; const preSets = { - cacheKey: this.getImscpDataCacheKey(courseId) + cacheKey: this.getImscpDataCacheKey(courseId), + updateFrequency: CoreSite.FREQUENCY_RARELY }; return site.read('mod_imscp_get_imscps_by_courses', params, preSets).then((response) => { diff --git a/src/addon/mod/label/providers/label.ts b/src/addon/mod/label/providers/label.ts index b40b11ac9..2b4e79534 100644 --- a/src/addon/mod/label/providers/label.ts +++ b/src/addon/mod/label/providers/label.ts @@ -59,7 +59,8 @@ export class AddonModLabelProvider { courseids: [courseId] }, preSets: CoreSiteWSPreSets = { - cacheKey: this.getLabelDataCacheKey(courseId) + cacheKey: this.getLabelDataCacheKey(courseId), + updateFrequency: CoreSite.FREQUENCY_RARELY }; if (forceCache) { diff --git a/src/addon/mod/lesson/providers/lesson.ts b/src/addon/mod/lesson/providers/lesson.ts index 55c4763e1..f84ce3eb6 100644 --- a/src/addon/mod/lesson/providers/lesson.ts +++ b/src/addon/mod/lesson/providers/lesson.ts @@ -22,7 +22,7 @@ import { CoreDomUtilsProvider } from '@providers/utils/dom'; import { CoreUtilsProvider } from '@providers/utils/utils'; import { CoreGradesProvider } from '@core/grades/providers/grades'; import { CoreCourseLogHelperProvider } from '@core/course/providers/log-helper'; -import { CoreSiteWSPreSets } from '@classes/site'; +import { CoreSite, CoreSiteWSPreSets } from '@classes/site'; import { AddonModLessonOfflineProvider } from './lesson-offline'; /** @@ -1436,7 +1436,8 @@ export class AddonModLessonProvider { courseids: [courseId] }, preSets: CoreSiteWSPreSets = { - cacheKey: this.getLessonDataCacheKey(courseId) + cacheKey: this.getLessonDataCacheKey(courseId), + updateFrequency: CoreSite.FREQUENCY_RARELY }; if (forceCache) { @@ -1761,7 +1762,8 @@ export class AddonModLessonProvider { lessonid: lessonId, }, preSets: CoreSiteWSPreSets = { - cacheKey: this.getPagesCacheKey(lessonId) + cacheKey: this.getPagesCacheKey(lessonId), + updateFrequency: CoreSite.FREQUENCY_SOMETIMES }; if (typeof password == 'string') { @@ -2118,7 +2120,8 @@ export class AddonModLessonProvider { groupid: groupId }, preSets: CoreSiteWSPreSets = { - cacheKey: this.getRetakesOverviewCacheKey(lessonId, groupId) + cacheKey: this.getRetakesOverviewCacheKey(lessonId, groupId), + updateFrequency: CoreSite.FREQUENCY_OFTEN }; if (forceCache) { @@ -2348,7 +2351,8 @@ export class AddonModLessonProvider { lessonattempt: retake }, preSets: CoreSiteWSPreSets = { - cacheKey: this.getUserRetakeCacheKey(lessonId, userId, retake) + cacheKey: this.getUserRetakeCacheKey(lessonId, userId, retake), + updateFrequency: CoreSite.FREQUENCY_SOMETIMES }; if (forceCache) { diff --git a/src/addon/mod/lti/providers/lti.ts b/src/addon/mod/lti/providers/lti.ts index fa88da045..b9c1eea85 100644 --- a/src/addon/mod/lti/providers/lti.ts +++ b/src/addon/mod/lti/providers/lti.ts @@ -21,6 +21,7 @@ import { CoreTextUtilsProvider } from '@providers/utils/text'; import { CoreUtilsProvider } from '@providers/utils/utils'; import { CoreUrlUtilsProvider } from '@providers/utils/url'; import { CoreCourseLogHelperProvider } from '@core/course/providers/log-helper'; +import { CoreSite } from '@classes/site'; export interface AddonModLtiParam { name: string; @@ -108,7 +109,8 @@ export class AddonModLtiProvider { courseids: [courseId] }; const preSets: any = { - cacheKey: this.getLtiCacheKey(courseId) + cacheKey: this.getLtiCacheKey(courseId), + updateFrequency: CoreSite.FREQUENCY_RARELY }; return this.sitesProvider.getCurrentSite().read('mod_lti_get_ltis_by_courses', params, preSets).then((response) => { diff --git a/src/addon/mod/page/providers/page.ts b/src/addon/mod/page/providers/page.ts index a196d9efc..95ac2f311 100644 --- a/src/addon/mod/page/providers/page.ts +++ b/src/addon/mod/page/providers/page.ts @@ -19,6 +19,7 @@ import { CoreUtilsProvider } from '@providers/utils/utils'; import { CoreCourseProvider } from '@core/course/providers/course'; import { CoreCourseLogHelperProvider } from '@core/course/providers/log-helper'; import { CoreFilepoolProvider } from '@providers/filepool'; +import { CoreSite } from '@classes/site'; /** * Service that provides some features for page. @@ -63,7 +64,8 @@ export class AddonModPageProvider { courseids: [courseId] }, preSets = { - cacheKey: this.getPageCacheKey(courseId) + cacheKey: this.getPageCacheKey(courseId), + updateFrequency: CoreSite.FREQUENCY_RARELY }; return site.read('mod_page_get_pages_by_courses', params, preSets).then((response) => { diff --git a/src/addon/mod/quiz/providers/quiz.ts b/src/addon/mod/quiz/providers/quiz.ts index 00ba2a92e..cb36b5928 100644 --- a/src/addon/mod/quiz/providers/quiz.ts +++ b/src/addon/mod/quiz/providers/quiz.ts @@ -21,7 +21,7 @@ import { CoreDomUtilsProvider } from '@providers/utils/dom'; import { CoreTextUtilsProvider } from '@providers/utils/text'; import { CoreTimeUtilsProvider } from '@providers/utils/time'; import { CoreUtilsProvider } from '@providers/utils/utils'; -import { CoreSiteWSPreSets } from '@classes/site'; +import { CoreSite, CoreSiteWSPreSets } from '@classes/site'; import { CoreGradesHelperProvider } from '@core/grades/providers/helper'; import { CoreQuestionDelegate } from '@core/question/providers/delegate'; import { CoreCourseLogHelperProvider } from '@core/course/providers/log-helper'; @@ -570,7 +570,8 @@ export class AddonModQuizProvider { grade: grade }, preSets: CoreSiteWSPreSets = { - cacheKey: this.getFeedbackForGradeCacheKey(quizId, grade) + cacheKey: this.getFeedbackForGradeCacheKey(quizId, grade), + updateFrequency: CoreSite.FREQUENCY_RARELY }; if (ignoreCache) { @@ -687,7 +688,8 @@ export class AddonModQuizProvider { courseids: [courseId] }, preSets: CoreSiteWSPreSets = { - cacheKey: this.getQuizDataCacheKey(courseId) + cacheKey: this.getQuizDataCacheKey(courseId), + updateFrequency: CoreSite.FREQUENCY_RARELY }; if (forceCache) { @@ -829,7 +831,8 @@ export class AddonModQuizProvider { quizid: quizId }, preSets: CoreSiteWSPreSets = { - cacheKey: this.getQuizRequiredQtypesCacheKey(quizId) + cacheKey: this.getQuizRequiredQtypesCacheKey(quizId), + updateFrequency: CoreSite.FREQUENCY_SOMETIMES }; if (ignoreCache) { @@ -991,7 +994,8 @@ export class AddonModQuizProvider { includepreviews: includePreviews ? 1 : 0 }, preSets: CoreSiteWSPreSets = { - cacheKey: this.getUserAttemptsCacheKey(quizId, userId) + cacheKey: this.getUserAttemptsCacheKey(quizId, userId), + updateFrequency: CoreSite.FREQUENCY_SOMETIMES }; if (offline) { diff --git a/src/addon/mod/resource/providers/resource.ts b/src/addon/mod/resource/providers/resource.ts index 995092907..3de250b9b 100644 --- a/src/addon/mod/resource/providers/resource.ts +++ b/src/addon/mod/resource/providers/resource.ts @@ -19,6 +19,7 @@ import { CoreUtilsProvider } from '@providers/utils/utils'; import { CoreCourseProvider } from '@core/course/providers/course'; import { CoreCourseLogHelperProvider } from '@core/course/providers/log-helper'; import { CoreFilepoolProvider } from '@providers/filepool'; +import { CoreSite } from '@classes/site'; /** * Service that provides some features for resources. @@ -61,7 +62,8 @@ export class AddonModResourceProvider { courseids: [courseId] }, preSets = { - cacheKey: this.getResourceCacheKey(courseId) + cacheKey: this.getResourceCacheKey(courseId), + updateFrequency: CoreSite.FREQUENCY_RARELY }; return site.read('mod_resource_get_resources_by_courses', params, preSets).then((response) => { diff --git a/src/addon/mod/scorm/providers/scorm.ts b/src/addon/mod/scorm/providers/scorm.ts index 712020716..9d4c041c4 100644 --- a/src/addon/mod/scorm/providers/scorm.ts +++ b/src/addon/mod/scorm/providers/scorm.ts @@ -24,7 +24,7 @@ import { CoreTextUtilsProvider } from '@providers/utils/text'; import { CoreTimeUtilsProvider } from '@providers/utils/time'; import { CoreUtilsProvider } from '@providers/utils/utils'; import { AddonModScormOfflineProvider } from './scorm-offline'; -import { CoreSiteWSPreSets } from '@classes/site'; +import { CoreSite, CoreSiteWSPreSets } from '@classes/site'; import { CoreConstants } from '@core/constants'; import { CoreCourseLogHelperProvider } from '@core/course/providers/log-helper'; @@ -547,7 +547,8 @@ export class AddonModScormProvider { ignoremissingcompletion: ignoreMissing ? 1 : 0 }, preSets: CoreSiteWSPreSets = { - cacheKey: this.getAttemptCountCacheKey(scormId, userId) + cacheKey: this.getAttemptCountCacheKey(scormId, userId), + updateFrequency: CoreSite.FREQUENCY_SOMETIMES }; if (ignoreCache) { @@ -835,7 +836,8 @@ export class AddonModScormProvider { scormid: scormId }, preSets: CoreSiteWSPreSets = { - cacheKey: this.getScosCacheKey(scormId) + cacheKey: this.getScosCacheKey(scormId), + updateFrequency: CoreSite.FREQUENCY_SOMETIMES }; if (ignoreCache) { @@ -1070,7 +1072,8 @@ export class AddonModScormProvider { courseids: [courseId] }, preSets: CoreSiteWSPreSets = { - cacheKey: this.getScormDataCacheKey(courseId) + cacheKey: this.getScormDataCacheKey(courseId), + updateFrequency: CoreSite.FREQUENCY_RARELY }; if (forceCache) { diff --git a/src/addon/mod/survey/providers/survey.ts b/src/addon/mod/survey/providers/survey.ts index 1a1d2547f..824b7bd33 100644 --- a/src/addon/mod/survey/providers/survey.ts +++ b/src/addon/mod/survey/providers/survey.ts @@ -20,7 +20,7 @@ import { CoreAppProvider } from '@providers/app'; import { CoreFilepoolProvider } from '@providers/filepool'; import { CoreCourseLogHelperProvider } from '@core/course/providers/log-helper'; import { AddonModSurveyOfflineProvider } from './offline'; -import { CoreSiteWSPreSets } from '@classes/site'; +import { CoreSite, CoreSiteWSPreSets } from '@classes/site'; /** * Service that provides some features for surveys. @@ -52,7 +52,8 @@ export class AddonModSurveyProvider { surveyid: surveyId }, preSets: CoreSiteWSPreSets = { - cacheKey: this.getQuestionsCacheKey(surveyId) + cacheKey: this.getQuestionsCacheKey(surveyId), + updateFrequency: CoreSite.FREQUENCY_RARELY }; if (ignoreCache) { @@ -106,7 +107,8 @@ export class AddonModSurveyProvider { courseids: [courseId] }, preSets: CoreSiteWSPreSets = { - cacheKey: this.getSurveyCacheKey(courseId) + cacheKey: this.getSurveyCacheKey(courseId), + updateFrequency: CoreSite.FREQUENCY_RARELY }; if (ignoreCache) { diff --git a/src/addon/mod/url/providers/url.ts b/src/addon/mod/url/providers/url.ts index 3e63ebf9f..13261f104 100644 --- a/src/addon/mod/url/providers/url.ts +++ b/src/addon/mod/url/providers/url.ts @@ -20,6 +20,7 @@ import { CoreUtilsProvider } from '@providers/utils/utils'; import { CoreCourseProvider } from '@core/course/providers/course'; import { CoreCourseLogHelperProvider } from '@core/course/providers/log-helper'; import { CoreConstants } from '@core/constants'; +import { CoreSite } from '@classes/site'; /** * Service that provides some features for urls. @@ -114,7 +115,8 @@ export class AddonModUrlProvider { courseids: [courseId] }, preSets = { - cacheKey: this.getUrlCacheKey(courseId) + cacheKey: this.getUrlCacheKey(courseId), + updateFrequency: CoreSite.FREQUENCY_RARELY }; return site.read('mod_url_get_urls_by_courses', params, preSets).then((response) => { diff --git a/src/addon/mod/wiki/providers/wiki.ts b/src/addon/mod/wiki/providers/wiki.ts index e20543769..4523f541b 100644 --- a/src/addon/mod/wiki/providers/wiki.ts +++ b/src/addon/mod/wiki/providers/wiki.ts @@ -22,7 +22,7 @@ import { CoreAppProvider } from '@providers/app'; import { CoreFilepoolProvider } from '@providers/filepool'; import { CoreCourseLogHelperProvider } from '@core/course/providers/log-helper'; import { AddonModWikiOfflineProvider } from './wiki-offline'; -import { CoreSiteWSPreSets } from '@classes/site'; +import { CoreSite, CoreSiteWSPreSets } from '@classes/site'; export interface AddonModWikiSubwikiListData { /** @@ -134,7 +134,8 @@ export class AddonModWikiProvider { pageid: pageId }, preSets: CoreSiteWSPreSets = { - cacheKey: this.getPageContentsCacheKey(pageId) + cacheKey: this.getPageContentsCacheKey(pageId), + updateFrequency: CoreSite.FREQUENCY_SOMETIMES }; if (offline) { @@ -215,7 +216,8 @@ export class AddonModWikiProvider { userid: userId }, preSets: CoreSiteWSPreSets = { - cacheKey: this.getSubwikiFilesCacheKey(wikiId, groupId, userId) + cacheKey: this.getSubwikiFilesCacheKey(wikiId, groupId, userId), + updateFrequency: CoreSite.FREQUENCY_SOMETIMES }; if (offline) { @@ -299,7 +301,8 @@ export class AddonModWikiProvider { }, preSets: CoreSiteWSPreSets = { - cacheKey: this.getSubwikiPagesCacheKey(wikiId, groupId, userId) + cacheKey: this.getSubwikiPagesCacheKey(wikiId, groupId, userId), + updateFrequency: CoreSite.FREQUENCY_SOMETIMES }; if (offline) { @@ -352,7 +355,8 @@ export class AddonModWikiProvider { wikiid: wikiId }, preSets: CoreSiteWSPreSets = { - cacheKey: this.getSubwikisCacheKey(wikiId) + cacheKey: this.getSubwikisCacheKey(wikiId), + updateFrequency: CoreSite.FREQUENCY_RARELY }; if (offline) { @@ -408,7 +412,8 @@ export class AddonModWikiProvider { courseids: [courseId] }, preSets = { - cacheKey: this.getWikiDataCacheKey(courseId) + cacheKey: this.getWikiDataCacheKey(courseId), + updateFrequency: CoreSite.FREQUENCY_RARELY }; return site.read('mod_wiki_get_wikis_by_courses', params, preSets).then((response) => { diff --git a/src/addon/mod/workshop/providers/workshop.ts b/src/addon/mod/workshop/providers/workshop.ts index 86e0c3525..bae7854f0 100644 --- a/src/addon/mod/workshop/providers/workshop.ts +++ b/src/addon/mod/workshop/providers/workshop.ts @@ -19,6 +19,7 @@ import { CoreSitesProvider } from '@providers/sites'; import { CoreUtilsProvider } from '@providers/utils/utils'; import { CoreCourseLogHelperProvider } from '@core/course/providers/log-helper'; import { AddonModWorkshopOfflineProvider } from './offline'; +import { CoreSite } from '@classes/site'; /** * Service that provides some features for workshops. @@ -212,7 +213,8 @@ export class AddonModWorkshopProvider { courseids: [courseId] }; const preSets: any = { - cacheKey: this.getWorkshopDataCacheKey(courseId) + cacheKey: this.getWorkshopDataCacheKey(courseId), + updateFrequency: CoreSite.FREQUENCY_RARELY }; if (forceCache) { @@ -355,7 +357,8 @@ export class AddonModWorkshopProvider { workshopid: workshopId }; const preSets: any = { - cacheKey: this.getUserPlanDataCacheKey(workshopId) + cacheKey: this.getUserPlanDataCacheKey(workshopId), + updateFrequency: CoreSite.FREQUENCY_OFTEN }; if (offline) { @@ -408,7 +411,8 @@ export class AddonModWorkshopProvider { groupid: groupId }; const preSets: any = { - cacheKey: this.getSubmissionsDataCacheKey(workshopId, userId, groupId) + cacheKey: this.getSubmissionsDataCacheKey(workshopId, userId, groupId), + updateFrequency: CoreSite.FREQUENCY_OFTEN }; if (offline) { @@ -539,7 +543,8 @@ export class AddonModWorkshopProvider { perpage: perPage || AddonModWorkshopProvider.PER_PAGE }; const preSets: any = { - cacheKey: this.getGradesReportDataCacheKey(workshopId, groupId) + cacheKey: this.getGradesReportDataCacheKey(workshopId, groupId), + updateFrequency: CoreSite.FREQUENCY_OFTEN }; if (offline) { @@ -1004,7 +1009,8 @@ export class AddonModWorkshopProvider { mode: mode || 'assessment' }; const preSets: any = { - cacheKey: this.getAssessmentFormDataCacheKey(workshopId, assessmentId, mode) + cacheKey: this.getAssessmentFormDataCacheKey(workshopId, assessmentId, mode), + updateFrequency: CoreSite.FREQUENCY_RARELY }; if (offline) { diff --git a/src/addon/notes/providers/notes.ts b/src/addon/notes/providers/notes.ts index 78fb79c1c..006a78093 100644 --- a/src/addon/notes/providers/notes.ts +++ b/src/addon/notes/providers/notes.ts @@ -17,7 +17,7 @@ import { CoreAppProvider } from '@providers/app'; import { CoreLoggerProvider } from '@providers/logger'; import { CoreUtilsProvider } from '@providers/utils/utils'; import { CoreSitesProvider } from '@providers/sites'; -import { CoreSiteWSPreSets } from '@classes/site'; +import { CoreSite, CoreSiteWSPreSets } from '@classes/site'; import { TranslateService } from '@ngx-translate/core'; import { CoreUserProvider } from '@core/user/providers/user'; import { AddonNotesOfflineProvider } from './notes-offline'; @@ -160,20 +160,23 @@ export class AddonNotesProvider { // The only way to detect if it's enabled is to perform a WS call. // We use an invalid user ID (-1) to avoid saving the note if the user has permissions. const data = { - notes: [ - { - userid: -1, - publishstate: 'personal', - courseid: courseId, - text: '', - format: 1 - } - ] - }; + notes: [ + { + userid: -1, + publishstate: 'personal', + courseid: courseId, + text: '', + format: 1 + } + ] + }, + preSets = { + updateFrequency: CoreSite.FREQUENCY_RARELY + }; /* Use .read to cache data and be able to check it in offline. This means that, if a user loses the capabilities to add notes, he'll still see the option in the app. */ - return this.utils.promiseWorks(site.read('core_notes_create_notes', data)); + return this.utils.promiseWorks(site.read('core_notes_create_notes', data, preSets)); }); } @@ -232,7 +235,8 @@ export class AddonNotesProvider { } const preSets: CoreSiteWSPreSets = { - cacheKey: this.getNotesCacheKey(courseId, userId) + cacheKey: this.getNotesCacheKey(courseId, userId), + updateFrequency: CoreSite.FREQUENCY_SOMETIMES }; if (ignoreCache) { diff --git a/src/addon/notifications/providers/notifications.ts b/src/addon/notifications/providers/notifications.ts index 1cd0f9806..db8b5b62b 100644 --- a/src/addon/notifications/providers/notifications.ts +++ b/src/addon/notifications/providers/notifications.ts @@ -21,6 +21,7 @@ import { CoreTimeUtilsProvider } from '@providers/utils/time'; import { CoreUserProvider } from '@core/user/providers/user'; import { CoreEmulatorHelperProvider } from '@core/emulator/providers/helper'; import { AddonMessagesProvider } from '@addon/messages/providers/messages'; +import { CoreSite } from '@classes/site'; /** * Service to handle notifications. @@ -121,7 +122,8 @@ export class AddonNotificationsProvider { return this.sitesProvider.getSite(siteId).then((site) => { const preSets = { - cacheKey: this.getNotificationPreferencesCacheKey() + cacheKey: this.getNotificationPreferencesCacheKey(), + updateFrequency: CoreSite.FREQUENCY_SOMETIMES }; return site.read('core_message_get_user_notification_preferences', {}, preSets).then((data) => { diff --git a/src/core/comments/providers/comments.ts b/src/core/comments/providers/comments.ts index 2d876990d..9808a0c83 100644 --- a/src/core/comments/providers/comments.ts +++ b/src/core/comments/providers/comments.ts @@ -102,7 +102,8 @@ export class CoreCommentsProvider { }; const preSets = { - cacheKey: this.getCommentsCacheKey(contextLevel, instanceId, component, itemId, area, page) + cacheKey: this.getCommentsCacheKey(contextLevel, instanceId, component, itemId, area, page), + updateFrequency: CoreSite.FREQUENCY_SOMETIMES }; return site.read('core_comment_get_comments', params, preSets).then((response) => { diff --git a/src/core/course/providers/course.ts b/src/core/course/providers/course.ts index af6daecd4..1815352ea 100644 --- a/src/core/course/providers/course.ts +++ b/src/core/course/providers/course.ts @@ -258,7 +258,8 @@ export class CoreCourseProvider { courseid: courseId }, preSets: CoreSiteWSPreSets = { - cacheKey: this.getCourseBlocksCacheKey(courseId) + cacheKey: this.getCourseBlocksCacheKey(courseId), + updateFrequency: CoreSite.FREQUENCY_RARELY }; return site.read('core_block_get_course_blocks', params, preSets).then((result) => { @@ -336,7 +337,8 @@ export class CoreCourseProvider { options: [] }; const preSets: CoreSiteWSPreSets = { - omitExpires: preferCache + omitExpires: preferCache, + updateFrequency: CoreSite.FREQUENCY_RARELY }; if (includeStealth) { @@ -446,7 +448,8 @@ export class CoreCourseProvider { cmid: moduleId }, preSets = { - cacheKey: this.getModuleCacheKey(moduleId) + cacheKey: this.getModuleCacheKey(moduleId), + updateFrequency: CoreSite.FREQUENCY_RARELY }; return site.read('core_course_get_course_module', params, preSets).then((response) => { @@ -502,7 +505,8 @@ export class CoreCourseProvider { module: module }, preSets = { - cacheKey: this.getModuleBasicInfoByInstanceCacheKey(id, module) + cacheKey: this.getModuleBasicInfoByInstanceCacheKey(id, module), + updateFrequency: CoreSite.FREQUENCY_RARELY }; return site.read('core_course_get_course_module_by_instance', params, preSets).then((response) => { @@ -629,6 +633,7 @@ export class CoreCourseProvider { return this.sitesProvider.getSite(siteId).then((site) => { preSets = preSets || {}; preSets.cacheKey = this.getSectionsCacheKey(courseId); + preSets.updateFrequency = preSets.updateFrequency || CoreSite.FREQUENCY_RARELY; const params = { courseid: courseId, diff --git a/src/core/courses/providers/courses.ts b/src/core/courses/providers/courses.ts index 21c22ebbf..9f53303c2 100644 --- a/src/core/courses/providers/courses.ts +++ b/src/core/courses/providers/courses.ts @@ -63,7 +63,8 @@ export class CoreCoursesProvider { addsubcategories: addSubcategories ? 1 : 0 }, preSets = { - cacheKey: this.getCategoriesCacheKey(categoryId, addSubcategories) + cacheKey: this.getCategoriesCacheKey(categoryId, addSubcategories), + updateFrequency: CoreSite.FREQUENCY_RARELY }; return site.read('core_course_get_categories', data, preSets); @@ -271,7 +272,8 @@ export class CoreCoursesProvider { courseid: id }, preSets = { - cacheKey: this.getCourseEnrolmentMethodsCacheKey(id) + cacheKey: this.getCourseEnrolmentMethodsCacheKey(id), + updateFrequency: CoreSite.FREQUENCY_RARELY }; return site.read('core_enrol_get_course_enrolment_methods', params, preSets); @@ -301,7 +303,8 @@ export class CoreCoursesProvider { instanceid: instanceId }, preSets = { - cacheKey: this.getCourseGuestEnrolmentInfoCacheKey(instanceId) + cacheKey: this.getCourseGuestEnrolmentInfoCacheKey(instanceId), + updateFrequency: CoreSite.FREQUENCY_RARELY }; return site.read('enrol_guest_get_instance_info', params, preSets).then((response) => { @@ -343,7 +346,8 @@ export class CoreCoursesProvider { } }, preSets = { - cacheKey: this.getCoursesCacheKey(ids) + cacheKey: this.getCoursesCacheKey(ids), + updateFrequency: CoreSite.FREQUENCY_RARELY }; return site.read('core_course_get_courses', data, preSets); @@ -445,7 +449,8 @@ export class CoreCoursesProvider { value: field ? value : '' }, preSets = { - cacheKey: this.getCoursesByFieldCacheKey(field, value) + cacheKey: this.getCoursesByFieldCacheKey(field, value), + updateFrequency: CoreSite.FREQUENCY_RARELY }; return site.read('core_course_get_courses_by_field', data, preSets).then((courses) => { @@ -604,7 +609,8 @@ export class CoreCoursesProvider { courseids: courseIds }, preSets = { - cacheKey: this.getUserAdministrationOptionsCacheKey(courseIds) + cacheKey: this.getUserAdministrationOptionsCacheKey(courseIds), + updateFrequency: CoreSite.FREQUENCY_RARELY }; return site.read('core_course_get_user_administration_options', params, preSets).then((response) => { @@ -650,7 +656,8 @@ export class CoreCoursesProvider { courseids: courseIds }, preSets = { - cacheKey: this.getUserNavigationOptionsCacheKey(courseIds) + cacheKey: this.getUserNavigationOptionsCacheKey(courseIds), + updateFrequency: CoreSite.FREQUENCY_RARELY }; return site.read('core_course_get_user_navigation_options', params, preSets).then((response) => { @@ -728,7 +735,8 @@ export class CoreCoursesProvider { preSets = { cacheKey: this.getUserCoursesCacheKey(), getCacheUsingCacheKey: true, - omitExpires: !!preferCache + omitExpires: !!preferCache, + updateFrequency: CoreSite.FREQUENCY_RARELY }; if (site.isVersionGreaterEqualThan('3.7')) { diff --git a/src/core/courses/providers/dashboard.ts b/src/core/courses/providers/dashboard.ts index 5f2a2792d..24ac80e2c 100644 --- a/src/core/courses/providers/dashboard.ts +++ b/src/core/courses/providers/dashboard.ts @@ -49,7 +49,8 @@ export class CoreCoursesDashboardProvider { const params = { }, preSets = { - cacheKey: this.getDashboardBlocksCacheKey(userId) + cacheKey: this.getDashboardBlocksCacheKey(userId), + updateFrequency: CoreSite.FREQUENCY_RARELY }; if (userId) { diff --git a/src/core/rating/providers/rating.ts b/src/core/rating/providers/rating.ts index 1b9104459..1b482dd08 100644 --- a/src/core/rating/providers/rating.ts +++ b/src/core/rating/providers/rating.ts @@ -251,7 +251,8 @@ export class CoreRatingProvider { sort: sort }; 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 }; if (ignoreCache) { preSets.getFromCache = false; diff --git a/src/core/siteplugins/providers/siteplugins.ts b/src/core/siteplugins/providers/siteplugins.ts index 20036c9be..8739e4722 100644 --- a/src/core/siteplugins/providers/siteplugins.ts +++ b/src/core/siteplugins/providers/siteplugins.ts @@ -234,6 +234,8 @@ export class CoreSitePluginsProvider { preSets = preSets || {}; preSets.cacheKey = this.getContentCacheKey(component, method, args); + preSets.updateFrequency = typeof preSets.updateFrequency != 'undefined' ? preSets.updateFrequency : + CoreSite.FREQUENCY_OFTEN; return this.sitesProvider.getCurrentSite().read('tool_mobile_get_content', data, preSets); }).then((result) => { diff --git a/src/core/user/providers/user.ts b/src/core/user/providers/user.ts index aa844e9e3..5b6141006 100644 --- a/src/core/user/providers/user.ts +++ b/src/core/user/providers/user.ts @@ -151,7 +151,8 @@ export class CoreUserProvider { } ] }, preSets: any = { - cacheKey: this.getParticipantsListCacheKey(courseId) + cacheKey: this.getParticipantsListCacheKey(courseId), + updateFrequency: CoreSite.FREQUENCY_RARELY }; if (ignoreCache) { @@ -235,7 +236,8 @@ export class CoreUserProvider { protected getUserFromWS(userId: number, courseId?: number, siteId?: string): Promise { return this.sitesProvider.getSite(siteId).then((site) => { const presets = { - cacheKey: this.getUserCacheKey(userId) + cacheKey: this.getUserCacheKey(userId), + updateFrequency: CoreSite.FREQUENCY_RARELY }; let wsName, data; @@ -329,7 +331,8 @@ export class CoreUserProvider { return this.sitesProvider.getSite(siteId).then((site) => { const data = { name }; const preSets: CoreSiteWSPreSets = { - cacheKey: this.getUserPreferenceCacheKey(data.name) + cacheKey: this.getUserPreferenceCacheKey(data.name), + updateFrequency: CoreSite.FREQUENCY_SOMETIMES }; return site.read('core_user_get_user_preferences', data, preSets).then((result) => { diff --git a/src/providers/groups.ts b/src/providers/groups.ts index f2ce0b146..a6507bc1f 100644 --- a/src/providers/groups.ts +++ b/src/providers/groups.ts @@ -16,7 +16,7 @@ import { Injectable } from '@angular/core'; import { TranslateService } from '@ngx-translate/core'; import { CoreSitesProvider } from './sites'; import { CoreCoursesProvider } from '@core/courses/providers/courses'; -import { CoreSiteWSPreSets } from '@classes/site'; +import { CoreSite, CoreSiteWSPreSets } from '@classes/site'; /** * Group info for an activity. @@ -89,7 +89,8 @@ export class CoreGroupsProvider { userid: userId }, preSets: CoreSiteWSPreSets = { - cacheKey: this.getActivityAllowedGroupsCacheKey(cmId, userId) + cacheKey: this.getActivityAllowedGroupsCacheKey(cmId, userId), + updateFrequency: CoreSite.FREQUENCY_RARELY }; if (ignoreCache) { @@ -196,7 +197,8 @@ export class CoreGroupsProvider { cmid: cmId }, preSets: CoreSiteWSPreSets = { - cacheKey: this.getActivityGroupModeCacheKey(cmId) + cacheKey: this.getActivityGroupModeCacheKey(cmId), + updateFrequency: CoreSite.FREQUENCY_RARELY }; if (ignoreCache) { @@ -283,7 +285,8 @@ export class CoreGroupsProvider { courseid: courseId }, preSets = { - cacheKey: this.getUserGroupsInCourseCacheKey(courseId, userId) + cacheKey: this.getUserGroupsInCourseCacheKey(courseId, userId), + updateFrequency: CoreSite.FREQUENCY_RARELY }; return site.read('core_group_get_course_user_groups', data, preSets).then((response) => {