wip: redis, sqlalchemy, structured, etc

This commit is contained in:
2021-06-28 12:08:09 +03:00
parent 133e1cd490
commit 9f01572557
37 changed files with 1297 additions and 62 deletions

34
auth/credentials.py Normal file
View File

@@ -0,0 +1,34 @@
from typing import List, Optional, Text
from pydantic import BaseModel
class Permission(BaseModel):
name: Text
class AuthCredentials(BaseModel):
user_id: Optional[int] = None
scopes: Optional[set] = {}
logged_in: bool = False
error_message: str = ""
@property
def is_admin(self):
return True
async def permissions(self) -> List[Permission]:
assert self.user_id is not None, "Please login first"
return NotImplemented()
class AuthUser(BaseModel):
user_id: Optional[int]
@property
def is_authenticated(self) -> bool:
return self.user_id is not None
@property
def display_id(self) -> int:
return self.user_id