From f1cb9986c22b09bb5efe70bf2517b35a14a88065 Mon Sep 17 00:00:00 2001 From: Deepak Bhatt Date: Mon, 7 Oct 2024 15:51:31 +0000 Subject: [PATCH] fix: [CDE-202]:udpate query for bulk update git instance state (#2777) * add update all * udpate query for bulk update git instance state --- app/services/gitspace/update_instance.go | 14 ++++++++++++++ app/store/database.go | 7 ++++++- app/store/database/gitspace_instance.go | 2 ++ 3 files changed, 22 insertions(+), 1 deletion(-) diff --git a/app/services/gitspace/update_instance.go b/app/services/gitspace/update_instance.go index 1cd3a1d64..2b928d026 100644 --- a/app/services/gitspace/update_instance.go +++ b/app/services/gitspace/update_instance.go @@ -20,6 +20,7 @@ import ( "time" "github.com/harness/gitness/types" + "github.com/harness/gitness/types/enum" ) func (c *Service) UpdateInstance( @@ -33,3 +34,16 @@ func (c *Service) UpdateInstance( } return nil } + +func (c *Service) UpdateAllStateInstance( + ctx context.Context, + status enum.GitspaceInstanceStateType, + instancesIDs []int64, +) error { + updatedUnixTime := time.Now().UnixMilli() + err := c.gitspaceInstanceStore.BulkUpdateState(ctx, status, updatedUnixTime, instancesIDs) + if err != nil { + return fmt.Errorf("failed to update all statue of gitspace instances: %w", err) + } + return nil +} diff --git a/app/store/database.go b/app/store/database.go index d8d398325..a06fd274a 100644 --- a/app/store/database.go +++ b/app/store/database.go @@ -677,7 +677,12 @@ type ( Update(ctx context.Context, gitspaceInstance *types.GitspaceInstance) error // BulkUpdateState updates state of given gitspace instance IDs to given state - BulkUpdateState(ctx context.Context, state enum.GitspaceInstanceStateType, gitspaceInstanceIDs []int64) error + BulkUpdateState( + ctx context.Context, + state enum.GitspaceInstanceStateType, + updateTimeUnix int64, + gitspaceInstanceIDs []int64, + ) error // List lists the gitspace instance present in a parent space ID in the datastore. List(ctx context.Context, filter *types.GitspaceFilter) ([]*types.GitspaceInstance, error) diff --git a/app/store/database/gitspace_instance.go b/app/store/database/gitspace_instance.go index 1cf2f57c6..93feb06c6 100644 --- a/app/store/database/gitspace_instance.go +++ b/app/store/database/gitspace_instance.go @@ -259,11 +259,13 @@ func (g gitspaceInstanceStore) Update( func (g gitspaceInstanceStore) BulkUpdateState( ctx context.Context, state enum.GitspaceInstanceStateType, + updateTimeUnix int64, gitspaceInstanceIDs []int64, ) error { stmt := database.Builder. Update(gitspaceInstanceTable). Set("gits_state", state). + Set("gits_updated", updateTimeUnix). Where(squirrel.Eq{"gits_id": gitspaceInstanceIDs}) sqlStr, args, err := stmt.ToSql()