diff --git a/sg-backend/main.py b/sg-backend/main.py index 006d15eb447edc226e057c9f745f9fe42a9b43db..09f417de89826902b9b165b125d44b538e564075 100644 --- a/sg-backend/main.py +++ b/sg-backend/main.py @@ -46,14 +46,14 @@ app.add_middleware( @app.get("/software") -@cache(expire=60, key_builder=lambda *args, **kwargs: "software") +@cache(expire=300, key_builder=lambda *args, **kwargs: "software") async def software(): results = driver.get_softwares() return {"softwares": json.loads(json.dumps(results))} @app.get("/software-graph") -@cache(expire=60, key_builder=lambda *args, **kwargs: "software-graph") +@cache(expire=300, key_builder=lambda *args, **kwargs: "software-graph") async def software(): nodes = driver.get_nodes() jnodes = json.loads(json.dumps(nodes)) @@ -87,9 +87,15 @@ async def software(): return jsondata +def dynamic_software_merge_key_builder(func, *args, **kwargs): + search: SoftwareSearch = kwargs['kwargs']['search'] + key = f"software-merge-{search.software1}-{search.software2}" + return key + + @app.post("/software-search") +@cache(expire=300, key_builder=dynamic_software_merge_key_builder) async def software_search(search: SoftwareSearch): - print(search.software1, search.software2) res = driver.get_softwares_shortest_path(search) return {"softwares": res}