getAppraisals method

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

Function for getting employee appraisals

Implementation

Future<void> getAppraisals(
  String employeeId,
  Function successCallback,
  Function failureCallback,
) async {
  var headers = {'Cookie': cookieHeader, 'Accept': 'application/json'};
  final filters = jsonEncode([
    ['employee', '=', employeeId],
  ]);
  final fields = [
    'name',
    'employee_name',
    'appraisal_cycle',
    'final_score',
    'appraisal_kra.kra',
    'appraisal_kra.per_weightage',
  ];
  var response = await http.get(
    Uri.parse(
      '$baseUrl${Constants.appraisalEndPoint}?filters=$filters&fields=${jsonEncode(fields)}',
    ),
    headers: headers,
  );
  if (response.statusCode == 200) {
    var bodyJson = jsonDecode(response.body);
    successCallback(bodyJson["data"]);
  } 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}');
  }
}