Merge branch '5.0' into dev

This commit is contained in:
Xu Chang 2024-04-16 12:38:55 +08:00
commit c987939e57
9 changed files with 66 additions and 68 deletions

21
es/AspectDict.d.ts vendored
View File

@ -2,18 +2,18 @@ import { EntityDict, OperateOption, SelectOption, OperationResult, AggregationRe
import { AmapInstance } from "oak-external-sdk/lib/service/amap/Amap"; import { AmapInstance } from "oak-external-sdk/lib/service/amap/Amap";
import { EntityDict as BaseEntityDict } from 'oak-domain/lib/base-app-domain'; import { EntityDict as BaseEntityDict } from 'oak-domain/lib/base-app-domain';
import { AsyncContext } from "oak-domain/lib/store/AsyncRowStore"; import { AsyncContext } from "oak-domain/lib/store/AsyncRowStore";
export declare type CommonAspectDict<ED extends EntityDict & BaseEntityDict, Cxt extends AsyncContext<ED>> = { export declare type AspectDict<ED extends EntityDict & BaseEntityDict> = {
operate: <T extends keyof ED, OP extends OperateOption>(params: { operate: <T extends keyof ED, OP extends OperateOption>(params: {
entity: T; entity: T;
operation: ED[T]['Operation'] | ED[T]['Operation'][]; operation: ED[T]['Operation'] | ED[T]['Operation'][];
option?: OP; option?: OP;
}, context: Cxt) => Promise<OperationResult<ED>[] | OperationResult<ED>>; }, context: AsyncContext<ED>) => Promise<OperationResult<ED>[] | OperationResult<ED>>;
select: <T extends keyof ED, OP extends SelectOption>(params: { select: <T extends keyof ED, OP extends SelectOption>(params: {
entity: T; entity: T;
selection: ED[T]['Selection']; selection: ED[T]['Selection'];
option?: OP; option?: OP;
getCount?: true; getCount?: true;
}, context: Cxt) => Promise<{ }, context: AsyncContext<ED>) => Promise<{
data: Record<string, any>; data: Record<string, any>;
total?: number; total?: number;
}>; }>;
@ -21,17 +21,17 @@ export declare type CommonAspectDict<ED extends EntityDict & BaseEntityDict, Cxt
entity: T; entity: T;
aggregation: ED[T]['Aggregation']; aggregation: ED[T]['Aggregation'];
option?: OP; option?: OP;
}, context: Cxt) => Promise<AggregationResult<ED[T]['Schema']>>; }, context: AsyncContext<ED>) => Promise<AggregationResult<ED[T]['Schema']>>;
count: <T extends keyof ED, OP extends SelectOption>(params: { count: <T extends keyof ED, OP extends SelectOption>(params: {
entity: T; entity: T;
selection: Pick<ED[T]['Selection'], 'filter'>; selection: Pick<ED[T]['Selection'], 'filter'>;
option?: OP; option?: OP;
}, context: Cxt) => Promise<number>; }, context: AsyncContext<ED>) => Promise<number>;
fetchRows: <OP extends SelectOption>(params: Array<{ fetchRows: <OP extends SelectOption>(params: Array<{
entity: keyof ED; entity: keyof ED;
selection: ED[keyof ED]['Selection']; selection: ED[keyof ED]['Selection'];
option?: OP; option?: OP;
}>, context: Cxt) => Promise<void>; }>, context: AsyncContext<ED>) => Promise<void>;
amap: <T extends 'getDrivingPath' | 'regeo' | 'ipLoc' | 'getDistrict' | 'geocode'>(params: { amap: <T extends 'getDrivingPath' | 'regeo' | 'ipLoc' | 'getDistrict' | 'geocode'>(params: {
key: string; key: string;
method: T; method: T;
@ -41,16 +41,16 @@ export declare type CommonAspectDict<ED extends EntityDict & BaseEntityDict, Cxt
namespace: string | string[]; namespace: string | string[];
locale: string; locale: string;
}) => Promise<any>; }) => Promise<any>;
importEntity: (params: FormData, context: Cxt) => Promise<void | ArrayBuffer>; importEntity: (params: FormData, context: AsyncContext<ED>) => Promise<void | ArrayBuffer>;
exportEntity: <T extends keyof ED>(params: { exportEntity: <T extends keyof ED>(params: {
entity: T; entity: T;
id: string; id: string;
filter?: ED[T]['Selection']['filter']; filter?: ED[T]['Selection']['filter'];
properties?: Record<string, any>; properties?: Record<string, any>;
}, context: Cxt) => Promise<ArrayBuffer>; }, context: AsyncContext<ED>) => Promise<ArrayBuffer>;
getImportationTemplate: (params: { getImportationTemplate: (params: {
id: string; id: string;
}, context: Cxt) => Promise<ArrayBuffer>; }, context: AsyncContext<ED>) => Promise<ArrayBuffer>;
searchPoi: (options: { searchPoi: (options: {
value: string; value: string;
areaCode?: string; areaCode?: string;
@ -66,8 +66,9 @@ export declare type CommonAspectDict<ED extends EntityDict & BaseEntityDict, Cxt
}[]>; }[]>;
loadRelations: (params: { loadRelations: (params: {
entities: (keyof ED)[]; entities: (keyof ED)[];
}, context: Cxt) => Promise<ED['userRelation']['OpSchema'][]>; }, context: AsyncContext<ED>) => Promise<ED['userRelation']['OpSchema'][]>;
crossBridge: (params: { crossBridge: (params: {
url: string; url: string;
}) => Promise<ReadableStream<Uint8Array>>; }) => Promise<ReadableStream<Uint8Array>>;
}; };
export default AspectDict;

