UNPKG

@simpleapps-com/augur-api

Version:

TypeScript client library for Augur microservices API endpoints

158 lines 8.92 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.createTransCategoryResource = createTransCategoryResource; exports.createTransCategoryDataResource = createTransCategoryDataResource; const schemas_1 = require("../schemas"); /** * Creates the transCategory resource methods * OpenAPI Path: /trans-category → transCategory.* * @description Category management and CRUD operations following OpenAPI path mirroring pattern */ function createTransCategoryResource(executeRequest) { return { /** * Create new transaction category - OpenAPI Path: /trans-category * @description Creates a new category within the P21 transactional system. Returns the created category details for verification and further operations. * * @fullPath api.p21Apis.transCategory.create * @service p21-apis * @domain category-management * @dataMethod transCategoryData.create * @discoverable true * @searchTerms ["create category", "new category", "category creation", "add category"] * @relatedEndpoints ["api.p21Apis.transCategory.get", "api.p21Apis.transCategory.update", "api.items.categories.list"] * @commonPatterns ["Create new category", "Add category to system", "Category setup", "Product categorization"] * @workflow ["category-setup", "product-management", "inventory-organization", "catalog-management"] * @prerequisites ["Valid site ID", "Category creation permissions", "Authentication"] * @nextSteps ["api.p21Apis.transCategory.get for verification", "api.items.categories for category associations"] * @businessRules ["Site-scoped category creation", "Unique category constraints", "Category hierarchy support"] * @functionalArea "category-management" * @performance "Real-time category creation with immediate availability" */ create: async (params) => { return executeRequest({ method: 'POST', path: '/trans-category', paramsSchema: schemas_1.TransCategoryCreateParamsSchema, responseSchema: schemas_1.TransCategoryResponseSchema, }, params || {}); }, /** * Get transaction category details by category UID - OpenAPI Path: /trans-category/{categoryUid} * @description Retrieves comprehensive category details including metadata, relationships, and configuration. Used for category management and verification workflows. * * @fullPath api.p21Apis.transCategory.get * @service p21-apis * @domain category-management * @dataMethod transCategoryData.get * @discoverable true * @searchTerms ["category details", "get category", "category info", "category lookup"] * @relatedEndpoints ["api.p21Apis.transCategory.update", "api.p21Apis.transCategory.delete", "api.items.categories.get"] * @commonPatterns ["Get category details", "View category information", "Category lookup", "Category verification"] * @workflow ["category-details", "product-management", "inventory-lookup", "catalog-browsing"] * @prerequisites ["Valid category UID", "Site ID", "Category access permissions"] * @nextSteps ["api.p21Apis.transCategory.update for modifications", "api.items.categories for related products"] * @businessRules ["Category UID must exist", "Site-scoped access", "Optional category ID validation"] * @functionalArea "category-management" * @performance "Direct lookup by UID, very fast response" */ get: async (categoryUid, params) => { return executeRequest({ method: 'GET', path: `/trans-category/${categoryUid}`, paramsSchema: schemas_1.TransCategoryParamsSchema, responseSchema: schemas_1.TransCategoryResponseSchema, }, { categoryUid, ...params }, { categoryUid: String(categoryUid) }); }, /** * Update transaction category by category UID - OpenAPI Path: /trans-category/{categoryUid} * @description Updates existing category information including metadata and relationships. Returns updated category details for verification. * * @fullPath api.p21Apis.transCategory.update * @service p21-apis * @domain category-management * @dataMethod transCategoryData.update * @discoverable true * @searchTerms ["update category", "modify category", "category update", "edit category"] * @relatedEndpoints ["api.p21Apis.transCategory.get", "api.p21Apis.transCategory.delete", "api.items.categories.update"] * @commonPatterns ["Update category information", "Modify category details", "Category maintenance", "Category editing"] * @workflow ["category-management", "product-management", "inventory-maintenance", "catalog-updates"] * @prerequisites ["Valid category UID", "Site ID", "Category modification permissions"] * @nextSteps ["api.p21Apis.transCategory.get for verification", "api.items.categories for related updates"] * @businessRules ["Category UID must exist", "Site-scoped modifications", "Data validation requirements"] * @functionalArea "category-management" * @performance "Real-time category updates with immediate effect" */ update: async (categoryUid, params) => { return executeRequest({ method: 'PUT', path: `/trans-category/${categoryUid}`, paramsSchema: schemas_1.TransCategoryParamsSchema, responseSchema: schemas_1.TransCategoryResponseSchema, }, { categoryUid, ...params }, { categoryUid: String(categoryUid) }); }, /** * Delete transaction category by category UID - OpenAPI Path: /trans-category/{categoryUid} * @description Removes category from the P21 transactional system. Returns deletion confirmation and handles cascade operations. * * @fullPath api.p21Apis.transCategory.delete * @service p21-apis * @domain category-management * @dataMethod transCategoryData.delete * @discoverable true * @searchTerms ["delete category", "remove category", "category deletion", "category removal"] * @relatedEndpoints ["api.p21Apis.transCategory.create", "api.p21Apis.transCategory.get", "api.items.categories.delete"] * @commonPatterns ["Delete category", "Remove category from system", "Category cleanup", "Category removal"] * @workflow ["category-management", "system-cleanup", "inventory-maintenance", "catalog-management"] * @prerequisites ["Valid category UID", "Site ID", "Category deletion permissions"] * @nextSteps ["api.items.categories.list to verify removal", "related product reassignment if needed"] * @businessRules ["Category UID must exist", "Cascade deletion rules", "Related entity validation"] * @functionalArea "category-management" * @performance "Real-time category deletion with immediate effect" */ delete: async (categoryUid, params) => { return executeRequest({ method: 'DELETE', path: `/trans-category/${categoryUid}`, paramsSchema: schemas_1.TransCategoryParamsSchema, responseSchema: schemas_1.TransCategoryResponseSchema, }, { categoryUid, ...params }, { categoryUid: String(categoryUid) }); }, }; } /** * Creates the transCategoryData resource methods (data-only versions) */ function createTransCategoryDataResource(transCategory) { return { /** * Create category and return only data without response metadata */ create: async (params) => { const response = await transCategory.create(params); return response.data; }, /** * Get category and return only data without response metadata */ get: async (categoryUid, params) => { const response = await transCategory.get(categoryUid, params); return response.data; }, /** * Update category and return only data without response metadata */ update: async (categoryUid, params) => { const response = await transCategory.update(categoryUid, params); return response.data; }, /** * Delete category and return only data without response metadata */ delete: async (categoryUid, params) => { const response = await transCategory.delete(categoryUid, params); return response.data; }, }; } //# sourceMappingURL=trans-category.js.map