import { CoolController, BaseController } from '@cool-midway/core';
import { ReportJoblogEntity } from '../../entity/joblog';
import { ReportJoblogService } from '../../service/joblog';

/**
 * ETL任务日志控制器
 */
@CoolController({
  api: ['add', 'delete', 'update', 'info', 'list', 'page'],
  entity: ReportJoblogEntity,
  service: ReportJoblogService,
  pageQueryOp: {
    keyWordLikeFields: ['a.jobName'],
    fieldEq: ['a.dataDate', 'a.status'],
    where: async ctx => {
      const { startTime, endTime } = ctx.request.body;
      const conditions: any[][] = [];
      if (startTime && endTime) {
        conditions.push(['a.dataDate BETWEEN :startTime AND :endTime', { startTime, endTime }]);
      }
      return conditions;
    }
  }
})
export class AdminReportJoblogController extends BaseController {}