diff --git a/api/batch_api_cs.py b/api/batch_api_cs.py index 6db3f3a..755a8e4 100644 --- a/api/batch_api_cs.py +++ b/api/batch_api_cs.py @@ -191,29 +191,6 @@ def delete_curve_cascade_batch_cs(name: str, cs: ChangeSet) -> ChangeSet: return result -def del_cascade_cs(name: str, cs: ChangeSet) -> ChangeSet: - type = cs.operations[0]['type'] - - if type == s2_junction: - return delete_junction_cascade_batch_cs(name, cs) - elif type == s3_reservoir: - return delete_reservoir_cascade_batch_cs(name, cs) - elif type == s4_tank: - return delete_tank_cascade_batch_cs(name, cs) - elif type == s5_pipe: - return delete_pipe_cascade_batch_cs(name, cs) - elif type == s6_pump: - return delete_pump_cascade_batch_cs(name, cs) - elif type == s7_valve: - return delete_valve_cascade_batch_cs(name, cs) - elif type == s11_pattern: - return delete_pattern_cascade_batch_cs(name, cs) - elif type == s12_curve: - return delete_curve_cascade_batch_cs(name, cs) - - return cs - - def set_option_cs(cs: ChangeSet) -> ChangeSet: cs.operations[0]['operation'] = API_UPDATE cs.operations[0]['type'] = 'option' @@ -230,36 +207,6 @@ def set_option_v3_cs(cs: ChangeSet) -> ChangeSet: return new_cs -def clean_scada_device_cs(name: str) -> ChangeSet: - cs = ChangeSet() - - rows = read_all(name, 'select id from scada_device acs') - for row in rows: - cs.delete({ 'type': 'scada_device', 'id': row['id'] }) - - return cs - - -def clean_scada_device_data_cs(name: str) -> ChangeSet: - cs = ChangeSet() - - rows = read_all(name, 'select distinct device_id from scada_device_data acs') - for row in rows: - cs.update({ 'type': 'scada_device_data', 'device_id': row['device_id'], 'data': [] }) - - return cs - - -def clean_scada_element_cs(name: str) -> ChangeSet: - cs = ChangeSet() - - rows = read_all(name, 'select id from scada_element acs') - for row in rows: - cs.delete({ 'type': 'scada_element', 'id': row['id'] }) - - return cs - - def rewrite_batch_api(name: str, cs: ChangeSet) -> ChangeSet: op = cs.operations[0] api = op['operation'] @@ -288,6 +235,4 @@ def rewrite_batch_api(name: str, cs: ChangeSet) -> ChangeSet: elif type == s23_option_v3: return set_option_v3_cs(cs) - # TODO: support clean - return cs diff --git a/api/clean_api.py b/api/clean_api.py index 178d380..ba3d7f8 100644 --- a/api/clean_api.py +++ b/api/clean_api.py @@ -1,9 +1,38 @@ -from .database import ChangeSet -from .batch_api_cs import clean_scada_device_cs, clean_scada_device_data_cs, clean_scada_element_cs +from .database import ChangeSet, read_all from .batch_exe import execute_batch_command # TODO: merge to batch_api +def clean_scada_device_cs(name: str) -> ChangeSet: + cs = ChangeSet() + + rows = read_all(name, 'select id from scada_device acs') + for row in rows: + cs.delete({ 'type': 'scada_device', 'id': row['id'] }) + + return cs + + +def clean_scada_device_data_cs(name: str) -> ChangeSet: + cs = ChangeSet() + + rows = read_all(name, 'select distinct device_id from scada_device_data acs') + for row in rows: + cs.update({ 'type': 'scada_device_data', 'device_id': row['device_id'], 'data': [] }) + + return cs + + +def clean_scada_element_cs(name: str) -> ChangeSet: + cs = ChangeSet() + + rows = read_all(name, 'select id from scada_element acs') + for row in rows: + cs.delete({ 'type': 'scada_element', 'id': row['id'] }) + + return cs + + def clean_scada_device(name: str) -> ChangeSet: return execute_batch_command(name, clean_scada_device_cs(name))