29 lines
1.1 KiB
Dart
29 lines
1.1 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<SalaryModel> calculateSalary({
|
|
required String employeeId,
|
|
required int month,
|
|
required int year,
|
|
});
|
|
}
|