@davidtnfsh/etl-contracts
v1.0.0
Published
Shared contracts for ETL job status system
Readme
@davidtnfsh/etl-contracts
Shared TypeScript and Zod contracts for the All Weather ETL job status system.
Installation
npm install @davidtnfsh/etl-contractsUsage
import { EtlJobStatusSchema, type EtlJobStatus } from '@davidtnfsh/etl-contracts';
// Validate API responses
const response = await fetch('/api/jobs/123');
const data = await response.json();
const validated = EtlJobStatusSchema.parse(data);
// TypeScript types
const job: EtlJobStatus = {
jobId: 'etl_123',
status: 'completed',
trigger: 'webhook',
createdAt: '2025-01-07T10:00:00Z',
recordsProcessed: 100,
recordsInserted: 95
};Schemas
EtlJobStatusSchema- Job status response (flat structure)EtlJobCreatedSchema- Job creation responseEtlErrorSchema- Error structureJobStatusEnum- Status values:pending,processing,completed,failedErrorCodeEnum- Error codes:API_ERROR,VALIDATION_ERROR,INTERNAL_ERROR,RATE_LIMIT_EXCEEDED
Types
All types are inferred from Zod schemas:
EtlJobStatusEtlJobCreatedEtlErrorJobStatusErrorCode
License
ISC
