@simpleapps-com/augur-api
Version:
TypeScript client library for Augur microservices API endpoints
162 lines • 6.52 kB
TypeScript
import { z } from 'zod';
import type { BaseResponse } from '../../../core/base-client';
import { Distributor, DistributorListParams, CreateDistributorRequest, UpdateDistributorRequest, EnableDistributorRequest, Product, CreateProductRequest } from '../schemas';
import type { VMIClient } from '../client';
type ExecuteRequest = VMIClient['executeRequest'];
/**
* Creates the distributors resource methods
* OpenAPI Path: /distributors → distributors.*
* @description Methods for CRUD operations on distributors and supplier relationships
*/
export declare function createDistributorsResource(executeRequest: ExecuteRequest): {
/**
* List distributors with filtering
* @description Returns distributors for a customer with optional status filtering and pagination
* @param params Filtering and pagination parameters (customerId is required)
* @returns Array of distributor objects
* @throws ValidationError When parameters are invalid or response is malformed
*/
list: (params?: DistributorListParams) => Promise<{
params: Record<string, unknown> | unknown[];
data: z.objectInputType<{
distributorsUid: z.ZodNumber;
}, z.ZodTypeAny, "passthrough">[];
options: Record<string, unknown> | unknown[];
status: number;
message: string;
count: number;
total: number;
totalResults: number;
}>;
/**
* Get distributor details by ID
* @description Returns detailed information for a specific distributor
* @param distributorsUid Distributor unique identifier
* @returns Distributor details
* @throws ValidationError When response is malformed
*/
get: (distributorsUid: number) => Promise<{
params: Record<string, unknown> | unknown[];
data: {
distributorsUid: number;
} & {
[k: string]: unknown;
};
options: Record<string, unknown> | unknown[];
status: number;
message: string;
count: number;
total: number;
totalResults: number;
}>;
/**
* Create a new distributor
* @description Creates a new distributor with contact information
* @param request Distributor creation data
* @returns Created distributor information
* @throws ValidationError When request is invalid or response is malformed
*/
create: (request: CreateDistributorRequest) => Promise<{
params: Record<string, unknown> | unknown[];
data: {
distributorsUid: number;
} & {
[k: string]: unknown;
};
options: Record<string, unknown> | unknown[];
status: number;
message: string;
count: number;
total: number;
totalResults: number;
}>;
/**
* Update distributor information
* @description Updates distributor details with provided data
* @param distributorsUid Distributor unique identifier
* @param request Distributor update data
* @returns Updated distributor information
* @throws ValidationError When request is invalid or response is malformed
*/
update: (distributorsUid: number, request: UpdateDistributorRequest) => Promise<{
params: Record<string, unknown> | unknown[];
data: {
distributorsUid: number;
} & {
[k: string]: unknown;
};
options: Record<string, unknown> | unknown[];
status: number;
message: string;
count: number;
total: number;
totalResults: number;
}>;
/**
* Soft delete a distributor
* @description Marks distributor as deleted without removing data
* @param distributorsUid Distributor unique identifier
* @returns Boolean indicating successful deletion
* @throws ValidationError When response is malformed
*/
delete: (distributorsUid: number) => Promise<boolean>;
/**
* Enable, disable, or delete a distributor
* @description Changes distributor status using status codes
* @param distributorsUid Distributor unique identifier
* @param request Status change request with new status code
* @returns Updated distributor information
* @throws ValidationError When request is invalid or response is malformed
*/
enable: (distributorsUid: number, request: EnableDistributorRequest) => Promise<BaseResponse<Distributor>>;
/**
* Distributor products endpoints
* @description Methods for managing products associated with distributors
*/
products: {
/**
* Create product associated with distributor
* @description Creates a new product and associates it with a distributor
* @param distributorsUid Distributor unique identifier
* @param request Product creation data
* @returns Created product information
* @throws ValidationError When request is invalid or response is malformed
*/
create: (distributorsUid: number, request: CreateProductRequest) => Promise<BaseResponse<Product>>;
};
};
/**
* Creates the distributorsData resource methods (data-only versions)
*/
export declare function createDistributorsDataResource(distributors: ReturnType<typeof createDistributorsResource>): {
list: (params?: DistributorListParams) => Promise<z.objectInputType<{
distributorsUid: z.ZodNumber;
}, z.ZodTypeAny, "passthrough">[]>;
get: (distributorsUid: number) => Promise<{
distributorsUid: number;
} & {
[k: string]: unknown;
}>;
create: (request: CreateDistributorRequest) => Promise<{
distributorsUid: number;
} & {
[k: string]: unknown;
}>;
update: (distributorsUid: number, request: UpdateDistributorRequest) => Promise<{
distributorsUid: number;
} & {
[k: string]: unknown;
}>;
enable: (distributorsUid: number, request: EnableDistributorRequest) => Promise<z.objectOutputType<{
distributorsUid: z.ZodNumber;
}, z.ZodTypeAny, "passthrough">>;
products: {
create: (distributorsUid: number, request: CreateProductRequest) => Promise<z.objectOutputType<{
productsUid: z.ZodNumber;
}, z.ZodTypeAny, "passthrough">>;
};
};
export type DistributorsResource = ReturnType<typeof createDistributorsResource>;
export type DistributorsDataResource = ReturnType<typeof createDistributorsDataResource>;
export {};
//# sourceMappingURL=distributors.d.ts.map