@pfantato/printful-ts
Version:
Typescript SDK to integrate with Printful
92 lines (91 loc) • 6.99 kB
JavaScript
;
var __rest = (this && this.__rest) || function (s, e) {
var t = {};
for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)
t[p] = s[p];
if (s != null && typeof Object.getOwnPropertySymbols === "function")
for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {
if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))
t[p[i]] = s[p[i]];
}
return t;
};
Object.defineProperty(exports, "__esModule", { value: true });
exports.CatalogProductsService = void 0;
const constants_1 = require("@printful-ts/constants");
const schemas_1 = require("@printful-ts/schemas");
const printful_api_service_1 = require("./printful-api.service");
class CatalogProductsService extends printful_api_service_1.PrintfulApiService {
async listProducts(params = {}, options = {}) {
const _a = schemas_1.ListProductsSearchParams.parse(params), { locale } = _a, searchParams = __rest(_a, ["locale"]);
return await this.request(constants_1.CATALOG_PRODUCTS_RESOURCE, Object.assign(Object.assign({}, options), { locale,
searchParams }), schemas_1.ListProductsResponse);
}
async getProduct(product_id, params, options = {}) {
const _a = schemas_1.GetProductSearchParams.parse(params), { locale } = _a, searchParams = __rest(_a, ["locale"]);
return await this.request(`${constants_1.CATALOG_PRODUCTS_RESOURCE}/${product_id}`, Object.assign(Object.assign({}, options), { locale,
searchParams }), schemas_1.GetProductResponse);
}
async listProductVariants(product_id, locale, options = {}) {
return await this.request(`${constants_1.CATALOG_PRODUCTS_RESOURCE}/${product_id}/${constants_1.CATALOG_VARIANTS_RESOURCE}`, Object.assign(Object.assign({}, options), { locale }), schemas_1.ListProductVariantsResponse);
}
async getProductVariant(variant_id, locale, options = {}) {
return await this.request(`${constants_1.CATALOG_VARIANTS_RESOURCE}/${variant_id}`, Object.assign(Object.assign({}, options), { locale }), schemas_1.GetProductVariantResponse);
}
async listProductCategories(product_id, params, options = {}) {
const searchParams = schemas_1.ListProductCategoriesSearchParams.parse(params);
return await this.request(`${constants_1.CATALOG_PRODUCTS_RESOURCE}/${product_id}/${constants_1.CATALOG_CATEGORY_RESOURCE}`, Object.assign(Object.assign({}, options), { searchParams }), schemas_1.ListProductCategoriesResponse);
}
async listCategories(options = {}) {
return await this.request(`${constants_1.CATALOG_CATEGORY_RESOURCE}`, options, schemas_1.ListCatalogCategoriesResponse);
}
async getCategory(category_id, options = {}) {
return await this.request(`${constants_1.CATALOG_CATEGORY_RESOURCE}/${category_id}`, options, schemas_1.GetCatalogCategoryResponse);
}
async getProductSizeGuide(product_id, params = {}, options = {}) {
const _a = schemas_1.GetProductSizeGuideSearchParams.parse(params), { locale } = _a, searchParams = __rest(_a, ["locale"]);
return await this.request(`${constants_1.CATALOG_PRODUCTS_RESOURCE}/${product_id}/${constants_1.CATALOG_CATEGORY_RESOURCE}`, Object.assign(Object.assign({}, options), { locale,
searchParams }), schemas_1.GetProductSizeGuideResponse);
}
async listProductPrices(product_id, params = {}, options = {}) {
const _a = schemas_1.ListProductPricesSearchParams.parse(params), { locale } = _a, searchParams = __rest(_a, ["locale"]);
return await this.request(`${constants_1.CATALOG_PRODUCTS_RESOURCE}/${product_id}/prices`, Object.assign(Object.assign({}, options), { locale,
searchParams }), schemas_1.ListProductPricesResponse);
}
async listProductVariantPrices(variant_id, params = {}, options = {}) {
const _a = schemas_1.ListProductVariantPricesSearchParams.parse(params), { locale } = _a, searchParams = __rest(_a, ["locale"]);
return await this.request(`${constants_1.CATALOG_VARIANTS_RESOURCE}/${variant_id}/prices`, Object.assign(Object.assign({}, options), { locale,
searchParams }), schemas_1.ListProductVariantPricesResponse);
}
async getProductBlankMockups(product_id, params, options) {
const _a = schemas_1.GetProductBlankMockupsSearchParams.parse(params), { locale } = _a, searchParams = __rest(_a, ["locale"]);
return await this.request(`${constants_1.CATALOG_PRODUCTS_RESOURCE}/${product_id}/images`, Object.assign(Object.assign({}, options), { locale,
searchParams }), schemas_1.GetProductBlankMockupsResponse);
}
async getProductVariantBlankMockups(variant_id, params, options) {
const _a = schemas_1.GetVarianttBlankMockupsSearchParams.parse(params), { locale } = _a, searchParams = __rest(_a, ["locale"]);
return await this.request(`${constants_1.CATALOG_VARIANTS_RESOURCE}/${variant_id}/images`, Object.assign(Object.assign({}, options), { locale,
searchParams }), schemas_1.GetVarianttBlankMockupsResponse);
}
async getProductMockups(product_id, params, options) {
const _a = schemas_1.GetProductMockupsSearchParams.parse(params), { locale } = _a, searchParams = __rest(_a, ["locale"]);
return await this.request(`${constants_1.CATALOG_PRODUCTS_RESOURCE}/${product_id}/mockup-styles`, Object.assign(Object.assign({}, options), { locale,
searchParams }), schemas_1.GetProductMockupsResponse);
}
async getProductMockupTemplates(product_id, params, options) {
const _a = schemas_1.GetProductMockupTemplatesSearchParams.parse(params), { locale } = _a, searchParams = __rest(_a, ["locale"]);
return await this.request(`${constants_1.CATALOG_PRODUCTS_RESOURCE}/${product_id}/mockup-styles`, Object.assign(Object.assign({}, options), { locale,
searchParams }), schemas_1.GetProductMockupTemplatesResponse);
}
async getProductStockAvailability(product_id, params = {}, options = {}) {
const _a = schemas_1.GetProductStockAvailabilitySearchParams.parse(params), { locale } = _a, searchParams = __rest(_a, ["locale"]);
return await this.request(`${constants_1.CATALOG_PRODUCTS_RESOURCE}/${product_id}/availability`, Object.assign(Object.assign({}, options), { locale,
searchParams }), schemas_1.GetProductStockAvailabilityResponse);
}
async getProductVariantStockAvailability(variant_id, params = {}, options = {}) {
const _a = schemas_1.GetVariantStockAvailabilitySearchParams.parse(params), { locale } = _a, searchParams = __rest(_a, ["locale"]);
return await this.request(`${constants_1.CATALOG_VARIANTS_RESOURCE}/${variant_id}/availability`, Object.assign(Object.assign({}, options), { locale,
searchParams }), schemas_1.GetVariantStockAvailabilityResponse);
}
}
exports.CatalogProductsService = CatalogProductsService;