@accounts/module-mikro-orm
Version:
MikroORM Database Interface GraphQL Module
15 lines (14 loc) • 1.36 kB
TypeScript
import { type Email, type Session, type Service, type IUser } from '@accounts/mikro-orm';
import { type Connection, type Constructor, EntityManager, type IDatabaseDriver } from '@mikro-orm/core';
import { type DatabaseType } from '@accounts/types';
export * from './types';
export * from './utils';
export interface AccountsMikroORMModuleConfig<CustomUser extends IUser<CustomEmail, CustomSession, CustomService>, CustomEmail extends Email<CustomUser>, CustomSession extends Session<CustomUser>, CustomService extends Service<CustomUser>> {
em?: EntityManager<IDatabaseDriver<Connection>>;
type?: DatabaseType.Both;
UserEntity?: Constructor<CustomUser | IUser<CustomEmail, CustomSession, CustomService>>;
EmailEntity?: Constructor<CustomEmail | Email<CustomUser>>;
SessionEntity?: Constructor<CustomSession | Session<CustomUser>>;
ServiceEntity?: Constructor<CustomService | Service<CustomUser>>;
}
export declare const createAccountsMikroORMModule: <CustomUser extends IUser<CustomEmail, CustomSession, CustomService>, CustomEmail extends Email<CustomUser>, CustomSession extends Session<CustomUser>, CustomService extends Service<CustomUser>>({ em, EmailEntity, SessionEntity, ServiceEntity, UserEntity, }?: AccountsMikroORMModuleConfig<CustomUser, CustomEmail, CustomSession, CustomService>) => import("graphql-modules").Module;