HydroNutrify_Ari_e41221567/lib/data/services/graph_service.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;
}
}