diff options
author | ktomskikh <ktomskih@datamonsters.co> | 2017-09-25 16:42:02 +0700 |
---|---|---|
committer | GitHub <noreply@github.com> | 2017-09-25 16:42:02 +0700 |
commit | 969ddd91fd5fd6ad2f177be408e598b64f2d615c (patch) | |
tree | 8219b5b5d912d562cdc5480059334f3922b517e9 /src/main/scala/xyz/driver/pdsuidomain/services/InterventionService.scala | |
parent | 07602feb5da0914a09103e1f1775e718ab768445 (diff) | |
parent | 25ccda10b3b7f16f9fcee0b41c4abd035b3d1330 (diff) | |
download | rest-query-969ddd91fd5fd6ad2f177be408e598b64f2d615c.tar.gz rest-query-969ddd91fd5fd6ad2f177be408e598b64f2d615c.tar.bz2 rest-query-969ddd91fd5fd6ad2f177be408e598b64f2d615c.zip |
Merge pull request #28 from drivergroup/PDSUI-2259v0.3.17
PDSUI-2259 Added create and delete endpoint for intervention service
Diffstat (limited to 'src/main/scala/xyz/driver/pdsuidomain/services/InterventionService.scala')
-rw-r--r-- | src/main/scala/xyz/driver/pdsuidomain/services/InterventionService.scala | 36 |
1 files changed, 36 insertions, 0 deletions
diff --git a/src/main/scala/xyz/driver/pdsuidomain/services/InterventionService.scala b/src/main/scala/xyz/driver/pdsuidomain/services/InterventionService.scala index 439e456..1e7c7f1 100644 --- a/src/main/scala/xyz/driver/pdsuidomain/services/InterventionService.scala +++ b/src/main/scala/xyz/driver/pdsuidomain/services/InterventionService.scala @@ -61,6 +61,37 @@ object InterventionService { final case class CommonError(userMessage: String) extends UpdateReply with DomainError } + sealed trait CreateReply + object CreateReply { + final case class Created(x: InterventionWithArms) extends CreateReply + + type Error = CreateReply with DomainError + + case object AuthorizationError + extends CreateReply with DefaultAccessDeniedError with DomainError.AuthorizationError + + final case class CommonError(userMessage: String) extends CreateReply with DomainError + + implicit def toPhiString(reply: CreateReply): PhiString = reply match { + case Created(x) => phi"Created($x)" + case x: Error => DomainError.toPhiString(x) + } + } + + sealed trait DeleteReply + object DeleteReply { + case object Deleted extends DeleteReply + + type Error = DeleteReply with DomainError + + case object NotFoundError extends DeleteReply with DefaultNotFoundError with DomainError.NotFoundError + + case object AuthorizationError + extends DeleteReply with DefaultAccessDeniedError with DomainError.AuthorizationError + + final case class CommonError(userMessage: String) extends DeleteReply with DomainError + } + } trait InterventionService { @@ -76,4 +107,9 @@ trait InterventionService { def update(origIntervention: InterventionWithArms, draftIntervention: InterventionWithArms)( implicit requestContext: AuthenticatedRequestContext): Future[UpdateReply] + + def create(draftIntervention: InterventionWithArms)( + implicit requestContext: AuthenticatedRequestContext): Future[CreateReply] + + def delete(id: LongId[Intervention])(implicit requestContext: AuthenticatedRequestContext): Future[DeleteReply] } |