@companyio/schemas
v0.1.0
Published
Shared Zod schemas and validation primitives for CompanyIO products
Readme
@companyio/schemas
Shared Zod schemas and validation primitives for CompanyIO frontends and backends.
This package owns the direct Zod dependency for shared contracts. Domain packages keep their own Zod schemas (Fuel meter sales, Accounting journals, HR employees, Contacts parties, …) and should depend on @companyio/schemas for repeated primitives only.
What belongs here
- Opaque string ids
- Calendar dates (
YYYY-MM-DD) - Date-range query params
- Pagination query + page slice
- Optional search / sort direction
What does not belong here
- Fuel / POS / School domain schemas
- Accounting journal or money models (Accounting owns cents + currency)
- Contacts party schemas
- Auth identity contracts (
@companyio/auth-contracts)
Usage
import {
idSchema,
ymdDateSchema,
paginationQuerySchema,
dateRangeQuerySchema,
z,
} from '@companyio/schemas';
const query = paginationQuerySchema
.extend({
branchId: idSchema,
businessDate: ymdDateSchema,
})
.parse(request.query);Install
pnpm add @companyio/[email protected]Workspace:
"@companyio/schemas": "workspace:*"