Skip to main content

UserSchema

Defined in: src/types/schema.ts:31

File

GraphQL Schema

Description

This file exists to reduce code duplication and because GraphQL operates using schemas.

Khan Academy's safelisted GraphQL queries will usually not request any schema entirely so TypeScript's Pick and Omit utility types may come in handy.

Type Parameters

AvatarData = AvatarSchema

ProfileData = ProfileSchema

ListProgramsData = ListProgramsSchema

Properties

__typename

__typename: "User"

Defined in: src/types/schema.ts:36


actorHasUserScopedPermission

actorHasUserScopedPermission: boolean

Defined in: src/types/schema.ts:37


authEmails

authEmails: null | string[]

Defined in: src/types/schema.ts:38


autocontinueOn

autocontinueOn: null | boolean

Defined in: src/types/schema.ts:39


avatar

avatar: AvatarData

Defined in: src/types/schema.ts:40


badgeCounts

badgeCounts: string

Defined in: src/types/schema.ts:41


bio

bio: string

Defined in: src/types/schema.ts:42


birthMonthYear

birthMonthYear: unknown

Defined in: src/types/schema.ts:43


canAccessDistrictsHomepage

canAccessDistrictsHomepage: boolean

Defined in: src/types/schema.ts:44


canHellban

canHellban: null | boolean

Defined in: src/types/schema.ts:45


canMessageUsers

canMessageUsers: null | boolean

Defined in: src/types/schema.ts:46


canModifyCoaches

canModifyCoaches: null | boolean

Defined in: src/types/schema.ts:47


countVideosCompleted

countVideosCompleted: number

Defined in: src/types/schema.ts:48


email

email: null | string

Defined in: src/types/schema.ts:49


gaUserId

gaUserId: null | string

Defined in: src/types/schema.ts:50


hasAccessToAIGuideCompanionMode

hasAccessToAIGuideCompanionMode: null | boolean

Defined in: src/types/schema.ts:52


hasAccessToAIGuideDev

hasAccessToAIGuideDev: null | boolean

Defined in: src/types/schema.ts:51


hasAccessToAIGuideDistrictAdmin

hasAccessToAIGuideDistrictAdmin: null | boolean

Defined in: src/types/schema.ts:53


hasAccessToAIGuideLearner

hasAccessToAIGuideLearner: null | boolean

Defined in: src/types/schema.ts:54


hasAccessToAIGuideParent

hasAccessToAIGuideParent: null | boolean

Defined in: src/types/schema.ts:55


hasAccessToAIGuideTeacher

hasAccessToAIGuideTeacher: null | boolean

Defined in: src/types/schema.ts:56


hasChildren

hasChildren: null | boolean

Defined in: src/types/schema.ts:57


hasClasses

hasClasses: null | boolean

Defined in: src/types/schema.ts:58


hasCoach

hasCoach: null | boolean

Defined in: src/types/schema.ts:59


hasStudents

hasStudents: null | boolean

Defined in: src/types/schema.ts:60


hasUnresolvedInvitations

hasUnresolvedInvitations: null | boolean

Defined in: src/types/schema.ts:61


hideVisual

hideVisual: null | boolean

Defined in: src/types/schema.ts:62


homepageUrl

homepageUrl: null | string

Defined in: src/types/schema.ts:63


id

id: null | `kaid_${number}`

Defined in: src/types/schema.ts:67

Same as KAID unless the user is anonymous


includesDistrictOwnedData

includesDistrictOwnedData: boolean

Defined in: src/types/schema.ts:68


includesK4dDistrictOwnedData

includesK4dDistrictOwnedData: boolean

Defined in: src/types/schema.ts:69


includesKmapDistrictOwnedData

includesKmapDistrictOwnedData: boolean

Defined in: src/types/schema.ts:70


isActor

isActor: boolean

Defined in: src/types/schema.ts:72


isAIGuideEnabled

isAIGuideEnabled: boolean

Defined in: src/types/schema.ts:71


isChild

isChild: null | boolean

Defined in: src/types/schema.ts:73


isCoachedByActor

isCoachedByActor: boolean

Defined in: src/types/schema.ts:74


isCoachingLoggedInUser

isCoachingLoggedInUser: boolean

Defined in: src/types/schema.ts:75


isCreator

