Skip to content

User

ROLE_ACCESS_LEVELS = {UserRoles.ADMIN: 1000, UserRoles.PREMIUM: 100, UserRoles.BASIC: 10, UserRoles.PUBLIC: 0} module-attribute

BasicUserInfo

Bases: SchemaBase

Minimal version of User for use with Auth state etc.

clerk_id instance-attribute

credits instance-attribute

id instance-attribute

is_admin property

roles instance-attribute

from_user(user) classmethod

UserRoles

Bases: Enum

ADMIN = 'ADMIN' class-attribute instance-attribute

BASIC = 'BASIC' class-attribute instance-attribute

PREMIUM = 'PREMIUM' class-attribute instance-attribute

PUBLIC = 'PUBLIC' class-attribute instance-attribute

UserSchema

Bases: DatabaseSchemaMixin, SchemaBase

clerk_id instance-attribute

conversations = Field(default_factory=list) class-attribute instance-attribute

credits = 0 class-attribute instance-attribute

email instance-attribute

first_name instance-attribute

github_api_key = None class-attribute instance-attribute

last_name instance-attribute

new_instance_on_change = False class-attribute

purchases = Field(default_factory=list) class-attribute instance-attribute

roles instance-attribute

from_signup(clerk_id, email, first_name, last_name) classmethod