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