aboutsummaryrefslogtreecommitdiff
path: root/src/main/scala/xyz/driver/pdsuidomain/services/rest/RestInterventionService.scala
diff options
context:
space:
mode:
Diffstat (limited to 'src/main/scala/xyz/driver/pdsuidomain/services/rest/RestInterventionService.scala')
-rw-r--r--src/main/scala/xyz/driver/pdsuidomain/services/rest/RestInterventionService.scala30
1 files changed, 8 insertions, 22 deletions
diff --git a/src/main/scala/xyz/driver/pdsuidomain/services/rest/RestInterventionService.scala b/src/main/scala/xyz/driver/pdsuidomain/services/rest/RestInterventionService.scala
index 9b5c51c..19509a3 100644
--- a/src/main/scala/xyz/driver/pdsuidomain/services/rest/RestInterventionService.scala
+++ b/src/main/scala/xyz/driver/pdsuidomain/services/rest/RestInterventionService.scala
@@ -1,8 +1,8 @@
package xyz.driver.pdsuidomain.services.rest
-import akka.http.scaladsl.marshalling.Marshal
import scala.concurrent.{ExecutionContext, Future}
+import akka.http.scaladsl.marshalling.Marshal
import akka.http.scaladsl.model._
import akka.stream.ActorMaterializer
import xyz.driver.core.rest._
@@ -19,59 +19,45 @@ class RestInterventionService(transport: ServiceTransport, baseUri: Uri)(
protected val exec: ExecutionContext)
extends InterventionService with RestHelper {
- import xyz.driver.pdsuidomain.services.InterventionService._
import xyz.driver.pdsuicommon.serialization.PlayJsonSupport._
-
- // GET /v1/intervention xyz.driver.server.controllers.InterventionController.getList
- // GET /v1/intervention/:id xyz.driver.server.controllers.InterventionController.getById(id: Long)
- // PATCH /v1/intervention/:id xyz.driver.server.controllers.InterventionController.update(id: Long)
+ import xyz.driver.pdsuidomain.services.InterventionService._
def getAll(filter: SearchFilterExpr = SearchFilterExpr.Empty,
sorting: Option[Sorting] = None,
pagination: Option[Pagination] = None)(
implicit requestContext: AuthenticatedRequestContext): Future[GetListReply] = {
-
val request = HttpRequest(HttpMethods.GET,
endpointUri(baseUri,
"/v1/intervention",
filterQuery(filter) ++ sortingQuery(sorting) ++ paginationQuery(pagination)))
-
for {
response <- transport.sendRequestGetResponse(requestContext)(request)
- reply <- apiResponse[ListResponse[ApiIntervention], GetListReply](response) { api =>
- GetListReply.EntityList(api.items.map(_.toDomain), api.meta.itemsCount)
- }
+ reply <- apiResponse[ListResponse[ApiIntervention]](response)
} yield {
- reply
+ GetListReply.EntityList(reply.items.map(_.toDomain), reply.meta.itemsCount)
}
}
def getById(id: LongId[Intervention])(implicit requestContext: AuthenticatedRequestContext): Future[GetByIdReply] = {
val request = HttpRequest(HttpMethods.GET, endpointUri(baseUri, s"/v1/intervention/$id"))
-
for {
response <- transport.sendRequestGetResponse(requestContext)(request)
- reply <- apiResponse[ApiIntervention, GetByIdReply](response) { api =>
- GetByIdReply.Entity(api.toDomain)
- }
+ reply <- apiResponse[ApiIntervention](response)
} yield {
- reply
+ GetByIdReply.Entity(reply.toDomain)
}
}
def update(origIntervention: InterventionWithArms, draftIntervention: InterventionWithArms)(
implicit requestContext: AuthenticatedRequestContext): Future[UpdateReply] = {
val id = origIntervention.intervention.id
-
for {
entity <- Marshal(ApiIntervention.fromDomain(draftIntervention)).to[RequestEntity]
request = HttpRequest(HttpMethods.PATCH, endpointUri(baseUri, s"/v1/intervention/$id")).withEntity(entity)
response <- transport.sendRequestGetResponse(requestContext)(request)
- reply <- apiResponse[ApiIntervention, UpdateReply](response) { api =>
- UpdateReply.Updated(api.toDomain)
- }
+ reply <- apiResponse[ApiIntervention](response)
} yield {
- reply
+ UpdateReply.Updated(reply.toDomain)
}
}