UNPKG

pao-aop-server

Version:

基于pao-aop的服务端框架

186 lines 5.13 kB
import 'reflect-metadata'; import { ConnectionOptions, Connection } from 'typeorm'; import { BaseService } from '../../base'; import { BaseAddon, IDataService } from 'pao-aop'; /** * 数据过滤器接口 * @author huyl */ export interface IRelationDataFilter { /** * 获取运算符 */ getLogicSign?(): string; /** * 获取过滤语句 * @param paramValues 参数 */ getFilterSql?(paramValues: {} | any): string | undefined; /** * 获取参数 */ getParameters?(paramValues: {} | any): Array<any> | undefined; } /** * 数据过滤器 * @author huyl */ export declare class BaseRelationDataFilter extends BaseAddon implements IRelationDataFilter { /** * 子过滤器列表 */ childFilters: IRelationDataFilter[]; /** * 过滤参数 */ parameters?: any[]; /** * 获取过滤语句 * @param paramValues 参数 */ getFilterSql?(paramValues: {} | any): string | undefined; /** * 获取过滤参数 * @param paramValues 参数 */ getParameters?(paramValues: {} | any): Array<any> | undefined; /** * 获取运算符 */ getLogicSign?(): string; /** * AND逻辑运算 * @param filters 表达式 * @remark 传入的表示式可以是sqlFilter或者baseDataFilter, * 如果是baseDataFilter,则baseDataFilter生成表达式会用()闭包 * 例如(sqlfilter,baseDataFilter)生成结果(sqlFilterSql and ( baseDataFilterSql ) ) */ and?(...filters: IRelationDataFilter[]): BaseRelationDataFilter; /** * OR逻辑运算 * @param filters 表达式 * @remark 和and方法一样,只是最后是使用OR的逻辑运算符 */ or?(...filters: IRelationDataFilter[]): BaseRelationDataFilter; /** * 添加筛选类型的过滤条件 * @param filters 筛选类型的过滤条件 * @remark 筛选类型:group by/having/limit等 */ add?(...filters: IRelationDataFilter[]): BaseRelationDataFilter; } /** * AND逻辑运算过滤器 * @author huyl */ export declare class AndRelationDataFilter extends BaseRelationDataFilter implements IRelationDataFilter { getLogicSign?(): string; } /** * OR逻辑运算过滤器 * @author huyl */ export declare class OrRelationDataFilter extends BaseRelationDataFilter implements IRelationDataFilter { getLogicSign?(): string; } /** * SQL语句过滤器 * @author huyl */ export declare class SqlRelationDataFilter extends BaseAddon implements IRelationDataFilter { fieldKey: string; sql: string; caption?: string; /** * SQL语句过滤器 * @param fieldKey 字段关键字 * @param sql SQL过滤语句 * @param caption 标题 */ constructor(fieldKey: string, sql: string, caption?: string); /** * 获取过滤语句 * @param paramValues 参数 */ getFilterSql?(paramValues: {} | any): string | undefined; /** * 获取参数 * @param paramValues 参数列表 */ getParameters?(paramValues: {} | any): Array<any> | undefined; } /** * 数据命令 * @author huyl */ export declare class RelationDataCommand extends BaseAddon { id?: string; name?: string; primaryKeyFields?: string[]; sql?: string; /** 表名 */ tableName?: string; /** 是否为多表查询(默认为多表查询) */ isMultiTableQuery?: boolean; /** 数据过滤器 */ dataFilter?: BaseRelationDataFilter[]; /** TRUE条件过滤字符串 */ private trueFilterString?; /** 参数 */ private parameters?; /** * 数据命令 * @param id 唯一标识 * @param name 名称 * @param primaryKeyFields 主键 * @param sql SQL语句 */ constructor(id?: string, name?: string, primaryKeyFields?: string[], sql?: string); /** * 获取命令字符串 * @param paramValues 查询参数 */ getCommandText?(paramValues?: {}): string | undefined; /** * 获取过滤参数 */ getParameters?(): any[] | undefined; } /** * 数据连接对象 * @author huyl */ export declare class DatabaseConnection extends BaseAddon { /** * 数据库连接配置 * @description 可以是连接的字符串,或者连接的配置对象 */ dbConnection?: ConnectionOptions; /** 当前TypeORM的连接对象 */ private _currentConnection?; /** 数据连接对象管理器 */ private databaseManager; /** 连接数据库 */ connect?(): Promise<Connection>; } /** * 关系型数据服务 * @author huyl */ export declare class RelationDataService extends BaseService implements IDataService { /** 数据连接信息 */ connection: ConnectionOptions | any; /** 命令列表 */ commandList: RelationDataCommand[]; /** * 获取命令信息 * @param commandID 命令ID */ getCommandByID?(commandID: string): RelationDataCommand | undefined; /** * 查询 * @param params 查询参数 */ query(command: string, params?: {}): Promise<any>; } //# sourceMappingURL=index.d.ts.map