UNPKG

@simpleapps-com/augur-api

Version:

TypeScript client library for Augur microservices API endpoints

210 lines 10.2 kB
import { type JobPriceHdrListParams, type JobPriceHdr, type JobPriceLineListParams, type JobPriceLine } from '../schemas'; import type { PricingClient } from '../client'; import type { BaseResponse } from '../../../core/base-client'; type ExecuteRequest = PricingClient['executeRequest']; /** * Creates the jobPriceHdr resource methods * OpenAPI Path: /job-price-hdr → jobPriceHdr.* * @description Methods for managing job-based pricing contracts and agreements */ export declare function createJobPriceHdrResource(executeRequest: ExecuteRequest): { /** * List job price headers with filtering and pagination * @description Retrieves job price headers with optional search, filtering, and pagination * @fullPath api.pricing.jobPriceHdr.list * @service pricing * @domain job-pricing * @dataMethod jobPriceHdrData.list * @discoverable true * @searchTerms ["job price header", "list job headers", "job pricing", "pricing contracts"] * @relatedEndpoints ["api.pricing.jobPriceHdr.get", "api.pricing.jobPriceHdr.lines.list"] * @commonPatterns ["list job headers", "search job headers", "job pricing list"] * @param params Optional filtering and pagination parameters * @returns Paginated list of job price headers with total count * @throws ValidationError When parameters are invalid or response is malformed * @example * ```typescript * // Get all job price headers * const headers = await client.jobPriceHdr.list(); * * // Search and filter * const filtered = await client.jobPriceHdr.list({ * q: 'contract', * limit: 25, * orderBy: 'job_no|ASC' * }); * * console.log(`Found ${filtered.total} job price headers`); * filtered.data.forEach(header => { * console.log(`${header.job_no}: ${header.job_description}`); * }); * ``` */ list: (params?: JobPriceHdrListParams) => Promise<BaseResponse<JobPriceHdr[]>>; /** * Get specific job price header details * @description Retrieves detailed information for a specific job price header * @fullPath api.pricing.jobPriceHdr.get * @service pricing * @domain job-pricing * @dataMethod jobPriceHdrData.get * @discoverable true * @searchTerms ["job price header", "get job header", "job pricing details"] * @relatedEndpoints ["api.pricing.jobPriceHdr.list", "api.pricing.jobPriceHdr.lines.get"] * @commonPatterns ["get job header", "job header details", "job pricing details"] * @param jobPriceHdrUid Job price header unique identifier * @returns Complete job price header details including contract information * @throws ValidationError When response is malformed * @example * ```typescript * const header = await client.jobPriceHdr.get(12345); * console.log('Job:', header.job_no, header.job_description); * console.log('Customer:', header.customer_id); * console.log('Contract:', header.contract_no); * console.log('Period:', header.start_date, 'to', header.end_date); * ``` */ get: (jobPriceHdrUid: number) => Promise<BaseResponse<JobPriceHdr>>; /** * Job Price Line endpoints * @description Methods for managing individual line items within job pricing contracts * @fullPath api.pricing.jobPriceHdr.lines * @service pricing * @domain job-pricing-lines * @discoverable true * @searchTerms ["job price lines", "job line items", "pricing line items", "contract lines"] * @relatedEndpoints ["api.pricing.jobPriceHdr"] * @commonPatterns ["list job lines", "get job line", "job line items"] */ lines: { /** * List job price lines for a specific header * @description Retrieves job price lines with optional filtering by status, inventory, and other criteria * @fullPath api.pricing.jobPriceHdr.lines.list * @service pricing * @domain job-pricing-lines * @dataMethod jobPriceHdrData.lines.list * @discoverable true * @searchTerms ["job price lines", "list job lines", "job line items", "contract lines"] * @relatedEndpoints ["api.pricing.jobPriceHdr.lines.get"] * @commonPatterns ["list job lines", "search job lines", "job line items list"] * @param jobPriceHdrUid Job price header unique identifier * @param params Optional filtering and pagination parameters * @returns Paginated list of job price lines with total count * @throws ValidationError When parameters are invalid or response is malformed * @example * ```typescript * // Get all lines for a job * const lines = await client.jobPriceHdr.lines.list(12345); * * // Filter by status and inventory * const activeLines = await client.jobPriceHdr.lines.list(12345, { * statusCd: 704, // Active * invMastUid: 11111, * limit: 50 * }); * * console.log(`Found ${activeLines.total} active lines`); * activeLines.data.forEach(line => { * console.log(`${line.item_id}: $${line.price} (${line.uom})`); * }); * ``` */ list: (jobPriceHdrUid: number, params?: JobPriceLineListParams) => Promise<BaseResponse<JobPriceLine[]>>; /** * Get specific job price line details * @description Retrieves detailed information for a specific job price line including pricing method and cost basis * @fullPath api.pricing.jobPriceHdr.lines.get * @service pricing * @domain job-pricing-lines * @dataMethod jobPriceHdrData.lines.get * @discoverable true * @searchTerms ["job price line", "get job line", "job line details", "pricing line"] * @relatedEndpoints ["api.pricing.jobPriceHdr.lines.list"] * @commonPatterns ["get job line", "job line details", "pricing line details"] * @param jobPriceHdrUid Job price header unique identifier * @param jobPriceLineUid Job price line unique identifier * @returns Complete job price line details including extended pricing information * @throws ValidationError When response is malformed * @example * ```typescript * const line = await client.jobPriceHdr.lines.get(12345, 67890); * console.log('Item:', line.item_id, line.item_description); * console.log('Price:', line.price, line.uom); * console.log('Quantities - Ordered:', line.qty_ordered, 'Max:', line.qty_maximum); * console.log('Margins - Discount:', line.discount_percent, 'Margin:', line.margin_percent); * ``` */ get: (jobPriceHdrUid: number, jobPriceLineUid: number) => Promise<BaseResponse<JobPriceLine>>; }; }; /** * Creates the jobPriceHdrData resource methods (data-only versions) */ export declare function createJobPriceHdrDataResource(jobPriceHdr: ReturnType<typeof createJobPriceHdrResource>): { /** * List job price headers data without response metadata * @fullPath api.pricing.jobPriceHdrData.list * @service pricing * @domain job-pricing * @discoverable true * @searchTerms ["job price header data", "list job header data", "job pricing data"] * @relatedEndpoints ["api.pricing.jobPriceHdr.list"] * @commonPatterns ["list job header data", "job pricing data list"] * @returns Promise<JobPriceHdr[]> Job price headers data directly */ list: (params?: JobPriceHdrListParams) => Promise<JobPriceHdr[]>; /** * Get job price header data without response metadata * @fullPath api.pricing.jobPriceHdrData.get * @service pricing * @domain job-pricing * @discoverable true * @searchTerms ["job price header data", "get job header data", "job pricing data"] * @relatedEndpoints ["api.pricing.jobPriceHdr.get"] * @commonPatterns ["get job header data", "job pricing data"] * @returns Promise<JobPriceHdr> Job price header data directly */ get: (jobPriceHdrUid: number) => Promise<JobPriceHdr>; /** * Job Price Lines Data Operations * @description Direct access to job price lines data without response metadata * @fullPath api.pricing.jobPriceHdrData.lines * @service pricing * @domain job-pricing-lines * @discoverable true * @searchTerms ["job price lines data", "job line data", "pricing line data"] * @relatedEndpoints ["api.pricing.jobPriceHdr.lines"] * @commonPatterns ["get job line data", "job pricing line data"] */ lines: { /** * List job price lines data without response metadata * @fullPath api.pricing.jobPriceHdrData.lines.list * @service pricing * @domain job-pricing-lines * @discoverable true * @searchTerms ["job price lines data", "list job line data", "pricing line data"] * @relatedEndpoints ["api.pricing.jobPriceHdr.lines.list"] * @commonPatterns ["list job line data", "job pricing line data list"] * @returns Promise<JobPriceLine[]> Job price lines data directly */ list: (jobPriceHdrUid: number, params?: JobPriceLineListParams) => Promise<JobPriceLine[]>; /** * Get job price line data without response metadata * @fullPath api.pricing.jobPriceHdrData.lines.get * @service pricing * @domain job-pricing-lines * @discoverable true * @searchTerms ["job price line data", "get job line data", "pricing line data"] * @relatedEndpoints ["api.pricing.jobPriceHdr.lines.get"] * @commonPatterns ["get job line data", "job pricing line data"] * @returns Promise<JobPriceLine> Job price line data directly */ get: (jobPriceHdrUid: number, jobPriceLineUid: number) => Promise<JobPriceLine>; }; }; export type JobPriceHdrResource = ReturnType<typeof createJobPriceHdrResource>; export type JobPriceHdrDataResource = ReturnType<typeof createJobPriceHdrDataResource>; export {}; //# sourceMappingURL=job-price-hdr.d.ts.map