package com.dora.service;

import com.dora.dto.UserContentManageDto;
import com.dora.dto.PageResultDto;
import com.dora.entity.Video;
import com.dora.entity.Workflow;
import com.dora.entity.Course;

/**
 * 用户作品管理服务
 */
public interface UserContentManageService {

	PageResultDto<Video> listMyVideos(Long userId, UserContentManageDto.PageQuery query);

	PageResultDto<Workflow> listMyWorkflows(Long userId, UserContentManageDto.PageQuery query);

	PageResultDto<Course> listMyCourses(Long userId, UserContentManageDto.PageQuery query);

	boolean updateMyVideo(Long userId, Long videoId, UserContentManageDto.VideoUpdateRequest req);

	boolean deleteMyVideo(Long userId, Long videoId);

	boolean updateMyWorkflow(Long userId, Long workflowId, UserContentManageDto.WorkflowUpdateRequest req);

	boolean deleteMyWorkflow(Long userId, Long workflowId);

	boolean updateMyCourse(Long userId, UserContentManageDto.CourseUpdateRequest req);

	boolean deleteMyCourse(Long userId, Long courseId);

	UserContentManageDto.MyStatsResponse getMyStats(Long userId);
}

