UNPKG

@accounts/mikro-orm

Version:
51 lines (50 loc) 3.53 kB
import { type ConnectionInformations, type CreateUser, type DatabaseInterface } from '@accounts/types'; import { type IUser } from './entity/User'; import { Email } from './entity/Email'; import { Service } from './entity/Service'; import { Session } from './entity/Session'; import { type Constructor } from '@mikro-orm/core'; import { type User as AccountsUser } from '@accounts/types/lib/types/user'; import { type Session as ISession } from '@accounts/types/lib/types/session/session'; export declare class AccountsMikroOrm<CustomUser extends IUser<any, any, any>, CustomEmail extends Email<any>, CustomSession extends Session<any>, CustomService extends Service<any>> implements DatabaseInterface { private context?; private get em(); private UserEntity; private EmailEntity; private ServiceEntity; private SessionEntity; private get userRepository(); private get emailRepository(); private get serviceRepository(); private get sessionRepository(); constructor(EmailEntity?: Constructor<CustomEmail | Email<any>>, ServiceEntity?: Constructor<CustomService | Service<any>>, SessionEntity?: Constructor<CustomSession | Session<any>>, UserEntity?: Constructor<CustomUser | IUser<any, any, any>>); findUserByEmail(email: string): Promise<AccountsUser | null>; findUserByUsername(username: string): Promise<AccountsUser | null>; findUserById(userId: string): Promise<AccountsUser | null>; findUserByResetPasswordToken(token: string): Promise<AccountsUser | null>; findUserByEmailVerificationToken(token: string): Promise<AccountsUser | null>; createUser({ username, email, password, ...otherFields }: CreateUser): Promise<string>; setUsername(userId: string, newUsername: string): Promise<void>; findUserByServiceId(serviceName: string, serviceId: string): Promise<AccountsUser | null>; setService(userId: string, serviceName: string, data: object, token?: string, flush?: boolean): Promise<void>; unsetService(userId: string, serviceName: string): Promise<void>; findPasswordHash(userId: string): Promise<string | null>; setPassword(userId: string, newPassword: string, flush?: boolean): Promise<void>; addResetPasswordToken(userId: string, email: string, token: string, reason: string): Promise<void>; setResetPassword(userId: string, email: string, newPassword: string): Promise<void>; addEmail(userId: string, newEmail: string, verified: boolean): Promise<void>; removeEmail(userId: string, email: string): Promise<void>; verifyEmail(userId: string, email: string): Promise<void>; addEmailVerificationToken(userId: string, email: string, token: string): Promise<void>; removeAllResetPasswordTokens(userId: string): Promise<void>; setUserDeactivated(userId: string, deactivated: boolean): Promise<void>; findSessionById(sessionId: string): Promise<ISession | null>; findSessionByToken(token: string): Promise<ISession | null>; findUserByLoginToken(token: string): Promise<AccountsUser | null>; addLoginToken(userId: string, email: string, token: string): Promise<void>; removeAllLoginTokens(userId: string): Promise<void>; createSession(userId: string, token: string, connection?: ConnectionInformations, extra?: object): Promise<string>; updateSession(sessionId: string, connection: ConnectionInformations): Promise<void>; invalidateSession(sessionId: string): Promise<void>; invalidateAllSessions(userId: string, excludedSessionIds?: string[]): Promise<void>; }