isCreator: null | boolean

Defined in: src/types/schema.ts:76


isCurator

isCurator: null | boolean

Defined in: src/types/schema.ts:77


isDataCollectible

isDataCollectible: null | boolean

Defined in: src/types/schema.ts:78


isDeveloper

isDeveloper: null | boolean

Defined in: src/types/schema.ts:79


isFormalTeacher

isFormalTeacher: null | boolean

Defined in: src/types/schema.ts:80


isK4dStudent

isK4dStudent: null | boolean

Defined in: src/types/schema.ts:81


isKmapStudent

isKmapStudent: null | boolean

Defined in: src/types/schema.ts:82


isMidsignupPhantom

isMidsignupPhantom: boolean

Defined in: src/types/schema.ts:83


isModerator

isModerator: null | boolean

Defined in: src/types/schema.ts:84


isOrphan

isOrphan: null | boolean

Defined in: src/types/schema.ts:85


isParent

isParent: null | boolean

Defined in: src/types/schema.ts:86


isPhantom

isPhantom: boolean

Defined in: src/types/schema.ts:87


isPublisher

isPublisher: null | boolean

Defined in: src/types/schema.ts:88


isSatStudent

isSatStudent: null | boolean

Defined in: src/types/schema.ts:89


isSelf

isSelf: boolean

Defined in: src/types/schema.ts:90


isTeacher

isTeacher: null | boolean

Defined in: src/types/schema.ts:91


joined

joined: string

Defined in: src/types/schema.ts:92


kaid

kaid: "" | `kaid_${number}`

Defined in: src/types/schema.ts:96

Will always be a string if requested in the GraphQL query. Defaults to empty string ('') for anonymous users.


key

key: null | string

Defined in: src/types/schema.ts:97


lastLoginCountry

lastLoginCountry: null | string

Defined in: src/types/schema.ts:98


muteVideos

muteVideos: null | boolean

Defined in: src/types/schema.ts:99


newNotificationCount

newNotificationCount: null | number

Defined in: src/types/schema.ts:100


nickname

nickname: null | string

Defined in: src/types/schema.ts:101


noColorInVideos

noColorInVideos: null | boolean

Defined in: src/types/schema.ts:102


pendingEmailVerifications

pendingEmailVerifications: null | PendingEmailVerificationSchema[]

Defined in: src/types/schema.ts:103


points

points: number

Defined in: src/types/schema.ts:104


preferredKaLocale

preferredKaLocale: null | LocaleSchema

Defined in: src/types/schema.ts:105


prefersReducedMotion

prefersReducedMotion: null | boolean

Defined in: src/types/schema.ts:106


profile

profile: ProfileData

Defined in: src/types/schema.ts:107


profileRoot

profileRoot: null | `/profile/${string}/`

Defined in: src/types/schema.ts:111

Defaults to null for anonymous users.


programs

programs: ListProgramsData

Defined in: src/types/schema.ts:112


qualarooId

qualarooId: null | `kaid_${number}` | `_gae_bingo_random:${string}`

Defined in: src/types/schema.ts:120

Either Qualaroo ID or KAID

https://github.com/kamens/gae_bingo

Deprecated

Since 2023-04-24


region

region: unknown

Defined in: src/types/schema.ts:121


shouldShowAgeCheck

shouldShowAgeCheck: null | boolean

Defined in: src/types/schema.ts:122


showCaptions

showCaptions: null | boolean

Defined in: src/types/schema.ts:123


signupDataIfUnverified

signupDataIfUnverified: unknown

Defined in: src/types/schema.ts:124


soundOn

soundOn: null | boolean

Defined in: src/types/schema.ts:125


tosAccepted

tosAccepted: null | boolean

Defined in: src/types/schema.ts:126


transferAuthToken

transferAuthToken: string

Defined in: src/types/schema.ts:127


underAgeGate

underAgeGate: unknown

Defined in: src/types/schema.ts:128


userId

userId: `kaid_${number}` | `http://googleid.khanacademy.org/${number}`

Defined in: src/types/schema.ts:132

Either Google ID or KAID


username

username: string

Defined in: src/types/schema.ts:134


userSummaryIsVisibleToActor

userSummaryIsVisibleToActor: boolean

Defined in: src/types/schema.ts:133