package com.dora.service;

import com.dora.dto.ApiResponse;
import com.dora.dto.AdminContentAuditDto;

/**
 * 管理员内容审核服务接口
 */
public interface AdminContentAuditService {

    /**
     * 获取内容审核列表
     * @param request 查询请求
     * @return 审核列表响应
     */
    ApiResponse<AdminContentAuditDto.ContentAuditListResponse> getContentAuditList(AdminContentAuditDto.ContentAuditListRequest request);

    /**
     * 审核内容
     * @param request 审核请求
     * @return 审核结果
     */
    ApiResponse<String> auditContent(AdminContentAuditDto.ContentAuditRequest request);

    /**
     * 批量审核内容
     * @param request 批量审核请求
     * @return 批量审核结果
     */
    ApiResponse<String> batchAuditContent(AdminContentAuditDto.BatchAuditRequest request);

    /**
     * 获取审核统计信息
     * @return 统计信息
     */
    ApiResponse<AdminContentAuditDto.AuditStatistics> getAuditStatistics();

    /**
     * 更新课程属性
     * @param request 更新请求
     * @return 更新结果
     */
    ApiResponse<String> updateCourseProperties(AdminContentAuditDto.CoursePropertiesUpdateRequest request);

    /**
     * 更新工作流属性
     * @param request 更新请求
     * @return 更新结果
     */
    ApiResponse<String> updateWorkflowProperties(AdminContentAuditDto.WorkflowPropertiesUpdateRequest request);

    /**
     * 管理员获取视频播放凭证
     * @param request 播放凭证请求
     * @return 播放凭证响应
     */
    ApiResponse<Object> getVideoPlayAuth(AdminContentAuditDto.VideoPlayAuthRequest request);
}
