@@ 156-228 (lines=73) @@ | ||
153 | "description": row[5]} |
|
154 | resp.body = json.dumps(result) |
|
155 | ||
156 | @staticmethod |
|
157 | def on_delete(req, resp, id_): |
|
158 | if not id_.isdigit() or int(id_) <= 0: |
|
159 | raise falcon.HTTPError(falcon.HTTP_400, title='API.BAD_REQUEST', |
|
160 | description='API.INVALID_CONTACT_ID') |
|
161 | ||
162 | cnx = mysql.connector.connect(**config.myems_system_db) |
|
163 | cursor = cnx.cursor() |
|
164 | ||
165 | cursor.execute(" SELECT name " |
|
166 | " FROM tbl_contacts " |
|
167 | " WHERE id = %s ", (id_,)) |
|
168 | if cursor.fetchone() is None: |
|
169 | cursor.close() |
|
170 | cnx.disconnect() |
|
171 | raise falcon.HTTPError(falcon.HTTP_404, title='API.NOT_FOUND', |
|
172 | description='API.CONTACT_NOT_FOUND') |
|
173 | ||
174 | # check relation with shopfloors |
|
175 | cursor.execute(" SELECT id " |
|
176 | " FROM tbl_shopfloors " |
|
177 | " WHERE contact_id = %s ", (id_,)) |
|
178 | rows_shopfloors = cursor.fetchall() |
|
179 | if rows_shopfloors is not None and len(rows_shopfloors) > 0: |
|
180 | cursor.close() |
|
181 | cnx.disconnect() |
|
182 | raise falcon.HTTPError(falcon.HTTP_400, |
|
183 | title='API.BAD_REQUEST', |
|
184 | description='API.THERE_IS_RELATION_WITH_SHOPFLOORS') |
|
185 | ||
186 | # check relation with spaces |
|
187 | cursor.execute(" SELECT id " |
|
188 | " FROM tbl_spaces " |
|
189 | " WHERE contact_id = %s ", (id_,)) |
|
190 | rows_spaces = cursor.fetchall() |
|
191 | if rows_spaces is not None and len(rows_spaces) > 0: |
|
192 | cursor.close() |
|
193 | cnx.disconnect() |
|
194 | raise falcon.HTTPError(falcon.HTTP_400, |
|
195 | title='API.BAD_REQUEST', |
|
196 | description='API.THERE_IS_RELATION_WITH_SPACES') |
|
197 | ||
198 | # check relation with stores |
|
199 | cursor.execute(" SELECT id " |
|
200 | " FROM tbl_stores " |
|
201 | " WHERE contact_id = %s ", (id_,)) |
|
202 | rows_stores = cursor.fetchall() |
|
203 | if rows_stores is not None and len(rows_stores) > 0: |
|
204 | cursor.close() |
|
205 | cnx.disconnect() |
|
206 | raise falcon.HTTPError(falcon.HTTP_400, |
|
207 | title='API.BAD_REQUEST', |
|
208 | description='API.THERE_IS_RELATION_WITH_STORES') |
|
209 | ||
210 | # check relation with tenants |
|
211 | cursor.execute(" SELECT id " |
|
212 | " FROM tbl_tenants " |
|
213 | " WHERE contact_id = %s ", (id_,)) |
|
214 | rows_tenants = cursor.fetchall() |
|
215 | if rows_tenants is not None and len(rows_tenants) > 0: |
|
216 | cursor.close() |
|
217 | cnx.disconnect() |
|
218 | raise falcon.HTTPError(falcon.HTTP_400, |
|
219 | title='API.BAD_REQUEST', |
|
220 | description='API.THERE_IS_RELATION_WITH_TENANTS') |
|
221 | ||
222 | cursor.execute(" DELETE FROM tbl_contacts WHERE id = %s ", (id_,)) |
|
223 | cnx.commit() |
|
224 | ||
225 | cursor.close() |
|
226 | cnx.disconnect() |
|
227 | ||
228 | resp.status = falcon.HTTP_204 |
|
229 | ||
230 | @staticmethod |
|
231 | def on_put(req, resp, id_): |
@@ 129-201 (lines=73) @@ | ||
126 | ||
127 | resp.body = json.dumps(meta_result) |
|
128 | ||
129 | @staticmethod |
|
130 | def on_delete(req, resp, id_): |
|
131 | if not id_.isdigit() or int(id_) <= 0: |
|
132 | raise falcon.HTTPError(falcon.HTTP_400, title='API.BAD_REQUEST', |
|
133 | description='API.INVALID_SENSOR_ID') |
|
134 | ||
135 | cnx = mysql.connector.connect(**config.myems_system_db) |
|
136 | cursor = cnx.cursor() |
|
137 | ||
138 | cursor.execute(" SELECT name " |
|
139 | " FROM tbl_sensors " |
|
140 | " WHERE id = %s ", (id_,)) |
|
141 | if cursor.fetchone() is None: |
|
142 | cursor.close() |
|
143 | cnx.disconnect() |
|
144 | raise falcon.HTTPError(falcon.HTTP_404, title='API.NOT_FOUND', |
|
145 | description='API.SENSOR_NOT_FOUND') |
|
146 | ||
147 | # check relation with spaces |
|
148 | cursor.execute(" SELECT id " |
|
149 | " FROM tbl_spaces_sensors " |
|
150 | " WHERE sensor_id = %s ", (id_,)) |
|
151 | rows_spaces = cursor.fetchall() |
|
152 | if rows_spaces is not None and len(rows_spaces) > 0: |
|
153 | cursor.close() |
|
154 | cnx.disconnect() |
|
155 | raise falcon.HTTPError(falcon.HTTP_400, |
|
156 | title='API.BAD_REQUEST', |
|
157 | description='API.THERE_IS_RELATION_WITH_SPACES') |
|
158 | ||
159 | # check relation with tenants |
|
160 | cursor.execute(" SELECT id " |
|
161 | " FROM tbl_tenants_sensors " |
|
162 | " WHERE sensor_id = %s ", (id_,)) |
|
163 | rows_tenants = cursor.fetchall() |
|
164 | if rows_tenants is not None and len(rows_tenants) > 0: |
|
165 | cursor.close() |
|
166 | cnx.disconnect() |
|
167 | raise falcon.HTTPError(falcon.HTTP_400, |
|
168 | title='API.BAD_REQUEST', |
|
169 | description='API.THERE_IS_RELATION_WITH_TENANTS') |
|
170 | ||
171 | # check relation with stores |
|
172 | cursor.execute(" SELECT store_id " |
|
173 | " FROM tbl_stores_sensors " |
|
174 | " WHERE sensor_id = %s ", (id_,)) |
|
175 | rows_stores = cursor.fetchall() |
|
176 | if rows_stores is not None and len(rows_stores) > 0: |
|
177 | cursor.close() |
|
178 | cnx.disconnect() |
|
179 | raise falcon.HTTPError(falcon.HTTP_400, |
|
180 | title='API.BAD_REQUEST', |
|
181 | description='API.THERE_IS_RELATION_WITH_STORES') |
|
182 | ||
183 | # check relation with points |
|
184 | cursor.execute(" SELECT id " |
|
185 | " FROM tbl_sensors_points " |
|
186 | " WHERE sensor_id = %s ", (id_,)) |
|
187 | rows_points = cursor.fetchall() |
|
188 | if rows_points is not None and len(rows_points) > 0: |
|
189 | cursor.close() |
|
190 | cnx.disconnect() |
|
191 | raise falcon.HTTPError(falcon.HTTP_400, |
|
192 | title='API.BAD_REQUEST', |
|
193 | description='API.THERE_IS_RELATION_WITH_POINTS') |
|
194 | ||
195 | cursor.execute(" DELETE FROM tbl_sensors WHERE id = %s ", (id_,)) |
|
196 | cnx.commit() |
|
197 | ||
198 | cursor.close() |
|
199 | cnx.disconnect() |
|
200 | ||
201 | resp.status = falcon.HTTP_204 |
|
202 | ||
203 | @staticmethod |
|
204 | def on_put(req, resp, id_): |
@@ 200-271 (lines=72) @@ | ||
197 | ||
198 | resp.body = json.dumps(meta_result) |
|
199 | ||
200 | @staticmethod |
|
201 | def on_delete(req, resp, id_): |
|
202 | if not id_.isdigit() or int(id_) <= 0: |
|
203 | raise falcon.HTTPError(falcon.HTTP_400, title='API.BAD_REQUEST', |
|
204 | description='API.INVALID_COMBINED_EQUIPMENT_ID') |
|
205 | ||
206 | cnx = mysql.connector.connect(**config.myems_system_db) |
|
207 | cursor = cnx.cursor() |
|
208 | ||
209 | # check relation with space |
|
210 | cursor.execute(" SELECT space_id " |
|
211 | " FROM tbl_spaces_combined_equipments " |
|
212 | " WHERE combined_equipment_id = %s ", |
|
213 | (id_,)) |
|
214 | rows_combined_equipments = cursor.fetchall() |
|
215 | if rows_combined_equipments is not None and len(rows_combined_equipments) > 0: |
|
216 | cursor.close() |
|
217 | cnx.disconnect() |
|
218 | raise falcon.HTTPError(falcon.HTTP_400, |
|
219 | title='API.BAD_REQUEST', |
|
220 | description='API.THERE_IS_RELATION_WITH_SPACE') |
|
221 | ||
222 | # check relation with meter |
|
223 | cursor.execute(" SELECT meter_id " |
|
224 | " FROM tbl_combined_equipments_meters " |
|
225 | " WHERE combined_equipment_id = %s ", |
|
226 | (id_,)) |
|
227 | rows_meters = cursor.fetchall() |
|
228 | if rows_meters is not None and len(rows_meters) > 0: |
|
229 | cursor.close() |
|
230 | cnx.disconnect() |
|
231 | raise falcon.HTTPError(falcon.HTTP_400, |
|
232 | title='API.BAD_REQUEST', |
|
233 | description='API.THERE_IS_RELATION_WITH_METER') |
|
234 | ||
235 | # check relation with offline meter |
|
236 | cursor.execute(" SELECT offline_meter_id " |
|
237 | " FROM tbl_combined_equipments_offline_meters " |
|
238 | " WHERE combined_equipment_id = %s ", |
|
239 | (id_,)) |
|
240 | rows_offline_meters = cursor.fetchall() |
|
241 | if rows_offline_meters is not None and len(rows_offline_meters) > 0: |
|
242 | cursor.close() |
|
243 | cnx.disconnect() |
|
244 | raise falcon.HTTPError(falcon.HTTP_400, |
|
245 | title='API.BAD_REQUEST', |
|
246 | description='API.THERE_IS_RELATION_WITH_OFFLINE_METER') |
|
247 | ||
248 | # check relation with virtual meter |
|
249 | cursor.execute(" SELECT virtual_meter_id " |
|
250 | " FROM tbl_combined_equipments_virtual_meters " |
|
251 | " WHERE combined_equipment_id = %s ", |
|
252 | (id_,)) |
|
253 | rows_virtual_meters = cursor.fetchall() |
|
254 | if rows_virtual_meters is not None and len(rows_virtual_meters) > 0: |
|
255 | cursor.close() |
|
256 | cnx.disconnect() |
|
257 | raise falcon.HTTPError(falcon.HTTP_400, |
|
258 | title='API.BAD_REQUEST', |
|
259 | description='API.THERE_IS_RELATION_WITH_VIRTUAL_METER') |
|
260 | ||
261 | # delete all associated parameters |
|
262 | cursor.execute(" DELETE FROM tbl_combined_equipments_parameters WHERE combined_equipment_id = %s ", (id_,)) |
|
263 | cnx.commit() |
|
264 | ||
265 | cursor.execute(" DELETE FROM tbl_combined_equipments WHERE id = %s ", (id_,)) |
|
266 | cnx.commit() |
|
267 | ||
268 | cursor.close() |
|
269 | cnx.disconnect() |
|
270 | ||
271 | resp.status = falcon.HTTP_204 |
|
272 | ||
273 | @staticmethod |
|
274 | def on_put(req, resp, id_): |