@@ -10,10 +10,9 @@ import (
1010 "go.temporal.io/api/workflowservice/v1"
1111 "go.temporal.io/server/chasm"
1212 nexusoperationpb "go.temporal.io/server/chasm/lib/nexusoperation/gen/nexusoperationpb/v1"
13- "go.temporal.io/server/common/log"
1413 "go.temporal.io/server/common/namespace"
1514 commonnexus "go.temporal.io/server/common/nexus"
16- "go.temporal.io/server/common/searchattribute "
15+ "go.temporal.io/server/common/validation "
1716 "google.golang.org/protobuf/types/known/durationpb"
1817 "google.golang.org/protobuf/types/known/emptypb"
1918 "google.golang.org/protobuf/types/known/timestamppb"
@@ -36,30 +35,24 @@ var ErrStandaloneNexusOperationDisabled = serviceerror.NewUnimplemented("Standal
3635type frontendHandler struct {
3736 client nexusoperationpb.NexusOperationServiceClient
3837 config * Config
39- logger log.Logger
4038 namespaceRegistry namespace.Registry
4139 endpointRegistry commonnexus.EndpointRegistry
42- saMapperProvider searchattribute.MapperProvider
43- saValidator * searchattribute.Validator
40+ validatorRegistry * validation.ValidatorRegistry
4441}
4542
4643func NewFrontendHandler (
4744 client nexusoperationpb.NexusOperationServiceClient ,
4845 config * Config ,
49- logger log.Logger ,
5046 namespaceRegistry namespace.Registry ,
5147 endpointRegistry commonnexus.EndpointRegistry ,
52- saMapperProvider searchattribute.MapperProvider ,
53- saValidator * searchattribute.Validator ,
48+ validatorRegistry * validation.ValidatorRegistry ,
5449) FrontendHandler {
5550 return & frontendHandler {
5651 client : client ,
5752 config : config ,
58- logger : logger ,
5953 namespaceRegistry : namespaceRegistry ,
6054 endpointRegistry : endpointRegistry ,
61- saMapperProvider : saMapperProvider ,
62- saValidator : saValidator ,
55+ validatorRegistry : validatorRegistry ,
6356 }
6457}
6558
@@ -76,7 +69,11 @@ func (h *frontendHandler) StartNexusOperationExecution(
7669 return nil , err
7770 }
7871
79- if err := validateAndNormalizeStartRequest (req , h .config , h .logger , h .saMapperProvider , h .saValidator ); err != nil {
72+ validator , ok := validation.ValidatorFor [workflowservice.StartNexusOperationExecutionRequest ](h .validatorRegistry )
73+ if ! ok {
74+ return nil , serviceerror .NewInternal ("validator is not registered for StartNexusOperationExecutionRequest" )
75+ }
76+ if err := validator .ValidateAndNormalize (req ); err != nil {
8077 return nil , err
8178 }
8279
0 commit comments