@athenna/database
Version:
The Athenna database handler for SQL/NoSQL.
31 lines (30 loc) • 1.11 kB
TypeScript
/**
* @athenna/database
*
* (c) João Lenon <lenon@athenna.io>
*
* For the full copyright and license information, please view the LICENSE
* file that was distributed with this source code.
*/
import type { BaseModel } from '#src/models/BaseModel';
import type { HasManyThroughOptions } from '#src/types';
import type { Driver } from '#src/database/drivers/Driver';
export declare class HasManyThroughRelation {
/**
* Get the options with defined default values.
*/
static options(Parent: typeof BaseModel, relation: HasManyThroughOptions): HasManyThroughOptions;
/**
* Load a has many through relation.
*/
static load(model: BaseModel, relation: HasManyThroughOptions): Promise<any>;
/**
* Load all models that has many through relation.
*/
static loadAll(models: BaseModel[], relation: HasManyThroughOptions): Promise<any[]>;
/**
* Apply a where has relation to the query when the given model
* has many through relations.
*/
static whereHas(Model: typeof BaseModel, query: Driver, relation: HasManyThroughOptions): void;
}