46 lines
1.3 KiB
Dart
46 lines
1.3 KiB
Dart
import 'package:firebase_auth/firebase_auth.dart';
|
|
import 'package:flutter/foundation.dart';
|
|
import 'package:mobile_monitoring/data/models/service_result.dart';
|
|
|
|
/// Service untuk Grafik Page - Backend Logic
|
|
class GraphService {
|
|
final FirebaseAuth _auth = FirebaseAuth.instance;
|
|
|
|
ServiceResult<String?> getCurrentUserIdResult() {
|
|
final uid = _auth.currentUser?.uid;
|
|
debugPrint('[GraphService] getCurrentUserIdResult()');
|
|
debugPrint(' Current user email: ${_auth.currentUser?.email}');
|
|
debugPrint(' Retrieved UID: "$uid"');
|
|
if (uid == null || uid.isEmpty) {
|
|
return ServiceResult.failure(
|
|
message: 'User tidak terautentikasi',
|
|
errorCode: 'unauthenticated',
|
|
);
|
|
}
|
|
return ServiceResult.success(
|
|
message: 'User ID berhasil diambil',
|
|
data: uid,
|
|
);
|
|
}
|
|
|
|
/// Get current user
|
|
User? getCurrentUser() {
|
|
return _auth.currentUser;
|
|
}
|
|
|
|
/// Validate user authentication
|
|
bool isUserAuthenticated() {
|
|
final user = _auth.currentUser;
|
|
final isAuth = user != null && user.uid.isNotEmpty;
|
|
debugPrint('[GraphService] isUserAuthenticated: $isAuth');
|
|
return isAuth;
|
|
}
|
|
|
|
/// Check if user ID is valid
|
|
bool isValidUserId(String? userId) {
|
|
final isValid = userId != null && userId.isNotEmpty;
|
|
debugPrint('[GraphService] isValidUserId("$userId"): $isValid');
|
|
return isValid;
|
|
}
|
|
}
|