1111
This commit is contained in:
9
lib/domain/models/login_request.dart
Normal file
9
lib/domain/models/login_request.dart
Normal file
@@ -0,0 +1,9 @@
|
||||
class LoginRequest {
|
||||
final String phoneNumber;
|
||||
final String password;
|
||||
|
||||
LoginRequest({
|
||||
required this.phoneNumber,
|
||||
required this.password,
|
||||
});
|
||||
}
|
||||
37
lib/domain/models/login_response_model.dart
Normal file
37
lib/domain/models/login_response_model.dart
Normal file
@@ -0,0 +1,37 @@
|
||||
class LoginResponseModel {
|
||||
final int statusCode;
|
||||
final bool isSuccess;
|
||||
final String message;
|
||||
final LoginDataModel? data;
|
||||
|
||||
LoginResponseModel({
|
||||
required this.statusCode,
|
||||
required this.isSuccess,
|
||||
required this.message,
|
||||
this.data,
|
||||
});
|
||||
}
|
||||
|
||||
class LoginDataModel {
|
||||
final String? token;
|
||||
final String? id;
|
||||
final String? employeeId;
|
||||
final String? username;
|
||||
final String? fullName;
|
||||
final String? role;
|
||||
final String? email;
|
||||
final String? phoneNumber;
|
||||
final List<String>? permissions;
|
||||
|
||||
LoginDataModel({
|
||||
this.token,
|
||||
this.id,
|
||||
this.employeeId,
|
||||
this.username,
|
||||
this.fullName,
|
||||
this.role,
|
||||
this.email,
|
||||
this.phoneNumber,
|
||||
this.permissions,
|
||||
});
|
||||
}
|
||||
8
lib/domain/repositories/auth_repository.dart
Normal file
8
lib/domain/repositories/auth_repository.dart
Normal file
@@ -0,0 +1,8 @@
|
||||
import 'package:dartz/dartz.dart';
|
||||
import '../../core/error/failures.dart';
|
||||
import '../models/login_request.dart';
|
||||
import '../models/login_response_model.dart';
|
||||
|
||||
abstract class AuthRepository {
|
||||
Future<Either<Failure, LoginResponseModel>> login(LoginRequest request);
|
||||
}
|
||||
15
lib/domain/usecases/login_usecase.dart
Normal file
15
lib/domain/usecases/login_usecase.dart
Normal file
@@ -0,0 +1,15 @@
|
||||
import 'package:dartz/dartz.dart';
|
||||
import '../../core/error/failures.dart';
|
||||
import '../models/login_request.dart';
|
||||
import '../models/login_response_model.dart';
|
||||
import '../repositories/auth_repository.dart';
|
||||
|
||||
class LoginUseCase {
|
||||
final AuthRepository repository;
|
||||
|
||||
LoginUseCase({required this.repository});
|
||||
|
||||
Future<Either<Failure, LoginResponseModel>> call(LoginRequest request) {
|
||||
return repository.login(request);
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user