Merge branch '5.0' into dev
This commit is contained in:
commit
c987939e57
|
|
@ -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;
|
||||||
|
|
|
||||||
|
|
@ -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>;
|
||||||
|
|
|
||||||
|
|
@ -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"][]>;
|
||||||
|
|
|
||||||
|
|
@ -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;
|
||||||
|
|
|
||||||
|
|
@ -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>;
|
||||||
|
|
|
||||||
|
|
@ -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"][]>;
|
||||||
|
|
|
||||||
|
|
@ -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;
|
||||||
17
src/crud.ts
17
src/crud.ts
|
|
@ -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;
|
||||||
|
|
|
||||||
|
|
@ -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) {
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue