Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- func getChargingPoints() -> Single<Result<[ChargingPoint<Connector>], ApiError>> {
- authInterceptor.isEnabled = false
- return gateProvider.rx
- .request(.getChargingPoints)
- .flatMap({ response in
- self.authInterceptor.isEnabled = true
- if response.isSuccessful {
- guard let chargingPointsApi = try? response.map(GateApiResponse<ArrayPayload<ChargingPointApi>>.self) else {
- DDLogError("Mapping error")
- return Single.just(.failure(.unexpectedError))
- }
- let chargingPoints = chargingPointsApi.payload?.items.map { return $0.toChargingPoint() } ?? []
- DDLogInfo("Successful response")
- return Single.just(.success(chargingPoints))
- } else {
- guard let error = try? response.map(GateApiResponse<[ChargingPointApi]>.self).toNetworkError() else {
- DDLogError("Response error: \(response.description)")
- return Single.just(.failure(.unexpectedError))
- }
- DDLogError("Response error: \(error.statusCode) - \(error.description)")
- return Single.just(.failure(.unexpectedError))
- }
- })
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement