@deepintel-ltd/cartrack-contracts
v0.1.0
Published
API contracts for CarTrack NG - Car inventory and consignment management platform
Maintainers
Readme
@deepintel-ltd/cartrack-contracts
API contracts for CarTrack NG - A car inventory and consignment management platform for Nigerian car dealers.
Installation
npm install @deepintel-ltd/cartrack-contractsUsage
Backend (NestJS)
import { apiContract } from '@deepintel-ltd/cartrack-contracts';
import { TsRestHandler, tsRestHandler } from '@ts-rest/nest';
@Controller()
export class VehiclesController {
@TsRestHandler(apiContract.vehicles)
async handler() {
return tsRestHandler(apiContract.vehicles, {
listVehicles: async ({ params, query }) => {
// Implementation
},
// ... other handlers
});
}
}Frontend (React)
import { initClient } from '@ts-rest/core';
import { apiContract } from '@deepintel-ltd/cartrack-contracts';
const client = initClient(apiContract, {
baseUrl: 'http://localhost:3000',
baseHeaders: {
Authorization: `Bearer ${token}`,
},
});
// Type-safe API calls
const vehicles = await client.vehicles.listVehicles({
params: { organizationId: 'uuid' },
query: { 'page[number]': 1 },
});Available Contracts
- auth - Authentication (login, signup, tokens, password reset)
- vehicles - Vehicle CRUD and status management
- owners - Car owner management for consignment
- movements - Vehicle checkout/checkin tracking
- sales - Sale recording with commission calculation
- keys - Key location tracking
- files - Photo and file upload management
Schemas
All schemas are exported for validation:
import {
createVehicleSchema,
vehicleStatusSchema,
loginRequestSchema,
} from '@deepintel-ltd/cartrack-contracts';
// Use for validation
const result = createVehicleSchema.safeParse(data);License
UNLICENSED - Private package for DeepIntel Ltd.
