Initial Claude implementation

This commit is contained in:
Ian Roddis committed 2026-06-22 14:26:44 -03:00
commit e2d3ab9c2a
63 files changed
+3930

No files matched your search

View File
Whitespace-only changes.
+31
View File
@@ -0,0 +1,31 @@
from pydantic import BaseModel, ConfigDict
class PermissionRead(BaseModel):
model_config = ConfigDict(from_attributes=True)
id: int
name: str
description: str | None = None
class RoleBase(BaseModel):
name: str
description: str | None = None
class RoleCreate(RoleBase):
permission_ids: list[int] = []
class RoleUpdate(BaseModel):
name: str | None = None
description: str | None = None
permission_ids: list[int] | None = None
class RoleRead(RoleBase):
model_config = ConfigDict(from_attributes=True)
id: int
permissions: list[PermissionRead] = []
+17
View File
@@ -0,0 +1,17 @@
from pydantic import BaseModel
class Token(BaseModel):
access_token: str
refresh_token: str
token_type: str = "bearer"
class TokenRefreshRequest(BaseModel):
refresh_token: str
class LogoutRequest(BaseModel):
# Optional: revoke a specific refresh token. If omitted, all of the
# current user's refresh tokens are revoked.
refresh_token: str | None = None
+39
View File
@@ -0,0 +1,39 @@
from datetime import datetime
from pydantic import BaseModel, ConfigDict, EmailStr
from app.schemas.rbac import RoleRead
class UserBase(BaseModel):
email: EmailStr
full_name: str | None = None
class UserCreate(UserBase):
password: str
is_superuser: bool = False
role_ids: list[int] = []
class UserUpdate(BaseModel):
email: EmailStr | None = None
full_name: str | None = None
password: str | None = None
is_active: bool | None = None
is_superuser: bool | None = None
role_ids: list[int] | None = None
class UserRead(UserBase):
model_config = ConfigDict(from_attributes=True)
id: int
is_active: bool
is_superuser: bool
created_at: datetime
roles: list[RoleRead] = []
class RegisterRequest(UserBase):
password: str