Interface AuthJsAdapter

The methods of Auth.js's Adapter this adapter implements.

interface AuthJsAdapter {
    createUser(user: Omit<AuthJsUser, "id"> & {
        id?: string;
    }): Promise<AuthJsUser>;
    getUser(id: string): Promise<null | AuthJsUser>;
    getUserByEmail(email: string): Promise<null | AuthJsUser>;
    getUserByAccount(account: Pick<AuthJsAccount, "provider" | "providerAccountId">): Promise<null | AuthJsUser>;
    updateUser(user: Partial<AuthJsUser> & Pick<AuthJsUser, "id">): Promise<AuthJsUser>;
    deleteUser(userId: string): Promise<null | AuthJsUser>;
    linkAccount(account: AuthJsAccount): Promise<AuthJsAccount>;
    unlinkAccount(account: Pick<AuthJsAccount, "provider" | "providerAccountId">): Promise<void>;
    getAccount(providerAccountId: string, provider: string): Promise<null | AuthJsAccount>;
    createSession(session: AuthJsSession): Promise<AuthJsSession>;
    getSessionAndUser(sessionToken: string): Promise<null | {
        session: AuthJsSession;
        user: AuthJsUser;
    }>;
    updateSession(session: Partial<AuthJsSession> & Pick<AuthJsSession, "sessionToken">): Promise<null | AuthJsSession>;
    deleteSession(sessionToken: string): Promise<void>;
    createVerificationToken(token: AuthJsVerificationToken): Promise<AuthJsVerificationToken>;
    useVerificationToken(params: {
        identifier: string;
        token: string;
    }): Promise<null | AuthJsVerificationToken>;
}

Methods