aboutsummaryrefslogtreecommitdiff
path: root/src/main/scala/xyz/driver/pdsuidomain/services/rest/RestDocumentService.scala
diff options
context:
space:
mode:
authorvlad <vlad@driver.xyz>2017-11-02 16:22:11 -0700
committervlad <vlad@driver.xyz>2017-11-02 16:22:11 -0700
commitb331892f87846945f69a28e9f3ee786cd4b93577 (patch)
treecd1489df3a8c85f3791ba25b281c1817e286ec8d /src/main/scala/xyz/driver/pdsuidomain/services/rest/RestDocumentService.scala
parent4583af5213b9f7b1e8a06f58321813556763f2d1 (diff)
downloadrest-query-b331892f87846945f69a28e9f3ee786cd4b93577.tar.gz
rest-query-b331892f87846945f69a28e9f3ee786cd4b93577.tar.bz2
rest-query-b331892f87846945f69a28e9f3ee786cd4b93577.zip
Using common request contexts and user objects
Diffstat (limited to 'src/main/scala/xyz/driver/pdsuidomain/services/rest/RestDocumentService.scala')
-rw-r--r--src/main/scala/xyz/driver/pdsuidomain/services/rest/RestDocumentService.scala38
1 files changed, 24 insertions, 14 deletions
diff --git a/src/main/scala/xyz/driver/pdsuidomain/services/rest/RestDocumentService.scala b/src/main/scala/xyz/driver/pdsuidomain/services/rest/RestDocumentService.scala
index dcd7721..bfe5e8f 100644
--- a/src/main/scala/xyz/driver/pdsuidomain/services/rest/RestDocumentService.scala
+++ b/src/main/scala/xyz/driver/pdsuidomain/services/rest/RestDocumentService.scala
@@ -5,7 +5,7 @@ import akka.http.scaladsl.marshalling.Marshal
import akka.http.scaladsl.model._
import akka.stream.Materializer
import xyz.driver.core.rest.{Pagination => _, _}
-import xyz.driver.pdsuicommon.auth._
+import xyz.driver.entities.users.AuthUserInfo
import xyz.driver.pdsuicommon.db._
import xyz.driver.pdsuicommon.domain._
import xyz.driver.pdsuidomain.ListResponse
@@ -21,7 +21,8 @@ class RestDocumentService(transport: ServiceTransport, baseUri: Uri)(implicit pr
import xyz.driver.pdsuidomain.formats.json.document._
import xyz.driver.pdsuidomain.services.DocumentService._
- def getById(id: LongId[Document])(implicit requestContext: AuthenticatedRequestContext): Future[GetByIdReply] = {
+ def getById(id: LongId[Document])(
+ implicit requestContext: AuthorizedServiceRequestContext[AuthUserInfo]): Future[GetByIdReply] = {
val request = HttpRequest(HttpMethods.GET, endpointUri(baseUri, s"/v1/document/$id"))
for {
response <- transport.sendRequestGetResponse(requestContext)(request)
@@ -34,7 +35,7 @@ class RestDocumentService(transport: ServiceTransport, baseUri: Uri)(implicit pr
def getAll(filter: SearchFilterExpr = SearchFilterExpr.Empty,
sorting: Option[Sorting] = None,
pagination: Option[Pagination] = None)(
- implicit requestContext: AuthenticatedRequestContext): Future[GetListReply] = {
+ implicit requestContext: AuthorizedServiceRequestContext[AuthUserInfo]): Future[GetListReply] = {
val request = HttpRequest(HttpMethods.GET,
endpointUri(baseUri,
@@ -48,7 +49,8 @@ class RestDocumentService(transport: ServiceTransport, baseUri: Uri)(implicit pr
}
}
- def create(draftDocument: Document)(implicit requestContext: AuthenticatedRequestContext): Future[CreateReply] = {
+ def create(draftDocument: Document)(
+ implicit requestContext: AuthorizedServiceRequestContext[AuthUserInfo]): Future[CreateReply] = {
for {
entity <- Marshal(draftDocument).to[RequestEntity]
request = HttpRequest(HttpMethods.POST, endpointUri(baseUri, "/v1/document")).withEntity(entity)
@@ -60,7 +62,7 @@ class RestDocumentService(transport: ServiceTransport, baseUri: Uri)(implicit pr
}
def update(orig: Document, draft: Document)(
- implicit requestContext: AuthenticatedRequestContext): Future[UpdateReply] = {
+ implicit requestContext: AuthorizedServiceRequestContext[AuthUserInfo]): Future[UpdateReply] = {
for {
entity <- Marshal(draft).to[RequestEntity]
request = HttpRequest(HttpMethods.PATCH, endpointUri(baseUri, s"/v1/document/${orig.id}")).withEntity(entity)
@@ -71,7 +73,8 @@ class RestDocumentService(transport: ServiceTransport, baseUri: Uri)(implicit pr
}
}
- def delete(id: LongId[Document])(implicit requestContext: AuthenticatedRequestContext): Future[DeleteReply] = {
+ def delete(id: LongId[Document])(
+ implicit requestContext: AuthorizedServiceRequestContext[AuthUserInfo]): Future[DeleteReply] = {
val request = HttpRequest(HttpMethods.DELETE, endpointUri(baseUri, s"/v1/document/$id"))
for {
response <- transport.sendRequestGetResponse(requestContext)(request)
@@ -82,7 +85,7 @@ class RestDocumentService(transport: ServiceTransport, baseUri: Uri)(implicit pr
}
private def editAction(orig: Document, action: String)(
- implicit requestContext: AuthenticatedRequestContext): Future[UpdateReply] = {
+ implicit requestContext: AuthorizedServiceRequestContext[AuthUserInfo]): Future[UpdateReply] = {
val id = orig.id.toString
val request = HttpRequest(HttpMethods.POST, endpointUri(baseUri, s"/v1/document/$id/$action"))
for {
@@ -93,19 +96,26 @@ class RestDocumentService(transport: ServiceTransport, baseUri: Uri)(implicit pr
}
}
- def start(orig: Document)(implicit requestContext: AuthenticatedRequestContext): Future[UpdateReply] =
+ def start(orig: Document)(
+ implicit requestContext: AuthorizedServiceRequestContext[AuthUserInfo]): Future[UpdateReply] =
editAction(orig, "start")
- def submit(orig: Document)(implicit requestContext: AuthenticatedRequestContext): Future[UpdateReply] =
+ def submit(orig: Document)(
+ implicit requestContext: AuthorizedServiceRequestContext[AuthUserInfo]): Future[UpdateReply] =
editAction(orig, "submit")
- def restart(orig: Document)(implicit requestContext: AuthenticatedRequestContext): Future[UpdateReply] =
+ def restart(orig: Document)(
+ implicit requestContext: AuthorizedServiceRequestContext[AuthUserInfo]): Future[UpdateReply] =
editAction(orig, "restart")
- def flag(orig: Document)(implicit requestContext: AuthenticatedRequestContext): Future[UpdateReply] =
+ def flag(orig: Document)(
+ implicit requestContext: AuthorizedServiceRequestContext[AuthUserInfo]): Future[UpdateReply] =
editAction(orig, "flag")
- def resolve(orig: Document)(implicit requestContext: AuthenticatedRequestContext): Future[UpdateReply] =
+ def resolve(orig: Document)(
+ implicit requestContext: AuthorizedServiceRequestContext[AuthUserInfo]): Future[UpdateReply] =
editAction(orig, "resolve")
- def unassign(orig: Document)(implicit requestContext: AuthenticatedRequestContext): Future[UpdateReply] =
+ def unassign(orig: Document)(
+ implicit requestContext: AuthorizedServiceRequestContext[AuthUserInfo]): Future[UpdateReply] =
editAction(orig, "unassign")
- def archive(orig: Document)(implicit requestContext: AuthenticatedRequestContext): Future[UpdateReply] =
+ def archive(orig: Document)(
+ implicit requestContext: AuthorizedServiceRequestContext[AuthUserInfo]): Future[UpdateReply] =
editAction(orig, "archive")
}