From 54b15dae509212f6661dc1f1bc4ca248cb487443 Mon Sep 17 00:00:00 2001 From: Kseniya Tomskikh Date: Fri, 20 Oct 2017 16:25:04 +0700 Subject: PDSUI-2336 Deleted api classes of play format, userhistory and message services --- .../formats/json/record/ApiCreateRecord.scala | 33 ------- .../formats/json/record/ApiRecord.scala | 110 --------------------- .../formats/json/record/ApiUpdateRecord.scala | 52 ---------- .../formats/json/record/MedicalRecordStatus.scala | 34 ------- 4 files changed, 229 deletions(-) delete mode 100644 src/main/scala/xyz/driver/pdsuidomain/formats/json/record/ApiCreateRecord.scala delete mode 100644 src/main/scala/xyz/driver/pdsuidomain/formats/json/record/ApiRecord.scala delete mode 100644 src/main/scala/xyz/driver/pdsuidomain/formats/json/record/ApiUpdateRecord.scala delete mode 100644 src/main/scala/xyz/driver/pdsuidomain/formats/json/record/MedicalRecordStatus.scala (limited to 'src/main/scala/xyz/driver/pdsuidomain/formats/json/record') diff --git a/src/main/scala/xyz/driver/pdsuidomain/formats/json/record/ApiCreateRecord.scala b/src/main/scala/xyz/driver/pdsuidomain/formats/json/record/ApiCreateRecord.scala deleted file mode 100644 index fd14f7c..0000000 --- a/src/main/scala/xyz/driver/pdsuidomain/formats/json/record/ApiCreateRecord.scala +++ /dev/null @@ -1,33 +0,0 @@ -package xyz.driver.pdsuidomain.formats.json.record - -import java.time.LocalDateTime -import java.util.UUID - -import xyz.driver.pdsuicommon.domain._ -import xyz.driver.pdsuidomain.entities._ -import play.api.libs.json._ - -final case class ApiCreateRecord(disease: String, patientId: String, requestId: UUID) { - - def toDomain = MedicalRecord( - id = LongId(0), - status = MedicalRecord.Status.New, - previousStatus = None, - assignee = None, - previousAssignee = None, - lastActiveUserId = None, - patientId = UuidId(patientId), - requestId = RecordRequestId(requestId), - disease = disease, - caseId = None, - physician = None, - meta = None, - lastUpdate = LocalDateTime.now(), - totalPages = 0 - ) -} - -object ApiCreateRecord { - - implicit val format: Format[ApiCreateRecord] = Json.format[ApiCreateRecord] -} 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 deleted file mode 100644 index 00441a1..0000000 --- a/src/main/scala/xyz/driver/pdsuidomain/formats/json/record/ApiRecord.scala +++ /dev/null @@ -1,110 +0,0 @@ -package xyz.driver.pdsuidomain.formats.json.record - -import java.time.{ZoneId, ZonedDateTime} -import java.util.UUID - -import xyz.driver.pdsuidomain.entities.CaseId -import xyz.driver.pdsuidomain.entities.MedicalRecord -import xyz.driver.pdsuidomain.entities.MedicalRecord.Status -import xyz.driver.pdsuidomain.entities.RecordRequestId -import play.api.data.validation.ValidationError -import play.api.libs.functional.syntax._ -import play.api.libs.json._ -import xyz.driver.pdsuicommon.json.JsonSerializer -import xyz.driver.pdsuicommon.domain.{LongId, StringId, TextJson, UuidId} - -object ApiRecord { - - private val emptyMeta: String = - "[]" - - private val statusFormat = Format( - Reads.StringReads.filter(ValidationError("unknown status")) { - case x if MedicalRecordStatus.statusFromString.isDefinedAt(x) => true - case _ => false - }, - Writes.StringWrites - ) - - implicit val format: Format[ApiRecord] = ( - (JsPath \ "id").format[Long] and - (JsPath \ "patientId").format[String] and - (JsPath \ "caseId").formatNullable[String] and - (JsPath \ "disease").format[String] and - (JsPath \ "physician").formatNullable[String] and - (JsPath \ "lastUpdate").format[ZonedDateTime] and - (JsPath \ "status").format(statusFormat) and - (JsPath \ "previousStatus").formatNullable(statusFormat) and - (JsPath \ "assignee").formatNullable[String] and - (JsPath \ "previousAssignee").formatNullable[String] and - (JsPath \ "lastActiveUser").formatNullable[String] and - (JsPath \ "requestId").format[UUID] and - (JsPath \ "meta").format(Format(Reads { x => - JsSuccess(Json.stringify(x)) - }, Writes[String](Json.parse))) and - (JsPath \ "totalPages").format[Int] - )(ApiRecord.apply, unlift(ApiRecord.unapply)) - - def fromDomain(record: MedicalRecord) = ApiRecord( - id = record.id.id, - patientId = record.patientId.toString, - caseId = record.caseId.map(_.id), - disease = record.disease, - physician = record.physician, - lastUpdate = ZonedDateTime.of(record.lastUpdate, ZoneId.of("Z")), - status = MedicalRecordStatus.statusToString(record.status), - previousStatus = record.previousStatus.map(MedicalRecordStatus.statusToString), - assignee = record.assignee.map(_.id), - previousAssignee = record.previousAssignee.map(_.id), - lastActiveUser = record.lastActiveUserId.map(_.id), - requestId = record.requestId.id, - meta = record.meta.map(x => JsonSerializer.serialize(x.content)).getOrElse(emptyMeta), - totalPages = record.totalPages - ) -} - -final case class ApiRecord(id: Long, - patientId: String, - caseId: Option[String], - disease: String, - physician: Option[String], - lastUpdate: ZonedDateTime, - status: String, - previousStatus: Option[String], - assignee: Option[String], - previousAssignee: Option[String], - lastActiveUser: Option[String], - requestId: UUID, - meta: String, - totalPages: Int) { - - private def extractStatus(status: String): Status = - Status - .fromString(status) - .getOrElse( - throw new NoSuchElementException(s"Status $status not found") - ) - - def toDomain = MedicalRecord( - id = LongId(this.id), - status = extractStatus(this.status), - previousStatus = this.previousStatus.map(extractStatus), - assignee = this.assignee.map(StringId(_)), - previousAssignee = this.previousAssignee.map(StringId(_)), - lastActiveUserId = this.lastActiveUser.map(StringId(_)), - patientId = UuidId(patientId), - requestId = RecordRequestId(this.requestId), - disease = this.disease, - caseId = caseId.map(CaseId(_)), - physician = this.physician, - meta = { - if (this.meta == ApiRecord.emptyMeta) { - None - } else { - Some(TextJson(JsonSerializer.deserialize[List[MedicalRecord.Meta]](this.meta))) - } - }, - lastUpdate = this.lastUpdate.toLocalDateTime, - totalPages = 0 - ) -} 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 deleted file mode 100644 index 05d5a60..0000000 --- a/src/main/scala/xyz/driver/pdsuidomain/formats/json/record/ApiUpdateRecord.scala +++ /dev/null @@ -1,52 +0,0 @@ -package xyz.driver.pdsuidomain.formats.json.record - -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[String], meta: Tristate[String]) { - - def applyTo(orig: MedicalRecord): MedicalRecord = { - orig.copy( - status = status.map(MedicalRecordStatus.statusFromString).getOrElse(orig.status), - assignee = assignee.map(StringId[User]).cata(Some(_), None, orig.assignee), - meta = meta.cata(x => Some(TextJson(JsonSerializer.deserialize[List[Meta]](x))), None, orig.meta) - ) - } -} - -object ApiUpdateRecord { - - private val reads: Reads[ApiUpdateRecord] = ( - (JsPath \ "status").readNullable[String]( - Reads - .of[String] - .filter(ValidationError("unknown status"))({ - case x if MedicalRecordStatus.statusFromString.isDefinedAt(x) => true - case _ => false - })) and - (JsPath \ "assignee").readTristate[String] and - (JsPath \ "meta") - .readTristate(Reads { x => - JsSuccess(Json.stringify(x)) - }) - .map { - case Tristate.Present("[]") => Tristate.Absent - case x => x - } - )(ApiUpdateRecord.apply _) - - private val writes: Writes[ApiUpdateRecord] = ( - (JsPath \ "status").writeNullable[String] and - (JsPath \ "assignee").writeTristate[String] and - (JsPath \ "meta").writeTristate(Writes[String](Json.parse)) - )(unlift(ApiUpdateRecord.unapply)) - - implicit val format: Format[ApiUpdateRecord] = Format(reads, writes) -} diff --git a/src/main/scala/xyz/driver/pdsuidomain/formats/json/record/MedicalRecordStatus.scala b/src/main/scala/xyz/driver/pdsuidomain/formats/json/record/MedicalRecordStatus.scala deleted file mode 100644 index a77b76b..0000000 --- a/src/main/scala/xyz/driver/pdsuidomain/formats/json/record/MedicalRecordStatus.scala +++ /dev/null @@ -1,34 +0,0 @@ -package xyz.driver.pdsuidomain.formats.json.record - -import xyz.driver.pdsuidomain.entities.MedicalRecord.Status - -object MedicalRecordStatus { - - val statusFromString: PartialFunction[String, Status] = { - case "Unprocessed" => Status.Unprocessed - case "PreCleaning" => Status.PreCleaning - case "New" => Status.New - case "Cleaned" => Status.Cleaned - case "PreOrganized" => Status.PreOrganized - case "PreOrganizing" => Status.PreOrganizing - case "Reviewed" => Status.Reviewed - case "Organized" => Status.Organized - case "Done" => Status.Done - case "Flagged" => Status.Flagged - case "Archived" => Status.Archived - } - - def statusToString(x: Status): String = x match { - case Status.Unprocessed => "Unprocessed" - case Status.PreCleaning => "PreCleaning" - case Status.New => "New" - case Status.Cleaned => "Cleaned" - case Status.PreOrganized => "PreOrganized" - case Status.PreOrganizing => "PreOrganizing" - case Status.Reviewed => "Reviewed" - case Status.Organized => "Organized" - case Status.Done => "Done" - case Status.Flagged => "Flagged" - case Status.Archived => "Archived" - } -} -- cgit v1.2.3