///
///
///
///
///
///
declare namespace FxWebx {
type FibModelCountTypeMACRO = number;
type FibAppModelExtendORMFuncName = string;
type FibPoolFn = (cb: (o: T) => any) => T
interface FibAppOrmDefineFn {
(db: FibAppDb): void | FibAppORMModel | any
}
interface AppDBPool extends FibPoolFn {
app: FibAppClass
use(defs: FibAppOrmDefineFn | FibAppOrmDefineFn[]): FibAppOrmDefineFn[];
}
// constant type
interface FibAppApiCommnPayload_hasManyArgs {
where: { type: Function }
skip: { type: Function }
limit: { type: Function }
order: { type: Function }
}
interface FibAppGraphQlPayload_Field {
[field: string]: {
// related model's type
type: string;
args?: FibAppApiCommnPayload_hasManyArgs;
// resolved data in communication
resolve: any;
}
}
interface FibDataPayload {
[key: string]: any;
}
/* filterable function :start */
interface FibAppFilterableViewFunction {
(req: FibAppReq, db: FibAppDb, cls: null | FibAppORMModel, data: FibAppReqData): FibAppApiFunctionResponse | string;
}
interface FibAppFilterableApiFunction__NullModel {
(req: FibAppReq, db: FibAppDb, cls: null, data: FibAppReqData): FibAppApiFunctionResponse;
}
interface FibAppFilterableApiFunction__WithModel {
(req: FibAppReq, db: FibAppDb, cls: FibAppORMModel, data: FibAppReqData): FibAppApiFunctionResponse;
}
/* filterable function :end */
/* internal api function :start */
interface FibAppInternalTypedApi__Get