Skip to content
Snippets Groups Projects
Unverified Commit 9a82b2ff authored by Chilja Gossow's avatar Chilja Gossow Committed by GitHub
Browse files

Recovery json (EXPOSUREAPP-7676) (#3432)


* interface recovery

* interface recovery

Co-authored-by: default avatarharambasicluka <64483219+harambasicluka@users.noreply.github.com>
parent 4b4316e2
No related branches found
No related tags found
No related merge requests found
package de.rki.coronawarnapp.covidcertificate.recovery.core
import de.rki.coronawarnapp.covidcertificate.common.certificate.CwaCovidCertificate
import org.joda.time.LocalDate
interface RecoveryCertificate : CwaCovidCertificate {
// TODO
val testedPositiveOn: LocalDate
val validFrom: LocalDate
val validUntil: LocalDate
}
......@@ -2,6 +2,7 @@ package de.rki.coronawarnapp.covidcertificate.recovery.core.certificate
import com.google.gson.annotations.SerializedName
import de.rki.coronawarnapp.covidcertificate.common.certificate.Dcc
import org.joda.time.LocalDate
data class RecoveryDccV1(
@SerializedName("ver") override val version: String,
......@@ -13,14 +14,24 @@ data class RecoveryDccV1(
data class RecoveryCertificateData(
// Disease or agent targeted, e.g. "tg": "840539006"
@SerializedName("tg") override val targetId: String,
// TODO
// Date of First Positive NAA Test Result (required) e.g. "2021-04-21"
@SerializedName("fr") val fr: String,
// Certificate Valid From (required) e.g. "2021-05-01"
@SerializedName("df") val df: String,
// Certificate Valid Until (required) e.g. "2021-10-21"
@SerializedName("du") val du: String,
// Country of Test (required)
@SerializedName("co") override val certificateCountry: String,
// Certificate Issuer, e.g. "is": "Ministry of Public Health, Welfare and Sport",
@SerializedName("is") override val certificateIssuer: String,
// Unique Certificate Identifier, e.g. "ci": "urn:uvci:01:NL:PlA8UWS60Z4RZXVALl6GAZ"
@SerializedName("ci") override val uniqueCertificateIdentifier: String
) : Payload
) : Dcc.Payload {
val testedPositiveOn: LocalDate
get() = LocalDate.parse(fr)
val validFrom: LocalDate
get() = LocalDate.parse(df)
val validUntil: LocalDate
get() = LocalDate.parse(du)
}
}
......@@ -31,7 +31,7 @@ data class RecoveryCertificateContainer(
): RecoveryCertificate {
val header = certificateData.header
val certificate = certificateData.certificate
val testCertificate = certificate.payload
val recoveryCertificate = certificate.payload
return object : RecoveryCertificate {
override val personIdentifier: CertificatePersonIdentifier
......@@ -39,25 +39,28 @@ data class RecoveryCertificateContainer(
override val firstName: String?
get() = certificate.nameData.firstName
override val lastName: String
get() = certificate.nameData.lastName
override val fullName: String
get() = certificate.nameData.fullName
override val dateOfBirth: LocalDate
get() = certificate.dateOfBirth
// TODO
override val testedPositiveOn: LocalDate
get() = recoveryCertificate.testedPositiveOn
override val validFrom: LocalDate
get() = recoveryCertificate.validFrom
override val validUntil: LocalDate
get() = recoveryCertificate.validUntil
override val certificateIssuer: String
get() = header.issuer
override val certificateCountry: String
get() = Locale(userLocale.language, testCertificate.certificateCountry.uppercase())
get() = Locale(userLocale.language, recoveryCertificate.certificateCountry.uppercase())
.getDisplayCountry(userLocale)
override val certificateId: String
get() = testCertificate.uniqueCertificateIdentifier
get() = recoveryCertificate.uniqueCertificateIdentifier
override val issuer: String
get() = header.issuer
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment