From e108c922d7d42eb11a66f0d2fac77ca36a1d3a03 Mon Sep 17 00:00:00 2001 From: gogacoder Date: Thu, 20 Feb 2025 18:30:24 +0700 Subject: [PATCH] fix: delete method --- .../bindings/app/internal/services/authorservice.ts | 10 +++------- .../bindings/app/internal/services/postservice.ts | 10 +++------- internal/dal/posts.gen.go | 12 ++++++++---- internal/services/author.go | 6 +++--- internal/services/post.go | 9 ++++++--- internal/services/service.go | 2 +- 6 files changed, 24 insertions(+), 25 deletions(-) diff --git a/frontend/bindings/app/internal/services/authorservice.ts b/frontend/bindings/app/internal/services/authorservice.ts index 36af907..6ec3d81 100644 --- a/frontend/bindings/app/internal/services/authorservice.ts +++ b/frontend/bindings/app/internal/services/authorservice.ts @@ -27,13 +27,9 @@ export function Create(item: $models.Author): Promise<$models.Author> & { cancel return $typingPromise; } -export function Delete(item: $models.Author): Promise<$models.Author> & { cancel(): void } { - let $resultPromise = $Call.ByID(2096845974, item) as any; - let $typingPromise = $resultPromise.then(($result) => { - return $$createType0($result); - }) as any; - $typingPromise.cancel = $resultPromise.cancel.bind($resultPromise); - return $typingPromise; +export function Delete(id: number): Promise & { cancel(): void } { + let $resultPromise = $Call.ByID(2096845974, id) as any; + return $resultPromise; } export function GetAll(): Promise<($models.Author | null)[]> & { cancel(): void } { diff --git a/frontend/bindings/app/internal/services/postservice.ts b/frontend/bindings/app/internal/services/postservice.ts index 1c76553..04dec58 100644 --- a/frontend/bindings/app/internal/services/postservice.ts +++ b/frontend/bindings/app/internal/services/postservice.ts @@ -27,13 +27,9 @@ export function Create(item: $models.Post): Promise<$models.Post> & { cancel(): return $typingPromise; } -export function Delete(item: $models.Post): Promise<$models.Post> & { cancel(): void } { - let $resultPromise = $Call.ByID(2924549135, item) as any; - let $typingPromise = $resultPromise.then(($result) => { - return $$createType0($result); - }) as any; - $typingPromise.cancel = $resultPromise.cancel.bind($resultPromise); - return $typingPromise; +export function Delete(id: number): Promise & { cancel(): void } { + let $resultPromise = $Call.ByID(2924549135, id) as any; + return $resultPromise; } export function ExportToExcel(): Promise & { cancel(): void } { diff --git a/internal/dal/posts.gen.go b/internal/dal/posts.gen.go index 8a38609..0452361 100644 --- a/internal/dal/posts.gen.go +++ b/internal/dal/posts.gen.go @@ -28,6 +28,7 @@ func newPost(db *gorm.DB, opts ...gen.DOOption) post { _post.ALL = field.NewAsterisk(tableName) _post.Id = field.NewUint(tableName, "id") _post.Text = field.NewString(tableName, "text") + _post.CreatedAt = field.NewInt64(tableName, "created_at") _post.fillFieldMap() @@ -37,9 +38,10 @@ func newPost(db *gorm.DB, opts ...gen.DOOption) post { type post struct { postDo - ALL field.Asterisk - Id field.Uint - Text field.String + ALL field.Asterisk + Id field.Uint + Text field.String + CreatedAt field.Int64 fieldMap map[string]field.Expr } @@ -58,6 +60,7 @@ func (p *post) updateTableName(table string) *post { p.ALL = field.NewAsterisk(table) p.Id = field.NewUint(table, "id") p.Text = field.NewString(table, "text") + p.CreatedAt = field.NewInt64(table, "created_at") p.fillFieldMap() @@ -74,9 +77,10 @@ func (p *post) GetFieldByName(fieldName string) (field.OrderExpr, bool) { } func (p *post) fillFieldMap() { - p.fieldMap = make(map[string]field.Expr, 2) + p.fieldMap = make(map[string]field.Expr, 3) p.fieldMap["id"] = p.Id p.fieldMap["text"] = p.Text + p.fieldMap["created_at"] = p.CreatedAt } func (p post) clone(db *gorm.DB) post { diff --git a/internal/services/author.go b/internal/services/author.go index 157907f..9ffb331 100644 --- a/internal/services/author.go +++ b/internal/services/author.go @@ -35,9 +35,9 @@ func (service *AuthorService) Update(item Author) (Author, error) { err := dal.Author.Preload(field.Associations).Save(&item) return item, err } -func (service *AuthorService) Delete(item Author) (Author, error) { - _, err := dal.Author.Unscoped().Preload(field.Associations).Delete(&item) - return item, err +func (service *AuthorService) Delete(id uint) error { + _, err := dal.Author.Unscoped().Where(dal.Author.Id.Eq(id)).Delete() + return err } func (service *AuthorService) Count() (int64, error) { amount, err := dal.Author.Count() diff --git a/internal/services/post.go b/internal/services/post.go index 6df89b5..8d99419 100644 --- a/internal/services/post.go +++ b/internal/services/post.go @@ -34,14 +34,17 @@ func (service *PostService) GetById(id uint) (*Post, error) { } return item, nil } + func (service *PostService) Update(item Post) (Post, error) { err := dal.Post.Preload(field.Associations).Save(&item) return item, err } -func (service *PostService) Delete(item Post) (Post, error) { - _, err := dal.Post.Unscoped().Preload(field.Associations).Delete(&item) - return item, err + +func (service *PostService) Delete(id uint) error { + _, err := dal.Post.Unscoped().Where(dal.Post.Id.Eq(id)).Delete() + return err } + func (service *PostService) Count() (int64, error) { amount, err := dal.Post.Count() return amount, err diff --git a/internal/services/service.go b/internal/services/service.go index 071953a..4fc102e 100644 --- a/internal/services/service.go +++ b/internal/services/service.go @@ -5,6 +5,6 @@ type Service[T any] interface { GetById(id uint) (*T, error) Create(item T) (T, error) Update(item T) (T, error) - Delete(item T) (T, error) + Delete(id uint) error Count() (int64, error) }