Created Queries and Execute endpoint

This commit is contained in:
2025-02-24 12:15:01 +03:00
parent cabcf837f9
commit 836ce1dc82
14 changed files with 635 additions and 50 deletions

View File

@@ -1,8 +1,8 @@
# crud.py
from sqlalchemy.ext.asyncio import AsyncSession
from sqlalchemy.future import select
from data.models import Connection, User
from data.schemas import ConnectionCreate, ConnectionUpdate, UserCreate
from data.models import Connection, User, Query
from data.schemas import ConnectionCreate, ConnectionUpdate, UserCreate, SelectQueryIn
from core.exceptions import ObjectNotFoundInDB
async def read_user(db:AsyncSession, user_id:int):
@@ -14,7 +14,7 @@ async def read_all_users(db:AsyncSession):
return result.scalars().all()
async def create_user(db: AsyncSession, user: UserCreate):
from core.scripts import create_secret
from utils.scripts import create_secret
db_user = User(**user.model_dump(), api_key=create_secret())
db.add(db_user)
await db.commit()
@@ -60,3 +60,18 @@ async def delete_connection(db: AsyncSession, connection_id: int):
await db.delete(db_connection)
await db.commit()
return db_connection
async def create_select_query(db:AsyncSession, query:SelectQueryIn) -> Query:
db_query = Query(**query.model_dump())
db.add(db_query)
await db.commit()
await db.refresh(db_query)
return db_query
async def read_all_select_queries(db:AsyncSession) -> list[Query]:
result = await db.execute(select(Query))
return result.scalars().all()
async def read_select_query(db:AsyncSession, query_id:int) -> Query:
result = await db.execute(select(Query).filter(Query.id == query_id))
return result.scalars().first()