aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorVyatcheslav Suharnikov <arz.freezy@gmail.com>2017-07-12 11:39:40 +0300
committerVyatcheslav Suharnikov <arz.freezy@gmail.com>2017-07-12 14:07:05 +0300
commite2313321736520e6acaeb9aaa6ab426e6a8415ff (patch)
treed95187e353f2b03644ec02d8a92711ce9ec69efb
parent7ab16021fe2b7e1f7d9d7800458e737d015e7630 (diff)
downloadrest-query-e2313321736520e6acaeb9aaa6ab426e6a8415ff.tar.gz
rest-query-e2313321736520e6acaeb9aaa6ab426e6a8415ff.tar.bz2
rest-query-e2313321736520e6acaeb9aaa6ab426e6a8415ff.zip
PDSUI-2018 Change user type from LongId to StringId
-rw-r--r--src/main/scala/xyz/driver/pdsuicommon/domain/User.scala2
-rw-r--r--src/main/scala/xyz/driver/pdsuicommon/logging/TimeLogger.scala4
-rw-r--r--src/main/scala/xyz/driver/pdsuidomain/entities/Document.scala10
-rw-r--r--src/main/scala/xyz/driver/pdsuidomain/entities/LinkedPatient.scala2
-rw-r--r--src/main/scala/xyz/driver/pdsuidomain/entities/MedicalRecord.scala8
-rw-r--r--src/main/scala/xyz/driver/pdsuidomain/entities/Message.scala2
-rw-r--r--src/main/scala/xyz/driver/pdsuidomain/entities/Patient.scala8
-rw-r--r--src/main/scala/xyz/driver/pdsuidomain/entities/PatientCriterion.scala4
-rw-r--r--src/main/scala/xyz/driver/pdsuidomain/entities/Trial.scala6
-rw-r--r--src/main/scala/xyz/driver/pdsuidomain/entities/TrialHistory.scala21
-rw-r--r--src/main/scala/xyz/driver/pdsuidomain/entities/TrialIssue.scala2
-rw-r--r--src/main/scala/xyz/driver/pdsuidomain/entities/UserHistory.scala19
-rw-r--r--src/main/scala/xyz/driver/pdsuidomain/formats/json/document/ApiDocument.scala12
-rw-r--r--src/main/scala/xyz/driver/pdsuidomain/formats/json/document/ApiPartialDocument.scala14
-rw-r--r--src/main/scala/xyz/driver/pdsuidomain/formats/json/message/ApiMessage.scala4
-rw-r--r--src/main/scala/xyz/driver/pdsuidomain/formats/json/message/ApiPartialMessage.scala2
-rw-r--r--src/main/scala/xyz/driver/pdsuidomain/formats/json/patient/ApiPatient.scala12
-rw-r--r--src/main/scala/xyz/driver/pdsuidomain/formats/json/record/ApiRecord.scala12
-rw-r--r--src/main/scala/xyz/driver/pdsuidomain/formats/json/record/ApiUpdateRecord.scala14
-rw-r--r--src/main/scala/xyz/driver/pdsuidomain/formats/json/trial/ApiTrial.scala12
-rw-r--r--src/main/scala/xyz/driver/pdsuidomain/formats/json/trialhistory/ApiTrialHistory.scala2
-rw-r--r--src/main/scala/xyz/driver/pdsuidomain/formats/json/trialissue/ApiPartialTrialIssue.scala2
-rw-r--r--src/main/scala/xyz/driver/pdsuidomain/formats/json/trialissue/ApiTrialIssue.scala4
-rw-r--r--src/main/scala/xyz/driver/pdsuidomain/formats/json/user/ApiPartialUser.scala8
-rw-r--r--src/main/scala/xyz/driver/pdsuidomain/formats/json/user/ApiUser.scala8
-rw-r--r--src/main/scala/xyz/driver/pdsuidomain/formats/json/userhistory/ApiUserHistory.scala4
-rw-r--r--src/main/scala/xyz/driver/pdsuidomain/services/PatientCriterionService.scala2
-rw-r--r--src/main/scala/xyz/driver/pdsuidomain/services/TrialHistoryService.scala11
-rw-r--r--src/main/scala/xyz/driver/pdsuidomain/services/UserService.scala8
-rw-r--r--src/test/scala/xyz/driver/pdsuicommon/BaseSuite.scala4
-rw-r--r--src/test/scala/xyz/driver/pdsuicommon/db/QueryBuilderParametersSuite.scala4
-rw-r--r--src/test/scala/xyz/driver/pdsuidomain/formats/json/ApiPartialDocumentSuite.scala2
32 files changed, 108 insertions, 121 deletions
diff --git a/src/main/scala/xyz/driver/pdsuicommon/domain/User.scala b/src/main/scala/xyz/driver/pdsuicommon/domain/User.scala
index bf4970e..8d2d86d 100644
--- a/src/main/scala/xyz/driver/pdsuicommon/domain/User.scala
+++ b/src/main/scala/xyz/driver/pdsuicommon/domain/User.scala
@@ -8,7 +8,7 @@ import xyz.driver.pdsuicommon.logging._
import xyz.driver.pdsuicommon.domain.User.Role
import xyz.driver.pdsuicommon.utils.Utils
-case class User(id: LongId[User],
+case class User(id: StringId[User],
email: Email,
name: String,
role: Role,
diff --git a/src/main/scala/xyz/driver/pdsuicommon/logging/TimeLogger.scala b/src/main/scala/xyz/driver/pdsuicommon/logging/TimeLogger.scala
index dd5ba5e..297b0e1 100644
--- a/src/main/scala/xyz/driver/pdsuicommon/logging/TimeLogger.scala
+++ b/src/main/scala/xyz/driver/pdsuicommon/logging/TimeLogger.scala
@@ -2,11 +2,11 @@ package xyz.driver.pdsuicommon.logging
import java.time.{LocalDateTime, ZoneId}
-import xyz.driver.pdsuicommon.domain.{LongId, User}
+import xyz.driver.pdsuicommon.domain.{StringId, User}
object TimeLogger extends PhiLogging {
- def logTime(userId: LongId[User], label: String, obj: String): Unit = {
+ def logTime(userId: StringId[User], label: String, obj: String): Unit = {
val now = LocalDateTime.now(ZoneId.of("Z"))
logger.info(phi"User id=$userId performed an action at ${Unsafe(label)}=$now with a ${Unsafe(obj)} ")
}
diff --git a/src/main/scala/xyz/driver/pdsuidomain/entities/Document.scala b/src/main/scala/xyz/driver/pdsuidomain/entities/Document.scala
index 5c957fb..d324fcd 100644
--- a/src/main/scala/xyz/driver/pdsuidomain/entities/Document.scala
+++ b/src/main/scala/xyz/driver/pdsuidomain/entities/Document.scala
@@ -6,13 +6,13 @@ import com.fasterxml.jackson.annotation.JsonIgnoreProperties
import com.fasterxml.jackson.core.{JsonGenerator, JsonParser}
import com.fasterxml.jackson.databind._
import com.fasterxml.jackson.databind.annotation.{JsonDeserialize, JsonSerialize}
-import xyz.driver.pdsuicommon.domain.{LongId, TextJson, User}
+import xyz.driver.pdsuicommon.compat.Implicits._
+import xyz.driver.pdsuicommon.domain._
import xyz.driver.pdsuicommon.logging._
import xyz.driver.pdsuicommon.utils.Utils
import xyz.driver.pdsuicommon.validation.Validators
import xyz.driver.pdsuicommon.validation.Validators.Validator
import xyz.driver.pdsuidomain.entities.Document.Meta
-import xyz.driver.pdsuicommon.compat.Implicits._
final case class ProviderType(id: LongId[ProviderType], name: String)
@@ -269,9 +269,9 @@ object Document {
final case class Document(id: LongId[Document] = LongId(0L),
status: Document.Status,
previousStatus: Option[Document.Status],
- assignee: Option[LongId[User]],
- previousAssignee: Option[LongId[User]],
- lastActiveUserId: Option[LongId[User]],
+ assignee: Option[StringId[User]],
+ previousAssignee: Option[StringId[User]],
+ lastActiveUserId: Option[StringId[User]],
recordId: LongId[MedicalRecord],
physician: Option[String],
typeId: Option[LongId[DocumentType]], // not null
diff --git a/src/main/scala/xyz/driver/pdsuidomain/entities/LinkedPatient.scala b/src/main/scala/xyz/driver/pdsuidomain/entities/LinkedPatient.scala
index 1b30c64..28f279f 100644
--- a/src/main/scala/xyz/driver/pdsuidomain/entities/LinkedPatient.scala
+++ b/src/main/scala/xyz/driver/pdsuidomain/entities/LinkedPatient.scala
@@ -11,4 +11,4 @@ object LinkedPatient {
}
}
-case class LinkedPatient(userId: LongId[User], patientId: UuidId[Patient], trialId: StringId[Trial])
+case class LinkedPatient(userId: StringId[User], patientId: UuidId[Patient], trialId: StringId[Trial])
diff --git a/src/main/scala/xyz/driver/pdsuidomain/entities/MedicalRecord.scala b/src/main/scala/xyz/driver/pdsuidomain/entities/MedicalRecord.scala
index 0e30fa0..9f38283 100644
--- a/src/main/scala/xyz/driver/pdsuidomain/entities/MedicalRecord.scala
+++ b/src/main/scala/xyz/driver/pdsuidomain/entities/MedicalRecord.scala
@@ -5,7 +5,7 @@ import java.time.LocalDateTime
import com.fasterxml.jackson.annotation.JsonSubTypes.Type
import com.fasterxml.jackson.annotation.{JsonProperty, JsonSubTypes, JsonTypeInfo}
-import xyz.driver.pdsuicommon.domain.{LongId, TextJson, User, UuidId}
+import xyz.driver.pdsuicommon.domain._
import xyz.driver.pdsuicommon.logging._
import xyz.driver.pdsuicommon.utils.Utils
import xyz.driver.pdsuidomain.entities.MedicalRecord.Meta
@@ -142,9 +142,9 @@ object MedicalRecord {
case class MedicalRecord(id: LongId[MedicalRecord],
status: MedicalRecord.Status,
previousStatus: Option[MedicalRecord.Status],
- assignee: Option[LongId[User]],
- previousAssignee: Option[LongId[User]],
- lastActiveUserId: Option[LongId[User]],
+ assignee: Option[StringId[User]],
+ previousAssignee: Option[StringId[User]],
+ lastActiveUserId: Option[StringId[User]],
patientId: UuidId[Patient],
requestId: RecordRequestId,
disease: String,
diff --git a/src/main/scala/xyz/driver/pdsuidomain/entities/Message.scala b/src/main/scala/xyz/driver/pdsuidomain/entities/Message.scala
index 2a73922..f02f481 100644
--- a/src/main/scala/xyz/driver/pdsuidomain/entities/Message.scala
+++ b/src/main/scala/xyz/driver/pdsuidomain/entities/Message.scala
@@ -8,7 +8,7 @@ import xyz.driver.pdsuicommon.logging._
final case class Message(id: LongId[Message],
text: String,
lastUpdate: LocalDateTime,
- userId: LongId[User],
+ userId: StringId[User],
isDraft: Boolean,
recordId: Option[LongId[MedicalRecord]],
documentId: Option[LongId[Document]],
diff --git a/src/main/scala/xyz/driver/pdsuidomain/entities/Patient.scala b/src/main/scala/xyz/driver/pdsuidomain/entities/Patient.scala
index 695245c..6be0b88 100644
--- a/src/main/scala/xyz/driver/pdsuidomain/entities/Patient.scala
+++ b/src/main/scala/xyz/driver/pdsuidomain/entities/Patient.scala
@@ -2,7 +2,7 @@ package xyz.driver.pdsuidomain.entities
import java.time.{LocalDate, LocalDateTime}
-import xyz.driver.pdsuicommon.domain.{LongId, User, UuidId}
+import xyz.driver.pdsuicommon.domain._
import xyz.driver.pdsuicommon.logging._
import xyz.driver.pdsuicommon.utils.Utils
@@ -54,10 +54,10 @@ final case class Patient(id: UuidId[Patient],
status: Patient.Status,
name: String,
dob: LocalDate,
- assignee: Option[LongId[User]],
+ assignee: Option[StringId[User]],
previousStatus: Option[Patient.Status],
- previousAssignee: Option[LongId[User]],
- lastActiveUserId: Option[LongId[User]],
+ previousAssignee: Option[StringId[User]],
+ lastActiveUserId: Option[StringId[User]],
isUpdateRequired: Boolean,
condition: String,
orderId: PatientOrderId,
diff --git a/src/main/scala/xyz/driver/pdsuidomain/entities/PatientCriterion.scala b/src/main/scala/xyz/driver/pdsuidomain/entities/PatientCriterion.scala
index 6c14458..469b21c 100644
--- a/src/main/scala/xyz/driver/pdsuidomain/entities/PatientCriterion.scala
+++ b/src/main/scala/xyz/driver/pdsuidomain/entities/PatientCriterion.scala
@@ -64,6 +64,4 @@ object PatientCriterionArm {
}
-final case class PatientCriterionArm(patientCriterionId: LongId[PatientCriterion],
- armId: LongId[Arm],
- armName: String)
+final case class PatientCriterionArm(patientCriterionId: LongId[PatientCriterion], armId: LongId[Arm], armName: String)
diff --git a/src/main/scala/xyz/driver/pdsuidomain/entities/Trial.scala b/src/main/scala/xyz/driver/pdsuidomain/entities/Trial.scala
index 0f478ca..3fe8176 100644
--- a/src/main/scala/xyz/driver/pdsuidomain/entities/Trial.scala
+++ b/src/main/scala/xyz/driver/pdsuidomain/entities/Trial.scala
@@ -78,10 +78,10 @@ object Trial {
final case class Trial(id: StringId[Trial],
externalId: UuidId[Trial],
status: Status,
- assignee: Option[LongId[User]],
+ assignee: Option[StringId[User]],
previousStatus: Option[Status],
- previousAssignee: Option[LongId[User]],
- lastActiveUserId: Option[LongId[User]],
+ previousAssignee: Option[StringId[User]],
+ lastActiveUserId: Option[StringId[User]],
lastUpdate: LocalDateTime,
condition: Condition,
phase: String,
diff --git a/src/main/scala/xyz/driver/pdsuidomain/entities/TrialHistory.scala b/src/main/scala/xyz/driver/pdsuidomain/entities/TrialHistory.scala
index 829a351..c73aefe 100644
--- a/src/main/scala/xyz/driver/pdsuidomain/entities/TrialHistory.scala
+++ b/src/main/scala/xyz/driver/pdsuidomain/entities/TrialHistory.scala
@@ -16,10 +16,10 @@ object TrialHistory {
sealed trait State
object State {
- case object Summarize extends State
+ case object Summarize extends State
case object Criteriarize extends State
- case object Review extends State
- case object Flag extends State
+ case object Review extends State
+ case object Flag extends State
val All: Set[State] = Set[State](Summarize, Criteriarize, Review, Flag)
@@ -50,12 +50,12 @@ object TrialHistory {
}
object Action {
- case object Start extends Action
- case object Submit extends Action
+ case object Start extends Action
+ case object Submit extends Action
case object Unassign extends Action
- case object Resolve extends Action
- case object Flag extends Action
- case object Archive extends Action
+ case object Resolve extends Action
+ case object Flag extends Action
+ case object Archive extends Action
val All: Set[Action] =
Set[Action](Start, Submit, Unassign, Resolve, Flag, Archive)
@@ -85,9 +85,8 @@ object TrialHistory {
}
final case class TrialHistory(id: LongId[TrialHistory],
- executor: LongId[User],
+ executor: StringId[User],
trialId: StringId[Trial],
state: State,
action: Action,
- created: LocalDateTime =
- LocalDateTime.now(ZoneId.of("Z")))
+ created: LocalDateTime = LocalDateTime.now(ZoneId.of("Z")))
diff --git a/src/main/scala/xyz/driver/pdsuidomain/entities/TrialIssue.scala b/src/main/scala/xyz/driver/pdsuidomain/entities/TrialIssue.scala
index 34895b6..2514f4d 100644
--- a/src/main/scala/xyz/driver/pdsuidomain/entities/TrialIssue.scala
+++ b/src/main/scala/xyz/driver/pdsuidomain/entities/TrialIssue.scala
@@ -6,7 +6,7 @@ import xyz.driver.pdsuicommon.domain.{LongId, StringId, User}
import xyz.driver.pdsuicommon.logging._
final case class TrialIssue(id: LongId[TrialIssue],
- userId: LongId[User],
+ userId: StringId[User],
trialId: StringId[Trial],
lastUpdate: LocalDateTime,
isDraft: Boolean,
diff --git a/src/main/scala/xyz/driver/pdsuidomain/entities/UserHistory.scala b/src/main/scala/xyz/driver/pdsuidomain/entities/UserHistory.scala
index 4abb205..9be26b9 100644
--- a/src/main/scala/xyz/driver/pdsuidomain/entities/UserHistory.scala
+++ b/src/main/scala/xyz/driver/pdsuidomain/entities/UserHistory.scala
@@ -7,7 +7,7 @@ import xyz.driver.pdsuicommon.logging._
import xyz.driver.pdsuicommon.utils.Utils
final case class UserHistory(id: LongId[UserHistory],
- executor: LongId[User],
+ executor: StringId[User],
recordId: Option[LongId[MedicalRecord]] = None,
documentId: Option[LongId[Document]] = None,
trialId: Option[StringId[Trial]] = None,
@@ -18,7 +18,7 @@ final case class UserHistory(id: LongId[UserHistory],
object UserHistory {
- def forDocument(executor: LongId[User],
+ def forDocument(executor: StringId[User],
documentId: LongId[Document],
state: UserHistory.State,
action: UserHistory.Action): UserHistory = UserHistory(
@@ -29,7 +29,7 @@ object UserHistory {
action = action
)
- def forRecord(executor: LongId[User],
+ def forRecord(executor: StringId[User],
recordId: LongId[MedicalRecord],
state: UserHistory.State,
action: UserHistory.Action): UserHistory = UserHistory(
@@ -40,18 +40,7 @@ object UserHistory {
action = action
)
- def forTrial(executor: LongId[User],
- trialId: StringId[Trial],
- state: UserHistory.State,
- action: UserHistory.Action): UserHistory = UserHistory(
- id = LongId(0L),
- executor = executor,
- trialId = Some(trialId),
- state = state,
- action = action
- )
-
- def forPatient(executor: LongId[User],
+ def forPatient(executor: StringId[User],
patientId: UuidId[Patient],
state: UserHistory.State,
action: UserHistory.Action): UserHistory = UserHistory(
diff --git a/src/main/scala/xyz/driver/pdsuidomain/formats/json/document/ApiDocument.scala b/src/main/scala/xyz/driver/pdsuidomain/formats/json/document/ApiDocument.scala
index 859972c..c01e65c 100644
--- a/src/main/scala/xyz/driver/pdsuidomain/formats/json/document/ApiDocument.scala
+++ b/src/main/scala/xyz/driver/pdsuidomain/formats/json/document/ApiDocument.scala
@@ -20,9 +20,9 @@ final case class ApiDocument(id: Long,
requiredType: Option[String],
status: Option[String],
previousStatus: Option[String],
- assignee: Option[Long],
- previousAssignee: Option[Long],
- lastActiveUser: Option[Long],
+ assignee: Option[String],
+ previousAssignee: Option[String],
+ lastActiveUser: Option[String],
meta: Option[String])
object ApiDocument {
@@ -48,9 +48,9 @@ object ApiDocument {
(JsPath \ "requiredType").formatNullable[String] and
(JsPath \ "status").formatNullable(statusFormat) and
(JsPath \ "previousStatus").formatNullable(statusFormat) and
- (JsPath \ "assignee").formatNullable[Long] and
- (JsPath \ "previousAssignee").formatNullable[Long] and
- (JsPath \ "lastActiveUser").formatNullable[Long] and
+ (JsPath \ "assignee").formatNullable[String] and
+ (JsPath \ "previousAssignee").formatNullable[String] and
+ (JsPath \ "lastActiveUser").formatNullable[String] and
(JsPath \ "meta").formatNullable(Format(Reads { x =>
JsSuccess(Json.stringify(x))
}, Writes[String](Json.parse)))
diff --git a/src/main/scala/xyz/driver/pdsuidomain/formats/json/document/ApiPartialDocument.scala b/src/main/scala/xyz/driver/pdsuidomain/formats/json/document/ApiPartialDocument.scala
index 84e9e09..e9485e7 100644
--- a/src/main/scala/xyz/driver/pdsuidomain/formats/json/document/ApiPartialDocument.scala
+++ b/src/main/scala/xyz/driver/pdsuidomain/formats/json/document/ApiPartialDocument.scala
@@ -2,16 +2,16 @@ package xyz.driver.pdsuidomain.formats.json.document
import java.time.{LocalDate, LocalDateTime}
-import xyz.driver.pdsuicommon.domain.{LongId, TextJson}
-import xyz.driver.pdsuidomain.entities.Document.Meta
-import xyz.driver.pdsuidomain.entities._
import org.davidbild.tristate.Tristate
import org.davidbild.tristate.contrib.play.ToJsPathOpsFromJsPath
import play.api.data.validation._
import play.api.libs.functional.syntax._
import play.api.libs.json._
+import xyz.driver.pdsuicommon.domain.{LongId, StringId, TextJson}
import xyz.driver.pdsuicommon.json.{JsonSerializer, JsonValidationException}
import xyz.driver.pdsuicommon.validation.{AdditionalConstraints, JsonValidationErrors}
+import xyz.driver.pdsuidomain.entities.Document.Meta
+import xyz.driver.pdsuidomain.entities._
import scala.collection.breakOut
import scala.util.Try
@@ -24,7 +24,7 @@ final case class ApiPartialDocument(recordId: Option[Long],
provider: Tristate[String],
providerTypeId: Tristate[Long],
status: Option[String],
- assignee: Tristate[Long],
+ assignee: Tristate[String],
meta: Tristate[String]) {
import xyz.driver.pdsuicommon.domain.User
@@ -33,7 +33,7 @@ final case class ApiPartialDocument(recordId: Option[Long],
id = orig.id,
status = status.map(Document.Status.fromString).getOrElse(orig.status),
previousStatus = orig.previousStatus,
- assignee = assignee.map(LongId[User]).cata(Some(_), None, orig.assignee),
+ assignee = assignee.map(StringId[User]).cata(Some(_), None, orig.assignee),
previousAssignee = orig.previousAssignee,
lastActiveUserId = orig.lastActiveUserId,
recordId = recordId.map(LongId[MedicalRecord]).getOrElse(orig.recordId),
@@ -94,7 +94,7 @@ object ApiPartialDocument {
case x if Document.Status.fromString.isDefinedAt(x) => true
case _ => false
})) and
- (JsPath \ "assignee").readTristate[Long] and
+ (JsPath \ "assignee").readTristate[String] and
(JsPath \ "meta").readTristate(Reads { x => JsSuccess(Json.stringify(x)) }).map {
case Tristate.Present("{}") => Tristate.Absent
case x => x
@@ -110,7 +110,7 @@ object ApiPartialDocument {
(JsPath \ "provider").writeTristate[String] and
(JsPath \ "providerTypeId").writeTristate[Long] and
(JsPath \ "status").writeNullable[String] and
- (JsPath \ "assignee").writeTristate[Long] and
+ (JsPath \ "assignee").writeTristate[String] and
(JsPath \ "meta").writeTristate(Writes[String](Json.parse))
) (unlift(ApiPartialDocument.unapply))
diff --git a/src/main/scala/xyz/driver/pdsuidomain/formats/json/message/ApiMessage.scala b/src/main/scala/xyz/driver/pdsuidomain/formats/json/message/ApiMessage.scala
index 05f9564..2591509 100644
--- a/src/main/scala/xyz/driver/pdsuidomain/formats/json/message/ApiMessage.scala
+++ b/src/main/scala/xyz/driver/pdsuidomain/formats/json/message/ApiMessage.scala
@@ -9,7 +9,7 @@ import xyz.driver.pdsuidomain.entities.Message
final case class ApiMessage(id: Long,
text: String,
lastUpdate: ZonedDateTime,
- userId: Long,
+ userId: String,
isDraft: Boolean,
recordId: Option[Long],
documentId: Option[Long],
@@ -44,7 +44,7 @@ object ApiMessage {
(JsPath \ "id").format[Long] and
(JsPath \ "text").format[String] and
(JsPath \ "lastUpdate").format[ZonedDateTime] and
- (JsPath \ "userId").format[Long] and
+ (JsPath \ "userId").format[String] and
(JsPath \ "isDraft").format[Boolean] and
(JsPath \ "recordId").formatNullable[Long] and
(JsPath \ "documentId").formatNullable[Long] and
diff --git a/src/main/scala/xyz/driver/pdsuidomain/formats/json/message/ApiPartialMessage.scala b/src/main/scala/xyz/driver/pdsuidomain/formats/json/message/ApiPartialMessage.scala
index 88dd5a3..a2656f2 100644
--- a/src/main/scala/xyz/driver/pdsuidomain/formats/json/message/ApiPartialMessage.scala
+++ b/src/main/scala/xyz/driver/pdsuidomain/formats/json/message/ApiPartialMessage.scala
@@ -18,7 +18,7 @@ final case class ApiPartialMessage(text: Option[String],
archiveRequired: Option[Boolean],
meta: Option[String]) {
- def toDomain(userId: LongId[User]) = Message(
+ def toDomain(userId: StringId[User]) = Message(
id = LongId(0),
text = text.getOrElse(""),
userId = userId,
diff --git a/src/main/scala/xyz/driver/pdsuidomain/formats/json/patient/ApiPatient.scala b/src/main/scala/xyz/driver/pdsuidomain/formats/json/patient/ApiPatient.scala
index 68e965c..05a57e4 100644
--- a/src/main/scala/xyz/driver/pdsuidomain/formats/json/patient/ApiPatient.scala
+++ b/src/main/scala/xyz/driver/pdsuidomain/formats/json/patient/ApiPatient.scala
@@ -10,10 +10,10 @@ final case class ApiPatient(id: String,
status: String,
name: String,
dob: LocalDate,
- assignee: Option[Long],
+ assignee: Option[String],
previousStatus: Option[String],
- previousAssignee: Option[Long],
- lastActiveUser: Option[Long],
+ previousAssignee: Option[String],
+ lastActiveUser: Option[String],
lastUpdate: ZonedDateTime,
condition: String)
@@ -24,10 +24,10 @@ object ApiPatient {
(JsPath \ "status").format[String] and
(JsPath \ "name").format[String] and
(JsPath \ "dob").format[LocalDate] and
- (JsPath \ "assignee").formatNullable[Long] and
+ (JsPath \ "assignee").formatNullable[String] and
(JsPath \ "previousStatus").formatNullable[String] and
- (JsPath \ "previousAssignee").formatNullable[Long] and
- (JsPath \ "lastActiveUser").formatNullable[Long] and
+ (JsPath \ "previousAssignee").formatNullable[String] and
+ (JsPath \ "lastActiveUser").formatNullable[String] and
(JsPath \ "lastUpdate").format[ZonedDateTime] and
(JsPath \ "condition").format[String]
)(ApiPatient.apply, unlift(ApiPatient.unapply))
diff --git a/src/main/scala/xyz/driver/pdsuidomain/formats/json/record/ApiRecord.scala b/src/main/scala/xyz/driver/pdsuidomain/formats/json/record/ApiRecord.scala
index 4197bc6..0e0b4d9 100644
--- a/src/main/scala/xyz/driver/pdsuidomain/formats/json/record/ApiRecord.scala
+++ b/src/main/scala/xyz/driver/pdsuidomain/formats/json/record/ApiRecord.scala
@@ -16,9 +16,9 @@ final case class ApiRecord(id: Long,
lastUpdate: ZonedDateTime,
status: String,
previousStatus: Option[String],
- assignee: Option[Long],
- previousAssignee: Option[Long],
- lastActiveUser: Option[Long],
+ assignee: Option[String],
+ previousAssignee: Option[String],
+ lastActiveUser: Option[String],
meta: String)
object ApiRecord {
@@ -40,9 +40,9 @@ object ApiRecord {
(JsPath \ "lastUpdate").format[ZonedDateTime] and
(JsPath \ "status").format(statusFormat) and
(JsPath \ "previousStatus").formatNullable(statusFormat) and
- (JsPath \ "assignee").formatNullable[Long] and
- (JsPath \ "previousAssignee").formatNullable[Long] and
- (JsPath \ "lastActiveUser").formatNullable[Long] and
+ (JsPath \ "assignee").formatNullable[String] and
+ (JsPath \ "previousAssignee").formatNullable[String] and
+ (JsPath \ "lastActiveUser").formatNullable[String] and
(JsPath \ "meta").format(Format(Reads { x =>
JsSuccess(Json.stringify(x))
}, Writes[String](Json.parse)))
diff --git a/src/main/scala/xyz/driver/pdsuidomain/formats/json/record/ApiUpdateRecord.scala b/src/main/scala/xyz/driver/pdsuidomain/formats/json/record/ApiUpdateRecord.scala
index 0d17b66..47bc493 100644
--- a/src/main/scala/xyz/driver/pdsuidomain/formats/json/record/ApiUpdateRecord.scala
+++ b/src/main/scala/xyz/driver/pdsuidomain/formats/json/record/ApiUpdateRecord.scala
@@ -1,21 +1,21 @@
package xyz.driver.pdsuidomain.formats.json.record
-import xyz.driver.pdsuidomain.entities.MedicalRecord.Meta
-import xyz.driver.pdsuidomain.entities._
-import xyz.driver.pdsuicommon.domain.{LongId, TextJson, User}
import org.davidbild.tristate.Tristate
import org.davidbild.tristate.contrib.play.ToJsPathOpsFromJsPath
import play.api.data.validation.ValidationError
import play.api.libs.functional.syntax._
import play.api.libs.json._
+import xyz.driver.pdsuicommon.domain.{StringId, TextJson, User}
import xyz.driver.pdsuicommon.json.JsonSerializer
+import xyz.driver.pdsuidomain.entities.MedicalRecord.Meta
+import xyz.driver.pdsuidomain.entities._
-final case class ApiUpdateRecord(status: Option[String], assignee: Tristate[Long], meta: Tristate[String]) {
+final case class ApiUpdateRecord(status: Option[String], assignee: Tristate[String], meta: Tristate[String]) {
def applyTo(orig: MedicalRecord): MedicalRecord = {
orig.copy(
status = status.map(MedicalRecordStatus.statusFromString).getOrElse(orig.status),
- assignee = assignee.map(LongId[User]).cata(Some(_), None, orig.assignee),
+ assignee = assignee.map(StringId[User]).cata(Some(_), None, orig.assignee),
meta = meta.cata(x => Some(TextJson(JsonSerializer.deserialize[List[Meta]](x))), None, orig.meta)
)
}
@@ -31,7 +31,7 @@ object ApiUpdateRecord {
case x if MedicalRecordStatus.statusFromString.isDefinedAt(x) => true
case _ => false
})) and
- (JsPath \ "assignee").readTristate[Long] and
+ (JsPath \ "assignee").readTristate[String] and
(JsPath \ "meta")
.readTristate(Reads { x =>
JsSuccess(Json.stringify(x))
@@ -44,7 +44,7 @@ object ApiUpdateRecord {
private val writes: Writes[ApiUpdateRecord] = (
(JsPath \ "status").writeNullable[String] and
- (JsPath \ "assignee").writeTristate[Long] and
+ (JsPath \ "assignee").writeTristate[String] and
(JsPath \ "meta").writeTristate(Writes[String](Json.parse))
)(unlift(ApiUpdateRecord.unapply))
diff --git a/src/main/scala/xyz/driver/pdsuidomain/formats/json/trial/ApiTrial.scala b/src/main/scala/xyz/driver/pdsuidomain/formats/json/trial/ApiTrial.scala
index 97bab5e..940f1f0 100644
--- a/src/main/scala/xyz/driver/pdsuidomain/formats/json/trial/ApiTrial.scala
+++ b/src/main/scala/xyz/driver/pdsuidomain/formats/json/trial/ApiTrial.scala
@@ -10,10 +10,10 @@ import play.api.libs.json._
final case class ApiTrial(id: String,
lastUpdate: Option[ZonedDateTime],
status: String,
- assignee: Option[Long],
+ assignee: Option[String],
previousStatus: Option[String],
- previousAssignee: Option[Long],
- lastActiveUser: Option[Long],
+ previousAssignee: Option[String],
+ lastActiveUser: Option[String],
condition: Option[String],
phase: Option[String],
hypothesisId: Option[UUID],
@@ -30,10 +30,10 @@ object ApiTrial {
(JsPath \ "id").format[String] and
(JsPath \ "lastUpdate").formatNullable[ZonedDateTime] and
(JsPath \ "status").format[String] and
- (JsPath \ "assignee").formatNullable[Long] and
+ (JsPath \ "assignee").formatNullable[String] and
(JsPath \ "previousStatus").formatNullable[String] and
- (JsPath \ "previousAssignee").formatNullable[Long] and
- (JsPath \ "lastActiveUser").formatNullable[Long] and
+ (JsPath \ "previousAssignee").formatNullable[String] and
+ (JsPath \ "lastActiveUser").formatNullable[String] and
(JsPath \ "condition").formatNullable[String] and
(JsPath \ "phase").formatNullable[String] and
(JsPath \ "hypothesisId").formatNullable[UUID] and
diff --git a/src/main/scala/xyz/driver/pdsuidomain/formats/json/trialhistory/ApiTrialHistory.scala b/src/main/scala/xyz/driver/pdsuidomain/formats/json/trialhistory/ApiTrialHistory.scala
index 60f72a6..38faeb8 100644
--- a/src/main/scala/xyz/driver/pdsuidomain/formats/json/trialhistory/ApiTrialHistory.scala
+++ b/src/main/scala/xyz/driver/pdsuidomain/formats/json/trialhistory/ApiTrialHistory.scala
@@ -6,7 +6,7 @@ import play.api.libs.json.{Format, Json}
import xyz.driver.pdsuidomain.entities.TrialHistory
final case class ApiTrialHistory(id: Long,
- executor: Long,
+ executor: String,
trialId: String,
state: String,
action: String,
diff --git a/src/main/scala/xyz/driver/pdsuidomain/formats/json/trialissue/ApiPartialTrialIssue.scala b/src/main/scala/xyz/driver/pdsuidomain/formats/json/trialissue/ApiPartialTrialIssue.scala
index 5dcde8a..fc31371 100644
--- a/src/main/scala/xyz/driver/pdsuidomain/formats/json/trialissue/ApiPartialTrialIssue.scala
+++ b/src/main/scala/xyz/driver/pdsuidomain/formats/json/trialissue/ApiPartialTrialIssue.scala
@@ -15,7 +15,7 @@ final case class ApiPartialTrialIssue(text: String, evidence: String, archiveReq
meta = meta
)
- def toDomain(userId: LongId[User], trialId: StringId[Trial]) = TrialIssue(
+ def toDomain(userId: StringId[User], trialId: StringId[Trial]) = TrialIssue(
id = LongId(0),
userId = userId,
trialId = trialId,
diff --git a/src/main/scala/xyz/driver/pdsuidomain/formats/json/trialissue/ApiTrialIssue.scala b/src/main/scala/xyz/driver/pdsuidomain/formats/json/trialissue/ApiTrialIssue.scala
index a5399aa..852c4f6 100644
--- a/src/main/scala/xyz/driver/pdsuidomain/formats/json/trialissue/ApiTrialIssue.scala
+++ b/src/main/scala/xyz/driver/pdsuidomain/formats/json/trialissue/ApiTrialIssue.scala
@@ -9,7 +9,7 @@ import xyz.driver.pdsuidomain.entities.TrialIssue
final case class ApiTrialIssue(id: Long,
text: String,
lastUpdate: ZonedDateTime,
- userId: Long,
+ userId: String,
isDraft: Boolean,
evidence: String,
archiveRequired: Boolean,
@@ -20,7 +20,7 @@ object ApiTrialIssue {
(JsPath \ "id").format[Long] and
(JsPath \ "text").format[String] and
(JsPath \ "lastUpdate").format[ZonedDateTime] and
- (JsPath \ "userId").format[Long] and
+ (JsPath \ "userId").format[String] and
(JsPath \ "isDraft").format[Boolean] and
(JsPath \ "evidence").format[String] and
(JsPath \ "archiveRequired").format[Boolean] and
diff --git a/src/main/scala/xyz/driver/pdsuidomain/formats/json/user/ApiPartialUser.scala b/src/main/scala/xyz/driver/pdsuidomain/formats/json/user/ApiPartialUser.scala
index a37fea8..f31efb3 100644
--- a/src/main/scala/xyz/driver/pdsuidomain/formats/json/user/ApiPartialUser.scala
+++ b/src/main/scala/xyz/driver/pdsuidomain/formats/json/user/ApiPartialUser.scala
@@ -1,6 +1,8 @@
package xyz.driver.pdsuidomain.formats.json.user
-import xyz.driver.pdsuicommon.domain.{Email, LongId, PasswordHash, User}
+import java.util.UUID
+
+import xyz.driver.pdsuicommon.domain._
import play.api.data.validation._
import play.api.libs.functional.syntax._
import play.api.libs.json._
@@ -29,7 +31,7 @@ final case class ApiPartialUser(email: Option[String], name: Option[String], rol
}
}
- def toDomain(id: LongId[User] = LongId(0L)): Try[User] = Try {
+ def toDomain(id: StringId[User] = StringId(UUID.randomUUID().toString)): Try[User] = Try {
val validation = Map(
JsPath \ "email" -> AdditionalConstraints.optionNonEmptyConstraint(email),
JsPath \ "name" -> AdditionalConstraints.optionNonEmptyConstraint(name),
@@ -62,7 +64,7 @@ object ApiPartialUser {
implicit val format: Format[ApiPartialUser] = (
(JsPath \ "email").formatNullable[String](Format(Reads.email, Writes.StringWrites)) and
(JsPath \ "name").formatNullable[String](Format(
- Reads.filterNot[String](ValidationError("Username is too long (max length is 255 chars)", 255))(_.size > 255),
+ Reads.filterNot[String](ValidationError("Username is too long (max length is 255 chars)", 255))(_.length > 255),
Writes.StringWrites
)) and
(JsPath \ "roleId").formatNullable[String](
diff --git a/src/main/scala/xyz/driver/pdsuidomain/formats/json/user/ApiUser.scala b/src/main/scala/xyz/driver/pdsuidomain/formats/json/user/ApiUser.scala
index 29138ed..8dbedfe 100644
--- a/src/main/scala/xyz/driver/pdsuidomain/formats/json/user/ApiUser.scala
+++ b/src/main/scala/xyz/driver/pdsuidomain/formats/json/user/ApiUser.scala
@@ -7,12 +7,16 @@ import play.api.data.validation.ValidationError
import play.api.libs.functional.syntax._
import play.api.libs.json._
-final case class ApiUser(id: Long, email: String, name: String, roleId: String, latestActivity: Option[ZonedDateTime])
+final case class ApiUser(id: String,
+ email: String,
+ name: String,
+ roleId: String,
+ latestActivity: Option[ZonedDateTime])
object ApiUser {
implicit val format: Format[ApiUser] = (
- (JsPath \ "id").format[Long] and
+ (JsPath \ "id").format[String] and
(JsPath \ "email").format[String](Reads.email) and
(JsPath \ "name").format[String] and
(JsPath \ "roleId").format[String](
diff --git a/src/main/scala/xyz/driver/pdsuidomain/formats/json/userhistory/ApiUserHistory.scala b/src/main/scala/xyz/driver/pdsuidomain/formats/json/userhistory/ApiUserHistory.scala
index 2d0df80..127337f 100644
--- a/src/main/scala/xyz/driver/pdsuidomain/formats/json/userhistory/ApiUserHistory.scala
+++ b/src/main/scala/xyz/driver/pdsuidomain/formats/json/userhistory/ApiUserHistory.scala
@@ -7,7 +7,7 @@ import play.api.libs.json.{Format, JsPath}
import xyz.driver.pdsuidomain.entities.UserHistory
final case class ApiUserHistory(id: Long,
- executor: Long,
+ executor: String,
recordId: Option[Long],
documentId: Option[Long],
trialId: Option[String],
@@ -19,7 +19,7 @@ final case class ApiUserHistory(id: Long,
object ApiUserHistory {
implicit val format: Format[ApiUserHistory] = (
(JsPath \ "id").format[Long] and
- (JsPath \ "executor").format[Long] and
+ (JsPath \ "executor").format[String] and
(JsPath \ "recordId").formatNullable[Long] and
(JsPath \ "documentId").formatNullable[Long] and
(JsPath \ "trialId").formatNullable[String] and
diff --git a/src/main/scala/xyz/driver/pdsuidomain/services/PatientCriterionService.scala b/src/main/scala/xyz/driver/pdsuidomain/services/PatientCriterionService.scala
index 5c9aa19..c2f7b50 100644
--- a/src/main/scala/xyz/driver/pdsuidomain/services/PatientCriterionService.scala
+++ b/src/main/scala/xyz/driver/pdsuidomain/services/PatientCriterionService.scala
@@ -73,7 +73,7 @@ object PatientCriterionService {
case class CommonError(userMessage: String) extends GetByIdReply with DomainError
implicit def toPhiString(reply: GetByIdReply): PhiString = reply match {
- case x: DomainError => phi"GetByIdReply.Error($x)"
+ case x: DomainError => phi"GetByIdReply.Error($x)"
case Entity(x, labelId, armList) => phi"GetByIdReply.Entity(entity=$x, labelId=$labelId, armList=$armList)"
}
}
diff --git a/src/main/scala/xyz/driver/pdsuidomain/services/TrialHistoryService.scala b/src/main/scala/xyz/driver/pdsuidomain/services/TrialHistoryService.scala
index 17111a9..9ad9fc1 100644
--- a/src/main/scala/xyz/driver/pdsuidomain/services/TrialHistoryService.scala
+++ b/src/main/scala/xyz/driver/pdsuidomain/services/TrialHistoryService.scala
@@ -22,15 +22,11 @@ object TrialHistoryService {
sealed trait GetListReply
object GetListReply {
- case class EntityList(xs: Seq[TrialHistory],
- totalFound: Int,
- lastUpdate: Option[LocalDateTime])
+ case class EntityList(xs: Seq[TrialHistory], totalFound: Int, lastUpdate: Option[LocalDateTime])
extends GetListReply
case object AuthorizationError
- extends GetListReply
- with DomainError.AuthorizationError
- with DefaultAccessDeniedError
+ extends GetListReply with DomainError.AuthorizationError with DefaultAccessDeniedError
}
}
@@ -43,7 +39,6 @@ trait TrialHistoryService {
filter: SearchFilterExpr = SearchFilterExpr.Empty,
sorting: Option[Sorting] = None,
pagination: Option[Pagination] = None)(
- implicit requestContext: AuthenticatedRequestContext)
- : Future[GetListReply]
+ implicit requestContext: AuthenticatedRequestContext): Future[GetListReply]
}
diff --git a/src/main/scala/xyz/driver/pdsuidomain/services/UserService.scala b/src/main/scala/xyz/driver/pdsuidomain/services/UserService.scala
index a1d4800..b54b6a9 100644
--- a/src/main/scala/xyz/driver/pdsuidomain/services/UserService.scala
+++ b/src/main/scala/xyz/driver/pdsuidomain/services/UserService.scala
@@ -2,7 +2,7 @@ package xyz.driver.pdsuidomain.services
import xyz.driver.pdsuicommon.auth.{AnonymousRequestContext, AuthenticatedRequestContext}
import xyz.driver.pdsuicommon.db.{Pagination, SearchFilterExpr, Sorting}
-import xyz.driver.pdsuicommon.domain.{Email, LongId, User}
+import xyz.driver.pdsuicommon.domain._
import xyz.driver.pdsuicommon.error.DomainError
import scala.concurrent.Future
@@ -103,10 +103,10 @@ trait UserService {
/**
* Utility method for getting request executor.
*/
- def activateExecutor(executorId: LongId[User])(
+ def activateExecutor(executorId: StringId[User])(
implicit requestContext: AnonymousRequestContext): Future[ActivateExecutorReply]
- def getById(userId: LongId[User])(implicit requestContext: AuthenticatedRequestContext): Future[GetByIdReply]
+ def getById(userId: StringId[User])(implicit requestContext: AuthenticatedRequestContext): Future[GetByIdReply]
def getByEmail(email: Email)(implicit requestContext: AnonymousRequestContext): Future[GetByEmailReply]
@@ -123,5 +123,5 @@ trait UserService {
def update(origUser: User, draftUser: User)(
implicit requestContext: AuthenticatedRequestContext): Future[UpdateReply]
- def delete(userId: LongId[User])(implicit requestContext: AuthenticatedRequestContext): Future[DeleteReply]
+ def delete(userId: StringId[User])(implicit requestContext: AuthenticatedRequestContext): Future[DeleteReply]
}
diff --git a/src/test/scala/xyz/driver/pdsuicommon/BaseSuite.scala b/src/test/scala/xyz/driver/pdsuicommon/BaseSuite.scala
index 71f8ebf..1cfb70b 100644
--- a/src/test/scala/xyz/driver/pdsuicommon/BaseSuite.scala
+++ b/src/test/scala/xyz/driver/pdsuicommon/BaseSuite.scala
@@ -6,7 +6,7 @@ import org.scalatest.FreeSpecLike
import org.scalatest.concurrent.ScalaFutures
import org.scalatest.time.{Millis, Span}
import xyz.driver.pdsuicommon.db._
-import xyz.driver.pdsuicommon.domain.{Email, LongId, PasswordHash, User}
+import xyz.driver.pdsuicommon.domain._
import xyz.driver.pdsuicommon.error.UnexpectedFilterException
import xyz.driver.pdsuicommon.utils.DiffUtils
@@ -16,7 +16,7 @@ trait BaseSuite extends FreeSpecLike with DiffUtils with ScalaFutures {
implicit val sqlContext = new MockMySqlContext()
def sampleUser(role: User.Role, email: String = "test@example.com", password: String = "123") = User(
- id = LongId(2001),
+ id = StringId("2001"),
email = Email(email),
name = "Test",
role = role,
diff --git a/src/test/scala/xyz/driver/pdsuicommon/db/QueryBuilderParametersSuite.scala b/src/test/scala/xyz/driver/pdsuicommon/db/QueryBuilderParametersSuite.scala
index df8e417..2c23b92 100644
--- a/src/test/scala/xyz/driver/pdsuicommon/db/QueryBuilderParametersSuite.scala
+++ b/src/test/scala/xyz/driver/pdsuicommon/db/QueryBuilderParametersSuite.scala
@@ -5,7 +5,7 @@ import java.time.LocalDateTime
import io.getquill.MysqlEscape
import org.scalatest.FreeSpecLike
import xyz.driver.pdsuicommon.db.QueryBuilder.TableData
-import xyz.driver.pdsuicommon.domain.{Email, LongId, User}
+import xyz.driver.pdsuicommon.domain._
class QueryBuilderParametersSuite extends FreeSpecLike {
@@ -20,7 +20,7 @@ class QueryBuilderParametersSuite extends FreeSpecLike {
case class Entity(id: LongId[Entity],
name: String,
email: Email,
- optionUser: Option[LongId[User]],
+ optionUser: Option[StringId[User]],
date: LocalDateTime,
optionDate: Option[LocalDateTime],
kindId: Long)
diff --git a/src/test/scala/xyz/driver/pdsuidomain/formats/json/ApiPartialDocumentSuite.scala b/src/test/scala/xyz/driver/pdsuidomain/formats/json/ApiPartialDocumentSuite.scala
index 7fe1658..2ae52f9 100644
--- a/src/test/scala/xyz/driver/pdsuidomain/formats/json/ApiPartialDocumentSuite.scala
+++ b/src/test/scala/xyz/driver/pdsuidomain/formats/json/ApiPartialDocumentSuite.scala
@@ -126,7 +126,7 @@ class ApiPartialDocumentSuite extends FreeSpecLike {
val apiPartialDocument = apiPartialDocumentExample.copy(assignee = newAssignee)
val newDocument = apiPartialDocument.applyTo(origDocument)
- assert(newDocument.assignee === newAssignee.toOption.map(LongId[User]))
+ assert(newDocument.assignee === newAssignee.toOption.map(StringId[User]))
}
}