package interfaces

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

type UserService interface {
	Create(commands.CreateUserCommand) (*common.UserResult, error)
	FindById(queries.UserFindByIdQuery) (*queries.UserFindByIdResult, error)
	FindByName(queries.UserFindByNameQuery) (*queries.UserFindByNameResult, error)
	GetAll() (*queries.UserGetAllResult, error)
	Update(commands.UpdateUserCommand) (*common.UserResult, error)
	Delete(commands.DeleteUserCommand) error
}
