diff options
author | vlad <vlad@driver.xyz> | 2018-01-25 14:12:31 -0800 |
---|---|---|
committer | vlad <vlad@driver.xyz> | 2018-01-25 14:12:31 -0800 |
commit | a0877d81ca2844d75dc361b5ce7c99afacd6e25f (patch) | |
tree | 8fe49f45cbcddbbb9a3d167099abe7aa2625e56b /src/main/scala/xyz/driver/pdsuidomain/services/rest/RestTrialIssueService.scala | |
parent | 46a22e9ab324a0068a85952cdc809800f360f445 (diff) | |
download | rest-query-a0877d81ca2844d75dc361b5ce7c99afacd6e25f.tar.gz rest-query-a0877d81ca2844d75dc361b5ce7c99afacd6e25f.tar.bz2 rest-query-a0877d81ca2844d75dc361b5ce7c99afacd6e25f.zip |
Extracting query library
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.scala | 103 |
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 - } - } - -} |