attendence login/logout has been implemented

This commit is contained in:
Daniah Ayad Al-sultani
2026-01-15 22:35:10 +03:00
parent 3b3ed5e640
commit 56e2c0ffaa
20 changed files with 538 additions and 200 deletions

View 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);
}
}