import 'dart:convert'; import 'package:test_sa/api/api_client.dart'; import 'package:test_sa/api/user_api_client.dart'; import 'package:test_sa/models/service_request/service_request.dart'; import '../controllers/api_routes/urls.dart'; class ServiceRequestApiClient { static final ServiceRequestApiClient _instance = ServiceRequestApiClient._internal(); final List serviceRequests = []; ServiceRequestApiClient._internal(); factory ServiceRequestApiClient() => _instance; /// ### The result will be added to [serviceRequests] Future createRequest(ServiceRequest serviceRequest) async { final user = UserApiClient().user; await ApiClient().postJsonForObject( (json) { // ServiceRequest.fromJson(json.decode(utf8.decode(response.bodyBytes))[0]) serviceRequests.insert(0, ServiceRequest.fromJson(json[0])); }, '${URLs.host1}${URLs.createRequest}', { "uid": user?.id, "token": user?.token ?? "", "sn_id": serviceRequest.deviceId ?? "", "date": (DateTime.now().millisecondsSinceEpoch).toString(), "client": user?.hospital?.id ?? '', "complaint": serviceRequest.maintenanceIssue, "image": json.encode(serviceRequest.devicePhotos), "priority": (serviceRequest.priority?.id).toString(), "defect_types": (serviceRequest.defectType?.id).toString(), "audio": serviceRequest.audio, }, isFormData: true, ); } }