import { ForeignKey, JsonProjection } from "oak-domain/lib/types/DataType"; import { Q_DateValue, Q_BooleanValue, Q_NumberValue, Q_StringValue, NodeId, ExprOp, ExpressionKey, JsonFilter } from "oak-domain/lib/types/Demand"; import { MakeAction as OakMakeAction, EntityShape } from "oak-domain/lib/types/Entity"; import { GenericAction } from "oak-domain/lib/actions/action"; import { String, Text, Boolean } from "oak-domain/lib/types/DataType"; import { Config } from "../../../../oak-general-business/lib/types/Config"; import { Style } from "../../../../oak-general-business/lib/types/Style"; type PayConfig = { withdrawLoss: { conservative: boolean; ratio?: number; lowest?: number; highest?: number; trim?: "jiao" | "yuan"; }; depositLoss: { ratio?: number; lowest?: number; highest?: number; }; }; export type OpSchema = EntityShape & { name: String<32>; description?: Text | null; config: Config; platformId?: ForeignKey<"platform"> | null; folder?: String<16> | null; oldestVersion?: String<32> | null; super?: Boolean | null; style?: Style | null; entity?: String<32> | null; entityId?: String<64> | null; payConfig?: PayConfig | null; } & { [A in ExpressionKey]?: any; }; export type OpAttr = keyof OpSchema; export type OpFilter = { id: Q_StringValue; $$createAt$$: Q_DateValue; $$seq$$: Q_NumberValue; $$updateAt$$: Q_DateValue; name: Q_StringValue; description: Q_StringValue; config: JsonFilter; platformId: Q_StringValue; folder: Q_StringValue; oldestVersion: Q_StringValue; super: Q_BooleanValue; style: JsonFilter