Add "exposed" operation for system nexus endpoint#736
Add "exposed" operation for system nexus endpoint#736
Conversation
| // (-- api-linter: core::0136::prepositions=disabled | ||
| // aip.dev/not-precedent: "With" is used to indicate combined operation. --) | ||
| rpc SignalWithStartWorkflowExecution (SignalWithStartWorkflowExecutionRequest) returns (SignalWithStartWorkflowExecutionResponse) { | ||
| option (nexus.v1.operation).tags = "exposed"; |
There was a problem hiding this comment.
For reviewer: this tag can be used by our code generation tool to generate Nexus handler interfaces.
lina-temporal
left a comment
There was a problem hiding this comment.
I like the annotation approach here, I think that even with the downside of a few of the fields being irrelevant in Nexus operation context, it's still the best option for maintainability and adoption across our APIs. Think we're still in discussion on the nature of the codegen, but this part LGTM.
bergundy
left a comment
There was a problem hiding this comment.
We have some questions to answer before we can merge this.
|
|
||
| import "google/protobuf/descriptor.proto"; | ||
|
|
||
| option go_package = "github.com/bergundy/nexus-proto-annotations/go/nexus/v1"; |
There was a problem hiding this comment.
The package name here would be different depending on the verdict of where we would want to put these annotations. I don't think we should reference anything in my personal repo.
There was a problem hiding this comment.
Also note that the annotations already exist in the referenced GH repo, I had to inline them here because the package name nexus was conflicting and confusing our protoc generation pipeline.
What changed?
Add
nexusannotations/v1package to define service operations as exposed for Nexus handlers.A sample of a code generator that takes use of this command is here
Why?
Enables the system nexus endpoint work in server repo
Breaking changes
NA
Server PR
NA