Created Queries and Execute endpoint
This commit is contained in:
21
data/crud.py
21
data/crud.py
@@ -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()
|
||||
Reference in New Issue
Block a user