修改了对一对多的aggr的key值定义

This commit is contained in:
Xu Chang 2024-10-21 18:13:25 +08:00
parent 08e698f996
commit 427312643a
16 changed files with 375 additions and 245 deletions

View File

@ -14,18 +14,19 @@ export type OpSchema = EntityShape & {
deActions: Actions;
};
export type OpAttr = keyof OpSchema;
export type Schema = EntityShape & {
relationId?: ForeignKey<"relation"> | null;
pathId: ForeignKey<"path">;
deActions: Actions;
type ModiEntity$entityAggr = "modiEntity$entity$$aggr" | "modiEntity$entity$$0$$aggr" | "modiEntity$entity$$1$$aggr" | "modiEntity$entity$$2$$aggr" | "modiEntity$entity$$3$$aggr" | "modiEntity$entity$$4$$aggr" | "modiEntity$entity$$5$$aggr" | "modiEntity$entity$$6$$aggr" | "modiEntity$entity$$7$$aggr" | "modiEntity$entity$$8$$aggr" | "modiEntity$entity$$9$$aggr";
type OperEntity$entityAggr = "operEntity$entity$$aggr" | "operEntity$entity$$0$$aggr" | "operEntity$entity$$1$$aggr" | "operEntity$entity$$2$$aggr" | "operEntity$entity$$3$$aggr" | "operEntity$entity$$4$$aggr" | "operEntity$entity$$5$$aggr" | "operEntity$entity$$6$$aggr" | "operEntity$entity$$7$$aggr" | "operEntity$entity$$8$$aggr" | "operEntity$entity$$9$$aggr";
export type Schema = OpSchema & {
relation?: Relation.Schema | null;
path: Path.Schema;
modiEntity$entity?: Array<ModiEntity.Schema>;
modiEntity$entity$$aggr?: AggregationResult<ModiEntity.Schema>;
operEntity$entity?: Array<OperEntity.Schema>;
operEntity$entity$$aggr?: AggregationResult<OperEntity.Schema>;
} & {
[A in ExpressionKey]?: any;
} & {
[A in ModiEntity$entityAggr]?: AggregationResult<ModiEntity.Schema>;
} & {
[A in OperEntity$entityAggr]?: AggregationResult<OperEntity.Schema>;
};
type AttrFilter = {
id: Q_StringValue;
@ -56,16 +57,18 @@ export type Projection = {
modiEntity$entity?: ModiEntity.Selection & {
$entity: "modiEntity";
};
modiEntity$entity$$aggr?: ModiEntity.Aggregation & {
$entity: "modiEntity";
};
operEntity$entity?: OperEntity.Selection & {
$entity: "operEntity";
};
operEntity$entity$$aggr?: OperEntity.Aggregation & {
} & Partial<ExprOp<OpAttr | string>> & {
[A in ModiEntity$entityAggr]?: ModiEntity.Aggregation & {
$entity: "modiEntity";
};
} & {
[A in OperEntity$entityAggr]?: OperEntity.Aggregation & {
$entity: "operEntity";
};
} & Partial<ExprOp<OpAttr | string>>;
};
type ActionAuthIdProjection = OneOf<{
id: number;
}>;

View File

@ -13,18 +13,17 @@ export type OpSchema = EntityShape & {
data: Object;
};
export type OpAttr = keyof OpSchema;
export type Schema = EntityShape & {
module: String<64>;
position: String<188>;
namespace: String<256>;
language: String<32>;
data: Object;
type ModiEntity$entityAggr = "modiEntity$entity$$aggr" | "modiEntity$entity$$0$$aggr" | "modiEntity$entity$$1$$aggr" | "modiEntity$entity$$2$$aggr" | "modiEntity$entity$$3$$aggr" | "modiEntity$entity$$4$$aggr" | "modiEntity$entity$$5$$aggr" | "modiEntity$entity$$6$$aggr" | "modiEntity$entity$$7$$aggr" | "modiEntity$entity$$8$$aggr" | "modiEntity$entity$$9$$aggr";
type OperEntity$entityAggr = "operEntity$entity$$aggr" | "operEntity$entity$$0$$aggr" | "operEntity$entity$$1$$aggr" | "operEntity$entity$$2$$aggr" | "operEntity$entity$$3$$aggr" | "operEntity$entity$$4$$aggr" | "operEntity$entity$$5$$aggr" | "operEntity$entity$$6$$aggr" | "operEntity$entity$$7$$aggr" | "operEntity$entity$$8$$aggr" | "operEntity$entity$$9$$aggr";
export type Schema = OpSchema & {
modiEntity$entity?: Array<ModiEntity.Schema>;
modiEntity$entity$$aggr?: AggregationResult<ModiEntity.Schema>;
operEntity$entity?: Array<OperEntity.Schema>;
operEntity$entity$$aggr?: AggregationResult<OperEntity.Schema>;
} & {
[A in ExpressionKey]?: any;
} & {
[A in ModiEntity$entityAggr]?: AggregationResult<ModiEntity.Schema>;
} & {
[A in OperEntity$entityAggr]?: AggregationResult<OperEntity.Schema>;
};
type AttrFilter = {
id: Q_StringValue;
@ -55,16 +54,18 @@ export type Projection = {
modiEntity$entity?: ModiEntity.Selection & {
$entity: "modiEntity";
};
modiEntity$entity$$aggr?: ModiEntity.Aggregation & {
$entity: "modiEntity";
};
operEntity$entity?: OperEntity.Selection & {
$entity: "operEntity";
};
operEntity$entity$$aggr?: OperEntity.Aggregation & {
} & Partial<ExprOp<OpAttr | string>> & {
[A in ModiEntity$entityAggr]?: ModiEntity.Aggregation & {
$entity: "modiEntity";
};
} & {
[A in OperEntity$entityAggr]?: OperEntity.Aggregation & {
$entity: "operEntity";
};
} & Partial<ExprOp<OpAttr | string>>;
};
type I18nIdProjection = OneOf<{
id: number;
}>;

View File

@ -12,18 +12,21 @@ export type OpSchema = EntityShape & {
iState: "normal" | "rollbacked";
};
export type OpAttr = keyof OpSchema;
export type Schema = EntityShape & {
entity: String<32>;
entityId: String<64>;
iState: "normal" | "rollbacked";
type Oper$logAggr = "oper$log$$aggr" | "oper$log$$0$$aggr" | "oper$log$$1$$aggr" | "oper$log$$2$$aggr" | "oper$log$$3$$aggr" | "oper$log$$4$$aggr" | "oper$log$$5$$aggr" | "oper$log$$6$$aggr" | "oper$log$$7$$aggr" | "oper$log$$8$$aggr" | "oper$log$$9$$aggr";
type ModiEntity$entityAggr = "modiEntity$entity$$aggr" | "modiEntity$entity$$0$$aggr" | "modiEntity$entity$$1$$aggr" | "modiEntity$entity$$2$$aggr" | "modiEntity$entity$$3$$aggr" | "modiEntity$entity$$4$$aggr" | "modiEntity$entity$$5$$aggr" | "modiEntity$entity$$6$$aggr" | "modiEntity$entity$$7$$aggr" | "modiEntity$entity$$8$$aggr" | "modiEntity$entity$$9$$aggr";
type OperEntity$entityAggr = "operEntity$entity$$aggr" | "operEntity$entity$$0$$aggr" | "operEntity$entity$$1$$aggr" | "operEntity$entity$$2$$aggr" | "operEntity$entity$$3$$aggr" | "operEntity$entity$$4$$aggr" | "operEntity$entity$$5$$aggr" | "operEntity$entity$$6$$aggr" | "operEntity$entity$$7$$aggr" | "operEntity$entity$$8$$aggr" | "operEntity$entity$$9$$aggr";
export type Schema = OpSchema & {
oper$log?: Array<Oper.Schema>;
oper$log$$aggr?: AggregationResult<Oper.Schema>;
modiEntity$entity?: Array<ModiEntity.Schema>;
modiEntity$entity$$aggr?: AggregationResult<ModiEntity.Schema>;
operEntity$entity?: Array<OperEntity.Schema>;
operEntity$entity$$aggr?: AggregationResult<OperEntity.Schema>;
} & {
[A in ExpressionKey]?: any;
} & {
[A in Oper$logAggr]?: AggregationResult<Oper.Schema>;
} & {
[A in ModiEntity$entityAggr]?: AggregationResult<ModiEntity.Schema>;
} & {
[A in OperEntity$entityAggr]?: AggregationResult<OperEntity.Schema>;
};
type AttrFilter = {
id: Q_StringValue;
@ -51,22 +54,25 @@ export type Projection = {
oper$log?: Oper.Selection & {
$entity: "oper";
};
oper$log$$aggr?: Oper.Aggregation & {
$entity: "oper";
};
modiEntity$entity?: ModiEntity.Selection & {
$entity: "modiEntity";
};
modiEntity$entity$$aggr?: ModiEntity.Aggregation & {
$entity: "modiEntity";
};
operEntity$entity?: OperEntity.Selection & {
$entity: "operEntity";
};
operEntity$entity$$aggr?: OperEntity.Aggregation & {
} & Partial<ExprOp<OpAttr | string>> & {
[A in Oper$logAggr]?: Oper.Aggregation & {
$entity: "oper";
};
} & {
[A in ModiEntity$entityAggr]?: ModiEntity.Aggregation & {
$entity: "modiEntity";
};
} & {
[A in OperEntity$entityAggr]?: OperEntity.Aggregation & {
$entity: "operEntity";
};
} & Partial<ExprOp<OpAttr | string>>;
};
type LogIdProjection = OneOf<{
id: number;
}>;

View File

@ -15,19 +15,13 @@ export type OpSchema = EntityShape & {
iState?: IState | null;
};
export type OpAttr = keyof OpSchema;
export type Schema = EntityShape & {
targetEntity: String<32>;
entity: String<32>;
entityId: String<64>;
action: String<24>;
data: Object;
filter?: Object | null;
extra?: Object | null;
iState?: IState | null;
type ModiEntity$modiAggr = "modiEntity$modi$$aggr" | "modiEntity$modi$$0$$aggr" | "modiEntity$modi$$1$$aggr" | "modiEntity$modi$$2$$aggr" | "modiEntity$modi$$3$$aggr" | "modiEntity$modi$$4$$aggr" | "modiEntity$modi$$5$$aggr" | "modiEntity$modi$$6$$aggr" | "modiEntity$modi$$7$$aggr" | "modiEntity$modi$$8$$aggr" | "modiEntity$modi$$9$$aggr";
export type Schema = OpSchema & {
modiEntity$modi?: Array<ModiEntity.Schema>;
modiEntity$modi$$aggr?: AggregationResult<ModiEntity.Schema>;
} & {
[A in ExpressionKey]?: any;
} & {
[A in ModiEntity$modiAggr]?: AggregationResult<ModiEntity.Schema>;
};
type AttrFilter = {
id: Q_StringValue;
@ -63,10 +57,11 @@ export type Projection = {
modiEntity$modi?: ModiEntity.Selection & {
$entity: "modiEntity";
};
modiEntity$modi$$aggr?: ModiEntity.Aggregation & {
} & Partial<ExprOp<OpAttr | string>> & {
[A in ModiEntity$modiAggr]?: ModiEntity.Aggregation & {
$entity: "modiEntity";
};
} & Partial<ExprOp<OpAttr | string>>;
};
type ModiIdProjection = OneOf<{
id: number;
}>;

View File

@ -21,10 +21,7 @@ export type OpSchema = EntityShape & {
entityId: String<64>;
};
export type OpAttr = keyof OpSchema;
export type Schema = EntityShape & {
modiId: ForeignKey<"modi">;
entity: "actionAuth" | "i18n" | "log" | "path" | "relation" | "relationAuth" | "user" | "userEntityClaim" | "userEntityGrant" | "userRelation" | string;
entityId: String<64>;
export type Schema = OpSchema & {
modi: Modi.Schema;
actionAuth?: ActionAuth.Schema;
i18n?: I18n.Schema;

View File

@ -20,23 +20,15 @@ export type OpSchema = EntityShape & {
iState?: IState | null;
};
export type OpAttr = keyof OpSchema;
export type Schema = EntityShape & {
action: String<24>;
data: Object;
filter?: Object | null;
extra?: Object | null;
operatorId?: ForeignKey<"user"> | null;
targetEntity: String<32>;
bornAt?: Datetime | null;
logId?: ForeignKey<"log"> | null;
undoData?: Object | null;
iState?: IState | null;
type OperEntity$operAggr = "operEntity$oper$$aggr" | "operEntity$oper$$0$$aggr" | "operEntity$oper$$1$$aggr" | "operEntity$oper$$2$$aggr" | "operEntity$oper$$3$$aggr" | "operEntity$oper$$4$$aggr" | "operEntity$oper$$5$$aggr" | "operEntity$oper$$6$$aggr" | "operEntity$oper$$7$$aggr" | "operEntity$oper$$8$$aggr" | "operEntity$oper$$9$$aggr";
export type Schema = OpSchema & {
operator?: User.Schema | null;
log?: Log.Schema | null;
operEntity$oper?: Array<OperEntity.Schema>;
operEntity$oper$$aggr?: AggregationResult<OperEntity.Schema>;
} & {
[A in ExpressionKey]?: any;
} & {
[A in OperEntity$operAggr]?: AggregationResult<OperEntity.Schema>;
};
type AttrFilter = {
id: Q_StringValue;
@ -80,10 +72,11 @@ export type Projection = {
operEntity$oper?: OperEntity.Selection & {
$entity: "operEntity";
};
operEntity$oper$$aggr?: OperEntity.Aggregation & {
} & Partial<ExprOp<OpAttr | string>> & {
[A in OperEntity$operAggr]?: OperEntity.Aggregation & {
$entity: "operEntity";
};
} & Partial<ExprOp<OpAttr | string>>;
};
type OperIdProjection = OneOf<{
id: number;
}>;

View File

@ -21,10 +21,7 @@ export type OpSchema = EntityShape & {
entityId: String<64>;
};
export type OpAttr = keyof OpSchema;
export type Schema = EntityShape & {
operId: ForeignKey<"oper">;
entity: "actionAuth" | "i18n" | "log" | "path" | "relation" | "relationAuth" | "user" | "userEntityClaim" | "userEntityGrant" | "userRelation" | string;
entityId: String<64>;
export type Schema = OpSchema & {
oper: Oper.Schema;
actionAuth?: ActionAuth.Schema;
i18n?: I18n.Schema;

View File

@ -15,22 +15,25 @@ export type OpSchema = EntityShape & {
desc?: String<256> | null;
};
export type OpAttr = keyof OpSchema;
export type Schema = EntityShape & {
destEntity: String<32>;
value: String<256>;
recursive: Boolean;
sourceEntity: String<32>;
desc?: String<256> | null;
type ActionAuth$pathAggr = "actionAuth$path$$aggr" | "actionAuth$path$$0$$aggr" | "actionAuth$path$$1$$aggr" | "actionAuth$path$$2$$aggr" | "actionAuth$path$$3$$aggr" | "actionAuth$path$$4$$aggr" | "actionAuth$path$$5$$aggr" | "actionAuth$path$$6$$aggr" | "actionAuth$path$$7$$aggr" | "actionAuth$path$$8$$aggr" | "actionAuth$path$$9$$aggr";
type RelationAuth$pathAggr = "relationAuth$path$$aggr" | "relationAuth$path$$0$$aggr" | "relationAuth$path$$1$$aggr" | "relationAuth$path$$2$$aggr" | "relationAuth$path$$3$$aggr" | "relationAuth$path$$4$$aggr" | "relationAuth$path$$5$$aggr" | "relationAuth$path$$6$$aggr" | "relationAuth$path$$7$$aggr" | "relationAuth$path$$8$$aggr" | "relationAuth$path$$9$$aggr";
type ModiEntity$entityAggr = "modiEntity$entity$$aggr" | "modiEntity$entity$$0$$aggr" | "modiEntity$entity$$1$$aggr" | "modiEntity$entity$$2$$aggr" | "modiEntity$entity$$3$$aggr" | "modiEntity$entity$$4$$aggr" | "modiEntity$entity$$5$$aggr" | "modiEntity$entity$$6$$aggr" | "modiEntity$entity$$7$$aggr" | "modiEntity$entity$$8$$aggr" | "modiEntity$entity$$9$$aggr";
type OperEntity$entityAggr = "operEntity$entity$$aggr" | "operEntity$entity$$0$$aggr" | "operEntity$entity$$1$$aggr" | "operEntity$entity$$2$$aggr" | "operEntity$entity$$3$$aggr" | "operEntity$entity$$4$$aggr" | "operEntity$entity$$5$$aggr" | "operEntity$entity$$6$$aggr" | "operEntity$entity$$7$$aggr" | "operEntity$entity$$8$$aggr" | "operEntity$entity$$9$$aggr";
export type Schema = OpSchema & {
actionAuth$path?: Array<ActionAuth.Schema>;
actionAuth$path$$aggr?: AggregationResult<ActionAuth.Schema>;
relationAuth$path?: Array<RelationAuth.Schema>;
relationAuth$path$$aggr?: AggregationResult<RelationAuth.Schema>;
modiEntity$entity?: Array<ModiEntity.Schema>;
modiEntity$entity$$aggr?: AggregationResult<ModiEntity.Schema>;
operEntity$entity?: Array<OperEntity.Schema>;
operEntity$entity$$aggr?: AggregationResult<OperEntity.Schema>;
} & {
[A in ExpressionKey]?: any;
} & {
[A in ActionAuth$pathAggr]?: AggregationResult<ActionAuth.Schema>;
} & {
[A in RelationAuth$pathAggr]?: AggregationResult<RelationAuth.Schema>;
} & {
[A in ModiEntity$entityAggr]?: AggregationResult<ModiEntity.Schema>;
} & {
[A in OperEntity$entityAggr]?: AggregationResult<OperEntity.Schema>;
};
type AttrFilter = {
id: Q_StringValue;
@ -63,28 +66,32 @@ export type Projection = {
actionAuth$path?: ActionAuth.Selection & {
$entity: "actionAuth";
};
actionAuth$path$$aggr?: ActionAuth.Aggregation & {
$entity: "actionAuth";
};
relationAuth$path?: RelationAuth.Selection & {
$entity: "relationAuth";
};
relationAuth$path$$aggr?: RelationAuth.Aggregation & {
$entity: "relationAuth";
};
modiEntity$entity?: ModiEntity.Selection & {
$entity: "modiEntity";
};
modiEntity$entity$$aggr?: ModiEntity.Aggregation & {
$entity: "modiEntity";
};
operEntity$entity?: OperEntity.Selection & {
$entity: "operEntity";
};
operEntity$entity$$aggr?: OperEntity.Aggregation & {
} & Partial<ExprOp<OpAttr | string>> & {
[A in ActionAuth$pathAggr]?: ActionAuth.Aggregation & {
$entity: "actionAuth";
};
} & {
[A in RelationAuth$pathAggr]?: RelationAuth.Aggregation & {
$entity: "relationAuth";
};
} & {
[A in ModiEntity$entityAggr]?: ModiEntity.Aggregation & {
$entity: "modiEntity";
};
} & {
[A in OperEntity$entityAggr]?: OperEntity.Aggregation & {
$entity: "operEntity";
};
} & Partial<ExprOp<OpAttr | string>>;
};
type PathIdProjection = OneOf<{
id: number;
}>;

View File

@ -16,27 +16,37 @@ export type OpSchema = EntityShape & {
display?: String<32> | null;
};
export type OpAttr = keyof OpSchema;
export type Schema = EntityShape & {
entity: String<32>;
entityId?: String<64> | null;
name?: String<32> | null;
display?: String<32> | null;
type ActionAuth$relationAggr = "actionAuth$relation$$aggr" | "actionAuth$relation$$0$$aggr" | "actionAuth$relation$$1$$aggr" | "actionAuth$relation$$2$$aggr" | "actionAuth$relation$$3$$aggr" | "actionAuth$relation$$4$$aggr" | "actionAuth$relation$$5$$aggr" | "actionAuth$relation$$6$$aggr" | "actionAuth$relation$$7$$aggr" | "actionAuth$relation$$8$$aggr" | "actionAuth$relation$$9$$aggr";
type RelationAuth$sourceRelationAggr = "relationAuth$sourceRelation$$aggr" | "relationAuth$sourceRelation$$0$$aggr" | "relationAuth$sourceRelation$$1$$aggr" | "relationAuth$sourceRelation$$2$$aggr" | "relationAuth$sourceRelation$$3$$aggr" | "relationAuth$sourceRelation$$4$$aggr" | "relationAuth$sourceRelation$$5$$aggr" | "relationAuth$sourceRelation$$6$$aggr" | "relationAuth$sourceRelation$$7$$aggr" | "relationAuth$sourceRelation$$8$$aggr" | "relationAuth$sourceRelation$$9$$aggr";
type RelationAuth$destRelationAggr = "relationAuth$destRelation$$aggr" | "relationAuth$destRelation$$0$$aggr" | "relationAuth$destRelation$$1$$aggr" | "relationAuth$destRelation$$2$$aggr" | "relationAuth$destRelation$$3$$aggr" | "relationAuth$destRelation$$4$$aggr" | "relationAuth$destRelation$$5$$aggr" | "relationAuth$destRelation$$6$$aggr" | "relationAuth$destRelation$$7$$aggr" | "relationAuth$destRelation$$8$$aggr" | "relationAuth$destRelation$$9$$aggr";
type UserEntityClaim$relationAggr = "userEntityClaim$relation$$aggr" | "userEntityClaim$relation$$0$$aggr" | "userEntityClaim$relation$$1$$aggr" | "userEntityClaim$relation$$2$$aggr" | "userEntityClaim$relation$$3$$aggr" | "userEntityClaim$relation$$4$$aggr" | "userEntityClaim$relation$$5$$aggr" | "userEntityClaim$relation$$6$$aggr" | "userEntityClaim$relation$$7$$aggr" | "userEntityClaim$relation$$8$$aggr" | "userEntityClaim$relation$$9$$aggr";
type UserRelation$relationAggr = "userRelation$relation$$aggr" | "userRelation$relation$$0$$aggr" | "userRelation$relation$$1$$aggr" | "userRelation$relation$$2$$aggr" | "userRelation$relation$$3$$aggr" | "userRelation$relation$$4$$aggr" | "userRelation$relation$$5$$aggr" | "userRelation$relation$$6$$aggr" | "userRelation$relation$$7$$aggr" | "userRelation$relation$$8$$aggr" | "userRelation$relation$$9$$aggr";
type ModiEntity$entityAggr = "modiEntity$entity$$aggr" | "modiEntity$entity$$0$$aggr" | "modiEntity$entity$$1$$aggr" | "modiEntity$entity$$2$$aggr" | "modiEntity$entity$$3$$aggr" | "modiEntity$entity$$4$$aggr" | "modiEntity$entity$$5$$aggr" | "modiEntity$entity$$6$$aggr" | "modiEntity$entity$$7$$aggr" | "modiEntity$entity$$8$$aggr" | "modiEntity$entity$$9$$aggr";
type OperEntity$entityAggr = "operEntity$entity$$aggr" | "operEntity$entity$$0$$aggr" | "operEntity$entity$$1$$aggr" | "operEntity$entity$$2$$aggr" | "operEntity$entity$$3$$aggr" | "operEntity$entity$$4$$aggr" | "operEntity$entity$$5$$aggr" | "operEntity$entity$$6$$aggr" | "operEntity$entity$$7$$aggr" | "operEntity$entity$$8$$aggr" | "operEntity$entity$$9$$aggr";
export type Schema = OpSchema & {
actionAuth$relation?: Array<ActionAuth.Schema>;
actionAuth$relation$$aggr?: AggregationResult<ActionAuth.Schema>;
relationAuth$sourceRelation?: Array<RelationAuth.Schema>;
relationAuth$sourceRelation$$aggr?: AggregationResult<RelationAuth.Schema>;
relationAuth$destRelation?: Array<RelationAuth.Schema>;
relationAuth$destRelation$$aggr?: AggregationResult<RelationAuth.Schema>;
userEntityClaim$relation?: Array<UserEntityClaim.Schema>;
userEntityClaim$relation$$aggr?: AggregationResult<UserEntityClaim.Schema>;
userRelation$relation?: Array<UserRelation.Schema>;
userRelation$relation$$aggr?: AggregationResult<UserRelation.Schema>;
modiEntity$entity?: Array<ModiEntity.Schema>;
modiEntity$entity$$aggr?: AggregationResult<ModiEntity.Schema>;
operEntity$entity?: Array<OperEntity.Schema>;
operEntity$entity$$aggr?: AggregationResult<OperEntity.Schema>;
} & {
[A in ExpressionKey]?: any;
} & {
[A in ActionAuth$relationAggr]?: AggregationResult<ActionAuth.Schema>;
} & {
[A in RelationAuth$sourceRelationAggr]?: AggregationResult<RelationAuth.Schema>;
} & {
[A in RelationAuth$destRelationAggr]?: AggregationResult<RelationAuth.Schema>;
} & {
[A in UserEntityClaim$relationAggr]?: AggregationResult<UserEntityClaim.Schema>;
} & {
[A in UserRelation$relationAggr]?: AggregationResult<UserRelation.Schema>;
} & {
[A in ModiEntity$entityAggr]?: AggregationResult<ModiEntity.Schema>;
} & {
[A in OperEntity$entityAggr]?: AggregationResult<OperEntity.Schema>;
};
type AttrFilter = {
id: Q_StringValue;
@ -70,46 +80,53 @@ export type Projection = {
actionAuth$relation?: ActionAuth.Selection & {
$entity: "actionAuth";
};
actionAuth$relation$$aggr?: ActionAuth.Aggregation & {
$entity: "actionAuth";
};
relationAuth$sourceRelation?: RelationAuth.Selection & {
$entity: "relationAuth";
};
relationAuth$sourceRelation$$aggr?: RelationAuth.Aggregation & {
$entity: "relationAuth";
};
relationAuth$destRelation?: RelationAuth.Selection & {
$entity: "relationAuth";
};
relationAuth$destRelation$$aggr?: RelationAuth.Aggregation & {
$entity: "relationAuth";
};
userEntityClaim$relation?: UserEntityClaim.Selection & {
$entity: "userEntityClaim";
};
userEntityClaim$relation$$aggr?: UserEntityClaim.Aggregation & {
$entity: "userEntityClaim";
};
userRelation$relation?: UserRelation.Selection & {
$entity: "userRelation";
};
userRelation$relation$$aggr?: UserRelation.Aggregation & {
$entity: "userRelation";
};
modiEntity$entity?: ModiEntity.Selection & {
$entity: "modiEntity";
};
modiEntity$entity$$aggr?: ModiEntity.Aggregation & {
$entity: "modiEntity";
};
operEntity$entity?: OperEntity.Selection & {
$entity: "operEntity";
};
operEntity$entity$$aggr?: OperEntity.Aggregation & {
} & Partial<ExprOp<OpAttr | string>> & {
[A in ActionAuth$relationAggr]?: ActionAuth.Aggregation & {
$entity: "actionAuth";
};
} & {
[A in RelationAuth$sourceRelationAggr]?: RelationAuth.Aggregation & {
$entity: "relationAuth";
};
} & {
[A in RelationAuth$destRelationAggr]?: RelationAuth.Aggregation & {
$entity: "relationAuth";
};
} & {
[A in UserEntityClaim$relationAggr]?: UserEntityClaim.Aggregation & {
$entity: "userEntityClaim";
};
} & {
[A in UserRelation$relationAggr]?: UserRelation.Aggregation & {
$entity: "userRelation";
};
} & {
[A in ModiEntity$entityAggr]?: ModiEntity.Aggregation & {
$entity: "modiEntity";
};
} & {
[A in OperEntity$entityAggr]?: OperEntity.Aggregation & {
$entity: "operEntity";
};
} & Partial<ExprOp<OpAttr | string>>;
};
type RelationIdProjection = OneOf<{
id: number;
}>;

View File

@ -13,19 +13,20 @@ export type OpSchema = EntityShape & {
destRelationId: ForeignKey<"relation">;
};
export type OpAttr = keyof OpSchema;
export type Schema = EntityShape & {
sourceRelationId: ForeignKey<"relation">;
pathId: ForeignKey<"path">;
destRelationId: ForeignKey<"relation">;
type ModiEntity$entityAggr = "modiEntity$entity$$aggr" | "modiEntity$entity$$0$$aggr" | "modiEntity$entity$$1$$aggr" | "modiEntity$entity$$2$$aggr" | "modiEntity$entity$$3$$aggr" | "modiEntity$entity$$4$$aggr" | "modiEntity$entity$$5$$aggr" | "modiEntity$entity$$6$$aggr" | "modiEntity$entity$$7$$aggr" | "modiEntity$entity$$8$$aggr" | "modiEntity$entity$$9$$aggr";
type OperEntity$entityAggr = "operEntity$entity$$aggr" | "operEntity$entity$$0$$aggr" | "operEntity$entity$$1$$aggr" | "operEntity$entity$$2$$aggr" | "operEntity$entity$$3$$aggr" | "operEntity$entity$$4$$aggr" | "operEntity$entity$$5$$aggr" | "operEntity$entity$$6$$aggr" | "operEntity$entity$$7$$aggr" | "operEntity$entity$$8$$aggr" | "operEntity$entity$$9$$aggr";
export type Schema = OpSchema & {
sourceRelation: Relation.Schema;
path: Path.Schema;
destRelation: Relation.Schema;
modiEntity$entity?: Array<ModiEntity.Schema>;
modiEntity$entity$$aggr?: AggregationResult<ModiEntity.Schema>;
operEntity$entity?: Array<OperEntity.Schema>;
operEntity$entity$$aggr?: AggregationResult<OperEntity.Schema>;
} & {
[A in ExpressionKey]?: any;
} & {
[A in ModiEntity$entityAggr]?: AggregationResult<ModiEntity.Schema>;
} & {
[A in OperEntity$entityAggr]?: AggregationResult<OperEntity.Schema>;
};
type AttrFilter = {
id: Q_StringValue;
@ -58,16 +59,18 @@ export type Projection = {
modiEntity$entity?: ModiEntity.Selection & {
$entity: "modiEntity";
};
modiEntity$entity$$aggr?: ModiEntity.Aggregation & {
$entity: "modiEntity";
};
operEntity$entity?: OperEntity.Selection & {
$entity: "operEntity";
};
operEntity$entity$$aggr?: OperEntity.Aggregation & {
} & Partial<ExprOp<OpAttr | string>> & {
[A in ModiEntity$entityAggr]?: ModiEntity.Aggregation & {
$entity: "modiEntity";
};
} & {
[A in OperEntity$entityAggr]?: OperEntity.Aggregation & {
$entity: "operEntity";
};
} & Partial<ExprOp<OpAttr | string>>;
};
type RelationAuthIdProjection = OneOf<{
id: number;
}>;

View File

@ -18,27 +18,34 @@ export type OpSchema = EntityShape & {
userState?: UserState | null;
};
export type OpAttr = keyof OpSchema;
export type Schema = EntityShape & {
name?: String<16> | null;
nickname?: String<64> | null;
password?: Text | null;
refId?: ForeignKey<"user"> | null;
userState?: UserState | null;
type Oper$operatorAggr = "oper$operator$$aggr" | "oper$operator$$0$$aggr" | "oper$operator$$1$$aggr" | "oper$operator$$2$$aggr" | "oper$operator$$3$$aggr" | "oper$operator$$4$$aggr" | "oper$operator$$5$$aggr" | "oper$operator$$6$$aggr" | "oper$operator$$7$$aggr" | "oper$operator$$8$$aggr" | "oper$operator$$9$$aggr";
type User$refAggr = "user$ref$$aggr" | "user$ref$$0$$aggr" | "user$ref$$1$$aggr" | "user$ref$$2$$aggr" | "user$ref$$3$$aggr" | "user$ref$$4$$aggr" | "user$ref$$5$$aggr" | "user$ref$$6$$aggr" | "user$ref$$7$$aggr" | "user$ref$$8$$aggr" | "user$ref$$9$$aggr";
type UserEntityClaim$userAggr = "userEntityClaim$user$$aggr" | "userEntityClaim$user$$0$$aggr" | "userEntityClaim$user$$1$$aggr" | "userEntityClaim$user$$2$$aggr" | "userEntityClaim$user$$3$$aggr" | "userEntityClaim$user$$4$$aggr" | "userEntityClaim$user$$5$$aggr" | "userEntityClaim$user$$6$$aggr" | "userEntityClaim$user$$7$$aggr" | "userEntityClaim$user$$8$$aggr" | "userEntityClaim$user$$9$$aggr";
type UserRelation$userAggr = "userRelation$user$$aggr" | "userRelation$user$$0$$aggr" | "userRelation$user$$1$$aggr" | "userRelation$user$$2$$aggr" | "userRelation$user$$3$$aggr" | "userRelation$user$$4$$aggr" | "userRelation$user$$5$$aggr" | "userRelation$user$$6$$aggr" | "userRelation$user$$7$$aggr" | "userRelation$user$$8$$aggr" | "userRelation$user$$9$$aggr";
type ModiEntity$entityAggr = "modiEntity$entity$$aggr" | "modiEntity$entity$$0$$aggr" | "modiEntity$entity$$1$$aggr" | "modiEntity$entity$$2$$aggr" | "modiEntity$entity$$3$$aggr" | "modiEntity$entity$$4$$aggr" | "modiEntity$entity$$5$$aggr" | "modiEntity$entity$$6$$aggr" | "modiEntity$entity$$7$$aggr" | "modiEntity$entity$$8$$aggr" | "modiEntity$entity$$9$$aggr";
type OperEntity$entityAggr = "operEntity$entity$$aggr" | "operEntity$entity$$0$$aggr" | "operEntity$entity$$1$$aggr" | "operEntity$entity$$2$$aggr" | "operEntity$entity$$3$$aggr" | "operEntity$entity$$4$$aggr" | "operEntity$entity$$5$$aggr" | "operEntity$entity$$6$$aggr" | "operEntity$entity$$7$$aggr" | "operEntity$entity$$8$$aggr" | "operEntity$entity$$9$$aggr";
export type Schema = OpSchema & {
ref?: Schema | null;
oper$operator?: Array<Oper.Schema>;
oper$operator$$aggr?: AggregationResult<Oper.Schema>;
user$ref?: Array<Schema>;
user$ref$$aggr?: AggregationResult<Schema>;
userEntityClaim$user?: Array<UserEntityClaim.Schema>;
userEntityClaim$user$$aggr?: AggregationResult<UserEntityClaim.Schema>;
userRelation$user?: Array<UserRelation.Schema>;
userRelation$user$$aggr?: AggregationResult<UserRelation.Schema>;
modiEntity$entity?: Array<ModiEntity.Schema>;
modiEntity$entity$$aggr?: AggregationResult<ModiEntity.Schema>;
operEntity$entity?: Array<OperEntity.Schema>;
operEntity$entity$$aggr?: AggregationResult<OperEntity.Schema>;
} & {
[A in ExpressionKey]?: any;
} & {
[A in Oper$operatorAggr]?: AggregationResult<Oper.Schema>;
} & {
[A in User$refAggr]?: AggregationResult<Schema>;
} & {
[A in UserEntityClaim$userAggr]?: AggregationResult<UserEntityClaim.Schema>;
} & {
[A in UserRelation$userAggr]?: AggregationResult<UserRelation.Schema>;
} & {
[A in ModiEntity$entityAggr]?: AggregationResult<ModiEntity.Schema>;
} & {
[A in OperEntity$entityAggr]?: AggregationResult<OperEntity.Schema>;
};
type AttrFilter = {
id: Q_StringValue;
@ -75,40 +82,46 @@ export type Projection = {
oper$operator?: Oper.Selection & {
$entity: "oper";
};
oper$operator$$aggr?: Oper.Aggregation & {
$entity: "oper";
};
user$ref?: Selection & {
$entity: "user";
};
user$ref$$aggr?: Aggregation & {
$entity: "user";
};
userEntityClaim$user?: UserEntityClaim.Selection & {
$entity: "userEntityClaim";
};
userEntityClaim$user$$aggr?: UserEntityClaim.Aggregation & {
$entity: "userEntityClaim";
};
userRelation$user?: UserRelation.Selection & {
$entity: "userRelation";
};
userRelation$user$$aggr?: UserRelation.Aggregation & {
$entity: "userRelation";
};
modiEntity$entity?: ModiEntity.Selection & {
$entity: "modiEntity";
};
modiEntity$entity$$aggr?: ModiEntity.Aggregation & {
$entity: "modiEntity";
};
operEntity$entity?: OperEntity.Selection & {
$entity: "operEntity";
};
operEntity$entity$$aggr?: OperEntity.Aggregation & {
} & Partial<ExprOp<OpAttr | string>> & {
[A in Oper$operatorAggr]?: Oper.Aggregation & {
$entity: "oper";
};
} & {
[A in User$refAggr]?: Aggregation & {
$entity: "user";
};
} & {
[A in UserEntityClaim$userAggr]?: UserEntityClaim.Aggregation & {
$entity: "userEntityClaim";
};
} & {
[A in UserRelation$userAggr]?: UserRelation.Aggregation & {
$entity: "userRelation";
};
} & {
[A in ModiEntity$entityAggr]?: ModiEntity.Aggregation & {
$entity: "modiEntity";
};
} & {
[A in OperEntity$entityAggr]?: OperEntity.Aggregation & {
$entity: "operEntity";
};
} & Partial<ExprOp<OpAttr | string>>;
};
type UserIdProjection = OneOf<{
id: number;
refId: number;

View File

@ -18,22 +18,21 @@ export type OpSchema = EntityShape & {
userRelationId: ForeignKey<"userRelation">;
};
export type OpAttr = keyof OpSchema;
export type Schema = EntityShape & {
uegId: ForeignKey<"userEntityGrant">;
userId: ForeignKey<"user">;
relationId: ForeignKey<"relation">;
claimEntityId: String<64>;
userRelationId: ForeignKey<"userRelation">;
type ModiEntity$entityAggr = "modiEntity$entity$$aggr" | "modiEntity$entity$$0$$aggr" | "modiEntity$entity$$1$$aggr" | "modiEntity$entity$$2$$aggr" | "modiEntity$entity$$3$$aggr" | "modiEntity$entity$$4$$aggr" | "modiEntity$entity$$5$$aggr" | "modiEntity$entity$$6$$aggr" | "modiEntity$entity$$7$$aggr" | "modiEntity$entity$$8$$aggr" | "modiEntity$entity$$9$$aggr";
type OperEntity$entityAggr = "operEntity$entity$$aggr" | "operEntity$entity$$0$$aggr" | "operEntity$entity$$1$$aggr" | "operEntity$entity$$2$$aggr" | "operEntity$entity$$3$$aggr" | "operEntity$entity$$4$$aggr" | "operEntity$entity$$5$$aggr" | "operEntity$entity$$6$$aggr" | "operEntity$entity$$7$$aggr" | "operEntity$entity$$8$$aggr" | "operEntity$entity$$9$$aggr";
export type Schema = OpSchema & {
ueg: UserEntityGrant.Schema;
user: User.Schema;
relation: Relation.Schema;
userRelation: UserRelation.Schema;
modiEntity$entity?: Array<ModiEntity.Schema>;
modiEntity$entity$$aggr?: AggregationResult<ModiEntity.Schema>;
operEntity$entity?: Array<OperEntity.Schema>;
operEntity$entity$$aggr?: AggregationResult<OperEntity.Schema>;
} & {
[A in ExpressionKey]?: any;
} & {
[A in ModiEntity$entityAggr]?: AggregationResult<ModiEntity.Schema>;
} & {
[A in OperEntity$entityAggr]?: AggregationResult<OperEntity.Schema>;
};
type AttrFilter = {
id: Q_StringValue;
@ -72,16 +71,18 @@ export type Projection = {
modiEntity$entity?: ModiEntity.Selection & {
$entity: "modiEntity";
};
modiEntity$entity$$aggr?: ModiEntity.Aggregation & {
$entity: "modiEntity";
};
operEntity$entity?: OperEntity.Selection & {
$entity: "operEntity";
};
operEntity$entity$$aggr?: OperEntity.Aggregation & {
} & Partial<ExprOp<OpAttr | string>> & {
[A in ModiEntity$entityAggr]?: ModiEntity.Aggregation & {
$entity: "modiEntity";
};
} & {
[A in OperEntity$entityAggr]?: OperEntity.Aggregation & {
$entity: "operEntity";
};
} & Partial<ExprOp<OpAttr | string>>;
};
type UserEntityClaimIdProjection = OneOf<{
id: number;
}>;

View File

@ -14,18 +14,21 @@ export type OpSchema = EntityShape & {
relationIds: RelationIds;
};
export type OpAttr = keyof OpSchema;
export type Schema = EntityShape & {
relationEntity: String<32>;
relationEntityFilter: Object;
relationIds: RelationIds;
type UserEntityClaim$uegAggr = "userEntityClaim$ueg$$aggr" | "userEntityClaim$ueg$$0$$aggr" | "userEntityClaim$ueg$$1$$aggr" | "userEntityClaim$ueg$$2$$aggr" | "userEntityClaim$ueg$$3$$aggr" | "userEntityClaim$ueg$$4$$aggr" | "userEntityClaim$ueg$$5$$aggr" | "userEntityClaim$ueg$$6$$aggr" | "userEntityClaim$ueg$$7$$aggr" | "userEntityClaim$ueg$$8$$aggr" | "userEntityClaim$ueg$$9$$aggr";
type ModiEntity$entityAggr = "modiEntity$entity$$aggr" | "modiEntity$entity$$0$$aggr" | "modiEntity$entity$$1$$aggr" | "modiEntity$entity$$2$$aggr" | "modiEntity$entity$$3$$aggr" | "modiEntity$entity$$4$$aggr" | "modiEntity$entity$$5$$aggr" | "modiEntity$entity$$6$$aggr" | "modiEntity$entity$$7$$aggr" | "modiEntity$entity$$8$$aggr" | "modiEntity$entity$$9$$aggr";
type OperEntity$entityAggr = "operEntity$entity$$aggr" | "operEntity$entity$$0$$aggr" | "operEntity$entity$$1$$aggr" | "operEntity$entity$$2$$aggr" | "operEntity$entity$$3$$aggr" | "operEntity$entity$$4$$aggr" | "operEntity$entity$$5$$aggr" | "operEntity$entity$$6$$aggr" | "operEntity$entity$$7$$aggr" | "operEntity$entity$$8$$aggr" | "operEntity$entity$$9$$aggr";
export type Schema = OpSchema & {
userEntityClaim$ueg?: Array<UserEntityClaim.Schema>;
userEntityClaim$ueg$$aggr?: AggregationResult<UserEntityClaim.Schema>;
modiEntity$entity?: Array<ModiEntity.Schema>;
modiEntity$entity$$aggr?: AggregationResult<ModiEntity.Schema>;
operEntity$entity?: Array<OperEntity.Schema>;
operEntity$entity$$aggr?: AggregationResult<OperEntity.Schema>;
} & {
[A in ExpressionKey]?: any;
} & {
[A in UserEntityClaim$uegAggr]?: AggregationResult<UserEntityClaim.Schema>;
} & {
[A in ModiEntity$entityAggr]?: AggregationResult<ModiEntity.Schema>;
} & {
[A in OperEntity$entityAggr]?: AggregationResult<OperEntity.Schema>;
};
type AttrFilter = {
id: Q_StringValue;
@ -53,22 +56,25 @@ export type Projection = {
userEntityClaim$ueg?: UserEntityClaim.Selection & {
$entity: "userEntityClaim";
};
userEntityClaim$ueg$$aggr?: UserEntityClaim.Aggregation & {
$entity: "userEntityClaim";
};
modiEntity$entity?: ModiEntity.Selection & {
$entity: "modiEntity";
};
modiEntity$entity$$aggr?: ModiEntity.Aggregation & {
$entity: "modiEntity";
};
operEntity$entity?: OperEntity.Selection & {
$entity: "operEntity";
};
operEntity$entity$$aggr?: OperEntity.Aggregation & {
} & Partial<ExprOp<OpAttr | string>> & {
[A in UserEntityClaim$uegAggr]?: UserEntityClaim.Aggregation & {
$entity: "userEntityClaim";
};
} & {
[A in ModiEntity$entityAggr]?: ModiEntity.Aggregation & {
$entity: "modiEntity";
};
} & {
[A in OperEntity$entityAggr]?: OperEntity.Aggregation & {
$entity: "operEntity";
};
} & Partial<ExprOp<OpAttr | string>>;
};
type UserEntityGrantIdProjection = OneOf<{
id: number;
}>;

View File

@ -16,21 +16,23 @@ export type OpSchema = EntityShape & {
entityId: String<64>;
};
export type OpAttr = keyof OpSchema;
export type Schema = EntityShape & {
userId: ForeignKey<"user">;
relationId: ForeignKey<"relation">;
entity: String<32>;
entityId: String<64>;
type UserEntityClaim$userRelationAggr = "userEntityClaim$userRelation$$aggr" | "userEntityClaim$userRelation$$0$$aggr" | "userEntityClaim$userRelation$$1$$aggr" | "userEntityClaim$userRelation$$2$$aggr" | "userEntityClaim$userRelation$$3$$aggr" | "userEntityClaim$userRelation$$4$$aggr" | "userEntityClaim$userRelation$$5$$aggr" | "userEntityClaim$userRelation$$6$$aggr" | "userEntityClaim$userRelation$$7$$aggr" | "userEntityClaim$userRelation$$8$$aggr" | "userEntityClaim$userRelation$$9$$aggr";
type ModiEntity$entityAggr = "modiEntity$entity$$aggr" | "modiEntity$entity$$0$$aggr" | "modiEntity$entity$$1$$aggr" | "modiEntity$entity$$2$$aggr" | "modiEntity$entity$$3$$aggr" | "modiEntity$entity$$4$$aggr" | "modiEntity$entity$$5$$aggr" | "modiEntity$entity$$6$$aggr" | "modiEntity$entity$$7$$aggr" | "modiEntity$entity$$8$$aggr" | "modiEntity$entity$$9$$aggr";
type OperEntity$entityAggr = "operEntity$entity$$aggr" | "operEntity$entity$$0$$aggr" | "operEntity$entity$$1$$aggr" | "operEntity$entity$$2$$aggr" | "operEntity$entity$$3$$aggr" | "operEntity$entity$$4$$aggr" | "operEntity$entity$$5$$aggr" | "operEntity$entity$$6$$aggr" | "operEntity$entity$$7$$aggr" | "operEntity$entity$$8$$aggr" | "operEntity$entity$$9$$aggr";
export type Schema = OpSchema & {
user: User.Schema;
relation: Relation.Schema;
userEntityClaim$userRelation?: Array<UserEntityClaim.Schema>;
userEntityClaim$userRelation$$aggr?: AggregationResult<UserEntityClaim.Schema>;
modiEntity$entity?: Array<ModiEntity.Schema>;
modiEntity$entity$$aggr?: AggregationResult<ModiEntity.Schema>;
operEntity$entity?: Array<OperEntity.Schema>;
operEntity$entity$$aggr?: AggregationResult<OperEntity.Schema>;
} & {
[A in ExpressionKey]?: any;
} & {
[A in UserEntityClaim$userRelationAggr]?: AggregationResult<UserEntityClaim.Schema>;
} & {
[A in ModiEntity$entityAggr]?: AggregationResult<ModiEntity.Schema>;
} & {
[A in OperEntity$entityAggr]?: AggregationResult<OperEntity.Schema>;
};
type AttrFilter = {
id: Q_StringValue;
@ -64,22 +66,25 @@ export type Projection = {
userEntityClaim$userRelation?: UserEntityClaim.Selection & {
$entity: "userEntityClaim";
};
userEntityClaim$userRelation$$aggr?: UserEntityClaim.Aggregation & {
$entity: "userEntityClaim";
};
modiEntity$entity?: ModiEntity.Selection & {
$entity: "modiEntity";
};
modiEntity$entity$$aggr?: ModiEntity.Aggregation & {
$entity: "modiEntity";
};
operEntity$entity?: OperEntity.Selection & {
$entity: "operEntity";
};
operEntity$entity$$aggr?: OperEntity.Aggregation & {
} & Partial<ExprOp<OpAttr | string>> & {
[A in UserEntityClaim$userRelationAggr]?: UserEntityClaim.Aggregation & {
$entity: "userEntityClaim";
};
} & {
[A in ModiEntity$entityAggr]?: ModiEntity.Aggregation & {
$entity: "modiEntity";
};
} & {
[A in OperEntity$entityAggr]?: OperEntity.Aggregation & {
$entity: "operEntity";
};
} & Partial<ExprOp<OpAttr | string>>;
};
type UserRelationIdProjection = OneOf<{
id: number;
}>;

View File

@ -1452,8 +1452,6 @@ function constructSchema(statements, entity) {
foreignKeySet[entityName].forEach((foreignKey) => {
const identifier = `${entityNameLc}$${foreignKey}`;
members2.push(factory.createPropertySignature(undefined, identifier, factory.createToken(ts.SyntaxKind.QuestionToken), factory.createTypeReferenceNode(factory.createIdentifier("Array"), [factory.createTypeReferenceNode(createForeignRef(entity, entityName, 'Schema'), undefined)])));
const aggrIdentifier = `${entityNameLc}$${foreignKey}$$aggr`;
members2.push(factory.createPropertySignature(undefined, aggrIdentifier, factory.createToken(ts.SyntaxKind.QuestionToken), factory.createTypeReferenceNode(factory.createIdentifier("AggregationResult"), [factory.createTypeReferenceNode(createForeignRef(entity, entityName, 'Schema'), undefined)])));
});
}
}
@ -1472,12 +1470,28 @@ function constructSchema(statements, entity) {
factory.createTypeReferenceNode('EntityShape'),
factory.createTypeLiteralNode(members)
])), factory.createTypeAliasDeclaration([factory.createModifier(ts.SyntaxKind.ExportKeyword)], factory.createIdentifier("OpAttr"), undefined, factory.createTypeOperatorNode(ts.SyntaxKind.KeyOfKeyword, factory.createTypeReferenceNode(factory.createIdentifier("OpSchema"), undefined))));
const otmAggrMappedNodes = [];
for (const entityName in foreignKeySet) {
const entityNameLc = (0, string_1.firstLetterLowerCase)(entityName);
foreignKeySet[entityName].forEach((foreignKey) => {
const typeAliasIdentifier = `${entityName}$${foreignKey}Aggr`;
const typeStringLiterals = [`${entityNameLc}$${foreignKey}$$aggr`];
let i = 0;
while (i < 10) {
typeStringLiterals.push(`${entityNameLc}$${foreignKey}$$${i}$$aggr`);
i++;
}
statements.push(factory.createTypeAliasDeclaration(undefined, factory.createIdentifier(typeAliasIdentifier), undefined, factory.createUnionTypeNode(typeStringLiterals.map(literal => factory.createLiteralTypeNode(factory.createStringLiteral(literal))))));
otmAggrMappedNodes.push(factory.createMappedTypeNode(undefined, factory.createTypeParameterDeclaration(undefined, factory.createIdentifier("A"), factory.createTypeReferenceNode(factory.createIdentifier(typeAliasIdentifier), undefined), undefined), undefined, factory.createToken(ts.SyntaxKind.QuestionToken), factory.createTypeReferenceNode(factory.createIdentifier("AggregationResult"), [factory.createTypeReferenceNode(createForeignRef(entity, entityName, 'Schema'), undefined)]), undefined));
});
}
statements.push(factory.createTypeAliasDeclaration([
factory.createModifier(ts.SyntaxKind.ExportKeyword)
], factory.createIdentifier('Schema'), undefined, factory.createIntersectionTypeNode([
factory.createTypeReferenceNode('EntityShape'),
factory.createTypeLiteralNode(members.concat(members2)),
factory.createMappedTypeNode(undefined, factory.createTypeParameterDeclaration(undefined, factory.createIdentifier("A"), factory.createTypeReferenceNode(factory.createIdentifier("ExpressionKey"), undefined), undefined), undefined, factory.createToken(ts.SyntaxKind.QuestionToken), factory.createKeywordTypeNode(ts.SyntaxKind.AnyKeyword), undefined)
factory.createTypeReferenceNode('OpSchema'),
factory.createTypeLiteralNode(members2),
factory.createMappedTypeNode(undefined, factory.createTypeParameterDeclaration(undefined, factory.createIdentifier("A"), factory.createTypeReferenceNode(factory.createIdentifier("ExpressionKey"), undefined), undefined), undefined, factory.createToken(ts.SyntaxKind.QuestionToken), factory.createKeywordTypeNode(ts.SyntaxKind.AnyKeyword), undefined),
...otmAggrMappedNodes,
])));
}
/**
@ -1777,6 +1791,7 @@ function constructProjection(statements, entity) {
});
}
// 一对多的projection
const otmAggrMappedNodes = [];
const { [entity]: oneToManySet } = OneToMany;
if (oneToManySet) {
const foreignKeySet = {};
@ -1793,7 +1808,7 @@ function constructProjection(statements, entity) {
const entityNameLc = (0, string_1.firstLetterLowerCase)(entityName);
foreignKeySet[entityName].forEach((foreignKey) => {
const identifier = `${entityNameLc}$${foreignKey}`;
const aggrIdentifier = `${entityNameLc}$${foreignKey}$$aggr`;
const typeAliasIdentifier = `${entityName}$${foreignKey}Aggr`;
properties.push([identifier, false,
factory.createIntersectionTypeNode([
factory.createTypeReferenceNode(createForeignRef(entity, entityName, 'Selection'), undefined),
@ -1815,14 +1830,13 @@ function constructProjection(statements, entity) {
)
])
]) */
], [aggrIdentifier, false,
factory.createIntersectionTypeNode([
factory.createTypeReferenceNode(createForeignRef(entity, entityName, 'Aggregation'), undefined),
factory.createTypeLiteralNode([
factory.createPropertySignature(undefined, factory.createIdentifier("$entity"), undefined, factory.createLiteralTypeNode(factory.createStringLiteral((0, string_1.firstLetterLowerCase)(entityName))))
])
])
]);
otmAggrMappedNodes.push(factory.createMappedTypeNode(undefined, factory.createTypeParameterDeclaration(undefined, factory.createIdentifier("A"), factory.createTypeReferenceNode(factory.createIdentifier(typeAliasIdentifier), undefined), undefined), undefined, factory.createToken(ts.SyntaxKind.QuestionToken), factory.createIntersectionTypeNode([
factory.createTypeReferenceNode(createForeignRef(entity, entityName, 'Aggregation'), undefined),
factory.createTypeLiteralNode([
factory.createPropertySignature(undefined, factory.createIdentifier("$entity"), undefined, factory.createLiteralTypeNode(factory.createStringLiteral((0, string_1.firstLetterLowerCase)(entityName))))
])
]), undefined));
});
}
}
@ -1848,6 +1862,7 @@ function constructProjection(statements, entity) {
return factory.createPropertySignature(undefined, n, q ? undefined : factory.createToken(ts.SyntaxKind.QuestionToken), v || factory.createKeywordTypeNode(ts.SyntaxKind.NumberKeyword));
}))),
exprNode,
...otmAggrMappedNodes,
])));
// ExportProjection下载查询的投影
// 已经废弃。By Xc 2023.01.08

View File

@ -836,7 +836,7 @@ function getImportedFilePath(path: string, fileSpecifierPath: string, filename:
importedFilepath = PathLib.join(pkgJsonPath, '..', 'node_modules', fileSpecifierPath);
}
const importedFilename = getExistedFileName();
if (importedFilename) {
if (importedFilename) {
return importedFilename;
}
}
@ -1987,21 +1987,6 @@ function constructSchema(statements: Array<ts.Statement>, entity: string) {
),
)
);
const aggrIdentifier = `${entityNameLc}$${foreignKey}$$aggr`;
members2.push(
factory.createPropertySignature(
undefined,
aggrIdentifier,
factory.createToken(ts.SyntaxKind.QuestionToken),
factory.createTypeReferenceNode(
factory.createIdentifier("AggregationResult"),
[factory.createTypeReferenceNode(
createForeignRef(entity, entityName, 'Schema'),
undefined
)]
)
)
)
}
);
}
@ -2058,6 +2043,58 @@ function constructSchema(statements: Array<ts.Statement>, entity: string) {
)
);
const otmAggrMappedNodes: ts.MappedTypeNode[] = [];
for (const entityName in foreignKeySet) {
const entityNameLc = firstLetterLowerCase(entityName);
foreignKeySet[entityName].forEach(
(foreignKey) => {
const typeAliasIdentifier = `${entityName}$${foreignKey}Aggr`;
const typeStringLiterals = [`${entityNameLc}$${foreignKey}$$aggr`];
let i = 0;
while (i < 10) {
typeStringLiterals.push(`${entityNameLc}$${foreignKey}$$${i}$$aggr`);
i ++;
}
statements.push(
factory.createTypeAliasDeclaration(
undefined,
factory.createIdentifier(typeAliasIdentifier),
undefined,
factory.createUnionTypeNode(
typeStringLiterals.map(
literal => factory.createLiteralTypeNode(factory.createStringLiteral(literal))
)
)
)
);
otmAggrMappedNodes.push(
factory.createMappedTypeNode(
undefined,
factory.createTypeParameterDeclaration(
undefined,
factory.createIdentifier("A"),
factory.createTypeReferenceNode(
factory.createIdentifier(typeAliasIdentifier),
undefined
),
undefined
),
undefined,
factory.createToken(ts.SyntaxKind.QuestionToken),
factory.createTypeReferenceNode(
factory.createIdentifier("AggregationResult"),
[factory.createTypeReferenceNode(
createForeignRef(entity, entityName, 'Schema'),
undefined
)]
),
undefined
)
);
}
);
}
statements.push(
factory.createTypeAliasDeclaration(
[
@ -2067,8 +2104,8 @@ function constructSchema(statements: Array<ts.Statement>, entity: string) {
undefined,
factory.createIntersectionTypeNode(
[
factory.createTypeReferenceNode('EntityShape'),
factory.createTypeLiteralNode(members.concat(members2)),
factory.createTypeReferenceNode('OpSchema'),
factory.createTypeLiteralNode(members2),
factory.createMappedTypeNode(
undefined,
factory.createTypeParameterDeclaration(
@ -2084,7 +2121,8 @@ function constructSchema(statements: Array<ts.Statement>, entity: string) {
factory.createToken(ts.SyntaxKind.QuestionToken),
factory.createKeywordTypeNode(ts.SyntaxKind.AnyKeyword),
undefined
)
),
...otmAggrMappedNodes,
]
)
)
@ -2593,6 +2631,7 @@ function constructProjection(statements: Array<ts.Statement>, entity: string) {
}
// 一对多的projection
const otmAggrMappedNodes: ts.MappedTypeNode[] = [];
const { [entity]: oneToManySet } = OneToMany;
if (oneToManySet) {
const foreignKeySet: Record<string, string[]> = {};
@ -2612,7 +2651,7 @@ function constructProjection(statements: Array<ts.Statement>, entity: string) {
foreignKeySet[entityName].forEach(
(foreignKey) => {
const identifier = `${entityNameLc}$${foreignKey}`;
const aggrIdentifier = `${entityNameLc}$${foreignKey}$$aggr`;
const typeAliasIdentifier = `${entityName}$${foreignKey}Aggr`;
properties.push(
[identifier, false,
factory.createIntersectionTypeNode([
@ -2644,7 +2683,7 @@ function constructProjection(statements: Array<ts.Statement>, entity: string) {
])
]) */
],
[aggrIdentifier, false,
/* [aggrIdentifier, false,
factory.createIntersectionTypeNode([
factory.createTypeReferenceNode(
createForeignRef(entity, entityName, 'Aggregation'),
@ -2659,8 +2698,39 @@ function constructProjection(statements: Array<ts.Statement>, entity: string) {
)
])
])
]
] */
);
otmAggrMappedNodes.push(
factory.createMappedTypeNode(
undefined,
factory.createTypeParameterDeclaration(
undefined,
factory.createIdentifier("A"),
factory.createTypeReferenceNode(
factory.createIdentifier(typeAliasIdentifier),
undefined
),
undefined
),
undefined,
factory.createToken(ts.SyntaxKind.QuestionToken),
factory.createIntersectionTypeNode([
factory.createTypeReferenceNode(
createForeignRef(entity, entityName, 'Aggregation'),
undefined
),
factory.createTypeLiteralNode([
factory.createPropertySignature(
undefined,
factory.createIdentifier("$entity"),
undefined,
factory.createLiteralTypeNode(factory.createStringLiteral(firstLetterLowerCase(entityName)))
)
])
]),
undefined
)
)
}
);
}
@ -2735,6 +2805,7 @@ function constructProjection(statements: Array<ts.Statement>, entity: string) {
)
),
exprNode,
...otmAggrMappedNodes,
])
)
);