@depict-ai/types
Version:
Autogenerated types of API responses used across Depict UI packages
110 lines (107 loc) • 2.68 kB
TypeScript
/* eslint-disable */
/**
* This file was automatically generated by json-schema-to-typescript.
* DO NOT MODIFY IT BY HAND. Instead, modify the source JSONSchema file,
* and run json-schema-to-typescript to regenerate this file.
*/
export type CollectionType =
| "long_tail_collection"
| "campaign"
| "category"
| "smart_pick"
| "style"
| "brand"
| "look";
export type ContentPosition = "left" | "right" | "center";
export type Type = "video";
export type Url = string;
export type Link = string | null;
export interface GetListingResponse {
/**
* Depict ID of the listing.
*/
listing_id: string;
/**
* ID of the listing in the merchant PIM, CMS or similar.
*/
external_id?: string;
listing_type: CollectionType;
/**
* Show or hide this listing in navigation breadcrumbs.
*/
show_in_breadcrumbs: boolean;
/**
* Show or hide this listing in quicklinks.
*/
show_in_quicklinks: boolean;
/**
* List of image URLs for the listing.
*/
image_urls: string[];
title: string;
slug?: string;
/**
* Ordered list of ancestors of the listing, useful for navigation breadcrumbs. The first element is the root listing.
*/
ancestors: ProductListing[];
/**
* Siblings of the listing, i.e. listings that share the same parent, INCLUDING the listing itself. Sortet by title.
*/
siblings: ProductListing[];
/**
* Children of the listing, i.e. listings that have the listing as their parent. Sorted by title.
*/
children: ProductListing[];
/**
* List of content blocks to be displayed on the listing page. If none no content blocks should be displayed.
*/
content_blocks: ContentBlock[];
}
/**
* Represents a product listing, e.g. a category or a collection.
*/
export interface ProductListing {
/**
* Depict ID of the listing.
*/
listing_id: string;
/**
* ID of the listing in the merchant PIM, CMS or similar.
*/
external_id?: string;
listing_type: CollectionType;
/**
* Show or hide this listing in navigation breadcrumbs.
*/
show_in_breadcrumbs: boolean;
/**
* Show or hide this listing in quicklinks.
*/
show_in_quicklinks: boolean;
/**
* List of image URLs for the listing.
*/
image_urls: string[];
title: string;
slug?: string;
}
export interface ContentBlock {
span_columns: number;
span_rows: number;
position: ContentPosition;
row: number;
content: ImageContent | VideoContent;
[k: string]: unknown;
}
export interface ImageContent {
type?: "image";
url: string;
link: string;
[k: string]: unknown;
}
export interface VideoContent {
type?: Type;
url: Url;
link: Link;
[k: string]: unknown;
}