mirror of
https://gh-proxy.org/https://github.com/klinsmaya/SQLBot.git
synced 2026-11-08 01:06:59 +08:00
feat: datasource api
This commit is contained in:
@@ -2,10 +2,13 @@ from fastapi import APIRouter
|
||||
|
||||
from apps.system.api import login, user
|
||||
from apps.settings.api import terminology
|
||||
from apps.datasource.api import datasource
|
||||
|
||||
|
||||
api_router = APIRouter()
|
||||
api_router.include_router(login.router)
|
||||
api_router.include_router(user.router)
|
||||
api_router.include_router(terminology.router)
|
||||
api_router.include_router(datasource.router)
|
||||
|
||||
|
||||
|
||||
@@ -0,0 +1,9 @@
|
||||
from fastapi import APIRouter, HTTPException
|
||||
from ..crud.datasource import get_datasource_list
|
||||
from common.core.deps import SessionDep
|
||||
|
||||
router = APIRouter(tags=["datasource"], prefix="/datasource")
|
||||
|
||||
@router.get("/list")
|
||||
def datasource_list(session: SessionDep):
|
||||
return get_datasource_list(session=session)
|
||||
@@ -0,0 +1,7 @@
|
||||
from sqlmodel import Session, select
|
||||
from ..models.datasource import core_datasource
|
||||
|
||||
def get_datasource_list(session: Session) -> core_datasource | None:
|
||||
statement = select(core_datasource)
|
||||
datasource_list = session.exec(statement).fetchall()
|
||||
return datasource_list
|
||||
@@ -0,0 +1,13 @@
|
||||
from sqlmodel import SQLModel, Field
|
||||
from sqlalchemy import Column, Text, BigInteger, DateTime, Integer, Identity
|
||||
from datetime import datetime
|
||||
|
||||
class core_datasource(SQLModel, table=True):
|
||||
id: int = Field(sa_column=Column(Integer, Identity(always=True), nullable=False, primary_key=True))
|
||||
name: str = Field(max_length=128, nullable=False)
|
||||
description: str = Field(max_length=512, nullable=True)
|
||||
type: str = Field(max_length=64)
|
||||
configuration: str = Field(sa_column=Column(Text))
|
||||
create_time: datetime = Field(sa_column=Column(DateTime(timezone=True), nullable=True))
|
||||
create_by: int = Field(sa_column=Column(BigInteger()))
|
||||
status: str = Field(max_length=64, nullable=True)
|
||||
@@ -18,6 +18,7 @@ dependencies = [
|
||||
"pydantic-settings<3.0.0,>=2.2.1",
|
||||
"sentry-sdk[fastapi]<2.0.0,>=1.40.6",
|
||||
"pyjwt<3.0.0,>=2.8.0",
|
||||
"pyodbc (>=5.2.0,<5.2.1)",
|
||||
]
|
||||
[[tool.uv.index]]
|
||||
url = "https://pypi.tuna.tsinghua.edu.cn/simple"
|
||||
|
||||
Reference in New Issue
Block a user