Skip to content
Snippets Groups Projects
Commit b3a2c000 authored by Yordan Kinkov's avatar Yordan Kinkov
Browse files

Update hackaton policy

parent 53d5ff27
No related branches found
No related tags found
No related merge requests found
Pipeline #53786 passed with stage
in 31 seconds
{
"admins": [
"John",
"Jane"
]
}
\ No newline at end of file
"trustlist": [
"did:key:z6MkpxjNepTaD1xo49dEbbW36FguWgsiToxNdhR8YJMnFQoJ",
"did:key:z6Mkfriq1MqLBoPWecGoDLjguo1sB9brj6wT3qZ5BxkKpuP6",
"did:key:z6Mkk7yqnGF3YwTrLpqrW6PGsKci7dNqh1CjnvMbzrMerSeL"
],
"vaccines": {
"EU/1/20/1528": {
"active": true,
"medicinalProductName": "COVID-19 Vaccine Moderna",
"marketingAuthorizationHolder": "Moderna Biotech"
},
"EU/2/18/1678": {
"active": true,
"medicinalProductName": "Pfizer–BioNTech COVID-19 vaccine",
"marketingAuthorizationHolder": "Pfizer–BioNTech"
}
}
}
......@@ -2,9 +2,27 @@ package example.hackaton
import future.keywords.in
default result = false
default trusted = false
default expired = false
default valid = false
result {
user := input.user
user in data.admins
}
\ No newline at end of file
trusted {
m := input.issuer
m in data.trustlist
}
expired {
exp:= time.parse_ns("2006-01-02T15:04:05Z07:00",input.expirationDate)
now:=time.now_ns()
now>exp
}
valid = semanticallyValid(input)
semanticallyValid(i) = res {
now:=time.now_ns()
vac:= data.vaccines[i.credentialSubject.vaccine.vacCode].active == true
vacDate:=time.parse_ns("2006-01-02T15:04:05Z07:00",i.credentialSubject.dateOfVaccination)
vacStillValid:=now < (vacDate+15552000000000000)
res := vac == vacStillValid
}
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