mirror of https://github.com/harness/drone.git
parent
16dd28329b
commit
d6f64c8af6
|
@ -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)
|
||||
|
|
|
@ -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")
|
||||
}
|
||||
|
|
|
@ -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
|
||||
}
|
||||
|
||||
|
|
|
@ -37,4 +37,5 @@ type GitspaceEventFilter struct {
|
|||
QueryKey string
|
||||
EntityID int64
|
||||
EntityType enum.GitspaceEntityType
|
||||
SkipEvents []enum.GitspaceEventType // not include events
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue