UNPKG

json-api-nestjs

Version:
45 lines (44 loc) 3.01 kB
import { EntityClass, EntityKey, EntityProperty, type QBFilterQuery, QBQueryOrderMap, EntityData } from '@mikro-orm/core'; import { Knex, SqlEntityManager, QueryBuilder } from '@mikro-orm/knex'; import { EntityRelation } from '../../../utils/nestjs-shared'; import { ObjectLiteral } from '../../../types'; import { Query, QueryOne, Relationships } from '../../mixin/zod'; import { InputValidateData, ValidateReturn } from '../../type-orm/service'; export declare class MicroOrmUtilService<E extends ObjectLiteral> { readonly entityManager: SqlEntityManager; private entityRepository; readonly entity: EntityClass<E>; private _relationsName; private _relationMap; private _relationPropsMap; get relationsName(): EntityKey<E, false>[]; getRelationProps(entity: EntityClass<E>): EntityKey<E, false>[]; getRelation(name: EntityKey<E, false>): EntityProperty<E, any>; get currentAlias(): string; get metadata(): import("@mikro-orm/core").EntityMetadata<E>; get currentPrimaryColumn(): EntityKey<E, false>; get defaultOrder(): QBQueryOrderMap<E>; getAliasForEntity<T = E>(entity: EntityClass<T>): string; getAliasForPivotTable<T = E>(relName: keyof T): string; getAliasForPivotTable<T = E>(entity: EntityClass<T>, relName: keyof T): string; queryBuilder<T extends ObjectLiteral = E>(entity: EntityClass<T>, alias: string): QueryBuilder<T, typeof alias>; queryBuilder<T extends ObjectLiteral = E>(entity: EntityClass<T>): QueryBuilder<T, string>; queryBuilder<T extends ObjectLiteral = E>(alias: string): QueryBuilder<T, typeof alias>; queryBuilder<T extends ObjectLiteral = E>(): QueryBuilder<T, string>; getFilterExpressionForTarget<T extends ObjectLiteral = E>(query: Query<T>): QBFilterQuery<T>[]; getConditionalForJoin<T extends ObjectLiteral = E>(query: Query<T>, key: string): QBFilterQuery; private extractedResultOperand; getFilterExpressionForRelation<T extends ObjectLiteral = E>(query: Query<T>): QBFilterQuery<T>[]; getKnex(): Knex<E, E[]>; prePareQueryBuilder(queryBuilder: QueryBuilder<E>, query: Query<E> | QueryOne<E>): QueryBuilder<E>; getPrimaryNameFor(rel: EntityRelation<E>): EntityKey<E, false>; private getFilterObject; private getSubQueryForRelation; private getInverseFieldForManyToMany; createEntity(params: EntityData<E>): E; private asyncIterateFindRelationships; saveEntity(targetInstance: E, relationships?: Relationships<E>): Promise<E>; validateRelationInputData<Rel extends EntityRelation<E>, In extends InputValidateData | InputValidateData[]>(rel: Rel, inputData: In): Promise<ValidateReturn<In>>; validateRelationInputData<Rel extends EntityRelation<E>, In extends InputValidateData | InputValidateData[]>(rel: Rel, inputData: In): Promise<ValidateReturn<In>>; validateRelationInputData<Rel extends EntityRelation<E>, In extends null | InputValidateData | InputValidateData[]>(rel: Rel, inputData: In): Promise<ValidateReturn<In>>; }