20
es/crud.d.ts vendored
View File

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

4
es/relation.d.ts vendored
View File

@ -1,6 +1,6 @@
import { EntityDict } from 'oak-domain/lib/types'; import { EntityDict } from 'oak-domain/lib/types';
import { EntityDict as BaseEntityDict } from 'oak-domain/lib/base-app-domain'; import { EntityDict as BaseEntityDict } from 'oak-domain/lib/base-app-domain';
import { AsyncContext } from 'oak-domain/lib/store/AsyncRowStore'; import { AsyncContext } from 'oak-domain/lib/store/AsyncRowStore';
export declare function loadRelations<ED extends BaseEntityDict & EntityDict, Cxt extends AsyncContext<ED>>(params: { export declare function loadRelations<ED extends BaseEntityDict & EntityDict>(params: {
entities: (keyof ED)[]; entities: (keyof ED)[];
}, context: Cxt): Promise<ED["userRelation"]["OpSchema"][]>; }, context: AsyncContext<ED>): Promise<ED["userRelation"]["OpSchema"][]>;

21
lib/AspectDict.d.ts vendored
View File

@ -2,18 +2,18 @@ import { EntityDict, OperateOption, SelectOption, OperationResult, AggregationRe
import { AmapInstance } from "oak-external-sdk/lib/service/amap/Amap"; import { AmapInstance } from "oak-external-sdk/lib/service/amap/Amap";
import { EntityDict as BaseEntityDict } from 'oak-domain/lib/base-app-domain'; import { EntityDict as BaseEntityDict } from 'oak-domain/lib/base-app-domain';
import { AsyncContext } from "oak-domain/lib/store/AsyncRowStore"; import { AsyncContext } from "oak-domain/lib/store/AsyncRowStore";
export declare type CommonAspectDict<ED extends EntityDict & BaseEntityDict, Cxt extends AsyncContext<ED>> = { export declare type AspectDict<ED extends EntityDict & BaseEntityDict> = {
operate: <T extends keyof ED, OP extends OperateOption>(params: { operate: <T extends keyof ED, OP extends OperateOption>(params: {
entity: T; entity: T;
operation: ED[T]['Operation'] | ED[T]['Operation'][]; operation: ED[T]['Operation'] | ED[T]['Operation'][];
option?: OP; option?: OP;
}, context: Cxt) => Promise<OperationResult<ED>[] | OperationResult<ED>>; }, context: AsyncContext<ED>) => Promise<OperationResult<ED>[] | OperationResult<ED>>;
select: <T extends keyof ED, OP extends SelectOption>(params: { select: <T extends keyof ED, OP extends SelectOption>(params: {
entity: T; entity: T;
selection: ED[T]['Selection']; selection: ED[T]['Selection'];
option?: OP; option?: OP;
getCount?: true; getCount?: true;
}, context: Cxt) => Promise<{ }, context: AsyncContext<ED>) => Promise<{
data: Record<string, any>; data: Record<string, any>;
total?: number; total?: number;
}>; }>;
@ -21,17 +21,17 @@ export declare type CommonAspectDict<ED extends EntityDict & BaseEntityDict, Cxt
entity: T; entity: T;
aggregation: ED[T]['Aggregation']; aggregation: ED[T]['Aggregation'];
option?: OP; option?: OP;
}, context: Cxt) => Promise<AggregationResult<ED[T]['Schema']>>; }, context: AsyncContext<ED>) => Promise<AggregationResult<ED[T]['Schema']>>;
count: <T extends keyof ED, OP extends SelectOption>(params: { count: <T extends keyof ED, OP extends SelectOption>(params: {
entity: T; entity: T;
selection: Pick<ED[T]['Selection'], 'filter'>; selection: Pick<ED[T]['Selection'], 'filter'>;
option?: OP; option?: OP;
}, context: Cxt) => Promise<number>; }, context: AsyncContext<ED>) => Promise<number>;
fetchRows: <OP extends SelectOption>(params: Array<{ fetchRows: <OP extends SelectOption>(params: Array<{
entity: keyof ED; entity: keyof ED;
selection: ED[keyof ED]['Selection']; selection: ED[keyof ED]['Selection'];
option?: OP; option?: OP;
}>, context: Cxt) => Promise<void>; }>, context: AsyncContext<ED>) => Promise<void>;
amap: <T extends 'getDrivingPath' | 'regeo' | 'ipLoc' | 'getDistrict' | 'geocode'>(params: { amap: <T extends 'getDrivingPath' | 'regeo' | 'ipLoc' | 'getDistrict' | 'geocode'>(params: {
key: string; key: string;
method: T; method: T;
@ -41,16 +41,16 @@ export declare type CommonAspectDict<ED extends EntityDict & BaseEntityDict, Cxt
namespace: string | string[]; namespace: string | string[];
locale: string; locale: string;
}) => Promise<any>; }) => Promise<any>;
importEntity: (params: FormData, context: Cxt) => Promise<void | ArrayBuffer>; importEntity: (params: FormData, context: AsyncContext<ED>) => Promise<void | ArrayBuffer>;
exportEntity: <T extends keyof ED>(params: { exportEntity: <T extends keyof ED>(params: {
entity: T; entity: T;
id: string; id: string;
filter?: ED[T]['Selection']['filter']; filter?: ED[T]['Selection']['filter'];
properties?: Record<string, any>; properties?: Record<string, any>;
}, context: Cxt) => Promise<ArrayBuffer>; }, context: AsyncContext<ED>) => Promise<ArrayBuffer>;
getImportationTemplate: (params: { getImportationTemplate: (params: {
id: string; id: string;
}, context: Cxt) => Promise<ArrayBuffer>; }, context: AsyncContext<ED>) => Promise<ArrayBuffer>;
searchPoi: (options: { searchPoi: (options: {
value: string; value: string;
areaCode?: string; areaCode?: string;
@ -66,8 +66,9 @@ export declare type CommonAspectDict<ED extends EntityDict & BaseEntityDict, Cxt
}[]>; }[]>;
loadRelations: (params: { loadRelations: (params: {
entities: (keyof ED)[]; entities: (keyof ED)[];
}, context: Cxt) => Promise<ED['userRelation']['OpSchema'][]>; }, context: AsyncContext<ED>) => Promise<ED['userRelation']['OpSchema'][]>;
crossBridge: (params: { crossBridge: (params: {
url: string; url: string;
}) => Promise<ReadableStream<Uint8Array>>; }) => Promise<ReadableStream<Uint8Array>>;
}; };
export default AspectDict;

