From f3b41c6b25e7148a9d6c10db3ef29eb68ab6c043 Mon Sep 17 00:00:00 2001 From: Quaternions Date: Wed, 27 Nov 2024 22:47:30 -0800 Subject: [PATCH] read itzaname code and simplify wacky string stuff --- pkg/datastore/gormstore/submissions.go | 10 +--------- 1 file changed, 1 insertion(+), 9 deletions(-) diff --git a/pkg/datastore/gormstore/submissions.go b/pkg/datastore/gormstore/submissions.go index e9bea39..6e83b27 100644 --- a/pkg/datastore/gormstore/submissions.go +++ b/pkg/datastore/gormstore/submissions.go @@ -3,8 +3,6 @@ package gormstore import ( "context" "errors" - "fmt" - "strings" "git.itzana.me/strafesnet/maps-service/pkg/datastore" "git.itzana.me/strafesnet/maps-service/pkg/model" @@ -55,13 +53,7 @@ func (env *Submissions) Update(ctx context.Context, id int64, values datastore.O // the update can only occur if the status matches one of the provided values. func (env *Submissions) IfStatusThenUpdate(ctx context.Context, id int64, statuses []model.Status, values datastore.OptionalMap) error { - tx := env.db.Model(&model.Submission{}).Where("id = ?", id) - expr := make([]string, 0,len(statuses)) - for i, status := range statuses{ - expr[i] = fmt.Sprintf("status = %d", int32(status)) - } - tx = tx.Where(strings.Join(expr, " OR ")) - if err := tx.Updates(values.Map()).Error; err != nil { + if err := env.db.Model(&model.Submission{}).Where("id = ?", id).Where("status IN ?",statuses).Updates(values.Map()).Error; err != nil { if err == gorm.ErrRecordNotFound { return datastore.ErrNotExist }