package kr.itn.itnhub.mattermost; import kr.itn.itnhub.feed.FileRef; import kr.itn.itnhub.feed.FileView; import kr.itn.itnhub.feed.PostView; import java.util.List; import java.util.Optional; public interface MattermostClient { Optional findChannelIdByInternalName(String internalName); Optional findChannelIdByDisplayName(String displayName); String createPrivateChannel(String internalName, String displayName); /** 채널의 최근 게시글 한 페이지를 오래된순(화면 표시 순서)으로 돌려준다. */ List getRecentPosts(String channelId, int perPage); /** 채널 전체를 페이지네이션하며 첨부파일을 전부 모아 최신순으로 돌려준다. */ List collectChannelFiles(String channelId); byte[] downloadFile(String fileId); FileRef fileInfo(String fileId); }