UNPKG

@cheetah.js/orm

Version:
40 lines (39 loc) 1.8 kB
import { Statement, Relationship, FilterQuery, DriverInterface } from '../driver/driver.interface'; import { EntityStorage, Options } from '../domain/entities'; import { SqlConditionBuilder } from './sql-condition-builder'; import { SqlColumnManager } from './sql-column-manager'; import { ModelTransformer } from './model-transformer'; import { LoggerService } from '@cheetah.js/core'; export declare class SqlJoinManager<T> { private entityStorage; private statements; private entity; private model; private driver; private logger; private conditionBuilder; private columnManager; private modelTransformer; private getOriginalColumnsCallback; private getAliasCallback; constructor(entityStorage: EntityStorage, statements: Statement<T>, entity: Options, model: new () => T, driver: DriverInterface, logger: LoggerService, conditionBuilder: SqlConditionBuilder<T>, columnManager: SqlColumnManager, modelTransformer: ModelTransformer, getOriginalColumnsCallback: () => string[], getAliasCallback: (tableName: string) => string); addJoinForRelationshipPath(relationshipPath: string): void; applyJoin(relationShip: Relationship<any>, value: FilterQuery<any>, alias: string): string; handleSelectJoin(entities: any, models: any): Promise<void>; getPathForSelectJoin(selectJoin: Statement<any>): string[] | null; private buildJoinOn; private addJoinedJoin; private addSelectJoin; private processSelectJoin; private getIds; private updateJoinWhere; private updateJoinColumns; private attachJoinResults; private setValueByPath; private getPathForSelectJoinRecursive; private findIdRecursively; private getFkKey; private getTableName; private getPrimaryKey; private formatValue; }