attendence login/logout has been implemented
This commit is contained in:
58
lib/data/datasources/attendance_remote_data_source.dart
Normal file
58
lib/data/datasources/attendance_remote_data_source.dart
Normal file
@@ -0,0 +1,58 @@
|
||||
import 'dart:io';
|
||||
import 'package:dio/dio.dart';
|
||||
import '../../core/network/api_client.dart';
|
||||
import '../dto/attendance_response_dto.dart';
|
||||
|
||||
abstract class AttendanceRemoteDataSource {
|
||||
Future<AttendanceResponseDto> login({
|
||||
required String employeeId,
|
||||
required File faceImage,
|
||||
});
|
||||
|
||||
Future<AttendanceResponseDto> logout({
|
||||
required String employeeId,
|
||||
required File faceImage,
|
||||
});
|
||||
}
|
||||
|
||||
class AttendanceRemoteDataSourceImpl implements AttendanceRemoteDataSource {
|
||||
final ApiClient apiClient;
|
||||
|
||||
AttendanceRemoteDataSourceImpl({required this.apiClient});
|
||||
@override
|
||||
Future<AttendanceResponseDto> login({
|
||||
required String employeeId,
|
||||
required File faceImage,
|
||||
}) async {
|
||||
final formData = FormData.fromMap({
|
||||
'EmployeeId': employeeId,
|
||||
'FaceImage': await MultipartFile.fromFile(faceImage.path),
|
||||
});
|
||||
|
||||
final response = await apiClient.post(
|
||||
'/Attendance/login',
|
||||
data: formData,
|
||||
options: Options(contentType: 'multipart/form-data'),
|
||||
);
|
||||
return AttendanceResponseDto.fromJson(response.data);
|
||||
}
|
||||
|
||||
@override
|
||||
Future<AttendanceResponseDto> logout({
|
||||
required String employeeId,
|
||||
required File faceImage,
|
||||
}) async {
|
||||
final formData = FormData.fromMap({
|
||||
'EmployeeId': employeeId,
|
||||
'FaceImage': await MultipartFile.fromFile(faceImage.path),
|
||||
});
|
||||
|
||||
final response = await apiClient.post(
|
||||
'/Attendance/logout',
|
||||
data: formData,
|
||||
options: Options(contentType: 'multipart/form-data'),
|
||||
);
|
||||
|
||||
return AttendanceResponseDto.fromJson(response.data);
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user