import { ForeignKey, JsonProjection } from "oak-domain/lib/types/DataType"; import { Q_DateValue, Q_BooleanValue, Q_NumberValue, Q_StringValue, NodeId, MakeFilter, ExprOp, ExpressionKey, JsonFilter, SubQueryPredicateMetadata } from "oak-domain/lib/types/Demand"; import { OneOf } from "oak-domain/lib/types/Polyfill"; import { FormCreateData, FormUpdateData, DeduceAggregation, Operation as OakOperation, Selection as OakSelection, MakeAction as OakMakeAction, AggregationResult } from "oak-domain/lib/types/Entity"; import { GenericAction } from "oak-domain/lib/actions/action"; import { String, Boolean, Text } from "oak-domain/lib/types/DataType"; import { EntityShape } from "oak-domain/lib/types/Entity"; import { Config } from "../../types/Config"; import { Style } from "../../types/Style"; import * as Platform from "../Platform/Schema"; import * as Application from "../Application/Schema"; import * as Domain from "../Domain/Schema"; import * as MessageSystem from "../MessageSystem/Schema"; import * as SmsTemplate from "../SmsTemplate/Schema"; import * as UserSystem from "../UserSystem/Schema"; export type OpSchema = EntityShape & { name: String<32>; description: Text; config: Config; platformId?: ForeignKey<"platform"> | null; folder: String<16>; super?: Boolean | null; style?: Style | null; entity?: String<32> | null; entityId?: String<64> | null; }; export type OpAttr = keyof OpSchema; export type Schema = EntityShape & { name: String<32>; description: Text; config: Config; platformId?: ForeignKey<"platform"> | null; folder: String<16>; super?: Boolean | null; style?: Style | null; entity?: String<32> | null; entityId?: String<64> | null; platform?: Platform.Schema | null; application$system?: Array; application$system$$aggr?: AggregationResult; domain$system?: Array; domain$system$$aggr?: AggregationResult; messageSystem$system?: Array; messageSystem$system$$aggr?: AggregationResult; smsTemplate$system?: Array; smsTemplate$system$$aggr?: AggregationResult; userSystem$system?: Array; userSystem$system$$aggr?: AggregationResult; } & { [A in ExpressionKey]?: any; }; type AttrFilter = { id: Q_StringValue; $$createAt$$: Q_DateValue; $$seq$$: Q_NumberValue; $$updateAt$$: Q_DateValue; name: Q_StringValue; description: Q_StringValue; config: JsonFilter; platformId: Q_StringValue; platform: Platform.Filter; folder: Q_StringValue; super: Q_BooleanValue; style: JsonFilter