add new ui
This commit is contained in:
@@ -1,7 +1,7 @@
|
||||
# backend/schemas.py
|
||||
|
||||
from pydantic import BaseModel
|
||||
from typing import Optional, List
|
||||
from typing import Optional, List, Literal
|
||||
from datetime import datetime
|
||||
|
||||
|
||||
@@ -49,6 +49,20 @@ class ConsumableRead(ConsumableBase):
|
||||
orm_mode = True
|
||||
|
||||
|
||||
# === Owner ===
|
||||
class OwnerBase(BaseModel):
|
||||
name: str
|
||||
|
||||
class OwnerCreate(OwnerBase):
|
||||
pass
|
||||
|
||||
class OwnerRead(OwnerBase):
|
||||
id: int
|
||||
|
||||
class Config:
|
||||
orm_mode = True
|
||||
|
||||
|
||||
# === Oborud ===
|
||||
class OborudBase(BaseModel):
|
||||
invNumber: Optional[int]
|
||||
@@ -58,13 +72,25 @@ class OborudBase(BaseModel):
|
||||
kolichestvo: Optional[int] = None
|
||||
aud_id: int
|
||||
type_id: int
|
||||
owner_id: Optional[int] = None
|
||||
|
||||
class OborudCreate(OborudBase):
|
||||
pass
|
||||
|
||||
class OborudUpdate(BaseModel):
|
||||
invNumber: Optional[int] = None
|
||||
nazvanie: Optional[str] = None
|
||||
raspologenie: Optional[str] = None
|
||||
numberppasu: Optional[str] = None
|
||||
kolichestvo: Optional[int] = None
|
||||
aud_id: Optional[int] = None
|
||||
type_id: Optional[int] = None
|
||||
owner_id: Optional[int] = None
|
||||
|
||||
class OborudRead(OborudBase):
|
||||
id: int
|
||||
type: EquipmentTypeRead
|
||||
owner: Optional[OwnerRead] = None
|
||||
components: List[ComponentRead] = []
|
||||
consumables: List[ConsumableRead] = []
|
||||
|
||||
@@ -100,3 +126,33 @@ class ZametkaRead(ZametkaBase):
|
||||
|
||||
class Config:
|
||||
orm_mode = True
|
||||
|
||||
|
||||
# === Auth/User ===
|
||||
class Token(BaseModel):
|
||||
access_token: str
|
||||
token_type: str = "bearer"
|
||||
|
||||
class TokenData(BaseModel):
|
||||
username: Optional[str] = None
|
||||
role: Optional[str] = None
|
||||
|
||||
Role = Literal["admin", "editor", "viewer"]
|
||||
|
||||
|
||||
class UserBase(BaseModel):
|
||||
username: str
|
||||
role: Role = "viewer"
|
||||
|
||||
class UserCreate(UserBase):
|
||||
password: str
|
||||
|
||||
class UserRead(UserBase):
|
||||
id: int
|
||||
|
||||
class Config:
|
||||
orm_mode = True
|
||||
|
||||
|
||||
class UserRoleUpdate(BaseModel):
|
||||
role: Role
|
||||
|
||||
Reference in New Issue
Block a user