medora-provider/lib/data/data_service.dart
DhanshCOSQ ec433190c4 UI complete (#2)
UI complete for patient registration

Co-authored-by: Benoy Bose <benoybose@gmail.com>
Reviewed-on: cosqnet/telemednet#2
Reviewed-by: Benoy Bose <benoybose@cosq.net>
Co-authored-by: DhanshCOSQ <dhanshas@cosq.net>
Co-committed-by: DhanshCOSQ <dhanshas@cosq.net>
2024-10-31 06:04:36 +00:00

40 lines
1.1 KiB
Dart

import 'package:cloud_firestore/cloud_firestore.dart';
import 'package:firebase_auth/firebase_auth.dart';
import 'package:flutter_dotenv/flutter_dotenv.dart';
import 'package:telemednet/data/models/telemed_user.dart';
class DataService {
static final String profileCollectionName =
dotenv.env['PROFILE_COLLECTION_NAME']!;
static final db = FirebaseFirestore.instance;
static User? getCurrentUser() {
return FirebaseAuth.instance.currentUser;
}
static Future<TelemedUser?> getProfile() async {
try {
final user = getCurrentUser();
if (user == null) {
return null;
}
final uid = user.uid;
final profiles = db.collection(profileCollectionName);
final profile = await profiles.doc(uid).get();
if (!profile.exists) {
return null;
}
final profileData = profile.data();
if (profileData == null) {
return null;
}
var telemedUser = TelemedUser.fromJson(profileData, uid);
return telemedUser;
} catch (e) {
print(e);
return null;
}
}
}