attendence login/logout has been implemented
This commit is contained in:
8
lib/domain/models/attendance_login_request.dart
Normal file
8
lib/domain/models/attendance_login_request.dart
Normal file
@@ -0,0 +1,8 @@
|
||||
import 'dart:io';
|
||||
|
||||
class AttendanceLoginRequest {
|
||||
final String employeeId;
|
||||
final File faceImage;
|
||||
|
||||
AttendanceLoginRequest({required this.employeeId, required this.faceImage});
|
||||
}
|
||||
8
lib/domain/models/attendance_logout_request.dart
Normal file
8
lib/domain/models/attendance_logout_request.dart
Normal file
@@ -0,0 +1,8 @@
|
||||
import 'dart:io';
|
||||
|
||||
class AttendanceLogoutRequest {
|
||||
final String employeeId;
|
||||
final File faceImage;
|
||||
|
||||
AttendanceLogoutRequest({required this.employeeId, required this.faceImage});
|
||||
}
|
||||
13
lib/domain/models/attendance_response_model.dart
Normal file
13
lib/domain/models/attendance_response_model.dart
Normal file
@@ -0,0 +1,13 @@
|
||||
class AttendanceResponseModel {
|
||||
final String id;
|
||||
final String employeeId;
|
||||
final DateTime? login;
|
||||
final DateTime? logout;
|
||||
|
||||
AttendanceResponseModel({
|
||||
required this.id,
|
||||
required this.employeeId,
|
||||
this.login,
|
||||
this.logout,
|
||||
});
|
||||
}
|
||||
@@ -2,8 +2,5 @@ class LoginRequest {
|
||||
final String phoneNumber;
|
||||
final String password;
|
||||
|
||||
LoginRequest({
|
||||
required this.phoneNumber,
|
||||
required this.password,
|
||||
});
|
||||
LoginRequest({required this.phoneNumber, required this.password});
|
||||
}
|
||||
|
||||
12
lib/domain/repositories/attendance_repository.dart
Normal file
12
lib/domain/repositories/attendance_repository.dart
Normal file
@@ -0,0 +1,12 @@
|
||||
import '../models/attendance_login_request.dart';
|
||||
import '../models/attendance_logout_request.dart';
|
||||
import '../models/attendance_response_model.dart';
|
||||
|
||||
//in the following polymorphism is being used , a quich recap it is where th esame method but opperate in a different way
|
||||
|
||||
//one Repo two requests
|
||||
abstract class AttendanceRepository {
|
||||
Future<AttendanceResponseModel> login(AttendanceLoginRequest request);
|
||||
|
||||
Future<AttendanceResponseModel> logout(AttendanceLogoutRequest request);
|
||||
}
|
||||
15
lib/domain/usecases/attendance_login_usecase.dart
Normal file
15
lib/domain/usecases/attendance_login_usecase.dart
Normal file
@@ -0,0 +1,15 @@
|
||||
import '../models/attendance_login_request.dart';
|
||||
import '../models/attendance_response_model.dart';
|
||||
import '../repositories/attendance_repository.dart';
|
||||
|
||||
//always remmber that the usecase uses the repo
|
||||
|
||||
class AttendanceLoginUsecase {
|
||||
final AttendanceRepository repository;
|
||||
|
||||
AttendanceLoginUsecase({required this.repository});
|
||||
|
||||
Future<AttendanceResponseModel> call(AttendanceLoginRequest request) {
|
||||
return repository.login(request);
|
||||
}
|
||||
}
|
||||
13
lib/domain/usecases/attendance_logout_usecase.dart
Normal file
13
lib/domain/usecases/attendance_logout_usecase.dart
Normal file
@@ -0,0 +1,13 @@
|
||||
import '../models/attendance_logout_request.dart';
|
||||
import '../models/attendance_response_model.dart';
|
||||
import '../repositories/attendance_repository.dart';
|
||||
|
||||
class AttendanceLogoutUseCase {
|
||||
final AttendanceRepository repository;
|
||||
|
||||
AttendanceLogoutUseCase({required this.repository});
|
||||
|
||||
Future<AttendanceResponseModel> call(AttendanceLogoutRequest request) {
|
||||
return repository.logout(request);
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user