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/calculator/data/model/calculate_price_response.dart';
import 'package:cargocalculaterapp/features/calculator/data/model/lead_create_response.dart';
import 'package:cargocalculaterapp/features/calculator/data/model/lead_create_request.dart';
import 'package:cargocalculaterapp/features/calculator/data/model/price_calculate_request.dart';
import 'package:dartz/dartz.dart';
import '../../../../core/error/failure.dart';
abstract class CalculatorRepository {
Future<Either<Failure, CalculatePriceResponse>> calculatePrice(
PriceCalculateRequest request,
);
Future<Either<Failure, LeadCreateResponse>> createLead(
LeadCreateRequest request,
);
}

View File

@@ -0,0 +1,21 @@
import 'package:cargocalculaterapp/core/error/failure.dart';
import 'package:cargocalculaterapp/core/usecase/usecase.dart';
import 'package:cargocalculaterapp/features/calculator/data/model/calculate_price_response.dart';
import 'package:cargocalculaterapp/features/calculator/data/model/price_calculate_request.dart';
import 'package:dartz/dartz.dart';
import '../repository/calculator_repository.dart';
class CalculatePriceUseCase
extends UseCase<CalculatePriceResponse, PriceCalculateRequest> {
final CalculatorRepository repository;
CalculatePriceUseCase(this.repository);
@override
Future<Either<Failure, CalculatePriceResponse>> call(
PriceCalculateRequest params,
) async {
return await repository.calculatePrice(params);
}
}

View File

@@ -0,0 +1,21 @@
import 'package:cargocalculaterapp/core/error/failure.dart';
import 'package:cargocalculaterapp/core/usecase/usecase.dart';
import 'package:cargocalculaterapp/features/calculator/data/model/lead_create_request.dart';
import 'package:cargocalculaterapp/features/calculator/data/model/lead_create_response.dart';
import 'package:dartz/dartz.dart';
import '../repository/calculator_repository.dart';
class CreateLeadUseCase
extends UseCase<LeadCreateResponse, LeadCreateRequest> {
final CalculatorRepository repository;
CreateLeadUseCase(this.repository);
@override
Future<Either<Failure, LeadCreateResponse>> call(
LeadCreateRequest params,
) async {
return await repository.createLead(params);
}
}