Initial commit

This commit is contained in:
jahongireshonqulov
2025-10-18 09:40:06 +05:00
commit 1bf3e41abe
352 changed files with 16315 additions and 0 deletions

View File

@@ -0,0 +1,15 @@
import 'package:cargocalculaterapp/features/profile/data/models/profile_response.dart';
import 'package:cargocalculaterapp/features/profile/data/models/profile_update_request.dart';
import 'package:dartz/dartz.dart';
import '../../../../core/error/failure.dart';
import '../../data/models/delete_account_response.dart';
abstract class ProfileRepository {
Future<Either<Failure, ProfileResponse>> getProfile(bool isCache);
Future<Either<Failure, ProfileResponse>> updateProfile(
ProfileUpdateRequest request,
);
Future<Either<Failure, DeleteAccountResponse>> deleteProfile();
}

View File

@@ -0,0 +1,17 @@
import 'package:cargocalculaterapp/core/error/failure.dart';
import 'package:cargocalculaterapp/features/profile/data/models/delete_account_response.dart';
import 'package:dartz/dartz.dart';
import '../../../../core/usecase/usecase.dart';
import '../repository/profile_repository.dart';
class DeleteProfileUseCase extends UseCase<DeleteAccountResponse, NoParams> {
final ProfileRepository repository;
DeleteProfileUseCase(this.repository);
@override
Future<Either<Failure, DeleteAccountResponse>> call(NoParams params) async {
return await repository.deleteProfile();
}
}

View File

@@ -0,0 +1,22 @@
import 'package:cargocalculaterapp/core/error/failure.dart';
import 'package:cargocalculaterapp/core/usecase/usecase.dart';
import 'package:cargocalculaterapp/features/profile/data/models/profile_update_request.dart';
import 'package:dartz/dartz.dart';
import '../../data/models/profile_response.dart';
import '../repository/profile_repository.dart';
class ProfileUpdateUseCase
extends UseCase<ProfileResponse, ProfileUpdateRequest> {
final ProfileRepository repository;
ProfileUpdateUseCase(this.repository);
@override
Future<Either<Failure, ProfileResponse>> call(
ProfileUpdateRequest params,
) async {
final response = await repository.updateProfile(params);
return response;
}
}

View File

@@ -0,0 +1,17 @@
import 'package:cargocalculaterapp/core/error/failure.dart';
import 'package:cargocalculaterapp/core/usecase/usecase.dart';
import 'package:cargocalculaterapp/features/profile/data/models/profile_response.dart';
import 'package:dartz/dartz.dart';
import '../repository/profile_repository.dart';
class ProfileUseCase extends UseCase<ProfileResponse, bool> {
final ProfileRepository repository;
ProfileUseCase(this.repository);
@override
Future<Either<Failure, ProfileResponse>> call(bool params) async {
final response = await repository.getProfile(params);
return response;
}
}