import { String, Text, ForeignKey } from "oak-domain/lib/types/DataType"; import { Q_DateValue, Q_StringValue, Q_EnumValue, NodeId, MakeFilter, ExprOp, ExpressionKey } from "oak-domain/lib/types/Demand"; import { OneOf } from "oak-domain/lib/types/Polyfill"; import * as SubQuery from "../_SubQuery"; import { FormCreateData, FormUpdateData, DeduceAggregation, Operation as OakOperation, Selection as OakSelection, MakeAction as OakMakeAction, EntityShape, AggregationResult } from "oak-domain/lib/types/Entity"; import { GenericAction } from "oak-domain/lib/actions/action"; import { Style } from "../../types/Style"; import * as System from "../System/Schema"; import * as MessageTypeTemplateId from "../MessageTypeTemplateId/Schema"; import * as Notification from "../Notification/Schema"; import * as Token from "../Token/Schema"; import * as WechatPublicTag from "../WechatPublicTag/Schema"; import * as WechatQrCode from "../WechatQrCode/Schema"; import * as WechatUser from "../WechatUser/Schema"; export declare type Passport = 'email' | 'mobile' | 'wechat' | 'wechatPublic'; export declare type AppType = 'web' | 'wechatMp' | 'wechatPublic'; export declare type WechatMpConfig = { type: 'wechatMp'; appId: string; appSecret: string; originalId?: string; qrCodePrefix?: string; server?: { url?: string; token: string; encodingAESKey: string; mode: 'clear' | 'compatible' | 'safe'; dataFormat: 'json' | 'xml'; }; passport?: Passport[]; }; export declare type WebConfig = { type: 'web'; wechat?: { appId: string; appSecret: string; domain?: string; enable?: boolean; }; passport?: Passport[]; }; export declare type WechatPublicTemplateMsgsConfig = Record; export declare type WechatPublicConfig = { type: 'wechatPublic'; isService: boolean; appId: string; appSecret: string; originalId?: string; enable?: boolean; templateMsgs?: WechatPublicTemplateMsgsConfig; server?: { url?: string; token: string; encodingAESKey: string; mode: 'clear' | 'compatible' | 'safe'; }; wechatMp?: { appId: string; originalId: string; }; passport?: Passport[]; }; export declare type OpSchema = EntityShape & { name: String<32>; description: Text; type: AppType; systemId: ForeignKey<"system">; config: WebConfig | WechatMpConfig | WechatPublicConfig; style?: Style | null; }; export declare type OpAttr = keyof OpSchema; export declare type Schema = EntityShape & { name: String<32>; description: Text; type: AppType; systemId: ForeignKey<"system">; config: WebConfig | WechatMpConfig | WechatPublicConfig; style?: Style | null; system: System.Schema; messageTypeTemplateId$application?: Array; messageTypeTemplateId$application$$aggr?: AggregationResult; notification$application?: Array; notification$application$$aggr?: AggregationResult; token$application?: Array; token$application$$aggr?: AggregationResult; wechatPublicTag$application?: Array; wechatPublicTag$application$$aggr?: AggregationResult; wechatQrCode$application?: Array; wechatQrCode$application$$aggr?: AggregationResult; wechatUser$application?: Array; wechatUser$application$$aggr?: AggregationResult; } & { [A in ExpressionKey]?: any; }; declare type AttrFilter = { id: Q_StringValue | SubQuery.ApplicationIdSubQuery; $$createAt$$: Q_DateValue; $$seq$$: Q_StringValue; $$updateAt$$: Q_DateValue; name: Q_StringValue; description: Q_StringValue; type: Q_EnumValue; systemId: Q_StringValue | SubQuery.SystemIdSubQuery; system: System.Filter; style: Q_EnumValue