45 lines
1.9 KiB
Dart
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);
|
|
} |