Shop registration works now
This commit is contained in:
1 parent
a0d238c840
commit
d87c280109
15 files changed
+98
-727
No files matched your search
@@ -34,6 +34,14 @@ class ShopBusinessHours(BaseModel):
|
||||
hours: list[ShopBusinessHourEntry]
|
||||
|
||||
|
||||
class ShopAddress(SQLModel):
|
||||
street: str = Field(max_length=255, nullable=False)
|
||||
city: str = Field(max_length=100, nullable=False)
|
||||
state: str = Field(max_length=100, nullable=True)
|
||||
postal_code: str = Field(max_length=20, nullable=False)
|
||||
country: str = Field(max_length=100, nullable=False)
|
||||
|
||||
|
||||
class Shop(SQLModel, table=True):
|
||||
__tablename__ = 'shop'
|
||||
|
||||
@@ -48,16 +56,11 @@ class Shop(SQLModel, table=True):
|
||||
logo: Optional[str] = Field(max_length=100)
|
||||
contact_email: str = Field(max_length=128, nullable=False, unique=True)
|
||||
phone_number: str = Field(max_length=15, nullable=False)
|
||||
address: str = Field(nullable=True)
|
||||
address: ShopAddress = Field(sa_column=Column(JSONB, nullable=False, default=lambda: {}))
|
||||
business_hours: ShopBusinessHours = Field(sa_column=Column(JSONB, nullable=False, default=lambda: {}))
|
||||
links: ShopLinks = Field(sa_column=Column(JSONB, nullable=False, default=lambda: {}))
|
||||
currency: str = Field(max_length=3, nullable=False)
|
||||
|
||||
business_hours: ShopBusinessHours = Field(
|
||||
sa_column=Column(JSONB, nullable=False, default=lambda: {})
|
||||
)
|
||||
links: ShopLinks = Field(
|
||||
sa_column=Column(JSONB, nullable=False, default=lambda: {})
|
||||
)
|
||||
|
||||
owner: Optional["User"] = Relationship(
|
||||
back_populates='owned_shop',
|
||||
sa_relationship_kwargs={"foreign_keys": "[Shop.owner_id]"}
|
||||
@@ -68,10 +71,11 @@ class Shop(SQLModel, table=True):
|
||||
sa_relationship_kwargs={"foreign_keys": "[User.shop_id]"}
|
||||
)
|
||||
|
||||
__table_args__ = (
|
||||
CheckConstraint("business_hours ? 'hours'", name="check_business_hours_keys"),
|
||||
CheckConstraint("links ? 'links'", name="check_links_keys"),
|
||||
)
|
||||
# __table_args__ = (
|
||||
# CheckConstraint("business_hours ? 'hours'", name="check_business_hours_keys"),
|
||||
# CheckConstraint("links ? 'links'", name="check_links_keys"),
|
||||
# CheckConstraint("address ? 'address'", name="check_address_keys")
|
||||
# )
|
||||
|
||||
|
||||
__all__ = ["Shop", "ShopBusinessHours", "ShopLinks", "ShopStatus"]
|
||||
Reference in new issue
Block a user