Skip to content

apps/api/src/features/homeschool/homeschool.schema.ts ​

Auto-generated by scripts/generate-file-docs.ts. Do not edit — overwritten on every run.

Purpose ​

Request body / query schemas for the homeschool education portal. Domain rules (see docs/internal/design/api-contracts.md, Homeschool section, and the family/account ADRs): - Students are User rows with accountType=CHILD and credential type=PARENT_MANAGED. The "guardian" on an enrollment is the parent making the request and must belong to the same FamilyGroup. - Enrollment is gated by minister approval (MINISTRY_LEADER+) via the existing ApprovalWorkflow pipeline (WorkflowType=MEMBER_JOIN, with the enrollment id captured in workflow notes / subject reference). - Academic records are per-term per-subject; either the guardian or a ministry leader / admin may add them. - Education resources are either downloadable files (storageKey populated AFTER the caller uploads to the storage provider) or external links (externalUrl). Exactly one of the two MUST be set. /

Exports ​

  • export const EnrollStudentSchema
  • export type EnrollStudentInput
  • export const EnrollmentIdParamSchema
  • export type EnrollmentIdParam
  • export const EnrollmentStatusEnum
  • export type EnrollmentStatusInput
  • export const EnrollmentQuerySchema
  • export type EnrollmentQueryInput
  • export const UpdateRecordSchema
  • export type UpdateRecordInput
  • export const CreateResourceSchema
  • export type CreateResourceInput
  • export const ResourceIdParamSchema
  • export type ResourceIdParam
  • export const ResourceQuerySchema
  • export type ResourceQueryInput

Imports ​

  • zod

Imported by ​

Heritage Community Hub — Internal. Access restricted via Cloudflare Access + Entra ID.