feat: entities

This commit is contained in:
2025-03-09 21:51:16 +07:00
parent bd4be08c37
commit baf4c67cfb
21 changed files with 2171 additions and 62 deletions

View File

@@ -2,11 +2,13 @@ package services
import (
"app/internal/dal"
"app/internal/database"
"app/internal/dialogs"
excel "app/internal/extras/excel"
"app/internal/models"
"errors"
"fmt"
"gorm.io/gen/field"
"gorm.io/gorm"
)
@@ -15,7 +17,12 @@ type PostService struct{}
type Post = models.Post
func (service *PostService) Create(item Post) (Post, error) {
ReplaceEmptySlicesWithNil(&item)
err := dal.Post.Preload(field.Associations).Create(&item)
if err != nil {
return item, err
}
err = AppendAssociations(database.GetInstance(), &item)
return item, err
}
func (service *PostService) GetAll() ([]*Post, error) {
@@ -34,10 +41,20 @@ func (service *PostService) GetById(id uint) (*Post, error) {
}
return item, nil
}
func (service *PostService) Update(item Post) (Post, error) {
ReplaceEmptySlicesWithNil(&item)
err := dal.Post.Preload(field.Associations).Save(&item)
if err != nil {
return item, err
}
err = UpdateAssociations(database.GetInstance(), &item)
if err != nil {
return item, err
}
return item, err
}
func (service *PostService) Delete(id uint) error {
_, err := dal.Post.Unscoped().Where(dal.Post.Id.Eq(id)).Delete()
return err