Initial commit
This commit is contained in:
30
lib/features/home/domain/repository/home_repository.dart
Normal file
30
lib/features/home/domain/repository/home_repository.dart
Normal 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();
|
||||
}
|
||||
16
lib/features/home/domain/usecase/banners_usecase.dart
Normal file
16
lib/features/home/domain/usecase/banners_usecase.dart
Normal 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();
|
||||
}
|
||||
}
|
||||
16
lib/features/home/domain/usecase/comment_usecase.dart
Normal file
16
lib/features/home/domain/usecase/comment_usecase.dart
Normal 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);
|
||||
}
|
||||
}
|
||||
@@ -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);
|
||||
}
|
||||
|
||||
}
|
||||
20
lib/features/home/domain/usecase/notification_usecase.dart
Normal file
20
lib/features/home/domain/usecase/notification_usecase.dart
Normal 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);
|
||||
}
|
||||
}
|
||||
17
lib/features/home/domain/usecase/order_single_usecase.dart
Normal file
17
lib/features/home/domain/usecase/order_single_usecase.dart
Normal 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);
|
||||
}
|
||||
}
|
||||
19
lib/features/home/domain/usecase/orders_list_usecase.dart
Normal file
19
lib/features/home/domain/usecase/orders_list_usecase.dart
Normal 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);
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user