@golemio/energetics 1.3.5 → 1.3.7-dev.1315648116

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (174) hide show
  1. package/db/example/00_clear_test_data.sql +6 -0
  2. package/db/example/01_buildings.sql +206 -0
  3. package/db/example/02_organizations.sql +24 -0
  4. package/db/example/03_devices.sql +24 -0
  5. package/db/migrations/postgresql/.config.json +1 -1
  6. package/db/migrations/postgresql/20240514074033-buildings.js +53 -0
  7. package/db/migrations/postgresql/20240514111900-organizations.js +53 -0
  8. package/db/migrations/postgresql/sqls/20240514074033-buildings-down.sql +2 -0
  9. package/db/migrations/postgresql/sqls/20240514074033-buildings-up.sql +138 -0
  10. package/db/migrations/postgresql/sqls/20240514111900-organizations-down.sql +3 -0
  11. package/db/migrations/postgresql/sqls/20240514111900-organizations-up.sql +37 -0
  12. package/dist/integration-engine/tasks/oict-energetika/FetchDataTask.js +0 -2
  13. package/dist/integration-engine/tasks/oict-energetika/FetchDataTask.js.map +1 -1
  14. package/dist/integration-engine/workers/oict-energetika/OictEnergetikaWorker.js +0 -4
  15. package/dist/integration-engine/workers/oict-energetika/OictEnergetikaWorker.js.map +1 -1
  16. package/dist/output-gateway/constants/Links.d.ts +3 -0
  17. package/dist/output-gateway/constants/Links.js +7 -0
  18. package/dist/output-gateway/constants/Links.js.map +1 -0
  19. package/dist/output-gateway/constants/RouteVersion.d.ts +3 -0
  20. package/dist/output-gateway/constants/RouteVersion.js +8 -0
  21. package/dist/output-gateway/constants/RouteVersion.js.map +1 -0
  22. package/dist/output-gateway/controllers/v2/BuildingsController.d.ts +11 -0
  23. package/dist/output-gateway/controllers/v2/BuildingsController.js +74 -0
  24. package/dist/output-gateway/controllers/v2/BuildingsController.js.map +1 -0
  25. package/dist/output-gateway/controllers/v2/V2DevicesController.d.ts +11 -0
  26. package/dist/output-gateway/controllers/v2/V2DevicesController.js +67 -0
  27. package/dist/output-gateway/controllers/v2/V2DevicesController.js.map +1 -0
  28. package/dist/output-gateway/controllers/v2/V2OrganizationsController.d.ts +13 -0
  29. package/dist/output-gateway/controllers/v2/V2OrganizationsController.js +79 -0
  30. package/dist/output-gateway/controllers/v2/V2OrganizationsController.js.map +1 -0
  31. package/dist/output-gateway/helpers/CreateLinkHelper.d.ts +6 -0
  32. package/dist/output-gateway/helpers/CreateLinkHelper.js +32 -0
  33. package/dist/output-gateway/helpers/CreateLinkHelper.js.map +1 -0
  34. package/dist/output-gateway/index.d.ts +1 -0
  35. package/dist/output-gateway/index.js +10 -0
  36. package/dist/output-gateway/index.js.map +1 -0
  37. package/dist/output-gateway/ioc/Di.d.ts +3 -0
  38. package/dist/output-gateway/ioc/Di.js +51 -0
  39. package/dist/output-gateway/ioc/Di.js.map +1 -0
  40. package/dist/output-gateway/ioc/ModuleContainerToken.d.ts +22 -0
  41. package/dist/output-gateway/ioc/ModuleContainerToken.js +26 -0
  42. package/dist/output-gateway/ioc/ModuleContainerToken.js.map +1 -0
  43. package/dist/output-gateway/models/BuildingsPrimaryModel.d.ts +17 -0
  44. package/dist/output-gateway/models/BuildingsPrimaryModel.js +49 -0
  45. package/dist/output-gateway/models/BuildingsPrimaryModel.js.map +1 -0
  46. package/dist/output-gateway/models/BuildingsSecondaryModel.d.ts +124 -0
  47. package/dist/output-gateway/models/BuildingsSecondaryModel.js +338 -0
  48. package/dist/output-gateway/models/BuildingsSecondaryModel.js.map +1 -0
  49. package/dist/output-gateway/models/interfaces/IBuildingsTransformationOutput.d.ts +6 -0
  50. package/dist/output-gateway/models/interfaces/IBuildingsTransformationOutput.js +2 -0
  51. package/dist/output-gateway/models/interfaces/IBuildingsTransformationOutput.js.map +1 -0
  52. package/dist/output-gateway/models/interfaces/IFullTransformationSchemaItem.d.ts +156 -0
  53. package/dist/output-gateway/models/interfaces/IFullTransformationSchemaItem.js +3 -0
  54. package/dist/output-gateway/models/interfaces/IFullTransformationSchemaItem.js.map +1 -0
  55. package/dist/output-gateway/models/interfaces/IPrimaryBuildings.d.ts +10 -0
  56. package/dist/output-gateway/models/interfaces/IPrimaryBuildings.js +3 -0
  57. package/dist/output-gateway/models/interfaces/IPrimaryBuildings.js.map +1 -0
  58. package/dist/output-gateway/models/interfaces/ISecondaryBuildings.d.ts +114 -0
  59. package/dist/output-gateway/models/interfaces/ISecondaryBuildings.js +3 -0
  60. package/dist/output-gateway/models/interfaces/ISecondaryBuildings.js.map +1 -0
  61. package/dist/output-gateway/models/interfaces/ISecondaryBuildingsOutput.d.ts +117 -0
  62. package/dist/output-gateway/models/interfaces/ISecondaryBuildingsOutput.js +3 -0
  63. package/dist/output-gateway/models/interfaces/ISecondaryBuildingsOutput.js.map +1 -0
  64. package/dist/output-gateway/repositories/DevicesRepository.d.ts +8 -0
  65. package/dist/output-gateway/repositories/DevicesRepository.js +64 -0
  66. package/dist/output-gateway/repositories/DevicesRepository.js.map +1 -0
  67. package/dist/output-gateway/repositories/OrganizationBuildingsRepository.d.ts +6 -0
  68. package/dist/output-gateway/repositories/OrganizationBuildingsRepository.js +47 -0
  69. package/dist/output-gateway/repositories/OrganizationBuildingsRepository.js.map +1 -0
  70. package/dist/output-gateway/repositories/OrganizationResponsibleUsersRepository.d.ts +6 -0
  71. package/dist/output-gateway/repositories/OrganizationResponsibleUsersRepository.js +47 -0
  72. package/dist/output-gateway/repositories/OrganizationResponsibleUsersRepository.js.map +1 -0
  73. package/dist/output-gateway/repositories/OrganizationsRepository.d.ts +17 -0
  74. package/dist/output-gateway/repositories/OrganizationsRepository.js +133 -0
  75. package/dist/output-gateway/repositories/OrganizationsRepository.js.map +1 -0
  76. package/dist/output-gateway/repositories/PrimaryBuildingsRepository.d.ts +15 -0
  77. package/dist/output-gateway/repositories/PrimaryBuildingsRepository.js +86 -0
  78. package/dist/output-gateway/repositories/PrimaryBuildingsRepository.js.map +1 -0
  79. package/dist/output-gateway/repositories/SecondaryBuildingsRepository.d.ts +6 -0
  80. package/dist/output-gateway/repositories/SecondaryBuildingsRepository.js +33 -0
  81. package/dist/output-gateway/repositories/SecondaryBuildingsRepository.js.map +1 -0
  82. package/dist/output-gateway/repositories/helpers/OrganizationsAssociations.d.ts +9 -0
  83. package/dist/output-gateway/repositories/helpers/OrganizationsAssociations.js +47 -0
  84. package/dist/output-gateway/repositories/helpers/OrganizationsAssociations.js.map +1 -0
  85. package/dist/output-gateway/repositories/interfaces/IOrganizationBuildingDto.d.ts +5 -0
  86. package/dist/output-gateway/repositories/interfaces/IOrganizationBuildingDto.js +3 -0
  87. package/dist/output-gateway/repositories/interfaces/IOrganizationBuildingDto.js.map +1 -0
  88. package/dist/output-gateway/repositories/interfaces/IOrganizationDetailDto.d.ts +18 -0
  89. package/dist/output-gateway/repositories/interfaces/IOrganizationDetailDto.js +3 -0
  90. package/dist/output-gateway/repositories/interfaces/IOrganizationDetailDto.js.map +1 -0
  91. package/dist/output-gateway/repositories/interfaces/IOrganizationDto.d.ts +4 -0
  92. package/dist/output-gateway/repositories/interfaces/IOrganizationDto.js +3 -0
  93. package/dist/output-gateway/repositories/interfaces/IOrganizationDto.js.map +1 -0
  94. package/dist/output-gateway/repositories/interfaces/IOrganizationResponsibleUserDto.d.ts +8 -0
  95. package/dist/output-gateway/repositories/interfaces/IOrganizationResponsibleUserDto.js +3 -0
  96. package/dist/output-gateway/repositories/interfaces/IOrganizationResponsibleUserDto.js.map +1 -0
  97. package/dist/output-gateway/routers/helpers/parseParams.d.ts +4 -0
  98. package/dist/output-gateway/routers/helpers/parseParams.js +17 -0
  99. package/dist/output-gateway/routers/helpers/parseParams.js.map +1 -0
  100. package/dist/output-gateway/routers/interfaces/IDeviceResponse.d.ts +6 -0
  101. package/dist/output-gateway/routers/interfaces/IDeviceResponse.js +3 -0
  102. package/dist/output-gateway/routers/interfaces/IDeviceResponse.js.map +1 -0
  103. package/dist/output-gateway/routers/interfaces/IOrganizationDetailResponse.d.ts +34 -0
  104. package/dist/output-gateway/routers/interfaces/IOrganizationDetailResponse.js +3 -0
  105. package/dist/output-gateway/routers/interfaces/IOrganizationDetailResponse.js.map +1 -0
  106. package/dist/output-gateway/routers/interfaces/IOrganizationResponse.d.ts +4 -0
  107. package/dist/output-gateway/routers/interfaces/IOrganizationResponse.js +3 -0
  108. package/dist/output-gateway/routers/interfaces/IOrganizationResponse.js.map +1 -0
  109. package/dist/output-gateway/routers/interfaces/IPaginationParams.d.ts +4 -0
  110. package/dist/output-gateway/routers/interfaces/IPaginationParams.js +3 -0
  111. package/dist/output-gateway/routers/interfaces/IPaginationParams.js.map +1 -0
  112. package/dist/output-gateway/routers/v2/BuildingsRouter.d.ts +10 -0
  113. package/dist/output-gateway/routers/v2/BuildingsRouter.js +28 -0
  114. package/dist/output-gateway/routers/v2/BuildingsRouter.js.map +1 -0
  115. package/dist/output-gateway/routers/v2/V2DevicesRouter.d.ts +7 -0
  116. package/dist/output-gateway/routers/v2/V2DevicesRouter.js +41 -0
  117. package/dist/output-gateway/routers/v2/V2DevicesRouter.js.map +1 -0
  118. package/dist/output-gateway/routers/v2/V2OrganizationsRouter.d.ts +7 -0
  119. package/dist/output-gateway/routers/v2/V2OrganizationsRouter.js +41 -0
  120. package/dist/output-gateway/routers/v2/V2OrganizationsRouter.js.map +1 -0
  121. package/dist/output-gateway/transformations/BuildingTransformationFull.d.ts +14 -0
  122. package/dist/output-gateway/transformations/BuildingTransformationFull.js +218 -0
  123. package/dist/output-gateway/transformations/BuildingTransformationFull.js.map +1 -0
  124. package/dist/output-gateway/transformations/BuildingsTransformation.d.ts +8 -0
  125. package/dist/output-gateway/transformations/BuildingsTransformation.js +38 -0
  126. package/dist/output-gateway/transformations/BuildingsTransformation.js.map +1 -0
  127. package/dist/output-gateway/transformations/DeviceDtoTransformation.d.ts +8 -0
  128. package/dist/output-gateway/transformations/DeviceDtoTransformation.js +43 -0
  129. package/dist/output-gateway/transformations/DeviceDtoTransformation.js.map +1 -0
  130. package/dist/output-gateway/transformations/OrganizationDetailDtoTransformation.d.ts +9 -0
  131. package/dist/output-gateway/transformations/OrganizationDetailDtoTransformation.js +64 -0
  132. package/dist/output-gateway/transformations/OrganizationDetailDtoTransformation.js.map +1 -0
  133. package/dist/output-gateway/transformations/OrganizationDtoTransformation.d.ts +9 -0
  134. package/dist/output-gateway/transformations/OrganizationDtoTransformation.js +36 -0
  135. package/dist/output-gateway/transformations/OrganizationDtoTransformation.js.map +1 -0
  136. package/dist/schema-definitions/models/OrganizationBuildingModel.d.ts +10 -0
  137. package/dist/schema-definitions/models/OrganizationBuildingModel.js +33 -0
  138. package/dist/schema-definitions/models/OrganizationBuildingModel.js.map +1 -0
  139. package/dist/schema-definitions/models/OrganizationResponsibleUsersModel.d.ts +16 -0
  140. package/dist/schema-definitions/models/OrganizationResponsibleUsersModel.js +44 -0
  141. package/dist/schema-definitions/models/OrganizationResponsibleUsersModel.js.map +1 -0
  142. package/dist/schema-definitions/models/OrganizationsModel.d.ts +21 -0
  143. package/dist/schema-definitions/models/OrganizationsModel.js +59 -0
  144. package/dist/schema-definitions/models/OrganizationsModel.js.map +1 -0
  145. package/dist/schema-definitions/models/interfaces/IOrganizationBuildingsModel.d.ts +4 -0
  146. package/dist/schema-definitions/models/interfaces/IOrganizationBuildingsModel.js +3 -0
  147. package/dist/schema-definitions/models/interfaces/IOrganizationBuildingsModel.js.map +1 -0
  148. package/dist/schema-definitions/models/interfaces/IOrganizationResponsibleUsersModel.d.ts +10 -0
  149. package/dist/schema-definitions/models/interfaces/IOrganizationResponsibleUsersModel.js +3 -0
  150. package/dist/schema-definitions/models/interfaces/IOrganizationResponsibleUsersModel.js.map +1 -0
  151. package/dist/schema-definitions/models/interfaces/IOrganizationsModel.d.ts +15 -0
  152. package/dist/schema-definitions/models/interfaces/IOrganizationsModel.js +3 -0
  153. package/dist/schema-definitions/models/interfaces/IOrganizationsModel.js.map +1 -0
  154. package/docs/implementation_documentation.md +41 -41
  155. package/docs/openapi-output.yaml +854 -0
  156. package/package.json +5 -3
  157. package/dist/integration-engine/repositories/oict-energetika/BuildingsRepository.d.ts +0 -4
  158. package/dist/integration-engine/repositories/oict-energetika/BuildingsRepository.js +0 -19
  159. package/dist/integration-engine/repositories/oict-energetika/BuildingsRepository.js.map +0 -1
  160. package/dist/integration-engine/repositories/oict-energetika/DevicesRepository.d.ts +0 -4
  161. package/dist/integration-engine/repositories/oict-energetika/DevicesRepository.js +0 -19
  162. package/dist/integration-engine/repositories/oict-energetika/DevicesRepository.js.map +0 -1
  163. package/dist/integration-engine/tasks/oict-energetika/FetchBuildingsTask.d.ts +0 -9
  164. package/dist/integration-engine/tasks/oict-energetika/FetchBuildingsTask.js +0 -44
  165. package/dist/integration-engine/tasks/oict-energetika/FetchBuildingsTask.js.map +0 -1
  166. package/dist/integration-engine/tasks/oict-energetika/FetchDevicesTask.d.ts +0 -9
  167. package/dist/integration-engine/tasks/oict-energetika/FetchDevicesTask.js +0 -44
  168. package/dist/integration-engine/tasks/oict-energetika/FetchDevicesTask.js.map +0 -1
  169. package/dist/integration-engine/transformations/oict-energetika/BuildingsTransformation.d.ts +0 -7
  170. package/dist/integration-engine/transformations/oict-energetika/BuildingsTransformation.js +0 -166
  171. package/dist/integration-engine/transformations/oict-energetika/BuildingsTransformation.js.map +0 -1
  172. package/dist/integration-engine/transformations/oict-energetika/DevicesTransformation.d.ts +0 -7
  173. package/dist/integration-engine/transformations/oict-energetika/DevicesTransformation.js +0 -41
  174. package/dist/integration-engine/transformations/oict-energetika/DevicesTransformation.js.map +0 -1
