getLeaveBalanceSummary method
Implementation
Future<void> getLeaveBalanceSummary(
String employeeId,
String company,
String date,
Function successCallback,
Function failureCallback,
) async {
var headers = {'Cookie': cookieHeader, 'Accept': 'application/json'};
final filters = {"company": company, "employee": employeeId, "date": date};
final queryParam = {
"report_name": "Employee Leave Balance Summary",
"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}');
}
}