-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathsettings.schema.yaml
187 lines (186 loc) · 4.44 KB
/
settings.schema.yaml
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
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
$schema: https://json-schema.org/draft-07/schema
$defs:
Accounts:
additionalProperties: false
description: InNoHassle Accounts integration settings
properties:
api_url:
default: https://api.innohassle.ru/accounts/v0
description: URL of the Accounts API
title: Api Url
type: string
title: Accounts
type: object
Area:
additionalProperties: false
properties:
svg_polygon_id:
anyOf:
- type: string
- type: 'null'
default: null
description: ID of the polygon in the SVG
title: Svg Polygon Id
title:
anyOf:
- type: string
- type: 'null'
default: null
description: Title of the area
title: Title
ru_title:
anyOf:
- type: string
- type: 'null'
default: null
description: Title in Russian
title: Ru Title
legend_id:
anyOf:
- type: string
- type: 'null'
default: null
description: ID of the legend (if any)
title: Legend Id
description:
anyOf:
- type: string
- type: 'null'
default: null
description: Description of the area
title: Description
people:
default: []
description: List of people for this area
items:
type: string
title: People
type: array
prioritized:
default: false
description: Priority for multi-floor areas
title: Prioritized
type: boolean
room_booking_id:
anyOf:
- type: string
- type: 'null'
default: null
description: ID of the room in Room Booking API (if any)
title: Room Booking Id
title: Area
type: object
Environment:
enum:
- development
- production
title: Environment
type: string
LegendEntry:
additionalProperties: false
properties:
legend_id:
description: ID of the legend
title: Legend Id
type: string
color:
anyOf:
- type: string
- type: 'null'
default: null
description: Color of the legend
title: Color
legend:
anyOf:
- type: string
- type: 'null'
default: null
description: Description of the legend (may contain multiple lines)
title: Legend
required:
- legend_id
title: LegendEntry
type: object
Scene:
additionalProperties: false
properties:
scene_id:
description: ID of the scene
title: Scene Id
type: string
title:
description: Title of the scene
title: Title
type: string
svg_file:
description: Path to the SVG file in /static
title: Svg File
type: string
legend:
default: []
description: Legend of the scene
items:
$ref: '#/$defs/LegendEntry'
title: Legend
type: array
areas:
default: []
description: Areas of the scene
items:
$ref: '#/$defs/Area'
title: Areas
type: array
required:
- scene_id
- title
- svg_file
title: Scene
type: object
additionalProperties: false
description: Settings for the application.
properties:
$schema:
default: null
title: $Schema
type: string
environment:
$ref: '#/$defs/Environment'
default: development
description: App environment flag
app_root_path:
default: ''
description: Prefix for the API path (e.g. "/api/v0")
title: App Root Path
type: string
scenes:
default: []
description: List of scenes
items:
$ref: '#/$defs/Scene'
title: Scenes
type: array
cors_allow_origin_regex:
default: .*
description: 'Allowed origins for CORS: from which domains requests to the API
are allowed.
Specify as a regex: `https://.*.innohassle.ru`'
title: Cors Allow Origin Regex
type: string
static_mount_path:
default: /static
description: Path to mount static files
title: Static Mount Path
type: string
static_directory:
default: static
description: Path to the directory with static files
format: path
title: Static Directory
type: string
accounts:
$ref: '#/$defs/Accounts'
default:
api_url: https://api.innohassle.ru/accounts/v0
description: InNoHassle-Accounts integration settings
title: Settings
type: object