@oaknational/oak-curriculum-schema-v2 0.0.17-alpha → 0.0.19-alpha
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +29 -0
- package/cjs/index.cjs +72 -27
- package/cjs/index.cjs.map +1 -1
- package/esm/index.js +69 -24
- package/esm/index.js.map +1 -1
- package/package.json +1 -1
- package/src/enums/acquisition-basis.ts +6 -0
- package/src/enums/clip-section.ts +6 -0
- package/src/enums/cohort.ts +6 -0
- package/src/enums/contract-log-event-type.ts +8 -0
- package/src/enums/contract-territory.ts +6 -0
- package/src/enums/document-type.ts +6 -0
- package/src/enums/index.ts +28 -0
- package/src/enums/lesson-component-operation-status.ts +11 -0
- package/src/enums/lesson-component-status-retirement.ts +11 -0
- package/src/enums/lesson-component-type.ts +6 -0
- package/src/enums/lesson-status.ts +6 -0
- package/src/enums/licence.ts +6 -0
- package/src/enums/media-kind.ts +6 -0
- package/src/enums/media-provenance.ts +6 -0
- package/src/enums/media-status-retirement.ts +8 -0
- package/src/enums/media-status.ts +6 -0
- package/src/enums/media-type.ts +6 -0
- package/src/enums/operation.ts +6 -0
- package/src/enums/permission-status.ts +6 -0
- package/src/enums/question-type.ts +6 -0
- package/src/enums/quiz-role.ts +6 -0
- package/src/enums/redirect-entity-source.ts +8 -0
- package/src/enums/redirect-type.ts +6 -0
- package/src/enums/release-type.ts +6 -0
- package/src/enums/restriction-level.ts +6 -0
- package/src/enums/restrictions-type.ts +6 -0
- package/src/enums/state.ts +6 -0
- package/src/enums/tag-category.ts +6 -0
- package/src/enums/usage-restrictions.ts +6 -0
- package/src/index.ts +3 -20
- package/src/mutation-api/index.ts +2 -0
- package/src/rendered-schema/index.ts +20 -0
- package/types.d.ts +574 -299
package/README.md
CHANGED
|
@@ -39,6 +39,35 @@ service that uses them (for example `mutation-api`).
|
|
|
39
39
|
- Types are PascalCase with a `Type` suffix, or `CamelType` for the
|
|
40
40
|
camelCase-key type.
|
|
41
41
|
|
|
42
|
+
## Database enums
|
|
43
|
+
|
|
44
|
+
Every database enum is exported as a Zod schema, values array and inferred type.
|
|
45
|
+
Values come directly from the Drizzle enum, preserving its labels and order.
|
|
46
|
+
|
|
47
|
+
```ts
|
|
48
|
+
import {
|
|
49
|
+
stateSchema,
|
|
50
|
+
stateValues,
|
|
51
|
+
type StateType,
|
|
52
|
+
} from "@oaknational/oak-curriculum-schema-v2";
|
|
53
|
+
|
|
54
|
+
const state: StateType = stateSchema.parse("draft");
|
|
55
|
+
// stateValues contains all permitted database states.
|
|
56
|
+
```
|
|
57
|
+
|
|
58
|
+
Names follow the conventions `<thing>Schema`, `<thing>Values` and
|
|
59
|
+
`<Thing>Type`.
|
|
60
|
+
|
|
61
|
+
## Source organisation
|
|
62
|
+
|
|
63
|
+
- `src/rendered-schema/`: view schemas and their tests.
|
|
64
|
+
- `src/enums/`: one database enum per file.
|
|
65
|
+
- `src/mutation-api/`: shared Mutation API contracts; currently an empty barrel.
|
|
66
|
+
|
|
67
|
+
Folder barrels feed the package entry point. Consumers import from the package
|
|
68
|
+
root. Service-local Mutation API contracts and validation utilities stay in the
|
|
69
|
+
service package.
|
|
70
|
+
|
|
42
71
|
## Row types
|
|
43
72
|
|
|
44
73
|
The schema declarations in `types.d.ts` are built by `drizzle-zod` and are
|