@simpleapps-com/augur-api
Version:
TypeScript client library for Augur microservices API endpoints
225 lines • 8.78 kB
JavaScript
"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