Приложение на флаторе, настройки

This commit is contained in:
Халимов Рустам
2026-05-13 17:21:37 +03:00
parent 89e325556c
commit e8161d23d4
119 changed files with 18469 additions and 0 deletions
@@ -0,0 +1,8 @@
abstract class AuthLocalDataSource {
Future<String?> getToken();
Future<void> saveToken(String token);
Future<void> removeToken();
Future<String?> getUserId();
Future<void> saveUserId(String userId);
Future<void> removeUserId();
}
@@ -0,0 +1,10 @@
import '../../../../core/errors/result.dart';
import '../../domain/entities/user.dart';
abstract class AuthRemoteDataSource {
Future<Result<User>> login(String email, String password);
Future<Result<User>> register(String email, String password, String name);
Future<Result<void>> logout();
Future<Result<User>> getCurrentUser();
Future<Result<void>> refreshToken();
}
@@ -0,0 +1,47 @@
import '../../../../core/errors/errors.dart';
import '../../../../core/errors/result.dart';
import '../../domain/entities/user.dart';
import '../../domain/repositories/auth_repository.dart';
class AuthRepositoryImpl implements AuthRepository {
@override
bool get isLoggedIn => false;
@override
Future<Result<User>> getCurrentUser() async {
return const Result.failure(AppError.unauthorized(message: 'Not logged in'));
}
@override
Future<Result<User>> login(String email, String password) async {
// TODO: Implement real login
return Result.success(
User(
id: '1',
email: email,
name: 'Test User',
),
);
}
@override
Future<Result<void>> logout() async {
return const Result.success(null);
}
@override
Future<Result<User>> register(String email, String password, String name) async {
return Result.success(
User(
id: '1',
email: email,
name: name,
),
);
}
@override
Future<Result<void>> refreshToken() async {
return const Result.success(null);
}
}