@confed/db-types 0.6.0 → 0.7.0

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.
Files changed (2) hide show
  1. package/dist/index.d.ts +94 -0
  2. package/package.json +1 -1
package/dist/index.d.ts CHANGED
@@ -399,6 +399,9 @@ export interface McSection {
399
399
  waitlistCapacity: number | null;
400
400
  enrollUrl: string | null;
401
401
  contentHash: string;
402
+ /** "final_approval" or "cancelled". */
403
+ statusCode: string | null;
404
+ /** e.g. "available", "waitlist_available", "canceled", "no_longer_available" (past MC's listing window). */
402
405
  availability: string | null;
403
406
  availabilityText: string | null;
404
407
  action: string | null;
@@ -426,6 +429,7 @@ export interface NewMcSection {
426
429
  waitlistCapacity?: number | null;
427
430
  enrollUrl?: string | null;
428
431
  contentHash: string;
432
+ statusCode?: string | null;
429
433
  availability?: string | null;
430
434
  availabilityText?: string | null;
431
435
  action?: string | null;
@@ -527,6 +531,96 @@ export interface NewMcSlug {
527
531
  createdAt: string;
528
532
  retiredAt?: string | null;
529
533
  }
534
+ /** A program stream inside a program area, e.g. "Dental Radiography" (PS0001) in PA0005. */
535
+ export interface McProgramStream {
536
+ objectId: string;
537
+ code: string;
538
+ name: string | null;
539
+ descriptionHtml: string | null;
540
+ areaCode: string | null;
541
+ contentHash: string;
542
+ isActive: number | null;
543
+ createdAt: string | null;
544
+ updatedAt: string | null;
545
+ }
546
+ export interface NewMcProgramStream {
547
+ objectId: string;
548
+ code: string;
549
+ name?: string | null;
550
+ descriptionHtml?: string | null;
551
+ areaCode?: string | null;
552
+ contentHash: string;
553
+ isActive?: number | null;
554
+ createdAt?: string | null;
555
+ updatedAt?: string | null;
556
+ }
557
+ export interface McCourseStream {
558
+ courseObjectId: string;
559
+ streamCode: string;
560
+ }
561
+ export interface NewMcCourseStream {
562
+ courseObjectId: string;
563
+ streamCode: string;
564
+ }
565
+ /**
566
+ * One member of a course's structured prerequisites, in MC's order (`seq` from 1). Members combine
567
+ * left to right with `logicOperator` ("AND" | "OR"; null on the first), grouped by the parentheses.
568
+ * `kind` "other" is a requirement that isn't a course result; `label` names its type.
569
+ */
570
+ export interface McCourseRequirement {
571
+ courseObjectId: string;
572
+ seq: number;
573
+ leftParen: string | null;
574
+ logicOperator: string | null;
575
+ rightParen: string | null;
576
+ kind: string;
577
+ requiredCourseObjectId: string | null;
578
+ requiredCourseCode: string | null;
579
+ requiredCourseTitle: string | null;
580
+ resultType: string | null;
581
+ requirementType: string | null;
582
+ label: string | null;
583
+ }
584
+ export interface NewMcCourseRequirement {
585
+ courseObjectId: string;
586
+ seq: number;
587
+ leftParen?: string | null;
588
+ logicOperator?: string | null;
589
+ rightParen?: string | null;
590
+ kind: string;
591
+ requiredCourseObjectId?: string | null;
592
+ requiredCourseCode?: string | null;
593
+ requiredCourseTitle?: string | null;
594
+ resultType?: string | null;
595
+ requirementType?: string | null;
596
+ label?: string | null;
597
+ }
598
+ /**
599
+ * A course image copied from MC into R2 (the website's bucket, under `mc-images/`), one per MC image
600
+ * URL (`McCourse.imageUrl`). Objects are keyed by SHA-256, so identical uploads share one. Never
601
+ * deleted by the sync.
602
+ */
603
+ export interface McImage {
604
+ sourceUrl: string;
605
+ sha256: string;
606
+ /** "mc-images/<sha256>.<ext>" */
607
+ r2Key: string;
608
+ contentType: string;
609
+ width: number | null;
610
+ height: number | null;
611
+ bytes: number;
612
+ fetchedAt: string;
613
+ }
614
+ export interface NewMcImage {
615
+ sourceUrl: string;
616
+ sha256: string;
617
+ r2Key: string;
618
+ contentType: string;
619
+ width?: number | null;
620
+ height?: number | null;
621
+ bytes: number;
622
+ fetchedAt: string;
623
+ }
530
624
  export interface OlTextbook {
531
625
  id: number;
532
626
  courseId: string;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@confed/db-types",
3
- "version": "0.6.0",
3
+ "version": "0.7.0",
4
4
  "description": "TypeScript types for the CC Courses Sync D1 database",
5
5
  "type": "module",
6
6
  "types": "./dist/index.d.ts",