From 579951fa5fe2f518cb0281e6dcee346ae6dace74 Mon Sep 17 00:00:00 2001 From: Aleksandr Date: Tue, 14 Nov 2017 17:14:10 +0700 Subject: Improved DocumentHistory and MedicalRecordHistory --- .../xyz/driver/pdsuidomain/entities/Document.scala | 4 +- .../pdsuidomain/entities/DocumentHistory.scala | 36 +++++++++------- .../entities/MedicalRecordHistory.scala | 50 +++++++++++++--------- 3 files changed, 53 insertions(+), 37 deletions(-) diff --git a/src/main/scala/xyz/driver/pdsuidomain/entities/Document.scala b/src/main/scala/xyz/driver/pdsuidomain/entities/Document.scala index 95710be..0669baf 100644 --- a/src/main/scala/xyz/driver/pdsuidomain/entities/Document.scala +++ b/src/main/scala/xyz/driver/pdsuidomain/entities/Document.scala @@ -428,8 +428,8 @@ object Document { }).right areDatesInThePast <- { - val dates = List(input.startDate, input.endDate).flatten - val now = LocalDate.now() + val dates = List(input.startDate, input.endDate).flatten + val now = LocalDate.now() val hasInvalid = dates.exists(_.isAfter(now)) if (hasInvalid) Validators.fail("Dates should be in the past") diff --git a/src/main/scala/xyz/driver/pdsuidomain/entities/DocumentHistory.scala b/src/main/scala/xyz/driver/pdsuidomain/entities/DocumentHistory.scala index a1404a7..81fa240 100644 --- a/src/main/scala/xyz/driver/pdsuidomain/entities/DocumentHistory.scala +++ b/src/main/scala/xyz/driver/pdsuidomain/entities/DocumentHistory.scala @@ -25,11 +25,15 @@ object DocumentHistory { case object Flag extends State case object New extends State + private implicit def stateToName(state: State): (State, String) = { + state -> state.getClass.getSimpleName + } + private val stateToName = immutable.Map[State, String]( - State.Extract -> "Extract", - State.Review -> "Review", - State.Flag -> "Flag", - State.New -> "New" + State.Extract, + State.Review, + State.Flag, + State.New ) val All: Set[State] = stateToName.keySet @@ -61,19 +65,21 @@ object DocumentHistory { case object PostedEvidence extends Action case object CreatedDocument extends Action case object ReadDocument extends Action - case object DeletedDocument extends Action + + private implicit def stateToName(action: Action): (Action, String) = { + action -> action.getClass.getSimpleName + } private val actionToName = immutable.Map[Action, String]( - Action.Start -> "Start", - Action.Submit -> "Submit", - Action.Unassign -> "Unassign", - Action.Resolve -> "Resolve", - Action.Flag -> "Flag", - Action.Archive -> "Archive", - Action.PostedEvidence -> "PostedEvidence", - Action.CreatedDocument -> "CreatedDocument", - Action.DeletedDocument -> "DeletedDocument", - Action.ReadDocument -> "ReadDocument" + Action.Start, + Action.Submit, + Action.Unassign, + Action.Resolve, + Action.Flag, + Action.Archive, + Action.PostedEvidence, + Action.CreatedDocument, + Action.ReadDocument ) val All: Set[Action] = actionToName.keySet diff --git a/src/main/scala/xyz/driver/pdsuidomain/entities/MedicalRecordHistory.scala b/src/main/scala/xyz/driver/pdsuidomain/entities/MedicalRecordHistory.scala index b97120b..66fd5b0 100644 --- a/src/main/scala/xyz/driver/pdsuidomain/entities/MedicalRecordHistory.scala +++ b/src/main/scala/xyz/driver/pdsuidomain/entities/MedicalRecordHistory.scala @@ -21,16 +21,22 @@ object MedicalRecordHistory { sealed trait State object State { + case object New extends State case object Clean extends State case object Organize extends State case object Review extends State case object Flag extends State + private implicit def stateToName(state: State): (State, String) = { + state -> state.getClass.getSimpleName + } + private val stateToName = immutable.Map[State, String]( - State.Clean -> "Clean", - State.Organize -> "Organize", - State.Review -> "Review", - State.Flag -> "Flag" + State.New, + State.Clean, + State.Organize, + State.Review, + State.Flag ) val All: Set[State] = stateToName.keySet @@ -67,23 +73,27 @@ object MedicalRecordHistory { case object CreatedRecord extends Action case object ReadRecord extends Action + private implicit def stateToName(action: Action): (Action, String) = { + action -> action.getClass.getSimpleName + } + private val actionToName = immutable.Map[Action, String]( - Action.Start -> "Start", - Action.Submit -> "Submit", - Action.Unassign -> "Unassign", - Action.Resolve -> "Resolve", - Action.Flag -> "Flag", - Action.Archive -> "Archive", - Action.SavedDuplicate -> "SavedDuplicate", - Action.SavedReorder -> "SavedReorder", - Action.SavedRotation -> "SavedRotate", - Action.DeletedDuplicate -> "DeletedDuplicate", - Action.DeletedReorder -> "DeletedReorder", - Action.DeletedRotation -> "DeletedRotation", - Action.CreatedDocument -> "CreatedDocument", - Action.DeletedDocument -> "DeletedDocument", - Action.CreatedRecord -> "CreatedRecord", - Action.ReadRecord -> "ReadRecord" + Action.Start, + Action.Submit, + Action.Unassign, + Action.Resolve, + Action.Flag, + Action.Archive, + Action.SavedDuplicate, + Action.SavedReorder, + Action.SavedRotation, + Action.DeletedDuplicate, + Action.DeletedReorder, + Action.DeletedRotation, + Action.CreatedDocument, + Action.DeletedDocument, + Action.CreatedRecord, + Action.ReadRecord ) val fromString: PartialFunction[String, Action] = -- cgit v1.2.3