/
teqfw.schema.json
77 lines (77 loc) · 1.88 KB
/
teqfw.schema.json
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
{
"entity": {
"user": {
"comment": "User registry.",
"attr": {
"id": {"type": "id"},
"email": {
"comment": "Email should be unique to get appropriate login link",
"type": "string"
}
},
"index": {
"uq_email": {"type": "unique", "attrs": ["email"]}
}
}
},
"package": {
"user": {
"entity": {
"link": {
"comment": "One-time sign in codes with limited lifetime.",
"attr": {
"code": {
"comment": "Sign-in code.",
"type": "string"
},
"user_ref": {
"type": "ref"
},
"date_expired": {
"comment": "Date-time for sign-in code expiration.",
"type": "datetime"
}
},
"index": {
"PK": {"type": "primary", "attrs": ["code"]}
},
"relation": {
"user": {
"attrs": ["user_ref"],
"ref": {"path": "/user", "attrs": ["id"]}
}
}
},
"session": {
"comment": "Registry for opened sessions.",
"attr": {
"session_id": {
"comment": "Unique ID for user session.",
"type": "string"
},
"user_ref": {
"type": "ref"
},
"date_created": {
"comment": "Date-time for session registration.",
"type": "datetime",
"default": "current"
}
},
"index": {
"PK": {"type": "primary", "attrs": ["session_id"]}
},
"relation": {
"user": {
"attrs": ["user_ref"],
"ref": {
"path": "/user",
"attrs": ["id"]
}
}
}
}
}
}
}
}