Skip to main content
Version: 6.0.X

Overriding Functions

Main interface#

interface RecipeInterface {    /*     * Called to get user info based on userId    *     * @params: userId    *     * @returns: user object if a user is found for the given userId, else undefined    */    getUserById(input: { userId: string }): Promise<User | undefined>;
    /*     * Called to get user info based on thirdparty info    *     * @params: thirdPartyId: third party provider id, e.g. "google"    *          thirdPartyUserId: userId that was given by the third party provider    *     * @returns: user object if a user is found for the given userId, else undefined    */    getUserByThirdPartyInfo(input: { thirdPartyId: string; thirdPartyUserId: string }): Promise<User | undefined>;
    /*     * Called to get list of users in ascending order based on their timeJoined    *     * @params: limit (optional) is the number    *          nextPaginationToken (optional) is the pagination token    *     * @returns: See the type definition below    */    getUsersOldestFirst(input: {        limit?: number;        nextPaginationToken?: string;    }): Promise<{        users: User[];        nextPaginationToken?: string;    }>;
    /*     * Called to get list of users in descending order based on their timeJoined    *     * @params: limit (optional) is the number    *          nextPaginationToken (optional) is the pagination token    *     * @returns: See the type definition below    */    getUsersNewestFirst(input: {        limit?: number;        nextPaginationToken?: string;    }): Promise<{        users: User[];        nextPaginationToken?: string;    }>;
    /*     * Called to get total count of the user    */    getUserCount(): Promise<number>;
    /*     * Called to sign-up/sign-in a user    *     * @params: email: an object containing email id and boolean stating if email is verified or not    *          thirdPartyId: third party provider id, e.g. "google"    *          thirdPartyUserId: userId that was given by the third party provider    *     * @returns: "OK": on successfully signing up the user    *           "FIELD_ERROR": error in passing thridparty fields    */    signInUp(input: {        thirdPartyId: string;        thirdPartyUserId: string;        email: {            id: string;            isVerified: boolean;        };    }): Promise<        | { status: "OK"; createdNewUser: boolean; user: User }        | {              status: "FIELD_ERROR";              error: string;          }    >;}

Supporting Types#

interface User {    id: string;    timeJoined: number;    email: string;    thirdParty?: {        id: string;        userId: string;    };}