Source code for pypresscart.models.products

"""Product models."""

from __future__ import annotations

from datetime import datetime

from pypresscart.models._common import (
    ChannelType,
    IncludeItem,
    PlacementType,
    PresscartModel,
    Price,
    Tag,
)


[docs] class Product(PresscartModel): """Response from ``GET /products/{product_id}``.""" id: str name: str description: str | None = None requirements: str | None = None min_delivery_days: int | None = None max_delivery_days: int | None = None is_featured: bool | None = None active: bool | None = None example_links: list[str] = [] image: str | None = None logo: str | None = None example_screenshot: str | None = None type_id: str | None = None created_at: datetime | None = None updated_at: datetime | None = None deleted_at: datetime | None = None prices: list[Price] = []
[docs] class ProductListing(PresscartModel): """An item in ``GET /products/listings``.""" id: str name: str description: str | None = None requirements: str | None = None min_delivery_days: int | None = None max_delivery_days: int | None = None is_featured: bool | None = None example_links: list[str] = [] created_at: datetime | None = None outlet_id: str | None = None outlet_name: str | None = None website_url: str | None = None logo: str | None = None country: str | None = None state: str | None = None city: str | None = None is_indexed: bool | None = None channel_id: str | None = None channel_type: ChannelType | str | None = None placement_type: PlacementType | str | None = None domain_authority: int | None = None domain_ranking: int | None = None is_do_follow: bool | None = None disclaimer: str | None = None prices: list[Price] = [] tags: list[Tag] = [] includes: list[IncludeItem] = []
[docs] class ProductCategoryCount(PresscartModel): """An entry in ``GET /products/categories``.""" type: str count: int
__all__ = [ "Product", "ProductCategoryCount", "ProductListing", ]