feat: datasource api

This commit is contained in:
junjun
2025-04-25 18:49:56 +08:00
parent 0d2d38327e
commit 8d58ec6614
9 changed files with 33 additions and 0 deletions
+3
View File
@@ -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)
View File
@@ -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)
+1
View File
@@ -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"