import {Inject} from '@nestjs/common';
import {ConnectionOptions, Connection} from '../orm';
import {getModelToken, getRepositoryToken, getConnectionToken} from './orm.utils';

export const InjectConnection: (conn?: Connection | ConnectionOptions | string) => ParameterDecorator = (
    conn?: Connection | ConnectionOptions | string,
) => Inject(getConnectionToken(conn));

export const InjectRepository = (entity: Function) => Inject(getRepositoryToken(entity));

export const InjectModel = (entity: Function) => Inject(getModelToken(entity));
