Infrastructure: Implement master/dev/vX branching, save git path, and fix username casing

This commit is contained in:
Daniel Bedeleanu
2026-04-10 21:51:22 +03:00
parent 93edcc261b
commit 8a3783c7e9
3397 changed files with 57402 additions and 98 deletions

View File

@@ -2,11 +2,52 @@ from pydantic import BaseModel
from typing import Optional, List
from datetime import datetime
# --- Users ---
class UserBase(BaseModel):
username: str
role: str = "user"
class UserCreate(UserBase):
password: Optional[str] = None
class User(UserBase):
id: int
class Config:
from_attributes = True
class UserLogin(BaseModel):
username: str
password: str
class UserPasswordUpdate(BaseModel):
old_password: Optional[str] = None
new_password: str
# --- Categories ---
class CategoryBase(BaseModel):
name: str
description: Optional[str] = None
class CategoryCreate(CategoryBase):
pass
class Category(CategoryBase):
id: int
class Config:
from_attributes = True
# --- Items ---
class ItemBase(BaseModel):
name: str
category: str
category_id: Optional[int] = None
type: Optional[str] = None
barcode: str
part_number: Optional[str] = None
color: Optional[str] = None
specs: Optional[str] = None
quantity: float = 0.0
min_quantity: float = 1.0
image_url: Optional[str] = None
@@ -37,14 +78,28 @@ class TrashOperationCreate(BaseModel):
user_id: int
reason: Optional[str] = "unspecified"
# --- Sync ---
class SyncOperation(BaseModel):
type: str # 'CHECK_IN', 'CHECK_OUT'
barcode: str
quantity: float
uuid: Optional[str] = None
timestamp: datetime
class SyncPayload(BaseModel):
user_id: int
operations: List[SyncOperation]
# --- Audit Logs ---
class AuditLogResponse(BaseModel):
id: int
timestamp: datetime
user_id: int
username: Optional[str] = None
action: str
target_item_id: Optional[int]
quantity_change: Optional[float]
details: Optional[str] = None
class Config:
from_attributes = True