feat: implement authorization with roles

This commit is contained in:
swve 2023-11-28 20:25:14 +01:00
parent 0595bfdb3f
commit 7738316200
19 changed files with 596 additions and 170 deletions

View file

@ -46,7 +46,6 @@ class Activity(ActivityBase, table=True):
class ActivityCreate(ActivityBase):
order: int
org_id: int = Field(default=None, foreign_key="organization.id")
course_id: int = Field(default=None, foreign_key="course.id")
chapter_id: int

View file

@ -17,7 +17,7 @@ class Collection(CollectionBase, table=True):
class CollectionCreate(CollectionBase):
courses: list
courses: list[int]
org_id: int = Field(default=None, foreign_key="organization.id")
pass

View file

@ -1,6 +1,6 @@
from typing import List, Optional
from sqlmodel import Field, SQLModel
from src.db.trails import TrailRead
from src.db.chapters import ChapterRead
@ -39,6 +39,7 @@ class CourseUpdate(CourseBase):
class CourseRead(CourseBase):
id: int
org_id: int = Field(default=None, foreign_key="organization.id")
course_uuid: str
creation_date: str
update_date: str
@ -53,3 +54,15 @@ class FullCourseRead(CourseBase):
# Chapters, Activities
chapters: List[ChapterRead]
pass
class FullCourseReadWithTrail(CourseBase):
id: int
course_uuid: str
creation_date: str
update_date: str
# Chapters, Activities
chapters: List[ChapterRead]
# Trail
trail: TrailRead
pass

View file

@ -32,12 +32,14 @@ class UserUpdatePassword(SQLModel):
class UserRead(UserBase):
id: int
user_uuid: str
class PublicUser(UserRead):
pass
class AnonymousUser(SQLModel):
id: str = "anonymous"
id: int = 0
user_uuid: str = "user_anonymous"
username: str = "anonymous"
class User(UserBase, table=True):