Fix/update baskets:
- get_file - import - Basket importers must return BasketImportResult Add API points Fix utils delete_df and upsert_df, also making them async friendly Auth: add helper functions to UserRead
This commit is contained in:
parent
52e1d2135b
commit
d2ae5e4d7b
9 changed files with 323 additions and 182 deletions
|
@ -157,9 +157,9 @@ class Basket(BasketNameOnly):
|
|||
|
||||
|
||||
class BasketImportResult(BaseModel):
|
||||
time: datetime
|
||||
time: datetime = Field(default_factory=datetime.now)
|
||||
message: str
|
||||
details: str
|
||||
details: dict[str, str | int | float | bool] | None = None
|
||||
|
||||
class AdminBasketFile(BaseModel):
|
||||
id: int
|
||||
|
|
|
@ -86,6 +86,16 @@ class UserRead(UserBase):
|
|||
email: str | None # type: ignore
|
||||
roles: list[RoleReadNoUsers] = []
|
||||
|
||||
def can_view(self, model) -> bool:
|
||||
role = getattr(model, 'viewable_role', None)
|
||||
if role:
|
||||
return self.has_role(role)
|
||||
else:
|
||||
return True
|
||||
|
||||
def has_role(self, role: str) -> bool:
|
||||
return role in (role.name for role in self.roles)
|
||||
|
||||
|
||||
# class ACL(BaseModel):
|
||||
# user_id: int
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue