import { ForeignKey } from "oak-domain/lib/types/DataType"; import { Q_DateValue, Q_BooleanValue, Q_NumberValue, Q_StringValue, Q_EnumValue, NodeId, FulltextFilter, ExprOp, ExpressionKey } from "oak-domain/lib/types/Demand"; import { MakeAction as OakMakeAction, EntityShape } from "oak-domain/lib/types/Entity"; import { Action, ParticularAction } from "./Action"; import { RelationAction } from "oak-domain/lib/actions/action"; import { IdState, UserState } from "oak-general-business/lib/entities/User"; import { String, Text, Datetime, Boolean } from "oak-domain/lib/types/DataType"; export type OpSchema = EntityShape & { name?: String<16> | null; nickname?: String<64> | null; password?: Text | null; refId?: ForeignKey<"user"> | null; passwordSha1?: Text | null; birth?: Datetime | null; gender?: ("male" | "female") | null; idCardType?: ("ID-Card" | "passport" | "Mainland-passport") | null; idNumber?: String<32> | null; isRoot?: Boolean | null; hasPassword?: Boolean | null; verifyPasswordAt?: Datetime | null; idState: IdState; userState?: UserState | 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; nickname: Q_StringValue; password: Q_StringValue; refId: Q_StringValue; passwordSha1: Q_StringValue; birth: Q_DateValue; gender: Q_EnumValue<"male" | "female">; idCardType: Q_EnumValue<"ID-Card" | "passport" | "Mainland-passport">; idNumber: Q_StringValue; isRoot: Q_BooleanValue; hasPassword: Q_BooleanValue; verifyPasswordAt: Q_DateValue; idState: Q_EnumValue; userState: Q_EnumValue; } & ExprOp & FulltextFilter; export type OpProjection = { "#id"?: NodeId; [k: string]: any; id?: number; $$createAt$$?: number; $$updateAt$$?: number; $$seq$$?: number; name?: number; nickname?: number; password?: number; refId?: number; passwordSha1?: number; birth?: number; gender?: number; idCardType?: number; idNumber?: number; isRoot?: number; hasPassword?: number; verifyPasswordAt?: number; idState?: number; userState?: number; } & Partial>; export type OpSortAttr = Partial<{ id: number; $$createAt$$: number; $$seq$$: number; $$updateAt$$: number; name: number; nickname: number; password: number; refId: number; passwordSha1: number; birth: number; gender: number; idCardType: number; idNumber: number; isRoot: number; hasPassword: number; verifyPasswordAt: number; idState: number; userState: number; [k: string]: any; } | ExprOp>; export type OpAction = OakMakeAction; export type OpUpdateAction = "update" | ParticularAction | string;