|
1 | | -from typing import Literal |
2 | | - |
3 | | -from fastapi import Body, Depends, Path, Query, Request, Security |
4 | | -from fastapi.responses import JSONResponse, Response |
| 1 | +from fastapi import Body, Depends, Path, Request, Security |
| 2 | +from fastapi.responses import Response |
5 | 3 | from sqlalchemy.ext.asyncio import AsyncSession |
6 | 4 |
|
7 | 5 | from api.endpoints.admin import router |
8 | 6 | from api.helpers._accesscontroller import AccessController |
9 | 7 | from api.helpers.models import ModelRegistry |
10 | | -from api.schemas.admin.providers import Provider, Providers, UpdateProvider |
| 8 | +from api.schemas.admin.providers import UpdateProvider |
11 | 9 | from api.schemas.admin.roles import PermissionType |
12 | 10 | from api.utils.dependencies import get_model_registry, get_postgres_session |
13 | 11 | from api.utils.variables import EndpointRoute |
@@ -41,56 +39,3 @@ async def update_provider( |
41 | 39 | ) |
42 | 40 |
|
43 | 41 | return Response(status_code=204) |
44 | | - |
45 | | - |
46 | | -@router.get( |
47 | | - path=EndpointRoute.ADMIN_PROVIDERS + "/{provider}", |
48 | | - dependencies=[Security(dependency=AccessController(permissions=[PermissionType.PROVIDE_MODELS]))], |
49 | | - status_code=200, |
50 | | - response_model=Provider, |
51 | | -) |
52 | | -async def get_provider( |
53 | | - request: Request, |
54 | | - provider: int = Path(description="The ID of the provider to get."), |
55 | | - postgres_session: AsyncSession = Depends(get_postgres_session), |
56 | | - model_registry: ModelRegistry = Depends(get_model_registry), |
57 | | -) -> JSONResponse: |
58 | | - """ |
59 | | - Get a model provider by router and provider IDs. |
60 | | - """ |
61 | | - providers = await model_registry.get_providers(router_id=router, provider_id=provider, postgres_session=postgres_session) |
62 | | - provider = providers[0] |
63 | | - |
64 | | - return JSONResponse(status_code=200, content=provider.model_dump()) |
65 | | - |
66 | | - |
67 | | -@router.get( |
68 | | - path=EndpointRoute.ADMIN_PROVIDERS, |
69 | | - dependencies=[Security(dependency=AccessController(permissions=[PermissionType.ADMIN, PermissionType.PROVIDE_MODELS]))], |
70 | | - status_code=200, |
71 | | - response_model=Providers, |
72 | | -) |
73 | | -async def get_providers( |
74 | | - request: Request, |
75 | | - router: int | None = Query(default=None, description="Filter providers by router ID."), |
76 | | - offset: int = Query(default=0, ge=0, description="The offset of the tokens to get."), |
77 | | - limit: int = Query(default=10, ge=1, le=100, description="The limit of the tokens to get."), |
78 | | - order_by: Literal["id", "model_name", "created"] = Query(default="id", description="The field to order the tokens by."), |
79 | | - order_direction: Literal["asc", "desc"] = Query(default="asc", description="The direction to order the tokens by."), |
80 | | - postgres_session: AsyncSession = Depends(get_postgres_session), |
81 | | - model_registry: ModelRegistry = Depends(get_model_registry), |
82 | | -) -> JSONResponse: |
83 | | - """ |
84 | | - Get all model providers for a router. |
85 | | - """ |
86 | | - providers = await model_registry.get_providers( |
87 | | - router_id=router, |
88 | | - provider_id=None, |
89 | | - postgres_session=postgres_session, |
90 | | - offset=offset, |
91 | | - limit=limit, |
92 | | - order_by=order_by, |
93 | | - order_direction=order_direction, |
94 | | - ) |
95 | | - |
96 | | - return JSONResponse(status_code=200, content=Providers(data=providers).model_dump()) |
0 commit comments