import { Data } from "@strapi/strapi";
import { EditorType } from "../enums/editor-type";
export type Project = Data.ContentType<'api::project.project'>;
export type PrintboxProject = {
id: number;
uuid: string;
name: string;
customer_id: number;
store_id: number;
duplicated_from: string | null;
family_id: number | null;
editor_type: EditorType;
editor_context: {
is_rwd_first_save: boolean;
is_rwd_last_save: boolean;
is_created_with_smart: boolean;
};
estimated_weight: number;
create_time: string; // date-time
update_time: string; // date-time
price_gross: number;
price_net: number;
currency: string;
order_id: number | null;
order_status: string;
quantity: number;
barcode: string | null;
text_under_barcode: string | null;
thumbnail_url: string | null; // uri
render_time: string | null; // date-time
render_status: string | null;
render_url: string | null; // uri
preflight_render_time: string | null; // date-time
preflight_render_status: string;
preflight_render_url: string | null; // uri
synchronize_time: string | null; // date-time
synchronize_status: string;
params: [{
page_count: number;
attribute_values_ids: number[];
price_net: number;
price_gross: number;
}];
customer_comment: Record<string, unknown>;
product: {
id: number;
display_name: Record<string, string>; // localized
};
estimated_weight_unit: string;
};
export type ProductResponse = Project & {
defaultPages: number;
additionalPages: number;
defaultPagesPrice: number;
additionalPagesPrice: number;
discountedDefaultPagesPrice: number | null;
discountedAdditionalPagesPrice: number | null;
subtotal: number;
subtotalDiscounted: number;
discount: number;
}