diff --git a/app/utils/next_id.py b/app/utils/next_id.py new file mode 100644 index 0000000..e47b035 --- /dev/null +++ b/app/utils/next_id.py @@ -0,0 +1,23 @@ +from fastapi import FastAPI +from sqlalchemy import text + +from app.utils.mysql_utils import async_session + + +async def next_id(num: int = 1): + async with async_session() as session: + sql_string = "select " + ",".join([f"uuid() as _{index}" for index in range(num)]) + print(sql_string) + result = await session.execute(text(sql_string)) + val = result.first() + print(val) + arr = list(val or []) + return arr[0] if num == 1 else arr + + +def add_next_id_route(app: FastAPI): + @app.get("/next_id") + async def _next_id(num: int = 1): + return { + "data": await next_id(num), + } diff --git a/app/utils/path_join.py b/app/utils/path_join.py new file mode 100644 index 0000000..5f33a3d --- /dev/null +++ b/app/utils/path_join.py @@ -0,0 +1,6 @@ +import os +from typing import List + + +def path_join(*pat_list: List[str]): + return os.path.join(*pat_list).replace('\\', '/')