feat: news router
This commit is contained in:
@@ -0,0 +1,13 @@
|
||||
package newsrepository
|
||||
|
||||
import (
|
||||
"fmt"
|
||||
newsdomain "legalgo-BE-go/internal/domain/news"
|
||||
)
|
||||
|
||||
func (a *accessor) Create(spec *newsdomain.News) error {
|
||||
if err := a.db.Create(&spec).Error; err != nil {
|
||||
return fmt.Errorf("failed to create news: %w", err)
|
||||
}
|
||||
return nil
|
||||
}
|
||||
@@ -0,0 +1,13 @@
|
||||
package newsrepository
|
||||
|
||||
import (
|
||||
"fmt"
|
||||
"legalgo-BE-go/database"
|
||||
)
|
||||
|
||||
func (a *accessor) CreateModel(spec database.NewsModel) error {
|
||||
if err := a.db.Create(&spec).Error; err != nil {
|
||||
return fmt.Errorf("failed to create news: %w", err)
|
||||
}
|
||||
return nil
|
||||
}
|
||||
@@ -0,0 +1,13 @@
|
||||
package newsrepository
|
||||
|
||||
import newsdomain "legalgo-BE-go/internal/domain/news"
|
||||
|
||||
func (a *accessor) GetAll() ([]newsdomain.News, error) {
|
||||
var news []newsdomain.News
|
||||
|
||||
if err := a.db.Preload("Tags").Preload("Categories").Find(&news).Error; err != nil {
|
||||
return nil, err
|
||||
}
|
||||
|
||||
return news, nil
|
||||
}
|
||||
@@ -0,0 +1,13 @@
|
||||
package newsrepository
|
||||
|
||||
import "legalgo-BE-go/database"
|
||||
|
||||
func (a *accessor) GetAllModel() ([]database.NewsModel, error) {
|
||||
var news []database.NewsModel
|
||||
|
||||
if err := a.db.Preload("Tags").Preload("Categories").Find(&news).Error; err != nil {
|
||||
return nil, err
|
||||
}
|
||||
|
||||
return news, nil
|
||||
}
|
||||
@@ -0,0 +1,21 @@
|
||||
package newsrepository
|
||||
|
||||
import (
|
||||
"legalgo-BE-go/database"
|
||||
newsdomain "legalgo-BE-go/internal/domain/news"
|
||||
)
|
||||
|
||||
type accessor struct {
|
||||
db *database.DB
|
||||
}
|
||||
|
||||
type News interface {
|
||||
GetAll() ([]newsdomain.News, error)
|
||||
GetAllModel() ([]database.NewsModel, error)
|
||||
Create(*newsdomain.News) error
|
||||
CreateModel(database.NewsModel) error
|
||||
}
|
||||
|
||||
func New(db *database.DB) News {
|
||||
return &accessor{db}
|
||||
}
|
||||
Reference in New Issue
Block a user