UNPKG

payload-authjs

Version:
86 lines (85 loc) 3.07 kB
import { type AdapterAccount, type AdapterAuthenticator, type AdapterSession, type AdapterUser, type VerificationToken as AdapterVerificationToken } from "next-auth/adapters"; import type { DataFromCollectionSlug } from "payload"; import type { AuthCollectionSlug } from "../../payload/plugin"; type User = Omit<DataFromCollectionSlug<AuthCollectionSlug>, "createdAt" | "updatedAt">; type Account = NonNullable<User["accounts"]>[0]; type Session = NonNullable<User["sessions"]>[0]; type VerificationToken = NonNullable<User["verificationTokens"]>[0]; type Authenticator = NonNullable<User["authenticators"]>[0]; /** * Transform payload objects and adapter objects back and forth * * @see https://authjs.dev/guides/creating-a-database-adapter#official-adapter-guidelines */ export declare const transform: { user: { /** * Modifications: * - ~`accounts`~ * - ~`sessions`~ * - ~`verificationTokens`~ * - ~`authenticators`~ */ toAdapter: (user: User) => AdapterUser; /** * No modifications */ fromAdapter: (adapterUser: AdapterUser) => Omit<User, "accounts" | "sessions" | "verificationTokens" | "authenticators">; /** * No modifications */ fromPartialAdapter: (adapterUser: Partial<AdapterUser>) => Partial<Omit<User, "accounts" | "sessions" | "verificationTokens" | "authenticators">>; }; account: { /** * Modifications: * - `user.id` --> `userId` */ toAdapter: (user: Pick<User, "id">, account: Account) => AdapterAccount; /** * Modifications: * - ~`userId`~ */ fromAdapter: (adapterAccount: AdapterAccount) => Account; }; session: { toAdapter: (user: Pick<User, "id">, session: Session) => AdapterSession; /** * Modifications: * - ~`userId`~ */ fromAdapter: (adapterSession: AdapterSession) => Session; /** * Modifications: * - ~`userId`~ */ fromPartialAdapter: (adapterSession: Partial<AdapterSession>) => Partial<Session>; }; verificationToken: { /** * Modifications: * - `user.email` --> `identifier` */ toAdapter: (user: Pick<User, "email">, verificationToken: VerificationToken) => AdapterVerificationToken; /** * Modifications: * - ~`identifier`~ */ fromAdapter: (adapterVerificationToken: AdapterVerificationToken) => VerificationToken; }; authenticator: { /** * Modifications: * - `user.id` --> `userId` * - `authenticator.credentialID` --> `providerAccountId` */ toAdapter: (user: Pick<User, "id">, authenticator: Authenticator) => AdapterAuthenticator; /** * Modifications: * - ~`userId`~ * - ~`providerAccountId`~ */ fromAdapter: (adapterAuthenticator: AdapterAuthenticator) => Authenticator; }; }; export {};