20
lib/crud.d.ts vendored
View File

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

4
lib/relation.d.ts vendored
View File

@ -1,6 +1,6 @@
import { EntityDict } from 'oak-domain/lib/types'; import { EntityDict } from 'oak-domain/lib/types';
import { EntityDict as BaseEntityDict } from 'oak-domain/lib/base-app-domain'; import { EntityDict as BaseEntityDict } from 'oak-domain/lib/base-app-domain';
import { AsyncContext } from 'oak-domain/lib/store/AsyncRowStore'; import { AsyncContext } from 'oak-domain/lib/store/AsyncRowStore';
export declare function loadRelations<ED extends BaseEntityDict & EntityDict, Cxt extends AsyncContext<ED>>(params: { export declare function loadRelations<ED extends BaseEntityDict & EntityDict>(params: {
entities: (keyof ED)[]; entities: (keyof ED)[];
}, context: Cxt): Promise<ED["userRelation"]["OpSchema"][]>; }, context: AsyncContext<ED>): Promise<ED["userRelation"]["OpSchema"][]>;

View File

@ -3,21 +3,21 @@ import { AmapInstance } from "oak-external-sdk/lib/service/amap/Amap";
import { EntityDict as BaseEntityDict } from 'oak-domain/lib/base-app-domain'; import { EntityDict as BaseEntityDict } from 'oak-domain/lib/base-app-domain';
import { AsyncContext } from "oak-domain/lib/store/AsyncRowStore"; import { AsyncContext } from "oak-domain/lib/store/AsyncRowStore";
export type CommonAspectDict<ED extends EntityDict & BaseEntityDict, Cxt extends AsyncContext<ED>> = { export type AspectDict<ED extends EntityDict & BaseEntityDict> = {
operate: <T extends keyof ED, OP extends OperateOption>( operate: <T extends keyof ED, OP extends OperateOption>(
params: { params: {
entity: T; entity: T;
operation: ED[T]['Operation'] | ED[T]['Operation'][]; operation: ED[T]['Operation'] | ED[T]['Operation'][];
option?: OP; option?: OP;
}, },
context: Cxt context: AsyncContext<ED>
) => Promise<OperationResult<ED>[] | OperationResult<ED>>; ) => Promise<OperationResult<ED>[] | OperationResult<ED>>;
select: < select: <
T extends keyof ED, T extends keyof ED,
OP extends SelectOption OP extends SelectOption
>( >(
params: { entity: T; selection: ED[T]['Selection']; option?: OP; getCount?: true }, params: { entity: T; selection: ED[T]['Selection']; option?: OP; getCount?: true },
context: Cxt context: AsyncContext<ED>
) => Promise<{ ) => Promise<{
data: Record<string, any>; data: Record<string, any>;
total?: number; total?: number;
@ -28,14 +28,14 @@ export type CommonAspectDict<ED extends EntityDict & BaseEntityDict, Cxt extends
aggregation: ED[T]['Aggregation']; aggregation: ED[T]['Aggregation'];
option?: OP; option?: OP;
}, },
context: Cxt context: AsyncContext<ED>
) => Promise<AggregationResult<ED[T]['Schema']>>; ) => Promise<AggregationResult<ED[T]['Schema']>>;
count: < count: <
T extends keyof ED, T extends keyof ED,
OP extends SelectOption OP extends SelectOption
>( >(
params: { entity: T; selection: Pick<ED[T]['Selection'], 'filter'>; option?: OP }, params: { entity: T; selection: Pick<ED[T]['Selection'], 'filter'>; option?: OP },
context: Cxt context: AsyncContext<ED>
) => Promise<number>; ) => Promise<number>;
fetchRows: <OP extends SelectOption>( fetchRows: <OP extends SelectOption>(
params: Array<{ params: Array<{
@ -43,7 +43,7 @@ export type CommonAspectDict<ED extends EntityDict & BaseEntityDict, Cxt extends
selection: ED[keyof ED]['Selection']; selection: ED[keyof ED]['Selection'];
option?: OP; option?: OP;
}>, }>,
context: Cxt context: AsyncContext<ED>
) => Promise<void>; ) => Promise<void>;
amap: < amap: <
T extends T extends
@ -61,14 +61,14 @@ export type CommonAspectDict<ED extends EntityDict & BaseEntityDict, Cxt extends
namespace: string | string[]; namespace: string | string[];
locale: string; locale: string;
}) => Promise<any>; }) => Promise<any>;
importEntity: (params: FormData, context: Cxt) => Promise<void | ArrayBuffer>; importEntity: (params: FormData, context: AsyncContext<ED>) => Promise<void | ArrayBuffer>;
exportEntity: <T extends keyof ED>(params: { exportEntity: <T extends keyof ED>(params: {
entity: T; entity: T;
id: string; id: string;
filter?: ED[T]['Selection']['filter']; filter?: ED[T]['Selection']['filter'];
properties?: Record<string, any>; properties?: Record<string, any>;
}, context: Cxt) => Promise<ArrayBuffer>; }, context: AsyncContext<ED>) => Promise<ArrayBuffer>;
getImportationTemplate: (params: { id: string }, context: Cxt) => Promise<ArrayBuffer>; getImportationTemplate: (params: { id: string }, context: AsyncContext<ED>) => Promise<ArrayBuffer>;
searchPoi: (options: { searchPoi: (options: {
value: string; value: string;
areaCode?: string; areaCode?: string;
@ -78,6 +78,8 @@ export type CommonAspectDict<ED extends EntityDict & BaseEntityDict, Cxt extends
}) => Promise<{ id: string; areaId: string; poiName: string; detail: string; coordinate: [number, number] }[]>; }) => Promise<{ id: string; areaId: string; poiName: string; detail: string; coordinate: [number, number] }[]>;
loadRelations: (params: { loadRelations: (params: {
entities: (keyof ED)[], entities: (keyof ED)[],
}, context: Cxt) => Promise<ED['userRelation']['OpSchema'][]>; }, context: AsyncContext<ED>) => Promise<ED['userRelation']['OpSchema'][]>;
crossBridge: (params: { url: string }) => Promise<ReadableStream<Uint8Array>>; crossBridge: (params: { url: string }) => Promise<ReadableStream<Uint8Array>>;
}; };
export default AspectDict;

