@simpleapps-com/augur-api
Version:
TypeScript client library for Augur microservices API endpoints
210 lines • 10.2 kB
TypeScript
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