@oaknational/oak-curriculum-schema-v2 0.0.1

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/package.json ADDED
@@ -0,0 +1,23 @@
1
+ {
2
+ "name": "@oaknational/oak-curriculum-schema-v2",
3
+ "version": "0.0.1",
4
+ "type": "module",
5
+ "description": "drizzle-zod derived Zod schemas for Oak National Academy's curriculum data (temporary package name for validation).",
6
+ "main": "cjs/index.cjs",
7
+ "module": "esm/index.js",
8
+ "types": "types.d.ts",
9
+ "exports": {
10
+ ".": {
11
+ "types": "./types.d.ts",
12
+ "require": "./cjs/index.cjs",
13
+ "import": "./esm/index.js"
14
+ }
15
+ },
16
+ "dependencies": {
17
+ "drizzle-zod": "^0.8.3"
18
+ },
19
+ "peerDependencies": {
20
+ "drizzle-orm": ">=0.45.0",
21
+ "zod": "^4.0.0"
22
+ }
23
+ }
package/src/index.ts ADDED
@@ -0,0 +1 @@
1
+ export * from "@/oak-curriculum-schema/src/schema/lesson";
@@ -0,0 +1,14 @@
1
+ import { createInsertSchema, createSelectSchema } from "drizzle-zod";
2
+ import { lessons } from "drizzle/schema";
3
+ import { z } from "zod";
4
+
5
+ export const lessonSelectSchema = createSelectSchema(lessons);
6
+ export const lessonInsertSchema = createInsertSchema(lessons);
7
+
8
+ export const lessonPublishedSchema = lessonSelectSchema.extend({
9
+ _state: z.literal("published"),
10
+ });
11
+
12
+ export type Lesson = z.infer<typeof lessonSelectSchema>;
13
+ export type LessonInsert = z.infer<typeof lessonInsertSchema>;
14
+ export type LessonPublished = z.infer<typeof lessonPublishedSchema>;
package/types.d.ts ADDED
@@ -0,0 +1,649 @@
1
+ import * as drizzle_zod from 'drizzle-zod';
2
+ import * as drizzle_orm_pg_core from 'drizzle-orm/pg-core';
3
+ import { z } from 'zod';
4
+
5
+ declare const lessonSelectSchema: drizzle_zod.BuildSchema<"select", {
6
+ created_at: drizzle_orm_pg_core.PgColumn<{
7
+ name: "created_at";
8
+ tableName: "lessons";
9
+ dataType: "date";
10
+ columnType: "PgTimestamp";
11
+ data: Date;
12
+ driverParam: string;
13
+ notNull: false;
14
+ hasDefault: true;
15
+ isPrimaryKey: false;
16
+ isAutoincrement: false;
17
+ hasRuntimeDefault: false;
18
+ enumValues: undefined;
19
+ baseColumn: never;
20
+ identity: undefined;
21
+ generated: undefined;
22
+ }, {}, {}>;
23
+ updated_at: drizzle_orm_pg_core.PgColumn<{
24
+ name: "updated_at";
25
+ tableName: "lessons";
26
+ dataType: "date";
27
+ columnType: "PgTimestamp";
28
+ data: Date;
29
+ driverParam: string;
30
+ notNull: false;
31
+ hasDefault: true;
32
+ isPrimaryKey: false;
33
+ isAutoincrement: false;
34
+ hasRuntimeDefault: false;
35
+ enumValues: undefined;
36
+ baseColumn: never;
37
+ identity: undefined;
38
+ generated: undefined;
39
+ }, {}, {}>;
40
+ _expire_on_release: drizzle_orm_pg_core.PgColumn<{
41
+ name: "_expire_on_release";
42
+ tableName: "lessons";
43
+ dataType: "boolean";
44
+ columnType: "PgBoolean";
45
+ data: boolean;
46
+ driverParam: boolean;
47
+ notNull: true;
48
+ hasDefault: true;
49
+ isPrimaryKey: false;
50
+ isAutoincrement: false;
51
+ hasRuntimeDefault: false;
52
+ enumValues: undefined;
53
+ baseColumn: never;
54
+ identity: undefined;
55
+ generated: undefined;
56
+ }, {}, {}>;
57
+ _release_id: drizzle_orm_pg_core.PgColumn<{
58
+ name: "_release_id";
59
+ tableName: "lessons";
60
+ dataType: "number";
61
+ columnType: "PgInteger";
62
+ data: number;
63
+ driverParam: string | number;
64
+ notNull: false;
65
+ hasDefault: false;
66
+ isPrimaryKey: false;
67
+ isAutoincrement: false;
68
+ hasRuntimeDefault: false;
69
+ enumValues: undefined;
70
+ baseColumn: never;
71
+ identity: undefined;
72
+ generated: undefined;
73
+ }, {}, {}>;
74
+ supervision_level_id: drizzle_orm_pg_core.PgColumn<{
75
+ name: "supervision_level_id";
76
+ tableName: "lessons";
77
+ dataType: "number";
78
+ columnType: "PgInteger";
79
+ data: number;
80
+ driverParam: string | number;
81
+ notNull: false;
82
+ hasDefault: false;
83
+ isPrimaryKey: false;
84
+ isAutoincrement: false;
85
+ hasRuntimeDefault: false;
86
+ enumValues: undefined;
87
+ baseColumn: never;
88
+ identity: undefined;
89
+ generated: undefined;
90
+ }, {}, {}>;
91
+ deprecated_fields: drizzle_orm_pg_core.PgColumn<{
92
+ name: "deprecated_fields";
93
+ tableName: "lessons";
94
+ dataType: "json";
95
+ columnType: "PgJsonb";
96
+ data: unknown;
97
+ driverParam: unknown;
98
+ notNull: false;
99
+ hasDefault: false;
100
+ isPrimaryKey: false;
101
+ isAutoincrement: false;
102
+ hasRuntimeDefault: false;
103
+ enumValues: undefined;
104
+ baseColumn: never;
105
+ identity: undefined;
106
+ generated: undefined;
107
+ }, {}, {}>;
108
+ equipment_and_resources: drizzle_orm_pg_core.PgColumn<{
109
+ name: "equipment_and_resources";
110
+ tableName: "lessons";
111
+ dataType: "json";
112
+ columnType: "PgJsonb";
113
+ data: unknown;
114
+ driverParam: unknown;
115
+ notNull: false;
116
+ hasDefault: false;
117
+ isPrimaryKey: false;
118
+ isAutoincrement: false;
119
+ hasRuntimeDefault: false;
120
+ enumValues: undefined;
121
+ baseColumn: never;
122
+ identity: undefined;
123
+ generated: undefined;
124
+ }, {}, {}>;
125
+ key_learning_points: drizzle_orm_pg_core.PgColumn<{
126
+ name: "key_learning_points";
127
+ tableName: "lessons";
128
+ dataType: "json";
129
+ columnType: "PgJsonb";
130
+ data: unknown;
131
+ driverParam: unknown;
132
+ notNull: false;
133
+ hasDefault: false;
134
+ isPrimaryKey: false;
135
+ isAutoincrement: false;
136
+ hasRuntimeDefault: false;
137
+ enumValues: undefined;
138
+ baseColumn: never;
139
+ identity: undefined;
140
+ generated: undefined;
141
+ }, {}, {}>;
142
+ keywords: drizzle_orm_pg_core.PgColumn<{
143
+ name: "keywords";
144
+ tableName: "lessons";
145
+ dataType: "json";
146
+ columnType: "PgJsonb";
147
+ data: unknown;
148
+ driverParam: unknown;
149
+ notNull: false;
150
+ hasDefault: false;
151
+ isPrimaryKey: false;
152
+ isAutoincrement: false;
153
+ hasRuntimeDefault: false;
154
+ enumValues: undefined;
155
+ baseColumn: never;
156
+ identity: undefined;
157
+ generated: undefined;
158
+ }, {}, {}>;
159
+ lesson_outline: drizzle_orm_pg_core.PgColumn<{
160
+ name: "lesson_outline";
161
+ tableName: "lessons";
162
+ dataType: "json";
163
+ columnType: "PgJsonb";
164
+ data: unknown;
165
+ driverParam: unknown;
166
+ notNull: false;
167
+ hasDefault: false;
168
+ isPrimaryKey: false;
169
+ isAutoincrement: false;
170
+ hasRuntimeDefault: false;
171
+ enumValues: undefined;
172
+ baseColumn: never;
173
+ identity: undefined;
174
+ generated: undefined;
175
+ }, {}, {}>;
176
+ misconceptions_and_common_mistakes: drizzle_orm_pg_core.PgColumn<{
177
+ name: "misconceptions_and_common_mistakes";
178
+ tableName: "lessons";
179
+ dataType: "json";
180
+ columnType: "PgJsonb";
181
+ data: unknown;
182
+ driverParam: unknown;
183
+ notNull: false;
184
+ hasDefault: false;
185
+ isPrimaryKey: false;
186
+ isAutoincrement: false;
187
+ hasRuntimeDefault: false;
188
+ enumValues: undefined;
189
+ baseColumn: never;
190
+ identity: undefined;
191
+ generated: undefined;
192
+ }, {}, {}>;
193
+ phonics_outcome: drizzle_orm_pg_core.PgColumn<{
194
+ name: "phonics_outcome";
195
+ tableName: "lessons";
196
+ dataType: "string";
197
+ columnType: "PgText";
198
+ data: string;
199
+ driverParam: string;
200
+ notNull: false;
201
+ hasDefault: false;
202
+ isPrimaryKey: false;
203
+ isAutoincrement: false;
204
+ hasRuntimeDefault: false;
205
+ enumValues: [string, ...string[]];
206
+ baseColumn: never;
207
+ identity: undefined;
208
+ generated: undefined;
209
+ }, {}, {}>;
210
+ pupil_lesson_outcome: drizzle_orm_pg_core.PgColumn<{
211
+ name: "pupil_lesson_outcome";
212
+ tableName: "lessons";
213
+ dataType: "string";
214
+ columnType: "PgText";
215
+ data: string;
216
+ driverParam: string;
217
+ notNull: false;
218
+ hasDefault: false;
219
+ isPrimaryKey: false;
220
+ isAutoincrement: false;
221
+ hasRuntimeDefault: false;
222
+ enumValues: [string, ...string[]];
223
+ baseColumn: never;
224
+ identity: undefined;
225
+ generated: undefined;
226
+ }, {}, {}>;
227
+ slug: drizzle_orm_pg_core.PgColumn<{
228
+ name: "slug";
229
+ tableName: "lessons";
230
+ dataType: "string";
231
+ columnType: "PgText";
232
+ data: string;
233
+ driverParam: string;
234
+ notNull: true;
235
+ hasDefault: false;
236
+ isPrimaryKey: false;
237
+ isAutoincrement: false;
238
+ hasRuntimeDefault: false;
239
+ enumValues: [string, ...string[]];
240
+ baseColumn: never;
241
+ identity: undefined;
242
+ generated: undefined;
243
+ }, {}, {}>;
244
+ teacher_tips: drizzle_orm_pg_core.PgColumn<{
245
+ name: "teacher_tips";
246
+ tableName: "lessons";
247
+ dataType: "json";
248
+ columnType: "PgJsonb";
249
+ data: unknown;
250
+ driverParam: unknown;
251
+ notNull: false;
252
+ hasDefault: false;
253
+ isPrimaryKey: false;
254
+ isAutoincrement: false;
255
+ hasRuntimeDefault: false;
256
+ enumValues: undefined;
257
+ baseColumn: never;
258
+ identity: undefined;
259
+ generated: undefined;
260
+ }, {}, {}>;
261
+ title: drizzle_orm_pg_core.PgColumn<{
262
+ name: "title";
263
+ tableName: "lessons";
264
+ dataType: "string";
265
+ columnType: "PgText";
266
+ data: string;
267
+ driverParam: string;
268
+ notNull: true;
269
+ hasDefault: false;
270
+ isPrimaryKey: false;
271
+ isAutoincrement: false;
272
+ hasRuntimeDefault: false;
273
+ enumValues: [string, ...string[]];
274
+ baseColumn: never;
275
+ identity: undefined;
276
+ generated: undefined;
277
+ }, {}, {}>;
278
+ _state: drizzle_orm_pg_core.PgColumn<{
279
+ name: "_state";
280
+ tableName: "lessons";
281
+ dataType: "string";
282
+ columnType: "PgEnumColumn";
283
+ data: "draft" | "published" | "expired";
284
+ driverParam: string;
285
+ notNull: true;
286
+ hasDefault: false;
287
+ isPrimaryKey: false;
288
+ isAutoincrement: false;
289
+ hasRuntimeDefault: false;
290
+ enumValues: ["draft", "published", "expired"];
291
+ baseColumn: never;
292
+ identity: undefined;
293
+ generated: undefined;
294
+ }, {}, {}>;
295
+ lesson_id: drizzle_orm_pg_core.PgColumn<{
296
+ name: "lesson_id";
297
+ tableName: "lessons";
298
+ dataType: "number";
299
+ columnType: "PgInteger";
300
+ data: number;
301
+ driverParam: string | number;
302
+ notNull: true;
303
+ hasDefault: true;
304
+ isPrimaryKey: false;
305
+ isAutoincrement: false;
306
+ hasRuntimeDefault: false;
307
+ enumValues: undefined;
308
+ baseColumn: never;
309
+ identity: "byDefault";
310
+ generated: undefined;
311
+ }, {}, {}>;
312
+ }, undefined, undefined>;
313
+ declare const lessonInsertSchema: drizzle_zod.BuildSchema<"insert", {
314
+ created_at: drizzle_orm_pg_core.PgColumn<{
315
+ name: "created_at";
316
+ tableName: "lessons";
317
+ dataType: "date";
318
+ columnType: "PgTimestamp";
319
+ data: Date;
320
+ driverParam: string;
321
+ notNull: false;
322
+ hasDefault: true;
323
+ isPrimaryKey: false;
324
+ isAutoincrement: false;
325
+ hasRuntimeDefault: false;
326
+ enumValues: undefined;
327
+ baseColumn: never;
328
+ identity: undefined;
329
+ generated: undefined;
330
+ }, {}, {}>;
331
+ updated_at: drizzle_orm_pg_core.PgColumn<{
332
+ name: "updated_at";
333
+ tableName: "lessons";
334
+ dataType: "date";
335
+ columnType: "PgTimestamp";
336
+ data: Date;
337
+ driverParam: string;
338
+ notNull: false;
339
+ hasDefault: true;
340
+ isPrimaryKey: false;
341
+ isAutoincrement: false;
342
+ hasRuntimeDefault: false;
343
+ enumValues: undefined;
344
+ baseColumn: never;
345
+ identity: undefined;
346
+ generated: undefined;
347
+ }, {}, {}>;
348
+ _expire_on_release: drizzle_orm_pg_core.PgColumn<{
349
+ name: "_expire_on_release";
350
+ tableName: "lessons";
351
+ dataType: "boolean";
352
+ columnType: "PgBoolean";
353
+ data: boolean;
354
+ driverParam: boolean;
355
+ notNull: true;
356
+ hasDefault: true;
357
+ isPrimaryKey: false;
358
+ isAutoincrement: false;
359
+ hasRuntimeDefault: false;
360
+ enumValues: undefined;
361
+ baseColumn: never;
362
+ identity: undefined;
363
+ generated: undefined;
364
+ }, {}, {}>;
365
+ _release_id: drizzle_orm_pg_core.PgColumn<{
366
+ name: "_release_id";
367
+ tableName: "lessons";
368
+ dataType: "number";
369
+ columnType: "PgInteger";
370
+ data: number;
371
+ driverParam: string | number;
372
+ notNull: false;
373
+ hasDefault: false;
374
+ isPrimaryKey: false;
375
+ isAutoincrement: false;
376
+ hasRuntimeDefault: false;
377
+ enumValues: undefined;
378
+ baseColumn: never;
379
+ identity: undefined;
380
+ generated: undefined;
381
+ }, {}, {}>;
382
+ supervision_level_id: drizzle_orm_pg_core.PgColumn<{
383
+ name: "supervision_level_id";
384
+ tableName: "lessons";
385
+ dataType: "number";
386
+ columnType: "PgInteger";
387
+ data: number;
388
+ driverParam: string | number;
389
+ notNull: false;
390
+ hasDefault: false;
391
+ isPrimaryKey: false;
392
+ isAutoincrement: false;
393
+ hasRuntimeDefault: false;
394
+ enumValues: undefined;
395
+ baseColumn: never;
396
+ identity: undefined;
397
+ generated: undefined;
398
+ }, {}, {}>;
399
+ deprecated_fields: drizzle_orm_pg_core.PgColumn<{
400
+ name: "deprecated_fields";
401
+ tableName: "lessons";
402
+ dataType: "json";
403
+ columnType: "PgJsonb";
404
+ data: unknown;
405
+ driverParam: unknown;
406
+ notNull: false;
407
+ hasDefault: false;
408
+ isPrimaryKey: false;
409
+ isAutoincrement: false;
410
+ hasRuntimeDefault: false;
411
+ enumValues: undefined;
412
+ baseColumn: never;
413
+ identity: undefined;
414
+ generated: undefined;
415
+ }, {}, {}>;
416
+ equipment_and_resources: drizzle_orm_pg_core.PgColumn<{
417
+ name: "equipment_and_resources";
418
+ tableName: "lessons";
419
+ dataType: "json";
420
+ columnType: "PgJsonb";
421
+ data: unknown;
422
+ driverParam: unknown;
423
+ notNull: false;
424
+ hasDefault: false;
425
+ isPrimaryKey: false;
426
+ isAutoincrement: false;
427
+ hasRuntimeDefault: false;
428
+ enumValues: undefined;
429
+ baseColumn: never;
430
+ identity: undefined;
431
+ generated: undefined;
432
+ }, {}, {}>;
433
+ key_learning_points: drizzle_orm_pg_core.PgColumn<{
434
+ name: "key_learning_points";
435
+ tableName: "lessons";
436
+ dataType: "json";
437
+ columnType: "PgJsonb";
438
+ data: unknown;
439
+ driverParam: unknown;
440
+ notNull: false;
441
+ hasDefault: false;
442
+ isPrimaryKey: false;
443
+ isAutoincrement: false;
444
+ hasRuntimeDefault: false;
445
+ enumValues: undefined;
446
+ baseColumn: never;
447
+ identity: undefined;
448
+ generated: undefined;
449
+ }, {}, {}>;
450
+ keywords: drizzle_orm_pg_core.PgColumn<{
451
+ name: "keywords";
452
+ tableName: "lessons";
453
+ dataType: "json";
454
+ columnType: "PgJsonb";
455
+ data: unknown;
456
+ driverParam: unknown;
457
+ notNull: false;
458
+ hasDefault: false;
459
+ isPrimaryKey: false;
460
+ isAutoincrement: false;
461
+ hasRuntimeDefault: false;
462
+ enumValues: undefined;
463
+ baseColumn: never;
464
+ identity: undefined;
465
+ generated: undefined;
466
+ }, {}, {}>;
467
+ lesson_outline: drizzle_orm_pg_core.PgColumn<{
468
+ name: "lesson_outline";
469
+ tableName: "lessons";
470
+ dataType: "json";
471
+ columnType: "PgJsonb";
472
+ data: unknown;
473
+ driverParam: unknown;
474
+ notNull: false;
475
+ hasDefault: false;
476
+ isPrimaryKey: false;
477
+ isAutoincrement: false;
478
+ hasRuntimeDefault: false;
479
+ enumValues: undefined;
480
+ baseColumn: never;
481
+ identity: undefined;
482
+ generated: undefined;
483
+ }, {}, {}>;
484
+ misconceptions_and_common_mistakes: drizzle_orm_pg_core.PgColumn<{
485
+ name: "misconceptions_and_common_mistakes";
486
+ tableName: "lessons";
487
+ dataType: "json";
488
+ columnType: "PgJsonb";
489
+ data: unknown;
490
+ driverParam: unknown;
491
+ notNull: false;
492
+ hasDefault: false;
493
+ isPrimaryKey: false;
494
+ isAutoincrement: false;
495
+ hasRuntimeDefault: false;
496
+ enumValues: undefined;
497
+ baseColumn: never;
498
+ identity: undefined;
499
+ generated: undefined;
500
+ }, {}, {}>;
501
+ phonics_outcome: drizzle_orm_pg_core.PgColumn<{
502
+ name: "phonics_outcome";
503
+ tableName: "lessons";
504
+ dataType: "string";
505
+ columnType: "PgText";
506
+ data: string;
507
+ driverParam: string;
508
+ notNull: false;
509
+ hasDefault: false;
510
+ isPrimaryKey: false;
511
+ isAutoincrement: false;
512
+ hasRuntimeDefault: false;
513
+ enumValues: [string, ...string[]];
514
+ baseColumn: never;
515
+ identity: undefined;
516
+ generated: undefined;
517
+ }, {}, {}>;
518
+ pupil_lesson_outcome: drizzle_orm_pg_core.PgColumn<{
519
+ name: "pupil_lesson_outcome";
520
+ tableName: "lessons";
521
+ dataType: "string";
522
+ columnType: "PgText";
523
+ data: string;
524
+ driverParam: string;
525
+ notNull: false;
526
+ hasDefault: false;
527
+ isPrimaryKey: false;
528
+ isAutoincrement: false;
529
+ hasRuntimeDefault: false;
530
+ enumValues: [string, ...string[]];
531
+ baseColumn: never;
532
+ identity: undefined;
533
+ generated: undefined;
534
+ }, {}, {}>;
535
+ slug: drizzle_orm_pg_core.PgColumn<{
536
+ name: "slug";
537
+ tableName: "lessons";
538
+ dataType: "string";
539
+ columnType: "PgText";
540
+ data: string;
541
+ driverParam: string;
542
+ notNull: true;
543
+ hasDefault: false;
544
+ isPrimaryKey: false;
545
+ isAutoincrement: false;
546
+ hasRuntimeDefault: false;
547
+ enumValues: [string, ...string[]];
548
+ baseColumn: never;
549
+ identity: undefined;
550
+ generated: undefined;
551
+ }, {}, {}>;
552
+ teacher_tips: drizzle_orm_pg_core.PgColumn<{
553
+ name: "teacher_tips";
554
+ tableName: "lessons";
555
+ dataType: "json";
556
+ columnType: "PgJsonb";
557
+ data: unknown;
558
+ driverParam: unknown;
559
+ notNull: false;
560
+ hasDefault: false;
561
+ isPrimaryKey: false;
562
+ isAutoincrement: false;
563
+ hasRuntimeDefault: false;
564
+ enumValues: undefined;
565
+ baseColumn: never;
566
+ identity: undefined;
567
+ generated: undefined;
568
+ }, {}, {}>;
569
+ title: drizzle_orm_pg_core.PgColumn<{
570
+ name: "title";
571
+ tableName: "lessons";
572
+ dataType: "string";
573
+ columnType: "PgText";
574
+ data: string;
575
+ driverParam: string;
576
+ notNull: true;
577
+ hasDefault: false;
578
+ isPrimaryKey: false;
579
+ isAutoincrement: false;
580
+ hasRuntimeDefault: false;
581
+ enumValues: [string, ...string[]];
582
+ baseColumn: never;
583
+ identity: undefined;
584
+ generated: undefined;
585
+ }, {}, {}>;
586
+ _state: drizzle_orm_pg_core.PgColumn<{
587
+ name: "_state";
588
+ tableName: "lessons";
589
+ dataType: "string";
590
+ columnType: "PgEnumColumn";
591
+ data: "draft" | "published" | "expired";
592
+ driverParam: string;
593
+ notNull: true;
594
+ hasDefault: false;
595
+ isPrimaryKey: false;
596
+ isAutoincrement: false;
597
+ hasRuntimeDefault: false;
598
+ enumValues: ["draft", "published", "expired"];
599
+ baseColumn: never;
600
+ identity: undefined;
601
+ generated: undefined;
602
+ }, {}, {}>;
603
+ lesson_id: drizzle_orm_pg_core.PgColumn<{
604
+ name: "lesson_id";
605
+ tableName: "lessons";
606
+ dataType: "number";
607
+ columnType: "PgInteger";
608
+ data: number;
609
+ driverParam: string | number;
610
+ notNull: true;
611
+ hasDefault: true;
612
+ isPrimaryKey: false;
613
+ isAutoincrement: false;
614
+ hasRuntimeDefault: false;
615
+ enumValues: undefined;
616
+ baseColumn: never;
617
+ identity: "byDefault";
618
+ generated: undefined;
619
+ }, {}, {}>;
620
+ }, undefined, undefined>;
621
+ declare const lessonPublishedSchema: z.ZodObject<{
622
+ created_at: z.ZodNullable<z.ZodDate>;
623
+ updated_at: z.ZodNullable<z.ZodDate>;
624
+ _expire_on_release: z.ZodBoolean;
625
+ _release_id: z.ZodNullable<z.ZodInt>;
626
+ supervision_level_id: z.ZodNullable<z.ZodInt>;
627
+ deprecated_fields: z.ZodNullable<z.ZodType<drizzle_zod.Json, unknown, z.core.$ZodTypeInternals<drizzle_zod.Json, unknown>>>;
628
+ equipment_and_resources: z.ZodNullable<z.ZodType<drizzle_zod.Json, unknown, z.core.$ZodTypeInternals<drizzle_zod.Json, unknown>>>;
629
+ key_learning_points: z.ZodNullable<z.ZodType<drizzle_zod.Json, unknown, z.core.$ZodTypeInternals<drizzle_zod.Json, unknown>>>;
630
+ keywords: z.ZodNullable<z.ZodType<drizzle_zod.Json, unknown, z.core.$ZodTypeInternals<drizzle_zod.Json, unknown>>>;
631
+ lesson_outline: z.ZodNullable<z.ZodType<drizzle_zod.Json, unknown, z.core.$ZodTypeInternals<drizzle_zod.Json, unknown>>>;
632
+ misconceptions_and_common_mistakes: z.ZodNullable<z.ZodType<drizzle_zod.Json, unknown, z.core.$ZodTypeInternals<drizzle_zod.Json, unknown>>>;
633
+ phonics_outcome: z.ZodNullable<z.ZodString>;
634
+ pupil_lesson_outcome: z.ZodNullable<z.ZodString>;
635
+ slug: z.ZodString;
636
+ teacher_tips: z.ZodNullable<z.ZodType<drizzle_zod.Json, unknown, z.core.$ZodTypeInternals<drizzle_zod.Json, unknown>>>;
637
+ title: z.ZodString;
638
+ lesson_id: z.ZodInt;
639
+ _state: z.ZodLiteral<"published">;
640
+ }, {
641
+ out: {};
642
+ in: {};
643
+ }>;
644
+ type Lesson = z.infer<typeof lessonSelectSchema>;
645
+ type LessonInsert = z.infer<typeof lessonInsertSchema>;
646
+ type LessonPublished = z.infer<typeof lessonPublishedSchema>;
647
+
648
+ export { lessonInsertSchema, lessonPublishedSchema, lessonSelectSchema };
649
+ export type { Lesson, LessonInsert, LessonPublished };