Interface iProfileDoc<T>

interface iProfileDoc<T> {
    _docId: string;
    _id?: string;
    approvedSignInMethods?: {
        addresses?: {
            address: string;
            scopes: OAuthScopeDetails[];
        }[];
        discord?: {
            discriminator?: string;
            id: string;
            scopes: OAuthScopeDetails[];
            username: string;
        };
        github?: {
            id: string;
            scopes: OAuthScopeDetails[];
            username: string;
        };
        google?: {
            id: string;
            scopes: OAuthScopeDetails[];
            username: string;
        };
        passwords?: {
            passwordHash: string;
            salt: string;
            scopes: OAuthScopeDetails[];
        }[];
        twitter?: {
            id: string;
            scopes: OAuthScopeDetails[];
            username: string;
        };
    };
    bannerImage?: string;
    createdAt?: T;
    customLinks?: iCustomLink[];
    customPages?: {
        attestations: iCustomListPage[];
        badges: iCustomPage<T>[];
        lists: iCustomListPage[];
    };
    discord?: string;
    embeddedWalletAddress?: string;
    fetchedProfile?: "full" | "partial";
    github?: string;
    hiddenBadges?: iBatchBadgeDetails<T>[];
    hiddenLists?: string[];
    latestSignedInChain?: SupportedChain;
    notifications?: iNotificationPreferences<T>;
    profilePicUrl?: string;
    readme?: string;
    seenActivity?: T;
    socialConnections?: iSocialConnections<T>;
    solAddress?: string;
    telegram?: string;
    twitter?: string;
    username?: string;
    watchlists?: {
        attestations: iCustomListPage[];
        badges: iCustomPage<T>[];
        lists: iCustomListPage[];
    };
}

Type Parameters

Hierarchy (view full)

Implemented by

Properties

_docId: string

A unique stringified document ID

_id?: string

A unique document ID (Mongo DB ObjectID)

approvedSignInMethods?: {
    addresses?: {
        address: string;
        scopes: OAuthScopeDetails[];
    }[];
    discord?: {
        discriminator?: string;
        id: string;
        scopes: OAuthScopeDetails[];
        username: string;
    };
    github?: {
        id: string;
        scopes: OAuthScopeDetails[];
        username: string;
    };
    google?: {
        id: string;
        scopes: OAuthScopeDetails[];
        username: string;
    };
    passwords?: {
        passwordHash: string;
        salt: string;
        scopes: OAuthScopeDetails[];
    }[];
    twitter?: {
        id: string;
        scopes: OAuthScopeDetails[];
        username: string;
    };
}

Approved ways to sign in

bannerImage?: string

The banner image URL of the account

createdAt?: T

The timestamp of when this account was created (milliseconds since epoch)

customLinks?: iCustomLink[]

The custom links of the account

customPages?: {
    attestations: iCustomListPage[];
    badges: iCustomPage<T>[];
    lists: iCustomListPage[];
}

The custom pages of the account

discord?: string

The Discord username of the account

embeddedWalletAddress?: string

Embedded wallet address

fetchedProfile?: "full" | "partial"

Whether we have already fetched the profile or not

github?: string

The GitHub username of the account

hiddenBadges?: iBatchBadgeDetails<T>[]

The hidden badges of the account

hiddenLists?: string[]

The hidden lists of the account

latestSignedInChain?: SupportedChain

The latest chain the user signed in with

notifications?: iNotificationPreferences<T>

The notifications of the account

profilePicUrl?: string

The profile picture URL of the account

readme?: string

The readme of the account

seenActivity?: T

The timestamp of the last activity seen for this account (milliseconds since epoch)

socialConnections?: iSocialConnections<T>

Social connections stored for the account

solAddress?: string

The Solana address of the profile, if applicable (bc we need it to convert)

telegram?: string

The Telegram username of the account

twitter?: string

The Twitter username of the account

username?: string

The username of the account

watchlists?: {
    attestations: iCustomListPage[];
    badges: iCustomPage<T>[];
    lists: iCustomListPage[];
}

The watched lists of the account's portfolio