diff --git a/main.py b/main.py index 3523463..984b4fc 100644 --- a/main.py +++ b/main.py @@ -1572,87 +1572,133 @@ async def fastapi_delete_region(network: str, req: Request) -> ChangeSet: # district_metering_area 33 ############################################################ @app.get('/calculatedistrictmeteringareafornodes/') -async def fastapi_calculate_district_metering_area_for_nodes(name: str, nodes: list[str], part_count: int = 1, part_type: int = PARTITION_TYPE_RB) -> list[list[str]]: - return calculate_district_metering_area_for_nodes(name, nodes, part_count, part_type) +async def fastapi_calculate_district_metering_area_for_nodes(network: str, nodes: list[str], part_count: int, part_type: int) -> list[list[str]]: + return calculate_district_metering_area_for_nodes(network, nodes, part_count, part_type) @app.get('/calculatedistrictmeteringareaforregion/') -async def fastapi_calculate_district_metering_area_for_region(name: str, region: str, part_count: int = 1, part_type: int = PARTITION_TYPE_RB) -> list[list[str]]: - return calculate_district_metering_area_for_region(name, region, part_count, part_type) +async def fastapi_calculate_district_metering_area_for_region(network: str, region: str, part_count: int, part_type: int) -> list[list[str]]: + return calculate_district_metering_area_for_region(network, region, part_count, part_type) @app.get('/calculatedistrictmeteringareafornetwork/') -async def fastapi_calculate_district_metering_area_for_network(name: str, part_count: int = 1, part_type: int = PARTITION_TYPE_RB) -> list[list[str]]: - return calculate_district_metering_area_for_network(name, part_count, part_type) +async def fastapi_calculate_district_metering_area_for_network(network: str, part_count: int, part_type: int) -> list[list[str]]: + return calculate_district_metering_area_for_network(network, part_count, part_type) @app.get('/getdistrictmeteringareaschema/') -async def fastapi_get_district_metering_area_schema(name: str) -> dict[str, dict[str, Any]]: - return get_district_metering_area_schema(name) +async def fastapi_get_district_metering_area_schema(network: str) -> dict[str, dict[str, Any]]: + return get_district_metering_area_schema(network) @app.get('/getdistrictmeteringarea/') -async def fastapi_get_district_metering_area(name: str, id: str) -> dict[str, Any]: - return get_district_metering_area(name, id) +async def fastapi_get_district_metering_area(network: str, id: str) -> dict[str, Any]: + return get_district_metering_area(network, id) @app.post('/setdistrictmeteringarea/') -async def fastapi_set_district_metering_area(name: str, cs: ChangeSet) -> ChangeSet: - return set_district_metering_area(name, cs) +async def fastapi_set_district_metering_area(network: str, cs: ChangeSet) -> ChangeSet: + return set_district_metering_area(network, cs) @app.post('/adddistrictmeteringarea/') -async def fastapi_add_district_metering_area(name: str, cs: ChangeSet) -> ChangeSet: - return add_district_metering_area(name, cs) +async def fastapi_add_district_metering_area(network: str, cs: ChangeSet) -> ChangeSet: + return add_district_metering_area(network, cs) @app.post('/deletedistrictmeteringarea/') -async def fastapi_delete_district_metering_area(name: str, cs: ChangeSet) -> ChangeSet: - return delete_district_metering_area(name, cs) +async def fastapi_delete_district_metering_area(network: str, cs: ChangeSet) -> ChangeSet: + return delete_district_metering_area(network, cs) @app.get('/getalldistrictmeteringareaids/') -async def fastapi_get_all_district_metering_area_ids(name: str) -> list[str]: - return get_all_district_metering_area_ids(name) +async def fastapi_get_all_district_metering_area_ids(network: str) -> list[str]: + return get_all_district_metering_area_ids(network) @app.get('/calculatedistrictmeteringareafornodes/') -async def getalldistrictmeteringareas(name: str) -> list[dict[str, Any]]: - return get_all_district_metering_areas(name) +async def getalldistrictmeteringareas(network: str) -> list[dict[str, Any]]: + return get_all_district_metering_areas(network) @app.post('/generatedistrictmeteringarea/') -async def fastapi_generate_district_metering_area(name: str, part_count: int = 1, part_type: int = PARTITION_TYPE_RB) -> ChangeSet: - return generate_district_metering_area(name, part_count, part_type) +async def fastapi_generate_district_metering_area(network: str, part_count: int = 1, part_type: int = PARTITION_TYPE_RB) -> ChangeSet: + return generate_district_metering_area(network, part_count, part_type) @app.post('/generatesubdistrictmeteringarea/') -async def fastapi_generate_sub_district_metering_area(name: str, dma: str, part_count: int = 1, part_type: int = PARTITION_TYPE_RB) -> ChangeSet: - return generate_sub_district_metering_area(name, dma, part_count, part_type) +async def fastapi_generate_sub_district_metering_area(network: str, dma: str, part_count: int = 1, part_type: int = PARTITION_TYPE_RB) -> ChangeSet: + return generate_sub_district_metering_area(network, dma, part_count, part_type) ############################################################ -# water_distribution 34 +# service_area 34 ############################################################ -@app.post('/distributedemandtonodes/') -async def fastapi_distribute_demand_to_nodes(network: str, demand: float, nodes: list[str], type: str) -> ChangeSet: - return calculate_demand_to_nodes(network, demand, nodes, type) - -@app.post("/distributedemandtoregion/") -async def fastapi_distribute_demand_to_region(network: str, demand: float, region: str, type: str) -> ChangeSet: - return distribute_demand_to_region(network, demand, region, type) - - -############################################################ -# district_metering_area 35 -############################################################ -@app.post('/calculatedistrictmeteringarea/') -async def fastapi_calculate_district_metering_area(network: str, nodes: list[str], part_count: int, part_type: int) -> list[list[str]]: - return calculate_district_metering_area(network, nodes, part_count, part_type) - - -############################################################ -# service_area 36 -############################################################ -@app.post('/calculateservicearea/') -async def fastapi_calculate_service_area(network: str, time_index: int) -> dict[str, Any]: +@app.get('/calculateservicearea/') +async def fastapi_calculate_service_area(network: str, time_index: int = 0) -> dict[str, Any]: return calculate_service_area(network, time_index) +@app.get('/getserviceareaschema/') +def fastapi_get_service_area_schema(network: str) -> dict[str, dict[str, Any]]: + return get_service_area_schema(network) + +@app.get('/getservicearea/') +def fastapi_get_service_area(network: str, id: str) -> dict[str, Any]: + return get_service_area(network, id) + +@app.post('/setservicearea/') +def fastapi_set_service_area(network: str, cs: ChangeSet) -> ChangeSet: + return set_service_area(network, cs) + +@app.post('/addservicearea/') +def fastapi_add_service_area(network: str, cs: ChangeSet) -> ChangeSet: + return add_service_area(network, cs) + +@app.post('/deleteservicearea/') +def fastapi_delete_service_area(network: str, cs: ChangeSet) -> ChangeSet: + return delete_service_area(network, cs) + +@app.get('/getallserviceareas/') +def fastapi_get_all_service_areas(network: str) -> list[dict[str, Any]]: + return get_all_service_areas(network) + +@app.post('/generateservicearea/') +def fastapi_generate_service_area(network: str) -> ChangeSet: + return generate_service_area(network) + ############################################################ -# virtual_district 37 +# virtual_district 35 ############################################################ -@app.post('/calculatevirtualdistrict/') -async def fastapi_calculate_virtual_district(network: str, centers: list[str]) -> dict[str, list[Any]]: - return calculate_virtual_district(network, centers) + +def calculate_virtual_district(name: str, centers: list[str]) -> dict[str, list[Any]]: + return api.calculate_virtual_district(name, centers) + +def get_virtual_district_schema(name: str) -> dict[str, dict[str, Any]]: + return {} + +def get_virtual_district(name: str, id: str) -> dict[str, Any]: + return {} + +def set_virtual_district(name: str, cs: ChangeSet) -> ChangeSet: + return ChangeSet() + +def add_virtual_district(name: str, cs: ChangeSet) -> ChangeSet: + return ChangeSet() + +def delete_virtual_district(name: str, cs: ChangeSet) -> ChangeSet: + return ChangeSet() + +def get_all_virtual_district(name: str) -> list[dict[str, Any]]: + return [] + +def generate_virtual_district(name: str, centers: list[str]) -> ChangeSet: + return ChangeSet() + + +############################################################ +# water_distribution_area 36 +############################################################ + +def calculate_demand_to_nodes(name: str, demand: float, nodes: list[str]) -> dict[str, float]: + return api.calculate_demand_to_nodes(name, demand, nodes) + +# if region is general or wda => get_nodes_in_boundary +# if region is dma, sa or vd => get stored nodes in table +# TODO: more test +def calculate_demand_to_region(name: str, demand: float, region: str) -> dict[str, float]: + return api.calculate_demand_to_region(name, demand, region) + +def calculate_demand_to_network(name: str, demand: float) -> dict[str, float]: + return api.calculate_demand_to_network(name, demand)