package dev.inmo.postssystem.services.posts.common

import dev.inmo.micro_utils.common.Either
import dev.inmo.postssystem.features.content.common.Content
import dev.inmo.postssystem.features.content.common.ContentId
import dev.inmo.postssystem.features.posts.common.PostId
import dev.inmo.postssystem.features.posts.common.RegisteredPost

interface WritePostsService {
    suspend fun create(newPost: FullNewPost): RegisteredPost?
    suspend fun update(
        postId: PostId,
        content: List<Either<ContentId, Content>>
    ): RegisteredPost?
    suspend fun remove(postId: PostId)
}
