From d6b7157463c30d94018996f5154b38b6b61c1323 Mon Sep 17 00:00:00 2001 From: Denis Arh Date: Thu, 23 Jul 2020 19:06:15 +0200 Subject: [PATCH] Add updated-at to scripts, fix prefix-filtering --- pkg/corredor/filter.go | 4 ++++ pkg/corredor/service.go | 2 ++ pkg/corredor/types.go | 1 + pkg/corredor/util.go | 8 +++++++- 4 files changed, 14 insertions(+), 1 deletion(-) diff --git a/pkg/corredor/filter.go b/pkg/corredor/filter.go index 5f7002e46..83e7bb142 100644 --- a/pkg/corredor/filter.go +++ b/pkg/corredor/filter.go @@ -64,6 +64,10 @@ func (f *Filter) procRTPrefixes(service string) { hasService, hasUi bool ) + if service == "" { + return + } + for i, rtp := range f.ResourceTypePrefixes { if rtp == service { hasService = true diff --git a/pkg/corredor/service.go b/pkg/corredor/service.go index d44bf2492..541b197d3 100644 --- a/pkg/corredor/service.go +++ b/pkg/corredor/service.go @@ -470,6 +470,7 @@ func (svc *service) registerServerScripts(ctx context.Context, ss ...*ServerScri Errors: script.Errors, Triggers: script.Triggers, Iterator: script.Iterator, + UpdatedAt: script.UpdatedAt, } if len(s.Errors) == 0 { @@ -871,6 +872,7 @@ func (svc *service) registerClientScripts(ss ...*ClientScript) { Triggers: script.Triggers, Bundle: script.Bundle, Type: script.Type, + UpdatedAt: script.UpdatedAt, } } } diff --git a/pkg/corredor/types.go b/pkg/corredor/types.go index 41075fbf4..2c34e9070 100644 --- a/pkg/corredor/types.go +++ b/pkg/corredor/types.go @@ -27,6 +27,7 @@ type ( Triggers []*Trigger `json:"triggers"` Iterator *Iterator `json:"iterator"` Security *ScriptSecurity `json:"security"` + UpdatedAt string `json:"updatedAt,omitempty"` // If bundle or type is set, consider // this a frontend script diff --git a/pkg/corredor/util.go b/pkg/corredor/util.go index 878cf5b0f..7f5db22df 100644 --- a/pkg/corredor/util.go +++ b/pkg/corredor/util.go @@ -97,7 +97,13 @@ func encodeArguments(args map[string]string, key string, val interface{}) (err e // GenericListHandler returns filtered list of scripts func GenericListHandler(ctx context.Context, svc *service, f Filter, resourcePrefix string) (p *automationListSetPayload, err error) { - f.procRTPrefixes(resourcePrefix) + if f.ExcludeInvalid { + // resource prefix filtering is only applicable when we want to + // exclude invalid scripts, because invalid scripts do not have + // (usually, depends at what level error occurred) information + // about triggers and resources + f.procRTPrefixes(resourcePrefix) + } p = &automationListSetPayload{} p.Set, p.Filter, err = svc.Find(ctx, f)