updateUser method

Future<ApiResponse<bool>> updateUser(
  1. int userId,
  2. File? licenseImage,
  3. File? nationalEqamaImage
)

Implementation

Future<ApiResponse<bool>> updateUser(
    int userId,
    File? licenseImage,
    File? nationalEqamaImage,
    ) async {
  List<Map<String, dynamic>> files = [];

  if (licenseImage != null) {
    files.add({'key': 'licenseImage', 'file': licenseImage});
  }
  if (nationalEqamaImage != null) {
    files.add({'key': 'nationalEqamaImage', 'file': nationalEqamaImage});
  }

  try {
    final response = await call(
      endpoint: 'users/$userId',
      method: Method.PUT,
      files: files,
    );
    final bodyJson = jsonDecode(response.body);

    if (response.statusCode == 201) {
      return ApiResponse(success: true, data: true, message: "User updated successfully");
    } else {
      return ApiResponse(
        success: false,
        data: false,
        message: bodyJson['message'] ?? "Failed to update user",
      );
    }
  } catch (e) {
    return ApiResponse(
      success: false,
      data: false,
      message: "Error updating user: $e",
    );
  }
}