You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
80 lines
1.8 KiB
Python
80 lines
1.8 KiB
Python
from typing import Optional, List, Union
|
|
from molten import schema, field
|
|
|
|
|
|
@schema
|
|
class Link:
|
|
href: str
|
|
|
|
|
|
@schema
|
|
class Geography:
|
|
id: int
|
|
href: str = field(response_only=True)
|
|
createdDate: str = field(response_only=True)
|
|
modifiedDate: str = field(response_only=True)
|
|
name: str
|
|
stores: Link = field(response_only=True)
|
|
alerts: Link = field(response_only=True)
|
|
|
|
|
|
@schema
|
|
class Store:
|
|
id: int
|
|
href: str = field(response_only=True)
|
|
createdDate: str = field(response_only=True)
|
|
modifiedDate: str = field(response_only=True)
|
|
name: str
|
|
number: Optional[str]
|
|
address: str
|
|
city: str
|
|
state: str
|
|
zip: str
|
|
lat: Optional[float]
|
|
long: Optional[float]
|
|
tdlinx: Optional[str]
|
|
geography: Link = field(response_only=True)
|
|
alerts: Link = field(response_only=True)
|
|
|
|
|
|
@schema
|
|
class User:
|
|
id: int = field(response_only=True)
|
|
href: str = field(response_only=True)
|
|
email: str
|
|
password: str = field(request_only=True)
|
|
geography: Link = field(response_only=True)
|
|
|
|
|
|
@schema
|
|
class Alert:
|
|
id: int
|
|
href: str = field(response_only=True)
|
|
createdDate: str = field(response_only=True)
|
|
modifiedDate: str = field(response_only=True)
|
|
promoName: str
|
|
response: Optional[str]
|
|
valid: Optional[bool]
|
|
store: Link = field(response_only=True)
|
|
|
|
|
|
@schema
|
|
class StorePatch:
|
|
name: Optional[str]
|
|
number: Optional[str]
|
|
address: Optional[str]
|
|
city: Optional[str]
|
|
state: Optional[str]
|
|
zip: Optional[str]
|
|
lat: Optional[float]
|
|
long: Optional[float]
|
|
tdlinx: Optional[str]
|
|
|
|
|
|
@schema
|
|
class APIResponse:
|
|
status: int = field(description="An HTTP status code")
|
|
message: str = field(
|
|
description="A user presentable message in response to the request provided to the API"
|
|
)
|