Admins basket details
This commit is contained in:
parent
c1f229f805
commit
b00bf1f9f9
3 changed files with 94 additions and 47 deletions
|
@ -1,8 +1,8 @@
|
|||
import logging
|
||||
|
||||
from fastapi import Depends, FastAPI, HTTPException, status, responses
|
||||
from gisaf.models.admin import Basket, BasketNameOnly
|
||||
|
||||
from gisaf.models.admin import AdminBasket, BasketNameOnly
|
||||
from gisaf.models.authentication import User
|
||||
from gisaf.security import get_current_active_user
|
||||
from gisaf.admin import manager
|
||||
|
@ -21,3 +21,20 @@ async def get_baskets(
|
|||
BasketNameOnly(name=name)
|
||||
for name, basket in (await manager.baskets_for_role(user)).items()
|
||||
]
|
||||
|
||||
@api.get('/basket/{name}')
|
||||
async def get_basket(
|
||||
name: str,
|
||||
user: User = Depends(get_current_active_user),
|
||||
) -> AdminBasket:
|
||||
basket = manager.baskets[name]
|
||||
if basket.role and not user.has_role(basket.role):
|
||||
raise HTTPException(status.HTTP_401_UNAUTHORIZED)
|
||||
return AdminBasket(
|
||||
name=name,
|
||||
files=await basket.get_files(),
|
||||
columns=basket.columns,
|
||||
uploadFields=basket.upload_fields,
|
||||
## TODO: Fix projects
|
||||
# projects=getattr(basket, 'projects', None)
|
||||
)
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue