UNPKG

@accounts/mikro-orm

Version:
31 lines (30 loc) 1.37 kB
import { type Ref, EntitySchema } from '@mikro-orm/core'; import { type IUser, type UserCtor } from './User'; export declare class Session<CustomUser extends IUser<any, any, any>> { id: number; createdAt: Date; updatedAt: Date; user: Ref<CustomUser>; token: string; valid: boolean; userAgent?: string; ip?: string; extra?: object; constructor({ user, token, valid, userAgent, ip, extra }: SessionCtorArgs<CustomUser>); } export type SessionCtorArgs<CustomUser extends IUser<any, any, any>> = { user: CustomUser; token: string; valid: boolean; userAgent?: string | null; ip?: string | null; extra?: object; }; export type SessionCtor<CustomUser extends IUser<any, any, any>, CustomSessionCtorArgs extends SessionCtorArgs<CustomUser> = SessionCtorArgs<CustomUser>> = new (args: CustomSessionCtorArgs) => Session<CustomUser>; export declare const getSessionCtor: <CustomUser extends IUser<any, any, any>, CustomSessionCtorArgs extends SessionCtorArgs<CustomUser> = SessionCtorArgs<CustomUser>>({ abstract, }?: { abstract?: boolean | undefined; }) => SessionCtor<CustomUser, CustomSessionCtorArgs>; export declare const getSessionSchema: ({ UserEntity, abstract, }?: { UserEntity?: UserCtor<any, any, any, any> | undefined; abstract?: boolean | undefined; }) => EntitySchema<Session<any>, never>;