UNPKG

@lineai/gov-deals

Version:

Explore Federal contracts for government building renovations, city hall renovations, courthouse updates, library modernizations, federal building improvement contracts, base housing and facilities upgrades.

87 lines 6.51 kB
"use strict"; /** * Common types used across the gov-deals package * All types are prefixed with 'GovDeals' to avoid naming conflicts */ Object.defineProperty(exports, "__esModule", { value: true }); exports.GovDealsApiResponseSchema = exports.GovDealsErrorResponseSchema = exports.GovDealsSortOrderSchema = exports.GovDealsPaginationParamsSchema = exports.GovDealsValueRangeSchema = exports.GovDealsDateRangeSchema = exports.GovDealsContactSchema = exports.GovDealsAgencySchema = exports.GovDealsLocationSchema = void 0; const zod_1 = require("zod"); const constants_1 = require("../config/constants"); /** * Location information for government contracts */ exports.GovDealsLocationSchema = zod_1.z.object({ city: zod_1.z.string().optional(), state: constants_1.StateCodeSchema.optional(), zip: zod_1.z.string().optional(), country: zod_1.z.string().optional(), addressLine1: zod_1.z.string().optional(), addressLine2: zod_1.z.string().optional(), }); /** * Federal agency information */ exports.GovDealsAgencySchema = zod_1.z.object({ name: zod_1.z.string(), code: zod_1.z.string().optional(), type: zod_1.z.string().optional(), parentAgency: zod_1.z.string().optional(), }); /** * Government contact information */ exports.GovDealsContactSchema = zod_1.z.object({ name: zod_1.z.string().optional(), email: zod_1.z.string().email().optional(), phone: zod_1.z.string().optional(), title: zod_1.z.string().optional(), }); /** * Date range for contract searches */ exports.GovDealsDateRangeSchema = zod_1.z.object({ start: zod_1.z.union([zod_1.z.date(), zod_1.z.string()]), end: zod_1.z.union([zod_1.z.date(), zod_1.z.string()]), }); /** * Value range for contract amounts */ exports.GovDealsValueRangeSchema = zod_1.z.object({ min: zod_1.z.number().optional(), max: zod_1.z.number().optional(), currency: zod_1.z.string().default('USD').optional(), }); /** * Pagination parameters for API requests */ exports.GovDealsPaginationParamsSchema = zod_1.z.object({ page: zod_1.z.number().int().positive().optional(), limit: zod_1.z.number().int().positive().max(1000).optional(), offset: zod_1.z.number().int().nonnegative().optional(), }); /** * Sort order for results */ exports.GovDealsSortOrderSchema = zod_1.z.enum(['asc', 'desc']); /** * API error response */ exports.GovDealsErrorResponseSchema = zod_1.z.object({ code: zod_1.z.string(), message: zod_1.z.string(), details: zod_1.z.record(zod_1.z.unknown()).optional(), }); /** * API response wrapper */ const GovDealsApiResponseSchema = (dataSchema) => zod_1.z.object({ data: dataSchema, metadata: zod_1.z.object({ totalRecords: zod_1.z.number().optional(), page: zod_1.z.number().optional(), limit: zod_1.z.number().optional(), hasMore: zod_1.z.boolean().optional(), }).optional(), }); exports.GovDealsApiResponseSchema = GovDealsApiResponseSchema; //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29tbW9uLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL3R5cGVzL2NvbW1vbi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUE7OztHQUdHOzs7QUFFSCw2QkFBd0I7QUFDeEIsbURBQXNEO0FBRXREOztHQUVHO0FBQ1UsUUFBQSxzQkFBc0IsR0FBRyxPQUFDLENBQUMsTUFBTSxDQUFDO0lBQzdDLElBQUksRUFBRSxPQUFDLENBQUMsTUFBTSxFQUFFLENBQUMsUUFBUSxFQUFFO0lBQzNCLEtBQUssRUFBRSwyQkFBZSxDQUFDLFFBQVEsRUFBRTtJQUNqQyxHQUFHLEVBQUUsT0FBQyxDQUFDLE1BQU0sRUFBRSxDQUFDLFFBQVEsRUFBRTtJQUMxQixPQUFPLEVBQUUsT0FBQyxDQUFDLE1BQU0sRUFBRSxDQUFDLFFBQVEsRUFBRTtJQUM5QixZQUFZLEVBQUUsT0FBQyxDQUFDLE1BQU0sRUFBRSxDQUFDLFFBQVEsRUFBRTtJQUNuQyxZQUFZLEVBQUUsT0FBQyxDQUFDLE1BQU0sRUFBRSxDQUFDLFFBQVEsRUFBRTtDQUNwQyxDQUFDLENBQUM7QUFJSDs7R0FFRztBQUNVLFFBQUEsb0JBQW9CLEdBQUcsT0FBQyxDQUFDLE1BQU0sQ0FBQztJQUMzQyxJQUFJLEVBQUUsT0FBQyxDQUFDLE1BQU0sRUFBRTtJQUNoQixJQUFJLEVBQUUsT0FBQyxDQUFDLE1BQU0sRUFBRSxDQUFDLFFBQVEsRUFBRTtJQUMzQixJQUFJLEVBQUUsT0FBQyxDQUFDLE1BQU0sRUFBRSxDQUFDLFFBQVEsRUFBRTtJQUMzQixZQUFZLEVBQUUsT0FBQyxDQUFDLE1BQU0sRUFBRSxDQUFDLFFBQVEsRUFBRTtDQUNwQyxDQUFDLENBQUM7QUFJSDs7R0FFRztBQUNVLFFBQUEscUJBQXFCLEdBQUcsT0FBQyxDQUFDLE1BQU0sQ0FBQztJQUM1QyxJQUFJLEVBQUUsT0FBQyxDQUFDLE1BQU0sRUFBRSxDQUFDLFFBQVEsRUFBRTtJQUMzQixLQUFLLEVBQUUsT0FBQyxDQUFDLE1BQU0sRUFBRSxDQUFDLEtBQUssRUFBRSxDQUFDLFFBQVEsRUFBRTtJQUNwQyxLQUFLLEVBQUUsT0FBQyxDQUFDLE1BQU0sRUFBRSxDQUFDLFFBQVEsRUFBRTtJQUM1QixLQUFLLEVBQUUsT0FBQyxDQUFDLE1BQU0sRUFBRSxDQUFDLFFBQVEsRUFBRTtDQUM3QixDQUFDLENBQUM7QUFJSDs7R0FFRztBQUNVLFFBQUEsdUJBQXVCLEdBQUcsT0FBQyxDQUFDLE1BQU0sQ0FBQztJQUM5QyxLQUFLLEVBQUUsT0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLE9BQUMsQ0FBQyxJQUFJLEVBQUUsRUFBRSxPQUFDLENBQUMsTUFBTSxFQUFFLENBQUMsQ0FBQztJQUN0QyxHQUFHLEVBQUUsT0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLE9BQUMsQ0FBQyxJQUFJLEVBQUUsRUFBRSxPQUFDLENBQUMsTUFBTSxFQUFFLENBQUMsQ0FBQztDQUNyQyxDQUFDLENBQUM7QUFJSDs7R0FFRztBQUNVLFFBQUEsd0JBQXdCLEdBQUcsT0FBQyxDQUFDLE1BQU0sQ0FBQztJQUMvQyxHQUFHLEVBQUUsT0FBQyxDQUFDLE1BQU0sRUFBRSxDQUFDLFFBQVEsRUFBRTtJQUMxQixHQUFHLEVBQUUsT0FBQyxDQUFDLE1BQU0sRUFBRSxDQUFDLFFBQVEsRUFBRTtJQUMxQixRQUFRLEVBQUUsT0FBQyxDQUFDLE1BQU0sRUFBRSxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsQ0FBQyxRQUFRLEVBQUU7Q0FDL0MsQ0FBQyxDQUFDO0FBSUg7O0dBRUc7QUFDVSxRQUFBLDhCQUE4QixHQUFHLE9BQUMsQ0FBQyxNQUFNLENBQUM7SUFDckQsSUFBSSxFQUFFLE9BQUMsQ0FBQyxNQUFNLEVBQUUsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxRQUFRLEVBQUU7SUFDNUMsS0FBSyxFQUFFLE9BQUMsQ0FBQyxNQUFNLEVBQUUsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLENBQUMsUUFBUSxFQUFFO0lBQ3ZELE1BQU0sRUFBRSxPQUFDLENBQUMsTUFBTSxFQUFFLENBQUMsR0FBRyxFQUFFLENBQUMsV0FBVyxFQUFFLENBQUMsUUFBUSxFQUFFO0NBQ2xELENBQUMsQ0FBQztBQUlIOztHQUVHO0FBQ1UsUUFBQSx1QkFBdUIsR0FBRyxPQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsS0FBSyxFQUFFLE1BQU0sQ0FBQyxDQUFDLENBQUM7QUFHL0Q7O0dBRUc7QUFDVSxRQUFBLDJCQUEyQixHQUFHLE9BQUMsQ0FBQyxNQUFNLENBQUM7SUFDbEQsSUFBSSxFQUFFLE9BQUMsQ0FBQyxNQUFNLEVBQUU7SUFDaEIsT0FBTyxFQUFFLE9BQUMsQ0FBQyxNQUFNLEVBQUU7SUFDbkIsT0FBTyxFQUFFLE9BQUMsQ0FBQyxNQUFNLENBQUMsT0FBQyxDQUFDLE9BQU8sRUFBRSxDQUFDLENBQUMsUUFBUSxFQUFFO0NBQzFDLENBQUMsQ0FBQztBQUlIOztHQUVHO0FBQ0ksTUFBTSx5QkFBeUIsR0FBRyxDQUF5QixVQUFhLEVBQUUsRUFBRSxDQUNqRixPQUFDLENBQUMsTUFBTSxDQUFDO0lBQ1AsSUFBSSxFQUFFLFVBQVU7SUFDaEIsUUFBUSxFQUFFLE9BQUMsQ0FBQyxNQUFNLENBQUM7UUFDakIsWUFBWSxFQUFFLE9BQUMsQ0FBQyxNQUFNLEVBQUUsQ0FBQyxRQUFRLEVBQUU7UUFDbkMsSUFBSSxFQUFFLE9BQUMsQ0FBQyxNQUFNLEVBQUUsQ0FBQyxRQUFRLEVBQUU7UUFDM0IsS0FBSyxFQUFFLE9BQUMsQ0FBQyxNQUFNLEVBQUUsQ0FBQyxRQUFRLEVBQUU7UUFDNUIsT0FBTyxFQUFFLE9BQUMsQ0FBQyxPQUFPLEVBQUUsQ0FBQyxRQUFRLEVBQUU7S0FDaEMsQ0FBQyxDQUFDLFFBQVEsRUFBRTtDQUNkLENBQUMsQ0FBQztBQVRRLFFBQUEseUJBQXlCLDZCQVNqQyJ9