From 7e140bd2cec73c24417f23f99f513fe602c0ed18 Mon Sep 17 00:00:00 2001 From: gogacoder Date: Wed, 12 Mar 2025 16:24:28 +0700 Subject: [PATCH] feat: sorting for all entities --- internal/services/author.go | 1 - internal/services/comment.go | 14 +++++--------- internal/services/post.go | 3 +++ internal/services/posttype.go | 3 +++ 4 files changed, 11 insertions(+), 10 deletions(-) diff --git a/internal/services/author.go b/internal/services/author.go index a749c66..8d37a0b 100644 --- a/internal/services/author.go +++ b/internal/services/author.go @@ -61,7 +61,6 @@ func (service *AuthorService) Count() (int64, error) { amount, err := dal.Author.Count() return amount, err } - func (service *AuthorService) SortedByOrder(fieldsSortOrder map[string]string) ([]*Author, error) { return utils.SortByOrder(fieldsSortOrder, Author{}) } diff --git a/internal/services/comment.go b/internal/services/comment.go index 34b9bf8..09b867a 100644 --- a/internal/services/comment.go +++ b/internal/services/comment.go @@ -6,7 +6,6 @@ import ( "app/internal/models" "app/internal/utils" "errors" - "gorm.io/gen/field" "gorm.io/gorm" ) @@ -17,20 +16,18 @@ type Comment = models.Comment func (service *CommentService) Create(item Comment) (Comment, error) { utils.ReplaceEmptySlicesWithNil(&item) - err := dal.Comment.Preload(field.Associations).Create(&item) + err := dal.Comment.Create(&item) if err != nil { return item, err } err = utils.AppendAssociations(database.GetInstance(), &item) return item, err } - func (service *CommentService) GetAll() ([]*Comment, error) { var comments []*Comment comments, err := dal.Comment.Preload(field.Associations).Find() return comments, err } - func (service *CommentService) GetById(id uint) (*Comment, error) { item, err := dal.Comment.Preload(field.Associations).Where(dal.Comment.Id.Eq(id)).First() if err != nil { @@ -42,14 +39,12 @@ func (service *CommentService) GetById(id uint) (*Comment, error) { } return item, nil } - func (service *CommentService) Update(item Comment) (Comment, error) { utils.ReplaceEmptySlicesWithNil(&item) - err := dal.Comment.Preload(field.Associations).Save(&item) + _, err := dal.Author.Updates(&item) if err != nil { return item, err } - err = utils.UpdateAssociations(database.GetInstance(), &item) if err != nil { @@ -58,13 +53,14 @@ func (service *CommentService) Update(item Comment) (Comment, error) { return item, err } - func (service *CommentService) Delete(id uint) error { _, err := dal.Comment.Unscoped().Where(dal.Comment.Id.Eq(id)).Delete() return err } - func (service *CommentService) Count() (int64, error) { amount, err := dal.Comment.Count() return amount, err } +func (service *CommentService) SortedByOrder(fieldsSortOrder map[string]string) ([]*Comment, error) { + return utils.SortByOrder(fieldsSortOrder, Comment{}) +} diff --git a/internal/services/post.go b/internal/services/post.go index 38da3f8..b856bd6 100644 --- a/internal/services/post.go +++ b/internal/services/post.go @@ -75,3 +75,6 @@ func (service *PostService) ExportToExcel() { dialogs.ErrorDialog("Ошибка экспорта", fmt.Sprintf("Ошибка при экспорте данных: %s", err)) } } +func (service *PostService) SortedByOrder(fieldsSortOrder map[string]string) ([]*Post, error) { + return utils.SortByOrder(fieldsSortOrder, Post{}) +} diff --git a/internal/services/posttype.go b/internal/services/posttype.go index bf28af8..29196d1 100644 --- a/internal/services/posttype.go +++ b/internal/services/posttype.go @@ -91,3 +91,6 @@ func (service *PostTypeService) ImportFromExcel() error { } return nil } +func (service *PostTypeService) SortedByOrder(fieldsSortOrder map[string]string) ([]*PostType, error) { + return utils.SortByOrder(fieldsSortOrder, PostType{}) +}