@simpleapps-com/augur-api
Version:
TypeScript client library for Augur microservices API endpoints
163 lines • 8.29 kB
TypeScript
import { type TransCategoryCreateParams } from '../schemas';
import type { P21ApisClient } from '../client';
type ExecuteRequest = P21ApisClient['executeRequest'];
/**
* Creates the transCategory resource methods
* OpenAPI Path: /trans-category → transCategory.*
* @description Category management and CRUD operations following OpenAPI path mirroring pattern
*/
export declare function createTransCategoryResource(executeRequest: ExecuteRequest): {
/**
* 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: (params?: TransCategoryCreateParams) => Promise<{
params: Record<string, unknown> | unknown[];
options: Record<string, unknown> | unknown[];
status: number;
message: string;
count: number;
total: number;
totalResults: number;
data?: unknown;
}>;
/**
* 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: (categoryUid: number, params?: {
categoryId?: string;
}) => Promise<{
params: Record<string, unknown> | unknown[];
options: Record<string, unknown> | unknown[];
status: number;
message: string;
count: number;
total: number;
totalResults: number;
data?: unknown;
}>;
/**
* 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: (categoryUid: number, params?: {
categoryId?: string;
}) => Promise<{
params: Record<string, unknown> | unknown[];
options: Record<string, unknown> | unknown[];
status: number;
message: string;
count: number;
total: number;
totalResults: number;
data?: unknown;
}>;
/**
* 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: (categoryUid: number, params?: {
categoryId?: string;
}) => Promise<{
params: Record<string, unknown> | unknown[];
options: Record<string, unknown> | unknown[];
status: number;
message: string;
count: number;
total: number;
totalResults: number;
data?: unknown;
}>;
};
/**
* Creates the transCategoryData resource methods (data-only versions)
*/
export declare function createTransCategoryDataResource(transCategory: ReturnType<typeof createTransCategoryResource>): {
/**
* Create category and return only data without response metadata
*/
create: (params?: TransCategoryCreateParams) => Promise<unknown>;
/**
* Get category and return only data without response metadata
*/
get: (categoryUid: number, params?: {
categoryId?: string;
}) => Promise<unknown>;
/**
* Update category and return only data without response metadata
*/
update: (categoryUid: number, params?: {
categoryId?: string;
}) => Promise<unknown>;
/**
* Delete category and return only data without response metadata
*/
delete: (categoryUid: number, params?: {
categoryId?: string;
}) => Promise<unknown>;
};
export type TransCategoryResource = ReturnType<typeof createTransCategoryResource>;
export type TransCategoryDataResource = ReturnType<typeof createTransCategoryDataResource>;
export {};
//# sourceMappingURL=trans-category.d.ts.map