diff --git a/api/prisma/schema.prisma b/api/prisma/schema.prisma index 8bb1eeefe40..572b79c80ce 100644 --- a/api/prisma/schema.prisma +++ b/api/prisma/schema.prisma @@ -1,5 +1,5 @@ generator client { - provider = "prisma-client-js" + provider = "prisma-client-js" } datasource db { @@ -53,9 +53,10 @@ type ProfileUI { showTimeLine Boolean? // Undefined } -type ProgressTimestamp { - timestamp Float -} +// Currently unused, so commented out. +// type ProgressTimestamp { +// timestamp Float +// } type SavedChallengeFile { contents String @@ -186,12 +187,6 @@ model UserToken { @@index([userId], map: "userId_1") } -model changelog { - id String @id @default(auto()) @map("_id") @db.ObjectId - appliedAt DateTime @db.Date - fileName String -} - model sessions { id String @id @map("_id") expires DateTime @db.Date @@ -200,35 +195,6 @@ model sessions { @@index([expires], map: "expires_1") } -model userCredential { - id String @id @default(auto()) @map("_id") @db.ObjectId - authScheme String - created DateTime @db.Date - credentials UserCredentialCredentials - externalId String - modified DateTime @db.Date - /// Could not determine type: the field only had null or empty values in the sample set. - profile Json? - provider String - userId String @db.ObjectId -} - -model userIdentity { - id String @id @default(auto()) @map("_id") @db.ObjectId - authScheme String? - created DateTime? @db.Date - credentials UserIdentityCredentials? - externalId String - modified DateTime? @db.Date - profile UserIdentityProfile? - provider String - userId String @db.ObjectId - - @@index([userId], map: "userId_1") - @@index([externalId], map: "externalId_1") - @@index([provider, externalId], map: "provider_1_externalId_1") -} - type DonationEndDate { date DateTime @map("_date") @db.Date when String @map("_when") @@ -238,798 +204,3 @@ type DonationStartDate { date DateTime @map("_date") @db.Date when String @map("_when") } - -type UserCredentialCredentials { - accessToken String -} - -type UserIdentityCredentials { - accessToken String? - token String? - tokenSecret String? -} - -type UserIdentityProfile { - /// This field was commented out because of an invalid name. Please provide a valid one that matches [a-zA-Z][a-zA-Z0-9_]* - // 0 String? @map("0") - /// This field was commented out because of an invalid name. Please provide a valid one that matches [a-zA-Z][a-zA-Z0-9_]* - // 1 String? @map("1") - /// This field was commented out because of an invalid name. Please provide a valid one that matches [a-zA-Z][a-zA-Z0-9_]* - // 2 String? @map("2") - /// This field was commented out because of an invalid name. Please provide a valid one that matches [a-zA-Z][a-zA-Z0-9_]* - // 3 String? @map("3") - /// This field was commented out because of an invalid name. Please provide a valid one that matches [a-zA-Z][a-zA-Z0-9_]* - // 4 String? @map("4") - /// This field was commented out because of an invalid name. Please provide a valid one that matches [a-zA-Z][a-zA-Z0-9_]* - // 5 String? @map("5") - accessLevel String? @map("_accessLevel") - json UserIdentityProfileJson? @map("_json") - raw String? @map("_raw") - birthday String? - displayName String? - email String? - emails UserIdentityProfileEmails[] - gender String? - /// Multiple data types found: String: 97.5%, Int: 2.5% out of 917 sampled entries - id Json? - isPerson Boolean? - isPlusUser Boolean? - language String? - name UserIdentityProfileName? - /// Multiple data types found: Array(String): 0.4%, Array(UserIdentityProfilePhotos): 99.6% out of 767 sampled entries - photos Json? - placesLived UserIdentityProfilePlacesLived[] - profileUrl String? - provider String? - relationship String? - username String? -} - -type UserIdentityProfileEmails { - type String? - value String? -} - -type UserIdentityProfileJson { - aboutMe String? - apiStandardProfileRequest UserIdentityProfileJsonApiStandardProfileRequest? - avatar_url String? - bio String? - birthday String? - blog String? - braggingRights String? - circledByCount Int? - company String? - contributors_enabled Boolean? - cover UserIdentityProfileJsonCover? - created_at String? - currentShare UserIdentityProfileJsonCurrentShare? - default_profile Boolean? - default_profile_image Boolean? - description String? - displayName String? - distance Int? - domain String? - email String? - emailAddress String? - emails UserIdentityProfileJsonEmails[] - entities UserIdentityProfileJsonEntities? - etag String? - events_url String? - favourites_count Int? - firstName String? - first_name String? - follow_request_sent Boolean? - followers Int? - followers_count Int? - followers_url String? - /// Multiple data types found: Boolean: 5%, Int: 95% out of 686 sampled entries - following Json? - following_url String? - formattedName String? - friends_count Int? - gender String? - geo_enabled Boolean? - gists_url String? - gravatar_id String? - has_extended_profile Boolean? - headline String? - hireable Boolean? - html_url String? - /// Multiple data types found: String: 25.2%, Float: 1.2%, Int: 73.6% out of 917 sampled entries - id Json - id_str String? - image UserIdentityProfileJsonImage? - industry String? - isPlusUser Boolean? - is_translation_enabled Boolean? - is_translator Boolean? - kind String? - lang String? - language String? - lastName String? - last_name String? - link String? - listed_count Int? - locale String? - /// Multiple data types found: String: 87.2%, UserIdentityProfileJsonLocation: 12.8% out of 727 sampled entries - location Json? - login String? - maidenName String? - middle_name String? - /// Multiple data types found: String: 80.8%, UserIdentityProfileJsonName: 19.2% out of 877 sampled entries - name Json? - needs_phone_verification Boolean? - nickname String? - notifications Boolean? - numConnections Int? - numConnectionsCapped Boolean? - objectType String? - occupation String? - organizations UserIdentityProfileJsonOrganizations[] - organizations_url String? - pictureUrl String? - pictureUrls UserIdentityProfileJsonPictureUrls? - placesLived UserIdentityProfileJsonPlacesLived[] - positions UserIdentityProfileJsonPositions? - profile_background_color String? - profile_background_image_url String? - profile_background_image_url_https String? - profile_background_tile Boolean? - profile_banner_url String? - profile_image_url String? - profile_image_url_https String? - profile_link_color String? - profile_location UserIdentityProfileJsonProfileLocation? - profile_sidebar_border_color String? - profile_sidebar_fill_color String? - profile_text_color String? - profile_use_background_image Boolean? - protected Boolean? - publicProfileUrl String? - public_gists Int? - public_repos Int? - received_events_url String? - relationToViewer UserIdentityProfileJsonRelationToViewer? - relationshipStatus String? - repos_url String? - screen_name String? - siteStandardProfileRequest UserIdentityProfileJsonSiteStandardProfileRequest? - site_admin Boolean? - skills String? - starred_url String? - status UserIdentityProfileJsonStatus? - statuses_count Int? - subscriptions_url String? - summary String? - suspended Boolean? - tagline String? - time_zone String? - /// Multiple data types found: Float: 10.2%, Int: 89.8% out of 49 sampled entries - timezone Json? - translator_type String? - type String? - updated_at String? - updated_time String? - url String? - urls UserIdentityProfileJsonUrls[] - utc_offset Int? - verified Boolean? -} - -type UserIdentityProfileJsonApiStandardProfileRequest { - headers UserIdentityProfileJsonApiStandardProfileRequestHeaders - url String -} - -type UserIdentityProfileJsonApiStandardProfileRequestHeaders { - total Int @map("_total") - values UserIdentityProfileJsonApiStandardProfileRequestHeadersValues[] -} - -type UserIdentityProfileJsonApiStandardProfileRequestHeadersValues { - name String - value String -} - -type UserIdentityProfileJsonCover { - coverInfo UserIdentityProfileJsonCoverCoverInfo - coverPhoto UserIdentityProfileJsonCoverCoverPhoto - layout String -} - -type UserIdentityProfileJsonCoverCoverInfo { - leftImageOffset Int - topImageOffset Int -} - -type UserIdentityProfileJsonCoverCoverPhoto { - height Int - url String - width Int -} - -type UserIdentityProfileJsonCurrentShare { - attribution UserIdentityProfileJsonCurrentShareAttribution? - author UserIdentityProfileJsonCurrentShareAuthor - comment String? - content UserIdentityProfileJsonCurrentShareContent? - id String - source UserIdentityProfileJsonCurrentShareSource - timestamp Float - visibility UserIdentityProfileJsonCurrentShareVisibility -} - -type UserIdentityProfileJsonCurrentShareAttribution { - share UserIdentityProfileJsonCurrentShareAttributionShare -} - -type UserIdentityProfileJsonCurrentShareAttributionShare { - author UserIdentityProfileJsonCurrentShareAttributionShareAuthor - comment String? - id String -} - -type UserIdentityProfileJsonCurrentShareAttributionShareAuthor { - firstName String - id String - lastName String -} - -type UserIdentityProfileJsonCurrentShareAuthor { - firstName String - id String - lastName String -} - -type UserIdentityProfileJsonCurrentShareContent { - description String - eyebrowUrl String - resolvedUrl String - shortenedUrl String - submittedImageUrl String? - submittedUrl String - thumbnailUrl String? - title String -} - -type UserIdentityProfileJsonCurrentShareSource { - application UserIdentityProfileJsonCurrentShareSourceApplication? - serviceProvider UserIdentityProfileJsonCurrentShareSourceServiceProvider -} - -type UserIdentityProfileJsonCurrentShareSourceApplication { - name String -} - -type UserIdentityProfileJsonCurrentShareSourceServiceProvider { - name String -} - -type UserIdentityProfileJsonCurrentShareVisibility { - code String -} - -type UserIdentityProfileJsonEmails { - type String - value String -} - -type UserIdentityProfileJsonEntities { - description UserIdentityProfileJsonEntitiesDescription - url UserIdentityProfileJsonEntitiesUrl? -} - -type UserIdentityProfileJsonEntitiesDescription { - urls UserIdentityProfileJsonEntitiesDescriptionUrls[] -} - -type UserIdentityProfileJsonEntitiesDescriptionUrls { - display_url String - expanded_url String - indices Int[] - url String -} - -type UserIdentityProfileJsonEntitiesUrl { - urls UserIdentityProfileJsonEntitiesUrlUrls[] -} - -type UserIdentityProfileJsonEntitiesUrlUrls { - display_url String - expanded_url String - indices Int[] - url String -} - -type UserIdentityProfileJsonImage { - isDefault Boolean - url String -} - -type UserIdentityProfileJsonLocation { - country UserIdentityProfileJsonLocationCountry? - id String? - name String -} - -type UserIdentityProfileJsonLocationCountry { - code String -} - -type UserIdentityProfileJsonName { - familyName String - givenName String -} - -type UserIdentityProfileJsonOrganizations { - endDate String? - name String - primary Boolean - startDate String? - title String? - type String -} - -type UserIdentityProfileJsonPictureUrls { - total Int @map("_total") - values String[] -} - -type UserIdentityProfileJsonPlacesLived { - primary Boolean? - value String -} - -type UserIdentityProfileJsonPositions { - total Int @map("_total") - values UserIdentityProfileJsonPositionsValues[] -} - -type UserIdentityProfileJsonPositionsValues { - company UserIdentityProfileJsonPositionsValuesCompany - id Int - isCurrent Boolean - location UserIdentityProfileJsonPositionsValuesLocation? - startDate UserIdentityProfileJsonPositionsValuesStartDate? - summary String? - title String -} - -type UserIdentityProfileJsonPositionsValuesCompany { - id Int? - industry String? - name String - size String? - ticker String? - type String? -} - -type UserIdentityProfileJsonPositionsValuesLocation { - country UserIdentityProfileJsonPositionsValuesLocationCountry? - name String? -} - -type UserIdentityProfileJsonPositionsValuesLocationCountry { - code String - name String -} - -type UserIdentityProfileJsonPositionsValuesStartDate { - month Int? - year Int -} - -type UserIdentityProfileJsonProfileLocation { - /// Nested objects had no data in the sample dataset to introspect a nested type. - attributes Json - /// Could not determine type: the field only had null or empty values in the sample set. - bounding_box Json? - /// Could not determine type: the field only had null or empty values in the sample set. - contained_within Json? - country String - country_code String - full_name String - id String - name String - place_type String - url String -} - -type UserIdentityProfileJsonRelationToViewer { - distance Int -} - -type UserIdentityProfileJsonSiteStandardProfileRequest { - url String -} - -type UserIdentityProfileJsonStatus { - /// Could not determine type: the field only had null or empty values in the sample set. - contributors Json? - /// Could not determine type: the field only had null or empty values in the sample set. - coordinates Json? - created_at String - entities UserIdentityProfileJsonStatusEntities - extended_entities UserIdentityProfileJsonStatusExtendedEntities? - favorite_count Int - favorited Boolean - /// Could not determine type: the field only had null or empty values in the sample set. - geo Json? - id Float - id_str String - in_reply_to_screen_name String? - in_reply_to_status_id Float? - in_reply_to_status_id_str String? - /// Multiple data types found: Float: 33.3%, Int: 66.7% out of 33 sampled entries - in_reply_to_user_id Json? - in_reply_to_user_id_str String? - is_quote_status Boolean? - lang String - place UserIdentityProfileJsonStatusPlace? - possibly_sensitive Boolean? - quoted_status_id Float? - quoted_status_id_str String? - retweet_count Int - retweeted Boolean - retweeted_status UserIdentityProfileJsonStatusRetweetedStatus? - source String - text String - truncated Boolean -} - -type UserIdentityProfileJsonStatusEntities { - hashtags UserIdentityProfileJsonStatusEntitiesHashtags[] - media UserIdentityProfileJsonStatusEntitiesMedia[] - /// Could not determine type: the field only had null or empty values in the sample set. - symbols Json? - urls UserIdentityProfileJsonStatusEntitiesUrls[] - user_mentions UserIdentityProfileJsonStatusEntitiesUserMentions[] -} - -type UserIdentityProfileJsonStatusEntitiesHashtags { - indices Int[] - text String -} - -type UserIdentityProfileJsonStatusEntitiesMedia { - display_url String - expanded_url String - id Float - id_str String - indices Int[] - media_url String - media_url_https String - sizes UserIdentityProfileJsonStatusEntitiesMediaSizes - source_status_id Float? - source_status_id_str String? - /// Multiple data types found: Float: 40%, Int: 60% out of 5 sampled entries - source_user_id Json? - source_user_id_str String? - type String - url String -} - -type UserIdentityProfileJsonStatusEntitiesMediaSizes { - large UserIdentityProfileJsonStatusEntitiesMediaSizesLarge - medium UserIdentityProfileJsonStatusEntitiesMediaSizesMedium - small UserIdentityProfileJsonStatusEntitiesMediaSizesSmall - thumb UserIdentityProfileJsonStatusEntitiesMediaSizesThumb -} - -type UserIdentityProfileJsonStatusEntitiesMediaSizesLarge { - h Int - resize String - w Int -} - -type UserIdentityProfileJsonStatusEntitiesMediaSizesMedium { - h Int - resize String - w Int -} - -type UserIdentityProfileJsonStatusEntitiesMediaSizesSmall { - h Int - resize String - w Int -} - -type UserIdentityProfileJsonStatusEntitiesMediaSizesThumb { - h Int - resize String - w Int -} - -type UserIdentityProfileJsonStatusEntitiesUrls { - display_url String - expanded_url String - indices Int[] - url String -} - -type UserIdentityProfileJsonStatusEntitiesUserMentions { - /// Multiple data types found: Float: 20.8%, Int: 79.2% out of 24 sampled entries - id Json - id_str String - indices Int[] - name String - screen_name String -} - -type UserIdentityProfileJsonStatusExtendedEntities { - media UserIdentityProfileJsonStatusExtendedEntitiesMedia[] -} - -type UserIdentityProfileJsonStatusExtendedEntitiesMedia { - display_url String - expanded_url String - id Float - id_str String - indices Int[] - media_url String - media_url_https String - sizes UserIdentityProfileJsonStatusExtendedEntitiesMediaSizes - source_status_id Float? - source_status_id_str String? - /// Multiple data types found: Float: 40%, Int: 60% out of 5 sampled entries - source_user_id Json? - source_user_id_str String? - type String - url String - video_info UserIdentityProfileJsonStatusExtendedEntitiesMediaVideoInfo? -} - -type UserIdentityProfileJsonStatusExtendedEntitiesMediaSizes { - large UserIdentityProfileJsonStatusExtendedEntitiesMediaSizesLarge - medium UserIdentityProfileJsonStatusExtendedEntitiesMediaSizesMedium - small UserIdentityProfileJsonStatusExtendedEntitiesMediaSizesSmall - thumb UserIdentityProfileJsonStatusExtendedEntitiesMediaSizesThumb -} - -type UserIdentityProfileJsonStatusExtendedEntitiesMediaSizesLarge { - h Int - resize String - w Int -} - -type UserIdentityProfileJsonStatusExtendedEntitiesMediaSizesMedium { - h Int - resize String - w Int -} - -type UserIdentityProfileJsonStatusExtendedEntitiesMediaSizesSmall { - h Int - resize String - w Int -} - -type UserIdentityProfileJsonStatusExtendedEntitiesMediaSizesThumb { - h Int - resize String - w Int -} - -type UserIdentityProfileJsonStatusExtendedEntitiesMediaVideoInfo { - aspect_ratio Int[] - variants UserIdentityProfileJsonStatusExtendedEntitiesMediaVideoInfoVariants[] -} - -type UserIdentityProfileJsonStatusExtendedEntitiesMediaVideoInfoVariants { - bitrate Int - content_type String - url String -} - -type UserIdentityProfileJsonStatusPlace { - /// Nested objects had no data in the sample dataset to introspect a nested type. - attributes Json - bounding_box UserIdentityProfileJsonStatusPlaceBoundingBox - /// Could not determine type: the field only had null or empty values in the sample set. - contained_within Json? - country String - country_code String - full_name String - id String - name String - place_type String - url String -} - -type UserIdentityProfileJsonStatusPlaceBoundingBox { - coordinates Json - type String -} - -type UserIdentityProfileJsonStatusRetweetedStatus { - /// Could not determine type: the field only had null or empty values in the sample set. - contributors Json? - /// Could not determine type: the field only had null or empty values in the sample set. - coordinates Json? - created_at String - entities UserIdentityProfileJsonStatusRetweetedStatusEntities - extended_entities UserIdentityProfileJsonStatusRetweetedStatusExtendedEntities? - favorite_count Int - favorited Boolean - /// Could not determine type: the field only had null or empty values in the sample set. - geo Json? - id Float - id_str String - /// Could not determine type: the field only had null or empty values in the sample set. - in_reply_to_screen_name Json? - /// Could not determine type: the field only had null or empty values in the sample set. - in_reply_to_status_id Json? - /// Could not determine type: the field only had null or empty values in the sample set. - in_reply_to_status_id_str Json? - /// Could not determine type: the field only had null or empty values in the sample set. - in_reply_to_user_id Json? - /// Could not determine type: the field only had null or empty values in the sample set. - in_reply_to_user_id_str Json? - is_quote_status Boolean? - lang String - /// Could not determine type: the field only had null or empty values in the sample set. - place Json? - possibly_sensitive Boolean? - retweet_count Int - retweeted Boolean - source String - text String - truncated Boolean -} - -type UserIdentityProfileJsonStatusRetweetedStatusEntities { - hashtags UserIdentityProfileJsonStatusRetweetedStatusEntitiesHashtags[] - media UserIdentityProfileJsonStatusRetweetedStatusEntitiesMedia[] - /// Could not determine type: the field only had null or empty values in the sample set. - symbols Json? - urls UserIdentityProfileJsonStatusRetweetedStatusEntitiesUrls[] - /// Could not determine type: the field only had null or empty values in the sample set. - user_mentions Json? -} - -type UserIdentityProfileJsonStatusRetweetedStatusEntitiesHashtags { - indices Int[] - text String -} - -type UserIdentityProfileJsonStatusRetweetedStatusEntitiesMedia { - display_url String - expanded_url String - id Float - id_str String - indices Int[] - media_url String - media_url_https String - sizes UserIdentityProfileJsonStatusRetweetedStatusEntitiesMediaSizes - source_status_id Float? - source_status_id_str String? - source_user_id Float? - source_user_id_str String? - type String - url String -} - -type UserIdentityProfileJsonStatusRetweetedStatusEntitiesMediaSizes { - large UserIdentityProfileJsonStatusRetweetedStatusEntitiesMediaSizesLarge - medium UserIdentityProfileJsonStatusRetweetedStatusEntitiesMediaSizesMedium - small UserIdentityProfileJsonStatusRetweetedStatusEntitiesMediaSizesSmall - thumb UserIdentityProfileJsonStatusRetweetedStatusEntitiesMediaSizesThumb -} - -type UserIdentityProfileJsonStatusRetweetedStatusEntitiesMediaSizesLarge { - h Int - resize String - w Int -} - -type UserIdentityProfileJsonStatusRetweetedStatusEntitiesMediaSizesMedium { - h Int - resize String - w Int -} - -type UserIdentityProfileJsonStatusRetweetedStatusEntitiesMediaSizesSmall { - h Int - resize String - w Int -} - -type UserIdentityProfileJsonStatusRetweetedStatusEntitiesMediaSizesThumb { - h Int - resize String - w Int -} - -type UserIdentityProfileJsonStatusRetweetedStatusEntitiesUrls { - display_url String - expanded_url String - indices Int[] - url String -} - -type UserIdentityProfileJsonStatusRetweetedStatusExtendedEntities { - media UserIdentityProfileJsonStatusRetweetedStatusExtendedEntitiesMedia[] -} - -type UserIdentityProfileJsonStatusRetweetedStatusExtendedEntitiesMedia { - display_url String - expanded_url String - id Float - id_str String - indices Int[] - media_url String - media_url_https String - sizes UserIdentityProfileJsonStatusRetweetedStatusExtendedEntitiesMediaSizes - source_status_id Float? - source_status_id_str String? - source_user_id Float? - source_user_id_str String? - type String - url String - video_info UserIdentityProfileJsonStatusRetweetedStatusExtendedEntitiesMediaVideoInfo? -} - -type UserIdentityProfileJsonStatusRetweetedStatusExtendedEntitiesMediaSizes { - large UserIdentityProfileJsonStatusRetweetedStatusExtendedEntitiesMediaSizesLarge - medium UserIdentityProfileJsonStatusRetweetedStatusExtendedEntitiesMediaSizesMedium - small UserIdentityProfileJsonStatusRetweetedStatusExtendedEntitiesMediaSizesSmall - thumb UserIdentityProfileJsonStatusRetweetedStatusExtendedEntitiesMediaSizesThumb -} - -type UserIdentityProfileJsonStatusRetweetedStatusExtendedEntitiesMediaSizesLarge { - h Int - resize String - w Int -} - -type UserIdentityProfileJsonStatusRetweetedStatusExtendedEntitiesMediaSizesMedium { - h Int - resize String - w Int -} - -type UserIdentityProfileJsonStatusRetweetedStatusExtendedEntitiesMediaSizesSmall { - h Int - resize String - w Int -} - -type UserIdentityProfileJsonStatusRetweetedStatusExtendedEntitiesMediaSizesThumb { - h Int - resize String - w Int -} - -type UserIdentityProfileJsonStatusRetweetedStatusExtendedEntitiesMediaVideoInfo { - aspect_ratio Int[] - variants UserIdentityProfileJsonStatusRetweetedStatusExtendedEntitiesMediaVideoInfoVariants[] -} - -type UserIdentityProfileJsonStatusRetweetedStatusExtendedEntitiesMediaVideoInfoVariants { - bitrate Int - content_type String - url String -} - -type UserIdentityProfileJsonUrls { - label String - type String - value String -} - -type UserIdentityProfileName { - familyName String? - givenName String? - middleName String? -} - -type UserIdentityProfilePhotos { - type String? - value String -} - -type UserIdentityProfilePlacesLived { - primary Boolean? - value String -}