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,30 @@
import 'package:cargocalculaterapp/features/home/data/models/comment_request.dart';
import 'package:cargocalculaterapp/features/home/data/models/comment_response.dart';
import 'package:cargocalculaterapp/features/home/data/models/notification_response.dart';
import 'package:cargocalculaterapp/features/home/data/models/order_single_response.dart';
import 'package:cargocalculaterapp/features/home/data/models/orders_list_response.dart';
import 'package:cargocalculaterapp/features/home/data/models/read_notification_request.dart';
import 'package:cargocalculaterapp/features/home/data/models/read_notification_response.dart';
import 'package:dartz/dartz.dart';
import '../../../../core/error/failure.dart';
import '../../data/models/banner_response.dart';
abstract class HomeRepository {
Future<Either<Failure, OrdersListResponse>> ordersList(
Map<String, dynamic> request,
);
Future<Either<Failure, OrderSingleResponse>> orderSingle(String orderId);
Future<Either<Failure, CommentResponse>> comment(CommentRequest request);
Future<Either<Failure, NotificationResponse>> notification(
Map<String, dynamic> request,
);
Future<Either<Failure, ReadNotificationResponse>> notificationRead(
ReadNotificationRequest request,
);
Future<Either<Failure, List<BannerResponse>>> bannersGet();
}

View File

@@ -0,0 +1,16 @@
import 'package:cargocalculaterapp/core/error/failure.dart';
import 'package:cargocalculaterapp/core/usecase/usecase.dart';
import 'package:dartz/dartz.dart';
import '../../data/models/banner_response.dart';
import '../repository/home_repository.dart';
class BannersUseCase extends UseCase<List<BannerResponse>, NoParams> {
final HomeRepository repository;
BannersUseCase(this.repository);
@override
Future<Either<Failure, List<BannerResponse>>> call(NoParams params) async {
return await repository.bannersGet();
}
}

View File

@@ -0,0 +1,16 @@
import 'package:cargocalculaterapp/core/error/failure.dart';
import 'package:cargocalculaterapp/core/usecase/usecase.dart';
import 'package:dartz/dartz.dart';
import '../../data/models/comment_request.dart';
import '../../data/models/comment_response.dart';
import '../repository/home_repository.dart';
class CommentUseCase extends UseCase<CommentResponse, CommentRequest>{
final HomeRepository repository;
CommentUseCase(this.repository);
@override
Future<Either<Failure, CommentResponse>> call(CommentRequest params) async {
return await repository.comment(params);
}
}

View File

@@ -0,0 +1,19 @@
import 'package:cargocalculaterapp/core/error/failure.dart';
import 'package:cargocalculaterapp/core/usecase/usecase.dart';
import 'package:cargocalculaterapp/features/home/data/models/read_notification_request.dart';
import 'package:cargocalculaterapp/features/home/data/models/read_notification_response.dart';
import 'package:dartz/dartz.dart';
import '../repository/home_repository.dart';
class NotificationReadUseCase extends UseCase<ReadNotificationResponse, ReadNotificationRequest>{
final HomeRepository repository;
NotificationReadUseCase(this.repository);
@override
Future<Either<Failure, ReadNotificationResponse>> call(ReadNotificationRequest params) async {
return await repository.notificationRead(params);
}
}

View File

@@ -0,0 +1,20 @@
import 'package:cargocalculaterapp/core/error/failure.dart';
import 'package:cargocalculaterapp/features/home/data/models/notification_response.dart';
import 'package:dartz/dartz.dart';
import '../../../../core/usecase/usecase.dart';
import '../repository/home_repository.dart';
class NotificationUseCase
extends UseCase<NotificationResponse, Map<String, dynamic>> {
final HomeRepository repository;
NotificationUseCase(this.repository);
@override
Future<Either<Failure, NotificationResponse>> call(
Map<String, dynamic> params,
) async {
return await repository.notification(params);
}
}

View File

@@ -0,0 +1,17 @@
import 'package:cargocalculaterapp/core/error/failure.dart';
import 'package:cargocalculaterapp/core/usecase/usecase.dart';
import 'package:cargocalculaterapp/features/home/data/models/order_single_response.dart';
import 'package:dartz/dartz.dart';
import '../repository/home_repository.dart';
class OrderSingleUseCase extends UseCase<OrderSingleResponse, String> {
final HomeRepository repository;
OrderSingleUseCase(this.repository);
@override
Future<Either<Failure, OrderSingleResponse>> call(String params) async {
return await repository.orderSingle(params);
}
}

View File

@@ -0,0 +1,19 @@
import 'package:cargocalculaterapp/core/error/failure.dart';
import 'package:cargocalculaterapp/core/usecase/usecase.dart';
import 'package:cargocalculaterapp/features/home/data/models/orders_list_response.dart';
import 'package:cargocalculaterapp/features/home/domain/repository/home_repository.dart';
import 'package:dartz/dartz.dart';
class OrdersListUseCase
extends UseCase<OrdersListResponse, Map<String, dynamic>> {
final HomeRepository repository;
OrdersListUseCase(this.repository);
@override
Future<Either<Failure, OrdersListResponse>> call(
Map<String, dynamic> params,
) async {
return await repository.ordersList(params);
}
}