Added authorization
This commit is contained in:
parent
c3c3d65d32
commit
b96dd39795
50 changed files with 685 additions and 410 deletions
|
|
@ -14,7 +14,7 @@ type ImagesService struct {
|
|||
repo repository.ImagesRepository
|
||||
}
|
||||
|
||||
func NewImagesService(repo repository.ImagesRepository) ImagesService {
|
||||
func CreateImagesService(repo repository.ImagesRepository) ImagesService {
|
||||
return ImagesService{
|
||||
repo: repo,
|
||||
}
|
||||
|
|
|
|||
|
|
@ -22,7 +22,7 @@ func CreatePostService(repo repository.PostRepository) PostService {
|
|||
}
|
||||
|
||||
func (s *PostService) Create(cmd commands.CreatePostCommand) (*common.PostResult, error) {
|
||||
entity, err := entities.CreatePost(cmd.UserId, cmd.Title, cmd.Description, cmd.Content)
|
||||
entity, err := entities.CreatePost(cmd.UserId, cmd.Title, cmd.Description, cmd.Content, cmd.Category, cmd.Tags)
|
||||
if err != nil {
|
||||
return nil, errors.NewValidationError("Invalid input data " + err.Error())
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,141 +0,0 @@
|
|||
package services
|
||||
|
||||
import (
|
||||
"58team_blog/internal/application/commands"
|
||||
"58team_blog/internal/application/common"
|
||||
"58team_blog/internal/application/mapper"
|
||||
"58team_blog/internal/application/queries"
|
||||
"58team_blog/internal/domain/entities"
|
||||
"58team_blog/internal/domain/repository"
|
||||
"errors"
|
||||
"fmt"
|
||||
)
|
||||
|
||||
type PostsService struct {
|
||||
repo repository.PostsRepository
|
||||
}
|
||||
|
||||
func CreatePostsService(repo repository.PostsRepository) PostsService {
|
||||
return PostsService{
|
||||
repo: repo,
|
||||
}
|
||||
}
|
||||
|
||||
func (s *PostsService) Create(cmd commands.CreatePostsCommand) (*common.PostsResult, error) {
|
||||
if user, err := s.repo.FindByPostId(cmd.PostId); user != nil {
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
|
||||
return nil, errors.New("Posts already exists")
|
||||
}
|
||||
|
||||
entity, err := entities.CreatePosts(cmd.UserId, cmd.PostId)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
|
||||
if err := entity.Validate(); err != nil {
|
||||
return nil, err
|
||||
}
|
||||
|
||||
result := mapper.CreatePostsResultFromEntity(&entity)
|
||||
|
||||
return result, nil
|
||||
}
|
||||
|
||||
func (s *PostsService) FindByUserId(query queries.PostsFindByUserIdQuery) (*queries.PostsFindByUserIdResult, error) {
|
||||
entity, err := s.repo.FindByUserId(query.UserId)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
|
||||
if entity == nil {
|
||||
return nil, errors.New("Posts not found")
|
||||
}
|
||||
|
||||
if err := entity.Validate(); err != nil {
|
||||
return nil, err
|
||||
}
|
||||
|
||||
result := mapper.CreatePostsFindByUserIdResultFromEntity(entity)
|
||||
|
||||
return result, nil
|
||||
}
|
||||
|
||||
func (s *PostsService) FindByPostId(query queries.PostsFindByPostIdQuery) (*queries.PostsFindByPostIdResult, error) {
|
||||
entity, err := s.repo.FindByPostId(query.PostId)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
|
||||
if entity == nil {
|
||||
return nil, errors.New("Posts not found")
|
||||
}
|
||||
|
||||
if err := entity.Validate(); err != nil {
|
||||
return nil, err
|
||||
}
|
||||
|
||||
result := mapper.CreatePostsFindByPostIdResultFromEntity(entity)
|
||||
|
||||
return result, nil
|
||||
}
|
||||
|
||||
func (s *PostsService) FindAllByUserId(query queries.PostsFindByUserIdQuery) (*queries.PostsFindAllByUserIdResult, error) {
|
||||
entities, err := s.repo.FindAllByUserId(query.UserId)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
|
||||
if entities == nil {
|
||||
return nil, fmt.Errorf("No posts owned by user: %s", query.UserId.String())
|
||||
}
|
||||
|
||||
for _, e := range entities {
|
||||
if err := e.Validate(); err != nil {
|
||||
return nil, err
|
||||
}
|
||||
}
|
||||
|
||||
result := mapper.CreatePostsFindAllByUserIdResultFromEntity(entities)
|
||||
|
||||
return result, nil
|
||||
}
|
||||
|
||||
func (s *PostsService) GetAll() (*queries.PostsGetAllResult, error) {
|
||||
entities, err := s.repo.GetAll()
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
|
||||
for _, e := range entities {
|
||||
if err := e.Validate(); err != nil {
|
||||
return nil, err
|
||||
}
|
||||
}
|
||||
|
||||
result := mapper.CreatePostsGetAllResultFromEntity(entities)
|
||||
return result, nil
|
||||
}
|
||||
|
||||
func (s *PostsService) Delete(cmd commands.DeletePostsCommand) error {
|
||||
entity, err := s.repo.FindById(cmd.Id)
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
if entity == nil {
|
||||
return fmt.Errorf("Posts row not found: %s", cmd.Id)
|
||||
}
|
||||
|
||||
if err := entity.Validate(); err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
if err := s.repo.Delete(cmd.Id); err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
return nil
|
||||
}
|
||||
Loading…
Add table
Add a link
Reference in a new issue