@@ 263-308 (lines=46) @@ | ||
260 | ||
261 | resp.text = json.dumps(meta_result) |
|
262 | ||
263 | @staticmethod |
|
264 | @user_logger |
|
265 | def on_delete(req, resp, id_): |
|
266 | admin_control(req) |
|
267 | if not id_.isdigit() or int(id_) <= 0: |
|
268 | raise falcon.HTTPError(status=falcon.HTTP_400, title='API.BAD_REQUEST', |
|
269 | description='API.INVALID_ENERGY_STORAGE_CONTAINER_ID') |
|
270 | ||
271 | cnx = mysql.connector.connect(**config.myems_system_db) |
|
272 | cursor = cnx.cursor() |
|
273 | ||
274 | cursor.execute(" SELECT name " |
|
275 | " FROM tbl_energy_storage_containers " |
|
276 | " WHERE id = %s ", (id_,)) |
|
277 | if cursor.fetchone() is None: |
|
278 | cursor.close() |
|
279 | cnx.close() |
|
280 | raise falcon.HTTPError(status=falcon.HTTP_404, title='API.NOT_FOUND', |
|
281 | description='API.ENERGY_STORAGE_CONTAINER_NOT_FOUND') |
|
282 | ||
283 | cursor.execute(" DELETE FROM tbl_energy_storage_containers_sensors " |
|
284 | " WHERE energy_storage_container_id = %s ", (id_, )) |
|
285 | ||
286 | cursor.execute(" DELETE FROM tbl_energy_storage_containers_batteries " |
|
287 | " WHERE energy_storage_container_id = %s ", (id_, )) |
|
288 | ||
289 | cursor.execute(" DELETE FROM tbl_energy_storage_containers_grids " |
|
290 | " WHERE energy_storage_container_id = %s ", (id_, )) |
|
291 | ||
292 | cursor.execute(" DELETE FROM tbl_energy_storage_containers_loads " |
|
293 | " WHERE energy_storage_container_id = %s ", (id_, )) |
|
294 | ||
295 | cursor.execute(" DELETE FROM tbl_energy_storage_containers_power_conversion_systems " |
|
296 | " WHERE energy_storage_container_id = %s ", (id_, )) |
|
297 | ||
298 | cursor.execute(" DELETE FROM tbl_energy_storage_containers_users " |
|
299 | " WHERE energy_storage_container_id = %s ", (id_, )) |
|
300 | ||
301 | cursor.execute(" DELETE FROM tbl_energy_storage_containers " |
|
302 | " WHERE id = %s ", (id_,)) |
|
303 | cnx.commit() |
|
304 | ||
305 | cursor.close() |
|
306 | cnx.close() |
|
307 | ||
308 | resp.status = falcon.HTTP_204 |
|
309 | ||
310 | @staticmethod |
|
311 | @user_logger |
@@ 240-289 (lines=50) @@ | ||
237 | ||
238 | resp.text = json.dumps(meta_result) |
|
239 | ||
240 | @staticmethod |
|
241 | @user_logger |
|
242 | def on_delete(req, resp, id_): |
|
243 | admin_control(req) |
|
244 | if not id_.isdigit() or int(id_) <= 0: |
|
245 | raise falcon.HTTPError(status=falcon.HTTP_400, title='API.BAD_REQUEST', |
|
246 | description='API.INVALID_COMBINED_EQUIPMENT_ID') |
|
247 | ||
248 | cnx = mysql.connector.connect(**config.myems_system_db) |
|
249 | cursor = cnx.cursor() |
|
250 | ||
251 | # check relation with space |
|
252 | cursor.execute(" SELECT space_id " |
|
253 | " FROM tbl_spaces_combined_equipments " |
|
254 | " WHERE combined_equipment_id = %s ", |
|
255 | (id_,)) |
|
256 | rows_combined_equipments = cursor.fetchall() |
|
257 | if rows_combined_equipments is not None and len(rows_combined_equipments) > 0: |
|
258 | cursor.close() |
|
259 | cnx.close() |
|
260 | raise falcon.HTTPError(status=falcon.HTTP_400, |
|
261 | title='API.BAD_REQUEST', |
|
262 | description='API.THERE_IS_RELATION_WITH_SPACES') |
|
263 | ||
264 | # delete relation with commands |
|
265 | cursor.execute(" DELETE FROM tbl_combined_equipments_commands WHERE combined_equipment_id = %s ", (id_,)) |
|
266 | ||
267 | # delete relation with equipments |
|
268 | cursor.execute(" DELETE FROM tbl_combined_equipments_equipments WHERE combined_equipment_id = %s ", (id_,)) |
|
269 | ||
270 | # delete relation with meters |
|
271 | cursor.execute(" DELETE FROM tbl_combined_equipments_meters WHERE combined_equipment_id = %s ", (id_,)) |
|
272 | ||
273 | # delete relation with offline meters |
|
274 | cursor.execute(" DELETE FROM tbl_combined_equipments_offline_meters WHERE combined_equipment_id = %s ", (id_,)) |
|
275 | ||
276 | # delete all associated parameters |
|
277 | cursor.execute(" DELETE FROM tbl_combined_equipments_parameters WHERE combined_equipment_id = %s ", (id_,)) |
|
278 | ||
279 | # delete relation with virtual meter |
|
280 | cursor.execute(" DELETE FROM tbl_combined_equipments_virtual_meters WHERE combined_equipment_id = %s ", (id_,)) |
|
281 | cnx.commit() |
|
282 | ||
283 | cursor.execute(" DELETE FROM tbl_combined_equipments WHERE id = %s ", (id_,)) |
|
284 | cnx.commit() |
|
285 | ||
286 | cursor.close() |
|
287 | cnx.close() |
|
288 | ||
289 | resp.status = falcon.HTTP_204 |
|
290 | ||
291 | @staticmethod |
|
292 | @user_logger |