This commit is contained in:
Phuoc Nguyen
2025-10-10 16:38:07 +07:00
parent e5b247d622
commit b94c158004
177 changed files with 25080 additions and 152 deletions

View File

@@ -0,0 +1,36 @@
import 'package:dartz/dartz.dart';
import '../../domain/entities/app_settings.dart';
import '../../domain/repositories/settings_repository.dart';
import '../datasources/settings_local_datasource.dart';
import '../models/app_settings_model.dart';
import '../../../../core/errors/failures.dart';
import '../../../../core/errors/exceptions.dart';
class SettingsRepositoryImpl implements SettingsRepository {
final SettingsLocalDataSource localDataSource;
SettingsRepositoryImpl({
required this.localDataSource,
});
@override
Future<Either<Failure, AppSettings>> getSettings() async {
try {
final settings = await localDataSource.getSettings();
return Right(settings.toEntity());
} on CacheException catch (e) {
return Left(CacheFailure(e.message));
}
}
@override
Future<Either<Failure, void>> updateSettings(AppSettings settings) async {
try {
final model = AppSettingsModel.fromEntity(settings);
await localDataSource.updateSettings(model);
return const Right(null);
} on CacheException catch (e) {
return Left(CacheFailure(e.message));
}
}
}