@simpleapps-com/augur-api
Version:
TypeScript client library for Augur microservices API endpoints
156 lines • 6.44 kB
JavaScript
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.createInvMastExtResource = createInvMastExtResource;
exports.createInvMastExtDataResource = createInvMastExtDataResource;
const schemas_1 = require("../schemas");
/**
* Creates the invMastExt resource methods
* OpenAPI Path: /inv-mast-ext → invMastExt.*
* @description Manage extended inventory master data including UPC/EAN codes, brand information, and SEO metadata
*/
function createInvMastExtResource(executeRequest) {
return {
/**
* List inventory master extensions with filtering and pagination
*
* @fullPath api.p21Pim.invMastExt.list
* @service p21-pim
* @domain inventory-management
* @dataMethod invMastExtData.list
* @discoverable true
* @searchTerms ['inventory', 'extensions', 'master data', 'upc', 'ean', 'brand']
* @relatedEndpoints ['items.invMast', 'nexus.invMast']
* @commonPatterns ['Manage inventory extensions', 'Handle product metadata']
*
* @param params Query parameters for filtering and pagination
* @returns Paginated list of inventory master extensions
*/
list: async (params) => {
return executeRequest({
method: 'GET',
path: '/inv-mast-ext',
paramsSchema: schemas_1.InventoryMasterExtensionListParamsSchema,
responseSchema: schemas_1.InventoryMasterExtensionListResponseSchema,
}, params);
},
/**
* Get a specific inventory master extension by UID
*
* @fullPath api.p21Pim.invMastExt.get
* @service p21-pim
* @domain inventory-management
* @dataMethod invMastExtData.get
* @discoverable true
* @searchTerms ['inventory', 'extensions', 'master data']
* @relatedEndpoints ['items.invMast']
* @commonPatterns ['Retrieve inventory extension details']
*
* @param invMastExtUid Inventory master extension UID (must match OpenAPI parameter name)
* @returns Single inventory master extension record
*/
get: async (invMastExtUid) => {
return executeRequest({
method: 'GET',
path: '/inv-mast-ext/{invMastExtUid}',
responseSchema: schemas_1.InventoryMasterExtensionResponseSchema,
}, undefined, { invMastExtUid: String(invMastExtUid) });
},
/**
* Create a new inventory master extension record
*
* @fullPath api.p21Pim.invMastExt.create
* @service p21-pim
* @domain inventory-management
* @dataMethod invMastExtData.create
* @discoverable true
* @searchTerms ['inventory', 'create', 'extensions']
* @relatedEndpoints ['items.invMast']
* @commonPatterns ['Create inventory extension']
*
* @param data Extension data for creation
* @returns Created inventory master extension
*/
create: async (data) => {
return executeRequest({
method: 'POST',
path: '/inv-mast-ext',
paramsSchema: schemas_1.InventoryMasterExtensionCreateParamsSchema,
responseSchema: schemas_1.InventoryMasterExtensionResponseSchema,
}, data);
},
/**
* Update an existing inventory master extension
*
* @fullPath api.p21Pim.invMastExt.update
* @service p21-pim
* @domain inventory-management
* @dataMethod invMastExtData.update
* @discoverable true
* @searchTerms ['inventory', 'update', 'extensions']
* @relatedEndpoints ['items.invMast']
* @commonPatterns ['Update inventory extension']
*
* @param invMastExtUid Inventory master extension UID (must match OpenAPI parameter name)
* @param data Extension data for update
* @returns Updated inventory master extension
*/
update: async (invMastExtUid, data) => {
return executeRequest({
method: 'PUT',
path: '/inv-mast-ext/{invMastExtUid}',
paramsSchema: schemas_1.InventoryMasterExtensionUpdateParamsSchema,
responseSchema: schemas_1.InventoryMasterExtensionResponseSchema,
}, data, { invMastExtUid: String(invMastExtUid) });
},
/**
* Soft delete an inventory master extension (sets status_cd to 700)
*
* @fullPath api.p21Pim.invMastExt.delete
* @service p21-pim
* @domain inventory-management
* @dataMethod invMastExtData.delete
* @discoverable true
* @searchTerms ['inventory', 'delete', 'extensions']
* @relatedEndpoints ['items.invMast']
* @commonPatterns ['Delete inventory extension']
*
* @param invMastExtUid Inventory master extension UID (must match OpenAPI parameter name)
* @returns Deleted inventory master extension confirmation
*/
delete: async (invMastExtUid) => {
return executeRequest({
method: 'DELETE',
path: '/inv-mast-ext/{invMastExtUid}',
responseSchema: schemas_1.InventoryMasterExtensionResponseSchema,
}, undefined, { invMastExtUid: String(invMastExtUid) });
},
};
}
/**
* Creates the invMastExtData resource methods (data-only versions)
*/
function createInvMastExtDataResource(invMastExt) {
return {
list: async (params) => {
const response = await invMastExt.list(params);
return response.data;
},
get: async (invMastExtUid) => {
const response = await invMastExt.get(invMastExtUid);
return response.data;
},
create: async (data) => {
const response = await invMastExt.create(data);
return response.data;
},
update: async (invMastExtUid, data) => {
const response = await invMastExt.update(invMastExtUid, data);
return response.data;
},
delete: async (invMastExtUid) => {
const response = await invMastExt.delete(invMastExtUid);
return response.data;
},
};
}
//# sourceMappingURL=inv-mast-ext.js.map