Files
Fondex/lib/controllers/global_setting_controller.dart

65 lines
1.9 KiB
Dart

import 'dart:developer';
import 'package:customer/constant/constant.dart';
import 'package:customer/models/currency_model.dart';
import 'package:customer/models/user_model.dart';
import 'package:customer/utils/notification_service.dart';
import 'package:firebase_auth/firebase_auth.dart';
import 'package:get/get.dart' hide Trans;
import '../constant/collection_name.dart';
import '../service/fire_store_utils.dart';
class GlobalSettingController extends GetxController {
@override
void onInit() {
notificationInit();
getCurrentCurrency();
super.onInit();
}
Future<void> getCurrentCurrency() async {
FireStoreUtils.fireStore
.collection(CollectionName.currencies)
.where("isActive", isEqualTo: true)
.snapshots()
.listen((event) {
if (event.docs.isNotEmpty) {
Constant.currencyModel = CurrencyModel.fromJson(
event.docs.first.data(),
);
} else {
Constant.currencyModel = CurrencyModel(
id: "",
code: "USD",
decimal: 2,
isactive: true,
name: "US Dollar",
symbol: "\$",
symbolatright: false,
);
}
});
await FireStoreUtils.getSettings();
}
NotificationService notificationService = NotificationService();
void notificationInit() {
notificationService.initInfo().then((value) async {
String token = await NotificationService.getToken();
log(":::::::TOKEN:::::: $token");
if (FirebaseAuth.instance.currentUser != null) {
await FireStoreUtils.getUserProfile(
FireStoreUtils.getCurrentUid(),
).then((value) {
if (value != null) {
UserModel driverUserModel = value;
driverUserModel.fcmToken = token;
FireStoreUtils.updateUser(driverUserModel);
}
});
}
});
}
}