UNPKG

@simpleapps-com/augur-api

Version:

TypeScript client library for Augur microservices API endpoints

112 lines 4.09 kB
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