feat: init roles + authorship detection

This commit is contained in:
swve 2023-11-27 22:16:22 +01:00
parent 38288e8a57
commit 0595bfdb3f
16 changed files with 109 additions and 236 deletions

View file

@ -1,18 +0,0 @@
from typing import Optional
from sqlmodel import Field, SQLModel
from enum import Enum
class CourseAuthorshipEnum(str, Enum):
CREATOR = "CREATOR"
MAINTAINER = "MAINTAINER"
REPORTER = "REPORTER"
class CourseAuthor(SQLModel, table=True):
id: Optional[int] = Field(default=None, primary_key=True)
course_id: int = Field(default=None, foreign_key="course.id")
user_id: int = Field(default=None, foreign_key="user.id")
authorship: CourseAuthorshipEnum = CourseAuthorshipEnum.CREATOR
creation_date: str
update_date: str

View file

@ -0,0 +1,20 @@
from enum import Enum
from typing import Optional, Union
from pydantic import BaseModel
from sqlalchemy import JSON, Column
from sqlmodel import Field, SQLModel
class ResourceAuthorshipEnum(str, Enum):
CREATOR = "CREATOR"
MAINTAINER = "MAINTAINER"
REPORTER = "REPORTER"
class ResourceAuthor(SQLModel, table=True):
id: Optional[int] = Field(default=None, primary_key=True)
resource_uuid: str
user_id: int = Field(default=None, foreign_key="user.id")
authorship: ResourceAuthorshipEnum = ResourceAuthorshipEnum.CREATOR
creation_date: str = ""
update_date: str = ""

View file

@ -36,7 +36,7 @@ class UserRead(UserBase):
class PublicUser(UserRead):
pass
class AnonymousUser(UserRead):
class AnonymousUser(SQLModel):
id: str = "anonymous"
username: str = "anonymous"