From 08eb8fe19fcd0a4472cf915c6dcf2bec9087752c Mon Sep 17 00:00:00 2001 From: ggurdin <46800240+ggurdin@users.noreply.github.com> Date: Tue, 9 Sep 2025 13:01:03 -0400 Subject: [PATCH] fix: update payload accessToken on new login (#3916) --- .../chat/constants/default_power_level.dart | 2 +- .../common/controllers/pangea_controller.dart | 1 + .../course_plans/course_activity_repo.dart | 18 +++++++++++++++--- .../course_location_media_repo.dart | 11 ++++++++--- .../course_plans/course_location_repo.dart | 10 ++++++++-- lib/pangea/course_plans/course_media_repo.dart | 10 ++++++++-- lib/pangea/course_plans/course_plans_repo.dart | 16 +++++++++++++--- lib/pangea/course_plans/course_topic_repo.dart | 10 ++++++++-- lib/pangea/payload_client/payload_repo.dart | 10 ---------- 9 files changed, 62 insertions(+), 26 deletions(-) delete mode 100644 lib/pangea/payload_client/payload_repo.dart diff --git a/lib/pangea/chat/constants/default_power_level.dart b/lib/pangea/chat/constants/default_power_level.dart index 96a2b4922..1e84aca80 100644 --- a/lib/pangea/chat/constants/default_power_level.dart +++ b/lib/pangea/chat/constants/default_power_level.dart @@ -70,7 +70,7 @@ class RoomDefaults { "invite": 50, "redact": 50, "events": { - PangeaEventTypes.courseUser: 100, + PangeaEventTypes.courseUser: 0, "m.room.power_levels": 100, "m.room.join_rules": 100, "m.space.child": spaceChild, diff --git a/lib/pangea/common/controllers/pangea_controller.dart b/lib/pangea/common/controllers/pangea_controller.dart index 17f5c02ee..d051a2dbc 100644 --- a/lib/pangea/common/controllers/pangea_controller.dart +++ b/lib/pangea/common/controllers/pangea_controller.dart @@ -129,6 +129,7 @@ class PangeaController { 'onboarding_storage', 'analytics_request_storage', 'activity_analytics_storage', + 'course_storage', 'course_topic_storage', 'course_media_storage', 'course_location_storage', diff --git a/lib/pangea/course_plans/course_activity_repo.dart b/lib/pangea/course_plans/course_activity_repo.dart index 7a87dae74..c966be165 100644 --- a/lib/pangea/course_plans/course_activity_repo.dart +++ b/lib/pangea/course_plans/course_activity_repo.dart @@ -3,9 +3,11 @@ import 'dart:async'; import 'package:get_storage/get_storage.dart'; import 'package:fluffychat/pangea/activity_planner/activity_plan_model.dart'; +import 'package:fluffychat/pangea/common/config/environment.dart'; import 'package:fluffychat/pangea/payload_client/models/course_plan/cms_course_plan_activity.dart'; import 'package:fluffychat/pangea/payload_client/models/course_plan/cms_course_plan_activity_media.dart'; -import 'package:fluffychat/pangea/payload_client/payload_repo.dart'; +import 'package:fluffychat/pangea/payload_client/payload_client.dart'; +import 'package:fluffychat/widgets/matrix.dart'; class CourseActivityRepo { static final Map>> _cache = {}; @@ -78,7 +80,12 @@ class CourseActivityRepo { final limit = uuids.length; try { - final cmsCoursePlanActivitiesResult = await PayloadRepo.payload.find( + final PayloadClient payload = PayloadClient( + baseUrl: Environment.cmsApi, + accessToken: MatrixState.pangeaController.userController.accessToken, + ); + + final cmsCoursePlanActivitiesResult = await payload.find( CmsCoursePlanActivity.slug, CmsCoursePlanActivity.fromJson, where: where, @@ -112,7 +119,12 @@ class CourseActivityRepo { "id": {"in": activityIds.join(",")}, }; final limit = activityIds.length; - final cmsCoursePlanActivityMediasResult = await PayloadRepo.payload.find( + + final PayloadClient payload = PayloadClient( + baseUrl: Environment.cmsApi, + accessToken: MatrixState.pangeaController.userController.accessToken, + ); + final cmsCoursePlanActivityMediasResult = await payload.find( CmsCoursePlanActivityMedia.slug, CmsCoursePlanActivityMedia.fromJson, where: where, diff --git a/lib/pangea/course_plans/course_location_media_repo.dart b/lib/pangea/course_plans/course_location_media_repo.dart index e855a543c..19a1543bb 100644 --- a/lib/pangea/course_plans/course_location_media_repo.dart +++ b/lib/pangea/course_plans/course_location_media_repo.dart @@ -2,8 +2,10 @@ import 'dart:async'; import 'package:get_storage/get_storage.dart'; +import 'package:fluffychat/pangea/common/config/environment.dart'; import 'package:fluffychat/pangea/payload_client/models/course_plan/cms_course_plan_topic_location_media.dart'; -import 'package:fluffychat/pangea/payload_client/payload_repo.dart'; +import 'package:fluffychat/pangea/payload_client/payload_client.dart'; +import 'package:fluffychat/widgets/matrix.dart'; class CourseLocationMediaRepo { static final Map>> _cache = {}; @@ -76,8 +78,11 @@ class CourseLocationMediaRepo { final limit = uuids.length; try { - final cmsCoursePlanTopicLocationMediasResult = - await PayloadRepo.payload.find( + final PayloadClient payload = PayloadClient( + baseUrl: Environment.cmsApi, + accessToken: MatrixState.pangeaController.userController.accessToken, + ); + final cmsCoursePlanTopicLocationMediasResult = await payload.find( CmsCoursePlanTopicLocationMedia.slug, CmsCoursePlanTopicLocationMedia.fromJson, where: where, diff --git a/lib/pangea/course_plans/course_location_repo.dart b/lib/pangea/course_plans/course_location_repo.dart index ebb762d83..f61f6ec69 100644 --- a/lib/pangea/course_plans/course_location_repo.dart +++ b/lib/pangea/course_plans/course_location_repo.dart @@ -2,9 +2,11 @@ import 'dart:async'; import 'package:get_storage/get_storage.dart'; +import 'package:fluffychat/pangea/common/config/environment.dart'; import 'package:fluffychat/pangea/course_plans/course_location_model.dart'; import 'package:fluffychat/pangea/payload_client/models/course_plan/cms_course_plan_topic_location.dart'; -import 'package:fluffychat/pangea/payload_client/payload_repo.dart'; +import 'package:fluffychat/pangea/payload_client/payload_client.dart'; +import 'package:fluffychat/widgets/matrix.dart'; class CourseLocationRepo { static final Map>> _cache = {}; @@ -82,7 +84,11 @@ class CourseLocationRepo { final limit = uuids.length; try { - final cmsCoursePlanTopicLocationsResult = await PayloadRepo.payload.find( + final PayloadClient payload = PayloadClient( + baseUrl: Environment.cmsApi, + accessToken: MatrixState.pangeaController.userController.accessToken, + ); + final cmsCoursePlanTopicLocationsResult = await payload.find( CmsCoursePlanTopicLocation.slug, CmsCoursePlanTopicLocation.fromJson, where: where, diff --git a/lib/pangea/course_plans/course_media_repo.dart b/lib/pangea/course_plans/course_media_repo.dart index c78656a26..5c1455808 100644 --- a/lib/pangea/course_plans/course_media_repo.dart +++ b/lib/pangea/course_plans/course_media_repo.dart @@ -2,8 +2,10 @@ import 'dart:async'; import 'package:get_storage/get_storage.dart'; +import 'package:fluffychat/pangea/common/config/environment.dart'; import 'package:fluffychat/pangea/payload_client/models/course_plan/cms_course_plan_media.dart'; -import 'package:fluffychat/pangea/payload_client/payload_repo.dart'; +import 'package:fluffychat/pangea/payload_client/payload_client.dart'; +import 'package:fluffychat/widgets/matrix.dart'; class CourseMediaRepo { static final Map>> _cache = {}; @@ -67,7 +69,11 @@ class CourseMediaRepo { final limit = uuids.length; try { - final cmsCoursePlanMediaResult = await PayloadRepo.payload.find( + final PayloadClient payload = PayloadClient( + baseUrl: Environment.cmsApi, + accessToken: MatrixState.pangeaController.userController.accessToken, + ); + final cmsCoursePlanMediaResult = await payload.find( CmsCoursePlanMedia.slug, CmsCoursePlanMedia.fromJson, where: where, diff --git a/lib/pangea/course_plans/course_plans_repo.dart b/lib/pangea/course_plans/course_plans_repo.dart index 1ad7f6f72..2baf61b6a 100644 --- a/lib/pangea/course_plans/course_plans_repo.dart +++ b/lib/pangea/course_plans/course_plans_repo.dart @@ -2,11 +2,13 @@ import 'dart:async'; import 'package:get_storage/get_storage.dart'; +import 'package:fluffychat/pangea/common/config/environment.dart'; import 'package:fluffychat/pangea/course_plans/course_plan_model.dart'; import 'package:fluffychat/pangea/learning_settings/enums/language_level_type_enum.dart'; import 'package:fluffychat/pangea/learning_settings/models/language_model.dart'; import 'package:fluffychat/pangea/payload_client/models/course_plan/cms_course_plan.dart'; -import 'package:fluffychat/pangea/payload_client/payload_repo.dart'; +import 'package:fluffychat/pangea/payload_client/payload_client.dart'; +import 'package:fluffychat/widgets/matrix.dart'; class CourseFilter { final LanguageModel? targetLanguage; @@ -105,7 +107,11 @@ class CoursePlansRepo { cache[id] = completer; try { - final cmsCoursePlan = await PayloadRepo.payload.findById( + final PayloadClient payload = PayloadClient( + baseUrl: Environment.cmsApi, + accessToken: MatrixState.pangeaController.userController.accessToken, + ); + final cmsCoursePlan = await payload.findById( "course-plans", id, CmsCoursePlan.fromJson, @@ -176,7 +182,11 @@ class CoursePlansRepo { } } - final result = await PayloadRepo.payload.find( + final PayloadClient payload = PayloadClient( + baseUrl: Environment.cmsApi, + accessToken: MatrixState.pangeaController.userController.accessToken, + ); + final result = await payload.find( CmsCoursePlan.slug, CmsCoursePlan.fromJson, page: 1, diff --git a/lib/pangea/course_plans/course_topic_repo.dart b/lib/pangea/course_plans/course_topic_repo.dart index 50ad83682..d7b5262ab 100644 --- a/lib/pangea/course_plans/course_topic_repo.dart +++ b/lib/pangea/course_plans/course_topic_repo.dart @@ -2,9 +2,11 @@ import 'dart:async'; import 'package:get_storage/get_storage.dart'; +import 'package:fluffychat/pangea/common/config/environment.dart'; import 'package:fluffychat/pangea/course_plans/course_topic_model.dart'; import 'package:fluffychat/pangea/payload_client/models/course_plan/cms_course_plan_topic.dart'; -import 'package:fluffychat/pangea/payload_client/payload_repo.dart'; +import 'package:fluffychat/pangea/payload_client/payload_client.dart'; +import 'package:fluffychat/widgets/matrix.dart'; class CourseTopicRepo { static final Map>> _cache = {}; @@ -84,7 +86,11 @@ class CourseTopicRepo { final limit = uuids.length; try { - final cmsCourseTopicsResult = await PayloadRepo.payload.find( + final PayloadClient payload = PayloadClient( + baseUrl: Environment.cmsApi, + accessToken: MatrixState.pangeaController.userController.accessToken, + ); + final cmsCourseTopicsResult = await payload.find( CmsCoursePlanTopic.slug, CmsCoursePlanTopic.fromJson, where: where, diff --git a/lib/pangea/payload_client/payload_repo.dart b/lib/pangea/payload_client/payload_repo.dart deleted file mode 100644 index b851bb168..000000000 --- a/lib/pangea/payload_client/payload_repo.dart +++ /dev/null @@ -1,10 +0,0 @@ -import 'package:fluffychat/pangea/common/config/environment.dart'; -import 'package:fluffychat/pangea/payload_client/payload_client.dart'; -import 'package:fluffychat/widgets/matrix.dart'; - -class PayloadRepo { - static final PayloadClient payload = PayloadClient( - baseUrl: Environment.cmsApi, - accessToken: MatrixState.pangeaController.userController.accessToken, - ); -}