@pfantato/printful-ts
Version:
Typescript SDK to integrate with Printful
51 lines (50 loc) • 1.65 kB
JavaScript
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.WarehouseProduct = exports.WarehouseProductVariant = exports.WarehouseProductStatus = exports.Dimensions = exports.StockLocation = void 0;
const zod_1 = require("zod");
const common_1 = require("../common");
const price_schema_1 = require("./price.schema");
exports.StockLocation = zod_1.z.object({
facility: zod_1.z.string(),
stocked: zod_1.z.number(),
available: zod_1.z.number(),
});
exports.Dimensions = zod_1.z.object({
measurement_system: common_1.MeasurementSystem,
width: zod_1.z.number(),
height: zod_1.z.number(),
length: zod_1.z.number(),
weight: zod_1.z.number(),
});
exports.WarehouseProductStatus = zod_1.z.enum([
'draft',
'awaiting_approval',
'approved',
'declined',
'suspended',
]);
exports.WarehouseProductVariant = zod_1.z.object({
id: zod_1.z.number(),
name: zod_1.z.string(),
sku: zod_1.z.string(),
image_url: zod_1.z.string().url(),
retail_prie: zod_1.z.string(),
quantity: zod_1.z.number(),
stock_location: zod_1.z.array(exports.StockLocation),
dimensions: exports.Dimensions,
_links: zod_1.z.object({
self: common_1.HateoasLink,
}),
});
exports.WarehouseProduct = zod_1.z.object({
id: zod_1.z.number(),
name: zod_1.z.string(),
status: exports.WarehouseProductStatus,
currency: price_schema_1.Currency,
image_url: zod_1.z.string().url(),
variants: zod_1.z.array(exports.WarehouseProductVariant),
_links: zod_1.z.object({
self: common_1.HateoasLink,
warehouse_variants: common_1.HateoasLink,
}),
});