aboutsummaryrefslogtreecommitdiff
path: root/src/main/scala/xyz/driver/pdsuidomain/services/rest/RestTrialIssueService.scala
diff options
context:
space:
mode:
Diffstat (limited to 'src/main/scala/xyz/driver/pdsuidomain/services/rest/RestTrialIssueService.scala')
-rw-r--r--src/main/scala/xyz/driver/pdsuidomain/services/rest/RestTrialIssueService.scala103
1 files changed, 0 insertions, 103 deletions
diff --git a/src/main/scala/xyz/driver/pdsuidomain/services/rest/RestTrialIssueService.scala b/src/main/scala/xyz/driver/pdsuidomain/services/rest/RestTrialIssueService.scala
deleted file mode 100644
index b14d35b..0000000
--- a/src/main/scala/xyz/driver/pdsuidomain/services/rest/RestTrialIssueService.scala
+++ /dev/null
@@ -1,103 +0,0 @@
-package xyz.driver.pdsuidomain.services.rest
-
-import akka.http.scaladsl.marshalling.Marshal
-import akka.http.scaladsl.model._
-import akka.stream.Materializer
-import spray.json.RootJsonReader
-import xyz.driver.core.rest.{AuthorizedServiceRequestContext, ServiceTransport}
-import xyz.driver.entities.users
-import xyz.driver.pdsuicommon.db.{Pagination, SearchFilterExpr, Sorting}
-import xyz.driver.pdsuicommon.domain.{LongId, StringId}
-import xyz.driver.pdsuidomain.ListResponse
-import xyz.driver.pdsuidomain.entities.{Trial, TrialIssue}
-import xyz.driver.pdsuidomain.services.TrialIssueService
-
-import scala.concurrent.ExecutionContext
-
-class RestTrialIssueService(transport: ServiceTransport, baseUri: Uri)
- (implicit
- protected val materializer: Materializer,
- protected val exec: ExecutionContext)
- extends TrialIssueService with RestHelper{
-
- import akka.http.scaladsl.marshallers.sprayjson.SprayJsonSupport._
- import xyz.driver.pdsuidomain.formats.json.listresponse._
- import xyz.driver.pdsuidomain.formats.json.trialissue._
- import xyz.driver.pdsuidomain.services.TrialIssueService._
-
- override def create(draft: TrialIssue)
- (implicit requestContext: AuthorizedServiceRequestContext[users.AuthUserInfo]) = {
- val trialId = draft.trialId
-
- implicit val jsonReader: RootJsonReader[TrialIssue] = trialIssueReader(trialId)
-
- for {
- entity <- Marshal(draft).to[RequestEntity]
- request = HttpRequest(HttpMethods.POST, endpointUri(baseUri, s"/v1/trial/$trialId/issue")).withEntity(entity)
- response <- transport.sendRequestGetResponse(requestContext)(request)
- reply <- apiResponse[TrialIssue](response)
- } yield {
- CreateReply.Created(reply)
- }
- }
-
- override def getListByTrialId(trialId: StringId[Trial],
- filter: SearchFilterExpr,
- sorting: Option[Sorting],
- pagination: Option[Pagination])
- (implicit requestContext: AuthorizedServiceRequestContext[users.AuthUserInfo]) = {
- implicit val jsonReader: RootJsonReader[TrialIssue] = trialIssueReader(trialId)
-
- val request = HttpRequest(HttpMethods.GET, endpointUri(baseUri, s"/v1/trial/$trialId/issue",
- filterQuery(filter) ++ sortingQuery(sorting) ++ paginationQuery(pagination))
- )
- for {
- response <- transport.sendRequestGetResponse(requestContext)(request)
- reply <- apiResponse[ListResponse[TrialIssue]](response)
- } yield {
- GetListByTrialIdReply.EntityList(reply.items, reply.meta.itemsCount, reply.meta.lastUpdate)
- }
- }
-
- override def getById(trialId: StringId[Trial], id: LongId[TrialIssue])
- (implicit requestContext: AuthorizedServiceRequestContext[users.AuthUserInfo]) = {
- implicit val jsonReader: RootJsonReader[TrialIssue] = trialIssueReader(trialId)
-
- val request = HttpRequest(HttpMethods.GET, endpointUri(baseUri, s"/v1/trial/$trialId/issue/$id"))
- for {
- response <- transport.sendRequestGetResponse(requestContext)(request)
- reply <- apiResponse[TrialIssue](response)
- } yield {
- GetByIdReply.Entity(reply)
- }
- }
-
- override def update(orig: TrialIssue, draft: TrialIssue)
- (implicit requestContext: AuthorizedServiceRequestContext[users.AuthUserInfo]) = {
- val trialId = draft.trialId
- val id = orig.id.id
-
- implicit val jsonReader: RootJsonReader[TrialIssue] = trialIssueReader(trialId)
-
- for {
- entity <- Marshal(draft).to[RequestEntity]
- request = HttpRequest(HttpMethods.PATCH, endpointUri(baseUri, s"/v1/trial/$trialId/issue/$id")).withEntity(entity)
- response <- transport.sendRequestGetResponse(requestContext)(request)
- reply <- apiResponse[TrialIssue](response)
- } yield {
- UpdateReply.Updated(reply)
- }
- }
-
- override def delete(trialId: StringId[Trial], id: LongId[TrialIssue])
- (implicit requestContext: AuthorizedServiceRequestContext[users.AuthUserInfo]) = {
- val request = HttpRequest(HttpMethods.DELETE, endpointUri(baseUri, s"/v1/trial/$trialId/issue/$id"))
- for {
- response <- transport.sendRequestGetResponse(requestContext)(request)
- _ <- apiResponse[HttpEntity](response)
- } yield {
- DeleteReply.Deleted
- }
- }
-
-}