Files
verify/backend/app/schemas/common.py
Mohamed Mathar Irfan ed6610d5d8 Initial project upload
2026-07-28 17:57:02 +05:30

56 lines
1.4 KiB
Python

from typing import Optional
from pydantic import BaseModel
from app.models.documents import (
ManufacturerInfo, ProductDetails, ComplianceBadge, QRStyle,
)
from app.models.enums import QRType, ProductStatus
class OrgCreate(BaseModel):
name: str
gstin: Optional[str] = None
pan: Optional[str] = None
contact_email: Optional[str] = None
phone: Optional[str] = None
website: Optional[str] = None
address: Optional[str] = None
class BrandCreate(BaseModel):
name: str
description: Optional[str] = None
logo_url: Optional[str] = None
class ProductCreate(BaseModel):
brand_id: str
name: str
sku: Optional[str] = None
category: Optional[str] = None
description: Optional[str] = None
image_url: Optional[str] = None
manufacturer: Optional[ManufacturerInfo] = None
details: Optional[ProductDetails] = None
compliance_badges: list[ComplianceBadge] = []
recycling_info: Optional[str] = None
internal_notes: Optional[str] = None
qr_type: str = "dynamic"
display_brand_logo: bool = True
status: ProductStatus = ProductStatus.draft
class BatchCreate(BaseModel):
product_id: str
batch_number: Optional[str] = None
mfg_date: Optional[str] = None
expiry_date: Optional[str] = None
quantity: int = 1
qr_type: QRType = QRType.batch
notes: Optional[str] = None
class QRGenerateIn(BaseModel):
batch_id: str
style: Optional[QRStyle] = None