feat: initialize aivideo project
This commit is contained in:
66
backend/app/modules/providers/router.py
Normal file
66
backend/app/modules/providers/router.py
Normal file
@@ -0,0 +1,66 @@
|
||||
from fastapi import APIRouter, Depends
|
||||
from sqlalchemy.orm import Session
|
||||
|
||||
from app.common.db.session import get_db
|
||||
from app.common.responses.api_response import success_response
|
||||
from app.common.security.deps import require_admin_permission
|
||||
from app.modules.providers.schema import ProviderAccountPayload, ProviderModelPayload
|
||||
from app.modules.providers.service import ProvidersService
|
||||
|
||||
|
||||
router = APIRouter(prefix="/api/v1/admin", tags=["admin-providers"])
|
||||
|
||||
|
||||
@router.get("/provider-accounts")
|
||||
def list_provider_accounts(
|
||||
_=Depends(require_admin_permission()),
|
||||
db: Session = Depends(get_db),
|
||||
):
|
||||
return success_response(ProvidersService(db).list_accounts())
|
||||
|
||||
|
||||
@router.post("/provider-accounts")
|
||||
def create_provider_account(
|
||||
payload: ProviderAccountPayload,
|
||||
_=Depends(require_admin_permission()),
|
||||
db: Session = Depends(get_db),
|
||||
):
|
||||
return success_response(ProvidersService(db).create_account(payload))
|
||||
|
||||
|
||||
@router.put("/provider-accounts/{account_id}")
|
||||
def update_provider_account(
|
||||
account_id: int,
|
||||
payload: ProviderAccountPayload,
|
||||
_=Depends(require_admin_permission()),
|
||||
db: Session = Depends(get_db),
|
||||
):
|
||||
return success_response(ProvidersService(db).update_account(account_id, payload))
|
||||
|
||||
|
||||
@router.get("/provider-models")
|
||||
def list_provider_models(
|
||||
_=Depends(require_admin_permission()),
|
||||
db: Session = Depends(get_db),
|
||||
):
|
||||
return success_response(ProvidersService(db).list_models())
|
||||
|
||||
|
||||
@router.post("/provider-models")
|
||||
def create_provider_model(
|
||||
payload: ProviderModelPayload,
|
||||
_=Depends(require_admin_permission()),
|
||||
db: Session = Depends(get_db),
|
||||
):
|
||||
return success_response(ProvidersService(db).create_model(payload))
|
||||
|
||||
|
||||
@router.put("/provider-models/{model_id}")
|
||||
def update_provider_model(
|
||||
model_id: int,
|
||||
payload: ProviderModelPayload,
|
||||
_=Depends(require_admin_permission()),
|
||||
db: Session = Depends(get_db),
|
||||
):
|
||||
return success_response(ProvidersService(db).update_model(model_id, payload))
|
||||
|
||||
Reference in New Issue
Block a user