package com.luojia_channel.modules.post.service;

import com.baomidou.mybatisplus.extension.service.IService;
import com.luojia_channel.common.domain.page.PageResponse;
import com.luojia_channel.common.domain.page.ScrollPageResponse;
import com.luojia_channel.modules.post.dto.req.PostSaveDTO;
import com.luojia_channel.modules.post.dto.req.PostPageQueryDTO;
import com.luojia_channel.modules.post.dto.resp.PostBasicInfoDTO;
import com.luojia_channel.modules.post.dto.resp.PostInfoDTO;
import com.luojia_channel.modules.post.entity.Post;
import org.springframework.web.multipart.MultipartFile;

public interface PostService extends IService<Post> {
    Long savePost(PostSaveDTO postSaveDTO);

    String setCover(MultipartFile file);

    void updatePost(PostSaveDTO postSaveDTO);

    void deletePost(Long id);

    PostInfoDTO getPostDetail(Long id);

    ScrollPageResponse<PostBasicInfoDTO> pagePost(PostPageQueryDTO postPageQueryDTO);

    ScrollPageResponse<PostBasicInfoDTO> pagePostOfUser(PostPageQueryDTO postPageQueryDTO);

    void likePost(Long id);
}
