package interfaces

import (
	"58team_blog/internal/application/commands"
	"58team_blog/internal/application/common"
	"58team_blog/internal/application/queries"
)

type PostService interface {
	Create(commands.CreatePostCommand) (*common.PostResult, error)
	FindById(queries.PostFindByIdQuery) (*queries.PostFindByIdResult, error)
	FindAllByUserName(queries.PostFindAllByUserNameQuery) (*queries.PostFindAllByUserNameResult, error)
	GetAll() (*queries.PostGetAllResult, error)
	Update(commands.UpdatePostCommand) (*common.PostResult, error)
	Delete(commands.DeletePostCommand) error
}
