import { Body, Controller, Get, Inject, Post, Provide, Query } from '@midwayjs/core';
import { DesktopOpActionLogService } from '../../service/desktop_op_action_log.js';

/** desktop_op 操作日志管理接口（只读，日志不允许从后台增删改） */
@Provide()
@Controller('/admin/desktop_op/action_log')
export class DesktopOpActionLogAdminController {
  @Inject()
  service!: DesktopOpActionLogService;

  /**
   * 分页查询操作日志
   * POST /admin/desktop_op/action_log/page
   */
  @Post('/page')
  async page(
    @Body()
    body: {
      page?: number;
      size?: number;
      appId?: string;
      channelId?: number;
      status?: string;
      /** 起始时间戳（毫秒） */
      from?: number;
      /** 截止时间戳（毫秒） */
      to?: number;
    }
  ) {
    return { code: 1000, data: await this.service.page(body) };
  }

  /**
   * 查询单条日志详情
   * GET /admin/desktop_op/action_log/info?id=xxx
   */
  @Get('/info')
  async info(@Query('id') id: number) {
    return { code: 1000, data: await this.service.info(id) };
  }
}
