feat: [CDE-460]:filter events for cde (#2950)

* filter events
pull/3586/head
Deepak Bhatt 2024-11-07 14:11:51 +00:00 committed by Harness
parent 16dd28329b
commit d6f64c8af6
4 changed files with 19 additions and 5 deletions

View File

@ -53,6 +53,11 @@ func (c *Controller) Events(
filter.QueryKey = identifier
filter.Page = page
filter.Size = limit
filter.SkipEvents = []enum.GitspaceEventType{
enum.GitspaceEventTypeInfraCleanupStart,
enum.GitspaceEventTypeInfraCleanupCompleted,
enum.GitspaceEventTypeInfraCleanupFailed,
}
events, count, err := c.gitspaceEventStore.List(ctx, filter)
if err != nil {
return nil, 0, fmt.Errorf("failed to list gitspace events for identifier %s: %w", identifier, err)

View File

@ -55,6 +55,13 @@ func (s *Service) handleGitspaceInfraEvent(
config.GitspaceInstance = instance
}
defer func() {
updateErr := s.gitspaceSvc.UpdateInstance(ctx, instance)
if updateErr != nil {
log.Err(updateErr).Msgf("failed to update gitspace instance")
}
}()
var err error
switch payload.Type {
@ -101,14 +108,10 @@ func (s *Service) handleGitspaceInfraEvent(
instance.State = instanceState
default:
instance.State = enum.GitspaceInstanceStateError
return fmt.Errorf("unknown event type: %s", event.Payload.Type)
}
updateErr := s.gitspaceSvc.UpdateInstance(ctx, instance)
if updateErr != nil {
log.Err(updateErr).Msgf("failed to update gitspace instance")
}
if err != nil {
log.Err(err).Msgf("error while handling gitspace infra event")
}

View File

@ -173,6 +173,11 @@ func (g gitspaceEventStore) setQueryFilter(
if filter.EntityID != 0 {
stmt = stmt.Where(squirrel.Eq{"geven_entity_id": filter.EntityID})
}
if len(filter.SkipEvents) != 0 {
stmt = stmt.Where(squirrel.NotEq{"geven_event": filter.SkipEvents})
}
return stmt
}

View File

@ -37,4 +37,5 @@ type GitspaceEventFilter struct {
QueryKey string
EntityID int64
EntityType enum.GitspaceEntityType
SkipEvents []enum.GitspaceEventType // not include events
}