Files
kittycad.py/kittycad/models/api_call_with_price.py

252 lines
7.2 KiB
Python
Raw Normal View History

import datetime
bump (#80) * bump Signed-off-by: Jess Frazelle <github@jessfraz.com> * some fixes Signed-off-by: Jess Frazelle <github@jessfraz.com> * YOYO NEW API SPEC! * reformat Signed-off-by: Jess Frazelle <github@jessfraz.com> * updates Signed-off-by: Jess Frazelle <github@jessfraz.com> * updates Signed-off-by: Jess Frazelle <github@jessfraz.com> * fixups Signed-off-by: Jess Frazelle <github@jessfraz.com> * for now force true Signed-off-by: Jess Frazelle <github@jessfraz.com> * run the tests on generations Signed-off-by: Jess Frazelle <github@jessfraz.com> * add tests Signed-off-by: Jess Frazelle <github@jessfraz.com> * update Signed-off-by: Jess Frazelle <github@jessfraz.com> * update Signed-off-by: Jess Frazelle <github@jessfraz.com> * update Signed-off-by: Jess Frazelle <github@jessfraz.com> * updates Signed-off-by: Jess Frazelle <github@jessfraz.com> * update Signed-off-by: Jess Frazelle <github@jessfraz.com> * fix some types Signed-off-by: Jess Frazelle <github@jessfraz.com> * float to top Signed-off-by: Jess Frazelle <github@jessfraz.com> * fix mypy Signed-off-by: Jess Frazelle <github@jessfraz.com> * more noqa Signed-off-by: Jess Frazelle <github@jessfraz.com> * fixups Signed-off-by: Jess Frazelle <github@jessfraz.com> * ruff pass Signed-off-by: Jess Frazelle <github@jessfraz.com> * add docs Signed-off-by: Jess Frazelle <github@jessfraz.com> * fix Signed-off-by: Jess Frazelle <github@jessfraz.com> * fix Signed-off-by: Jess Frazelle <github@jessfraz.com> * fix Signed-off-by: Jess Frazelle <github@jessfraz.com> * fixes Signed-off-by: Jess Frazelle <github@jessfraz.com> * even less mypy errors Signed-off-by: Jess Frazelle <github@jessfraz.com> * updates Signed-off-by: Jess Frazelle <github@jessfraz.com> * updates Signed-off-by: Jess Frazelle <github@jessfraz.com> * updates Signed-off-by: Jess Frazelle <github@jessfraz.com> * updates Signed-off-by: Jess Frazelle <github@jessfraz.com> * add test Signed-off-by: Jess Frazelle <github@jessfraz.com> * fixes Signed-off-by: Jess Frazelle <github@jessfraz.com> * updates Signed-off-by: Jess Frazelle <github@jessfraz.com> * fixes Signed-off-by: Jess Frazelle <github@jessfraz.com> * updates Signed-off-by: Jess Frazelle <github@jessfraz.com> * fixups Signed-off-by: Jess Frazelle <github@jessfraz.com> * fixes Signed-off-by: Jess Frazelle <github@jessfraz.com> * cleanup Signed-off-by: Jess Frazelle <github@jessfraz.com> * updates Signed-off-by: Jess Frazelle <github@jessfraz.com> * fix Signed-off-by: Jess Frazelle <github@jessfraz.com> * updates Signed-off-by: Jess Frazelle <github@jessfraz.com> * fix Signed-off-by: Jess Frazelle <github@jessfraz.com> * new path Signed-off-by: Jess Frazelle <github@jessfraz.com> * fixes for mypy Signed-off-by: Jess Frazelle <github@jessfraz.com> * skip tests Signed-off-by: Jess Frazelle <github@jessfraz.com> --------- Signed-off-by: Jess Frazelle <github@jessfraz.com> Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2023-05-04 00:58:06 -07:00
from typing import Any, Dict, List, Type, TypeVar, Union
import attr
from dateutil.parser import isoparse
from ..models.method import Method
from ..models.uuid import Uuid
from ..types import UNSET, Unset
KC = TypeVar("KC", bound="ApiCallWithPrice")
@attr.s(auto_attribs=True)
class ApiCallWithPrice:
""" An API call with the price.
This is a join of the `ApiCall` and `ApiCallPrice` tables. """ # noqa: E501
completed_at: Union[Unset, datetime.datetime] = UNSET
created_at: Union[Unset, datetime.datetime] = UNSET
duration: Union[Unset, int] = UNSET
email: Union[Unset, str] = UNSET
endpoint: Union[Unset, str] = UNSET
id: Union[Unset, str] = UNSET
ip_address: Union[Unset, str] = UNSET
litterbox: Union[Unset, bool] = False
method: Union[Unset, Method] = UNSET
minutes: Union[Unset, int] = UNSET
origin: Union[Unset, str] = UNSET
price: Union[Unset, float] = UNSET
request_body: Union[Unset, str] = UNSET
request_query_params: Union[Unset, str] = UNSET
response_body: Union[Unset, str] = UNSET
started_at: Union[Unset, datetime.datetime] = UNSET
status_code: Union[Unset, int] = UNSET
stripe_invoice_item_id: Union[Unset, str] = UNSET
token: Union[Unset, str] = UNSET
updated_at: Union[Unset, datetime.datetime] = UNSET
user_agent: Union[Unset, str] = UNSET
user_id: Union[Unset, str] = UNSET
additional_properties: Dict[str, Any] = attr.ib(init=False, factory=dict)
def to_dict(self) -> Dict[str, Any]:
completed_at: Union[Unset, str] = UNSET
if not isinstance(self.completed_at, Unset):
completed_at = self.completed_at.isoformat()
created_at: Union[Unset, str] = UNSET
if not isinstance(self.created_at, Unset):
created_at = self.created_at.isoformat()
duration = self.duration
email = self.email
endpoint = self.endpoint
id = self.id
ip_address = self.ip_address
litterbox = self.litterbox
if not isinstance(self.method, Unset):
method = self.method
minutes = self.minutes
origin = self.origin
price = self.price
request_body = self.request_body
request_query_params = self.request_query_params
response_body = self.response_body
started_at: Union[Unset, str] = UNSET
if not isinstance(self.started_at, Unset):
started_at = self.started_at.isoformat()
status_code = self.status_code
stripe_invoice_item_id = self.stripe_invoice_item_id
token = self.token
updated_at: Union[Unset, str] = UNSET
if not isinstance(self.updated_at, Unset):
updated_at = self.updated_at.isoformat()
user_agent = self.user_agent
user_id = self.user_id
field_dict: Dict[str, Any] = {}
field_dict.update(self.additional_properties)
field_dict.update({})
if completed_at is not UNSET:
field_dict['completed_at'] = completed_at
if created_at is not UNSET:
field_dict['created_at'] = created_at
if duration is not UNSET:
field_dict['duration'] = duration
if email is not UNSET:
field_dict['email'] = email
if endpoint is not UNSET:
field_dict['endpoint'] = endpoint
if id is not UNSET:
field_dict['id'] = id
if ip_address is not UNSET:
field_dict['ip_address'] = ip_address
if litterbox is not UNSET:
field_dict['litterbox'] = litterbox
if method is not UNSET:
field_dict['method'] = method
if minutes is not UNSET:
field_dict['minutes'] = minutes
if origin is not UNSET:
field_dict['origin'] = origin
if price is not UNSET:
field_dict['price'] = price
if request_body is not UNSET:
field_dict['request_body'] = request_body
if request_query_params is not UNSET:
field_dict['request_query_params'] = request_query_params
if response_body is not UNSET:
field_dict['response_body'] = response_body
if started_at is not UNSET:
field_dict['started_at'] = started_at
if status_code is not UNSET:
field_dict['status_code'] = status_code
if stripe_invoice_item_id is not UNSET:
field_dict['stripe_invoice_item_id'] = stripe_invoice_item_id
if token is not UNSET:
field_dict['token'] = token
if updated_at is not UNSET:
field_dict['updated_at'] = updated_at
if user_agent is not UNSET:
field_dict['user_agent'] = user_agent
if user_id is not UNSET:
field_dict['user_id'] = user_id
return field_dict
@classmethod
def from_dict(cls: Type[KC], src_dict: Dict[str, Any]) -> KC:
d = src_dict.copy()
_completed_at = d.pop("completed_at", UNSET)
completed_at: Union[Unset, datetime.datetime]
if isinstance(_completed_at, Unset):
completed_at = UNSET
else:
completed_at = isoparse(_completed_at)
_created_at = d.pop("created_at", UNSET)
created_at: Union[Unset, datetime.datetime]
if isinstance(_created_at, Unset):
created_at = UNSET
else:
created_at = isoparse(_created_at)
duration = d.pop("duration", UNSET)
email = d.pop("email", UNSET)
endpoint = d.pop("endpoint", UNSET)
_id = d.pop("id", UNSET)
id: Union[Unset, Uuid]
if isinstance(_id, Unset):
id = UNSET
else:
id = _id # type: ignore[arg-type]
ip_address = d.pop("ip_address", UNSET)
litterbox = d.pop("litterbox", UNSET)
_method = d.pop("method", UNSET)
method: Union[Unset, Method]
if isinstance(_method, Unset):
method = UNSET
else:
method = _method # type: ignore[arg-type]
minutes = d.pop("minutes", UNSET)
origin = d.pop("origin", UNSET)
price = d.pop("price", UNSET)
request_body = d.pop("request_body", UNSET)
request_query_params = d.pop("request_query_params", UNSET)
response_body = d.pop("response_body", UNSET)
_started_at = d.pop("started_at", UNSET)
started_at: Union[Unset, datetime.datetime]
if isinstance(_started_at, Unset):
started_at = UNSET
else:
started_at = isoparse(_started_at)
status_code = d.pop("status_code", UNSET)
stripe_invoice_item_id = d.pop("stripe_invoice_item_id", UNSET)
_token = d.pop("token", UNSET)
token: Union[Unset, Uuid]
if isinstance(_token, Unset):
token = UNSET
else:
token = _token # type: ignore[arg-type]
_updated_at = d.pop("updated_at", UNSET)
updated_at: Union[Unset, datetime.datetime]
if isinstance(_updated_at, Unset):
updated_at = UNSET
else:
updated_at = isoparse(_updated_at)
user_agent = d.pop("user_agent", UNSET)
user_id = d.pop("user_id", UNSET)
api_call_with_price = cls(
completed_at= completed_at,
created_at= created_at,
duration= duration,
email= email,
endpoint= endpoint,
id= id,
ip_address= ip_address,
litterbox= litterbox,
method= method,
minutes= minutes,
origin= origin,
price= price,
request_body= request_body,
request_query_params= request_query_params,
response_body= response_body,
started_at= started_at,
status_code= status_code,
stripe_invoice_item_id= stripe_invoice_item_id,
token= token,
updated_at= updated_at,
user_agent= user_agent,
user_id= user_id,
)
api_call_with_price.additional_properties = d
return api_call_with_price
@property
def additional_keys(self) -> List[str]:
return list(self.additional_properties.keys())
def __getitem__(self, key: str) -> Any:
return self.additional_properties[key]
def __setitem__(self, key: str, value: Any) -> None:
self.additional_properties[key] = value
def __delitem__(self, key: str) -> None:
del self.additional_properties[key]
def __contains__(self, key: str) -> bool:
return key in self.additional_properties