Renamed ebook_backend&admin_panel to ebook_backend_admin_panel The & character was being interpreted by shell as background process operator, causing 'Dockerfile not found' errors in Coolify.
48 lines
1018 B
Python
48 lines
1018 B
Python
from pydantic import BaseModel
|
|
from typing import List
|
|
|
|
class AdminLogin(BaseModel):
|
|
"""
|
|
Schema for admin login credentials.
|
|
|
|
Attributes:
|
|
username (str): Admin username.
|
|
password (str): Admin password.
|
|
"""
|
|
username: str
|
|
password: str
|
|
|
|
|
|
class CodeItem(BaseModel):
|
|
"""
|
|
Schema representing a coupon code and its usage count.
|
|
|
|
Attributes:
|
|
code (str): The coupon code.
|
|
usage (int): Number of times the code has been used.
|
|
"""
|
|
code: str
|
|
usage: int
|
|
|
|
|
|
class CouponUploadItem(BaseModel):
|
|
"""
|
|
Schema for an individual coupon code to be uploaded.
|
|
|
|
Attributes:
|
|
code (str): The coupon code.
|
|
usage (int): Optional initial usage count (default is 0).
|
|
"""
|
|
code: str
|
|
usage: int = 0
|
|
|
|
|
|
class CouponUpload(BaseModel):
|
|
"""
|
|
Schema for bulk coupon upload containing a list of coupon items.
|
|
|
|
Attributes:
|
|
codes (List[CouponUploadItem]): List of coupon entries.
|
|
"""
|
|
codes: List[CouponUploadItem]
|