@@ -22,6 +22,8 @@ import (
2222 "fmt"
2323 "regexp"
2424
25+ "knative.dev/eventing/pkg/apis/feature"
26+
2527 "knative.dev/eventing/pkg/apis/eventing"
2628
2729 corev1 "k8s.io/api/core/v1"
@@ -55,7 +57,7 @@ func (ts *TriggerSpec) Validate(ctx context.Context) (errs *apis.FieldError) {
5557 return errs .Also (
5658 ValidateAttributeFilters (ts .Filter ).ViaField ("filter" ),
5759 ).Also (
58- ValidateSubscriptionAPIFiltersList (ts .Filters ).ViaField ("filters" ),
60+ ValidateSubscriptionAPIFiltersList (ctx , ts .Filters ).ViaField ("filters" ),
5961 ).Also (
6062 ts .Subscriber .Validate (ctx ).ViaField ("subscriber" ),
6163 ).Also (
@@ -181,19 +183,19 @@ func ValidateSingleAttributeMap(expr map[string]string) (errs *apis.FieldError)
181183 return errs
182184}
183185
184- func ValidateSubscriptionAPIFiltersList (filters []SubscriptionsAPIFilter ) (errs * apis.FieldError ) {
185- if filters == nil {
186+ func ValidateSubscriptionAPIFiltersList (ctx context. Context , filters []SubscriptionsAPIFilter ) (errs * apis.FieldError ) {
187+ if filters == nil || ! feature . FromContext ( ctx ). IsEnabled ( feature . NewTriggerFilters ) {
186188 return nil
187189 }
188190
189191 for i , f := range filters {
190192 f := f
191- errs = errs .Also (ValidateSubscriptionAPIFilter (& f )).ViaIndex (i )
193+ errs = errs .Also (ValidateSubscriptionAPIFilter (ctx , & f )).ViaIndex (i )
192194 }
193195 return errs
194196}
195197
196- func ValidateSubscriptionAPIFilter (filter * SubscriptionsAPIFilter ) (errs * apis.FieldError ) {
198+ func ValidateSubscriptionAPIFilter (ctx context. Context , filter * SubscriptionsAPIFilter ) (errs * apis.FieldError ) {
197199 if filter == nil {
198200 return nil
199201 }
@@ -206,10 +208,10 @@ func ValidateSubscriptionAPIFilter(filter *SubscriptionsAPIFilter) (errs *apis.F
206208 ).Also (
207209 ValidateSingleAttributeMap (filter .Suffix ).ViaField ("suffix" ),
208210 ).Also (
209- ValidateSubscriptionAPIFiltersList (filter .All ).ViaField ("all" ),
211+ ValidateSubscriptionAPIFiltersList (ctx , filter .All ).ViaField ("all" ),
210212 ).Also (
211- ValidateSubscriptionAPIFiltersList (filter .Any ).ViaField ("any" ),
212- ).Also (ValidateSubscriptionAPIFilter (filter .Not ).ViaField ("not" ))
213+ ValidateSubscriptionAPIFiltersList (ctx , filter .Any ).ViaField ("any" ),
214+ ).Also (ValidateSubscriptionAPIFilter (ctx , filter .Not ).ViaField ("not" ))
213215 return errs
214216}
215217
0 commit comments