mirror of
https://github.com/Floriansylvain/RenewCMS.git
synced 2026-08-19 11:43:22 +02:00
30 lines
568 B
Go
30 lines
568 B
Go
package useCases
|
|
|
|
import (
|
|
"GoCMS/adapters/secondary/gateways"
|
|
"GoCMS/domain/post"
|
|
"gorm.io/gorm"
|
|
)
|
|
|
|
type CreatePostUseCase struct {
|
|
postRepository gateways.PostRepository
|
|
}
|
|
|
|
type CreatePostCommand struct {
|
|
Title string
|
|
Body string
|
|
}
|
|
|
|
func NewCreatePostUseCase(db *gorm.DB) *CreatePostUseCase {
|
|
return &CreatePostUseCase{
|
|
postRepository: *gateways.NewPostRepository(db),
|
|
}
|
|
}
|
|
|
|
func (g *CreatePostUseCase) CreatePost(createPost CreatePostCommand) (post.Post, error) {
|
|
return g.postRepository.Create(post.FromApi(
|
|
createPost.Title,
|
|
createPost.Body,
|
|
))
|
|
}
|