@crm-dance/domain-model
v0.1.10
Published
Shared domain schemas and types for CRM Dance
Readme
@crm-dance/domain-model
Shared domain schemas and types for CRM Dance. Currently includes the competitions model with Zod validation and Supabase-generated types.
What’s inside
CompetitionEventSchema(Zod) andCompetitionEventtype- Helpers:
buildSlug,toDbFields,DbCompetitionsInsert - Supabase types generated for project
habynkxsjuapxlyistlz(seedb-typesexports)
Install
pnpm add @crm-dance/domain-modelUsage
import {
CompetitionEventSchema,
CompetitionEvent,
buildSlug,
toDbFields,
} from '@crm-dance/domain-model';
const parsed = CompetitionEventSchema.parse(payload);
const slug = buildSlug({ name: parsed.name, city: parsed.city, state: parsed.state, year: parsed.startDate.slice(0,4) });
const dbRow = toDbFields({ ...parsed, slug });Scripts
pnpm run build— compile todist/
Regenerating Supabase types
Requires Supabase access token:
SUPABASE_ACCESS_TOKEN=<token> pnpm dlx supabase@latest gen types typescript --project-id habynkxsjuapxlyistlz > src/db-types.tsPublishing
pnpm run build
npm version <patch|minor|major>
npm publish