Created
September 6, 2021 23:20
-
-
Save MohammedALREAI/f6b8e68a9200b941ade6e9bd6dafa69d to your computer and use it in GitHub Desktop.
this is scehma for project work in it.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| generator client { | |
| provider = "prisma-client-js" | |
| previewFeatures = ["orderByRelation", "referentialActions", "nApi"] | |
| } | |
| datasource postgresql { | |
| provider = "postgresql" | |
| url = env("PG_CONNECTIONSTRING") | |
| } | |
| model Activity { | |
| color String? | |
| createdAt DateTime | |
| day DateTime | |
| id String @id @default(dbgenerated("utils.gen_random_uuid()")) | |
| title String @default("") | |
| updatedAt DateTime @default(now()) @updatedAt | |
| personId String @map("person") | |
| person Person @relation(fields: [personId], references: [id], onDelete: Cascade) | |
| } | |
| model Alert { | |
| appliesTo AlertAppliesTo | |
| /// appliesToValue String | |
| body String @default("") | |
| endDate DateTime? | |
| id String @id @default(dbgenerated("utils.gen_random_uuid()")) | |
| startDate DateTime? | |
| title String @default("") | |
| type AlertType | |
| UserAlert UserAlert[] | |
| } | |
| model Notes { | |
| updatedAt DateTime @default(now()) @updatedAt | |
| id String @id @default(dbgenerated("utils.gen_random_uuid()")) | |
| title String? | |
| text String? | |
| createdAt DateTime @default(now()) | |
| assignmentTakingId String? | |
| authorId String | |
| courseTakingId String? | |
| lessonTakingId String? | |
| studentId String? | |
| assignmentTaking AssignmentTaking? @relation(fields: [assignmentTakingId], references: [id], onDelete: Cascade) | |
| author Parent @relation(fields: [authorId], references: [id], onDelete: Cascade) | |
| courseTaking CourseTaking? @relation(fields: [courseTakingId], references: [id], onDelete: Cascade) | |
| lessonTaking LessonTaking? @relation(fields: [lessonTakingId], references: [id], onDelete: Cascade) | |
| student Student? @relation(fields: [studentId], references: [id]) | |
| } | |
| model Admin { | |
| createdAt DateTime @default(now()) | |
| disabled Boolean @default(false) | |
| email String @unique | |
| firstName String | |
| id String @id @default(dbgenerated("utils.gen_random_uuid()")) | |
| lastName String | |
| adminPassword String | |
| passResetExpires DateTime? | |
| passwordResetToken String? | |
| role Role | |
| updatedAt DateTime @default(now()) @updatedAt | |
| username String @unique | |
| } | |
| model AssessmentContentQuestion { | |
| ccAQTXId String? | |
| ccAXId String? | |
| ccXId String? | |
| courseCodeXId String? | |
| createdAt DateTime @default(now()) | |
| feedback String? | |
| id String @id @default(dbgenerated("utils.gen_random_uuid()")) | |
| isAllOrNothing Boolean @default(false) | |
| isInactive Boolean @default(false) | |
| isOrLogic Boolean @default(false) | |
| maxScore Float @default(0) | |
| order Int? | |
| text String @default("") | |
| updatedAt DateTime @default(now()) @updatedAt | |
| assessmentContentQuestionTypeId String? @map("assessmentContentQuestionType") | |
| assignmentContentId String? @map("assignmentContent") | |
| assessmentContentQuestionType AssessmentContentQuestionType? @relation(fields: [assessmentContentQuestionTypeId], references: [id]) | |
| assignmentContent AssignmentContent? @relation(fields: [assignmentContentId], references: [id], onDelete: Cascade) | |
| /// @onDelete(CASCADE) | |
| assessmentContentQuestionAnswers AssessmentContentQuestionAnswer[] | |
| /// @onDelete(CASCADE) | |
| assessmentContentQuestionOptions AssessmentContentQuestionOption[] | |
| assessmentContentQuestionTools AssessmentContentQuestionTool[] | |
| /// @onDelete(CASCADE) | |
| assessmentTakingQuestions AssessmentTakingQuestion[] | |
| } | |
| model AssessmentContentQuestionAnswer { | |
| answer String? | |
| ccQXId String? | |
| ccXId String? | |
| courseCodeXId String? | |
| createdAt DateTime @default(now()) | |
| id String @id @default(dbgenerated("utils.gen_random_uuid()")) | |
| isInactive Boolean @default(false) | |
| order Int? | |
| updatedAt DateTime @default(now()) @updatedAt | |
| assessmentContentQuestionId String? @map("assessmentContentQuestion") | |
| assessmentContentQuestion AssessmentContentQuestion? @relation(fields: [assessmentContentQuestionId], references: [id], onDelete: Cascade) | |
| assessmentContentQuestionOptions AssessmentContentQuestionOption[] | |
| assessmentTakingResponses AssessmentTakingResponse[] | |
| } | |
| model AssessmentContentQuestionOption { | |
| ccQAXId String? | |
| ccQXId String? | |
| ccXId String? | |
| courseCodeXId String? | |
| createdAt DateTime @default(now()) | |
| id String @id @default(dbgenerated("utils.gen_random_uuid()")) | |
| isInactive Boolean @default(false) | |
| order Int? | |
| score Float? | |
| text String? | |
| updatedAt DateTime @default(now()) @updatedAt | |
| assessmentContentQuestionId String? @map("assessmentContentQuestion") | |
| assessmentContentQuestionAnswerId String? @map("assessmentContentQuestionAnswer") | |
| assessmentContentQuestion AssessmentContentQuestion? @relation(fields: [assessmentContentQuestionId], references: [id], onDelete: Cascade) | |
| assessmentContentQuestionAnswer AssessmentContentQuestionAnswer? @relation(fields: [assessmentContentQuestionAnswerId], references: [id]) | |
| assessmentTakingResponses AssessmentTakingResponse[] | |
| } | |
| model AssessmentContentQuestionTool { | |
| createdAt DateTime @default(now()) | |
| id String @id @default(dbgenerated("utils.gen_random_uuid()")) | |
| order Int @default(0) | |
| textDisplay String? | |
| textValue String @default("") | |
| updatedAt DateTime @default(now()) @updatedAt | |
| assessmentContentQuestionId String? @map("assessmentContentQuestion") | |
| assessmentContentQuestion AssessmentContentQuestion? @relation(fields: [assessmentContentQuestionId], references: [id]) | |
| } | |
| model AssessmentContentQuestionType { | |
| code AssessmentContentQuestionTypeEnum | |
| createdAt DateTime @default(now()) | |
| description String @default("") | |
| id String @id @default(dbgenerated("utils.gen_random_uuid()")) | |
| manualGrade Boolean @default(false) | |
| updatedAt DateTime @default(now()) @updatedAt | |
| assessmentContentQuestions AssessmentContentQuestion[] | |
| } | |
| model AssessmentTakingQuestion { | |
| createdAt DateTime @default(now()) | |
| id String @id @default(dbgenerated("utils.gen_random_uuid()")) | |
| isCorrectOverride Boolean @default(false) | |
| parentComment String? | |
| scoreOverride Float? | |
| updatedAt DateTime @default(now()) @updatedAt | |
| assessmentContentQuestionId String? @map("assessmentContentQuestion") | |
| assignmentTakingId String? @map("assignmentTaking") | |
| assessmentContentQuestion AssessmentContentQuestion? @relation(fields: [assessmentContentQuestionId], references: [id]) | |
| assignmentTaking AssignmentTaking? @relation(fields: [assignmentTakingId], references: [id], onDelete: Cascade) | |
| /// @onDelete(CASCADE) | |
| assessmentTakingResponses AssessmentTakingResponse[] | |
| } | |
| model AssessmentTakingResponse { | |
| createdAt DateTime @default(now()) | |
| id String @id @default(dbgenerated("utils.gen_random_uuid()")) | |
| isCorrect Boolean @default(false) | |
| textAnswer String? | |
| updatedAt DateTime @default(now()) @updatedAt | |
| assessmentContentQuestionAnswerId String? @map("assessmentContentQuestionAnswer") | |
| assessmentContentQuestionOptionId String? @map("assessmentContentQuestionOption") | |
| assessmentTakingQuestionId String? @map("assessmentTakingQuestion") | |
| assessmentContentQuestionAnswer AssessmentContentQuestionAnswer? @relation(fields: [assessmentContentQuestionAnswerId], references: [id]) | |
| assessmentContentQuestionOption AssessmentContentQuestionOption? @relation(fields: [assessmentContentQuestionOptionId], references: [id]) | |
| assessmentTakingQuestion AssessmentTakingQuestion? @relation(fields: [assessmentTakingQuestionId], references: [id], onDelete: Cascade) | |
| } | |
| model AssignmentContent { | |
| canBeRetaken Boolean @default(false) | |
| ccXId String? | |
| courseCodeXId String? | |
| createdAt DateTime @default(now()) | |
| feedbackType String? | |
| id String @id @default(dbgenerated("utils.gen_random_uuid()")) | |
| isAssessment Boolean @default(false) | |
| isOptional Boolean @default(false) | |
| isVideo Boolean @default(false) | |
| label String? | |
| lessonDayXId Int? | |
| link String? | |
| order Int? | |
| parentInstructions String? | |
| parentExternalLink String? | |
| parentExternalLinkLabel String? | |
| parentLink String? | |
| parentLinkLabel String? | |
| studentExternalLink String? | |
| studentExternalLinkLabel String? | |
| studentLink String? | |
| studentLinkLabel String? | |
| title String? | |
| totalPoints Int? | |
| type AssignmentContentTypeEnum? | |
| typeLabel String? | |
| updatedAt DateTime @default(now()) @updatedAt | |
| courseContentId String? @map("courseContent") | |
| lessonContentId String? @map("lessonContent") | |
| videoLength Int? | |
| courseContent CourseContent? @relation(fields: [courseContentId], references: [id]) | |
| lessonContent LessonContent? @relation(fields: [lessonContentId], references: [id], onDelete: Cascade) | |
| /// @onDelete(CASCADE) | |
| assessmentContentQuestions AssessmentContentQuestion[] | |
| /// @onDelete(CASCADE) | |
| assignmentTakings AssignmentTaking[] | |
| } | |
| model AssignmentTaking { | |
| canBeRetaken Boolean @default(false) | |
| createdAt DateTime @default(now()) | |
| dueDateAt DateTime? | |
| id String @id @default(dbgenerated("utils.gen_random_uuid()")) | |
| isSkipped Boolean @default(false) | |
| maxPoints Float? | |
| maxSecondsAllowed Int? | |
| numericGrade Float? | |
| order Int? | |
| parentInstructions String? | |
| startedAt DateTime? | |
| submittedAt DateTime? | |
| timeTaken Int? | |
| title String? | |
| totalPoints Float? | |
| type AssignmentContentTypeEnum? | |
| updatedAt DateTime @default(now()) @updatedAt | |
| assignmentContentId String? @map("assignmentContent") | |
| assignmentTakingWeightId String? @unique @map("assignmentTakingWeight") | |
| lessonTakingId String? @map("lessonTaking") | |
| flow AssignmentTakingFlow @default(Task) | |
| status AssignmentTakingStatus @default(Incomplete) | |
| assignmentContent AssignmentContent? @relation(fields: [assignmentContentId], references: [id]) | |
| assignmentTakingWeight AssignmentTakingWeight? @relation(fields: [assignmentTakingWeightId], references: [id]) | |
| lessonTaking LessonTaking? @relation(fields: [lessonTakingId], references: [id], onDelete: Cascade) | |
| /// @onDelete(CASCADE) | |
| assessmentTakingQuestions AssessmentTakingQuestion[] | |
| Notes Notes[] | |
| videoViewEvents VideoViewEvent[] | |
| } | |
| model AssignmentTakingWeight { | |
| createdAt DateTime @default(now()) | |
| id String @id @default(dbgenerated("utils.gen_random_uuid()")) | |
| updatedAt DateTime @default(now()) @updatedAt | |
| weightCategoryId String @map("weightCategory") | |
| weightCategory CourseTakingWeightCategory @relation(fields: [weightCategoryId], references: [id], onDelete: Cascade) | |
| assignmentTaking AssignmentTaking? | |
| } | |
| model BjuPressAccount { | |
| address1 String? | |
| address2 String? | |
| city String? | |
| country String? | |
| createdAt DateTime @default(now()) | |
| customerId Int? @unique | |
| deleted Boolean @default(false) | |
| email String? | |
| enabled Boolean @default(false) | |
| firstName String? | |
| hubUserXid String? | |
| id String @id @default(dbgenerated("utils.gen_random_uuid()")) | |
| lastName String? | |
| originHub Boolean @default(false) | |
| state String? | |
| updatedAt DateTime @default(now()) @updatedAt | |
| updatedAtRemote DateTime? | |
| zip String? | |
| } | |
| model CourseContent { | |
| courseCode String? | |
| courseType CourseContentTypeEnum | |
| createdAt DateTime @default(now()) | |
| description String? | |
| edition String? | |
| entitlement String? | |
| grade String? | |
| id String @id @default(dbgenerated("utils.gen_random_uuid()")) | |
| imageSource String? | |
| information String? | |
| isInactive Boolean @default(false) | |
| label String? | |
| pressContentXId String? | |
| pressXId Int? | |
| subject String? | |
| teacherBio String? | |
| textbookSource String? | |
| title String @default("") | |
| update String? | |
| updatedAt DateTime @default(now()) @updatedAt | |
| AssignmentContent AssignmentContent[] | |
| courseContentResources CourseContentResource[] | |
| /// @onDelete(CASCADE) | |
| courseContentWeightCategories CourseContentWeightCategory[] | |
| /// @onDelete(CASCADE) | |
| courseTakings CourseTaking[] | |
| /// @onDelete(CASCADE) | |
| lessonContents LessonContent[] | |
| } | |
| model CourseContentCode { | |
| code String @default("") | |
| createdAt DateTime @default(now()) | |
| description String @default("") | |
| id String @id @default(dbgenerated("utils.gen_random_uuid()")) | |
| type CourseContentCodeTypeEnum | |
| updatedAt DateTime @default(now()) @updatedAt | |
| } | |
| model CourseContentResource { | |
| association String? | |
| category String? | |
| createdAt DateTime @default(now()) | |
| id String @id @default(dbgenerated("utils.gen_random_uuid()")) | |
| link String? | |
| name String? | |
| order Int? | |
| pressContentXId String? | |
| type String? | |
| updatedAt DateTime @default(now()) @updatedAt | |
| courseContentId String? @map("courseContent") | |
| courseContent CourseContent? @relation(fields: [courseContentId], references: [id], onDelete: Cascade) | |
| } | |
| model CourseContentWeightCategory { | |
| assignmentType AssignmentContentTypeEnum? | |
| createdAt DateTime @default(now()) | |
| id String @id @default(dbgenerated("utils.gen_random_uuid()")) | |
| title String? | |
| updatedAt DateTime @default(now()) @updatedAt | |
| weight Int? | |
| courseContentId String @map("courseContent") | |
| courseContent CourseContent @relation(fields: [courseContentId], references: [id], onDelete: Cascade) | |
| /// @onDelete(CASCADE) | |
| courseTakingWeightCategories CourseTakingWeightCategory[] | |
| } | |
| model CourseTaking { | |
| assignedAt DateTime? | |
| bookRedemptionCode String? | |
| courseColor CourseColor | |
| createdAt DateTime @default(now()) | |
| credit Float? @default(1) | |
| endDate DateTime? | |
| entitlementEndDate DateTime? | |
| entitlementStartDate DateTime? | |
| entitlementStatus EntitlementStatus? | |
| fri Boolean @default(false) | |
| gradeScale Float? | |
| hasOnlineAssessments Boolean @default(false) | |
| hasOnlineVideos Boolean @default(false) | |
| id String @id @default(dbgenerated("utils.gen_random_uuid()")) | |
| lessonsPerDay Int @default(1) | |
| mon Boolean @default(false) | |
| numericGrade Float? | |
| order Int @default(0) | |
| pressXid Int? @unique | |
| sat Boolean @default(false) | |
| startDate DateTime? | |
| status CourseTakingStatus @default(Unassigned) | |
| sun Boolean @default(false) | |
| thu Boolean @default(false) | |
| tue Boolean @default(false) | |
| updatedAt DateTime @default(now()) @updatedAt | |
| useGradeWeights Boolean @default(true) | |
| wed Boolean @default(false) | |
| courseContentId String @map("courseContent") | |
| parentId String @map("parent") | |
| studentId String? @map("student") | |
| userId String? @map("user") | |
| title String? | |
| courseContent CourseContent @relation(fields: [courseContentId], references: [id]) | |
| parent Parent @relation(fields: [parentId], references: [id], onDelete: Cascade) | |
| student Student? @relation(fields: [studentId], references: [id]) | |
| user User? @relation(fields: [userId], references: [id]) | |
| /// @onDelete(CASCADE) | |
| courseDayExceptions CourseDayException[] | |
| /// @onDelete(CASCADE) | |
| courseTakingWeightCategories CourseTakingWeightCategory[] | |
| /// @onDelete(CASCADE) | |
| lessonTakings LessonTaking[] | |
| Notes Notes[] | |
| } | |
| model CourseTakingWeightCategory { | |
| createdAt DateTime @default(now()) | |
| id String @id @default(dbgenerated("utils.gen_random_uuid()")) | |
| title String? | |
| updatedAt DateTime @default(now()) @updatedAt | |
| weight Int? | |
| courseContentWeightCategoryId String? @map("courseContentWeightCategory") | |
| courseTakingId String? @map("courseTaking") | |
| courseContentWeightCategory CourseContentWeightCategory? @relation(fields: [courseContentWeightCategoryId], references: [id]) | |
| courseTaking CourseTaking? @relation(fields: [courseTakingId], references: [id], onDelete: Cascade) | |
| /// @onDelete(CASCADE) | |
| assignmentTakingWeights AssignmentTakingWeight[] | |
| } | |
| model CourseDayException { | |
| id String @id @default(dbgenerated("utils.gen_random_uuid()")) | |
| date DateTime | |
| isEffectiveDate Boolean @default(true) | |
| courseTakingId String | |
| courseTaking CourseTaking @relation(fields: [courseTakingId], references: [id], onDelete: Cascade) | |
| } | |
| model Event { | |
| color String @default("blue") | |
| createdAt DateTime @default(now()) | |
| description String? | |
| endDate DateTime | |
| id String @id @default(dbgenerated("utils.gen_random_uuid()")) | |
| isFullDayEvent Boolean @default(true) | |
| isRecurring Boolean @default(false) | |
| order Int @default(1) | |
| shiftCoursesFlag Boolean @default(false) | |
| startDate DateTime | |
| title String @default("") | |
| updatedAt DateTime @default(now()) @updatedAt | |
| creatorId String @map("creator") | |
| personId String? @map("person") | |
| recurringPatternId String? @unique @map("recurringPattern") | |
| creator User @relation(fields: [creatorId], references: [id], onDelete: Cascade) | |
| person Person? @relation(fields: [personId], references: [id]) | |
| recurringPattern EventRecurringPattern? @relation(fields: [recurringPatternId], references: [id]) | |
| /// @onDelete(CASCADE) | |
| childEvents EventChildren[] | |
| eventInvites EventInvite[] | |
| } | |
| model EventChildren { | |
| createdAt DateTime @default(now()) | |
| description String? | |
| endDate DateTime | |
| id String @id @default(dbgenerated("utils.gen_random_uuid()")) | |
| startDate DateTime | |
| title String? | |
| updatedAt DateTime @default(now()) @updatedAt | |
| parentEventId String @map("parentEvent") | |
| parentEvent Event @relation(fields: [parentEventId], references: [id], onDelete: Cascade) | |
| } | |
| model EventInvite { | |
| createdAt DateTime @default(now()) | |
| eventId String @map("event") | |
| id String @id @default(dbgenerated("utils.gen_random_uuid()")) | |
| updatedAt DateTime @default(now()) @updatedAt | |
| userId String @map("user") | |
| event Event @relation(fields: [eventId], references: [id], onDelete: Cascade) | |
| user User @relation(fields: [userId], references: [id], onDelete: Cascade) | |
| } | |
| model EventRecurringPattern { | |
| createdAt DateTime @default(now()) | |
| daysOfMonth Int[] | |
| daysOfWeek Int[] | |
| id String @id @default(dbgenerated("utils.gen_random_uuid()")) | |
| monthsOfYear Int[] | |
| recurringType RecurringType | |
| separationCount Int @default(0) | |
| updatedAt DateTime @default(now()) @updatedAt | |
| weeksOfMonth Int[] | |
| event Event? | |
| } | |
| model Faq { | |
| body String? | |
| createdAt DateTime @default(now()) | |
| featured Boolean? @default(false) | |
| id String @id @default(dbgenerated("utils.gen_random_uuid()")) | |
| link String? | |
| order Int? | |
| title String? | |
| type FaqType | |
| updatedAt DateTime @default(now()) | |
| viewCount Int? | |
| wizard Boolean? @default(false) | |
| thumbnail String? | |
| faqFaqTags FaqFaqTag[] | |
| } | |
| model FaqFaqTag { | |
| createdAt DateTime @default(now()) | |
| faqId String @map("faq") | |
| faqTagId String @map("faqTag") | |
| id String @id @default(dbgenerated("utils.gen_random_uuid()")) | |
| updatedAt DateTime @default(now()) @updatedAt | |
| faq Faq @relation(fields: [faqId], references: [id], onDelete: Cascade) | |
| faqTag FaqTag @relation(fields: [faqTagId], references: [id], onDelete: Cascade) | |
| } | |
| model FaqTag { | |
| createdAt DateTime @default(now()) | |
| id String @id @default(dbgenerated("utils.gen_random_uuid()")) | |
| name String? @unique | |
| updatedAt DateTime @default(now()) @updatedAt | |
| viewCount Int? | |
| faqFaqTags FaqFaqTag[] | |
| } | |
| model Grade { | |
| avg String? | |
| createdAt DateTime @default(now()) | |
| id String @id @default(dbgenerated("utils.gen_random_uuid()")) | |
| letter String? | |
| updatedAt DateTime @default(now()) @updatedAt | |
| } | |
| model HubAccount { | |
| accountStatus Status? | |
| acctNum Int? | |
| address1 String? | |
| address2 String? | |
| city String? | |
| country String? | |
| createdAt DateTime @default(now()) | |
| email String? | |
| firstName String? | |
| gender String? | |
| hubUserXid String? @unique | |
| id String @id @default(dbgenerated("utils.gen_random_uuid()")) | |
| lastName String? | |
| originHub Boolean @default(false) | |
| state String? | |
| updatedAt DateTime @default(now()) @updatedAt | |
| zip String? | |
| } | |
| model LessonContent { | |
| chapter String? | |
| courseCodeXId String? | |
| createdAt DateTime @default(now()) | |
| day Int @default(0) | |
| id String @id @default(dbgenerated("utils.gen_random_uuid()")) | |
| isActive Boolean @default(false) | |
| lessonDetails String? | |
| materials String? | |
| objectives String? | |
| parentDetails String? | |
| parentInstructions String? | |
| shortTitle String? | |
| studentInstructions String? | |
| title String? | |
| updatedAt DateTime @default(now()) @updatedAt | |
| videoCode String? | |
| courseContentId String? @map("courseContent") | |
| chapterOrder Int? | |
| courseContent CourseContent? @relation(fields: [courseContentId], references: [id], onDelete: Cascade) | |
| /// @onDelete(CASCADE) | |
| assignmentContents AssignmentContent[] | |
| /// @onDelete(CASCADE) | |
| lessonContentResources LessonContentResource[] | |
| /// @onDelete(CASCADE) | |
| lessonTakings LessonTaking[] | |
| } | |
| model LessonContentResource { | |
| courseCodeXId String? | |
| createdAt DateTime @default(now()) | |
| id String @id @default(dbgenerated("utils.gen_random_uuid()")) | |
| lessonDayXId Int? | |
| name String? | |
| resourceType LessonContentResourceType | |
| sourceLink String @default("") | |
| updatedAt DateTime @default(now()) @updatedAt | |
| lessonContentId String? @map("lessonContent") | |
| lessonContent LessonContent? @relation(fields: [lessonContentId], references: [id], onDelete: Cascade) | |
| } | |
| model LessonTaking { | |
| assignedDate DateTime? | |
| createdAt DateTime @default(now()) | |
| day Int | |
| id String @id @default(dbgenerated("utils.gen_random_uuid()")) | |
| lessonDetails String? | |
| materials String? | |
| objectives String? | |
| parentDetails String? | |
| parentInstructions String? | |
| studentInstructions String? | |
| title String? | |
| updatedAt DateTime @default(now()) @updatedAt | |
| courseTakingId String? @map("courseTaking") | |
| lessonContentId String? @map("lessonContent") | |
| courseTaking CourseTaking? @relation(fields: [courseTakingId], references: [id], onDelete: Cascade) | |
| lessonContent LessonContent? @relation(fields: [lessonContentId], references: [id]) | |
| /// @onDelete(CASCADE) | |
| assignmentTakings AssignmentTaking[] | |
| Notes Notes[] | |
| } | |
| model Parent { | |
| coppaIsSigned Boolean @default(false) | |
| coppaSignedTime DateTime? | |
| createdAt DateTime @default(now()) | |
| dashConfig Json? | |
| hideVideo Boolean @default(false) | |
| id String @id @default(dbgenerated("utils.gen_random_uuid()")) | |
| profileEdited Boolean @default(false) | |
| updatedAt DateTime @default(now()) @updatedAt | |
| vitalSourceToken String? | |
| wizardFinished Boolean @default(false) | |
| personId String @unique @map("person") | |
| person Person @relation(fields: [personId], references: [id], onDelete: Cascade) | |
| courseTakings CourseTaking[] | |
| notes Notes[] | |
| students Student[] | |
| } | |
| model Person { | |
| addrLine1 String? | |
| addrLine2 String? | |
| city String? | |
| country String? | |
| createdAt DateTime @default(now()) | |
| dob DateTime? | |
| email String? | |
| firstName String @default("") | |
| gender String? | |
| grade String? | |
| id String @id @default(dbgenerated("utils.gen_random_uuid()")) | |
| lastName String @default("") | |
| phone String? | |
| state String? | |
| type PersonType? | |
| updatedAt DateTime @default(now()) @updatedAt | |
| zip String? | |
| studentId String? @unique @map("student") | |
| userId String @unique @map("user") | |
| student Student? @relation(fields: [studentId], references: [id]) | |
| user User @relation(fields: [userId], references: [id], onDelete: Cascade) | |
| activities Activity[] | |
| events Event[] | |
| parent Parent? | |
| } | |
| model Student { | |
| assessmentPwd String? | |
| createdAt DateTime @default(now()) | |
| dashConfig Json? | |
| id String @id @default(dbgenerated("utils.gen_random_uuid()")) | |
| lessonsPerDay Int? | |
| updatedAt DateTime @default(now()) @updatedAt | |
| parentDashConfig Json? | |
| parentId String @map("parent") | |
| parent Parent @relation(fields: [parentId], references: [id], onDelete: Cascade) | |
| /// @onDelete(CASCADE) | |
| courseTakings CourseTaking[] | |
| notes Notes[] | |
| person Person? | |
| } | |
| model User { | |
| avatarLink String? | |
| canAddEventsToCalendar Boolean @default(false) | |
| canSeeGrades Boolean @default(false) | |
| canSeeTimer Boolean @default(true) | |
| canWorkAhead Boolean @default(true) | |
| createdAt DateTime @default(now()) | |
| font String? | |
| id String @id @default(dbgenerated("utils.gen_random_uuid()")) | |
| lessonsPerDay Int? | |
| passResetExpires DateTime? | |
| password String @default("") | |
| passwordResetToken String? @unique | |
| pressAcctNum Int? | |
| updatedAt DateTime @default(now()) @updatedAt | |
| username String @unique @default("") | |
| userTheme String? | |
| userLearningSettingsId String? @unique @map("userLearningSettings") | |
| tokenValidDate DateTime @default(now()) | |
| userLearningSettings UserLearningSettings? @relation(fields: [userLearningSettingsId], references: [id]) | |
| courseTakings CourseTaking[] | |
| /// @onDelete(CASCADE) | |
| events Event[] | |
| eventInvites EventInvite[] | |
| person Person? | |
| UserAlert UserAlert[] | |
| } | |
| model UserAlert { | |
| id String @id @default(dbgenerated("utils.gen_random_uuid()")) | |
| status AlertStatus | |
| alertId String? | |
| userId String | |
| alert Alert? @relation(fields: [alertId], references: [id], onDelete: Cascade) | |
| user User @relation(fields: [userId], references: [id], onDelete: Cascade) | |
| } | |
| model UserLearningSettings { | |
| createdAt DateTime @default(now()) | |
| id String @id @default(dbgenerated("utils.gen_random_uuid()")) | |
| showLateAlerts Boolean @default(true) | |
| showGradeAlerts Boolean @default(true) | |
| univPwd String? | |
| univPwdWholeFamily Boolean @default(false) | |
| updatedAt DateTime @default(now()) @updatedAt | |
| user User? | |
| } | |
| model VideoViewEvent { | |
| id String @id @default(dbgenerated("utils.gen_random_uuid()")) | |
| timeWatched Int? | |
| externalUpdatedAt DateTime? | |
| externalId String? | |
| percentWatched Int? | |
| updatedAt DateTime @default(now()) @updatedAt | |
| assignmentTakingId String @map("assignmentTaking") | |
| assignmentTaking AssignmentTaking @relation(fields: [assignmentTakingId], references: [id], onDelete: Cascade) | |
| } | |
| enum AlertAppliesTo { | |
| All | |
| Parents | |
| Students | |
| } | |
| enum AlertStatus { | |
| Read | |
| Unread | |
| Archived | |
| } | |
| enum AlertType { | |
| Global | |
| Sales | |
| } | |
| enum AssessmentContentQuestionTypeEnum { | |
| CT | |
| ES | |
| FB | |
| MA | |
| MC | |
| OR | |
| TF | |
| } | |
| enum AssignmentContentTypeEnum { | |
| ACT | |
| ASS | |
| AXE | |
| CRV | |
| EVL | |
| FRV | |
| HND | |
| IVS | |
| LAB | |
| NON | |
| Normal | |
| ORL | |
| OTH | |
| PRJ | |
| PRT | |
| QIZ | |
| RED | |
| RSC | |
| RVW | |
| Random | |
| SOR | |
| SRD | |
| STP | |
| TES | |
| TIL | |
| TSK | |
| VID | |
| VOQ | |
| VRS | |
| VSP | |
| WAS | |
| WBK | |
| WRP | |
| WRT | |
| WTC | |
| WTP | |
| LQZ | |
| GQZ | |
| BRH | |
| } | |
| enum AssignmentTakingFlow { | |
| GradedItem | |
| OnlineAssessment | |
| ReviewTask | |
| Task | |
| } | |
| enum AssignmentTakingStatus { | |
| Incomplete | |
| Submitted | |
| Done | |
| } | |
| /// do not use Aqua, Default, Purple, Teal, or Pink. | |
| /// They are old colors left in to deal with migration issues. | |
| enum CourseColor { | |
| Aqua | |
| Default | |
| Purple | |
| Teal | |
| Pink | |
| White | |
| Flamingo | |
| Raspberry | |
| Red | |
| Salmon | |
| Orange | |
| Marigold | |
| Yellow | |
| Spring | |
| Green | |
| Sky | |
| Blue | |
| Indigo | |
| Violet | |
| Storm | |
| Black | |
| } | |
| enum CourseContentCodeTypeEnum { | |
| EDT | |
| ENT | |
| GRD | |
| SBJ | |
| UPD | |
| } | |
| enum CourseContentTypeEnum { | |
| ALG | |
| DLG | |
| DLO | |
| TLG | |
| VLG | |
| TPL | |
| } | |
| enum CourseTakingStatus { | |
| Unassigned | |
| Assigned | |
| Completed | |
| Archived | |
| Expired | |
| Disabled | |
| } | |
| enum EntitlementStatus { | |
| Active | |
| Disabled | |
| Expired | |
| Returned | |
| Voided | |
| } | |
| enum FaqType { | |
| KBA | |
| VID | |
| } | |
| enum LessonContentResourceType { | |
| PNT | |
| STD | |
| VID | |
| } | |
| enum PersonType { | |
| P | |
| S | |
| } | |
| enum RecurringType { | |
| DAILY | |
| MONTHLY | |
| WEEKLY | |
| YEARLY | |
| } | |
| enum Status { | |
| Active | |
| Deleted | |
| Inactive | |
| } | |
| enum Role { | |
| ADMIN | |
| SUPPORT | |
| ENTRYWAY | |
| } |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment