From 005b186725fac14b5361292456dd5025742b7646 Mon Sep 17 00:00:00 2001 From: vlad Date: Fri, 10 Nov 2017 01:09:10 -0800 Subject: Adding comment to the trial archive action --- .../driver/pdsuidomain/services/TrialService.scala | 2 +- .../pdsuidomain/services/fake/FakeTrialService.scala | 2 +- .../pdsuidomain/services/rest/RestTrialService.scala | 20 ++++++++++++++++---- 3 files changed, 18 insertions(+), 6 deletions(-) diff --git a/src/main/scala/xyz/driver/pdsuidomain/services/TrialService.scala b/src/main/scala/xyz/driver/pdsuidomain/services/TrialService.scala index 2ff77f2..4d61342 100644 --- a/src/main/scala/xyz/driver/pdsuidomain/services/TrialService.scala +++ b/src/main/scala/xyz/driver/pdsuidomain/services/TrialService.scala @@ -144,7 +144,7 @@ trait TrialService { def resolve(origTrial: Trial)( implicit requestContext: AuthorizedServiceRequestContext[AuthUserInfo]): Future[UpdateReply] - def archive(origTrial: Trial)( + def archive(origTrial: Trial, comment: Option[String])( implicit requestContext: AuthorizedServiceRequestContext[AuthUserInfo]): Future[UpdateReply] def unassign(origTrial: Trial)( diff --git a/src/main/scala/xyz/driver/pdsuidomain/services/fake/FakeTrialService.scala b/src/main/scala/xyz/driver/pdsuidomain/services/fake/FakeTrialService.scala index 7eae626..7d44309 100644 --- a/src/main/scala/xyz/driver/pdsuidomain/services/fake/FakeTrialService.scala +++ b/src/main/scala/xyz/driver/pdsuidomain/services/fake/FakeTrialService.scala @@ -117,7 +117,7 @@ class FakeTrialService extends TrialService { implicit requestContext: AuthorizedServiceRequestContext[AuthUserInfo]): Future[UpdateReply] = update(origTrial, origTrial) - def archive(origTrial: Trial)( + def archive(origTrial: Trial, comment: Option[String])( implicit requestContext: AuthorizedServiceRequestContext[AuthUserInfo]): Future[UpdateReply] = update(origTrial, origTrial) diff --git a/src/main/scala/xyz/driver/pdsuidomain/services/rest/RestTrialService.scala b/src/main/scala/xyz/driver/pdsuidomain/services/rest/RestTrialService.scala index e978775..4654c2e 100644 --- a/src/main/scala/xyz/driver/pdsuidomain/services/rest/RestTrialService.scala +++ b/src/main/scala/xyz/driver/pdsuidomain/services/rest/RestTrialService.scala @@ -101,10 +101,16 @@ class RestTrialService(transport: ServiceTransport, baseUri: Uri)(implicit prote } } - private def singleAction(origTrial: Trial, action: String)( + private def singleAction(origTrial: Trial, action: String, comment: Option[String] = None)( implicit requestContext: AuthorizedServiceRequestContext[AuthUserInfo]): Future[UpdateReply] = { + + val query = comment match { + case Some(s) => Seq("comment" -> s) + case None => Seq.empty[(String, String)] + } + val id = origTrial.id.id - val request = HttpRequest(HttpMethods.GET, endpointUri(baseUri, s"/v1/trial/$id/$action")) + val request = HttpRequest(HttpMethods.GET, endpointUri(baseUri, s"/v1/trial/$id/$action", query)) for { response <- transport.sendRequestGetResponse(requestContext)(request) reply <- apiResponse[Trial](response) @@ -116,21 +122,27 @@ class RestTrialService(transport: ServiceTransport, baseUri: Uri)(implicit prote def start(origTrial: Trial)( implicit requestContext: AuthorizedServiceRequestContext[AuthUserInfo]): Future[UpdateReply] = singleAction(origTrial, "start") + def submit(origTrial: Trial)( implicit requestContext: AuthorizedServiceRequestContext[AuthUserInfo]): Future[UpdateReply] = singleAction(origTrial, "submit") + def restart(origTrial: Trial)( implicit requestContext: AuthorizedServiceRequestContext[AuthUserInfo]): Future[UpdateReply] = singleAction(origTrial, "restart") + def flag(origTrial: Trial)( implicit requestContext: AuthorizedServiceRequestContext[AuthUserInfo]): Future[UpdateReply] = singleAction(origTrial, "flag") + def resolve(origTrial: Trial)( implicit requestContext: AuthorizedServiceRequestContext[AuthUserInfo]): Future[UpdateReply] = singleAction(origTrial, "resolve") - def archive(origTrial: Trial)( + + def archive(origTrial: Trial, comment: Option[String])( implicit requestContext: AuthorizedServiceRequestContext[AuthUserInfo]): Future[UpdateReply] = - singleAction(origTrial, "archive") + singleAction(origTrial, "archive", comment) + def unassign(origTrial: Trial)( implicit requestContext: AuthorizedServiceRequestContext[AuthUserInfo]): Future[UpdateReply] = singleAction(origTrial, "unassign") -- cgit v1.2.3