34 lines
1.7 KiB
TypeScript
34 lines
1.7 KiB
TypeScript
import { OperateOption, EntityDict, SelectOption } from 'oak-domain/lib/types';
|
|
import { EntityDict as BaseEntityDict } from 'oak-domain/lib/base-app-domain';
|
|
import { AsyncContext } from 'oak-domain/lib/store/AsyncRowStore';
|
|
export declare function operate<ED extends BaseEntityDict & EntityDict, T extends keyof ED, OP extends OperateOption>(params: {
|
|
entity: T;
|
|
operation: ED[T]['Operation'] | ED[T]['Operation'][];
|
|
option?: OP;
|
|
}, context: AsyncContext<ED>): Promise<import("oak-domain/lib/types").OperationResult<ED> | Awaited<import("oak-domain/lib/types").OperationResult<ED>>[]>;
|
|
export declare function select<ED extends BaseEntityDict & EntityDict, T extends keyof ED, OP extends SelectOption>(params: {
|
|
entity: T;
|
|
selection: ED[T]['Selection'];
|
|
option?: OP;
|
|
getCount?: true;
|
|
maxCount?: number;
|
|
}, context: AsyncContext<ED>): Promise<{
|
|
data: Record<string, any>;
|
|
total?: number | undefined;
|
|
}>;
|
|
export declare function aggregate<ED extends BaseEntityDict & EntityDict, T extends keyof ED, OP extends SelectOption>(params: {
|
|
entity: T;
|
|
aggregation: ED[T]['Aggregation'];
|
|
option?: OP;
|
|
}, context: AsyncContext<ED>): Promise<import("oak-domain/lib/types").AggregationResult<ED[T]["Schema"]>>;
|
|
export declare function fetchRows<ED extends EntityDict & BaseEntityDict, OP extends SelectOption>(params: Array<{
|
|
entity: keyof ED;
|
|
selection: ED[keyof ED]['Selection'];
|
|
option?: OP;
|
|
}>, context: AsyncContext<ED>): Promise<void>;
|
|
export declare function count<ED extends EntityDict & BaseEntityDict, T extends keyof ED, OP extends SelectOption>(params: {
|
|
entity: T;
|
|
selection: Pick<ED[T]['Selection'], 'filter'>;
|
|
option?: OP;
|
|
}, context: AsyncContext<ED>): Promise<number>;
|