blog/backend/internal/adapter/repository/post_repo_impl.go
SquidSpirit d7c6c97051
All checks were successful
Frontend CI / build (push) Successful in 1m29s
BLOG-43 refactor: rename gateway -> repository
2025-03-28 00:15:39 +08:00

35 lines
829 B
Go

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")
}