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 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; } }