@@ -0,0 +1,854 @@
1
+ openapi: 3.0.3
2
+ info:
3
+ title: ⚡ Energetics API
4
+ description: >-
5
+ <p> ⚡ Energetics </p>
6
+ version: 1.0.0
7
+ contact:
8
+ name: Golemio Prague Data Platform
9
+ email: golemio@operatorict.cz
10
+ url: https://golemio.cz
11
+ servers:
12
+ - url: https://rabin.golemio.cz/v2
13
+ description: Test (development) server
14
+ - url: https://api.golemio.cz/v2
15
+ description: Main (production) server
16
+ tags:
17
+ - name: ⚡ Energetics (v2)
18
+ description: 💡 Organizations & measurement devices
19
+ paths:
20
+ /v2/energetics/buildings:
21
+ get:
22
+ tags:
23
+ - ⚡ Energetics (v2)
24
+ summary: Get all buildings
25
+ parameters:
26
+ - name: full
27
+ in: query
28
+ description: Display full buildings data.
29
+ required: false
30
+ schema:
31
+ type: boolean
32
+ default: false
33
+ example: false
34
+ responses:
35
+ "200":
36
+ description: OK
37
+ content:
38
+ application/json:
39
+ schema:
40
+ type: array
41
+ items:
42
+ $ref: "#/components/schemas/Building"
43
+
44
+ /v2/energetics/buildings/{id}:
45
+ get:
46
+ tags:
47
+ - ⚡ Energetics (v2)
48
+ summary: Get a building by ID
49
+ parameters:
50
+ - in: path
51
+ name: id
52
+ required: true
53
+ schema:
54
+ type: number
55
+ example: 100
56
+ responses:
57
+ "200":
58
+ description: OK
59
+ content:
60
+ application/json:
61
+ schema:
62
+ $ref: "#/components/schemas/IFullTransformationSchemaItem"
63
+
64
+ /v2/energetics/devices:
65
+ get:
66
+ tags:
67
+ - ⚡ Energetics (v2)
68
+ summary: List of measurement devices
69
+ responses:
70
+ "200":
71
+ description: Success
72
+ content:
73
+ application/json:
74
+ schema:
75
+ type: array
76
+ items:
77
+ $ref: "#/components/schemas/EnergeticsDevice"
78
+ "401":
79
+ $ref: "#/components/responses/UnauthorizedError"
80
+ "500":
81
+ $ref: "#/components/responses/ServerError"
82
+
83
+ /v2/energetics/devices/{deviceId}:
84
+ get:
85
+ tags:
86
+ - ⚡ Energetics (v2)
87
+ summary: Measurement device info
88
+ parameters:
89
+ - name: deviceId
90
+ in: path
91
+ description: Id of device
92
+ required: true
93
+ schema:
94
+ type: integer
95
+ format: int32
96
+ example: 16
97
+ responses:
98
+ "200":
99
+ description: Success
100
+ content:
101
+ application/json:
102
+ schema:
103
+ $ref: "#/components/schemas/EnergeticsDevice"
104
+ "401":
105
+ $ref: "#/components/responses/UnauthorizedError"
106
+ "404":
107
+ $ref: "#/components/responses/NotFoundError"
108
+ "500":
109
+ $ref: "#/components/responses/ServerError"
110
+
111
+ /v2/energetics/organizations:
112
+ get:
113
+ tags:
114
+ - ⚡ Energetics (v2)
115
+ summary: List of organizations in brief or full format
116
+ parameters:
117
+ - name: full
118
+ in: query
119
+ description: Display full organization data.
120
+ required: false
121
+ schema:
122
+ type: boolean
123
+ default: false
124
+ example: false
125
+ responses:
126
+ "200":
127
+ description: Success
128
+ content:
129
+ application/json:
130
+ schema:
131
+ anyOf:
132
+ - type: array
133
+ items:
134
+ $ref: "#/components/schemas/EnergeticsOrganizationShort"
135
+ - type: array
136
+ items:
137
+ $ref: "#/components/schemas/EnergeticsOrganizationFull"
138
+ "401":
139
+ $ref: "#/components/responses/UnauthorizedError"
140
+ "500":
141
+ $ref: "#/components/responses/ServerError"
142
+
143
+ /v2/energetics/organizations/{organizationId}:
144
+ get:
145
+ tags:
146
+ - ⚡ Energetics (v2)
147
+ summary: Organization detail
148
+ parameters:
149
+ - name: organizationId
150
+ in: path
151
+ description: Id of organization
152
+ required: true
153
+ schema:
154
+ type: integer
155
+ format: int32
156
+ example: 1
157
+ responses:
158
+ "200":
159
+ description: Success
160
+ content:
161
+ application/json:
162
+ schema:
163
+ $ref: "#/components/schemas/EnergeticsOrganizationFull"
164
+ "400":
165
+ $ref: "#/components/responses/BadRequestError"
166
+ "401":
167
+ $ref: "#/components/responses/UnauthorizedError"
168
+ "404":
169
+ $ref: "#/components/responses/NotFoundError"
170
+ "500":
171
+ $ref: "#/components/responses/ServerError"
172
+
173
+ components:
174
+ responses:
175
+ UnauthorizedError:
176
+ description: API key is missing or invalid
177
+ content:
178
+ application/json; charset=utf-8:
179
+ schema:
180
+ type: object
181
+ properties:
182
+ error_message:
183
+ type: string
184
+ example: Unauthorized
185
+ error_status:
186
+ type: number
187
+ example: 401
188
+ error_info:
189
+ type: string
190
+ NotFoundError:
191
+ description: Record not found
192
+ content:
193
+ application/json; charset=utf-8:
194
+ schema:
195
+ type: object
196
+ properties:
197
+ error_message:
198
+ type: string
199
+ example: Not fount
200
+ error_status:
201
+ type: number
202
+ example: 404
203
+ error_info:
204
+ type: string
205
+ example: "Record with id 1 not fount"
206
+ BadRequestError:
207
+ description: Bad request
208
+ content:
209
+ application/json; charset=utf-8:
210
+ schema:
211
+ type: object
212
+ properties:
213
+ error_message:
214
+ type: string
215
+ example: Bad request
216
+ error_status:
217
+ type: number
218
+ example: 400
219
+ error_info:
220
+ type: string
221
+ example: '{"limit":{"location":"query","param":"limit","value":"-2","msg":"Invalid value"}}'
222
+ ServerError:
223
+ description: Server error
224
+ content:
225
+ application/json; charset=utf-8:
226
+ schema:
227
+ type: object
228
+ properties:
229
+ error_message:
230
+ type: string
231
+ example: Server error
232
+ error_status:
233
+ type: number
234
+ example: 500
235
+ error_info:
236
+ type: string
237
+
238
+ schemas:
239
+ Building:
240
+ type: object
241
+ properties:
242
+ id:
243
+ type: number
244
+ name:
245
+ type: string
246
+ building_address_code:
247
+ type: string
248
+ link:
249
+ type: string
250
+ IFullTransformationSchemaItem:
251
+ type: object
252
+ properties:
253
+ id:
254
+ type: number
255
+ name:
256
+ type: string
257
+ nullable: true
258
+ main_use:
259
+ type: string
260
+ nullable: true
261
+ method_of_protection:
262
+ type: string
263
+ nullable: true
264
+ address:
265
+ type: object
266
+ properties:
267
+ city:
268
+ type: string
269
+ nullable: true
270
+ country:
271
+ type: string
272
+ nullable: true
273
+ house_number:
274
+ type: string
275
+ nullable: true
276
+ mail:
277
+ type: string
278
+ nullable: true
279
+ phone:
280
+ type: string
281
+ nullable: true
282
+ street:
283
+ type: string
284
+ nullable: true
285
+ web_address:
286
+ type: string
287
+ nullable: true
288
+ nullable: true
289
+ allotment_number:
290
+ type: string
291
+ nullable: true
292
+ beds_count:
293
+ type: number
294
+ nullable: true
295
+ building_address_code:
296
+ type: string
297
+ nullable: true
298
+ building_envelope:
299
+ type: object
300
+ properties:
301
+ filling_of_hole:
302
+ type: object
303
+ properties:
304
+ area:
305
+ type: number
306
+ nullable: true
307
+ construction:
308
+ type: string
309
+ nullable: true
310
+ technical_condition:
311
+ type: string
312
+ nullable: true
313
+ year_of_adjustment:
314
+ type: string
315
+ nullable: true
316
+ nullable: true
317
+ floor_of_the_lowest_heated_floor:
318
+ type: object
319
+ properties:
320
+ area:
321
+ type: number
322
+ nullable: true
323
+ construction:
324
+ type: string
325
+ nullable: true
326
+ year_of_adjustment:
327
+ type: string
328
+ nullable: true
329
+ technical_condition:
330
+ type: string
331
+ nullable: true
332
+ thermal_insulation:
333
+ type: string
334
+ nullable: true
335
+ nullable: true
336
+ roof:
337
+ type: object
338
+ properties:
339
+ area:
340
+ type: number
341
+ nullable: true
342
+ construction:
343
+ type: string
344
+ nullable: true
345
+ technical_condition:
346
+ type: string
347
+ nullable: true
348
+ thermal_insulation:
349
+ type: string
350
+ nullable: true
351
+ year_of_adjustment:
352
+ type: string
353
+ nullable: true
354
+ nullable: true
355
+ side_wall:
356
+ type: object
357
+ properties:
358
+ area:
359
+ type: number
360
+ nullable: true
361
+ heat_insulation:
362
+ type: string
363
+ nullable: true
364
+ prevailing_construction:
365
+ type: string
366
+ nullable: true
367
+ technical_condition:
368
+ type: string
369
+ nullable: true
370
+ year_of_adjustment:
371
+ type: string
372
+ nullable: true
373
+ nullable: true
374
+ nullable: true
375
+ label:
376
+ type: string
377
+ nullable: true
378
+ built_up_area:
379
+ type: number
380
+ nullable: true
381
+ classrooms_count:
382
+ type: number
383
+ nullable: true
384
+ csu_code:
385
+ type: string
386
+ nullable: true
387
+ current_note:
388
+ type: string
389
+ nullable: true
390
+ description:
391
+ type: string
392
+ nullable: true
393
+ employees_count:
394
+ type: number
395
+ nullable: true
396
+ energetic_management:
397
+ type: string
398
+ nullable: true
399
+ energy_audits:
400
+ type: object
401
+ properties:
402
+ created_at:
403
+ type: string
404
+ nullable: true
405
+ ea_registration_number:
406
+ type: string
407
+ nullable: true
408
+ energy_audit:
409
+ type: string
410
+ nullable: true
411
+ nullable: true
412
+ eno_id:
413
+ type: string
414
+ nullable: true
415
+ fuel_and_energy:
416
+ type: object
417
+ properties:
418
+ coal:
419
+ type: boolean
420
+ nullable: true
421
+ czt:
422
+ type: boolean
423
+ nullable: true
424
+ electricity:
425
+ type: boolean
426
+ nullable: true
427
+ gas:
428
+ type: boolean
429
+ nullable: true
430
+ other:
431
+ type: boolean
432
+ nullable: true
433
+ oze:
434
+ type: boolean
435
+ nullable: true
436
+ nullable: true
437
+ heated_bulding_volume:
438
+ type: number
439
+ nullable: true
440
+ ku_code:
441
+ type: string
442
+ nullable: true
443
+ location:
444
+ type: object
445
+ nullable: true
446
+ properties:
447
+ type:
448
+ type: string
449
+ example: "Point"
450
+ coordinates:
451
+ $ref: "#/components/schemas/Point"
452
+ required:
453
+ - coordinates
454
+ - type
455
+ link:
456
+ type: string
457
+ oze_energy_production:
458
+ type: object
459
+ properties:
460
+ heat_pump:
461
+ type: string
462
+ nullable: true
463
+ integrated_turbines_wind_energy:
464
+ type: string
465
+ nullable: true
466
+ solar_energy_photothermal:
467
+ type: string
468
+ nullable: true
469
+ solar_energy_photovoltaic:
470
+ type: string
471
+ nullable: true
472
+ nullable: true
473
+ penb:
474
+ type: object
475
+ properties:
476
+ building_envelope:
477
+ type: number
478
+ nullable: true
479
+ building_envelope_category:
480
+ type: string
481
+ nullable: true
482
+ cooling:
483
+ type: number
484
+ nullable: true
485
+ cooling_category:
486
+ type: string
487
+ nullable: true
488
+ heating:
489
+ type: number
490
+ nullable: true
491
+ heating_category:
492
+ type: string
493
+ nullable: true
494
+ humidity_adjustment:
495
+ type: number
496
+ nullable: true
497
+ humidity_adjustment_category:
498
+ type: string
499
+ nullable: true
500
+ issue_date:
501
+ type: string
502
+ nullable: true
503
+ lighting:
504
+ type: number
505
+ nullable: true
506
+ lighting_category:
507
+ type: string
508
+ nullable: true
509
+ penb_number:
510
+ type: number
511
+ nullable: true
512
+ primary_non_renewable_energy:
513
+ type: number
514
+ nullable: true
515
+ primary_non_renewable_energy_category:
516
+ type: string
517
+ nullable: true
518
+ total_building_envelope_area:
519
+ type: number
520
+ nullable: true
521
+ total_energy_reference_area:
522
+ type: number
523
+ nullable: true
524
+ total_provided_energy:
525
+ type: number
526
+ nullable: true
527
+ total_provided_energy_category:
528
+ type: string
529
+ nullable: true
530
+ ventilation:
531
+ type: number
532
+ nullable: true
533
+ ventilation_category:
534
+ type: string
535
+ nullable: true
536
+ volume_factor_of_av_shape:
537
+ type: string
538
+ nullable: true
539
+ warm_water:
540
+ type: number
541
+ nullable: true
542
+ warm_water_category:
543
+ type: string
544
+ nullable: true
545
+ nullable: true
546
+ registration_unit:
547
+ type: string
548
+ nullable: true
549
+ secondary_use:
550
+ type: string
551
+ nullable: true
552
+ students_count:
553
+ type: number
554
+ nullable: true
555
+ technical_equipment:
556
+ type: object
557
+ properties:
558
+ cooling:
559
+ type: object
560
+ properties:
561
+ cooling_area_percentage:
562
+ type: number
563
+ nullable: true
564
+ cooling_system:
565
+ type: string
566
+ nullable: true
567
+ technical_condition:
568
+ type: string
569
+ nullable: true
570
+ year:
571
+ type: string
572
+ nullable: true
573
+ nullable: true
574
+ heating:
575
+ type: object
576
+ properties:
577
+ heat_percentage:
578
+ type: number
579
+ nullable: true
580
+ heating_system:
581
+ type: string
582
+ nullable: true
583
+ main_source_of_heat:
584
+ type: string
585
+ nullable: true
586
+ secondary_source_of_heat:
587
+ type: string
588
+ nullable: true
589
+ technical_condition:
590
+ type: string
591
+ nullable: true
592
+ year:
593
+ type: string
594
+ nullable: true
595
+ nullable: true
596
+ hot_water:
597
+ type: object
598
+ properties:
599
+ hot_water_source:
600
+ type: string
601
+ nullable: true
602
+ predominant_way_of_heating_tv:
603
+ type: string
604
+ nullable: true
605
+ technical_condition:
606
+ type: string
607
+ nullable: true
608
+ year:
609
+ type: string
610
+ nullable: true
611
+ nullable: true
612
+ humidity_adjustment:
613
+ type: object
614
+ properties:
615
+ humidity_adjustment:
616
+ type: string
617
+ nullable: true
618
+ technical_condition:
619
+ type: string
620
+ nullable: true
621
+ year:
622
+ type: string
623
+ nullable: true
624
+ nullable: true
625
+ lighting:
626
+ type: object
627
+ properties:
628
+ lighting:
629
+ type: string
630
+ nullable: true
631
+ measurement_method:
632
+ type: string
633
+ nullable: true
634
+ other_technological_elements:
635
+ type: string
636
+ nullable: true
637
+ technical_condition:
638
+ type: string
639
+ nullable: true
640
+ year:
641
+ type: string
642
+ nullable: true
643
+ nullable: true
644
+ ventilation:
645
+ type: object
646
+ properties:
647
+ technical_condition:
648
+ type: string
649
+ nullable: true
650
+ ventilation:
651
+ type: string
652
+ nullable: true
653
+ year:
654
+ type: string
655
+ nullable: true
656
+ nullable: true
657
+ nullable: true
658
+ waste_and_emissions:
659
+ type: object
660
+ properties:
661
+ operating_co2_emissions:
662
+ type: string
663
+ nullable: true
664
+ solid_waste_production:
665
+ type: string
666
+ nullable: true
667
+ sox_emissions:
668
+ type: string
669
+ nullable: true
670
+ tied_co2_emissions:
671
+ type: string
672
+ nullable: true
673
+ nullable: true
674
+ weekend_opening_hours:
675
+ type: string
676
+ nullable: true
677
+ opening_hours:
678
+ type: string
679
+ nullable: true
680
+ year_of_construction:
681
+ type: number
682
+ nullable: true
683
+ EnergeticsAddress:
684
+ type: object
685
+ properties:
686
+ street:
687
+ type: string
688
+ nullable: true
689
+ house_number:
690
+ type: string
691
+ nullable: true
692
+ city:
693
+ type: string
694
+ nullable: true
695
+ country:
696
+ type: string
697
+ nullable: true
698
+ mail:
699
+ type: string
700
+ nullable: true
701
+ phone:
702
+ type: string
703
+ nullable: true
704
+ web_address:
705
+ type: string
706
+ nullable: true
707
+ additionalProperties: false
708
+ EnergeticsBuildingShort:
709
+ type: object
710
+ properties:
711
+ id:
712
+ type: integer
713
+ format: int32
714
+ name:
715
+ type: string
716
+ nullable: true
717
+ building_address_code:
718
+ type: string
719
+ nullable: true
720
+ link:
721
+ type: string
722
+ nullable: true
723
+ additionalProperties: false
724
+ EnergeticsDevice:
725
+ type: object
726
+ properties:
727
+ id:
728
+ type: integer
729
+ format: int32
730
+ addr:
731
+ type: string
732
+ nullable: true
733
+ description:
734
+ type: string
735
+ nullable: true
736
+ meter_number:
737
+ type: string
738
+ nullable: true
739
+ meter_index:
740
+ type: integer
741
+ format: int32
742
+ nullable: true
743
+ location_number:
744
+ type: string
745
+ nullable: true
746
+ location_description:
747
+ type: string
748
+ nullable: true
749
+ include_in_evaluation:
750
+ type: string
751
+ nullable: true
752
+ meter_type:
753
+ type: string
754
+ nullable: true
755
+ category:
756
+ type: string
757
+ nullable: true
758
+ unit:
759
+ type: string
760
+ nullable: true
761
+ replaced_meter_id:
762
+ type: string
763
+ nullable: true
764
+ deleted:
765
+ type: string
766
+ nullable: true
767
+ building_id:
768
+ type: integer
769
+ format: int32
770
+ nullable: true
771
+ additionalProperties: false
772
+ EnergeticsOrganizationFull:
773
+ type: object
774
+ properties:
775
+ id:
776
+ type: integer
777
+ format: int32
778
+ name:
779
+ type: string
780
+ nullable: true
781
+ label:
782
+ type: string
783
+ nullable: true
784
+ category:
785
+ type: string
786
+ nullable: true
787
+ created_by_id:
788
+ type: string
789
+ nullable: true
790
+ grafana_url:
791
+ type: string
792
+ nullable: true
793
+ address:
794
+ $ref: "#/components/schemas/EnergeticsAddress"
795
+ responsible_user:
796
+ type: array
797
+ items:
798
+ $ref: "#/components/schemas/EnergeticsUser"
799
+ nullable: true
800
+ buildings:
801
+ type: array
802
+ items:
803
+ $ref: "#/components/schemas/EnergeticsBuildingShort"
804
+ nullable: true
805
+ link:
806
+ type: string
807
+ nullable: true
808
+ additionalProperties: false
809
+ EnergeticsOrganizationShort:
810
+ type: object
811
+ properties:
812
+ id:
813
+ type: integer
814
+ format: int32
815
+ name:
816
+ type: string
817
+ nullable: true
818
+ link:
819
+ type: string
820
+ nullable: true
821
+ additionalProperties: false
822
+ EnergeticsUser:
823
+ type: object
824
+ properties:
825
+ name:
826
+ type: string
827
+ nullable: true
828
+ last_name:
829
+ type: string
830
+ nullable: true
831
+ position:
832
+ type: string
833
+ nullable: true
834
+ phone:
835
+ type: string
836
+ nullable: true
837
+ mail:
838
+ type: string
839
+ nullable: true
840
+ company:
841
+ type: string
842
+ nullable: true
843
+ additionalProperties: false
844
+ Point:
845
+ title: Point
846
+ type: array
847
+ minItems: 2
848
+ maxItems: 2
849
+ items:
850
+ type: number
851
+ format: float
852
+ example:
853
+ - 14.4633
854
+ - 50.07827