Upload files to "/"
This commit is contained in:
+120
@@ -0,0 +1,120 @@
|
||||
from pydantic import BaseModel
|
||||
from typing import List
|
||||
from typing import Literal
|
||||
|
||||
|
||||
|
||||
class AddressCreate(BaseModel):
|
||||
user_id: int
|
||||
flat: str
|
||||
building: str
|
||||
landmark: str = None
|
||||
lat: float
|
||||
lng: float
|
||||
address_type: Literal["HOME", "WORK", "OTHER"] = "HOME"
|
||||
frontend_ip: str
|
||||
|
||||
class OrderItemRequest(BaseModel):
|
||||
menu_item_id: int
|
||||
quantity: int
|
||||
vendor_id: int
|
||||
|
||||
|
||||
class OrderCreate(BaseModel):
|
||||
frontend_ip: str | None = None
|
||||
|
||||
user_id: int
|
||||
lat: float
|
||||
lng: float
|
||||
items: List[OrderItemRequest]
|
||||
|
||||
|
||||
class AssignDelivery(BaseModel):
|
||||
order_id: int
|
||||
delivery_boy_id: int
|
||||
|
||||
|
||||
class UpdateDeliveryStatus(BaseModel):
|
||||
order_id: int
|
||||
status: str # ASSIGNED / PICKED / DELIVERED
|
||||
|
||||
class DeliveryPayment(BaseModel):
|
||||
order_id: int
|
||||
payment_method: str
|
||||
payment_proof: str | None = None
|
||||
amount: float
|
||||
|
||||
|
||||
# User Login
|
||||
|
||||
class UserCreate(BaseModel):
|
||||
name: str
|
||||
phone: str
|
||||
email: str
|
||||
|
||||
class SendOTP(BaseModel):
|
||||
phone: str
|
||||
|
||||
class VerifyOTP(BaseModel):
|
||||
phone: str
|
||||
otp: str
|
||||
|
||||
name: str = None
|
||||
email: str = None
|
||||
|
||||
# ✅ NEW
|
||||
frontend_ip: str | None = None
|
||||
|
||||
# ================= ADMIN =================
|
||||
|
||||
class AdminLogin(BaseModel):
|
||||
email: str
|
||||
password: str
|
||||
|
||||
|
||||
class CreateZonalAdmin(BaseModel):
|
||||
name: str
|
||||
email: str
|
||||
password: str
|
||||
zone: str
|
||||
|
||||
class VendorCreate(BaseModel):
|
||||
name: str
|
||||
location: str
|
||||
|
||||
flat: str = None
|
||||
building: str = None
|
||||
landmark: str = None
|
||||
lat: float | None = None
|
||||
lng: float | None = None
|
||||
|
||||
email: str
|
||||
password: str
|
||||
|
||||
class DeliveryBoyCreate(BaseModel):
|
||||
name: str
|
||||
email: str
|
||||
phone: str
|
||||
password: str
|
||||
|
||||
class DeliveryBoyLogin(BaseModel):
|
||||
email: str
|
||||
password: str
|
||||
|
||||
frontend_ip: str | None = None
|
||||
|
||||
class ReviewCreate(BaseModel):
|
||||
user_id: int
|
||||
order_id: int
|
||||
rating: int
|
||||
comment: str | None = None
|
||||
|
||||
# =========================
|
||||
# SUPPORT TICKET
|
||||
# =========================
|
||||
|
||||
class SupportTicketCreate(BaseModel):
|
||||
user_id: int
|
||||
message: str
|
||||
frontend_ip: str | None = None
|
||||
|
||||
Reference in New Issue
Block a user