@accounts/mikro-orm
Version:
MikroORM adaptor for accounts
31 lines (30 loc) • 1.37 kB
TypeScript
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>;