Improve getAll webflow/printful client api

This commit is contained in:
Dominic Ferrando
2026-06-24 16:32:03 -04:00
parent d415685a81
commit 43089c03b6
5 changed files with 104 additions and 61 deletions
+6
View File
@@ -13,3 +13,9 @@ export const formatSlug = (name: string): string => {
.replace(/--+/g, "-") // collapse multiple dashes
.replace(/^([^a-z0-9_])/, "_$1"); // if it starts with an invalid char, prefix underscore
};
export type PagingOptions = {
offset?: number,
limit?: number,
forceAll?: boolean
};
+46 -26
View File
@@ -1,20 +1,20 @@
export namespace Printful {
export interface MetaDataSingle<T = any> {
code: number;
result: T;
}
export interface MetaDataMulti<T = any> {
code: number;
result: T[];
paging: {
total: number;
offset: number;
limit: number;
};
}
export namespace Products {
export interface MetaDataSingle<T = any> {
code: number;
result: T;
}
export interface MetaDataMulti<T = any> {
code: number;
result: T[];
paging: {
total: number;
offset: number;
limit: number;
};
}
type Option = {
id: string;
value: string;
@@ -85,6 +85,16 @@ export namespace Printful {
}
export namespace Orders {
export interface MetaDataMulti<T = any> {
code: number;
result: T[];
paging: {
total: number;
offset: number;
limit: number;
};
}
export type Order = {
external_id: string;
shipping: string;
@@ -136,7 +146,7 @@ export namespace Printful {
is_ignored: boolean;
};
}
> {}
> { }
export interface ProductDeleted extends MetaData<
Event.ProductDeleted,
@@ -147,7 +157,7 @@ export namespace Printful {
name: string;
};
}
> {}
> { }
export interface PackageShipped extends MetaData<
Event.PackageShipped,
@@ -169,7 +179,7 @@ export namespace Printful {
status: string;
};
}
> {}
> { }
export type EventPayload =
| ProductUpdated
@@ -179,6 +189,16 @@ export namespace Printful {
}
export namespace Webflow {
export type MetaDataMulti<K extends string, T = any> = {
[P in K]: T[];
} & {
pagination: {
limit: number;
offset: number;
total: number;
};
};
export namespace Products {
export namespace Skus {
export type Sku = {
@@ -238,12 +258,12 @@ export namespace Webflow {
export type Order = {
orderId: string;
status:
| "pending"
| "unfulfilled"
| "fulfilled"
| "disputed"
| "dispute-lost"
| "refunded";
| "pending"
| "unfulfilled"
| "fulfilled"
| "disputed"
| "dispute-lost"
| "refunded";
comment: string;
orderComment: string;
acceptedOn: string;
@@ -420,11 +440,11 @@ export namespace Webflow {
export interface OrderCreated extends MetaData<
Event.OrderCreated,
Orders.Order
> {}
> { }
export interface OrderUpdated extends MetaData<
Event.OrderUpdated,
Orders.Order
> {}
> { }
export type EventPayload = OrderCreated | OrderUpdated;
}