Files
finger_print_app/lib/domain/repositories/attendance_repository.dart
2026-02-17 16:14:37 +03:00

31 lines
1.2 KiB
Dart

import '../models/attendance_login_request.dart';
import '../models/attendance_logout_request.dart';
import '../models/attendance_response_model.dart';
import '../models/attendance_model.dart';
import '../models/overtime_model.dart';
import '../models/extra_payment_model.dart';
import '../models/salary_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);
Future<List<AttendanceModel>> getAttendanceRecords({
required String employeeId,
});
Future<List<OvertimeModel>> getExtraHours({required String employeeId});
Future<List<ExtraPaymentModel>> getRewards({required String employeeId});
Future<List<ExtraPaymentModel>> getPunishments({required String employeeId});
Future<AttendanceModel?> getLastRecord({required String employeeId});
Future<bool> hasActiveLogin({required String employeeId});
Future<SalaryModel> calculateSalary({
required String employeeId,
required int month,
required int year,
});
}