getShiftAttendance method

Future<void> getShiftAttendance(
  1. String employeeId,
  2. Function successCallback,
  3. Function failureCallback
)

Implementation

Future<void> getShiftAttendance(
  String employeeId,
  Function successCallback,
  Function failureCallback,
) async {
  var headers = {'Cookie': cookieHeader, 'Accept': 'application/json'};
  final filters = {"employee": employeeId};
  final queryParam = {
    "report_name": "Shift Attendance",
    "filters": jsonEncode(filters),
  };
  final response = await http.post(
    createUri('$baseUrl/api/method/frappe.desk.query_report.run', queryParam),
    headers: headers,
  );

  if (response.statusCode == 200) {
    var bodyJson = jsonDecode(response.body);
    successCallback(bodyJson["message"]["result"]);
  } else if (response.statusCode == 404) {
    failureCallback('Error: Resource not found (404)');
  } else if (response.statusCode >= 400 && response.statusCode < 500) {
    failureCallback('Client Error: ${response.statusCode}');
  } else if (response.statusCode >= 500 && response.statusCode < 600) {
    failureCallback('Server Error: ${response.statusCode}');
  } else {
    failureCallback('Unknown Error: ${response.statusCode}');
  }
}