fix: create and get news

This commit is contained in:
ericprd
2025-03-05 22:15:39 +08:00
parent dd109c8aa0
commit 5c699dfa53
22 changed files with 46 additions and 159 deletions
+1 -1
View File
@@ -26,7 +26,7 @@ func (i *impl) Create(spec newsdomain.NewsReq, staffId string) error {
return err
}
newSpec := &newsdomain.News{
newSpec := newsdomain.News{
ID: uuid.NewString(),
Title: spec.Title,
Content: spec.Content,
-48
View File
@@ -1,48 +0,0 @@
package newssvc
import (
"legalgo-BE-go/database"
newsdomain "legalgo-BE-go/internal/domain/news"
"strings"
"time"
"github.com/google/uuid"
)
func (i *impl) CreateModel(spec newsdomain.NewsReq, staffId string) error {
slug := strings.ToLower(strings.ReplaceAll(spec.Title, " ", "-"))
tags, err := i.tagRepo.GetBulks(spec.Tags)
if err != nil {
return err
}
categories, err := i.categoryRepo.GetByIDs(spec.Categories)
if err != nil {
return err
}
parsedTime, err := time.Parse(time.RFC3339, spec.LiveAt)
if err != nil {
return err
}
newSpec := database.News{
ID: uuid.NewString(),
Title: spec.Title,
Content: spec.Content,
FeaturedImage: spec.FeaturedImage,
IsPremium: spec.IsPremium,
Slug: slug,
LiveAt: parsedTime,
AuthorID: staffId,
Tags: tags,
Categories: categories,
}
if err := i.newsRepo.CreateModel(newSpec); err != nil {
return err
}
return nil
}
-9
View File
@@ -1,9 +0,0 @@
package newssvc
import (
"legalgo-BE-go/database"
)
func (i *impl) GetAllModel() ([]database.News, error) {
return i.newsRepo.GetAllModel()
}
-3
View File
@@ -1,7 +1,6 @@
package newssvc
import (
"legalgo-BE-go/database"
categoryrepository "legalgo-BE-go/internal/accessor/category"
newsrepository "legalgo-BE-go/internal/accessor/news"
tagrepository "legalgo-BE-go/internal/accessor/tag"
@@ -16,9 +15,7 @@ type impl struct {
type News interface {
GetAll() ([]newsdomain.News, error)
GetAllModel() ([]database.News, error)
Create(newsdomain.NewsReq, string) error
CreateModel(newsdomain.NewsReq, string) error
}
func New(
+3 -3
View File
@@ -1,9 +1,9 @@
package tagsvc
import (
"legalgo-BE-go/database"
tagdomain "legalgo-BE-go/internal/domain/tag"
)
func (i *impl) GetAllModel() ([]database.Tag, error) {
return i.tagRepo.GetAllModel()
func (i *impl) GetAllModel() ([]tagdomain.Tag, error) {
return i.tagRepo.GetAll()
}
+1 -2
View File
@@ -1,7 +1,6 @@
package tagsvc
import (
"legalgo-BE-go/database"
tagrepository "legalgo-BE-go/internal/accessor/tag"
tagdomain "legalgo-BE-go/internal/domain/tag"
)
@@ -13,7 +12,7 @@ type impl struct {
type Tag interface {
Create(tagdomain.TagReq) error
GetAll() ([]tagdomain.Tag, error)
GetAllModel() ([]database.Tag, error)
GetAllModel() ([]tagdomain.Tag, error)
}
func New(