import { ForeignKey, JsonProjection } from "oak-domain/lib/types/DataType"; import { Q_DateValue, Q_NumberValue, Q_StringValue, Q_EnumValue, NodeId, ExprOp, ExpressionKey, JsonFilter } from "oak-domain/lib/types/Demand"; import { MakeAction as OakMakeAction, EntityShape } from "oak-domain/lib/types/Entity"; import { Action, ParticularAction, IState } from "./Action"; import { String, Int, Datetime } from "oak-domain/lib/types/DataType"; type Paths = Array<{ time: number; action: string; }>; export type OpSchema = EntityShape & { type: "virtual" | "pickup" | "express"; shipServiceId?: ForeignKey<"shipService"> | null; toId?: ForeignKey<"address"> | null; fromId?: ForeignKey<"address"> | null; entity?: ("abstractShipAccount" | "wechatMpShip" | string) | null; entityId?: String<64> | null; phantom1?: String<32> | null; phantom2?: String<32> | null; phantom3?: Int<4> | null; phantom4?: Int<8> | null; phantom5?: Object | null; extraShipId?: String<128> | null; extraPaths?: Paths | null; receiveAt?: Datetime | null; iState: IState; } & { [A in ExpressionKey]?: any; }; export type OpAttr = keyof OpSchema; export type OpFilter = { id: Q_StringValue; $$createAt$$: Q_DateValue; $$seq$$: Q_NumberValue; $$updateAt$$: Q_DateValue; type: Q_EnumValue<"virtual" | "pickup" | "express">; shipServiceId: Q_StringValue; toId: Q_StringValue; fromId: Q_StringValue; entity: Q_EnumValue<"abstractShipAccount" | "wechatMpShip" | string>; entityId: Q_StringValue; phantom1: Q_StringValue; phantom2: Q_StringValue; phantom3: Q_NumberValue; phantom4: Q_NumberValue; phantom5: Object; extraShipId: Q_StringValue; extraPaths: JsonFilter; receiveAt: Q_DateValue; iState: Q_EnumValue; } & ExprOp; export type OpProjection = { "#id"?: NodeId; [k: string]: any; id?: number; $$createAt$$?: number; $$updateAt$$?: number; $$seq$$?: number; type?: number; shipServiceId?: number; toId?: number; fromId?: number; entity?: number; entityId?: number; phantom1?: number; phantom2?: number; phantom3?: number; phantom4?: number; phantom5?: number | Object; extraShipId?: number; extraPaths?: number | JsonProjection; receiveAt?: number; iState?: number; } & Partial>; export type OpSortAttr = Partial<{ id: number; $$createAt$$: number; $$seq$$: number; $$updateAt$$: number; type: number; shipServiceId: number; toId: number; fromId: number; entity: number; entityId: number; phantom1: number; phantom2: number; phantom3: number; phantom4: number; extraShipId: number; extraPaths: number; receiveAt: number; iState: number; [k: string]: any; } | ExprOp>; export type OpAction = OakMakeAction; export type OpUpdateAction = "update" | ParticularAction | string; export {};