Room Access Denial v1¶
Source schema: doc/schemas/room-access-denial.v1.schema.json
Governing Basis¶
Project Lineage¶
Fields¶
| Field | Required | Shape | Description |
|---|---|---|---|
schema/v |
yes |
const: 1 |
|
room/id |
yes |
ref: room.v1.schema.json#/$defs/room_id |
|
denial/ref |
yes |
string | |
op |
yes |
enum: deny, reinstate |
|
subject |
yes |
ref: room.v1.schema.json#/$defs/subject |
|
authority/subject |
yes |
ref: room.v1.schema.json#/$defs/subject |
|
seq/no |
yes |
integer | |
issued-at |
yes |
string | |
expires-at |
no |
string | |
supersedes/ref |
no |
string | |
reason/code |
yes |
string | |
reason/ref |
no |
string |
Conditional Rules¶
Rule 1¶
When:
{
"properties": {
"op": {
"const": "deny"
}
},
"required": [
"op"
]
}
Then:
{
"not": {
"required": [
"supersedes/ref"
]
}
}
Rule 2¶
When:
{
"properties": {
"op": {
"const": "reinstate"
}
},
"required": [
"op"
]
}
Then:
{
"required": [
"supersedes/ref"
],
"not": {
"required": [
"expires-at"
]
}
}
Field Semantics¶
schema/v¶
- Required:
yes - Shape: const:
1
room/id¶
- Required:
yes - Shape: ref:
room.v1.schema.json#/$defs/room_id
denial/ref¶
- Required:
yes - Shape: string
op¶
- Required:
yes - Shape: enum:
deny,reinstate
subject¶
- Required:
yes - Shape: ref:
room.v1.schema.json#/$defs/subject
authority/subject¶
- Required:
yes - Shape: ref:
room.v1.schema.json#/$defs/subject
seq/no¶
- Required:
yes - Shape: integer
issued-at¶
- Required:
yes - Shape: string
expires-at¶
- Required:
no - Shape: string
supersedes/ref¶
- Required:
no - Shape: string
reason/code¶
- Required:
yes - Shape: string
reason/ref¶
- Required:
no - Shape: string