2022-04-06 20:35:34 -07:00
import datetime
2023-11-28 23:50:50 -08:00
from typing import Optional
2022-04-06 20:35:34 -07:00
2023-11-28 23:50:50 -08:00
from pydantic import BaseModel
2022-04-06 20:35:34 -07:00
2024-01-06 14:56:45 -08:00
from . . models . block_reason import BlockReason
2023-11-27 16:01:20 -08:00
from . . models . uuid import Uuid
2022-04-06 20:35:34 -07:00
2023-11-27 16:01:20 -08:00
2023-11-28 23:50:50 -08:00
class ExtendedUser ( BaseModel ) :
2023-11-27 16:01:20 -08:00
""" Extended user information.
2024-01-06 14:56:45 -08:00
This is mostly used for internal purposes . It returns a mapping of the user ' s information, including that of our third party services we use for users: MailChimp | Stripe
2023-11-28 23:50:50 -08:00
"""
2024-01-06 14:56:45 -08:00
block : Optional [ BlockReason ] = None
2023-11-28 23:50:50 -08:00
company : Optional [ str ] = None
created_at : datetime . datetime
discord : Optional [ str ] = None
email : Optional [ str ] = None
email_verified : Optional [ datetime . datetime ] = None
first_name : Optional [ str ] = None
front_id : Optional [ str ] = None
github : Optional [ str ] = None
id : Uuid
image : str
last_name : Optional [ str ] = None
mailchimp_id : Optional [ str ] = None
name : Optional [ str ] = None
2023-11-29 00:39:14 -08:00
phone : Optional [ str ] = None
2023-11-28 23:50:50 -08:00
stripe_id : Optional [ str ] = None
updated_at : datetime . datetime