UNPKG

@simpleapps-com/augur-api

Version:

TypeScript client library for Augur microservices API endpoints

225 lines 8.78 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.createVariantsResource = createVariantsResource; exports.createVariantsDataResource = createVariantsDataResource; const schemas_1 = require("../schemas"); /** * Creates the variants resource methods * OpenAPI Path: /variants → variants.* * @description Methods for managing product variants */ function createVariantsResource(executeRequest) { return { /** * List product variants * @description Retrieve a list of product variants * @fullPath api.items.variants.list * @service items * @domain inventory-management * @discoverable true */ list: async (params) => { return executeRequest({ method: 'GET', path: '/variants', paramsSchema: schemas_1.ItemVariantListParamsSchema, responseSchema: schemas_1.ItemVariantHeaderListResponseSchema, }, params); }, /** * Create product variant * @description Create new product variant * @fullPath api.items.variants.create * @service items * @domain inventory-management * @discoverable true */ create: async (data) => { return executeRequest({ method: 'POST', path: '/variants', paramsSchema: schemas_1.CreateItemVariantHeaderRequestSchema, responseSchema: schemas_1.ItemVariantHeaderResponseSchema, }, data); }, /** * Get product variant * @description Get specific product variant details * @fullPath api.items.variants.get * @service items * @domain inventory-management * @discoverable true */ get: async (itemVariantHdrUid) => { return executeRequest({ method: 'GET', path: `/variants/${itemVariantHdrUid}`, responseSchema: schemas_1.ItemVariantHeaderResponseSchema, }); }, /** * Update product variant * @description Update existing product variant * @fullPath api.items.variants.update * @service items * @domain inventory-management * @discoverable true */ update: async (itemVariantHdrUid, data) => { return executeRequest({ method: 'PUT', path: `/variants/${itemVariantHdrUid}`, paramsSchema: schemas_1.UpdateItemVariantHeaderRequestSchema, responseSchema: schemas_1.ItemVariantHeaderResponseSchema, }, data); }, /** * Delete product variant * @description Delete existing product variant * @fullPath api.items.variants.delete * @service items * @domain inventory-management * @discoverable true */ delete: async (itemVariantHdrUid) => { return executeRequest({ method: 'DELETE', path: `/variants/${itemVariantHdrUid}`, responseSchema: schemas_1.ItemVariantHeaderResponseSchema, }); }, /** * OpenAPI Path: /variants/{itemVariantHdrUid}/lines → variants.lines.* * @description Nested path for variant lines */ lines: { /** * List variant lines * @description Get all lines for a variant * @fullPath api.items.variants.lines.list * @service items * @domain inventory-management * @discoverable true */ list: async (itemVariantHdrUid) => { return executeRequest({ method: 'GET', path: `/variants/${itemVariantHdrUid}/lines`, responseSchema: schemas_1.ItemVariantLineListResponseSchema, }); }, /** * Create variant line * @description Add a new line to a variant * @fullPath api.items.variants.lines.create * @service items * @domain inventory-management * @discoverable true */ create: async (itemVariantHdrUid, data) => { return executeRequest({ method: 'POST', path: `/variants/${itemVariantHdrUid}/lines`, paramsSchema: schemas_1.CreateItemVariantLineRequestSchema, responseSchema: schemas_1.ItemVariantLineResponseSchema, }, data); }, /** * Get variant line * @description Get specific variant line details * @fullPath api.items.variants.lines.get * @service items * @domain inventory-management * @discoverable true */ get: async (itemVariantHdrUid, itemVariantLineUid) => { return executeRequest({ method: 'GET', path: `/variants/${itemVariantHdrUid}/lines/${itemVariantLineUid}`, responseSchema: schemas_1.ItemVariantLineResponseSchema, }); }, /** * Update variant line * @description Update existing variant line * @fullPath api.items.variants.lines.update * @service items * @domain inventory-management * @discoverable true */ update: async (itemVariantHdrUid, itemVariantLineUid, data) => { return executeRequest({ method: 'PUT', path: `/variants/${itemVariantHdrUid}/lines/${itemVariantLineUid}`, paramsSchema: schemas_1.UpdateItemVariantLineRequestSchema, responseSchema: schemas_1.ItemVariantLineResponseSchema, }, data); }, /** * Delete variant line * @description Remove a line from a variant * @fullPath api.items.variants.lines.delete * @service items * @domain inventory-management * @discoverable true */ delete: async (itemVariantHdrUid, itemVariantLineUid) => { return executeRequest({ method: 'DELETE', path: `/variants/${itemVariantHdrUid}/lines/${itemVariantLineUid}`, responseSchema: schemas_1.ItemVariantLineResponseSchema, }); }, }, }; } /** * Creates the variantsData resource methods (data-only versions) */ function createVariantsDataResource(variants) { return { list: async (params) => { const response = await variants.list(params); return response.data; }, create: async (data) => { const response = await variants.create(data); return response.data; }, get: async (itemVariantHdrUid) => { const response = await variants.get(itemVariantHdrUid); return response.data; }, update: async (itemVariantHdrUid, data) => { const response = await variants.update(itemVariantHdrUid, data); return response.data; }, delete: async (itemVariantHdrUid) => { const response = await variants.delete(itemVariantHdrUid); return response.data; }, lines: { list: async (itemVariantHdrUid) => { const response = await variants.lines.list(itemVariantHdrUid); return response.data; }, create: async (itemVariantHdrUid, data) => { const response = await variants.lines.create(itemVariantHdrUid, data); return response.data; }, get: async (itemVariantHdrUid, itemVariantLineUid) => { const response = await variants.lines.get(itemVariantHdrUid, itemVariantLineUid); return response.data; }, update: async (itemVariantHdrUid, itemVariantLineUid, data) => { const response = await variants.lines.update(itemVariantHdrUid, itemVariantLineUid, data); return response.data; }, delete: async (itemVariantHdrUid, itemVariantLineUid) => { const response = await variants.lines.delete(itemVariantHdrUid, itemVariantLineUid); return response.data; }, }, }; } //# sourceMappingURL=variants.js.map