View File

@ -14,7 +14,6 @@ import { assert } from 'oak-domain/lib/utils/assert';
export async function operate< export async function operate<
ED extends BaseEntityDict & EntityDict, ED extends BaseEntityDict & EntityDict,
T extends keyof ED, T extends keyof ED,
Cxt extends AsyncContext<ED>,
OP extends OperateOption OP extends OperateOption
>( >(
params: { params: {
@ -22,7 +21,7 @@ export async function operate<
operation: ED[T]['Operation'] | ED[T]['Operation'][]; operation: ED[T]['Operation'] | ED[T]['Operation'][];
option?: OP; option?: OP;
}, },
context: Cxt context: AsyncContext<ED>
) { ) {
const { entity, operation, option } = params; const { entity, operation, option } = params;
/* const userId = context.getCurrentUserId(); /* const userId = context.getCurrentUserId();
@ -124,7 +123,6 @@ function buildResultTree<ED extends BaseEntityDict & EntityDict, T extends keyof
export async function select< export async function select<
ED extends BaseEntityDict & EntityDict, ED extends BaseEntityDict & EntityDict,
T extends keyof ED, T extends keyof ED,
Cxt extends AsyncContext<ED>,
OP extends SelectOption OP extends SelectOption
>( >(
params: { params: {
@ -134,7 +132,7 @@ export async function select<
getCount?: true; getCount?: true;
maxCount?: number; maxCount?: number;
}, },
context: Cxt context: AsyncContext<ED>
) { ) {
const { entity, selection, option } = params; const { entity, selection, option } = params;
let selection2 = selection; let selection2 = selection;
@ -151,28 +149,26 @@ export async function select<
export async function aggregate< export async function aggregate<
ED extends BaseEntityDict & EntityDict, ED extends BaseEntityDict & EntityDict,
T extends keyof ED, T extends keyof ED,
Cxt extends AsyncContext<ED>,
OP extends SelectOption OP extends SelectOption
>(params: { >(params: {
entity: T, entity: T,
aggregation: ED[T]['Aggregation'], aggregation: ED[T]['Aggregation'],
option?: OP, option?: OP,
}, context: Cxt) { }, context: AsyncContext<ED>) {
const { entity, aggregation, option } = params; const { entity, aggregation, option } = params;
return context.aggregate(entity, aggregation, option || {}); return context.aggregate(entity, aggregation, option || {});
} }
export async function fetchRows< export async function fetchRows<
ED extends EntityDict & BaseEntityDict, ED extends EntityDict & BaseEntityDict,
OP extends SelectOption, OP extends SelectOption
Cxt extends AsyncContext<ED>,
>( >(
params: Array<{ params: Array<{
entity: keyof ED; entity: keyof ED;
selection: ED[keyof ED]['Selection']; selection: ED[keyof ED]['Selection'];
option?: OP; option?: OP;
}>, }>,
context: Cxt context: AsyncContext<ED>
) { ) {
await Promise.all( await Promise.all(
params.map((ele) => params.map((ele) =>
@ -188,7 +184,6 @@ export async function fetchRows<
export async function count< export async function count<
ED extends EntityDict & BaseEntityDict, ED extends EntityDict & BaseEntityDict,
T extends keyof ED, T extends keyof ED,
Cxt extends AsyncContext<ED>,
OP extends SelectOption OP extends SelectOption
>( >(
params: { params: {
@ -196,7 +191,7 @@ export async function count<
selection: Pick<ED[T]['Selection'], 'filter'>; selection: Pick<ED[T]['Selection'], 'filter'>;
option?: OP; option?: OP;
}, },
context: Cxt context: AsyncContext<ED>
) { ) {
const { entity, selection, option } = params; const { entity, selection, option } = params;
const { filter } = selection; const { filter } = selection;

View File

@ -11,11 +11,10 @@ import { AsyncContext } from 'oak-domain/lib/store/AsyncRowStore';
import { omit } from 'oak-domain/lib/utils/lodash'; import { omit } from 'oak-domain/lib/utils/lodash';
export async function loadRelations< export async function loadRelations<
ED extends BaseEntityDict & EntityDict, ED extends BaseEntityDict & EntityDict
Cxt extends AsyncContext<ED>
>(params: { >(params: {
entities: (keyof ED)[], entities: (keyof ED)[],
}, context: Cxt) { }, context: AsyncContext<ED>) {
const { entities } = params; const { entities } = params;
const userId = context.getCurrentUserId(); const userId = context.getCurrentUserId();
if (!userId) { if (!userId) {