UNPKG

@simpleapps-com/augur-api

Version:

TypeScript client library for Augur microservices API endpoints

162 lines 6.52 kB
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