@simpleapps-com/augur-api
Version:
TypeScript client library for Augur microservices API endpoints
112 lines • 4.09 kB
JavaScript
import { CategoryListParamsSchema, CategoryLookupParamsSchema, CategoryResponseSchema, CategoryListResponseSchema, CategoryLookupResponseSchema, ItemCategoryDocListResponseSchema, } from '../schemas';
/**
* Creates the itemCategory resource methods
* OpenAPI Path: /item-category → itemCategory.*
* @description Methods for managing item categories
*/
export function createItemCategoryResource(executeRequest) {
return {
/**
* List item categories
* @description Retrieve a paginated list of item categories with filtering options
* @fullPath api.items.itemCategory.list
* @service items
* @domain inventory-management
* @discoverable true
*/
list: async (params) => {
return executeRequest({
method: 'GET',
path: '/item-category',
paramsSchema: CategoryListParamsSchema,
responseSchema: CategoryListResponseSchema,
}, params);
},
/**
* OpenAPI Path: /item-category/lookup → itemCategory.lookup.get
* @description Lookup endpoint for item categories
*/
lookup: {
/**
* Lookup item categories
* @description Search for item categories using lookup functionality
* @fullPath api.items.itemCategory.lookup.get
* @service items
* @domain inventory-management
* @discoverable true
*/
get: async (params) => {
return executeRequest({
method: 'GET',
path: '/item-category/lookup',
paramsSchema: CategoryLookupParamsSchema,
responseSchema: CategoryLookupResponseSchema,
}, params);
},
},
/**
* Get item category details
* @description Retrieve specific item category details
* @fullPath api.items.itemCategory.get
* @service items
* @domain inventory-management
* @discoverable true
*/
get: async (itemCategoryUid) => {
return executeRequest({
method: 'GET',
path: `/item-category/${itemCategoryUid}`,
responseSchema: CategoryResponseSchema,
});
},
/**
* OpenAPI Path: /item-category/{itemCategoryUid}/doc → itemCategory.doc.list
* @description Nested path for item category documents
*/
doc: {
/**
* List item category documents
* @description Get documents for a specific item category
* @fullPath api.items.itemCategory.doc.list
* @service items
* @domain inventory-management
* @discoverable true
*/
list: async (itemCategoryUid) => {
return executeRequest({
method: 'GET',
path: `/item-category/${itemCategoryUid}/doc`,
responseSchema: ItemCategoryDocListResponseSchema,
});
},
},
};
}
/**
* Creates the itemCategoryData resource methods (data-only versions)
*/
export function createItemCategoryDataResource(itemCategory) {
return {
list: async (params) => {
const response = await itemCategory.list(params);
return response.data;
},
lookup: {
get: async (params) => {
const response = await itemCategory.lookup.get(params);
return response.data;
},
},
get: async (itemCategoryUid) => {
const response = await itemCategory.get(itemCategoryUid);
return response.data;
},
doc: {
list: async (itemCategoryUid) => {
const response = await itemCategory.doc.list(itemCategoryUid);
return response.data;
},
},
};
}
//# sourceMappingURL=item-category.js.map