Files
HiddingselAppOriginal/lib/appflow/controller/settings.dart
2026-02-13 15:53:22 +01:00

45 lines
1.9 KiB
Dart

import 'package:hiddingsel_app/appflow/model/event_organisations.dart';
import 'package:hiddingsel_app/appflow/model/topics.dart';
import 'package:hiddingsel_app/services/storage.dart';
import '../../constants/constant.dart';
import 'events.dart';
class SettingsController {
static const subscribtion = SystemStrings.keyPreSubscribtion;
static const eventNotification = SystemStrings.keyPreEventNotification;
static const favorization = SystemStrings.keyPreFavorization;
static void subscribeTopic(PushNotificationTopicModel topic) =>
SettingsConnector.setBool(subscribtion + topic.id, true);
static void unsubscribeTopic(PushNotificationTopicModel topic) =>
SettingsConnector.setBool(subscribtion + topic.id, false);
static Future<bool> subscribed(PushNotificationTopicModel topic) =>
SettingsConnector.getBool(subscribtion + topic.id, false);
static void allowEventNotification(EventOrganisationModel eventOrganisation) async {
await SettingsConnector.setBool(eventNotification + eventOrganisation.id, true);
EventController.scheduleNotificationsBySettings();
}
static void unallowEventNotification(EventOrganisationModel eventOrganisation) async {
await SettingsConnector.setBool(eventNotification + eventOrganisation.id, false);
EventController.scheduleNotificationsBySettings();
}
static Future<bool> eventNotificationAllowed(EventOrganisationModel eventOrganisation) =>
SettingsConnector.getBool(eventNotification + eventOrganisation.id, false);
static void favorize(PushNotificationTopicModel topic) =>
SettingsConnector.setBool(favorization + topic.id, true);
static void unfavorize(PushNotificationTopicModel topic) =>
SettingsConnector.setBool(favorization + topic.id, false);
static Future<bool> favorized(PushNotificationTopicModel topic) =>
SettingsConnector.getBool(favorization + topic.id, false);
}