package repository import ( "git.squidspirit.com/squid/blog.git/backend/internal/adapter/repository/dbdto" "git.squidspirit.com/squid/blog.git/backend/internal/application" "git.squidspirit.com/squid/blog.git/backend/internal/domain" "github.com/thoas/go-funk" ) type postRepo struct { dbService PostDBService } type PostDBService interface { QueryAll() ([]*dbdto.Post, error) } func NewPostRepo(dbService PostDBService) application.PostRepo { return &postRepo{dbService} } func (r *postRepo) GetAll() ([]*domain.Post, error) { postDtos, err := r.dbService.QueryAll() if err != nil { return nil, err } return funk.Map(postDtos, func(postDto *dbdto.Post) *domain.Post { return postDto.ToEntity() }).([]*domain.Post), nil } func (r *postRepo) GetByID(id int) (*domain.Post, error) { panic("unimplemented") }