{"version":3,"file":"reviewLessons.schema.cjs","sources":["../../../../../src/schema/internal/reviewLessons/reviewLessons.schema.ts"],"sourcesContent":["import { z } from \"zod\";\nimport zodToCamelCase from \"zod-to-camel-case\";\n\nimport {\n  _stateSchema,\n  _cohortSchema,\n  timestampsSchema,\n  newState,\n  publishedState,\n} from \"@/schema/public/components/base/base.schema\";\nimport {\n  assetIngestStatesSchema,\n  baseIngestStatesSchema,\n  videoIngestStatesSchema,\n} from \"@/schema/internal/components/internal/internal.schema\";\n\nconst emptyJsonObjectSchema = z.object({});\n\nconst reviewLessonApprovalIngestStateSchema = z.union([\n  z.literal(\"ingest\"),\n  baseIngestStatesSchema,\n  assetIngestStatesSchema,\n  videoIngestStatesSchema,\n]);\n\nconst oakReviewStatusSchema = z.enum([\n  \"approved\",\n  \"complete\",\n  \"in-progress\",\n  \"n-a\",\n  \"not-started\",\n]);\n\nconst partnerReviewStatusSchema = z.enum([\n  \"approved-not-used\",\n  \"approved-oak\",\n  \"in-progress\",\n  \"not-started\",\n  \"not-used\",\n  \"oak-edits-complete\",\n  \"oak-edits-required\",\n  \"oak-subject-review-in-progress\",\n  \"ready-for-techincal-review\",\n  \"ready-subject-review\",\n  \"reviewed-needs-amends\",\n  \"reviewed-ready-oak\",\n  \"subject-review-in-progress\",\n  \"technical-review-in-progress\",\n  \"working-on-amends\",\n]);\n\nconst oakReviewsSchema = z\n  .object({\n    stage_1_creation_progress_status: oakReviewStatusSchema,\n    stage_1_oak_moderation_status: oakReviewStatusSchema,\n    stage_1_oak_subject_qa_status: oakReviewStatusSchema,\n    stage_1_oak_technical_qa_status: oakReviewStatusSchema,\n    stage_2_creation_progress_status: oakReviewStatusSchema,\n    stage_2_oak_moderation_status: oakReviewStatusSchema,\n    stage_2_oak_subject_qa_status: oakReviewStatusSchema,\n    stage_2_oak_technical_qa_status: oakReviewStatusSchema,\n  })\n  .strict();\n\nconst partnerReviewsSchema = z\n  .object({\n    exit_quiz_status: partnerReviewStatusSchema,\n    lesson_info_status: partnerReviewStatusSchema,\n    slide_deck_status: partnerReviewStatusSchema,\n    starter_quiz_status: partnerReviewStatusSchema,\n    supplementary_resource_status: partnerReviewStatusSchema,\n    video_status: partnerReviewStatusSchema,\n    worksheet_answers_status: partnerReviewStatusSchema,\n    worksheet_status: partnerReviewStatusSchema,\n    lesson_guide_status: partnerReviewStatusSchema.optional(),\n    media_clips_status: partnerReviewStatusSchema.optional(),\n  })\n  .strict();\n\nconst reviewLessonApprovalApproverSchema = z\n  .object({\n    email: z.string().optional(),\n    externalIdentifier: z.string().optional(),\n    firstName: z.string().optional(),\n    fullName: z.string().optional(),\n    groups: z.string().optional(),\n    id: z.string().optional(),\n    lastName: z.string().optional(),\n    metadata: z.record(z.string(), z.unknown()).optional(),\n    name: z.string().optional(),\n    profilePhotoUrl: z.string().optional(),\n    sid: z.string().optional(),\n  })\n  .catchall(z.unknown());\n\nconst reviewLessonApprovalSchema = z.object({\n  date: z.string(),\n  approver: reviewLessonApprovalApproverSchema,\n  ingest: z\n    .object({\n      lesson_guide: reviewLessonApprovalIngestStateSchema.optional(),\n      quiz: reviewLessonApprovalIngestStateSchema.optional(),\n      slidedeck: reviewLessonApprovalIngestStateSchema.optional(),\n      supplementary_resources: reviewLessonApprovalIngestStateSchema.optional(),\n      video: reviewLessonApprovalIngestStateSchema.optional(),\n      worksheet: reviewLessonApprovalIngestStateSchema.optional(),\n      worksheet_answers: reviewLessonApprovalIngestStateSchema.optional(),\n    })\n    .optional(),\n});\n\nexport const reviewLessonsSchema = timestampsSchema.extend({\n  lesson_id: z.number(),\n  lesson_uid: z.string().nullable(),\n  partner_reviews: partnerReviewsSchema,\n  oak_reviews: oakReviewsSchema,\n  // reviewers: reviewLessonJsonValueSchema.nullable(), -- not used\n  // moderators: reviewLessonJsonValueSchema.nullable(), -- not used\n  _cohort: _cohortSchema,\n  _state: _stateSchema,\n  _deleted: z.boolean(),\n  oak_approval: z.union([\n    emptyJsonObjectSchema,\n    z.array(reviewLessonApprovalSchema),\n  ]),\n  status_lesson: z.string(),\n  status_slidedeck: z.string(),\n  status_worksheet: z.string(),\n  status_worksheet_answers: z.string(),\n  status_supplementary_resources: z.string(),\n  status_quiz: z.string(),\n  status_video: z.string(),\n  status_video_mux: z.string(),\n  status_video_rev: z.string(),\n  release_uid: z.string().nullable(),\n  // linked_objects: reviewLessonJsonValueSchema, -- a denormalized array of linked objects, not used in the application\n  _release_id: z.number().nullable(),\n  status_lesson_guide: z.string(),\n  status_media_clips: z.string(),\n  status_downloadable_files: z.string(),\n});\nexport type ReviewLessons = z.infer<typeof reviewLessonsSchema>;\n\nexport const reviewLessonsNewSchema = reviewLessonsSchema.extend({\n  _state: newState,\n});\nexport type ReviewLessonsNew = z.infer<typeof reviewLessonsNewSchema>;\n\nexport const reviewLessonsPublishedSchema = reviewLessonsSchema.extend({\n  _state: publishedState,\n});\nexport type ReviewLessonsPublished = z.infer<\n  typeof reviewLessonsPublishedSchema\n>;\n\nexport const reviewLessonsSchemaCamel = zodToCamelCase(reviewLessonsSchema);\nexport type ReviewLessonsCamel = z.infer<typeof reviewLessonsSchemaCamel>;\n\nexport const reviewLessonsNewSchemaCamel = zodToCamelCase(\n  reviewLessonsNewSchema,\n);\nexport type ReviewLessonsNewCamel = z.infer<typeof reviewLessonsNewSchemaCamel>;\n\nexport const reviewLessonsPublishedSchemaCamel = zodToCamelCase(\n  reviewLessonsPublishedSchema,\n);\nexport type ReviewLessonsPublishedCamel = z.infer<\n  typeof reviewLessonsPublishedSchemaCamel\n>;\n"],"names":["emptyJsonObjectSchema","z","object","reviewLessonApprovalIngestStateSchema","union","literal","baseIngestStatesSchema","assetIngestStatesSchema","videoIngestStatesSchema","oakReviewStatusSchema","enum","partnerReviewStatusSchema","oakReviewsSchema","stage_1_creation_progress_status","stage_1_oak_moderation_status","stage_1_oak_subject_qa_status","stage_1_oak_technical_qa_status","stage_2_creation_progress_status","stage_2_oak_moderation_status","stage_2_oak_subject_qa_status","stage_2_oak_technical_qa_status","strict","partnerReviewsSchema","exit_quiz_status","lesson_info_status","slide_deck_status","starter_quiz_status","supplementary_resource_status","video_status","worksheet_answers_status","worksheet_status","lesson_guide_status","optional","media_clips_status","reviewLessonApprovalApproverSchema","email","string","externalIdentifier","firstName","fullName","groups","id","lastName","metadata","record","unknown","name","profilePhotoUrl","sid","catchall","reviewLessonApprovalSchema","date","approver","ingest","lesson_guide","quiz","slidedeck","supplementary_resources","video","worksheet","worksheet_answers","reviewLessonsSchema","timestampsSchema","extend","lesson_id","number","lesson_uid","nullable","partner_reviews","oak_reviews","_cohort","_cohortSchema","_state","_stateSchema","_deleted","boolean","oak_approval","array","status_lesson","status_slidedeck","status_worksheet","status_worksheet_answers","status_supplementary_resources","status_quiz","status_video","status_video_mux","status_video_rev","release_uid","_release_id","status_lesson_guide","status_media_clips","status_downloadable_files","reviewLessonsNewSchema","newState","reviewLessonsPublishedSchema","publishedState","reviewLessonsSchemaCamel","zodToCamelCase","reviewLessonsNewSchemaCamel","reviewLessonsPublishedSchemaCamel"],"mappings":"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"}