blog/backend/internal/adapter/gateway/post_repo_impl.go
SquidSpirit a4394eea9e
All checks were successful
Frontend CI / build (push) Successful in 1m56s
BLOG-43 feat: get all posts
2025-03-28 00:02:34 +08:00

35 lines
823 B
Go

package gateway
import (
"git.squidspirit.com/squid/blog.git/backend/internal/adapter/gateway/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")
}