mirror of
http://88.130.71.182:3000/BlitTech/badoHair_be.git
synced 2026-06-12 23:23:22 +00:00
Initial Commit
This commit is contained in:
77
app/models/admin.py
Normal file
77
app/models/admin.py
Normal file
@@ -0,0 +1,77 @@
|
||||
from pydantic import BaseModel, EmailStr, Field
|
||||
from uuid import UUID
|
||||
from datetime import datetime
|
||||
from typing import Any
|
||||
|
||||
|
||||
class DashboardStats(BaseModel):
|
||||
revenue_today: float
|
||||
revenue_week: float
|
||||
revenue_month: float
|
||||
orders_pending: int
|
||||
bookings_upcoming: int
|
||||
low_stock_count: int
|
||||
new_customers_month: int
|
||||
|
||||
|
||||
class RevenueStats(BaseModel):
|
||||
period: str
|
||||
revenue: float
|
||||
orders_count: int
|
||||
bookings_count: int
|
||||
|
||||
|
||||
class ActivityItem(BaseModel):
|
||||
id: UUID
|
||||
actor_name: str | None = None
|
||||
action: str
|
||||
entity_type: str
|
||||
entity_id: UUID | None = None
|
||||
metadata: dict | None = None
|
||||
created_at: datetime
|
||||
|
||||
|
||||
class CustomerOut(BaseModel):
|
||||
id: UUID
|
||||
email: str
|
||||
full_name: str | None = None
|
||||
phone: str | None = None
|
||||
is_blocked: bool
|
||||
orders_count: int = 0
|
||||
bookings_count: int = 0
|
||||
total_spent: float = 0.0
|
||||
created_at: datetime
|
||||
|
||||
|
||||
class UpdateCustomer(BaseModel):
|
||||
is_blocked: bool | None = None
|
||||
full_name: str | None = Field(None, max_length=100)
|
||||
|
||||
|
||||
class StoreSettingOut(BaseModel):
|
||||
key: str
|
||||
value: Any
|
||||
updated_at: datetime
|
||||
|
||||
|
||||
class StoreSettingUpdate(BaseModel):
|
||||
value: Any
|
||||
|
||||
|
||||
class AdminUserCreate(BaseModel):
|
||||
email: EmailStr
|
||||
password: str = Field(min_length=8)
|
||||
full_name: str
|
||||
|
||||
|
||||
class EmailTemplateOut(BaseModel):
|
||||
name: str
|
||||
subject: str
|
||||
body_html: str
|
||||
body_text: str | None = None
|
||||
|
||||
|
||||
class EmailTemplateUpdate(BaseModel):
|
||||
subject: str
|
||||
body_html: str
|
||||
body_text: str | None = None
|
||||
Reference in New Issue
Block a user