Interface ModelQueryBuilder<TData, TVirtual, TInstance, TRelations>

interface ModelQueryBuilder<
    TData extends JsonObject,
    TVirtual extends JsonObject,
    TInstance extends ModelInstance<TData, TVirtual>,
    TRelations extends string = string,
> {
    aggregateGrouped(
        func: "COUNT" | "AVG" | "SUM" | "MIN" | "MAX",
        options?: { aggregateField?: string },
    ): Promise<Map<string, number>>;
    average(field: string): Promise<number>;
    between(
        startDate: Date,
        endDate: Date,
        options?: JsonObject,
    ): ModelQueryBuilder<TData, TVirtual, TInstance, TRelations>;
    contains(
        field: string,
        value: unknown,
    ): ModelQueryBuilder<TData, TVirtual, TInstance, TRelations>;
    count(): Promise<number>;
    delete(): Promise<number>;
    deleteById(id: string): Promise<number>;
    first(): Promise<TInstance>;
    getJoin(
        joinSpec: Partial<Record<TRelations, boolean | JsonObject>>,
    ): ModelQueryBuilder<TData, TVirtual, TInstance, TRelations>;
    groupBy(
        fields: string | string[],
    ): ModelQueryBuilder<TData, TVirtual, TInstance, TRelations>;
    includeSensitive(
        fields: string | string[],
    ): ModelQueryBuilder<TData, TVirtual, TInstance, TRelations>;
    limit(
        count: number,
    ): ModelQueryBuilder<TData, TVirtual, TInstance, TRelations>;
    orderBy(
        field: string,
        direction?: "ASC" | "DESC",
    ): ModelQueryBuilder<TData, TVirtual, TInstance, TRelations>;
    orderByRelation(
        relation: TRelations,
        field: string,
        direction?: "ASC" | "DESC",
    ): ModelQueryBuilder<TData, TVirtual, TInstance, TRelations>;
    run(): Promise<TInstance[]>;
    [key: string]: unknown;
}

Type Parameters

Hierarchy

Indexable

  • [key: string]: unknown

Methods

  • Parameters

    • func: "COUNT" | "AVG" | "SUM" | "MIN" | "MAX"
    • Optionaloptions: { aggregateField?: string }

    Returns Promise<Map<string, number>>