diff --git a/controlplane/src/core/bufservices/subgraph/createFederatedSubgraph.ts b/controlplane/src/core/bufservices/subgraph/createFederatedSubgraph.ts index 05920951e2..d26d155969 100644 --- a/controlplane/src/core/bufservices/subgraph/createFederatedSubgraph.ts +++ b/controlplane/src/core/bufservices/subgraph/createFederatedSubgraph.ts @@ -20,7 +20,7 @@ import { getLogger, handleError, isValidGraphName, - isValidGrpcNamingScheme, + isValidGrpcSubgraphRoutingURL, isValidLabels, } from '../../util.js'; import { UnauthorizedError } from '../../errors/errors.js'; @@ -167,14 +167,19 @@ export function createFederatedSubgraph( admissionErrors: [], }; } - // For GRPC_SERVICE subgraphs, validate that routing URL follows gRPC naming scheme - if (req.type === SubgraphType.GRPC_SERVICE && !isValidGrpcNamingScheme(routingUrl)) { + // For GRPC_SERVICE subgraphs, the routing URL may use either a gRPC + // naming scheme (for native gRPC dialing) or http(s):// (for ConnectRPC). + // The router selects the actual transport at request time via the + // `grpc_protocol` configuration block. + if (req.type === SubgraphType.GRPC_SERVICE && !isValidGrpcSubgraphRoutingURL(routingUrl)) { return { response: { code: EnumStatusCode.ERR, details: - `Routing URL must follow gRPC naming scheme. ` + - `See https://grpc.io/docs/guides/custom-name-resolution/ for examples.`, + `Routing URL "${routingUrl}" is not a valid gRPC subgraph URL. ` + + `Use http(s)://host:port for ConnectRPC or a gRPC naming scheme ` + + `(e.g. dns:///host:port) for native gRPC. ` + + `See https://grpc.io/docs/guides/custom-name-resolution/ for the gRPC schemes.`, }, compositionErrors: [], admissionErrors: [], diff --git a/controlplane/src/core/bufservices/subgraph/publishFederatedSubgraph.ts b/controlplane/src/core/bufservices/subgraph/publishFederatedSubgraph.ts index 3b8b71fb81..78f03d5952 100644 --- a/controlplane/src/core/bufservices/subgraph/publishFederatedSubgraph.ts +++ b/controlplane/src/core/bufservices/subgraph/publishFederatedSubgraph.ts @@ -32,7 +32,7 @@ import { getLogger, handleError, isValidGraphName, - isValidGrpcNamingScheme, + isValidGrpcSubgraphRoutingURL, isValidLabels, isValidPluginVersion, } from '../../util.js'; @@ -402,14 +402,18 @@ export function publishFederatedSubgraph( proposalMatchMessage, }; } - // For GRPC_SERVICE subgraphs, validate that routing URL follows gRPC naming scheme - if (req.type === SubgraphType.GRPC_SERVICE && !isValidGrpcNamingScheme(routingUrl)) { + // For GRPC_SERVICE subgraphs the routing URL may use either a gRPC + // naming scheme (native gRPC) or http(s):// (ConnectRPC). The router + // selects the actual transport via the `grpc_protocol` config block. + if (req.type === SubgraphType.GRPC_SERVICE && !isValidGrpcSubgraphRoutingURL(routingUrl)) { return { response: { code: EnumStatusCode.ERR, details: - `Routing URL must follow gRPC naming scheme. ` + - `See https://grpc.io/docs/guides/custom-name-resolution/ for examples.`, + `Routing URL "${routingUrl}" is not a valid gRPC subgraph URL. ` + + `Use http(s)://host:port for ConnectRPC or a gRPC naming scheme ` + + `(e.g. dns:///host:port) for native gRPC. ` + + `See https://grpc.io/docs/guides/custom-name-resolution/ for the gRPC schemes.`, }, compositionErrors: [], deploymentErrors: [], diff --git a/controlplane/src/core/bufservices/subgraph/updateSubgraph.ts b/controlplane/src/core/bufservices/subgraph/updateSubgraph.ts index 5849b4b211..0d816b0016 100644 --- a/controlplane/src/core/bufservices/subgraph/updateSubgraph.ts +++ b/controlplane/src/core/bufservices/subgraph/updateSubgraph.ts @@ -21,7 +21,7 @@ import { formatWebsocketSubprotocol, getLogger, handleError, - isValidGrpcNamingScheme, + isValidGrpcSubgraphRoutingURL, isValidLabels, } from '../../util.js'; import { OrganizationWebhookService } from '../../webhooks/OrganizationWebhookService.js'; @@ -152,18 +152,22 @@ export function updateSubgraph( compositionWarnings: [], }; } - // For GRPC_SERVICE subgraphs, validate that routing URL follows gRPC naming scheme + // For GRPC_SERVICE subgraphs the routing URL may use either a gRPC + // naming scheme (native gRPC) or http(s):// (ConnectRPC). The router + // selects the actual transport via the `grpc_protocol` config block. if ( req.routingUrl !== undefined && subgraph.type === formatSubgraphType(SubgraphType.GRPC_SERVICE) && - !isValidGrpcNamingScheme(req.routingUrl) + !isValidGrpcSubgraphRoutingURL(req.routingUrl) ) { return { response: { code: EnumStatusCode.ERR, details: - `Routing URL must follow gRPC naming scheme. ` + - `See https://grpc.io/docs/guides/custom-name-resolution/ for examples.`, + `Routing URL "${req.routingUrl}" is not a valid gRPC subgraph URL. ` + + `Use http(s)://host:port for ConnectRPC or a gRPC naming scheme ` + + `(e.g. dns:///host:port) for native gRPC. ` + + `See https://grpc.io/docs/guides/custom-name-resolution/ for the gRPC schemes.`, }, compositionErrors: [], deploymentErrors: [], diff --git a/controlplane/src/core/util.test.ts b/controlplane/src/core/util.test.ts index 3d378ca7ec..8c0dcd4e71 100644 --- a/controlplane/src/core/util.test.ts +++ b/controlplane/src/core/util.test.ts @@ -3,6 +3,7 @@ import { extractOperationNames, hasLabelsChanged, isValidGrpcNamingScheme, + isValidGrpcSubgraphRoutingURL, isValidLabels, isValidNamespaceName, normalizePagination, @@ -524,3 +525,38 @@ describe('isValidGrpcNamingScheme', () => { }); }); }); + +describe('isValidGrpcSubgraphRoutingURL', () => { + test('accepts http URLs (ConnectRPC)', () => { + expect(isValidGrpcSubgraphRoutingURL('http://localhost:8080')).toBe(true); + expect(isValidGrpcSubgraphRoutingURL('http://example.com:443')).toBe(true); + expect(isValidGrpcSubgraphRoutingURL('http://example.com:443/grpc')).toBe(true); + }); + + test('accepts https URLs (ConnectRPC)', () => { + expect(isValidGrpcSubgraphRoutingURL('https://api.example.com')).toBe(true); + expect(isValidGrpcSubgraphRoutingURL('https://api.example.com:8443/v1')).toBe(true); + }); + + test('case-insensitive on http(s) scheme', () => { + expect(isValidGrpcSubgraphRoutingURL('HTTP://localhost:8080')).toBe(true); + expect(isValidGrpcSubgraphRoutingURL('HTTPS://api.example.com')).toBe(true); + }); + + test('rejects malformed http URLs', () => { + expect(isValidGrpcSubgraphRoutingURL('http://')).toBe(false); + expect(isValidGrpcSubgraphRoutingURL('https://')).toBe(false); + }); + + test('delegates to isValidGrpcNamingScheme for non-http schemes', () => { + expect(isValidGrpcSubgraphRoutingURL('dns:///example.com:8080')).toBe(true); + expect(isValidGrpcSubgraphRoutingURL('localhost:8080')).toBe(true); + expect(isValidGrpcSubgraphRoutingURL('unix:/tmp/sock')).toBe(true); + expect(isValidGrpcSubgraphRoutingURL('ftp://example.com')).toBe(false); + }); + + test('rejects empty / whitespace-only', () => { + expect(isValidGrpcSubgraphRoutingURL('')).toBe(false); + expect(isValidGrpcSubgraphRoutingURL(' ')).toBe(false); + }); +}); diff --git a/controlplane/src/core/util.ts b/controlplane/src/core/util.ts index 0b6e405b5f..8adaf7fbb9 100644 --- a/controlplane/src/core/util.ts +++ b/controlplane/src/core/util.ts @@ -902,3 +902,34 @@ export function isValidGrpcNamingScheme(url: string): boolean { } } } + +/** + * Validates a routing URL accepted for a GRPC_SERVICE subgraph. The router + * can reach a gRPC subgraph over either native gRPC (via the gRPC name + * resolver schemes) or ConnectRPC over HTTP/1.1, and the protocol is chosen + * at request time by the router via the `grpc_protocol` configuration block. + * + * Accepts: + * - any URL using one of the gRPC naming schemes recognised by + * isValidGrpcNamingScheme (dns:, unix:, unix-abstract:, vsock:, ipv4:, ipv6:), + * - any well-formed http:// or https:// URL. + */ +export function isValidGrpcSubgraphRoutingURL(url: string): boolean { + const value = url.trim(); + if (!value) { + return false; + } + + const lower = value.toLowerCase(); + if (lower.startsWith('http://') || lower.startsWith('https://')) { + try { + // eslint-disable-next-line no-new + new URL(value); + return true; + } catch { + return false; + } + } + + return isValidGrpcNamingScheme(value); +} diff --git a/controlplane/test/subgraph/create-subgraph.test.ts b/controlplane/test/subgraph/create-subgraph.test.ts index 1a63f20ff3..afc95650c1 100644 --- a/controlplane/test/subgraph/create-subgraph.test.ts +++ b/controlplane/test/subgraph/create-subgraph.test.ts @@ -930,7 +930,7 @@ describe('Create subgraph tests', () => { expect(createGrpcServiceSubgraphResp.response?.details).toBe('Routing URL "invalid-url" is not a valid URL'); }); - test('Should not allow creating a GRPC service subgraph with HTTP/HTTPS routing URL', async (testContext) => { + test('Should allow creating a GRPC service subgraph with an HTTP/HTTPS routing URL (ConnectRPC)', async (testContext) => { const { client, server } = await SetupTest({ dbname, }); @@ -938,7 +938,8 @@ describe('Create subgraph tests', () => { const grpcServiceLabel = genUniqueLabel('service'); - // Test HTTP URL + // ConnectRPC subgraphs serve over plain HTTP, so http:// must be a + // legitimate routing URL even though the subgraph type is GRPC_SERVICE. const createGrpcServiceSubgraphRespHttp = await client.createFederatedSubgraph({ name: genID('grpc-service-http'), namespace: DEFAULT_NAMESPACE, @@ -947,12 +948,8 @@ describe('Create subgraph tests', () => { labels: [grpcServiceLabel], }); - expect(createGrpcServiceSubgraphRespHttp.response?.code).toBe(EnumStatusCode.ERR); - expect(createGrpcServiceSubgraphRespHttp.response?.details).toContain( - 'Routing URL must follow gRPC naming scheme', - ); + expect(createGrpcServiceSubgraphRespHttp.response?.code).toBe(EnumStatusCode.OK); - // Test HTTPS URL const createGrpcServiceSubgraphRespHttps = await client.createFederatedSubgraph({ name: genID('grpc-service-https'), namespace: DEFAULT_NAMESPACE, @@ -961,10 +958,7 @@ describe('Create subgraph tests', () => { labels: [grpcServiceLabel], }); - expect(createGrpcServiceSubgraphRespHttps.response?.code).toBe(EnumStatusCode.ERR); - expect(createGrpcServiceSubgraphRespHttps.response?.details).toContain( - 'Routing URL must follow gRPC naming scheme', - ); + expect(createGrpcServiceSubgraphRespHttps.response?.code).toBe(EnumStatusCode.OK); }); test('Should allow creating a GRPC service subgraph with valid gRPC naming scheme URLs', async (testContext) => { diff --git a/controlplane/test/subgraph/publish-subgraph.test.ts b/controlplane/test/subgraph/publish-subgraph.test.ts index ad24f88ac1..4a22383436 100644 --- a/controlplane/test/subgraph/publish-subgraph.test.ts +++ b/controlplane/test/subgraph/publish-subgraph.test.ts @@ -1100,7 +1100,7 @@ describe('Publish subgraph tests', () => { }, ); - test('Should not allow publishing a GRPC service subgraph with HTTP/HTTPS routing URL', async (testContext) => { + test('Should allow publishing a GRPC service subgraph with an HTTP/HTTPS routing URL (ConnectRPC)', async (testContext) => { const { client, server } = await SetupTest({ dbname, }); @@ -1108,7 +1108,9 @@ describe('Publish subgraph tests', () => { const grpcServiceLabel = genUniqueLabel('grpc-service'); - // Test HTTP URL when creating and publishing in one step + // ConnectRPC subgraphs serve over plain HTTP, so the create-and-publish + // path must accept http:// (and https://) URLs even though the subgraph + // type is GRPC_SERVICE. const publishResponseHttp = await client.publishFederatedSubgraph({ name: genID('grpc-service-http'), namespace: 'default', @@ -1119,10 +1121,8 @@ describe('Publish subgraph tests', () => { labels: [grpcServiceLabel], }); - expect(publishResponseHttp.response?.code).toBe(EnumStatusCode.ERR); - expect(publishResponseHttp.response?.details).toContain('Routing URL must follow gRPC naming scheme'); + expect(publishResponseHttp.response?.code).toBe(EnumStatusCode.OK); - // Test HTTPS URL when creating and publishing in one step const publishResponseHttps = await client.publishFederatedSubgraph({ name: genID('grpc-service-https'), namespace: 'default', @@ -1133,8 +1133,7 @@ describe('Publish subgraph tests', () => { labels: [grpcServiceLabel], }); - expect(publishResponseHttps.response?.code).toBe(EnumStatusCode.ERR); - expect(publishResponseHttps.response?.details).toContain('Routing URL must follow gRPC naming scheme'); + expect(publishResponseHttps.response?.code).toBe(EnumStatusCode.OK); }); test('Should allow publishing a GRPC service subgraph with valid gRPC naming scheme URLs', async (testContext) => { diff --git a/controlplane/test/subgraph/update-subgraph.test.ts b/controlplane/test/subgraph/update-subgraph.test.ts index 798bf0a98a..4168b7bfd1 100644 --- a/controlplane/test/subgraph/update-subgraph.test.ts +++ b/controlplane/test/subgraph/update-subgraph.test.ts @@ -226,14 +226,14 @@ describe('Update subgraph tests', () => { }); describe('GRPC Service subgraph update tests', () => { - test('Should not allow updating a GRPC service subgraph with HTTP/HTTPS routing URL', async (testContext) => { + test('Should allow updating a GRPC service subgraph with an HTTP/HTTPS routing URL (ConnectRPC)', async (testContext) => { const { client, server } = await SetupTest({ dbname }); testContext.onTestFinished(() => server.close()); const grpcServiceName = genID('grpc-service'); const grpcServiceLabel = genUniqueLabel('grpc-service'); - // First create a GRPC service subgraph with valid gRPC naming scheme + // Create with a gRPC naming scheme URL first. const createResp = await client.createFederatedSubgraph({ name: grpcServiceName, namespace: DEFAULT_NAMESPACE, @@ -244,25 +244,23 @@ describe('Update subgraph tests', () => { expect(createResp.response?.code).toBe(EnumStatusCode.OK); - // Try to update with HTTP URL + // Switching to ConnectRPC means the subgraph is now reachable over + // plain HTTP, so an http:// routing URL is the right thing to set. const updateResponseHttp = await client.updateSubgraph({ name: grpcServiceName, namespace: DEFAULT_NAMESPACE, routingUrl: 'http://localhost:8080', }); - expect(updateResponseHttp.response?.code).toBe(EnumStatusCode.ERR); - expect(updateResponseHttp.response?.details).toContain('Routing URL must follow gRPC naming scheme'); + expect(updateResponseHttp.response?.code).toBe(EnumStatusCode.OK); - // Try to update with HTTPS URL const updateResponseHttps = await client.updateSubgraph({ name: grpcServiceName, namespace: DEFAULT_NAMESPACE, routingUrl: 'https://example.com:8080', }); - expect(updateResponseHttps.response?.code).toBe(EnumStatusCode.ERR); - expect(updateResponseHttps.response?.details).toContain('Routing URL must follow gRPC naming scheme'); + expect(updateResponseHttps.response?.code).toBe(EnumStatusCode.OK); }); test('Should allow updating a GRPC service subgraph with valid gRPC naming scheme URLs', async (testContext) => { diff --git a/demo/Makefile b/demo/Makefile index 365f38e172..f575393056 100644 --- a/demo/Makefile +++ b/demo/Makefile @@ -21,6 +21,15 @@ plugin-generate: $(wgc_router) plugin build ./pkg/subgraphs/projects --generate-only --go-module-path github.com/wundergraph/cosmo/demo/pkg/subgraphs/projects $(wgc_router) plugin build ./pkg/subgraphs/courses --generate-only +# Regenerate the projects subgraph protobuf code (messages + gRPC + ConnectRPC) +# via buf. Use this after editing pkg/subgraphs/projects/generated/service.proto +# or after bumping any of protoc-gen-go, protoc-gen-go-grpc, protoc-gen-connect-go. +# The Connect handler is what makes the standalone subgraph reachable over both +# gRPC and ConnectRPC from the same H2C endpoint (see cmd/service/main.go). +.PHONY: projects-buf-generate +projects-buf-generate: + cd ./pkg/subgraphs/projects && buf generate generated + plugin-build-ci-bun-binary: $(wgc_router_ci) plugin build ./pkg/subgraphs/courses --yes diff --git a/demo/pkg/subgraphs/projects/buf.gen.yaml b/demo/pkg/subgraphs/projects/buf.gen.yaml new file mode 100644 index 0000000000..15afc6eb0f --- /dev/null +++ b/demo/pkg/subgraphs/projects/buf.gen.yaml @@ -0,0 +1,27 @@ +version: v2 +# service.proto declares `option go_package = "github.com/wundergraph/cosmo/demo/pkg/subgraphs/projects"` +# but the generated message/gRPC code lives at the .../generated subpath. +# The Connect plugin imports the message types via the proto's go_package, +# so we remap it to the actual generated path with M=. +plugins: + # Messages and gRPC server/client. The output is kept in sync with the + # existing wgc-driven flow so that the .pb.go and _grpc.pb.go files do not + # change shape after running buf generate. + - local: protoc-gen-go + out: generated + opt: + - paths=source_relative + - Mservice.proto=github.com/wundergraph/cosmo/demo/pkg/subgraphs/projects/generated + - local: protoc-gen-go-grpc + out: generated + opt: + - paths=source_relative + - Mservice.proto=github.com/wundergraph/cosmo/demo/pkg/subgraphs/projects/generated + # ConnectRPC handler/client. The handler also serves gRPC and gRPC-Web on + # the same HTTP endpoint, so the demo subgraph can be reached over either + # protocol from the router. Output goes to generated/projectsconnect/. + - local: protoc-gen-connect-go + out: generated + opt: + - paths=source_relative + - Mservice.proto=github.com/wundergraph/cosmo/demo/pkg/subgraphs/projects/generated diff --git a/demo/pkg/subgraphs/projects/buf.yaml b/demo/pkg/subgraphs/projects/buf.yaml new file mode 100644 index 0000000000..eb079f9937 --- /dev/null +++ b/demo/pkg/subgraphs/projects/buf.yaml @@ -0,0 +1,13 @@ +version: v2 +modules: + - path: generated +breaking: + use: + - FILE +lint: + use: + - DEFAULT + except: + - PACKAGE_VERSION_SUFFIX + - DIRECTORY_SAME_PACKAGE + - FILE_LOWER_SNAKE_CASE diff --git a/demo/pkg/subgraphs/projects/cmd/service/main.go b/demo/pkg/subgraphs/projects/cmd/service/main.go index 697685e88f..55ffc42188 100644 --- a/demo/pkg/subgraphs/projects/cmd/service/main.go +++ b/demo/pkg/subgraphs/projects/cmd/service/main.go @@ -1,102 +1,126 @@ -// This file is used to spawn the projects service as a standalone gRPC service. -// In contrast to the main.go in src which is used for gRPC plugins in the router. -// This allows the service to be deployed independently and communicate via gRPC -// with other services in the federation. +// This file is used to spawn the projects service as a standalone subgraph. +// In contrast to the main.go in src which is used for gRPC plugins in the +// router, this allows the service to be deployed independently and reached +// via the federation. +// +// The service is exposed through a ConnectRPC handler running over H2C, so +// the same endpoint accepts ConnectRPC, gRPC, and gRPC-Web traffic from the +// router on a single port. This means the demo subgraph can be exercised +// with whichever transport the router is configured to use via the +// `grpc_protocol` block. package main import ( "context" + "errors" "log" - "net" + "net/http" "os" "os/signal" "syscall" "time" - projects "github.com/wundergraph/cosmo/demo/pkg/subgraphs/projects/generated" + "connectrpc.com/connect" + "github.com/wundergraph/cosmo/demo/pkg/subgraphs/projects/generated/projectsconnect" "github.com/wundergraph/cosmo/demo/pkg/subgraphs/projects/src/service" - "google.golang.org/grpc" + "golang.org/x/net/http2" + "golang.org/x/net/http2/h2c" "google.golang.org/grpc/codes" "google.golang.org/grpc/status" ) const ( - port = ":4011" + addr = ":4011" ) -func recoveryInterceptor(ctx context.Context, req interface{}, info *grpc.UnaryServerInfo, handler grpc.UnaryHandler) (interface{}, error) { - defer func() { - if r := recover(); r != nil { - log.Printf("Recovered from panic: %v", r) +// recoveryInterceptor catches panics from RPC handlers so that one bad +// request cannot bring down the whole server. +func recoveryInterceptor() connect.UnaryInterceptorFunc { + return func(next connect.UnaryFunc) connect.UnaryFunc { + return func(ctx context.Context, req connect.AnyRequest) (resp connect.AnyResponse, err error) { + defer func() { + if r := recover(); r != nil { + log.Printf("Recovered from panic: %v", r) + err = connect.NewError(connect.CodeInternal, status.Errorf(codes.Internal, "panic: %v", r)) + } + }() + return next(ctx, req) } - }() - - return handler(ctx, req) + } } -func loggingInterceptor(ctx context.Context, req interface{}, info *grpc.UnaryServerInfo, handler grpc.UnaryHandler) (interface{}, error) { - start := time.Now() - - resp, err := handler(ctx, req) - - // Log the request details - log.Printf("Method: %s, Duration: %s, Error: %v", - info.FullMethod, - time.Since(start), - err, - ) - - return resp, err +// loggingInterceptor reports every RPC's procedure name, duration, and error. +func loggingInterceptor() connect.UnaryInterceptorFunc { + return func(next connect.UnaryFunc) connect.UnaryFunc { + return func(ctx context.Context, req connect.AnyRequest) (connect.AnyResponse, error) { + start := time.Now() + resp, err := next(ctx, req) + log.Printf("Method: %s, Duration: %s, Error: %v", + req.Spec().Procedure, + time.Since(start), + err, + ) + return resp, err + } + } } -func errorInterceptor(ctx context.Context, req interface{}, info *grpc.UnaryServerInfo, handler grpc.UnaryHandler) (interface{}, error) { - resp, err := handler(ctx, req) - if err != nil { - if _, ok := status.FromError(err); !ok { - err = status.Errorf(codes.Internal, "internal server error: %v", err) +// errorInterceptor maps non-Connect errors to internal-server errors so +// clients always observe a structured error response. +func errorInterceptor() connect.UnaryInterceptorFunc { + return func(next connect.UnaryFunc) connect.UnaryFunc { + return func(ctx context.Context, req connect.AnyRequest) (connect.AnyResponse, error) { + resp, err := next(ctx, req) + if err != nil { + var connErr *connect.Error + if !errors.As(err, &connErr) { + if _, ok := status.FromError(err); !ok { + err = connect.NewError(connect.CodeInternal, status.Errorf(codes.Internal, "internal server error: %v", err)) + } + } + } + return resp, err } } - - return resp, err } func main() { - // Create a listener on the specified port - lis, err := net.Listen("tcp", port) - if err != nil { - log.Fatalf("failed to listen: %v", err) - } - - // Create a new gRPC server - s := grpc.NewServer( - grpc.ChainUnaryInterceptor( - recoveryInterceptor, - loggingInterceptor, - errorInterceptor, + grpcImpl := &service.ProjectsService{} + connectImpl := service.NewProjectsConnectService(grpcImpl) + + mux := http.NewServeMux() + mux.Handle(projectsconnect.NewProjectsServiceHandler( + connectImpl, + connect.WithInterceptors( + connect.UnaryInterceptorFunc(recoveryInterceptor()), + connect.UnaryInterceptorFunc(loggingInterceptor()), + connect.UnaryInterceptorFunc(errorInterceptor()), ), - ) + )) - // Register the service - projects.RegisterProjectsServiceServer(s, &service.ProjectsService{}) + srv := &http.Server{ + Addr: addr, + Handler: h2c.NewHandler(mux, &http2.Server{}), + } - // Create a context that will be canceled on OS signals ctx, stop := signal.NotifyContext(context.Background(), os.Interrupt, syscall.SIGTERM) defer stop() - // Start the server in a goroutine go func() { - log.Printf("Starting gRPC server on %s", port) - if err := s.Serve(lis); err != nil { - log.Fatalf("failed to serve: %v", err) + log.Printf("Starting projects subgraph on %s (Connect, gRPC, gRPC-Web over H2C)", addr) + if err := srv.ListenAndServe(); err != nil && !errors.Is(err, http.ErrServerClosed) { + log.Fatalf("server error: %v", err) } }() - // Wait for interrupt signal <-ctx.Done() - // Gracefully stop the server - log.Println("Shutting down gRPC server...") - s.GracefulStop() + log.Println("Shutting down projects subgraph...") + shutdownCtx, cancel := context.WithTimeout(context.Background(), 10*time.Second) + defer cancel() + if err := srv.Shutdown(shutdownCtx); err != nil { + log.Printf("graceful shutdown failed: %v", err) + } log.Println("Server stopped") } diff --git a/demo/pkg/subgraphs/projects/generated/projectsconnect/service.connect.go b/demo/pkg/subgraphs/projects/generated/projectsconnect/service.connect.go new file mode 100644 index 0000000000..55bd04156c --- /dev/null +++ b/demo/pkg/subgraphs/projects/generated/projectsconnect/service.connect.go @@ -0,0 +1,1491 @@ +// Code generated by protoc-gen-connect-go. DO NOT EDIT. +// +// Source: service.proto + +package projectsconnect + +import ( + connect "connectrpc.com/connect" + context "context" + errors "errors" + generated "github.com/wundergraph/cosmo/demo/pkg/subgraphs/projects/generated" + http "net/http" + strings "strings" +) + +// This is a compile-time assertion to ensure that this generated file and the connect package are +// compatible. If you get a compiler error that this constant is not defined, this code was +// generated with a version of connect newer than the one compiled into your binary. You can fix the +// problem by either regenerating this code with an older version of connect or updating the connect +// version compiled into your binary. +const _ = connect.IsAtLeastVersion1_13_0 + +const ( + // ProjectsServiceName is the fully-qualified name of the ProjectsService service. + ProjectsServiceName = "service.ProjectsService" +) + +// These constants are the fully-qualified names of the RPCs defined in this package. They're +// exposed at runtime as Spec.Procedure and as the final two segments of the HTTP route. +// +// Note that these are different from the fully-qualified method names used by +// google.golang.org/protobuf/reflect/protoreflect. To convert from these constants to +// reflection-formatted method names, remove the leading slash and convert the remaining slash to a +// period. +const ( + // ProjectsServiceLookupEmployeeByIdProcedure is the fully-qualified name of the ProjectsService's + // LookupEmployeeById RPC. + ProjectsServiceLookupEmployeeByIdProcedure = "/service.ProjectsService/LookupEmployeeById" + // ProjectsServiceLookupMilestoneByIdProcedure is the fully-qualified name of the ProjectsService's + // LookupMilestoneById RPC. + ProjectsServiceLookupMilestoneByIdProcedure = "/service.ProjectsService/LookupMilestoneById" + // ProjectsServiceLookupProductByUpcProcedure is the fully-qualified name of the ProjectsService's + // LookupProductByUpc RPC. + ProjectsServiceLookupProductByUpcProcedure = "/service.ProjectsService/LookupProductByUpc" + // ProjectsServiceLookupProjectByIdProcedure is the fully-qualified name of the ProjectsService's + // LookupProjectById RPC. + ProjectsServiceLookupProjectByIdProcedure = "/service.ProjectsService/LookupProjectById" + // ProjectsServiceLookupTaskByIdProcedure is the fully-qualified name of the ProjectsService's + // LookupTaskById RPC. + ProjectsServiceLookupTaskByIdProcedure = "/service.ProjectsService/LookupTaskById" + // ProjectsServiceMutationAddMilestoneProcedure is the fully-qualified name of the ProjectsService's + // MutationAddMilestone RPC. + ProjectsServiceMutationAddMilestoneProcedure = "/service.ProjectsService/MutationAddMilestone" + // ProjectsServiceMutationAddProjectProcedure is the fully-qualified name of the ProjectsService's + // MutationAddProject RPC. + ProjectsServiceMutationAddProjectProcedure = "/service.ProjectsService/MutationAddProject" + // ProjectsServiceMutationAddTaskProcedure is the fully-qualified name of the ProjectsService's + // MutationAddTask RPC. + ProjectsServiceMutationAddTaskProcedure = "/service.ProjectsService/MutationAddTask" + // ProjectsServiceMutationUpdateProjectStatusProcedure is the fully-qualified name of the + // ProjectsService's MutationUpdateProjectStatus RPC. + ProjectsServiceMutationUpdateProjectStatusProcedure = "/service.ProjectsService/MutationUpdateProjectStatus" + // ProjectsServiceQueryArchivedProjectsProcedure is the fully-qualified name of the + // ProjectsService's QueryArchivedProjects RPC. + ProjectsServiceQueryArchivedProjectsProcedure = "/service.ProjectsService/QueryArchivedProjects" + // ProjectsServiceQueryKillServiceProcedure is the fully-qualified name of the ProjectsService's + // QueryKillService RPC. + ProjectsServiceQueryKillServiceProcedure = "/service.ProjectsService/QueryKillService" + // ProjectsServiceQueryMilestonesProcedure is the fully-qualified name of the ProjectsService's + // QueryMilestones RPC. + ProjectsServiceQueryMilestonesProcedure = "/service.ProjectsService/QueryMilestones" + // ProjectsServiceQueryNodesByIdProcedure is the fully-qualified name of the ProjectsService's + // QueryNodesById RPC. + ProjectsServiceQueryNodesByIdProcedure = "/service.ProjectsService/QueryNodesById" + // ProjectsServiceQueryPanicProcedure is the fully-qualified name of the ProjectsService's + // QueryPanic RPC. + ProjectsServiceQueryPanicProcedure = "/service.ProjectsService/QueryPanic" + // ProjectsServiceQueryProjectProcedure is the fully-qualified name of the ProjectsService's + // QueryProject RPC. + ProjectsServiceQueryProjectProcedure = "/service.ProjectsService/QueryProject" + // ProjectsServiceQueryProjectActivitiesProcedure is the fully-qualified name of the + // ProjectsService's QueryProjectActivities RPC. + ProjectsServiceQueryProjectActivitiesProcedure = "/service.ProjectsService/QueryProjectActivities" + // ProjectsServiceQueryProjectResourcesProcedure is the fully-qualified name of the + // ProjectsService's QueryProjectResources RPC. + ProjectsServiceQueryProjectResourcesProcedure = "/service.ProjectsService/QueryProjectResources" + // ProjectsServiceQueryProjectStatusesProcedure is the fully-qualified name of the ProjectsService's + // QueryProjectStatuses RPC. + ProjectsServiceQueryProjectStatusesProcedure = "/service.ProjectsService/QueryProjectStatuses" + // ProjectsServiceQueryProjectTagsProcedure is the fully-qualified name of the ProjectsService's + // QueryProjectTags RPC. + ProjectsServiceQueryProjectTagsProcedure = "/service.ProjectsService/QueryProjectTags" + // ProjectsServiceQueryProjectsProcedure is the fully-qualified name of the ProjectsService's + // QueryProjects RPC. + ProjectsServiceQueryProjectsProcedure = "/service.ProjectsService/QueryProjects" + // ProjectsServiceQueryProjectsByStatusProcedure is the fully-qualified name of the + // ProjectsService's QueryProjectsByStatus RPC. + ProjectsServiceQueryProjectsByStatusProcedure = "/service.ProjectsService/QueryProjectsByStatus" + // ProjectsServiceQueryResourceMatrixProcedure is the fully-qualified name of the ProjectsService's + // QueryResourceMatrix RPC. + ProjectsServiceQueryResourceMatrixProcedure = "/service.ProjectsService/QueryResourceMatrix" + // ProjectsServiceQuerySearchProjectsProcedure is the fully-qualified name of the ProjectsService's + // QuerySearchProjects RPC. + ProjectsServiceQuerySearchProjectsProcedure = "/service.ProjectsService/QuerySearchProjects" + // ProjectsServiceQueryTasksProcedure is the fully-qualified name of the ProjectsService's + // QueryTasks RPC. + ProjectsServiceQueryTasksProcedure = "/service.ProjectsService/QueryTasks" + // ProjectsServiceQueryTasksByPriorityProcedure is the fully-qualified name of the ProjectsService's + // QueryTasksByPriority RPC. + ProjectsServiceQueryTasksByPriorityProcedure = "/service.ProjectsService/QueryTasksByPriority" + // ProjectsServiceRequireEmployeeDeepWorkItemInfoByIdProcedure is the fully-qualified name of the + // ProjectsService's RequireEmployeeDeepWorkItemInfoById RPC. + ProjectsServiceRequireEmployeeDeepWorkItemInfoByIdProcedure = "/service.ProjectsService/RequireEmployeeDeepWorkItemInfoById" + // ProjectsServiceRequireEmployeeFilteredProjectSummaryByIdProcedure is the fully-qualified name of + // the ProjectsService's RequireEmployeeFilteredProjectSummaryById RPC. + ProjectsServiceRequireEmployeeFilteredProjectSummaryByIdProcedure = "/service.ProjectsService/RequireEmployeeFilteredProjectSummaryById" + // ProjectsServiceRequireEmployeeReviewReportByIdProcedure is the fully-qualified name of the + // ProjectsService's RequireEmployeeReviewReportById RPC. + ProjectsServiceRequireEmployeeReviewReportByIdProcedure = "/service.ProjectsService/RequireEmployeeReviewReportById" + // ProjectsServiceRequireEmployeeTaggedProjectSummaryByIdProcedure is the fully-qualified name of + // the ProjectsService's RequireEmployeeTaggedProjectSummaryById RPC. + ProjectsServiceRequireEmployeeTaggedProjectSummaryByIdProcedure = "/service.ProjectsService/RequireEmployeeTaggedProjectSummaryById" + // ProjectsServiceRequireEmployeeWorkItemHandlerInfoByIdProcedure is the fully-qualified name of the + // ProjectsService's RequireEmployeeWorkItemHandlerInfoById RPC. + ProjectsServiceRequireEmployeeWorkItemHandlerInfoByIdProcedure = "/service.ProjectsService/RequireEmployeeWorkItemHandlerInfoById" + // ProjectsServiceRequireEmployeeWorkItemInfoByIdProcedure is the fully-qualified name of the + // ProjectsService's RequireEmployeeWorkItemInfoById RPC. + ProjectsServiceRequireEmployeeWorkItemInfoByIdProcedure = "/service.ProjectsService/RequireEmployeeWorkItemInfoById" + // ProjectsServiceRequireEmployeeWorkItemSpecsInfoByIdProcedure is the fully-qualified name of the + // ProjectsService's RequireEmployeeWorkItemSpecsInfoById RPC. + ProjectsServiceRequireEmployeeWorkItemSpecsInfoByIdProcedure = "/service.ProjectsService/RequireEmployeeWorkItemSpecsInfoById" + // ProjectsServiceRequireEmployeeWorkSetupSummaryByIdProcedure is the fully-qualified name of the + // ProjectsService's RequireEmployeeWorkSetupSummaryById RPC. + ProjectsServiceRequireEmployeeWorkSetupSummaryByIdProcedure = "/service.ProjectsService/RequireEmployeeWorkSetupSummaryById" + // ProjectsServiceResolveEmployeeAverageTaskCompletionDaysProcedure is the fully-qualified name of + // the ProjectsService's ResolveEmployeeAverageTaskCompletionDays RPC. + ProjectsServiceResolveEmployeeAverageTaskCompletionDaysProcedure = "/service.ProjectsService/ResolveEmployeeAverageTaskCompletionDays" + // ProjectsServiceResolveEmployeeCurrentWorkloadProcedure is the fully-qualified name of the + // ProjectsService's ResolveEmployeeCurrentWorkload RPC. + ProjectsServiceResolveEmployeeCurrentWorkloadProcedure = "/service.ProjectsService/ResolveEmployeeCurrentWorkload" + // ProjectsServiceResolveEmployeeTotalProjectCountProcedure is the fully-qualified name of the + // ProjectsService's ResolveEmployeeTotalProjectCount RPC. + ProjectsServiceResolveEmployeeTotalProjectCountProcedure = "/service.ProjectsService/ResolveEmployeeTotalProjectCount" + // ProjectsServiceResolveMilestoneDaysUntilDueProcedure is the fully-qualified name of the + // ProjectsService's ResolveMilestoneDaysUntilDue RPC. + ProjectsServiceResolveMilestoneDaysUntilDueProcedure = "/service.ProjectsService/ResolveMilestoneDaysUntilDue" + // ProjectsServiceResolveMilestoneIsAtRiskProcedure is the fully-qualified name of the + // ProjectsService's ResolveMilestoneIsAtRisk RPC. + ProjectsServiceResolveMilestoneIsAtRiskProcedure = "/service.ProjectsService/ResolveMilestoneIsAtRisk" + // ProjectsServiceResolveProjectActiveMilestoneCountProcedure is the fully-qualified name of the + // ProjectsService's ResolveProjectActiveMilestoneCount RPC. + ProjectsServiceResolveProjectActiveMilestoneCountProcedure = "/service.ProjectsService/ResolveProjectActiveMilestoneCount" + // ProjectsServiceResolveProjectCompletionRateProcedure is the fully-qualified name of the + // ProjectsService's ResolveProjectCompletionRate RPC. + ProjectsServiceResolveProjectCompletionRateProcedure = "/service.ProjectsService/ResolveProjectCompletionRate" + // ProjectsServiceResolveProjectCriticalDeadlineProcedure is the fully-qualified name of the + // ProjectsService's ResolveProjectCriticalDeadline RPC. + ProjectsServiceResolveProjectCriticalDeadlineProcedure = "/service.ProjectsService/ResolveProjectCriticalDeadline" + // ProjectsServiceResolveProjectEstimatedDaysRemainingProcedure is the fully-qualified name of the + // ProjectsService's ResolveProjectEstimatedDaysRemaining RPC. + ProjectsServiceResolveProjectEstimatedDaysRemainingProcedure = "/service.ProjectsService/ResolveProjectEstimatedDaysRemaining" + // ProjectsServiceResolveProjectFilteredTasksProcedure is the fully-qualified name of the + // ProjectsService's ResolveProjectFilteredTasks RPC. + ProjectsServiceResolveProjectFilteredTasksProcedure = "/service.ProjectsService/ResolveProjectFilteredTasks" + // ProjectsServiceResolveProjectSubProjectsProcedure is the fully-qualified name of the + // ProjectsService's ResolveProjectSubProjects RPC. + ProjectsServiceResolveProjectSubProjectsProcedure = "/service.ProjectsService/ResolveProjectSubProjects" + // ProjectsServiceResolveProjectTaskCountProcedure is the fully-qualified name of the + // ProjectsService's ResolveProjectTaskCount RPC. + ProjectsServiceResolveProjectTaskCountProcedure = "/service.ProjectsService/ResolveProjectTaskCount" + // ProjectsServiceResolveProjectTopPriorityItemProcedure is the fully-qualified name of the + // ProjectsService's ResolveProjectTopPriorityItem RPC. + ProjectsServiceResolveProjectTopPriorityItemProcedure = "/service.ProjectsService/ResolveProjectTopPriorityItem" + // ProjectsServiceResolveTaskIsBlockedProcedure is the fully-qualified name of the ProjectsService's + // ResolveTaskIsBlocked RPC. + ProjectsServiceResolveTaskIsBlockedProcedure = "/service.ProjectsService/ResolveTaskIsBlocked" + // ProjectsServiceResolveTaskTotalEffortProcedure is the fully-qualified name of the + // ProjectsService's ResolveTaskTotalEffort RPC. + ProjectsServiceResolveTaskTotalEffortProcedure = "/service.ProjectsService/ResolveTaskTotalEffort" +) + +// ProjectsServiceClient is a client for the service.ProjectsService service. +type ProjectsServiceClient interface { + // Lookup Employee entity by id + LookupEmployeeById(context.Context, *connect.Request[generated.LookupEmployeeByIdRequest]) (*connect.Response[generated.LookupEmployeeByIdResponse], error) + // Lookup Milestone entity by id + LookupMilestoneById(context.Context, *connect.Request[generated.LookupMilestoneByIdRequest]) (*connect.Response[generated.LookupMilestoneByIdResponse], error) + // Lookup Product entity by upc + LookupProductByUpc(context.Context, *connect.Request[generated.LookupProductByUpcRequest]) (*connect.Response[generated.LookupProductByUpcResponse], error) + // Lookup Project entity by id + LookupProjectById(context.Context, *connect.Request[generated.LookupProjectByIdRequest]) (*connect.Response[generated.LookupProjectByIdResponse], error) + // Lookup Task entity by id + LookupTaskById(context.Context, *connect.Request[generated.LookupTaskByIdRequest]) (*connect.Response[generated.LookupTaskByIdResponse], error) + MutationAddMilestone(context.Context, *connect.Request[generated.MutationAddMilestoneRequest]) (*connect.Response[generated.MutationAddMilestoneResponse], error) + MutationAddProject(context.Context, *connect.Request[generated.MutationAddProjectRequest]) (*connect.Response[generated.MutationAddProjectResponse], error) + MutationAddTask(context.Context, *connect.Request[generated.MutationAddTaskRequest]) (*connect.Response[generated.MutationAddTaskResponse], error) + MutationUpdateProjectStatus(context.Context, *connect.Request[generated.MutationUpdateProjectStatusRequest]) (*connect.Response[generated.MutationUpdateProjectStatusResponse], error) + QueryArchivedProjects(context.Context, *connect.Request[generated.QueryArchivedProjectsRequest]) (*connect.Response[generated.QueryArchivedProjectsResponse], error) + QueryKillService(context.Context, *connect.Request[generated.QueryKillServiceRequest]) (*connect.Response[generated.QueryKillServiceResponse], error) + QueryMilestones(context.Context, *connect.Request[generated.QueryMilestonesRequest]) (*connect.Response[generated.QueryMilestonesResponse], error) + QueryNodesById(context.Context, *connect.Request[generated.QueryNodesByIdRequest]) (*connect.Response[generated.QueryNodesByIdResponse], error) + QueryPanic(context.Context, *connect.Request[generated.QueryPanicRequest]) (*connect.Response[generated.QueryPanicResponse], error) + QueryProject(context.Context, *connect.Request[generated.QueryProjectRequest]) (*connect.Response[generated.QueryProjectResponse], error) + QueryProjectActivities(context.Context, *connect.Request[generated.QueryProjectActivitiesRequest]) (*connect.Response[generated.QueryProjectActivitiesResponse], error) + QueryProjectResources(context.Context, *connect.Request[generated.QueryProjectResourcesRequest]) (*connect.Response[generated.QueryProjectResourcesResponse], error) + QueryProjectStatuses(context.Context, *connect.Request[generated.QueryProjectStatusesRequest]) (*connect.Response[generated.QueryProjectStatusesResponse], error) + QueryProjectTags(context.Context, *connect.Request[generated.QueryProjectTagsRequest]) (*connect.Response[generated.QueryProjectTagsResponse], error) + QueryProjects(context.Context, *connect.Request[generated.QueryProjectsRequest]) (*connect.Response[generated.QueryProjectsResponse], error) + QueryProjectsByStatus(context.Context, *connect.Request[generated.QueryProjectsByStatusRequest]) (*connect.Response[generated.QueryProjectsByStatusResponse], error) + QueryResourceMatrix(context.Context, *connect.Request[generated.QueryResourceMatrixRequest]) (*connect.Response[generated.QueryResourceMatrixResponse], error) + QuerySearchProjects(context.Context, *connect.Request[generated.QuerySearchProjectsRequest]) (*connect.Response[generated.QuerySearchProjectsResponse], error) + QueryTasks(context.Context, *connect.Request[generated.QueryTasksRequest]) (*connect.Response[generated.QueryTasksResponse], error) + QueryTasksByPriority(context.Context, *connect.Request[generated.QueryTasksByPriorityRequest]) (*connect.Response[generated.QueryTasksByPriorityResponse], error) + RequireEmployeeDeepWorkItemInfoById(context.Context, *connect.Request[generated.RequireEmployeeDeepWorkItemInfoByIdRequest]) (*connect.Response[generated.RequireEmployeeDeepWorkItemInfoByIdResponse], error) + RequireEmployeeFilteredProjectSummaryById(context.Context, *connect.Request[generated.RequireEmployeeFilteredProjectSummaryByIdRequest]) (*connect.Response[generated.RequireEmployeeFilteredProjectSummaryByIdResponse], error) + RequireEmployeeReviewReportById(context.Context, *connect.Request[generated.RequireEmployeeReviewReportByIdRequest]) (*connect.Response[generated.RequireEmployeeReviewReportByIdResponse], error) + RequireEmployeeTaggedProjectSummaryById(context.Context, *connect.Request[generated.RequireEmployeeTaggedProjectSummaryByIdRequest]) (*connect.Response[generated.RequireEmployeeTaggedProjectSummaryByIdResponse], error) + RequireEmployeeWorkItemHandlerInfoById(context.Context, *connect.Request[generated.RequireEmployeeWorkItemHandlerInfoByIdRequest]) (*connect.Response[generated.RequireEmployeeWorkItemHandlerInfoByIdResponse], error) + RequireEmployeeWorkItemInfoById(context.Context, *connect.Request[generated.RequireEmployeeWorkItemInfoByIdRequest]) (*connect.Response[generated.RequireEmployeeWorkItemInfoByIdResponse], error) + RequireEmployeeWorkItemSpecsInfoById(context.Context, *connect.Request[generated.RequireEmployeeWorkItemSpecsInfoByIdRequest]) (*connect.Response[generated.RequireEmployeeWorkItemSpecsInfoByIdResponse], error) + RequireEmployeeWorkSetupSummaryById(context.Context, *connect.Request[generated.RequireEmployeeWorkSetupSummaryByIdRequest]) (*connect.Response[generated.RequireEmployeeWorkSetupSummaryByIdResponse], error) + ResolveEmployeeAverageTaskCompletionDays(context.Context, *connect.Request[generated.ResolveEmployeeAverageTaskCompletionDaysRequest]) (*connect.Response[generated.ResolveEmployeeAverageTaskCompletionDaysResponse], error) + ResolveEmployeeCurrentWorkload(context.Context, *connect.Request[generated.ResolveEmployeeCurrentWorkloadRequest]) (*connect.Response[generated.ResolveEmployeeCurrentWorkloadResponse], error) + ResolveEmployeeTotalProjectCount(context.Context, *connect.Request[generated.ResolveEmployeeTotalProjectCountRequest]) (*connect.Response[generated.ResolveEmployeeTotalProjectCountResponse], error) + ResolveMilestoneDaysUntilDue(context.Context, *connect.Request[generated.ResolveMilestoneDaysUntilDueRequest]) (*connect.Response[generated.ResolveMilestoneDaysUntilDueResponse], error) + ResolveMilestoneIsAtRisk(context.Context, *connect.Request[generated.ResolveMilestoneIsAtRiskRequest]) (*connect.Response[generated.ResolveMilestoneIsAtRiskResponse], error) + ResolveProjectActiveMilestoneCount(context.Context, *connect.Request[generated.ResolveProjectActiveMilestoneCountRequest]) (*connect.Response[generated.ResolveProjectActiveMilestoneCountResponse], error) + ResolveProjectCompletionRate(context.Context, *connect.Request[generated.ResolveProjectCompletionRateRequest]) (*connect.Response[generated.ResolveProjectCompletionRateResponse], error) + ResolveProjectCriticalDeadline(context.Context, *connect.Request[generated.ResolveProjectCriticalDeadlineRequest]) (*connect.Response[generated.ResolveProjectCriticalDeadlineResponse], error) + ResolveProjectEstimatedDaysRemaining(context.Context, *connect.Request[generated.ResolveProjectEstimatedDaysRemainingRequest]) (*connect.Response[generated.ResolveProjectEstimatedDaysRemainingResponse], error) + ResolveProjectFilteredTasks(context.Context, *connect.Request[generated.ResolveProjectFilteredTasksRequest]) (*connect.Response[generated.ResolveProjectFilteredTasksResponse], error) + ResolveProjectSubProjects(context.Context, *connect.Request[generated.ResolveProjectSubProjectsRequest]) (*connect.Response[generated.ResolveProjectSubProjectsResponse], error) + ResolveProjectTaskCount(context.Context, *connect.Request[generated.ResolveProjectTaskCountRequest]) (*connect.Response[generated.ResolveProjectTaskCountResponse], error) + ResolveProjectTopPriorityItem(context.Context, *connect.Request[generated.ResolveProjectTopPriorityItemRequest]) (*connect.Response[generated.ResolveProjectTopPriorityItemResponse], error) + ResolveTaskIsBlocked(context.Context, *connect.Request[generated.ResolveTaskIsBlockedRequest]) (*connect.Response[generated.ResolveTaskIsBlockedResponse], error) + ResolveTaskTotalEffort(context.Context, *connect.Request[generated.ResolveTaskTotalEffortRequest]) (*connect.Response[generated.ResolveTaskTotalEffortResponse], error) +} + +// NewProjectsServiceClient constructs a client for the service.ProjectsService service. By default, +// it uses the Connect protocol with the binary Protobuf Codec, asks for gzipped responses, and +// sends uncompressed requests. To use the gRPC or gRPC-Web protocols, supply the connect.WithGRPC() +// or connect.WithGRPCWeb() options. +// +// The URL supplied here should be the base URL for the Connect or gRPC server (for example, +// http://api.acme.com or https://acme.com/grpc). +func NewProjectsServiceClient(httpClient connect.HTTPClient, baseURL string, opts ...connect.ClientOption) ProjectsServiceClient { + baseURL = strings.TrimRight(baseURL, "/") + projectsServiceMethods := generated.File_service_proto.Services().ByName("ProjectsService").Methods() + return &projectsServiceClient{ + lookupEmployeeById: connect.NewClient[generated.LookupEmployeeByIdRequest, generated.LookupEmployeeByIdResponse]( + httpClient, + baseURL+ProjectsServiceLookupEmployeeByIdProcedure, + connect.WithSchema(projectsServiceMethods.ByName("LookupEmployeeById")), + connect.WithClientOptions(opts...), + ), + lookupMilestoneById: connect.NewClient[generated.LookupMilestoneByIdRequest, generated.LookupMilestoneByIdResponse]( + httpClient, + baseURL+ProjectsServiceLookupMilestoneByIdProcedure, + connect.WithSchema(projectsServiceMethods.ByName("LookupMilestoneById")), + connect.WithClientOptions(opts...), + ), + lookupProductByUpc: connect.NewClient[generated.LookupProductByUpcRequest, generated.LookupProductByUpcResponse]( + httpClient, + baseURL+ProjectsServiceLookupProductByUpcProcedure, + connect.WithSchema(projectsServiceMethods.ByName("LookupProductByUpc")), + connect.WithClientOptions(opts...), + ), + lookupProjectById: connect.NewClient[generated.LookupProjectByIdRequest, generated.LookupProjectByIdResponse]( + httpClient, + baseURL+ProjectsServiceLookupProjectByIdProcedure, + connect.WithSchema(projectsServiceMethods.ByName("LookupProjectById")), + connect.WithClientOptions(opts...), + ), + lookupTaskById: connect.NewClient[generated.LookupTaskByIdRequest, generated.LookupTaskByIdResponse]( + httpClient, + baseURL+ProjectsServiceLookupTaskByIdProcedure, + connect.WithSchema(projectsServiceMethods.ByName("LookupTaskById")), + connect.WithClientOptions(opts...), + ), + mutationAddMilestone: connect.NewClient[generated.MutationAddMilestoneRequest, generated.MutationAddMilestoneResponse]( + httpClient, + baseURL+ProjectsServiceMutationAddMilestoneProcedure, + connect.WithSchema(projectsServiceMethods.ByName("MutationAddMilestone")), + connect.WithClientOptions(opts...), + ), + mutationAddProject: connect.NewClient[generated.MutationAddProjectRequest, generated.MutationAddProjectResponse]( + httpClient, + baseURL+ProjectsServiceMutationAddProjectProcedure, + connect.WithSchema(projectsServiceMethods.ByName("MutationAddProject")), + connect.WithClientOptions(opts...), + ), + mutationAddTask: connect.NewClient[generated.MutationAddTaskRequest, generated.MutationAddTaskResponse]( + httpClient, + baseURL+ProjectsServiceMutationAddTaskProcedure, + connect.WithSchema(projectsServiceMethods.ByName("MutationAddTask")), + connect.WithClientOptions(opts...), + ), + mutationUpdateProjectStatus: connect.NewClient[generated.MutationUpdateProjectStatusRequest, generated.MutationUpdateProjectStatusResponse]( + httpClient, + baseURL+ProjectsServiceMutationUpdateProjectStatusProcedure, + connect.WithSchema(projectsServiceMethods.ByName("MutationUpdateProjectStatus")), + connect.WithClientOptions(opts...), + ), + queryArchivedProjects: connect.NewClient[generated.QueryArchivedProjectsRequest, generated.QueryArchivedProjectsResponse]( + httpClient, + baseURL+ProjectsServiceQueryArchivedProjectsProcedure, + connect.WithSchema(projectsServiceMethods.ByName("QueryArchivedProjects")), + connect.WithClientOptions(opts...), + ), + queryKillService: connect.NewClient[generated.QueryKillServiceRequest, generated.QueryKillServiceResponse]( + httpClient, + baseURL+ProjectsServiceQueryKillServiceProcedure, + connect.WithSchema(projectsServiceMethods.ByName("QueryKillService")), + connect.WithClientOptions(opts...), + ), + queryMilestones: connect.NewClient[generated.QueryMilestonesRequest, generated.QueryMilestonesResponse]( + httpClient, + baseURL+ProjectsServiceQueryMilestonesProcedure, + connect.WithSchema(projectsServiceMethods.ByName("QueryMilestones")), + connect.WithClientOptions(opts...), + ), + queryNodesById: connect.NewClient[generated.QueryNodesByIdRequest, generated.QueryNodesByIdResponse]( + httpClient, + baseURL+ProjectsServiceQueryNodesByIdProcedure, + connect.WithSchema(projectsServiceMethods.ByName("QueryNodesById")), + connect.WithClientOptions(opts...), + ), + queryPanic: connect.NewClient[generated.QueryPanicRequest, generated.QueryPanicResponse]( + httpClient, + baseURL+ProjectsServiceQueryPanicProcedure, + connect.WithSchema(projectsServiceMethods.ByName("QueryPanic")), + connect.WithClientOptions(opts...), + ), + queryProject: connect.NewClient[generated.QueryProjectRequest, generated.QueryProjectResponse]( + httpClient, + baseURL+ProjectsServiceQueryProjectProcedure, + connect.WithSchema(projectsServiceMethods.ByName("QueryProject")), + connect.WithClientOptions(opts...), + ), + queryProjectActivities: connect.NewClient[generated.QueryProjectActivitiesRequest, generated.QueryProjectActivitiesResponse]( + httpClient, + baseURL+ProjectsServiceQueryProjectActivitiesProcedure, + connect.WithSchema(projectsServiceMethods.ByName("QueryProjectActivities")), + connect.WithClientOptions(opts...), + ), + queryProjectResources: connect.NewClient[generated.QueryProjectResourcesRequest, generated.QueryProjectResourcesResponse]( + httpClient, + baseURL+ProjectsServiceQueryProjectResourcesProcedure, + connect.WithSchema(projectsServiceMethods.ByName("QueryProjectResources")), + connect.WithClientOptions(opts...), + ), + queryProjectStatuses: connect.NewClient[generated.QueryProjectStatusesRequest, generated.QueryProjectStatusesResponse]( + httpClient, + baseURL+ProjectsServiceQueryProjectStatusesProcedure, + connect.WithSchema(projectsServiceMethods.ByName("QueryProjectStatuses")), + connect.WithClientOptions(opts...), + ), + queryProjectTags: connect.NewClient[generated.QueryProjectTagsRequest, generated.QueryProjectTagsResponse]( + httpClient, + baseURL+ProjectsServiceQueryProjectTagsProcedure, + connect.WithSchema(projectsServiceMethods.ByName("QueryProjectTags")), + connect.WithClientOptions(opts...), + ), + queryProjects: connect.NewClient[generated.QueryProjectsRequest, generated.QueryProjectsResponse]( + httpClient, + baseURL+ProjectsServiceQueryProjectsProcedure, + connect.WithSchema(projectsServiceMethods.ByName("QueryProjects")), + connect.WithClientOptions(opts...), + ), + queryProjectsByStatus: connect.NewClient[generated.QueryProjectsByStatusRequest, generated.QueryProjectsByStatusResponse]( + httpClient, + baseURL+ProjectsServiceQueryProjectsByStatusProcedure, + connect.WithSchema(projectsServiceMethods.ByName("QueryProjectsByStatus")), + connect.WithClientOptions(opts...), + ), + queryResourceMatrix: connect.NewClient[generated.QueryResourceMatrixRequest, generated.QueryResourceMatrixResponse]( + httpClient, + baseURL+ProjectsServiceQueryResourceMatrixProcedure, + connect.WithSchema(projectsServiceMethods.ByName("QueryResourceMatrix")), + connect.WithClientOptions(opts...), + ), + querySearchProjects: connect.NewClient[generated.QuerySearchProjectsRequest, generated.QuerySearchProjectsResponse]( + httpClient, + baseURL+ProjectsServiceQuerySearchProjectsProcedure, + connect.WithSchema(projectsServiceMethods.ByName("QuerySearchProjects")), + connect.WithClientOptions(opts...), + ), + queryTasks: connect.NewClient[generated.QueryTasksRequest, generated.QueryTasksResponse]( + httpClient, + baseURL+ProjectsServiceQueryTasksProcedure, + connect.WithSchema(projectsServiceMethods.ByName("QueryTasks")), + connect.WithClientOptions(opts...), + ), + queryTasksByPriority: connect.NewClient[generated.QueryTasksByPriorityRequest, generated.QueryTasksByPriorityResponse]( + httpClient, + baseURL+ProjectsServiceQueryTasksByPriorityProcedure, + connect.WithSchema(projectsServiceMethods.ByName("QueryTasksByPriority")), + connect.WithClientOptions(opts...), + ), + requireEmployeeDeepWorkItemInfoById: connect.NewClient[generated.RequireEmployeeDeepWorkItemInfoByIdRequest, generated.RequireEmployeeDeepWorkItemInfoByIdResponse]( + httpClient, + baseURL+ProjectsServiceRequireEmployeeDeepWorkItemInfoByIdProcedure, + connect.WithSchema(projectsServiceMethods.ByName("RequireEmployeeDeepWorkItemInfoById")), + connect.WithClientOptions(opts...), + ), + requireEmployeeFilteredProjectSummaryById: connect.NewClient[generated.RequireEmployeeFilteredProjectSummaryByIdRequest, generated.RequireEmployeeFilteredProjectSummaryByIdResponse]( + httpClient, + baseURL+ProjectsServiceRequireEmployeeFilteredProjectSummaryByIdProcedure, + connect.WithSchema(projectsServiceMethods.ByName("RequireEmployeeFilteredProjectSummaryById")), + connect.WithClientOptions(opts...), + ), + requireEmployeeReviewReportById: connect.NewClient[generated.RequireEmployeeReviewReportByIdRequest, generated.RequireEmployeeReviewReportByIdResponse]( + httpClient, + baseURL+ProjectsServiceRequireEmployeeReviewReportByIdProcedure, + connect.WithSchema(projectsServiceMethods.ByName("RequireEmployeeReviewReportById")), + connect.WithClientOptions(opts...), + ), + requireEmployeeTaggedProjectSummaryById: connect.NewClient[generated.RequireEmployeeTaggedProjectSummaryByIdRequest, generated.RequireEmployeeTaggedProjectSummaryByIdResponse]( + httpClient, + baseURL+ProjectsServiceRequireEmployeeTaggedProjectSummaryByIdProcedure, + connect.WithSchema(projectsServiceMethods.ByName("RequireEmployeeTaggedProjectSummaryById")), + connect.WithClientOptions(opts...), + ), + requireEmployeeWorkItemHandlerInfoById: connect.NewClient[generated.RequireEmployeeWorkItemHandlerInfoByIdRequest, generated.RequireEmployeeWorkItemHandlerInfoByIdResponse]( + httpClient, + baseURL+ProjectsServiceRequireEmployeeWorkItemHandlerInfoByIdProcedure, + connect.WithSchema(projectsServiceMethods.ByName("RequireEmployeeWorkItemHandlerInfoById")), + connect.WithClientOptions(opts...), + ), + requireEmployeeWorkItemInfoById: connect.NewClient[generated.RequireEmployeeWorkItemInfoByIdRequest, generated.RequireEmployeeWorkItemInfoByIdResponse]( + httpClient, + baseURL+ProjectsServiceRequireEmployeeWorkItemInfoByIdProcedure, + connect.WithSchema(projectsServiceMethods.ByName("RequireEmployeeWorkItemInfoById")), + connect.WithClientOptions(opts...), + ), + requireEmployeeWorkItemSpecsInfoById: connect.NewClient[generated.RequireEmployeeWorkItemSpecsInfoByIdRequest, generated.RequireEmployeeWorkItemSpecsInfoByIdResponse]( + httpClient, + baseURL+ProjectsServiceRequireEmployeeWorkItemSpecsInfoByIdProcedure, + connect.WithSchema(projectsServiceMethods.ByName("RequireEmployeeWorkItemSpecsInfoById")), + connect.WithClientOptions(opts...), + ), + requireEmployeeWorkSetupSummaryById: connect.NewClient[generated.RequireEmployeeWorkSetupSummaryByIdRequest, generated.RequireEmployeeWorkSetupSummaryByIdResponse]( + httpClient, + baseURL+ProjectsServiceRequireEmployeeWorkSetupSummaryByIdProcedure, + connect.WithSchema(projectsServiceMethods.ByName("RequireEmployeeWorkSetupSummaryById")), + connect.WithClientOptions(opts...), + ), + resolveEmployeeAverageTaskCompletionDays: connect.NewClient[generated.ResolveEmployeeAverageTaskCompletionDaysRequest, generated.ResolveEmployeeAverageTaskCompletionDaysResponse]( + httpClient, + baseURL+ProjectsServiceResolveEmployeeAverageTaskCompletionDaysProcedure, + connect.WithSchema(projectsServiceMethods.ByName("ResolveEmployeeAverageTaskCompletionDays")), + connect.WithClientOptions(opts...), + ), + resolveEmployeeCurrentWorkload: connect.NewClient[generated.ResolveEmployeeCurrentWorkloadRequest, generated.ResolveEmployeeCurrentWorkloadResponse]( + httpClient, + baseURL+ProjectsServiceResolveEmployeeCurrentWorkloadProcedure, + connect.WithSchema(projectsServiceMethods.ByName("ResolveEmployeeCurrentWorkload")), + connect.WithClientOptions(opts...), + ), + resolveEmployeeTotalProjectCount: connect.NewClient[generated.ResolveEmployeeTotalProjectCountRequest, generated.ResolveEmployeeTotalProjectCountResponse]( + httpClient, + baseURL+ProjectsServiceResolveEmployeeTotalProjectCountProcedure, + connect.WithSchema(projectsServiceMethods.ByName("ResolveEmployeeTotalProjectCount")), + connect.WithClientOptions(opts...), + ), + resolveMilestoneDaysUntilDue: connect.NewClient[generated.ResolveMilestoneDaysUntilDueRequest, generated.ResolveMilestoneDaysUntilDueResponse]( + httpClient, + baseURL+ProjectsServiceResolveMilestoneDaysUntilDueProcedure, + connect.WithSchema(projectsServiceMethods.ByName("ResolveMilestoneDaysUntilDue")), + connect.WithClientOptions(opts...), + ), + resolveMilestoneIsAtRisk: connect.NewClient[generated.ResolveMilestoneIsAtRiskRequest, generated.ResolveMilestoneIsAtRiskResponse]( + httpClient, + baseURL+ProjectsServiceResolveMilestoneIsAtRiskProcedure, + connect.WithSchema(projectsServiceMethods.ByName("ResolveMilestoneIsAtRisk")), + connect.WithClientOptions(opts...), + ), + resolveProjectActiveMilestoneCount: connect.NewClient[generated.ResolveProjectActiveMilestoneCountRequest, generated.ResolveProjectActiveMilestoneCountResponse]( + httpClient, + baseURL+ProjectsServiceResolveProjectActiveMilestoneCountProcedure, + connect.WithSchema(projectsServiceMethods.ByName("ResolveProjectActiveMilestoneCount")), + connect.WithClientOptions(opts...), + ), + resolveProjectCompletionRate: connect.NewClient[generated.ResolveProjectCompletionRateRequest, generated.ResolveProjectCompletionRateResponse]( + httpClient, + baseURL+ProjectsServiceResolveProjectCompletionRateProcedure, + connect.WithSchema(projectsServiceMethods.ByName("ResolveProjectCompletionRate")), + connect.WithClientOptions(opts...), + ), + resolveProjectCriticalDeadline: connect.NewClient[generated.ResolveProjectCriticalDeadlineRequest, generated.ResolveProjectCriticalDeadlineResponse]( + httpClient, + baseURL+ProjectsServiceResolveProjectCriticalDeadlineProcedure, + connect.WithSchema(projectsServiceMethods.ByName("ResolveProjectCriticalDeadline")), + connect.WithClientOptions(opts...), + ), + resolveProjectEstimatedDaysRemaining: connect.NewClient[generated.ResolveProjectEstimatedDaysRemainingRequest, generated.ResolveProjectEstimatedDaysRemainingResponse]( + httpClient, + baseURL+ProjectsServiceResolveProjectEstimatedDaysRemainingProcedure, + connect.WithSchema(projectsServiceMethods.ByName("ResolveProjectEstimatedDaysRemaining")), + connect.WithClientOptions(opts...), + ), + resolveProjectFilteredTasks: connect.NewClient[generated.ResolveProjectFilteredTasksRequest, generated.ResolveProjectFilteredTasksResponse]( + httpClient, + baseURL+ProjectsServiceResolveProjectFilteredTasksProcedure, + connect.WithSchema(projectsServiceMethods.ByName("ResolveProjectFilteredTasks")), + connect.WithClientOptions(opts...), + ), + resolveProjectSubProjects: connect.NewClient[generated.ResolveProjectSubProjectsRequest, generated.ResolveProjectSubProjectsResponse]( + httpClient, + baseURL+ProjectsServiceResolveProjectSubProjectsProcedure, + connect.WithSchema(projectsServiceMethods.ByName("ResolveProjectSubProjects")), + connect.WithClientOptions(opts...), + ), + resolveProjectTaskCount: connect.NewClient[generated.ResolveProjectTaskCountRequest, generated.ResolveProjectTaskCountResponse]( + httpClient, + baseURL+ProjectsServiceResolveProjectTaskCountProcedure, + connect.WithSchema(projectsServiceMethods.ByName("ResolveProjectTaskCount")), + connect.WithClientOptions(opts...), + ), + resolveProjectTopPriorityItem: connect.NewClient[generated.ResolveProjectTopPriorityItemRequest, generated.ResolveProjectTopPriorityItemResponse]( + httpClient, + baseURL+ProjectsServiceResolveProjectTopPriorityItemProcedure, + connect.WithSchema(projectsServiceMethods.ByName("ResolveProjectTopPriorityItem")), + connect.WithClientOptions(opts...), + ), + resolveTaskIsBlocked: connect.NewClient[generated.ResolveTaskIsBlockedRequest, generated.ResolveTaskIsBlockedResponse]( + httpClient, + baseURL+ProjectsServiceResolveTaskIsBlockedProcedure, + connect.WithSchema(projectsServiceMethods.ByName("ResolveTaskIsBlocked")), + connect.WithClientOptions(opts...), + ), + resolveTaskTotalEffort: connect.NewClient[generated.ResolveTaskTotalEffortRequest, generated.ResolveTaskTotalEffortResponse]( + httpClient, + baseURL+ProjectsServiceResolveTaskTotalEffortProcedure, + connect.WithSchema(projectsServiceMethods.ByName("ResolveTaskTotalEffort")), + connect.WithClientOptions(opts...), + ), + } +} + +// projectsServiceClient implements ProjectsServiceClient. +type projectsServiceClient struct { + lookupEmployeeById *connect.Client[generated.LookupEmployeeByIdRequest, generated.LookupEmployeeByIdResponse] + lookupMilestoneById *connect.Client[generated.LookupMilestoneByIdRequest, generated.LookupMilestoneByIdResponse] + lookupProductByUpc *connect.Client[generated.LookupProductByUpcRequest, generated.LookupProductByUpcResponse] + lookupProjectById *connect.Client[generated.LookupProjectByIdRequest, generated.LookupProjectByIdResponse] + lookupTaskById *connect.Client[generated.LookupTaskByIdRequest, generated.LookupTaskByIdResponse] + mutationAddMilestone *connect.Client[generated.MutationAddMilestoneRequest, generated.MutationAddMilestoneResponse] + mutationAddProject *connect.Client[generated.MutationAddProjectRequest, generated.MutationAddProjectResponse] + mutationAddTask *connect.Client[generated.MutationAddTaskRequest, generated.MutationAddTaskResponse] + mutationUpdateProjectStatus *connect.Client[generated.MutationUpdateProjectStatusRequest, generated.MutationUpdateProjectStatusResponse] + queryArchivedProjects *connect.Client[generated.QueryArchivedProjectsRequest, generated.QueryArchivedProjectsResponse] + queryKillService *connect.Client[generated.QueryKillServiceRequest, generated.QueryKillServiceResponse] + queryMilestones *connect.Client[generated.QueryMilestonesRequest, generated.QueryMilestonesResponse] + queryNodesById *connect.Client[generated.QueryNodesByIdRequest, generated.QueryNodesByIdResponse] + queryPanic *connect.Client[generated.QueryPanicRequest, generated.QueryPanicResponse] + queryProject *connect.Client[generated.QueryProjectRequest, generated.QueryProjectResponse] + queryProjectActivities *connect.Client[generated.QueryProjectActivitiesRequest, generated.QueryProjectActivitiesResponse] + queryProjectResources *connect.Client[generated.QueryProjectResourcesRequest, generated.QueryProjectResourcesResponse] + queryProjectStatuses *connect.Client[generated.QueryProjectStatusesRequest, generated.QueryProjectStatusesResponse] + queryProjectTags *connect.Client[generated.QueryProjectTagsRequest, generated.QueryProjectTagsResponse] + queryProjects *connect.Client[generated.QueryProjectsRequest, generated.QueryProjectsResponse] + queryProjectsByStatus *connect.Client[generated.QueryProjectsByStatusRequest, generated.QueryProjectsByStatusResponse] + queryResourceMatrix *connect.Client[generated.QueryResourceMatrixRequest, generated.QueryResourceMatrixResponse] + querySearchProjects *connect.Client[generated.QuerySearchProjectsRequest, generated.QuerySearchProjectsResponse] + queryTasks *connect.Client[generated.QueryTasksRequest, generated.QueryTasksResponse] + queryTasksByPriority *connect.Client[generated.QueryTasksByPriorityRequest, generated.QueryTasksByPriorityResponse] + requireEmployeeDeepWorkItemInfoById *connect.Client[generated.RequireEmployeeDeepWorkItemInfoByIdRequest, generated.RequireEmployeeDeepWorkItemInfoByIdResponse] + requireEmployeeFilteredProjectSummaryById *connect.Client[generated.RequireEmployeeFilteredProjectSummaryByIdRequest, generated.RequireEmployeeFilteredProjectSummaryByIdResponse] + requireEmployeeReviewReportById *connect.Client[generated.RequireEmployeeReviewReportByIdRequest, generated.RequireEmployeeReviewReportByIdResponse] + requireEmployeeTaggedProjectSummaryById *connect.Client[generated.RequireEmployeeTaggedProjectSummaryByIdRequest, generated.RequireEmployeeTaggedProjectSummaryByIdResponse] + requireEmployeeWorkItemHandlerInfoById *connect.Client[generated.RequireEmployeeWorkItemHandlerInfoByIdRequest, generated.RequireEmployeeWorkItemHandlerInfoByIdResponse] + requireEmployeeWorkItemInfoById *connect.Client[generated.RequireEmployeeWorkItemInfoByIdRequest, generated.RequireEmployeeWorkItemInfoByIdResponse] + requireEmployeeWorkItemSpecsInfoById *connect.Client[generated.RequireEmployeeWorkItemSpecsInfoByIdRequest, generated.RequireEmployeeWorkItemSpecsInfoByIdResponse] + requireEmployeeWorkSetupSummaryById *connect.Client[generated.RequireEmployeeWorkSetupSummaryByIdRequest, generated.RequireEmployeeWorkSetupSummaryByIdResponse] + resolveEmployeeAverageTaskCompletionDays *connect.Client[generated.ResolveEmployeeAverageTaskCompletionDaysRequest, generated.ResolveEmployeeAverageTaskCompletionDaysResponse] + resolveEmployeeCurrentWorkload *connect.Client[generated.ResolveEmployeeCurrentWorkloadRequest, generated.ResolveEmployeeCurrentWorkloadResponse] + resolveEmployeeTotalProjectCount *connect.Client[generated.ResolveEmployeeTotalProjectCountRequest, generated.ResolveEmployeeTotalProjectCountResponse] + resolveMilestoneDaysUntilDue *connect.Client[generated.ResolveMilestoneDaysUntilDueRequest, generated.ResolveMilestoneDaysUntilDueResponse] + resolveMilestoneIsAtRisk *connect.Client[generated.ResolveMilestoneIsAtRiskRequest, generated.ResolveMilestoneIsAtRiskResponse] + resolveProjectActiveMilestoneCount *connect.Client[generated.ResolveProjectActiveMilestoneCountRequest, generated.ResolveProjectActiveMilestoneCountResponse] + resolveProjectCompletionRate *connect.Client[generated.ResolveProjectCompletionRateRequest, generated.ResolveProjectCompletionRateResponse] + resolveProjectCriticalDeadline *connect.Client[generated.ResolveProjectCriticalDeadlineRequest, generated.ResolveProjectCriticalDeadlineResponse] + resolveProjectEstimatedDaysRemaining *connect.Client[generated.ResolveProjectEstimatedDaysRemainingRequest, generated.ResolveProjectEstimatedDaysRemainingResponse] + resolveProjectFilteredTasks *connect.Client[generated.ResolveProjectFilteredTasksRequest, generated.ResolveProjectFilteredTasksResponse] + resolveProjectSubProjects *connect.Client[generated.ResolveProjectSubProjectsRequest, generated.ResolveProjectSubProjectsResponse] + resolveProjectTaskCount *connect.Client[generated.ResolveProjectTaskCountRequest, generated.ResolveProjectTaskCountResponse] + resolveProjectTopPriorityItem *connect.Client[generated.ResolveProjectTopPriorityItemRequest, generated.ResolveProjectTopPriorityItemResponse] + resolveTaskIsBlocked *connect.Client[generated.ResolveTaskIsBlockedRequest, generated.ResolveTaskIsBlockedResponse] + resolveTaskTotalEffort *connect.Client[generated.ResolveTaskTotalEffortRequest, generated.ResolveTaskTotalEffortResponse] +} + +// LookupEmployeeById calls service.ProjectsService.LookupEmployeeById. +func (c *projectsServiceClient) LookupEmployeeById(ctx context.Context, req *connect.Request[generated.LookupEmployeeByIdRequest]) (*connect.Response[generated.LookupEmployeeByIdResponse], error) { + return c.lookupEmployeeById.CallUnary(ctx, req) +} + +// LookupMilestoneById calls service.ProjectsService.LookupMilestoneById. +func (c *projectsServiceClient) LookupMilestoneById(ctx context.Context, req *connect.Request[generated.LookupMilestoneByIdRequest]) (*connect.Response[generated.LookupMilestoneByIdResponse], error) { + return c.lookupMilestoneById.CallUnary(ctx, req) +} + +// LookupProductByUpc calls service.ProjectsService.LookupProductByUpc. +func (c *projectsServiceClient) LookupProductByUpc(ctx context.Context, req *connect.Request[generated.LookupProductByUpcRequest]) (*connect.Response[generated.LookupProductByUpcResponse], error) { + return c.lookupProductByUpc.CallUnary(ctx, req) +} + +// LookupProjectById calls service.ProjectsService.LookupProjectById. +func (c *projectsServiceClient) LookupProjectById(ctx context.Context, req *connect.Request[generated.LookupProjectByIdRequest]) (*connect.Response[generated.LookupProjectByIdResponse], error) { + return c.lookupProjectById.CallUnary(ctx, req) +} + +// LookupTaskById calls service.ProjectsService.LookupTaskById. +func (c *projectsServiceClient) LookupTaskById(ctx context.Context, req *connect.Request[generated.LookupTaskByIdRequest]) (*connect.Response[generated.LookupTaskByIdResponse], error) { + return c.lookupTaskById.CallUnary(ctx, req) +} + +// MutationAddMilestone calls service.ProjectsService.MutationAddMilestone. +func (c *projectsServiceClient) MutationAddMilestone(ctx context.Context, req *connect.Request[generated.MutationAddMilestoneRequest]) (*connect.Response[generated.MutationAddMilestoneResponse], error) { + return c.mutationAddMilestone.CallUnary(ctx, req) +} + +// MutationAddProject calls service.ProjectsService.MutationAddProject. +func (c *projectsServiceClient) MutationAddProject(ctx context.Context, req *connect.Request[generated.MutationAddProjectRequest]) (*connect.Response[generated.MutationAddProjectResponse], error) { + return c.mutationAddProject.CallUnary(ctx, req) +} + +// MutationAddTask calls service.ProjectsService.MutationAddTask. +func (c *projectsServiceClient) MutationAddTask(ctx context.Context, req *connect.Request[generated.MutationAddTaskRequest]) (*connect.Response[generated.MutationAddTaskResponse], error) { + return c.mutationAddTask.CallUnary(ctx, req) +} + +// MutationUpdateProjectStatus calls service.ProjectsService.MutationUpdateProjectStatus. +func (c *projectsServiceClient) MutationUpdateProjectStatus(ctx context.Context, req *connect.Request[generated.MutationUpdateProjectStatusRequest]) (*connect.Response[generated.MutationUpdateProjectStatusResponse], error) { + return c.mutationUpdateProjectStatus.CallUnary(ctx, req) +} + +// QueryArchivedProjects calls service.ProjectsService.QueryArchivedProjects. +func (c *projectsServiceClient) QueryArchivedProjects(ctx context.Context, req *connect.Request[generated.QueryArchivedProjectsRequest]) (*connect.Response[generated.QueryArchivedProjectsResponse], error) { + return c.queryArchivedProjects.CallUnary(ctx, req) +} + +// QueryKillService calls service.ProjectsService.QueryKillService. +func (c *projectsServiceClient) QueryKillService(ctx context.Context, req *connect.Request[generated.QueryKillServiceRequest]) (*connect.Response[generated.QueryKillServiceResponse], error) { + return c.queryKillService.CallUnary(ctx, req) +} + +// QueryMilestones calls service.ProjectsService.QueryMilestones. +func (c *projectsServiceClient) QueryMilestones(ctx context.Context, req *connect.Request[generated.QueryMilestonesRequest]) (*connect.Response[generated.QueryMilestonesResponse], error) { + return c.queryMilestones.CallUnary(ctx, req) +} + +// QueryNodesById calls service.ProjectsService.QueryNodesById. +func (c *projectsServiceClient) QueryNodesById(ctx context.Context, req *connect.Request[generated.QueryNodesByIdRequest]) (*connect.Response[generated.QueryNodesByIdResponse], error) { + return c.queryNodesById.CallUnary(ctx, req) +} + +// QueryPanic calls service.ProjectsService.QueryPanic. +func (c *projectsServiceClient) QueryPanic(ctx context.Context, req *connect.Request[generated.QueryPanicRequest]) (*connect.Response[generated.QueryPanicResponse], error) { + return c.queryPanic.CallUnary(ctx, req) +} + +// QueryProject calls service.ProjectsService.QueryProject. +func (c *projectsServiceClient) QueryProject(ctx context.Context, req *connect.Request[generated.QueryProjectRequest]) (*connect.Response[generated.QueryProjectResponse], error) { + return c.queryProject.CallUnary(ctx, req) +} + +// QueryProjectActivities calls service.ProjectsService.QueryProjectActivities. +func (c *projectsServiceClient) QueryProjectActivities(ctx context.Context, req *connect.Request[generated.QueryProjectActivitiesRequest]) (*connect.Response[generated.QueryProjectActivitiesResponse], error) { + return c.queryProjectActivities.CallUnary(ctx, req) +} + +// QueryProjectResources calls service.ProjectsService.QueryProjectResources. +func (c *projectsServiceClient) QueryProjectResources(ctx context.Context, req *connect.Request[generated.QueryProjectResourcesRequest]) (*connect.Response[generated.QueryProjectResourcesResponse], error) { + return c.queryProjectResources.CallUnary(ctx, req) +} + +// QueryProjectStatuses calls service.ProjectsService.QueryProjectStatuses. +func (c *projectsServiceClient) QueryProjectStatuses(ctx context.Context, req *connect.Request[generated.QueryProjectStatusesRequest]) (*connect.Response[generated.QueryProjectStatusesResponse], error) { + return c.queryProjectStatuses.CallUnary(ctx, req) +} + +// QueryProjectTags calls service.ProjectsService.QueryProjectTags. +func (c *projectsServiceClient) QueryProjectTags(ctx context.Context, req *connect.Request[generated.QueryProjectTagsRequest]) (*connect.Response[generated.QueryProjectTagsResponse], error) { + return c.queryProjectTags.CallUnary(ctx, req) +} + +// QueryProjects calls service.ProjectsService.QueryProjects. +func (c *projectsServiceClient) QueryProjects(ctx context.Context, req *connect.Request[generated.QueryProjectsRequest]) (*connect.Response[generated.QueryProjectsResponse], error) { + return c.queryProjects.CallUnary(ctx, req) +} + +// QueryProjectsByStatus calls service.ProjectsService.QueryProjectsByStatus. +func (c *projectsServiceClient) QueryProjectsByStatus(ctx context.Context, req *connect.Request[generated.QueryProjectsByStatusRequest]) (*connect.Response[generated.QueryProjectsByStatusResponse], error) { + return c.queryProjectsByStatus.CallUnary(ctx, req) +} + +// QueryResourceMatrix calls service.ProjectsService.QueryResourceMatrix. +func (c *projectsServiceClient) QueryResourceMatrix(ctx context.Context, req *connect.Request[generated.QueryResourceMatrixRequest]) (*connect.Response[generated.QueryResourceMatrixResponse], error) { + return c.queryResourceMatrix.CallUnary(ctx, req) +} + +// QuerySearchProjects calls service.ProjectsService.QuerySearchProjects. +func (c *projectsServiceClient) QuerySearchProjects(ctx context.Context, req *connect.Request[generated.QuerySearchProjectsRequest]) (*connect.Response[generated.QuerySearchProjectsResponse], error) { + return c.querySearchProjects.CallUnary(ctx, req) +} + +// QueryTasks calls service.ProjectsService.QueryTasks. +func (c *projectsServiceClient) QueryTasks(ctx context.Context, req *connect.Request[generated.QueryTasksRequest]) (*connect.Response[generated.QueryTasksResponse], error) { + return c.queryTasks.CallUnary(ctx, req) +} + +// QueryTasksByPriority calls service.ProjectsService.QueryTasksByPriority. +func (c *projectsServiceClient) QueryTasksByPriority(ctx context.Context, req *connect.Request[generated.QueryTasksByPriorityRequest]) (*connect.Response[generated.QueryTasksByPriorityResponse], error) { + return c.queryTasksByPriority.CallUnary(ctx, req) +} + +// RequireEmployeeDeepWorkItemInfoById calls +// service.ProjectsService.RequireEmployeeDeepWorkItemInfoById. +func (c *projectsServiceClient) RequireEmployeeDeepWorkItemInfoById(ctx context.Context, req *connect.Request[generated.RequireEmployeeDeepWorkItemInfoByIdRequest]) (*connect.Response[generated.RequireEmployeeDeepWorkItemInfoByIdResponse], error) { + return c.requireEmployeeDeepWorkItemInfoById.CallUnary(ctx, req) +} + +// RequireEmployeeFilteredProjectSummaryById calls +// service.ProjectsService.RequireEmployeeFilteredProjectSummaryById. +func (c *projectsServiceClient) RequireEmployeeFilteredProjectSummaryById(ctx context.Context, req *connect.Request[generated.RequireEmployeeFilteredProjectSummaryByIdRequest]) (*connect.Response[generated.RequireEmployeeFilteredProjectSummaryByIdResponse], error) { + return c.requireEmployeeFilteredProjectSummaryById.CallUnary(ctx, req) +} + +// RequireEmployeeReviewReportById calls service.ProjectsService.RequireEmployeeReviewReportById. +func (c *projectsServiceClient) RequireEmployeeReviewReportById(ctx context.Context, req *connect.Request[generated.RequireEmployeeReviewReportByIdRequest]) (*connect.Response[generated.RequireEmployeeReviewReportByIdResponse], error) { + return c.requireEmployeeReviewReportById.CallUnary(ctx, req) +} + +// RequireEmployeeTaggedProjectSummaryById calls +// service.ProjectsService.RequireEmployeeTaggedProjectSummaryById. +func (c *projectsServiceClient) RequireEmployeeTaggedProjectSummaryById(ctx context.Context, req *connect.Request[generated.RequireEmployeeTaggedProjectSummaryByIdRequest]) (*connect.Response[generated.RequireEmployeeTaggedProjectSummaryByIdResponse], error) { + return c.requireEmployeeTaggedProjectSummaryById.CallUnary(ctx, req) +} + +// RequireEmployeeWorkItemHandlerInfoById calls +// service.ProjectsService.RequireEmployeeWorkItemHandlerInfoById. +func (c *projectsServiceClient) RequireEmployeeWorkItemHandlerInfoById(ctx context.Context, req *connect.Request[generated.RequireEmployeeWorkItemHandlerInfoByIdRequest]) (*connect.Response[generated.RequireEmployeeWorkItemHandlerInfoByIdResponse], error) { + return c.requireEmployeeWorkItemHandlerInfoById.CallUnary(ctx, req) +} + +// RequireEmployeeWorkItemInfoById calls service.ProjectsService.RequireEmployeeWorkItemInfoById. +func (c *projectsServiceClient) RequireEmployeeWorkItemInfoById(ctx context.Context, req *connect.Request[generated.RequireEmployeeWorkItemInfoByIdRequest]) (*connect.Response[generated.RequireEmployeeWorkItemInfoByIdResponse], error) { + return c.requireEmployeeWorkItemInfoById.CallUnary(ctx, req) +} + +// RequireEmployeeWorkItemSpecsInfoById calls +// service.ProjectsService.RequireEmployeeWorkItemSpecsInfoById. +func (c *projectsServiceClient) RequireEmployeeWorkItemSpecsInfoById(ctx context.Context, req *connect.Request[generated.RequireEmployeeWorkItemSpecsInfoByIdRequest]) (*connect.Response[generated.RequireEmployeeWorkItemSpecsInfoByIdResponse], error) { + return c.requireEmployeeWorkItemSpecsInfoById.CallUnary(ctx, req) +} + +// RequireEmployeeWorkSetupSummaryById calls +// service.ProjectsService.RequireEmployeeWorkSetupSummaryById. +func (c *projectsServiceClient) RequireEmployeeWorkSetupSummaryById(ctx context.Context, req *connect.Request[generated.RequireEmployeeWorkSetupSummaryByIdRequest]) (*connect.Response[generated.RequireEmployeeWorkSetupSummaryByIdResponse], error) { + return c.requireEmployeeWorkSetupSummaryById.CallUnary(ctx, req) +} + +// ResolveEmployeeAverageTaskCompletionDays calls +// service.ProjectsService.ResolveEmployeeAverageTaskCompletionDays. +func (c *projectsServiceClient) ResolveEmployeeAverageTaskCompletionDays(ctx context.Context, req *connect.Request[generated.ResolveEmployeeAverageTaskCompletionDaysRequest]) (*connect.Response[generated.ResolveEmployeeAverageTaskCompletionDaysResponse], error) { + return c.resolveEmployeeAverageTaskCompletionDays.CallUnary(ctx, req) +} + +// ResolveEmployeeCurrentWorkload calls service.ProjectsService.ResolveEmployeeCurrentWorkload. +func (c *projectsServiceClient) ResolveEmployeeCurrentWorkload(ctx context.Context, req *connect.Request[generated.ResolveEmployeeCurrentWorkloadRequest]) (*connect.Response[generated.ResolveEmployeeCurrentWorkloadResponse], error) { + return c.resolveEmployeeCurrentWorkload.CallUnary(ctx, req) +} + +// ResolveEmployeeTotalProjectCount calls service.ProjectsService.ResolveEmployeeTotalProjectCount. +func (c *projectsServiceClient) ResolveEmployeeTotalProjectCount(ctx context.Context, req *connect.Request[generated.ResolveEmployeeTotalProjectCountRequest]) (*connect.Response[generated.ResolveEmployeeTotalProjectCountResponse], error) { + return c.resolveEmployeeTotalProjectCount.CallUnary(ctx, req) +} + +// ResolveMilestoneDaysUntilDue calls service.ProjectsService.ResolveMilestoneDaysUntilDue. +func (c *projectsServiceClient) ResolveMilestoneDaysUntilDue(ctx context.Context, req *connect.Request[generated.ResolveMilestoneDaysUntilDueRequest]) (*connect.Response[generated.ResolveMilestoneDaysUntilDueResponse], error) { + return c.resolveMilestoneDaysUntilDue.CallUnary(ctx, req) +} + +// ResolveMilestoneIsAtRisk calls service.ProjectsService.ResolveMilestoneIsAtRisk. +func (c *projectsServiceClient) ResolveMilestoneIsAtRisk(ctx context.Context, req *connect.Request[generated.ResolveMilestoneIsAtRiskRequest]) (*connect.Response[generated.ResolveMilestoneIsAtRiskResponse], error) { + return c.resolveMilestoneIsAtRisk.CallUnary(ctx, req) +} + +// ResolveProjectActiveMilestoneCount calls +// service.ProjectsService.ResolveProjectActiveMilestoneCount. +func (c *projectsServiceClient) ResolveProjectActiveMilestoneCount(ctx context.Context, req *connect.Request[generated.ResolveProjectActiveMilestoneCountRequest]) (*connect.Response[generated.ResolveProjectActiveMilestoneCountResponse], error) { + return c.resolveProjectActiveMilestoneCount.CallUnary(ctx, req) +} + +// ResolveProjectCompletionRate calls service.ProjectsService.ResolveProjectCompletionRate. +func (c *projectsServiceClient) ResolveProjectCompletionRate(ctx context.Context, req *connect.Request[generated.ResolveProjectCompletionRateRequest]) (*connect.Response[generated.ResolveProjectCompletionRateResponse], error) { + return c.resolveProjectCompletionRate.CallUnary(ctx, req) +} + +// ResolveProjectCriticalDeadline calls service.ProjectsService.ResolveProjectCriticalDeadline. +func (c *projectsServiceClient) ResolveProjectCriticalDeadline(ctx context.Context, req *connect.Request[generated.ResolveProjectCriticalDeadlineRequest]) (*connect.Response[generated.ResolveProjectCriticalDeadlineResponse], error) { + return c.resolveProjectCriticalDeadline.CallUnary(ctx, req) +} + +// ResolveProjectEstimatedDaysRemaining calls +// service.ProjectsService.ResolveProjectEstimatedDaysRemaining. +func (c *projectsServiceClient) ResolveProjectEstimatedDaysRemaining(ctx context.Context, req *connect.Request[generated.ResolveProjectEstimatedDaysRemainingRequest]) (*connect.Response[generated.ResolveProjectEstimatedDaysRemainingResponse], error) { + return c.resolveProjectEstimatedDaysRemaining.CallUnary(ctx, req) +} + +// ResolveProjectFilteredTasks calls service.ProjectsService.ResolveProjectFilteredTasks. +func (c *projectsServiceClient) ResolveProjectFilteredTasks(ctx context.Context, req *connect.Request[generated.ResolveProjectFilteredTasksRequest]) (*connect.Response[generated.ResolveProjectFilteredTasksResponse], error) { + return c.resolveProjectFilteredTasks.CallUnary(ctx, req) +} + +// ResolveProjectSubProjects calls service.ProjectsService.ResolveProjectSubProjects. +func (c *projectsServiceClient) ResolveProjectSubProjects(ctx context.Context, req *connect.Request[generated.ResolveProjectSubProjectsRequest]) (*connect.Response[generated.ResolveProjectSubProjectsResponse], error) { + return c.resolveProjectSubProjects.CallUnary(ctx, req) +} + +// ResolveProjectTaskCount calls service.ProjectsService.ResolveProjectTaskCount. +func (c *projectsServiceClient) ResolveProjectTaskCount(ctx context.Context, req *connect.Request[generated.ResolveProjectTaskCountRequest]) (*connect.Response[generated.ResolveProjectTaskCountResponse], error) { + return c.resolveProjectTaskCount.CallUnary(ctx, req) +} + +// ResolveProjectTopPriorityItem calls service.ProjectsService.ResolveProjectTopPriorityItem. +func (c *projectsServiceClient) ResolveProjectTopPriorityItem(ctx context.Context, req *connect.Request[generated.ResolveProjectTopPriorityItemRequest]) (*connect.Response[generated.ResolveProjectTopPriorityItemResponse], error) { + return c.resolveProjectTopPriorityItem.CallUnary(ctx, req) +} + +// ResolveTaskIsBlocked calls service.ProjectsService.ResolveTaskIsBlocked. +func (c *projectsServiceClient) ResolveTaskIsBlocked(ctx context.Context, req *connect.Request[generated.ResolveTaskIsBlockedRequest]) (*connect.Response[generated.ResolveTaskIsBlockedResponse], error) { + return c.resolveTaskIsBlocked.CallUnary(ctx, req) +} + +// ResolveTaskTotalEffort calls service.ProjectsService.ResolveTaskTotalEffort. +func (c *projectsServiceClient) ResolveTaskTotalEffort(ctx context.Context, req *connect.Request[generated.ResolveTaskTotalEffortRequest]) (*connect.Response[generated.ResolveTaskTotalEffortResponse], error) { + return c.resolveTaskTotalEffort.CallUnary(ctx, req) +} + +// ProjectsServiceHandler is an implementation of the service.ProjectsService service. +type ProjectsServiceHandler interface { + // Lookup Employee entity by id + LookupEmployeeById(context.Context, *connect.Request[generated.LookupEmployeeByIdRequest]) (*connect.Response[generated.LookupEmployeeByIdResponse], error) + // Lookup Milestone entity by id + LookupMilestoneById(context.Context, *connect.Request[generated.LookupMilestoneByIdRequest]) (*connect.Response[generated.LookupMilestoneByIdResponse], error) + // Lookup Product entity by upc + LookupProductByUpc(context.Context, *connect.Request[generated.LookupProductByUpcRequest]) (*connect.Response[generated.LookupProductByUpcResponse], error) + // Lookup Project entity by id + LookupProjectById(context.Context, *connect.Request[generated.LookupProjectByIdRequest]) (*connect.Response[generated.LookupProjectByIdResponse], error) + // Lookup Task entity by id + LookupTaskById(context.Context, *connect.Request[generated.LookupTaskByIdRequest]) (*connect.Response[generated.LookupTaskByIdResponse], error) + MutationAddMilestone(context.Context, *connect.Request[generated.MutationAddMilestoneRequest]) (*connect.Response[generated.MutationAddMilestoneResponse], error) + MutationAddProject(context.Context, *connect.Request[generated.MutationAddProjectRequest]) (*connect.Response[generated.MutationAddProjectResponse], error) + MutationAddTask(context.Context, *connect.Request[generated.MutationAddTaskRequest]) (*connect.Response[generated.MutationAddTaskResponse], error) + MutationUpdateProjectStatus(context.Context, *connect.Request[generated.MutationUpdateProjectStatusRequest]) (*connect.Response[generated.MutationUpdateProjectStatusResponse], error) + QueryArchivedProjects(context.Context, *connect.Request[generated.QueryArchivedProjectsRequest]) (*connect.Response[generated.QueryArchivedProjectsResponse], error) + QueryKillService(context.Context, *connect.Request[generated.QueryKillServiceRequest]) (*connect.Response[generated.QueryKillServiceResponse], error) + QueryMilestones(context.Context, *connect.Request[generated.QueryMilestonesRequest]) (*connect.Response[generated.QueryMilestonesResponse], error) + QueryNodesById(context.Context, *connect.Request[generated.QueryNodesByIdRequest]) (*connect.Response[generated.QueryNodesByIdResponse], error) + QueryPanic(context.Context, *connect.Request[generated.QueryPanicRequest]) (*connect.Response[generated.QueryPanicResponse], error) + QueryProject(context.Context, *connect.Request[generated.QueryProjectRequest]) (*connect.Response[generated.QueryProjectResponse], error) + QueryProjectActivities(context.Context, *connect.Request[generated.QueryProjectActivitiesRequest]) (*connect.Response[generated.QueryProjectActivitiesResponse], error) + QueryProjectResources(context.Context, *connect.Request[generated.QueryProjectResourcesRequest]) (*connect.Response[generated.QueryProjectResourcesResponse], error) + QueryProjectStatuses(context.Context, *connect.Request[generated.QueryProjectStatusesRequest]) (*connect.Response[generated.QueryProjectStatusesResponse], error) + QueryProjectTags(context.Context, *connect.Request[generated.QueryProjectTagsRequest]) (*connect.Response[generated.QueryProjectTagsResponse], error) + QueryProjects(context.Context, *connect.Request[generated.QueryProjectsRequest]) (*connect.Response[generated.QueryProjectsResponse], error) + QueryProjectsByStatus(context.Context, *connect.Request[generated.QueryProjectsByStatusRequest]) (*connect.Response[generated.QueryProjectsByStatusResponse], error) + QueryResourceMatrix(context.Context, *connect.Request[generated.QueryResourceMatrixRequest]) (*connect.Response[generated.QueryResourceMatrixResponse], error) + QuerySearchProjects(context.Context, *connect.Request[generated.QuerySearchProjectsRequest]) (*connect.Response[generated.QuerySearchProjectsResponse], error) + QueryTasks(context.Context, *connect.Request[generated.QueryTasksRequest]) (*connect.Response[generated.QueryTasksResponse], error) + QueryTasksByPriority(context.Context, *connect.Request[generated.QueryTasksByPriorityRequest]) (*connect.Response[generated.QueryTasksByPriorityResponse], error) + RequireEmployeeDeepWorkItemInfoById(context.Context, *connect.Request[generated.RequireEmployeeDeepWorkItemInfoByIdRequest]) (*connect.Response[generated.RequireEmployeeDeepWorkItemInfoByIdResponse], error) + RequireEmployeeFilteredProjectSummaryById(context.Context, *connect.Request[generated.RequireEmployeeFilteredProjectSummaryByIdRequest]) (*connect.Response[generated.RequireEmployeeFilteredProjectSummaryByIdResponse], error) + RequireEmployeeReviewReportById(context.Context, *connect.Request[generated.RequireEmployeeReviewReportByIdRequest]) (*connect.Response[generated.RequireEmployeeReviewReportByIdResponse], error) + RequireEmployeeTaggedProjectSummaryById(context.Context, *connect.Request[generated.RequireEmployeeTaggedProjectSummaryByIdRequest]) (*connect.Response[generated.RequireEmployeeTaggedProjectSummaryByIdResponse], error) + RequireEmployeeWorkItemHandlerInfoById(context.Context, *connect.Request[generated.RequireEmployeeWorkItemHandlerInfoByIdRequest]) (*connect.Response[generated.RequireEmployeeWorkItemHandlerInfoByIdResponse], error) + RequireEmployeeWorkItemInfoById(context.Context, *connect.Request[generated.RequireEmployeeWorkItemInfoByIdRequest]) (*connect.Response[generated.RequireEmployeeWorkItemInfoByIdResponse], error) + RequireEmployeeWorkItemSpecsInfoById(context.Context, *connect.Request[generated.RequireEmployeeWorkItemSpecsInfoByIdRequest]) (*connect.Response[generated.RequireEmployeeWorkItemSpecsInfoByIdResponse], error) + RequireEmployeeWorkSetupSummaryById(context.Context, *connect.Request[generated.RequireEmployeeWorkSetupSummaryByIdRequest]) (*connect.Response[generated.RequireEmployeeWorkSetupSummaryByIdResponse], error) + ResolveEmployeeAverageTaskCompletionDays(context.Context, *connect.Request[generated.ResolveEmployeeAverageTaskCompletionDaysRequest]) (*connect.Response[generated.ResolveEmployeeAverageTaskCompletionDaysResponse], error) + ResolveEmployeeCurrentWorkload(context.Context, *connect.Request[generated.ResolveEmployeeCurrentWorkloadRequest]) (*connect.Response[generated.ResolveEmployeeCurrentWorkloadResponse], error) + ResolveEmployeeTotalProjectCount(context.Context, *connect.Request[generated.ResolveEmployeeTotalProjectCountRequest]) (*connect.Response[generated.ResolveEmployeeTotalProjectCountResponse], error) + ResolveMilestoneDaysUntilDue(context.Context, *connect.Request[generated.ResolveMilestoneDaysUntilDueRequest]) (*connect.Response[generated.ResolveMilestoneDaysUntilDueResponse], error) + ResolveMilestoneIsAtRisk(context.Context, *connect.Request[generated.ResolveMilestoneIsAtRiskRequest]) (*connect.Response[generated.ResolveMilestoneIsAtRiskResponse], error) + ResolveProjectActiveMilestoneCount(context.Context, *connect.Request[generated.ResolveProjectActiveMilestoneCountRequest]) (*connect.Response[generated.ResolveProjectActiveMilestoneCountResponse], error) + ResolveProjectCompletionRate(context.Context, *connect.Request[generated.ResolveProjectCompletionRateRequest]) (*connect.Response[generated.ResolveProjectCompletionRateResponse], error) + ResolveProjectCriticalDeadline(context.Context, *connect.Request[generated.ResolveProjectCriticalDeadlineRequest]) (*connect.Response[generated.ResolveProjectCriticalDeadlineResponse], error) + ResolveProjectEstimatedDaysRemaining(context.Context, *connect.Request[generated.ResolveProjectEstimatedDaysRemainingRequest]) (*connect.Response[generated.ResolveProjectEstimatedDaysRemainingResponse], error) + ResolveProjectFilteredTasks(context.Context, *connect.Request[generated.ResolveProjectFilteredTasksRequest]) (*connect.Response[generated.ResolveProjectFilteredTasksResponse], error) + ResolveProjectSubProjects(context.Context, *connect.Request[generated.ResolveProjectSubProjectsRequest]) (*connect.Response[generated.ResolveProjectSubProjectsResponse], error) + ResolveProjectTaskCount(context.Context, *connect.Request[generated.ResolveProjectTaskCountRequest]) (*connect.Response[generated.ResolveProjectTaskCountResponse], error) + ResolveProjectTopPriorityItem(context.Context, *connect.Request[generated.ResolveProjectTopPriorityItemRequest]) (*connect.Response[generated.ResolveProjectTopPriorityItemResponse], error) + ResolveTaskIsBlocked(context.Context, *connect.Request[generated.ResolveTaskIsBlockedRequest]) (*connect.Response[generated.ResolveTaskIsBlockedResponse], error) + ResolveTaskTotalEffort(context.Context, *connect.Request[generated.ResolveTaskTotalEffortRequest]) (*connect.Response[generated.ResolveTaskTotalEffortResponse], error) +} + +// NewProjectsServiceHandler builds an HTTP handler from the service implementation. It returns the +// path on which to mount the handler and the handler itself. +// +// By default, handlers support the Connect, gRPC, and gRPC-Web protocols with the binary Protobuf +// and JSON codecs. They also support gzip compression. +func NewProjectsServiceHandler(svc ProjectsServiceHandler, opts ...connect.HandlerOption) (string, http.Handler) { + projectsServiceMethods := generated.File_service_proto.Services().ByName("ProjectsService").Methods() + projectsServiceLookupEmployeeByIdHandler := connect.NewUnaryHandler( + ProjectsServiceLookupEmployeeByIdProcedure, + svc.LookupEmployeeById, + connect.WithSchema(projectsServiceMethods.ByName("LookupEmployeeById")), + connect.WithHandlerOptions(opts...), + ) + projectsServiceLookupMilestoneByIdHandler := connect.NewUnaryHandler( + ProjectsServiceLookupMilestoneByIdProcedure, + svc.LookupMilestoneById, + connect.WithSchema(projectsServiceMethods.ByName("LookupMilestoneById")), + connect.WithHandlerOptions(opts...), + ) + projectsServiceLookupProductByUpcHandler := connect.NewUnaryHandler( + ProjectsServiceLookupProductByUpcProcedure, + svc.LookupProductByUpc, + connect.WithSchema(projectsServiceMethods.ByName("LookupProductByUpc")), + connect.WithHandlerOptions(opts...), + ) + projectsServiceLookupProjectByIdHandler := connect.NewUnaryHandler( + ProjectsServiceLookupProjectByIdProcedure, + svc.LookupProjectById, + connect.WithSchema(projectsServiceMethods.ByName("LookupProjectById")), + connect.WithHandlerOptions(opts...), + ) + projectsServiceLookupTaskByIdHandler := connect.NewUnaryHandler( + ProjectsServiceLookupTaskByIdProcedure, + svc.LookupTaskById, + connect.WithSchema(projectsServiceMethods.ByName("LookupTaskById")), + connect.WithHandlerOptions(opts...), + ) + projectsServiceMutationAddMilestoneHandler := connect.NewUnaryHandler( + ProjectsServiceMutationAddMilestoneProcedure, + svc.MutationAddMilestone, + connect.WithSchema(projectsServiceMethods.ByName("MutationAddMilestone")), + connect.WithHandlerOptions(opts...), + ) + projectsServiceMutationAddProjectHandler := connect.NewUnaryHandler( + ProjectsServiceMutationAddProjectProcedure, + svc.MutationAddProject, + connect.WithSchema(projectsServiceMethods.ByName("MutationAddProject")), + connect.WithHandlerOptions(opts...), + ) + projectsServiceMutationAddTaskHandler := connect.NewUnaryHandler( + ProjectsServiceMutationAddTaskProcedure, + svc.MutationAddTask, + connect.WithSchema(projectsServiceMethods.ByName("MutationAddTask")), + connect.WithHandlerOptions(opts...), + ) + projectsServiceMutationUpdateProjectStatusHandler := connect.NewUnaryHandler( + ProjectsServiceMutationUpdateProjectStatusProcedure, + svc.MutationUpdateProjectStatus, + connect.WithSchema(projectsServiceMethods.ByName("MutationUpdateProjectStatus")), + connect.WithHandlerOptions(opts...), + ) + projectsServiceQueryArchivedProjectsHandler := connect.NewUnaryHandler( + ProjectsServiceQueryArchivedProjectsProcedure, + svc.QueryArchivedProjects, + connect.WithSchema(projectsServiceMethods.ByName("QueryArchivedProjects")), + connect.WithHandlerOptions(opts...), + ) + projectsServiceQueryKillServiceHandler := connect.NewUnaryHandler( + ProjectsServiceQueryKillServiceProcedure, + svc.QueryKillService, + connect.WithSchema(projectsServiceMethods.ByName("QueryKillService")), + connect.WithHandlerOptions(opts...), + ) + projectsServiceQueryMilestonesHandler := connect.NewUnaryHandler( + ProjectsServiceQueryMilestonesProcedure, + svc.QueryMilestones, + connect.WithSchema(projectsServiceMethods.ByName("QueryMilestones")), + connect.WithHandlerOptions(opts...), + ) + projectsServiceQueryNodesByIdHandler := connect.NewUnaryHandler( + ProjectsServiceQueryNodesByIdProcedure, + svc.QueryNodesById, + connect.WithSchema(projectsServiceMethods.ByName("QueryNodesById")), + connect.WithHandlerOptions(opts...), + ) + projectsServiceQueryPanicHandler := connect.NewUnaryHandler( + ProjectsServiceQueryPanicProcedure, + svc.QueryPanic, + connect.WithSchema(projectsServiceMethods.ByName("QueryPanic")), + connect.WithHandlerOptions(opts...), + ) + projectsServiceQueryProjectHandler := connect.NewUnaryHandler( + ProjectsServiceQueryProjectProcedure, + svc.QueryProject, + connect.WithSchema(projectsServiceMethods.ByName("QueryProject")), + connect.WithHandlerOptions(opts...), + ) + projectsServiceQueryProjectActivitiesHandler := connect.NewUnaryHandler( + ProjectsServiceQueryProjectActivitiesProcedure, + svc.QueryProjectActivities, + connect.WithSchema(projectsServiceMethods.ByName("QueryProjectActivities")), + connect.WithHandlerOptions(opts...), + ) + projectsServiceQueryProjectResourcesHandler := connect.NewUnaryHandler( + ProjectsServiceQueryProjectResourcesProcedure, + svc.QueryProjectResources, + connect.WithSchema(projectsServiceMethods.ByName("QueryProjectResources")), + connect.WithHandlerOptions(opts...), + ) + projectsServiceQueryProjectStatusesHandler := connect.NewUnaryHandler( + ProjectsServiceQueryProjectStatusesProcedure, + svc.QueryProjectStatuses, + connect.WithSchema(projectsServiceMethods.ByName("QueryProjectStatuses")), + connect.WithHandlerOptions(opts...), + ) + projectsServiceQueryProjectTagsHandler := connect.NewUnaryHandler( + ProjectsServiceQueryProjectTagsProcedure, + svc.QueryProjectTags, + connect.WithSchema(projectsServiceMethods.ByName("QueryProjectTags")), + connect.WithHandlerOptions(opts...), + ) + projectsServiceQueryProjectsHandler := connect.NewUnaryHandler( + ProjectsServiceQueryProjectsProcedure, + svc.QueryProjects, + connect.WithSchema(projectsServiceMethods.ByName("QueryProjects")), + connect.WithHandlerOptions(opts...), + ) + projectsServiceQueryProjectsByStatusHandler := connect.NewUnaryHandler( + ProjectsServiceQueryProjectsByStatusProcedure, + svc.QueryProjectsByStatus, + connect.WithSchema(projectsServiceMethods.ByName("QueryProjectsByStatus")), + connect.WithHandlerOptions(opts...), + ) + projectsServiceQueryResourceMatrixHandler := connect.NewUnaryHandler( + ProjectsServiceQueryResourceMatrixProcedure, + svc.QueryResourceMatrix, + connect.WithSchema(projectsServiceMethods.ByName("QueryResourceMatrix")), + connect.WithHandlerOptions(opts...), + ) + projectsServiceQuerySearchProjectsHandler := connect.NewUnaryHandler( + ProjectsServiceQuerySearchProjectsProcedure, + svc.QuerySearchProjects, + connect.WithSchema(projectsServiceMethods.ByName("QuerySearchProjects")), + connect.WithHandlerOptions(opts...), + ) + projectsServiceQueryTasksHandler := connect.NewUnaryHandler( + ProjectsServiceQueryTasksProcedure, + svc.QueryTasks, + connect.WithSchema(projectsServiceMethods.ByName("QueryTasks")), + connect.WithHandlerOptions(opts...), + ) + projectsServiceQueryTasksByPriorityHandler := connect.NewUnaryHandler( + ProjectsServiceQueryTasksByPriorityProcedure, + svc.QueryTasksByPriority, + connect.WithSchema(projectsServiceMethods.ByName("QueryTasksByPriority")), + connect.WithHandlerOptions(opts...), + ) + projectsServiceRequireEmployeeDeepWorkItemInfoByIdHandler := connect.NewUnaryHandler( + ProjectsServiceRequireEmployeeDeepWorkItemInfoByIdProcedure, + svc.RequireEmployeeDeepWorkItemInfoById, + connect.WithSchema(projectsServiceMethods.ByName("RequireEmployeeDeepWorkItemInfoById")), + connect.WithHandlerOptions(opts...), + ) + projectsServiceRequireEmployeeFilteredProjectSummaryByIdHandler := connect.NewUnaryHandler( + ProjectsServiceRequireEmployeeFilteredProjectSummaryByIdProcedure, + svc.RequireEmployeeFilteredProjectSummaryById, + connect.WithSchema(projectsServiceMethods.ByName("RequireEmployeeFilteredProjectSummaryById")), + connect.WithHandlerOptions(opts...), + ) + projectsServiceRequireEmployeeReviewReportByIdHandler := connect.NewUnaryHandler( + ProjectsServiceRequireEmployeeReviewReportByIdProcedure, + svc.RequireEmployeeReviewReportById, + connect.WithSchema(projectsServiceMethods.ByName("RequireEmployeeReviewReportById")), + connect.WithHandlerOptions(opts...), + ) + projectsServiceRequireEmployeeTaggedProjectSummaryByIdHandler := connect.NewUnaryHandler( + ProjectsServiceRequireEmployeeTaggedProjectSummaryByIdProcedure, + svc.RequireEmployeeTaggedProjectSummaryById, + connect.WithSchema(projectsServiceMethods.ByName("RequireEmployeeTaggedProjectSummaryById")), + connect.WithHandlerOptions(opts...), + ) + projectsServiceRequireEmployeeWorkItemHandlerInfoByIdHandler := connect.NewUnaryHandler( + ProjectsServiceRequireEmployeeWorkItemHandlerInfoByIdProcedure, + svc.RequireEmployeeWorkItemHandlerInfoById, + connect.WithSchema(projectsServiceMethods.ByName("RequireEmployeeWorkItemHandlerInfoById")), + connect.WithHandlerOptions(opts...), + ) + projectsServiceRequireEmployeeWorkItemInfoByIdHandler := connect.NewUnaryHandler( + ProjectsServiceRequireEmployeeWorkItemInfoByIdProcedure, + svc.RequireEmployeeWorkItemInfoById, + connect.WithSchema(projectsServiceMethods.ByName("RequireEmployeeWorkItemInfoById")), + connect.WithHandlerOptions(opts...), + ) + projectsServiceRequireEmployeeWorkItemSpecsInfoByIdHandler := connect.NewUnaryHandler( + ProjectsServiceRequireEmployeeWorkItemSpecsInfoByIdProcedure, + svc.RequireEmployeeWorkItemSpecsInfoById, + connect.WithSchema(projectsServiceMethods.ByName("RequireEmployeeWorkItemSpecsInfoById")), + connect.WithHandlerOptions(opts...), + ) + projectsServiceRequireEmployeeWorkSetupSummaryByIdHandler := connect.NewUnaryHandler( + ProjectsServiceRequireEmployeeWorkSetupSummaryByIdProcedure, + svc.RequireEmployeeWorkSetupSummaryById, + connect.WithSchema(projectsServiceMethods.ByName("RequireEmployeeWorkSetupSummaryById")), + connect.WithHandlerOptions(opts...), + ) + projectsServiceResolveEmployeeAverageTaskCompletionDaysHandler := connect.NewUnaryHandler( + ProjectsServiceResolveEmployeeAverageTaskCompletionDaysProcedure, + svc.ResolveEmployeeAverageTaskCompletionDays, + connect.WithSchema(projectsServiceMethods.ByName("ResolveEmployeeAverageTaskCompletionDays")), + connect.WithHandlerOptions(opts...), + ) + projectsServiceResolveEmployeeCurrentWorkloadHandler := connect.NewUnaryHandler( + ProjectsServiceResolveEmployeeCurrentWorkloadProcedure, + svc.ResolveEmployeeCurrentWorkload, + connect.WithSchema(projectsServiceMethods.ByName("ResolveEmployeeCurrentWorkload")), + connect.WithHandlerOptions(opts...), + ) + projectsServiceResolveEmployeeTotalProjectCountHandler := connect.NewUnaryHandler( + ProjectsServiceResolveEmployeeTotalProjectCountProcedure, + svc.ResolveEmployeeTotalProjectCount, + connect.WithSchema(projectsServiceMethods.ByName("ResolveEmployeeTotalProjectCount")), + connect.WithHandlerOptions(opts...), + ) + projectsServiceResolveMilestoneDaysUntilDueHandler := connect.NewUnaryHandler( + ProjectsServiceResolveMilestoneDaysUntilDueProcedure, + svc.ResolveMilestoneDaysUntilDue, + connect.WithSchema(projectsServiceMethods.ByName("ResolveMilestoneDaysUntilDue")), + connect.WithHandlerOptions(opts...), + ) + projectsServiceResolveMilestoneIsAtRiskHandler := connect.NewUnaryHandler( + ProjectsServiceResolveMilestoneIsAtRiskProcedure, + svc.ResolveMilestoneIsAtRisk, + connect.WithSchema(projectsServiceMethods.ByName("ResolveMilestoneIsAtRisk")), + connect.WithHandlerOptions(opts...), + ) + projectsServiceResolveProjectActiveMilestoneCountHandler := connect.NewUnaryHandler( + ProjectsServiceResolveProjectActiveMilestoneCountProcedure, + svc.ResolveProjectActiveMilestoneCount, + connect.WithSchema(projectsServiceMethods.ByName("ResolveProjectActiveMilestoneCount")), + connect.WithHandlerOptions(opts...), + ) + projectsServiceResolveProjectCompletionRateHandler := connect.NewUnaryHandler( + ProjectsServiceResolveProjectCompletionRateProcedure, + svc.ResolveProjectCompletionRate, + connect.WithSchema(projectsServiceMethods.ByName("ResolveProjectCompletionRate")), + connect.WithHandlerOptions(opts...), + ) + projectsServiceResolveProjectCriticalDeadlineHandler := connect.NewUnaryHandler( + ProjectsServiceResolveProjectCriticalDeadlineProcedure, + svc.ResolveProjectCriticalDeadline, + connect.WithSchema(projectsServiceMethods.ByName("ResolveProjectCriticalDeadline")), + connect.WithHandlerOptions(opts...), + ) + projectsServiceResolveProjectEstimatedDaysRemainingHandler := connect.NewUnaryHandler( + ProjectsServiceResolveProjectEstimatedDaysRemainingProcedure, + svc.ResolveProjectEstimatedDaysRemaining, + connect.WithSchema(projectsServiceMethods.ByName("ResolveProjectEstimatedDaysRemaining")), + connect.WithHandlerOptions(opts...), + ) + projectsServiceResolveProjectFilteredTasksHandler := connect.NewUnaryHandler( + ProjectsServiceResolveProjectFilteredTasksProcedure, + svc.ResolveProjectFilteredTasks, + connect.WithSchema(projectsServiceMethods.ByName("ResolveProjectFilteredTasks")), + connect.WithHandlerOptions(opts...), + ) + projectsServiceResolveProjectSubProjectsHandler := connect.NewUnaryHandler( + ProjectsServiceResolveProjectSubProjectsProcedure, + svc.ResolveProjectSubProjects, + connect.WithSchema(projectsServiceMethods.ByName("ResolveProjectSubProjects")), + connect.WithHandlerOptions(opts...), + ) + projectsServiceResolveProjectTaskCountHandler := connect.NewUnaryHandler( + ProjectsServiceResolveProjectTaskCountProcedure, + svc.ResolveProjectTaskCount, + connect.WithSchema(projectsServiceMethods.ByName("ResolveProjectTaskCount")), + connect.WithHandlerOptions(opts...), + ) + projectsServiceResolveProjectTopPriorityItemHandler := connect.NewUnaryHandler( + ProjectsServiceResolveProjectTopPriorityItemProcedure, + svc.ResolveProjectTopPriorityItem, + connect.WithSchema(projectsServiceMethods.ByName("ResolveProjectTopPriorityItem")), + connect.WithHandlerOptions(opts...), + ) + projectsServiceResolveTaskIsBlockedHandler := connect.NewUnaryHandler( + ProjectsServiceResolveTaskIsBlockedProcedure, + svc.ResolveTaskIsBlocked, + connect.WithSchema(projectsServiceMethods.ByName("ResolveTaskIsBlocked")), + connect.WithHandlerOptions(opts...), + ) + projectsServiceResolveTaskTotalEffortHandler := connect.NewUnaryHandler( + ProjectsServiceResolveTaskTotalEffortProcedure, + svc.ResolveTaskTotalEffort, + connect.WithSchema(projectsServiceMethods.ByName("ResolveTaskTotalEffort")), + connect.WithHandlerOptions(opts...), + ) + return "/service.ProjectsService/", http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) { + switch r.URL.Path { + case ProjectsServiceLookupEmployeeByIdProcedure: + projectsServiceLookupEmployeeByIdHandler.ServeHTTP(w, r) + case ProjectsServiceLookupMilestoneByIdProcedure: + projectsServiceLookupMilestoneByIdHandler.ServeHTTP(w, r) + case ProjectsServiceLookupProductByUpcProcedure: + projectsServiceLookupProductByUpcHandler.ServeHTTP(w, r) + case ProjectsServiceLookupProjectByIdProcedure: + projectsServiceLookupProjectByIdHandler.ServeHTTP(w, r) + case ProjectsServiceLookupTaskByIdProcedure: + projectsServiceLookupTaskByIdHandler.ServeHTTP(w, r) + case ProjectsServiceMutationAddMilestoneProcedure: + projectsServiceMutationAddMilestoneHandler.ServeHTTP(w, r) + case ProjectsServiceMutationAddProjectProcedure: + projectsServiceMutationAddProjectHandler.ServeHTTP(w, r) + case ProjectsServiceMutationAddTaskProcedure: + projectsServiceMutationAddTaskHandler.ServeHTTP(w, r) + case ProjectsServiceMutationUpdateProjectStatusProcedure: + projectsServiceMutationUpdateProjectStatusHandler.ServeHTTP(w, r) + case ProjectsServiceQueryArchivedProjectsProcedure: + projectsServiceQueryArchivedProjectsHandler.ServeHTTP(w, r) + case ProjectsServiceQueryKillServiceProcedure: + projectsServiceQueryKillServiceHandler.ServeHTTP(w, r) + case ProjectsServiceQueryMilestonesProcedure: + projectsServiceQueryMilestonesHandler.ServeHTTP(w, r) + case ProjectsServiceQueryNodesByIdProcedure: + projectsServiceQueryNodesByIdHandler.ServeHTTP(w, r) + case ProjectsServiceQueryPanicProcedure: + projectsServiceQueryPanicHandler.ServeHTTP(w, r) + case ProjectsServiceQueryProjectProcedure: + projectsServiceQueryProjectHandler.ServeHTTP(w, r) + case ProjectsServiceQueryProjectActivitiesProcedure: + projectsServiceQueryProjectActivitiesHandler.ServeHTTP(w, r) + case ProjectsServiceQueryProjectResourcesProcedure: + projectsServiceQueryProjectResourcesHandler.ServeHTTP(w, r) + case ProjectsServiceQueryProjectStatusesProcedure: + projectsServiceQueryProjectStatusesHandler.ServeHTTP(w, r) + case ProjectsServiceQueryProjectTagsProcedure: + projectsServiceQueryProjectTagsHandler.ServeHTTP(w, r) + case ProjectsServiceQueryProjectsProcedure: + projectsServiceQueryProjectsHandler.ServeHTTP(w, r) + case ProjectsServiceQueryProjectsByStatusProcedure: + projectsServiceQueryProjectsByStatusHandler.ServeHTTP(w, r) + case ProjectsServiceQueryResourceMatrixProcedure: + projectsServiceQueryResourceMatrixHandler.ServeHTTP(w, r) + case ProjectsServiceQuerySearchProjectsProcedure: + projectsServiceQuerySearchProjectsHandler.ServeHTTP(w, r) + case ProjectsServiceQueryTasksProcedure: + projectsServiceQueryTasksHandler.ServeHTTP(w, r) + case ProjectsServiceQueryTasksByPriorityProcedure: + projectsServiceQueryTasksByPriorityHandler.ServeHTTP(w, r) + case ProjectsServiceRequireEmployeeDeepWorkItemInfoByIdProcedure: + projectsServiceRequireEmployeeDeepWorkItemInfoByIdHandler.ServeHTTP(w, r) + case ProjectsServiceRequireEmployeeFilteredProjectSummaryByIdProcedure: + projectsServiceRequireEmployeeFilteredProjectSummaryByIdHandler.ServeHTTP(w, r) + case ProjectsServiceRequireEmployeeReviewReportByIdProcedure: + projectsServiceRequireEmployeeReviewReportByIdHandler.ServeHTTP(w, r) + case ProjectsServiceRequireEmployeeTaggedProjectSummaryByIdProcedure: + projectsServiceRequireEmployeeTaggedProjectSummaryByIdHandler.ServeHTTP(w, r) + case ProjectsServiceRequireEmployeeWorkItemHandlerInfoByIdProcedure: + projectsServiceRequireEmployeeWorkItemHandlerInfoByIdHandler.ServeHTTP(w, r) + case ProjectsServiceRequireEmployeeWorkItemInfoByIdProcedure: + projectsServiceRequireEmployeeWorkItemInfoByIdHandler.ServeHTTP(w, r) + case ProjectsServiceRequireEmployeeWorkItemSpecsInfoByIdProcedure: + projectsServiceRequireEmployeeWorkItemSpecsInfoByIdHandler.ServeHTTP(w, r) + case ProjectsServiceRequireEmployeeWorkSetupSummaryByIdProcedure: + projectsServiceRequireEmployeeWorkSetupSummaryByIdHandler.ServeHTTP(w, r) + case ProjectsServiceResolveEmployeeAverageTaskCompletionDaysProcedure: + projectsServiceResolveEmployeeAverageTaskCompletionDaysHandler.ServeHTTP(w, r) + case ProjectsServiceResolveEmployeeCurrentWorkloadProcedure: + projectsServiceResolveEmployeeCurrentWorkloadHandler.ServeHTTP(w, r) + case ProjectsServiceResolveEmployeeTotalProjectCountProcedure: + projectsServiceResolveEmployeeTotalProjectCountHandler.ServeHTTP(w, r) + case ProjectsServiceResolveMilestoneDaysUntilDueProcedure: + projectsServiceResolveMilestoneDaysUntilDueHandler.ServeHTTP(w, r) + case ProjectsServiceResolveMilestoneIsAtRiskProcedure: + projectsServiceResolveMilestoneIsAtRiskHandler.ServeHTTP(w, r) + case ProjectsServiceResolveProjectActiveMilestoneCountProcedure: + projectsServiceResolveProjectActiveMilestoneCountHandler.ServeHTTP(w, r) + case ProjectsServiceResolveProjectCompletionRateProcedure: + projectsServiceResolveProjectCompletionRateHandler.ServeHTTP(w, r) + case ProjectsServiceResolveProjectCriticalDeadlineProcedure: + projectsServiceResolveProjectCriticalDeadlineHandler.ServeHTTP(w, r) + case ProjectsServiceResolveProjectEstimatedDaysRemainingProcedure: + projectsServiceResolveProjectEstimatedDaysRemainingHandler.ServeHTTP(w, r) + case ProjectsServiceResolveProjectFilteredTasksProcedure: + projectsServiceResolveProjectFilteredTasksHandler.ServeHTTP(w, r) + case ProjectsServiceResolveProjectSubProjectsProcedure: + projectsServiceResolveProjectSubProjectsHandler.ServeHTTP(w, r) + case ProjectsServiceResolveProjectTaskCountProcedure: + projectsServiceResolveProjectTaskCountHandler.ServeHTTP(w, r) + case ProjectsServiceResolveProjectTopPriorityItemProcedure: + projectsServiceResolveProjectTopPriorityItemHandler.ServeHTTP(w, r) + case ProjectsServiceResolveTaskIsBlockedProcedure: + projectsServiceResolveTaskIsBlockedHandler.ServeHTTP(w, r) + case ProjectsServiceResolveTaskTotalEffortProcedure: + projectsServiceResolveTaskTotalEffortHandler.ServeHTTP(w, r) + default: + http.NotFound(w, r) + } + }) +} + +// UnimplementedProjectsServiceHandler returns CodeUnimplemented from all methods. +type UnimplementedProjectsServiceHandler struct{} + +func (UnimplementedProjectsServiceHandler) LookupEmployeeById(context.Context, *connect.Request[generated.LookupEmployeeByIdRequest]) (*connect.Response[generated.LookupEmployeeByIdResponse], error) { + return nil, connect.NewError(connect.CodeUnimplemented, errors.New("service.ProjectsService.LookupEmployeeById is not implemented")) +} + +func (UnimplementedProjectsServiceHandler) LookupMilestoneById(context.Context, *connect.Request[generated.LookupMilestoneByIdRequest]) (*connect.Response[generated.LookupMilestoneByIdResponse], error) { + return nil, connect.NewError(connect.CodeUnimplemented, errors.New("service.ProjectsService.LookupMilestoneById is not implemented")) +} + +func (UnimplementedProjectsServiceHandler) LookupProductByUpc(context.Context, *connect.Request[generated.LookupProductByUpcRequest]) (*connect.Response[generated.LookupProductByUpcResponse], error) { + return nil, connect.NewError(connect.CodeUnimplemented, errors.New("service.ProjectsService.LookupProductByUpc is not implemented")) +} + +func (UnimplementedProjectsServiceHandler) LookupProjectById(context.Context, *connect.Request[generated.LookupProjectByIdRequest]) (*connect.Response[generated.LookupProjectByIdResponse], error) { + return nil, connect.NewError(connect.CodeUnimplemented, errors.New("service.ProjectsService.LookupProjectById is not implemented")) +} + +func (UnimplementedProjectsServiceHandler) LookupTaskById(context.Context, *connect.Request[generated.LookupTaskByIdRequest]) (*connect.Response[generated.LookupTaskByIdResponse], error) { + return nil, connect.NewError(connect.CodeUnimplemented, errors.New("service.ProjectsService.LookupTaskById is not implemented")) +} + +func (UnimplementedProjectsServiceHandler) MutationAddMilestone(context.Context, *connect.Request[generated.MutationAddMilestoneRequest]) (*connect.Response[generated.MutationAddMilestoneResponse], error) { + return nil, connect.NewError(connect.CodeUnimplemented, errors.New("service.ProjectsService.MutationAddMilestone is not implemented")) +} + +func (UnimplementedProjectsServiceHandler) MutationAddProject(context.Context, *connect.Request[generated.MutationAddProjectRequest]) (*connect.Response[generated.MutationAddProjectResponse], error) { + return nil, connect.NewError(connect.CodeUnimplemented, errors.New("service.ProjectsService.MutationAddProject is not implemented")) +} + +func (UnimplementedProjectsServiceHandler) MutationAddTask(context.Context, *connect.Request[generated.MutationAddTaskRequest]) (*connect.Response[generated.MutationAddTaskResponse], error) { + return nil, connect.NewError(connect.CodeUnimplemented, errors.New("service.ProjectsService.MutationAddTask is not implemented")) +} + +func (UnimplementedProjectsServiceHandler) MutationUpdateProjectStatus(context.Context, *connect.Request[generated.MutationUpdateProjectStatusRequest]) (*connect.Response[generated.MutationUpdateProjectStatusResponse], error) { + return nil, connect.NewError(connect.CodeUnimplemented, errors.New("service.ProjectsService.MutationUpdateProjectStatus is not implemented")) +} + +func (UnimplementedProjectsServiceHandler) QueryArchivedProjects(context.Context, *connect.Request[generated.QueryArchivedProjectsRequest]) (*connect.Response[generated.QueryArchivedProjectsResponse], error) { + return nil, connect.NewError(connect.CodeUnimplemented, errors.New("service.ProjectsService.QueryArchivedProjects is not implemented")) +} + +func (UnimplementedProjectsServiceHandler) QueryKillService(context.Context, *connect.Request[generated.QueryKillServiceRequest]) (*connect.Response[generated.QueryKillServiceResponse], error) { + return nil, connect.NewError(connect.CodeUnimplemented, errors.New("service.ProjectsService.QueryKillService is not implemented")) +} + +func (UnimplementedProjectsServiceHandler) QueryMilestones(context.Context, *connect.Request[generated.QueryMilestonesRequest]) (*connect.Response[generated.QueryMilestonesResponse], error) { + return nil, connect.NewError(connect.CodeUnimplemented, errors.New("service.ProjectsService.QueryMilestones is not implemented")) +} + +func (UnimplementedProjectsServiceHandler) QueryNodesById(context.Context, *connect.Request[generated.QueryNodesByIdRequest]) (*connect.Response[generated.QueryNodesByIdResponse], error) { + return nil, connect.NewError(connect.CodeUnimplemented, errors.New("service.ProjectsService.QueryNodesById is not implemented")) +} + +func (UnimplementedProjectsServiceHandler) QueryPanic(context.Context, *connect.Request[generated.QueryPanicRequest]) (*connect.Response[generated.QueryPanicResponse], error) { + return nil, connect.NewError(connect.CodeUnimplemented, errors.New("service.ProjectsService.QueryPanic is not implemented")) +} + +func (UnimplementedProjectsServiceHandler) QueryProject(context.Context, *connect.Request[generated.QueryProjectRequest]) (*connect.Response[generated.QueryProjectResponse], error) { + return nil, connect.NewError(connect.CodeUnimplemented, errors.New("service.ProjectsService.QueryProject is not implemented")) +} + +func (UnimplementedProjectsServiceHandler) QueryProjectActivities(context.Context, *connect.Request[generated.QueryProjectActivitiesRequest]) (*connect.Response[generated.QueryProjectActivitiesResponse], error) { + return nil, connect.NewError(connect.CodeUnimplemented, errors.New("service.ProjectsService.QueryProjectActivities is not implemented")) +} + +func (UnimplementedProjectsServiceHandler) QueryProjectResources(context.Context, *connect.Request[generated.QueryProjectResourcesRequest]) (*connect.Response[generated.QueryProjectResourcesResponse], error) { + return nil, connect.NewError(connect.CodeUnimplemented, errors.New("service.ProjectsService.QueryProjectResources is not implemented")) +} + +func (UnimplementedProjectsServiceHandler) QueryProjectStatuses(context.Context, *connect.Request[generated.QueryProjectStatusesRequest]) (*connect.Response[generated.QueryProjectStatusesResponse], error) { + return nil, connect.NewError(connect.CodeUnimplemented, errors.New("service.ProjectsService.QueryProjectStatuses is not implemented")) +} + +func (UnimplementedProjectsServiceHandler) QueryProjectTags(context.Context, *connect.Request[generated.QueryProjectTagsRequest]) (*connect.Response[generated.QueryProjectTagsResponse], error) { + return nil, connect.NewError(connect.CodeUnimplemented, errors.New("service.ProjectsService.QueryProjectTags is not implemented")) +} + +func (UnimplementedProjectsServiceHandler) QueryProjects(context.Context, *connect.Request[generated.QueryProjectsRequest]) (*connect.Response[generated.QueryProjectsResponse], error) { + return nil, connect.NewError(connect.CodeUnimplemented, errors.New("service.ProjectsService.QueryProjects is not implemented")) +} + +func (UnimplementedProjectsServiceHandler) QueryProjectsByStatus(context.Context, *connect.Request[generated.QueryProjectsByStatusRequest]) (*connect.Response[generated.QueryProjectsByStatusResponse], error) { + return nil, connect.NewError(connect.CodeUnimplemented, errors.New("service.ProjectsService.QueryProjectsByStatus is not implemented")) +} + +func (UnimplementedProjectsServiceHandler) QueryResourceMatrix(context.Context, *connect.Request[generated.QueryResourceMatrixRequest]) (*connect.Response[generated.QueryResourceMatrixResponse], error) { + return nil, connect.NewError(connect.CodeUnimplemented, errors.New("service.ProjectsService.QueryResourceMatrix is not implemented")) +} + +func (UnimplementedProjectsServiceHandler) QuerySearchProjects(context.Context, *connect.Request[generated.QuerySearchProjectsRequest]) (*connect.Response[generated.QuerySearchProjectsResponse], error) { + return nil, connect.NewError(connect.CodeUnimplemented, errors.New("service.ProjectsService.QuerySearchProjects is not implemented")) +} + +func (UnimplementedProjectsServiceHandler) QueryTasks(context.Context, *connect.Request[generated.QueryTasksRequest]) (*connect.Response[generated.QueryTasksResponse], error) { + return nil, connect.NewError(connect.CodeUnimplemented, errors.New("service.ProjectsService.QueryTasks is not implemented")) +} + +func (UnimplementedProjectsServiceHandler) QueryTasksByPriority(context.Context, *connect.Request[generated.QueryTasksByPriorityRequest]) (*connect.Response[generated.QueryTasksByPriorityResponse], error) { + return nil, connect.NewError(connect.CodeUnimplemented, errors.New("service.ProjectsService.QueryTasksByPriority is not implemented")) +} + +func (UnimplementedProjectsServiceHandler) RequireEmployeeDeepWorkItemInfoById(context.Context, *connect.Request[generated.RequireEmployeeDeepWorkItemInfoByIdRequest]) (*connect.Response[generated.RequireEmployeeDeepWorkItemInfoByIdResponse], error) { + return nil, connect.NewError(connect.CodeUnimplemented, errors.New("service.ProjectsService.RequireEmployeeDeepWorkItemInfoById is not implemented")) +} + +func (UnimplementedProjectsServiceHandler) RequireEmployeeFilteredProjectSummaryById(context.Context, *connect.Request[generated.RequireEmployeeFilteredProjectSummaryByIdRequest]) (*connect.Response[generated.RequireEmployeeFilteredProjectSummaryByIdResponse], error) { + return nil, connect.NewError(connect.CodeUnimplemented, errors.New("service.ProjectsService.RequireEmployeeFilteredProjectSummaryById is not implemented")) +} + +func (UnimplementedProjectsServiceHandler) RequireEmployeeReviewReportById(context.Context, *connect.Request[generated.RequireEmployeeReviewReportByIdRequest]) (*connect.Response[generated.RequireEmployeeReviewReportByIdResponse], error) { + return nil, connect.NewError(connect.CodeUnimplemented, errors.New("service.ProjectsService.RequireEmployeeReviewReportById is not implemented")) +} + +func (UnimplementedProjectsServiceHandler) RequireEmployeeTaggedProjectSummaryById(context.Context, *connect.Request[generated.RequireEmployeeTaggedProjectSummaryByIdRequest]) (*connect.Response[generated.RequireEmployeeTaggedProjectSummaryByIdResponse], error) { + return nil, connect.NewError(connect.CodeUnimplemented, errors.New("service.ProjectsService.RequireEmployeeTaggedProjectSummaryById is not implemented")) +} + +func (UnimplementedProjectsServiceHandler) RequireEmployeeWorkItemHandlerInfoById(context.Context, *connect.Request[generated.RequireEmployeeWorkItemHandlerInfoByIdRequest]) (*connect.Response[generated.RequireEmployeeWorkItemHandlerInfoByIdResponse], error) { + return nil, connect.NewError(connect.CodeUnimplemented, errors.New("service.ProjectsService.RequireEmployeeWorkItemHandlerInfoById is not implemented")) +} + +func (UnimplementedProjectsServiceHandler) RequireEmployeeWorkItemInfoById(context.Context, *connect.Request[generated.RequireEmployeeWorkItemInfoByIdRequest]) (*connect.Response[generated.RequireEmployeeWorkItemInfoByIdResponse], error) { + return nil, connect.NewError(connect.CodeUnimplemented, errors.New("service.ProjectsService.RequireEmployeeWorkItemInfoById is not implemented")) +} + +func (UnimplementedProjectsServiceHandler) RequireEmployeeWorkItemSpecsInfoById(context.Context, *connect.Request[generated.RequireEmployeeWorkItemSpecsInfoByIdRequest]) (*connect.Response[generated.RequireEmployeeWorkItemSpecsInfoByIdResponse], error) { + return nil, connect.NewError(connect.CodeUnimplemented, errors.New("service.ProjectsService.RequireEmployeeWorkItemSpecsInfoById is not implemented")) +} + +func (UnimplementedProjectsServiceHandler) RequireEmployeeWorkSetupSummaryById(context.Context, *connect.Request[generated.RequireEmployeeWorkSetupSummaryByIdRequest]) (*connect.Response[generated.RequireEmployeeWorkSetupSummaryByIdResponse], error) { + return nil, connect.NewError(connect.CodeUnimplemented, errors.New("service.ProjectsService.RequireEmployeeWorkSetupSummaryById is not implemented")) +} + +func (UnimplementedProjectsServiceHandler) ResolveEmployeeAverageTaskCompletionDays(context.Context, *connect.Request[generated.ResolveEmployeeAverageTaskCompletionDaysRequest]) (*connect.Response[generated.ResolveEmployeeAverageTaskCompletionDaysResponse], error) { + return nil, connect.NewError(connect.CodeUnimplemented, errors.New("service.ProjectsService.ResolveEmployeeAverageTaskCompletionDays is not implemented")) +} + +func (UnimplementedProjectsServiceHandler) ResolveEmployeeCurrentWorkload(context.Context, *connect.Request[generated.ResolveEmployeeCurrentWorkloadRequest]) (*connect.Response[generated.ResolveEmployeeCurrentWorkloadResponse], error) { + return nil, connect.NewError(connect.CodeUnimplemented, errors.New("service.ProjectsService.ResolveEmployeeCurrentWorkload is not implemented")) +} + +func (UnimplementedProjectsServiceHandler) ResolveEmployeeTotalProjectCount(context.Context, *connect.Request[generated.ResolveEmployeeTotalProjectCountRequest]) (*connect.Response[generated.ResolveEmployeeTotalProjectCountResponse], error) { + return nil, connect.NewError(connect.CodeUnimplemented, errors.New("service.ProjectsService.ResolveEmployeeTotalProjectCount is not implemented")) +} + +func (UnimplementedProjectsServiceHandler) ResolveMilestoneDaysUntilDue(context.Context, *connect.Request[generated.ResolveMilestoneDaysUntilDueRequest]) (*connect.Response[generated.ResolveMilestoneDaysUntilDueResponse], error) { + return nil, connect.NewError(connect.CodeUnimplemented, errors.New("service.ProjectsService.ResolveMilestoneDaysUntilDue is not implemented")) +} + +func (UnimplementedProjectsServiceHandler) ResolveMilestoneIsAtRisk(context.Context, *connect.Request[generated.ResolveMilestoneIsAtRiskRequest]) (*connect.Response[generated.ResolveMilestoneIsAtRiskResponse], error) { + return nil, connect.NewError(connect.CodeUnimplemented, errors.New("service.ProjectsService.ResolveMilestoneIsAtRisk is not implemented")) +} + +func (UnimplementedProjectsServiceHandler) ResolveProjectActiveMilestoneCount(context.Context, *connect.Request[generated.ResolveProjectActiveMilestoneCountRequest]) (*connect.Response[generated.ResolveProjectActiveMilestoneCountResponse], error) { + return nil, connect.NewError(connect.CodeUnimplemented, errors.New("service.ProjectsService.ResolveProjectActiveMilestoneCount is not implemented")) +} + +func (UnimplementedProjectsServiceHandler) ResolveProjectCompletionRate(context.Context, *connect.Request[generated.ResolveProjectCompletionRateRequest]) (*connect.Response[generated.ResolveProjectCompletionRateResponse], error) { + return nil, connect.NewError(connect.CodeUnimplemented, errors.New("service.ProjectsService.ResolveProjectCompletionRate is not implemented")) +} + +func (UnimplementedProjectsServiceHandler) ResolveProjectCriticalDeadline(context.Context, *connect.Request[generated.ResolveProjectCriticalDeadlineRequest]) (*connect.Response[generated.ResolveProjectCriticalDeadlineResponse], error) { + return nil, connect.NewError(connect.CodeUnimplemented, errors.New("service.ProjectsService.ResolveProjectCriticalDeadline is not implemented")) +} + +func (UnimplementedProjectsServiceHandler) ResolveProjectEstimatedDaysRemaining(context.Context, *connect.Request[generated.ResolveProjectEstimatedDaysRemainingRequest]) (*connect.Response[generated.ResolveProjectEstimatedDaysRemainingResponse], error) { + return nil, connect.NewError(connect.CodeUnimplemented, errors.New("service.ProjectsService.ResolveProjectEstimatedDaysRemaining is not implemented")) +} + +func (UnimplementedProjectsServiceHandler) ResolveProjectFilteredTasks(context.Context, *connect.Request[generated.ResolveProjectFilteredTasksRequest]) (*connect.Response[generated.ResolveProjectFilteredTasksResponse], error) { + return nil, connect.NewError(connect.CodeUnimplemented, errors.New("service.ProjectsService.ResolveProjectFilteredTasks is not implemented")) +} + +func (UnimplementedProjectsServiceHandler) ResolveProjectSubProjects(context.Context, *connect.Request[generated.ResolveProjectSubProjectsRequest]) (*connect.Response[generated.ResolveProjectSubProjectsResponse], error) { + return nil, connect.NewError(connect.CodeUnimplemented, errors.New("service.ProjectsService.ResolveProjectSubProjects is not implemented")) +} + +func (UnimplementedProjectsServiceHandler) ResolveProjectTaskCount(context.Context, *connect.Request[generated.ResolveProjectTaskCountRequest]) (*connect.Response[generated.ResolveProjectTaskCountResponse], error) { + return nil, connect.NewError(connect.CodeUnimplemented, errors.New("service.ProjectsService.ResolveProjectTaskCount is not implemented")) +} + +func (UnimplementedProjectsServiceHandler) ResolveProjectTopPriorityItem(context.Context, *connect.Request[generated.ResolveProjectTopPriorityItemRequest]) (*connect.Response[generated.ResolveProjectTopPriorityItemResponse], error) { + return nil, connect.NewError(connect.CodeUnimplemented, errors.New("service.ProjectsService.ResolveProjectTopPriorityItem is not implemented")) +} + +func (UnimplementedProjectsServiceHandler) ResolveTaskIsBlocked(context.Context, *connect.Request[generated.ResolveTaskIsBlockedRequest]) (*connect.Response[generated.ResolveTaskIsBlockedResponse], error) { + return nil, connect.NewError(connect.CodeUnimplemented, errors.New("service.ProjectsService.ResolveTaskIsBlocked is not implemented")) +} + +func (UnimplementedProjectsServiceHandler) ResolveTaskTotalEffort(context.Context, *connect.Request[generated.ResolveTaskTotalEffortRequest]) (*connect.Response[generated.ResolveTaskTotalEffortResponse], error) { + return nil, connect.NewError(connect.CodeUnimplemented, errors.New("service.ProjectsService.ResolveTaskTotalEffort is not implemented")) +} diff --git a/demo/pkg/subgraphs/projects/generated/service.pb.go b/demo/pkg/subgraphs/projects/generated/service.pb.go index e5a79bd919..7f8933a4a1 100644 --- a/demo/pkg/subgraphs/projects/generated/service.pb.go +++ b/demo/pkg/subgraphs/projects/generated/service.pb.go @@ -1,8 +1,8 @@ // Code generated by protoc-gen-go. DO NOT EDIT. // versions: -// protoc-gen-go v1.34.2 -// protoc v5.29.3 -// source: generated/service.proto +// protoc-gen-go v1.36.11 +// protoc (unknown) +// source: service.proto package projects @@ -12,6 +12,7 @@ import ( wrapperspb "google.golang.org/protobuf/types/known/wrapperspb" reflect "reflect" sync "sync" + unsafe "unsafe" ) const ( @@ -60,11 +61,11 @@ func (x ProjectStatus) String() string { } func (ProjectStatus) Descriptor() protoreflect.EnumDescriptor { - return file_generated_service_proto_enumTypes[0].Descriptor() + return file_service_proto_enumTypes[0].Descriptor() } func (ProjectStatus) Type() protoreflect.EnumType { - return &file_generated_service_proto_enumTypes[0] + return &file_service_proto_enumTypes[0] } func (x ProjectStatus) Number() protoreflect.EnumNumber { @@ -73,7 +74,7 @@ func (x ProjectStatus) Number() protoreflect.EnumNumber { // Deprecated: Use ProjectStatus.Descriptor instead. func (ProjectStatus) EnumDescriptor() ([]byte, []int) { - return file_generated_service_proto_rawDescGZIP(), []int{0} + return file_service_proto_rawDescGZIP(), []int{0} } type MilestoneStatus int32 @@ -115,11 +116,11 @@ func (x MilestoneStatus) String() string { } func (MilestoneStatus) Descriptor() protoreflect.EnumDescriptor { - return file_generated_service_proto_enumTypes[1].Descriptor() + return file_service_proto_enumTypes[1].Descriptor() } func (MilestoneStatus) Type() protoreflect.EnumType { - return &file_generated_service_proto_enumTypes[1] + return &file_service_proto_enumTypes[1] } func (x MilestoneStatus) Number() protoreflect.EnumNumber { @@ -128,7 +129,7 @@ func (x MilestoneStatus) Number() protoreflect.EnumNumber { // Deprecated: Use MilestoneStatus.Descriptor instead. func (MilestoneStatus) EnumDescriptor() ([]byte, []int) { - return file_generated_service_proto_rawDescGZIP(), []int{1} + return file_service_proto_rawDescGZIP(), []int{1} } type TaskStatus int32 @@ -173,11 +174,11 @@ func (x TaskStatus) String() string { } func (TaskStatus) Descriptor() protoreflect.EnumDescriptor { - return file_generated_service_proto_enumTypes[2].Descriptor() + return file_service_proto_enumTypes[2].Descriptor() } func (TaskStatus) Type() protoreflect.EnumType { - return &file_generated_service_proto_enumTypes[2] + return &file_service_proto_enumTypes[2] } func (x TaskStatus) Number() protoreflect.EnumNumber { @@ -186,7 +187,7 @@ func (x TaskStatus) Number() protoreflect.EnumNumber { // Deprecated: Use TaskStatus.Descriptor instead. func (TaskStatus) EnumDescriptor() ([]byte, []int) { - return file_generated_service_proto_rawDescGZIP(), []int{2} + return file_service_proto_rawDescGZIP(), []int{2} } type TaskPriority int32 @@ -228,11 +229,11 @@ func (x TaskPriority) String() string { } func (TaskPriority) Descriptor() protoreflect.EnumDescriptor { - return file_generated_service_proto_enumTypes[3].Descriptor() + return file_service_proto_enumTypes[3].Descriptor() } func (TaskPriority) Type() protoreflect.EnumType { - return &file_generated_service_proto_enumTypes[3] + return &file_service_proto_enumTypes[3] } func (x TaskPriority) Number() protoreflect.EnumNumber { @@ -241,7 +242,7 @@ func (x TaskPriority) Number() protoreflect.EnumNumber { // Deprecated: Use TaskPriority.Descriptor instead. func (TaskPriority) EnumDescriptor() ([]byte, []int) { - return file_generated_service_proto_rawDescGZIP(), []int{3} + return file_service_proto_rawDescGZIP(), []int{3} } type ProjectUpdateType int32 @@ -286,11 +287,11 @@ func (x ProjectUpdateType) String() string { } func (ProjectUpdateType) Descriptor() protoreflect.EnumDescriptor { - return file_generated_service_proto_enumTypes[4].Descriptor() + return file_service_proto_enumTypes[4].Descriptor() } func (ProjectUpdateType) Type() protoreflect.EnumType { - return &file_generated_service_proto_enumTypes[4] + return &file_service_proto_enumTypes[4] } func (x ProjectUpdateType) Number() protoreflect.EnumNumber { @@ -299,25 +300,22 @@ func (x ProjectUpdateType) Number() protoreflect.EnumNumber { // Deprecated: Use ProjectUpdateType.Descriptor instead. func (ProjectUpdateType) EnumDescriptor() ([]byte, []int) { - return file_generated_service_proto_rawDescGZIP(), []int{4} + return file_service_proto_rawDescGZIP(), []int{4} } // Wrapper message for a list of Employee. type ListOfEmployee struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache + state protoimpl.MessageState `protogen:"open.v1"` + List *ListOfEmployee_List `protobuf:"bytes,1,opt,name=list,proto3" json:"list,omitempty"` unknownFields protoimpl.UnknownFields - - List *ListOfEmployee_List `protobuf:"bytes,1,opt,name=list,proto3" json:"list,omitempty"` + sizeCache protoimpl.SizeCache } func (x *ListOfEmployee) Reset() { *x = ListOfEmployee{} - if protoimpl.UnsafeEnabled { - mi := &file_generated_service_proto_msgTypes[0] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_service_proto_msgTypes[0] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *ListOfEmployee) String() string { @@ -327,8 +325,8 @@ func (x *ListOfEmployee) String() string { func (*ListOfEmployee) ProtoMessage() {} func (x *ListOfEmployee) ProtoReflect() protoreflect.Message { - mi := &file_generated_service_proto_msgTypes[0] - if protoimpl.UnsafeEnabled && x != nil { + mi := &file_service_proto_msgTypes[0] + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -340,7 +338,7 @@ func (x *ListOfEmployee) ProtoReflect() protoreflect.Message { // Deprecated: Use ListOfEmployee.ProtoReflect.Descriptor instead. func (*ListOfEmployee) Descriptor() ([]byte, []int) { - return file_generated_service_proto_rawDescGZIP(), []int{0} + return file_service_proto_rawDescGZIP(), []int{0} } func (x *ListOfEmployee) GetList() *ListOfEmployee_List { @@ -352,20 +350,17 @@ func (x *ListOfEmployee) GetList() *ListOfEmployee_List { // Wrapper message for a list of Int. type ListOfInt struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache + state protoimpl.MessageState `protogen:"open.v1"` + List *ListOfInt_List `protobuf:"bytes,1,opt,name=list,proto3" json:"list,omitempty"` unknownFields protoimpl.UnknownFields - - List *ListOfInt_List `protobuf:"bytes,1,opt,name=list,proto3" json:"list,omitempty"` + sizeCache protoimpl.SizeCache } func (x *ListOfInt) Reset() { *x = ListOfInt{} - if protoimpl.UnsafeEnabled { - mi := &file_generated_service_proto_msgTypes[1] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_service_proto_msgTypes[1] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *ListOfInt) String() string { @@ -375,8 +370,8 @@ func (x *ListOfInt) String() string { func (*ListOfInt) ProtoMessage() {} func (x *ListOfInt) ProtoReflect() protoreflect.Message { - mi := &file_generated_service_proto_msgTypes[1] - if protoimpl.UnsafeEnabled && x != nil { + mi := &file_service_proto_msgTypes[1] + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -388,7 +383,7 @@ func (x *ListOfInt) ProtoReflect() protoreflect.Message { // Deprecated: Use ListOfInt.ProtoReflect.Descriptor instead. func (*ListOfInt) Descriptor() ([]byte, []int) { - return file_generated_service_proto_rawDescGZIP(), []int{1} + return file_service_proto_rawDescGZIP(), []int{1} } func (x *ListOfInt) GetList() *ListOfInt_List { @@ -400,20 +395,17 @@ func (x *ListOfInt) GetList() *ListOfInt_List { // Wrapper message for a list of Task. type ListOfListOfListOfTask struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache + state protoimpl.MessageState `protogen:"open.v1"` + List *ListOfListOfListOfTask_List `protobuf:"bytes,1,opt,name=list,proto3" json:"list,omitempty"` unknownFields protoimpl.UnknownFields - - List *ListOfListOfListOfTask_List `protobuf:"bytes,1,opt,name=list,proto3" json:"list,omitempty"` + sizeCache protoimpl.SizeCache } func (x *ListOfListOfListOfTask) Reset() { *x = ListOfListOfListOfTask{} - if protoimpl.UnsafeEnabled { - mi := &file_generated_service_proto_msgTypes[2] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_service_proto_msgTypes[2] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *ListOfListOfListOfTask) String() string { @@ -423,8 +415,8 @@ func (x *ListOfListOfListOfTask) String() string { func (*ListOfListOfListOfTask) ProtoMessage() {} func (x *ListOfListOfListOfTask) ProtoReflect() protoreflect.Message { - mi := &file_generated_service_proto_msgTypes[2] - if protoimpl.UnsafeEnabled && x != nil { + mi := &file_service_proto_msgTypes[2] + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -436,7 +428,7 @@ func (x *ListOfListOfListOfTask) ProtoReflect() protoreflect.Message { // Deprecated: Use ListOfListOfListOfTask.ProtoReflect.Descriptor instead. func (*ListOfListOfListOfTask) Descriptor() ([]byte, []int) { - return file_generated_service_proto_rawDescGZIP(), []int{2} + return file_service_proto_rawDescGZIP(), []int{2} } func (x *ListOfListOfListOfTask) GetList() *ListOfListOfListOfTask_List { @@ -448,20 +440,17 @@ func (x *ListOfListOfListOfTask) GetList() *ListOfListOfListOfTask_List { // Wrapper message for a list of Milestone. type ListOfListOfMilestone struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache + state protoimpl.MessageState `protogen:"open.v1"` + List *ListOfListOfMilestone_List `protobuf:"bytes,1,opt,name=list,proto3" json:"list,omitempty"` unknownFields protoimpl.UnknownFields - - List *ListOfListOfMilestone_List `protobuf:"bytes,1,opt,name=list,proto3" json:"list,omitempty"` + sizeCache protoimpl.SizeCache } func (x *ListOfListOfMilestone) Reset() { *x = ListOfListOfMilestone{} - if protoimpl.UnsafeEnabled { - mi := &file_generated_service_proto_msgTypes[3] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_service_proto_msgTypes[3] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *ListOfListOfMilestone) String() string { @@ -471,8 +460,8 @@ func (x *ListOfListOfMilestone) String() string { func (*ListOfListOfMilestone) ProtoMessage() {} func (x *ListOfListOfMilestone) ProtoReflect() protoreflect.Message { - mi := &file_generated_service_proto_msgTypes[3] - if protoimpl.UnsafeEnabled && x != nil { + mi := &file_service_proto_msgTypes[3] + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -484,7 +473,7 @@ func (x *ListOfListOfMilestone) ProtoReflect() protoreflect.Message { // Deprecated: Use ListOfListOfMilestone.ProtoReflect.Descriptor instead. func (*ListOfListOfMilestone) Descriptor() ([]byte, []int) { - return file_generated_service_proto_rawDescGZIP(), []int{3} + return file_service_proto_rawDescGZIP(), []int{3} } func (x *ListOfListOfMilestone) GetList() *ListOfListOfMilestone_List { @@ -496,20 +485,17 @@ func (x *ListOfListOfMilestone) GetList() *ListOfListOfMilestone_List { // Wrapper message for a list of Project. type ListOfListOfProject struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache + state protoimpl.MessageState `protogen:"open.v1"` + List *ListOfListOfProject_List `protobuf:"bytes,1,opt,name=list,proto3" json:"list,omitempty"` unknownFields protoimpl.UnknownFields - - List *ListOfListOfProject_List `protobuf:"bytes,1,opt,name=list,proto3" json:"list,omitempty"` + sizeCache protoimpl.SizeCache } func (x *ListOfListOfProject) Reset() { *x = ListOfListOfProject{} - if protoimpl.UnsafeEnabled { - mi := &file_generated_service_proto_msgTypes[4] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_service_proto_msgTypes[4] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *ListOfListOfProject) String() string { @@ -519,8 +505,8 @@ func (x *ListOfListOfProject) String() string { func (*ListOfListOfProject) ProtoMessage() {} func (x *ListOfListOfProject) ProtoReflect() protoreflect.Message { - mi := &file_generated_service_proto_msgTypes[4] - if protoimpl.UnsafeEnabled && x != nil { + mi := &file_service_proto_msgTypes[4] + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -532,7 +518,7 @@ func (x *ListOfListOfProject) ProtoReflect() protoreflect.Message { // Deprecated: Use ListOfListOfProject.ProtoReflect.Descriptor instead. func (*ListOfListOfProject) Descriptor() ([]byte, []int) { - return file_generated_service_proto_rawDescGZIP(), []int{4} + return file_service_proto_rawDescGZIP(), []int{4} } func (x *ListOfListOfProject) GetList() *ListOfListOfProject_List { @@ -544,20 +530,17 @@ func (x *ListOfListOfProject) GetList() *ListOfListOfProject_List { // Wrapper message for a list of ProjectResource. type ListOfListOfProjectResource struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache + state protoimpl.MessageState `protogen:"open.v1"` + List *ListOfListOfProjectResource_List `protobuf:"bytes,1,opt,name=list,proto3" json:"list,omitempty"` unknownFields protoimpl.UnknownFields - - List *ListOfListOfProjectResource_List `protobuf:"bytes,1,opt,name=list,proto3" json:"list,omitempty"` + sizeCache protoimpl.SizeCache } func (x *ListOfListOfProjectResource) Reset() { *x = ListOfListOfProjectResource{} - if protoimpl.UnsafeEnabled { - mi := &file_generated_service_proto_msgTypes[5] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_service_proto_msgTypes[5] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *ListOfListOfProjectResource) String() string { @@ -567,8 +550,8 @@ func (x *ListOfListOfProjectResource) String() string { func (*ListOfListOfProjectResource) ProtoMessage() {} func (x *ListOfListOfProjectResource) ProtoReflect() protoreflect.Message { - mi := &file_generated_service_proto_msgTypes[5] - if protoimpl.UnsafeEnabled && x != nil { + mi := &file_service_proto_msgTypes[5] + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -580,7 +563,7 @@ func (x *ListOfListOfProjectResource) ProtoReflect() protoreflect.Message { // Deprecated: Use ListOfListOfProjectResource.ProtoReflect.Descriptor instead. func (*ListOfListOfProjectResource) Descriptor() ([]byte, []int) { - return file_generated_service_proto_rawDescGZIP(), []int{5} + return file_service_proto_rawDescGZIP(), []int{5} } func (x *ListOfListOfProjectResource) GetList() *ListOfListOfProjectResource_List { @@ -592,20 +575,17 @@ func (x *ListOfListOfProjectResource) GetList() *ListOfListOfProjectResource_Lis // Wrapper message for a list of String. type ListOfListOfString struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache + state protoimpl.MessageState `protogen:"open.v1"` + List *ListOfListOfString_List `protobuf:"bytes,1,opt,name=list,proto3" json:"list,omitempty"` unknownFields protoimpl.UnknownFields - - List *ListOfListOfString_List `protobuf:"bytes,1,opt,name=list,proto3" json:"list,omitempty"` + sizeCache protoimpl.SizeCache } func (x *ListOfListOfString) Reset() { *x = ListOfListOfString{} - if protoimpl.UnsafeEnabled { - mi := &file_generated_service_proto_msgTypes[6] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_service_proto_msgTypes[6] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *ListOfListOfString) String() string { @@ -615,8 +595,8 @@ func (x *ListOfListOfString) String() string { func (*ListOfListOfString) ProtoMessage() {} func (x *ListOfListOfString) ProtoReflect() protoreflect.Message { - mi := &file_generated_service_proto_msgTypes[6] - if protoimpl.UnsafeEnabled && x != nil { + mi := &file_service_proto_msgTypes[6] + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -628,7 +608,7 @@ func (x *ListOfListOfString) ProtoReflect() protoreflect.Message { // Deprecated: Use ListOfListOfString.ProtoReflect.Descriptor instead. func (*ListOfListOfString) Descriptor() ([]byte, []int) { - return file_generated_service_proto_rawDescGZIP(), []int{6} + return file_service_proto_rawDescGZIP(), []int{6} } func (x *ListOfListOfString) GetList() *ListOfListOfString_List { @@ -640,20 +620,17 @@ func (x *ListOfListOfString) GetList() *ListOfListOfString_List { // Wrapper message for a list of Task. type ListOfListOfTask struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache + state protoimpl.MessageState `protogen:"open.v1"` + List *ListOfListOfTask_List `protobuf:"bytes,1,opt,name=list,proto3" json:"list,omitempty"` unknownFields protoimpl.UnknownFields - - List *ListOfListOfTask_List `protobuf:"bytes,1,opt,name=list,proto3" json:"list,omitempty"` + sizeCache protoimpl.SizeCache } func (x *ListOfListOfTask) Reset() { *x = ListOfListOfTask{} - if protoimpl.UnsafeEnabled { - mi := &file_generated_service_proto_msgTypes[7] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_service_proto_msgTypes[7] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *ListOfListOfTask) String() string { @@ -663,8 +640,8 @@ func (x *ListOfListOfTask) String() string { func (*ListOfListOfTask) ProtoMessage() {} func (x *ListOfListOfTask) ProtoReflect() protoreflect.Message { - mi := &file_generated_service_proto_msgTypes[7] - if protoimpl.UnsafeEnabled && x != nil { + mi := &file_service_proto_msgTypes[7] + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -676,7 +653,7 @@ func (x *ListOfListOfTask) ProtoReflect() protoreflect.Message { // Deprecated: Use ListOfListOfTask.ProtoReflect.Descriptor instead. func (*ListOfListOfTask) Descriptor() ([]byte, []int) { - return file_generated_service_proto_rawDescGZIP(), []int{7} + return file_service_proto_rawDescGZIP(), []int{7} } func (x *ListOfListOfTask) GetList() *ListOfListOfTask_List { @@ -688,20 +665,17 @@ func (x *ListOfListOfTask) GetList() *ListOfListOfTask_List { // Wrapper message for a list of Milestone. type ListOfMilestone struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache + state protoimpl.MessageState `protogen:"open.v1"` + List *ListOfMilestone_List `protobuf:"bytes,1,opt,name=list,proto3" json:"list,omitempty"` unknownFields protoimpl.UnknownFields - - List *ListOfMilestone_List `protobuf:"bytes,1,opt,name=list,proto3" json:"list,omitempty"` + sizeCache protoimpl.SizeCache } func (x *ListOfMilestone) Reset() { *x = ListOfMilestone{} - if protoimpl.UnsafeEnabled { - mi := &file_generated_service_proto_msgTypes[8] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_service_proto_msgTypes[8] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *ListOfMilestone) String() string { @@ -711,8 +685,8 @@ func (x *ListOfMilestone) String() string { func (*ListOfMilestone) ProtoMessage() {} func (x *ListOfMilestone) ProtoReflect() protoreflect.Message { - mi := &file_generated_service_proto_msgTypes[8] - if protoimpl.UnsafeEnabled && x != nil { + mi := &file_service_proto_msgTypes[8] + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -724,7 +698,7 @@ func (x *ListOfMilestone) ProtoReflect() protoreflect.Message { // Deprecated: Use ListOfMilestone.ProtoReflect.Descriptor instead. func (*ListOfMilestone) Descriptor() ([]byte, []int) { - return file_generated_service_proto_rawDescGZIP(), []int{8} + return file_service_proto_rawDescGZIP(), []int{8} } func (x *ListOfMilestone) GetList() *ListOfMilestone_List { @@ -736,20 +710,17 @@ func (x *ListOfMilestone) GetList() *ListOfMilestone_List { // Wrapper message for a list of Project. type ListOfProject struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache + state protoimpl.MessageState `protogen:"open.v1"` + List *ListOfProject_List `protobuf:"bytes,1,opt,name=list,proto3" json:"list,omitempty"` unknownFields protoimpl.UnknownFields - - List *ListOfProject_List `protobuf:"bytes,1,opt,name=list,proto3" json:"list,omitempty"` + sizeCache protoimpl.SizeCache } func (x *ListOfProject) Reset() { *x = ListOfProject{} - if protoimpl.UnsafeEnabled { - mi := &file_generated_service_proto_msgTypes[9] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_service_proto_msgTypes[9] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *ListOfProject) String() string { @@ -759,8 +730,8 @@ func (x *ListOfProject) String() string { func (*ListOfProject) ProtoMessage() {} func (x *ListOfProject) ProtoReflect() protoreflect.Message { - mi := &file_generated_service_proto_msgTypes[9] - if protoimpl.UnsafeEnabled && x != nil { + mi := &file_service_proto_msgTypes[9] + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -772,7 +743,7 @@ func (x *ListOfProject) ProtoReflect() protoreflect.Message { // Deprecated: Use ListOfProject.ProtoReflect.Descriptor instead. func (*ListOfProject) Descriptor() ([]byte, []int) { - return file_generated_service_proto_rawDescGZIP(), []int{9} + return file_service_proto_rawDescGZIP(), []int{9} } func (x *ListOfProject) GetList() *ListOfProject_List { @@ -784,20 +755,17 @@ func (x *ListOfProject) GetList() *ListOfProject_List { // Wrapper message for a list of ProjectResource. type ListOfProjectResource struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache + state protoimpl.MessageState `protogen:"open.v1"` + List *ListOfProjectResource_List `protobuf:"bytes,1,opt,name=list,proto3" json:"list,omitempty"` unknownFields protoimpl.UnknownFields - - List *ListOfProjectResource_List `protobuf:"bytes,1,opt,name=list,proto3" json:"list,omitempty"` + sizeCache protoimpl.SizeCache } func (x *ListOfProjectResource) Reset() { *x = ListOfProjectResource{} - if protoimpl.UnsafeEnabled { - mi := &file_generated_service_proto_msgTypes[10] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_service_proto_msgTypes[10] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *ListOfProjectResource) String() string { @@ -807,8 +775,8 @@ func (x *ListOfProjectResource) String() string { func (*ListOfProjectResource) ProtoMessage() {} func (x *ListOfProjectResource) ProtoReflect() protoreflect.Message { - mi := &file_generated_service_proto_msgTypes[10] - if protoimpl.UnsafeEnabled && x != nil { + mi := &file_service_proto_msgTypes[10] + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -820,7 +788,7 @@ func (x *ListOfProjectResource) ProtoReflect() protoreflect.Message { // Deprecated: Use ListOfProjectResource.ProtoReflect.Descriptor instead. func (*ListOfProjectResource) Descriptor() ([]byte, []int) { - return file_generated_service_proto_rawDescGZIP(), []int{10} + return file_service_proto_rawDescGZIP(), []int{10} } func (x *ListOfProjectResource) GetList() *ListOfProjectResource_List { @@ -832,20 +800,17 @@ func (x *ListOfProjectResource) GetList() *ListOfProjectResource_List { // Wrapper message for a list of String. type ListOfString struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache + state protoimpl.MessageState `protogen:"open.v1"` + List *ListOfString_List `protobuf:"bytes,1,opt,name=list,proto3" json:"list,omitempty"` unknownFields protoimpl.UnknownFields - - List *ListOfString_List `protobuf:"bytes,1,opt,name=list,proto3" json:"list,omitempty"` + sizeCache protoimpl.SizeCache } func (x *ListOfString) Reset() { *x = ListOfString{} - if protoimpl.UnsafeEnabled { - mi := &file_generated_service_proto_msgTypes[11] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_service_proto_msgTypes[11] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *ListOfString) String() string { @@ -855,8 +820,8 @@ func (x *ListOfString) String() string { func (*ListOfString) ProtoMessage() {} func (x *ListOfString) ProtoReflect() protoreflect.Message { - mi := &file_generated_service_proto_msgTypes[11] - if protoimpl.UnsafeEnabled && x != nil { + mi := &file_service_proto_msgTypes[11] + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -868,7 +833,7 @@ func (x *ListOfString) ProtoReflect() protoreflect.Message { // Deprecated: Use ListOfString.ProtoReflect.Descriptor instead. func (*ListOfString) Descriptor() ([]byte, []int) { - return file_generated_service_proto_rawDescGZIP(), []int{11} + return file_service_proto_rawDescGZIP(), []int{11} } func (x *ListOfString) GetList() *ListOfString_List { @@ -880,20 +845,17 @@ func (x *ListOfString) GetList() *ListOfString_List { // Wrapper message for a list of Task. type ListOfTask struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache + state protoimpl.MessageState `protogen:"open.v1"` + List *ListOfTask_List `protobuf:"bytes,1,opt,name=list,proto3" json:"list,omitempty"` unknownFields protoimpl.UnknownFields - - List *ListOfTask_List `protobuf:"bytes,1,opt,name=list,proto3" json:"list,omitempty"` + sizeCache protoimpl.SizeCache } func (x *ListOfTask) Reset() { *x = ListOfTask{} - if protoimpl.UnsafeEnabled { - mi := &file_generated_service_proto_msgTypes[12] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_service_proto_msgTypes[12] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *ListOfTask) String() string { @@ -903,8 +865,8 @@ func (x *ListOfTask) String() string { func (*ListOfTask) ProtoMessage() {} func (x *ListOfTask) ProtoReflect() protoreflect.Message { - mi := &file_generated_service_proto_msgTypes[12] - if protoimpl.UnsafeEnabled && x != nil { + mi := &file_service_proto_msgTypes[12] + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -916,7 +878,7 @@ func (x *ListOfTask) ProtoReflect() protoreflect.Message { // Deprecated: Use ListOfTask.ProtoReflect.Descriptor instead. func (*ListOfTask) Descriptor() ([]byte, []int) { - return file_generated_service_proto_rawDescGZIP(), []int{12} + return file_service_proto_rawDescGZIP(), []int{12} } func (x *ListOfTask) GetList() *ListOfTask_List { @@ -928,21 +890,18 @@ func (x *ListOfTask) GetList() *ListOfTask_List { // Key message for Project entity lookup type LookupProjectByIdRequestKey struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - + state protoimpl.MessageState `protogen:"open.v1"` // Key field for Project entity lookup. - Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"` + Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *LookupProjectByIdRequestKey) Reset() { *x = LookupProjectByIdRequestKey{} - if protoimpl.UnsafeEnabled { - mi := &file_generated_service_proto_msgTypes[13] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_service_proto_msgTypes[13] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *LookupProjectByIdRequestKey) String() string { @@ -952,8 +911,8 @@ func (x *LookupProjectByIdRequestKey) String() string { func (*LookupProjectByIdRequestKey) ProtoMessage() {} func (x *LookupProjectByIdRequestKey) ProtoReflect() protoreflect.Message { - mi := &file_generated_service_proto_msgTypes[13] - if protoimpl.UnsafeEnabled && x != nil { + mi := &file_service_proto_msgTypes[13] + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -965,7 +924,7 @@ func (x *LookupProjectByIdRequestKey) ProtoReflect() protoreflect.Message { // Deprecated: Use LookupProjectByIdRequestKey.ProtoReflect.Descriptor instead. func (*LookupProjectByIdRequestKey) Descriptor() ([]byte, []int) { - return file_generated_service_proto_rawDescGZIP(), []int{13} + return file_service_proto_rawDescGZIP(), []int{13} } func (x *LookupProjectByIdRequestKey) GetId() string { @@ -977,22 +936,19 @@ func (x *LookupProjectByIdRequestKey) GetId() string { // Request message for Project entity lookup. type LookupProjectByIdRequest struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - + state protoimpl.MessageState `protogen:"open.v1"` // List of keys to look up Project entities. // Order matters - each key maps to one entity in LookupProjectByIdResponse. - Keys []*LookupProjectByIdRequestKey `protobuf:"bytes,1,rep,name=keys,proto3" json:"keys,omitempty"` + Keys []*LookupProjectByIdRequestKey `protobuf:"bytes,1,rep,name=keys,proto3" json:"keys,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *LookupProjectByIdRequest) Reset() { *x = LookupProjectByIdRequest{} - if protoimpl.UnsafeEnabled { - mi := &file_generated_service_proto_msgTypes[14] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_service_proto_msgTypes[14] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *LookupProjectByIdRequest) String() string { @@ -1002,8 +958,8 @@ func (x *LookupProjectByIdRequest) String() string { func (*LookupProjectByIdRequest) ProtoMessage() {} func (x *LookupProjectByIdRequest) ProtoReflect() protoreflect.Message { - mi := &file_generated_service_proto_msgTypes[14] - if protoimpl.UnsafeEnabled && x != nil { + mi := &file_service_proto_msgTypes[14] + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -1015,7 +971,7 @@ func (x *LookupProjectByIdRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use LookupProjectByIdRequest.ProtoReflect.Descriptor instead. func (*LookupProjectByIdRequest) Descriptor() ([]byte, []int) { - return file_generated_service_proto_rawDescGZIP(), []int{14} + return file_service_proto_rawDescGZIP(), []int{14} } func (x *LookupProjectByIdRequest) GetKeys() []*LookupProjectByIdRequestKey { @@ -1027,10 +983,7 @@ func (x *LookupProjectByIdRequest) GetKeys() []*LookupProjectByIdRequestKey { // Response message for Project entity lookup. type LookupProjectByIdResponse struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - + state protoimpl.MessageState `protogen:"open.v1"` // List of Project entities in the same order as the keys in LookupProjectByIdRequest. // Always return the same number of entities as keys. Use null for entities that cannot be found. // @@ -1044,16 +997,16 @@ type LookupProjectByIdResponse struct { // result: // - id: 1 # User with id 1 found // - null # User with id 2 not found - Result []*Project `protobuf:"bytes,1,rep,name=result,proto3" json:"result,omitempty"` + Result []*Project `protobuf:"bytes,1,rep,name=result,proto3" json:"result,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *LookupProjectByIdResponse) Reset() { *x = LookupProjectByIdResponse{} - if protoimpl.UnsafeEnabled { - mi := &file_generated_service_proto_msgTypes[15] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_service_proto_msgTypes[15] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *LookupProjectByIdResponse) String() string { @@ -1063,8 +1016,8 @@ func (x *LookupProjectByIdResponse) String() string { func (*LookupProjectByIdResponse) ProtoMessage() {} func (x *LookupProjectByIdResponse) ProtoReflect() protoreflect.Message { - mi := &file_generated_service_proto_msgTypes[15] - if protoimpl.UnsafeEnabled && x != nil { + mi := &file_service_proto_msgTypes[15] + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -1076,7 +1029,7 @@ func (x *LookupProjectByIdResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use LookupProjectByIdResponse.ProtoReflect.Descriptor instead. func (*LookupProjectByIdResponse) Descriptor() ([]byte, []int) { - return file_generated_service_proto_rawDescGZIP(), []int{15} + return file_service_proto_rawDescGZIP(), []int{15} } func (x *LookupProjectByIdResponse) GetResult() []*Project { @@ -1088,21 +1041,18 @@ func (x *LookupProjectByIdResponse) GetResult() []*Project { // Key message for Milestone entity lookup type LookupMilestoneByIdRequestKey struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - + state protoimpl.MessageState `protogen:"open.v1"` // Key field for Milestone entity lookup. - Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"` + Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *LookupMilestoneByIdRequestKey) Reset() { *x = LookupMilestoneByIdRequestKey{} - if protoimpl.UnsafeEnabled { - mi := &file_generated_service_proto_msgTypes[16] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_service_proto_msgTypes[16] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *LookupMilestoneByIdRequestKey) String() string { @@ -1112,8 +1062,8 @@ func (x *LookupMilestoneByIdRequestKey) String() string { func (*LookupMilestoneByIdRequestKey) ProtoMessage() {} func (x *LookupMilestoneByIdRequestKey) ProtoReflect() protoreflect.Message { - mi := &file_generated_service_proto_msgTypes[16] - if protoimpl.UnsafeEnabled && x != nil { + mi := &file_service_proto_msgTypes[16] + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -1125,7 +1075,7 @@ func (x *LookupMilestoneByIdRequestKey) ProtoReflect() protoreflect.Message { // Deprecated: Use LookupMilestoneByIdRequestKey.ProtoReflect.Descriptor instead. func (*LookupMilestoneByIdRequestKey) Descriptor() ([]byte, []int) { - return file_generated_service_proto_rawDescGZIP(), []int{16} + return file_service_proto_rawDescGZIP(), []int{16} } func (x *LookupMilestoneByIdRequestKey) GetId() string { @@ -1137,22 +1087,19 @@ func (x *LookupMilestoneByIdRequestKey) GetId() string { // Request message for Milestone entity lookup. type LookupMilestoneByIdRequest struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - + state protoimpl.MessageState `protogen:"open.v1"` // List of keys to look up Milestone entities. // Order matters - each key maps to one entity in LookupMilestoneByIdResponse. - Keys []*LookupMilestoneByIdRequestKey `protobuf:"bytes,1,rep,name=keys,proto3" json:"keys,omitempty"` + Keys []*LookupMilestoneByIdRequestKey `protobuf:"bytes,1,rep,name=keys,proto3" json:"keys,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *LookupMilestoneByIdRequest) Reset() { *x = LookupMilestoneByIdRequest{} - if protoimpl.UnsafeEnabled { - mi := &file_generated_service_proto_msgTypes[17] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_service_proto_msgTypes[17] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *LookupMilestoneByIdRequest) String() string { @@ -1162,8 +1109,8 @@ func (x *LookupMilestoneByIdRequest) String() string { func (*LookupMilestoneByIdRequest) ProtoMessage() {} func (x *LookupMilestoneByIdRequest) ProtoReflect() protoreflect.Message { - mi := &file_generated_service_proto_msgTypes[17] - if protoimpl.UnsafeEnabled && x != nil { + mi := &file_service_proto_msgTypes[17] + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -1175,7 +1122,7 @@ func (x *LookupMilestoneByIdRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use LookupMilestoneByIdRequest.ProtoReflect.Descriptor instead. func (*LookupMilestoneByIdRequest) Descriptor() ([]byte, []int) { - return file_generated_service_proto_rawDescGZIP(), []int{17} + return file_service_proto_rawDescGZIP(), []int{17} } func (x *LookupMilestoneByIdRequest) GetKeys() []*LookupMilestoneByIdRequestKey { @@ -1187,10 +1134,7 @@ func (x *LookupMilestoneByIdRequest) GetKeys() []*LookupMilestoneByIdRequestKey // Response message for Milestone entity lookup. type LookupMilestoneByIdResponse struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - + state protoimpl.MessageState `protogen:"open.v1"` // List of Milestone entities in the same order as the keys in LookupMilestoneByIdRequest. // Always return the same number of entities as keys. Use null for entities that cannot be found. // @@ -1204,16 +1148,16 @@ type LookupMilestoneByIdResponse struct { // result: // - id: 1 # User with id 1 found // - null # User with id 2 not found - Result []*Milestone `protobuf:"bytes,1,rep,name=result,proto3" json:"result,omitempty"` + Result []*Milestone `protobuf:"bytes,1,rep,name=result,proto3" json:"result,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *LookupMilestoneByIdResponse) Reset() { *x = LookupMilestoneByIdResponse{} - if protoimpl.UnsafeEnabled { - mi := &file_generated_service_proto_msgTypes[18] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_service_proto_msgTypes[18] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *LookupMilestoneByIdResponse) String() string { @@ -1223,8 +1167,8 @@ func (x *LookupMilestoneByIdResponse) String() string { func (*LookupMilestoneByIdResponse) ProtoMessage() {} func (x *LookupMilestoneByIdResponse) ProtoReflect() protoreflect.Message { - mi := &file_generated_service_proto_msgTypes[18] - if protoimpl.UnsafeEnabled && x != nil { + mi := &file_service_proto_msgTypes[18] + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -1236,7 +1180,7 @@ func (x *LookupMilestoneByIdResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use LookupMilestoneByIdResponse.ProtoReflect.Descriptor instead. func (*LookupMilestoneByIdResponse) Descriptor() ([]byte, []int) { - return file_generated_service_proto_rawDescGZIP(), []int{18} + return file_service_proto_rawDescGZIP(), []int{18} } func (x *LookupMilestoneByIdResponse) GetResult() []*Milestone { @@ -1248,21 +1192,18 @@ func (x *LookupMilestoneByIdResponse) GetResult() []*Milestone { // Key message for Task entity lookup type LookupTaskByIdRequestKey struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - + state protoimpl.MessageState `protogen:"open.v1"` // Key field for Task entity lookup. - Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"` + Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *LookupTaskByIdRequestKey) Reset() { *x = LookupTaskByIdRequestKey{} - if protoimpl.UnsafeEnabled { - mi := &file_generated_service_proto_msgTypes[19] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_service_proto_msgTypes[19] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *LookupTaskByIdRequestKey) String() string { @@ -1272,8 +1213,8 @@ func (x *LookupTaskByIdRequestKey) String() string { func (*LookupTaskByIdRequestKey) ProtoMessage() {} func (x *LookupTaskByIdRequestKey) ProtoReflect() protoreflect.Message { - mi := &file_generated_service_proto_msgTypes[19] - if protoimpl.UnsafeEnabled && x != nil { + mi := &file_service_proto_msgTypes[19] + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -1285,7 +1226,7 @@ func (x *LookupTaskByIdRequestKey) ProtoReflect() protoreflect.Message { // Deprecated: Use LookupTaskByIdRequestKey.ProtoReflect.Descriptor instead. func (*LookupTaskByIdRequestKey) Descriptor() ([]byte, []int) { - return file_generated_service_proto_rawDescGZIP(), []int{19} + return file_service_proto_rawDescGZIP(), []int{19} } func (x *LookupTaskByIdRequestKey) GetId() string { @@ -1297,22 +1238,19 @@ func (x *LookupTaskByIdRequestKey) GetId() string { // Request message for Task entity lookup. type LookupTaskByIdRequest struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - + state protoimpl.MessageState `protogen:"open.v1"` // List of keys to look up Task entities. // Order matters - each key maps to one entity in LookupTaskByIdResponse. - Keys []*LookupTaskByIdRequestKey `protobuf:"bytes,1,rep,name=keys,proto3" json:"keys,omitempty"` + Keys []*LookupTaskByIdRequestKey `protobuf:"bytes,1,rep,name=keys,proto3" json:"keys,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *LookupTaskByIdRequest) Reset() { *x = LookupTaskByIdRequest{} - if protoimpl.UnsafeEnabled { - mi := &file_generated_service_proto_msgTypes[20] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_service_proto_msgTypes[20] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *LookupTaskByIdRequest) String() string { @@ -1322,8 +1260,8 @@ func (x *LookupTaskByIdRequest) String() string { func (*LookupTaskByIdRequest) ProtoMessage() {} func (x *LookupTaskByIdRequest) ProtoReflect() protoreflect.Message { - mi := &file_generated_service_proto_msgTypes[20] - if protoimpl.UnsafeEnabled && x != nil { + mi := &file_service_proto_msgTypes[20] + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -1335,7 +1273,7 @@ func (x *LookupTaskByIdRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use LookupTaskByIdRequest.ProtoReflect.Descriptor instead. func (*LookupTaskByIdRequest) Descriptor() ([]byte, []int) { - return file_generated_service_proto_rawDescGZIP(), []int{20} + return file_service_proto_rawDescGZIP(), []int{20} } func (x *LookupTaskByIdRequest) GetKeys() []*LookupTaskByIdRequestKey { @@ -1347,10 +1285,7 @@ func (x *LookupTaskByIdRequest) GetKeys() []*LookupTaskByIdRequestKey { // Response message for Task entity lookup. type LookupTaskByIdResponse struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - + state protoimpl.MessageState `protogen:"open.v1"` // List of Task entities in the same order as the keys in LookupTaskByIdRequest. // Always return the same number of entities as keys. Use null for entities that cannot be found. // @@ -1364,16 +1299,16 @@ type LookupTaskByIdResponse struct { // result: // - id: 1 # User with id 1 found // - null # User with id 2 not found - Result []*Task `protobuf:"bytes,1,rep,name=result,proto3" json:"result,omitempty"` + Result []*Task `protobuf:"bytes,1,rep,name=result,proto3" json:"result,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *LookupTaskByIdResponse) Reset() { *x = LookupTaskByIdResponse{} - if protoimpl.UnsafeEnabled { - mi := &file_generated_service_proto_msgTypes[21] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_service_proto_msgTypes[21] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *LookupTaskByIdResponse) String() string { @@ -1383,8 +1318,8 @@ func (x *LookupTaskByIdResponse) String() string { func (*LookupTaskByIdResponse) ProtoMessage() {} func (x *LookupTaskByIdResponse) ProtoReflect() protoreflect.Message { - mi := &file_generated_service_proto_msgTypes[21] - if protoimpl.UnsafeEnabled && x != nil { + mi := &file_service_proto_msgTypes[21] + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -1396,7 +1331,7 @@ func (x *LookupTaskByIdResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use LookupTaskByIdResponse.ProtoReflect.Descriptor instead. func (*LookupTaskByIdResponse) Descriptor() ([]byte, []int) { - return file_generated_service_proto_rawDescGZIP(), []int{21} + return file_service_proto_rawDescGZIP(), []int{21} } func (x *LookupTaskByIdResponse) GetResult() []*Task { @@ -1408,21 +1343,18 @@ func (x *LookupTaskByIdResponse) GetResult() []*Task { // Key message for Employee entity lookup type LookupEmployeeByIdRequestKey struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - + state protoimpl.MessageState `protogen:"open.v1"` // Key field for Employee entity lookup. - Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"` + Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *LookupEmployeeByIdRequestKey) Reset() { *x = LookupEmployeeByIdRequestKey{} - if protoimpl.UnsafeEnabled { - mi := &file_generated_service_proto_msgTypes[22] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_service_proto_msgTypes[22] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *LookupEmployeeByIdRequestKey) String() string { @@ -1432,8 +1364,8 @@ func (x *LookupEmployeeByIdRequestKey) String() string { func (*LookupEmployeeByIdRequestKey) ProtoMessage() {} func (x *LookupEmployeeByIdRequestKey) ProtoReflect() protoreflect.Message { - mi := &file_generated_service_proto_msgTypes[22] - if protoimpl.UnsafeEnabled && x != nil { + mi := &file_service_proto_msgTypes[22] + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -1445,7 +1377,7 @@ func (x *LookupEmployeeByIdRequestKey) ProtoReflect() protoreflect.Message { // Deprecated: Use LookupEmployeeByIdRequestKey.ProtoReflect.Descriptor instead. func (*LookupEmployeeByIdRequestKey) Descriptor() ([]byte, []int) { - return file_generated_service_proto_rawDescGZIP(), []int{22} + return file_service_proto_rawDescGZIP(), []int{22} } func (x *LookupEmployeeByIdRequestKey) GetId() string { @@ -1457,22 +1389,19 @@ func (x *LookupEmployeeByIdRequestKey) GetId() string { // Request message for Employee entity lookup. type LookupEmployeeByIdRequest struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - + state protoimpl.MessageState `protogen:"open.v1"` // List of keys to look up Employee entities. // Order matters - each key maps to one entity in LookupEmployeeByIdResponse. - Keys []*LookupEmployeeByIdRequestKey `protobuf:"bytes,1,rep,name=keys,proto3" json:"keys,omitempty"` + Keys []*LookupEmployeeByIdRequestKey `protobuf:"bytes,1,rep,name=keys,proto3" json:"keys,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *LookupEmployeeByIdRequest) Reset() { *x = LookupEmployeeByIdRequest{} - if protoimpl.UnsafeEnabled { - mi := &file_generated_service_proto_msgTypes[23] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_service_proto_msgTypes[23] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *LookupEmployeeByIdRequest) String() string { @@ -1482,8 +1411,8 @@ func (x *LookupEmployeeByIdRequest) String() string { func (*LookupEmployeeByIdRequest) ProtoMessage() {} func (x *LookupEmployeeByIdRequest) ProtoReflect() protoreflect.Message { - mi := &file_generated_service_proto_msgTypes[23] - if protoimpl.UnsafeEnabled && x != nil { + mi := &file_service_proto_msgTypes[23] + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -1495,7 +1424,7 @@ func (x *LookupEmployeeByIdRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use LookupEmployeeByIdRequest.ProtoReflect.Descriptor instead. func (*LookupEmployeeByIdRequest) Descriptor() ([]byte, []int) { - return file_generated_service_proto_rawDescGZIP(), []int{23} + return file_service_proto_rawDescGZIP(), []int{23} } func (x *LookupEmployeeByIdRequest) GetKeys() []*LookupEmployeeByIdRequestKey { @@ -1507,10 +1436,7 @@ func (x *LookupEmployeeByIdRequest) GetKeys() []*LookupEmployeeByIdRequestKey { // Response message for Employee entity lookup. type LookupEmployeeByIdResponse struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - + state protoimpl.MessageState `protogen:"open.v1"` // List of Employee entities in the same order as the keys in LookupEmployeeByIdRequest. // Always return the same number of entities as keys. Use null for entities that cannot be found. // @@ -1524,16 +1450,16 @@ type LookupEmployeeByIdResponse struct { // result: // - id: 1 # User with id 1 found // - null # User with id 2 not found - Result []*Employee `protobuf:"bytes,1,rep,name=result,proto3" json:"result,omitempty"` + Result []*Employee `protobuf:"bytes,1,rep,name=result,proto3" json:"result,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *LookupEmployeeByIdResponse) Reset() { *x = LookupEmployeeByIdResponse{} - if protoimpl.UnsafeEnabled { - mi := &file_generated_service_proto_msgTypes[24] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_service_proto_msgTypes[24] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *LookupEmployeeByIdResponse) String() string { @@ -1543,8 +1469,8 @@ func (x *LookupEmployeeByIdResponse) String() string { func (*LookupEmployeeByIdResponse) ProtoMessage() {} func (x *LookupEmployeeByIdResponse) ProtoReflect() protoreflect.Message { - mi := &file_generated_service_proto_msgTypes[24] - if protoimpl.UnsafeEnabled && x != nil { + mi := &file_service_proto_msgTypes[24] + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -1556,7 +1482,7 @@ func (x *LookupEmployeeByIdResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use LookupEmployeeByIdResponse.ProtoReflect.Descriptor instead. func (*LookupEmployeeByIdResponse) Descriptor() ([]byte, []int) { - return file_generated_service_proto_rawDescGZIP(), []int{24} + return file_service_proto_rawDescGZIP(), []int{24} } func (x *LookupEmployeeByIdResponse) GetResult() []*Employee { @@ -1568,21 +1494,18 @@ func (x *LookupEmployeeByIdResponse) GetResult() []*Employee { // Key message for Product entity lookup type LookupProductByUpcRequestKey struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - + state protoimpl.MessageState `protogen:"open.v1"` // Key field for Product entity lookup. - Upc string `protobuf:"bytes,1,opt,name=upc,proto3" json:"upc,omitempty"` + Upc string `protobuf:"bytes,1,opt,name=upc,proto3" json:"upc,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *LookupProductByUpcRequestKey) Reset() { *x = LookupProductByUpcRequestKey{} - if protoimpl.UnsafeEnabled { - mi := &file_generated_service_proto_msgTypes[25] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_service_proto_msgTypes[25] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *LookupProductByUpcRequestKey) String() string { @@ -1592,8 +1515,8 @@ func (x *LookupProductByUpcRequestKey) String() string { func (*LookupProductByUpcRequestKey) ProtoMessage() {} func (x *LookupProductByUpcRequestKey) ProtoReflect() protoreflect.Message { - mi := &file_generated_service_proto_msgTypes[25] - if protoimpl.UnsafeEnabled && x != nil { + mi := &file_service_proto_msgTypes[25] + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -1605,7 +1528,7 @@ func (x *LookupProductByUpcRequestKey) ProtoReflect() protoreflect.Message { // Deprecated: Use LookupProductByUpcRequestKey.ProtoReflect.Descriptor instead. func (*LookupProductByUpcRequestKey) Descriptor() ([]byte, []int) { - return file_generated_service_proto_rawDescGZIP(), []int{25} + return file_service_proto_rawDescGZIP(), []int{25} } func (x *LookupProductByUpcRequestKey) GetUpc() string { @@ -1617,22 +1540,19 @@ func (x *LookupProductByUpcRequestKey) GetUpc() string { // Request message for Product entity lookup. type LookupProductByUpcRequest struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - + state protoimpl.MessageState `protogen:"open.v1"` // List of keys to look up Product entities. // Order matters - each key maps to one entity in LookupProductByUpcResponse. - Keys []*LookupProductByUpcRequestKey `protobuf:"bytes,1,rep,name=keys,proto3" json:"keys,omitempty"` + Keys []*LookupProductByUpcRequestKey `protobuf:"bytes,1,rep,name=keys,proto3" json:"keys,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *LookupProductByUpcRequest) Reset() { *x = LookupProductByUpcRequest{} - if protoimpl.UnsafeEnabled { - mi := &file_generated_service_proto_msgTypes[26] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_service_proto_msgTypes[26] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *LookupProductByUpcRequest) String() string { @@ -1642,8 +1562,8 @@ func (x *LookupProductByUpcRequest) String() string { func (*LookupProductByUpcRequest) ProtoMessage() {} func (x *LookupProductByUpcRequest) ProtoReflect() protoreflect.Message { - mi := &file_generated_service_proto_msgTypes[26] - if protoimpl.UnsafeEnabled && x != nil { + mi := &file_service_proto_msgTypes[26] + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -1655,7 +1575,7 @@ func (x *LookupProductByUpcRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use LookupProductByUpcRequest.ProtoReflect.Descriptor instead. func (*LookupProductByUpcRequest) Descriptor() ([]byte, []int) { - return file_generated_service_proto_rawDescGZIP(), []int{26} + return file_service_proto_rawDescGZIP(), []int{26} } func (x *LookupProductByUpcRequest) GetKeys() []*LookupProductByUpcRequestKey { @@ -1667,10 +1587,7 @@ func (x *LookupProductByUpcRequest) GetKeys() []*LookupProductByUpcRequestKey { // Response message for Product entity lookup. type LookupProductByUpcResponse struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - + state protoimpl.MessageState `protogen:"open.v1"` // List of Product entities in the same order as the keys in LookupProductByUpcRequest. // Always return the same number of entities as keys. Use null for entities that cannot be found. // @@ -1684,16 +1601,16 @@ type LookupProductByUpcResponse struct { // result: // - id: 1 # User with id 1 found // - null # User with id 2 not found - Result []*Product `protobuf:"bytes,1,rep,name=result,proto3" json:"result,omitempty"` + Result []*Product `protobuf:"bytes,1,rep,name=result,proto3" json:"result,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *LookupProductByUpcResponse) Reset() { *x = LookupProductByUpcResponse{} - if protoimpl.UnsafeEnabled { - mi := &file_generated_service_proto_msgTypes[27] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_service_proto_msgTypes[27] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *LookupProductByUpcResponse) String() string { @@ -1703,8 +1620,8 @@ func (x *LookupProductByUpcResponse) String() string { func (*LookupProductByUpcResponse) ProtoMessage() {} func (x *LookupProductByUpcResponse) ProtoReflect() protoreflect.Message { - mi := &file_generated_service_proto_msgTypes[27] - if protoimpl.UnsafeEnabled && x != nil { + mi := &file_service_proto_msgTypes[27] + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -1716,7 +1633,7 @@ func (x *LookupProductByUpcResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use LookupProductByUpcResponse.ProtoReflect.Descriptor instead. func (*LookupProductByUpcResponse) Descriptor() ([]byte, []int) { - return file_generated_service_proto_rawDescGZIP(), []int{27} + return file_service_proto_rawDescGZIP(), []int{27} } func (x *LookupProductByUpcResponse) GetResult() []*Product { @@ -1728,18 +1645,16 @@ func (x *LookupProductByUpcResponse) GetResult() []*Product { // Request message for projects operation. type QueryProjectsRequest struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache + state protoimpl.MessageState `protogen:"open.v1"` unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *QueryProjectsRequest) Reset() { *x = QueryProjectsRequest{} - if protoimpl.UnsafeEnabled { - mi := &file_generated_service_proto_msgTypes[28] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_service_proto_msgTypes[28] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *QueryProjectsRequest) String() string { @@ -1749,8 +1664,8 @@ func (x *QueryProjectsRequest) String() string { func (*QueryProjectsRequest) ProtoMessage() {} func (x *QueryProjectsRequest) ProtoReflect() protoreflect.Message { - mi := &file_generated_service_proto_msgTypes[28] - if protoimpl.UnsafeEnabled && x != nil { + mi := &file_service_proto_msgTypes[28] + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -1762,25 +1677,22 @@ func (x *QueryProjectsRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use QueryProjectsRequest.ProtoReflect.Descriptor instead. func (*QueryProjectsRequest) Descriptor() ([]byte, []int) { - return file_generated_service_proto_rawDescGZIP(), []int{28} + return file_service_proto_rawDescGZIP(), []int{28} } // Response message for projects operation. type QueryProjectsResponse struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache + state protoimpl.MessageState `protogen:"open.v1"` + Projects []*Project `protobuf:"bytes,1,rep,name=projects,proto3" json:"projects,omitempty"` unknownFields protoimpl.UnknownFields - - Projects []*Project `protobuf:"bytes,1,rep,name=projects,proto3" json:"projects,omitempty"` + sizeCache protoimpl.SizeCache } func (x *QueryProjectsResponse) Reset() { *x = QueryProjectsResponse{} - if protoimpl.UnsafeEnabled { - mi := &file_generated_service_proto_msgTypes[29] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_service_proto_msgTypes[29] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *QueryProjectsResponse) String() string { @@ -1790,8 +1702,8 @@ func (x *QueryProjectsResponse) String() string { func (*QueryProjectsResponse) ProtoMessage() {} func (x *QueryProjectsResponse) ProtoReflect() protoreflect.Message { - mi := &file_generated_service_proto_msgTypes[29] - if protoimpl.UnsafeEnabled && x != nil { + mi := &file_service_proto_msgTypes[29] + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -1803,7 +1715,7 @@ func (x *QueryProjectsResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use QueryProjectsResponse.ProtoReflect.Descriptor instead. func (*QueryProjectsResponse) Descriptor() ([]byte, []int) { - return file_generated_service_proto_rawDescGZIP(), []int{29} + return file_service_proto_rawDescGZIP(), []int{29} } func (x *QueryProjectsResponse) GetProjects() []*Project { @@ -1815,20 +1727,17 @@ func (x *QueryProjectsResponse) GetProjects() []*Project { // Request message for project operation. type QueryProjectRequest struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache + state protoimpl.MessageState `protogen:"open.v1"` + Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"` unknownFields protoimpl.UnknownFields - - Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"` + sizeCache protoimpl.SizeCache } func (x *QueryProjectRequest) Reset() { *x = QueryProjectRequest{} - if protoimpl.UnsafeEnabled { - mi := &file_generated_service_proto_msgTypes[30] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_service_proto_msgTypes[30] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *QueryProjectRequest) String() string { @@ -1838,8 +1747,8 @@ func (x *QueryProjectRequest) String() string { func (*QueryProjectRequest) ProtoMessage() {} func (x *QueryProjectRequest) ProtoReflect() protoreflect.Message { - mi := &file_generated_service_proto_msgTypes[30] - if protoimpl.UnsafeEnabled && x != nil { + mi := &file_service_proto_msgTypes[30] + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -1851,7 +1760,7 @@ func (x *QueryProjectRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use QueryProjectRequest.ProtoReflect.Descriptor instead. func (*QueryProjectRequest) Descriptor() ([]byte, []int) { - return file_generated_service_proto_rawDescGZIP(), []int{30} + return file_service_proto_rawDescGZIP(), []int{30} } func (x *QueryProjectRequest) GetId() string { @@ -1863,20 +1772,17 @@ func (x *QueryProjectRequest) GetId() string { // Response message for project operation. type QueryProjectResponse struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache + state protoimpl.MessageState `protogen:"open.v1"` + Project *Project `protobuf:"bytes,1,opt,name=project,proto3" json:"project,omitempty"` unknownFields protoimpl.UnknownFields - - Project *Project `protobuf:"bytes,1,opt,name=project,proto3" json:"project,omitempty"` + sizeCache protoimpl.SizeCache } func (x *QueryProjectResponse) Reset() { *x = QueryProjectResponse{} - if protoimpl.UnsafeEnabled { - mi := &file_generated_service_proto_msgTypes[31] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_service_proto_msgTypes[31] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *QueryProjectResponse) String() string { @@ -1886,8 +1792,8 @@ func (x *QueryProjectResponse) String() string { func (*QueryProjectResponse) ProtoMessage() {} func (x *QueryProjectResponse) ProtoReflect() protoreflect.Message { - mi := &file_generated_service_proto_msgTypes[31] - if protoimpl.UnsafeEnabled && x != nil { + mi := &file_service_proto_msgTypes[31] + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -1899,7 +1805,7 @@ func (x *QueryProjectResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use QueryProjectResponse.ProtoReflect.Descriptor instead. func (*QueryProjectResponse) Descriptor() ([]byte, []int) { - return file_generated_service_proto_rawDescGZIP(), []int{31} + return file_service_proto_rawDescGZIP(), []int{31} } func (x *QueryProjectResponse) GetProject() *Project { @@ -1911,18 +1817,16 @@ func (x *QueryProjectResponse) GetProject() *Project { // Request message for projectStatuses operation. type QueryProjectStatusesRequest struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache + state protoimpl.MessageState `protogen:"open.v1"` unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *QueryProjectStatusesRequest) Reset() { *x = QueryProjectStatusesRequest{} - if protoimpl.UnsafeEnabled { - mi := &file_generated_service_proto_msgTypes[32] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_service_proto_msgTypes[32] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *QueryProjectStatusesRequest) String() string { @@ -1932,8 +1836,8 @@ func (x *QueryProjectStatusesRequest) String() string { func (*QueryProjectStatusesRequest) ProtoMessage() {} func (x *QueryProjectStatusesRequest) ProtoReflect() protoreflect.Message { - mi := &file_generated_service_proto_msgTypes[32] - if protoimpl.UnsafeEnabled && x != nil { + mi := &file_service_proto_msgTypes[32] + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -1945,25 +1849,22 @@ func (x *QueryProjectStatusesRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use QueryProjectStatusesRequest.ProtoReflect.Descriptor instead. func (*QueryProjectStatusesRequest) Descriptor() ([]byte, []int) { - return file_generated_service_proto_rawDescGZIP(), []int{32} + return file_service_proto_rawDescGZIP(), []int{32} } // Response message for projectStatuses operation. type QueryProjectStatusesResponse struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - ProjectStatuses []ProjectStatus `protobuf:"varint,1,rep,packed,name=project_statuses,json=projectStatuses,proto3,enum=service.ProjectStatus" json:"project_statuses,omitempty"` + state protoimpl.MessageState `protogen:"open.v1"` + ProjectStatuses []ProjectStatus `protobuf:"varint,1,rep,packed,name=project_statuses,json=projectStatuses,proto3,enum=service.ProjectStatus" json:"project_statuses,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *QueryProjectStatusesResponse) Reset() { *x = QueryProjectStatusesResponse{} - if protoimpl.UnsafeEnabled { - mi := &file_generated_service_proto_msgTypes[33] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_service_proto_msgTypes[33] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *QueryProjectStatusesResponse) String() string { @@ -1973,8 +1874,8 @@ func (x *QueryProjectStatusesResponse) String() string { func (*QueryProjectStatusesResponse) ProtoMessage() {} func (x *QueryProjectStatusesResponse) ProtoReflect() protoreflect.Message { - mi := &file_generated_service_proto_msgTypes[33] - if protoimpl.UnsafeEnabled && x != nil { + mi := &file_service_proto_msgTypes[33] + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -1986,7 +1887,7 @@ func (x *QueryProjectStatusesResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use QueryProjectStatusesResponse.ProtoReflect.Descriptor instead. func (*QueryProjectStatusesResponse) Descriptor() ([]byte, []int) { - return file_generated_service_proto_rawDescGZIP(), []int{33} + return file_service_proto_rawDescGZIP(), []int{33} } func (x *QueryProjectStatusesResponse) GetProjectStatuses() []ProjectStatus { @@ -1998,20 +1899,17 @@ func (x *QueryProjectStatusesResponse) GetProjectStatuses() []ProjectStatus { // Request message for projectsByStatus operation. type QueryProjectsByStatusRequest struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache + state protoimpl.MessageState `protogen:"open.v1"` + Status ProjectStatus `protobuf:"varint,1,opt,name=status,proto3,enum=service.ProjectStatus" json:"status,omitempty"` unknownFields protoimpl.UnknownFields - - Status ProjectStatus `protobuf:"varint,1,opt,name=status,proto3,enum=service.ProjectStatus" json:"status,omitempty"` + sizeCache protoimpl.SizeCache } func (x *QueryProjectsByStatusRequest) Reset() { *x = QueryProjectsByStatusRequest{} - if protoimpl.UnsafeEnabled { - mi := &file_generated_service_proto_msgTypes[34] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_service_proto_msgTypes[34] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *QueryProjectsByStatusRequest) String() string { @@ -2021,8 +1919,8 @@ func (x *QueryProjectsByStatusRequest) String() string { func (*QueryProjectsByStatusRequest) ProtoMessage() {} func (x *QueryProjectsByStatusRequest) ProtoReflect() protoreflect.Message { - mi := &file_generated_service_proto_msgTypes[34] - if protoimpl.UnsafeEnabled && x != nil { + mi := &file_service_proto_msgTypes[34] + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -2034,7 +1932,7 @@ func (x *QueryProjectsByStatusRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use QueryProjectsByStatusRequest.ProtoReflect.Descriptor instead. func (*QueryProjectsByStatusRequest) Descriptor() ([]byte, []int) { - return file_generated_service_proto_rawDescGZIP(), []int{34} + return file_service_proto_rawDescGZIP(), []int{34} } func (x *QueryProjectsByStatusRequest) GetStatus() ProjectStatus { @@ -2046,20 +1944,17 @@ func (x *QueryProjectsByStatusRequest) GetStatus() ProjectStatus { // Response message for projectsByStatus operation. type QueryProjectsByStatusResponse struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - ProjectsByStatus []*Project `protobuf:"bytes,1,rep,name=projects_by_status,json=projectsByStatus,proto3" json:"projects_by_status,omitempty"` + state protoimpl.MessageState `protogen:"open.v1"` + ProjectsByStatus []*Project `protobuf:"bytes,1,rep,name=projects_by_status,json=projectsByStatus,proto3" json:"projects_by_status,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *QueryProjectsByStatusResponse) Reset() { *x = QueryProjectsByStatusResponse{} - if protoimpl.UnsafeEnabled { - mi := &file_generated_service_proto_msgTypes[35] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_service_proto_msgTypes[35] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *QueryProjectsByStatusResponse) String() string { @@ -2069,8 +1964,8 @@ func (x *QueryProjectsByStatusResponse) String() string { func (*QueryProjectsByStatusResponse) ProtoMessage() {} func (x *QueryProjectsByStatusResponse) ProtoReflect() protoreflect.Message { - mi := &file_generated_service_proto_msgTypes[35] - if protoimpl.UnsafeEnabled && x != nil { + mi := &file_service_proto_msgTypes[35] + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -2082,7 +1977,7 @@ func (x *QueryProjectsByStatusResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use QueryProjectsByStatusResponse.ProtoReflect.Descriptor instead. func (*QueryProjectsByStatusResponse) Descriptor() ([]byte, []int) { - return file_generated_service_proto_rawDescGZIP(), []int{35} + return file_service_proto_rawDescGZIP(), []int{35} } func (x *QueryProjectsByStatusResponse) GetProjectsByStatus() []*Project { @@ -2094,20 +1989,17 @@ func (x *QueryProjectsByStatusResponse) GetProjectsByStatus() []*Project { // Request message for projectResources operation. type QueryProjectResourcesRequest struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache + state protoimpl.MessageState `protogen:"open.v1"` + ProjectId string `protobuf:"bytes,1,opt,name=project_id,json=projectId,proto3" json:"project_id,omitempty"` unknownFields protoimpl.UnknownFields - - ProjectId string `protobuf:"bytes,1,opt,name=project_id,json=projectId,proto3" json:"project_id,omitempty"` + sizeCache protoimpl.SizeCache } func (x *QueryProjectResourcesRequest) Reset() { *x = QueryProjectResourcesRequest{} - if protoimpl.UnsafeEnabled { - mi := &file_generated_service_proto_msgTypes[36] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_service_proto_msgTypes[36] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *QueryProjectResourcesRequest) String() string { @@ -2117,8 +2009,8 @@ func (x *QueryProjectResourcesRequest) String() string { func (*QueryProjectResourcesRequest) ProtoMessage() {} func (x *QueryProjectResourcesRequest) ProtoReflect() protoreflect.Message { - mi := &file_generated_service_proto_msgTypes[36] - if protoimpl.UnsafeEnabled && x != nil { + mi := &file_service_proto_msgTypes[36] + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -2130,7 +2022,7 @@ func (x *QueryProjectResourcesRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use QueryProjectResourcesRequest.ProtoReflect.Descriptor instead. func (*QueryProjectResourcesRequest) Descriptor() ([]byte, []int) { - return file_generated_service_proto_rawDescGZIP(), []int{36} + return file_service_proto_rawDescGZIP(), []int{36} } func (x *QueryProjectResourcesRequest) GetProjectId() string { @@ -2142,20 +2034,17 @@ func (x *QueryProjectResourcesRequest) GetProjectId() string { // Response message for projectResources operation. type QueryProjectResourcesResponse struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - ProjectResources []*ProjectResource `protobuf:"bytes,1,rep,name=project_resources,json=projectResources,proto3" json:"project_resources,omitempty"` + state protoimpl.MessageState `protogen:"open.v1"` + ProjectResources []*ProjectResource `protobuf:"bytes,1,rep,name=project_resources,json=projectResources,proto3" json:"project_resources,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *QueryProjectResourcesResponse) Reset() { *x = QueryProjectResourcesResponse{} - if protoimpl.UnsafeEnabled { - mi := &file_generated_service_proto_msgTypes[37] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_service_proto_msgTypes[37] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *QueryProjectResourcesResponse) String() string { @@ -2165,8 +2054,8 @@ func (x *QueryProjectResourcesResponse) String() string { func (*QueryProjectResourcesResponse) ProtoMessage() {} func (x *QueryProjectResourcesResponse) ProtoReflect() protoreflect.Message { - mi := &file_generated_service_proto_msgTypes[37] - if protoimpl.UnsafeEnabled && x != nil { + mi := &file_service_proto_msgTypes[37] + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -2178,7 +2067,7 @@ func (x *QueryProjectResourcesResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use QueryProjectResourcesResponse.ProtoReflect.Descriptor instead. func (*QueryProjectResourcesResponse) Descriptor() ([]byte, []int) { - return file_generated_service_proto_rawDescGZIP(), []int{37} + return file_service_proto_rawDescGZIP(), []int{37} } func (x *QueryProjectResourcesResponse) GetProjectResources() []*ProjectResource { @@ -2190,20 +2079,17 @@ func (x *QueryProjectResourcesResponse) GetProjectResources() []*ProjectResource // Request message for searchProjects operation. type QuerySearchProjectsRequest struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache + state protoimpl.MessageState `protogen:"open.v1"` + Query string `protobuf:"bytes,1,opt,name=query,proto3" json:"query,omitempty"` unknownFields protoimpl.UnknownFields - - Query string `protobuf:"bytes,1,opt,name=query,proto3" json:"query,omitempty"` + sizeCache protoimpl.SizeCache } func (x *QuerySearchProjectsRequest) Reset() { *x = QuerySearchProjectsRequest{} - if protoimpl.UnsafeEnabled { - mi := &file_generated_service_proto_msgTypes[38] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_service_proto_msgTypes[38] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *QuerySearchProjectsRequest) String() string { @@ -2213,8 +2099,8 @@ func (x *QuerySearchProjectsRequest) String() string { func (*QuerySearchProjectsRequest) ProtoMessage() {} func (x *QuerySearchProjectsRequest) ProtoReflect() protoreflect.Message { - mi := &file_generated_service_proto_msgTypes[38] - if protoimpl.UnsafeEnabled && x != nil { + mi := &file_service_proto_msgTypes[38] + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -2226,7 +2112,7 @@ func (x *QuerySearchProjectsRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use QuerySearchProjectsRequest.ProtoReflect.Descriptor instead. func (*QuerySearchProjectsRequest) Descriptor() ([]byte, []int) { - return file_generated_service_proto_rawDescGZIP(), []int{38} + return file_service_proto_rawDescGZIP(), []int{38} } func (x *QuerySearchProjectsRequest) GetQuery() string { @@ -2238,20 +2124,17 @@ func (x *QuerySearchProjectsRequest) GetQuery() string { // Response message for searchProjects operation. type QuerySearchProjectsResponse struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - + state protoimpl.MessageState `protogen:"open.v1"` SearchProjects []*ProjectSearchResult `protobuf:"bytes,1,rep,name=search_projects,json=searchProjects,proto3" json:"search_projects,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *QuerySearchProjectsResponse) Reset() { *x = QuerySearchProjectsResponse{} - if protoimpl.UnsafeEnabled { - mi := &file_generated_service_proto_msgTypes[39] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_service_proto_msgTypes[39] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *QuerySearchProjectsResponse) String() string { @@ -2261,8 +2144,8 @@ func (x *QuerySearchProjectsResponse) String() string { func (*QuerySearchProjectsResponse) ProtoMessage() {} func (x *QuerySearchProjectsResponse) ProtoReflect() protoreflect.Message { - mi := &file_generated_service_proto_msgTypes[39] - if protoimpl.UnsafeEnabled && x != nil { + mi := &file_service_proto_msgTypes[39] + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -2274,7 +2157,7 @@ func (x *QuerySearchProjectsResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use QuerySearchProjectsResponse.ProtoReflect.Descriptor instead. func (*QuerySearchProjectsResponse) Descriptor() ([]byte, []int) { - return file_generated_service_proto_rawDescGZIP(), []int{39} + return file_service_proto_rawDescGZIP(), []int{39} } func (x *QuerySearchProjectsResponse) GetSearchProjects() []*ProjectSearchResult { @@ -2286,20 +2169,17 @@ func (x *QuerySearchProjectsResponse) GetSearchProjects() []*ProjectSearchResult // Request message for milestones operation. type QueryMilestonesRequest struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache + state protoimpl.MessageState `protogen:"open.v1"` + ProjectId string `protobuf:"bytes,1,opt,name=project_id,json=projectId,proto3" json:"project_id,omitempty"` unknownFields protoimpl.UnknownFields - - ProjectId string `protobuf:"bytes,1,opt,name=project_id,json=projectId,proto3" json:"project_id,omitempty"` + sizeCache protoimpl.SizeCache } func (x *QueryMilestonesRequest) Reset() { *x = QueryMilestonesRequest{} - if protoimpl.UnsafeEnabled { - mi := &file_generated_service_proto_msgTypes[40] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_service_proto_msgTypes[40] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *QueryMilestonesRequest) String() string { @@ -2309,8 +2189,8 @@ func (x *QueryMilestonesRequest) String() string { func (*QueryMilestonesRequest) ProtoMessage() {} func (x *QueryMilestonesRequest) ProtoReflect() protoreflect.Message { - mi := &file_generated_service_proto_msgTypes[40] - if protoimpl.UnsafeEnabled && x != nil { + mi := &file_service_proto_msgTypes[40] + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -2322,7 +2202,7 @@ func (x *QueryMilestonesRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use QueryMilestonesRequest.ProtoReflect.Descriptor instead. func (*QueryMilestonesRequest) Descriptor() ([]byte, []int) { - return file_generated_service_proto_rawDescGZIP(), []int{40} + return file_service_proto_rawDescGZIP(), []int{40} } func (x *QueryMilestonesRequest) GetProjectId() string { @@ -2334,20 +2214,17 @@ func (x *QueryMilestonesRequest) GetProjectId() string { // Response message for milestones operation. type QueryMilestonesResponse struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache + state protoimpl.MessageState `protogen:"open.v1"` + Milestones []*Milestone `protobuf:"bytes,1,rep,name=milestones,proto3" json:"milestones,omitempty"` unknownFields protoimpl.UnknownFields - - Milestones []*Milestone `protobuf:"bytes,1,rep,name=milestones,proto3" json:"milestones,omitempty"` + sizeCache protoimpl.SizeCache } func (x *QueryMilestonesResponse) Reset() { *x = QueryMilestonesResponse{} - if protoimpl.UnsafeEnabled { - mi := &file_generated_service_proto_msgTypes[41] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_service_proto_msgTypes[41] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *QueryMilestonesResponse) String() string { @@ -2357,8 +2234,8 @@ func (x *QueryMilestonesResponse) String() string { func (*QueryMilestonesResponse) ProtoMessage() {} func (x *QueryMilestonesResponse) ProtoReflect() protoreflect.Message { - mi := &file_generated_service_proto_msgTypes[41] - if protoimpl.UnsafeEnabled && x != nil { + mi := &file_service_proto_msgTypes[41] + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -2370,7 +2247,7 @@ func (x *QueryMilestonesResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use QueryMilestonesResponse.ProtoReflect.Descriptor instead. func (*QueryMilestonesResponse) Descriptor() ([]byte, []int) { - return file_generated_service_proto_rawDescGZIP(), []int{41} + return file_service_proto_rawDescGZIP(), []int{41} } func (x *QueryMilestonesResponse) GetMilestones() []*Milestone { @@ -2382,20 +2259,17 @@ func (x *QueryMilestonesResponse) GetMilestones() []*Milestone { // Request message for tasks operation. type QueryTasksRequest struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache + state protoimpl.MessageState `protogen:"open.v1"` + ProjectId string `protobuf:"bytes,1,opt,name=project_id,json=projectId,proto3" json:"project_id,omitempty"` unknownFields protoimpl.UnknownFields - - ProjectId string `protobuf:"bytes,1,opt,name=project_id,json=projectId,proto3" json:"project_id,omitempty"` + sizeCache protoimpl.SizeCache } func (x *QueryTasksRequest) Reset() { *x = QueryTasksRequest{} - if protoimpl.UnsafeEnabled { - mi := &file_generated_service_proto_msgTypes[42] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_service_proto_msgTypes[42] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *QueryTasksRequest) String() string { @@ -2405,8 +2279,8 @@ func (x *QueryTasksRequest) String() string { func (*QueryTasksRequest) ProtoMessage() {} func (x *QueryTasksRequest) ProtoReflect() protoreflect.Message { - mi := &file_generated_service_proto_msgTypes[42] - if protoimpl.UnsafeEnabled && x != nil { + mi := &file_service_proto_msgTypes[42] + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -2418,7 +2292,7 @@ func (x *QueryTasksRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use QueryTasksRequest.ProtoReflect.Descriptor instead. func (*QueryTasksRequest) Descriptor() ([]byte, []int) { - return file_generated_service_proto_rawDescGZIP(), []int{42} + return file_service_proto_rawDescGZIP(), []int{42} } func (x *QueryTasksRequest) GetProjectId() string { @@ -2430,20 +2304,17 @@ func (x *QueryTasksRequest) GetProjectId() string { // Response message for tasks operation. type QueryTasksResponse struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache + state protoimpl.MessageState `protogen:"open.v1"` + Tasks []*Task `protobuf:"bytes,1,rep,name=tasks,proto3" json:"tasks,omitempty"` unknownFields protoimpl.UnknownFields - - Tasks []*Task `protobuf:"bytes,1,rep,name=tasks,proto3" json:"tasks,omitempty"` + sizeCache protoimpl.SizeCache } func (x *QueryTasksResponse) Reset() { *x = QueryTasksResponse{} - if protoimpl.UnsafeEnabled { - mi := &file_generated_service_proto_msgTypes[43] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_service_proto_msgTypes[43] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *QueryTasksResponse) String() string { @@ -2453,8 +2324,8 @@ func (x *QueryTasksResponse) String() string { func (*QueryTasksResponse) ProtoMessage() {} func (x *QueryTasksResponse) ProtoReflect() protoreflect.Message { - mi := &file_generated_service_proto_msgTypes[43] - if protoimpl.UnsafeEnabled && x != nil { + mi := &file_service_proto_msgTypes[43] + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -2466,7 +2337,7 @@ func (x *QueryTasksResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use QueryTasksResponse.ProtoReflect.Descriptor instead. func (*QueryTasksResponse) Descriptor() ([]byte, []int) { - return file_generated_service_proto_rawDescGZIP(), []int{43} + return file_service_proto_rawDescGZIP(), []int{43} } func (x *QueryTasksResponse) GetTasks() []*Task { @@ -2478,20 +2349,17 @@ func (x *QueryTasksResponse) GetTasks() []*Task { // Request message for projectActivities operation. type QueryProjectActivitiesRequest struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache + state protoimpl.MessageState `protogen:"open.v1"` + ProjectId string `protobuf:"bytes,1,opt,name=project_id,json=projectId,proto3" json:"project_id,omitempty"` unknownFields protoimpl.UnknownFields - - ProjectId string `protobuf:"bytes,1,opt,name=project_id,json=projectId,proto3" json:"project_id,omitempty"` + sizeCache protoimpl.SizeCache } func (x *QueryProjectActivitiesRequest) Reset() { *x = QueryProjectActivitiesRequest{} - if protoimpl.UnsafeEnabled { - mi := &file_generated_service_proto_msgTypes[44] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_service_proto_msgTypes[44] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *QueryProjectActivitiesRequest) String() string { @@ -2501,8 +2369,8 @@ func (x *QueryProjectActivitiesRequest) String() string { func (*QueryProjectActivitiesRequest) ProtoMessage() {} func (x *QueryProjectActivitiesRequest) ProtoReflect() protoreflect.Message { - mi := &file_generated_service_proto_msgTypes[44] - if protoimpl.UnsafeEnabled && x != nil { + mi := &file_service_proto_msgTypes[44] + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -2514,7 +2382,7 @@ func (x *QueryProjectActivitiesRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use QueryProjectActivitiesRequest.ProtoReflect.Descriptor instead. func (*QueryProjectActivitiesRequest) Descriptor() ([]byte, []int) { - return file_generated_service_proto_rawDescGZIP(), []int{44} + return file_service_proto_rawDescGZIP(), []int{44} } func (x *QueryProjectActivitiesRequest) GetProjectId() string { @@ -2526,20 +2394,17 @@ func (x *QueryProjectActivitiesRequest) GetProjectId() string { // Response message for projectActivities operation. type QueryProjectActivitiesResponse struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - ProjectActivities []*ProjectActivity `protobuf:"bytes,1,rep,name=project_activities,json=projectActivities,proto3" json:"project_activities,omitempty"` + state protoimpl.MessageState `protogen:"open.v1"` + ProjectActivities []*ProjectActivity `protobuf:"bytes,1,rep,name=project_activities,json=projectActivities,proto3" json:"project_activities,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *QueryProjectActivitiesResponse) Reset() { *x = QueryProjectActivitiesResponse{} - if protoimpl.UnsafeEnabled { - mi := &file_generated_service_proto_msgTypes[45] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_service_proto_msgTypes[45] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *QueryProjectActivitiesResponse) String() string { @@ -2549,8 +2414,8 @@ func (x *QueryProjectActivitiesResponse) String() string { func (*QueryProjectActivitiesResponse) ProtoMessage() {} func (x *QueryProjectActivitiesResponse) ProtoReflect() protoreflect.Message { - mi := &file_generated_service_proto_msgTypes[45] - if protoimpl.UnsafeEnabled && x != nil { + mi := &file_service_proto_msgTypes[45] + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -2562,7 +2427,7 @@ func (x *QueryProjectActivitiesResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use QueryProjectActivitiesResponse.ProtoReflect.Descriptor instead. func (*QueryProjectActivitiesResponse) Descriptor() ([]byte, []int) { - return file_generated_service_proto_rawDescGZIP(), []int{45} + return file_service_proto_rawDescGZIP(), []int{45} } func (x *QueryProjectActivitiesResponse) GetProjectActivities() []*ProjectActivity { @@ -2574,18 +2439,16 @@ func (x *QueryProjectActivitiesResponse) GetProjectActivities() []*ProjectActivi // Request message for projectTags operation. type QueryProjectTagsRequest struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache + state protoimpl.MessageState `protogen:"open.v1"` unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *QueryProjectTagsRequest) Reset() { *x = QueryProjectTagsRequest{} - if protoimpl.UnsafeEnabled { - mi := &file_generated_service_proto_msgTypes[46] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_service_proto_msgTypes[46] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *QueryProjectTagsRequest) String() string { @@ -2595,8 +2458,8 @@ func (x *QueryProjectTagsRequest) String() string { func (*QueryProjectTagsRequest) ProtoMessage() {} func (x *QueryProjectTagsRequest) ProtoReflect() protoreflect.Message { - mi := &file_generated_service_proto_msgTypes[46] - if protoimpl.UnsafeEnabled && x != nil { + mi := &file_service_proto_msgTypes[46] + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -2608,25 +2471,22 @@ func (x *QueryProjectTagsRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use QueryProjectTagsRequest.ProtoReflect.Descriptor instead. func (*QueryProjectTagsRequest) Descriptor() ([]byte, []int) { - return file_generated_service_proto_rawDescGZIP(), []int{46} + return file_service_proto_rawDescGZIP(), []int{46} } // Response message for projectTags operation. type QueryProjectTagsResponse struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache + state protoimpl.MessageState `protogen:"open.v1"` + ProjectTags *ListOfString `protobuf:"bytes,1,opt,name=project_tags,json=projectTags,proto3" json:"project_tags,omitempty"` unknownFields protoimpl.UnknownFields - - ProjectTags *ListOfString `protobuf:"bytes,1,opt,name=project_tags,json=projectTags,proto3" json:"project_tags,omitempty"` + sizeCache protoimpl.SizeCache } func (x *QueryProjectTagsResponse) Reset() { *x = QueryProjectTagsResponse{} - if protoimpl.UnsafeEnabled { - mi := &file_generated_service_proto_msgTypes[47] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_service_proto_msgTypes[47] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *QueryProjectTagsResponse) String() string { @@ -2636,8 +2496,8 @@ func (x *QueryProjectTagsResponse) String() string { func (*QueryProjectTagsResponse) ProtoMessage() {} func (x *QueryProjectTagsResponse) ProtoReflect() protoreflect.Message { - mi := &file_generated_service_proto_msgTypes[47] - if protoimpl.UnsafeEnabled && x != nil { + mi := &file_service_proto_msgTypes[47] + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -2649,7 +2509,7 @@ func (x *QueryProjectTagsResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use QueryProjectTagsResponse.ProtoReflect.Descriptor instead. func (*QueryProjectTagsResponse) Descriptor() ([]byte, []int) { - return file_generated_service_proto_rawDescGZIP(), []int{47} + return file_service_proto_rawDescGZIP(), []int{47} } func (x *QueryProjectTagsResponse) GetProjectTags() *ListOfString { @@ -2661,18 +2521,16 @@ func (x *QueryProjectTagsResponse) GetProjectTags() *ListOfString { // Request message for archivedProjects operation. type QueryArchivedProjectsRequest struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache + state protoimpl.MessageState `protogen:"open.v1"` unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *QueryArchivedProjectsRequest) Reset() { *x = QueryArchivedProjectsRequest{} - if protoimpl.UnsafeEnabled { - mi := &file_generated_service_proto_msgTypes[48] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_service_proto_msgTypes[48] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *QueryArchivedProjectsRequest) String() string { @@ -2682,8 +2540,8 @@ func (x *QueryArchivedProjectsRequest) String() string { func (*QueryArchivedProjectsRequest) ProtoMessage() {} func (x *QueryArchivedProjectsRequest) ProtoReflect() protoreflect.Message { - mi := &file_generated_service_proto_msgTypes[48] - if protoimpl.UnsafeEnabled && x != nil { + mi := &file_service_proto_msgTypes[48] + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -2695,25 +2553,22 @@ func (x *QueryArchivedProjectsRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use QueryArchivedProjectsRequest.ProtoReflect.Descriptor instead. func (*QueryArchivedProjectsRequest) Descriptor() ([]byte, []int) { - return file_generated_service_proto_rawDescGZIP(), []int{48} + return file_service_proto_rawDescGZIP(), []int{48} } // Response message for archivedProjects operation. type QueryArchivedProjectsResponse struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - ArchivedProjects []*Project `protobuf:"bytes,1,rep,name=archived_projects,json=archivedProjects,proto3" json:"archived_projects,omitempty"` + state protoimpl.MessageState `protogen:"open.v1"` + ArchivedProjects []*Project `protobuf:"bytes,1,rep,name=archived_projects,json=archivedProjects,proto3" json:"archived_projects,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *QueryArchivedProjectsResponse) Reset() { *x = QueryArchivedProjectsResponse{} - if protoimpl.UnsafeEnabled { - mi := &file_generated_service_proto_msgTypes[49] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_service_proto_msgTypes[49] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *QueryArchivedProjectsResponse) String() string { @@ -2723,8 +2578,8 @@ func (x *QueryArchivedProjectsResponse) String() string { func (*QueryArchivedProjectsResponse) ProtoMessage() {} func (x *QueryArchivedProjectsResponse) ProtoReflect() protoreflect.Message { - mi := &file_generated_service_proto_msgTypes[49] - if protoimpl.UnsafeEnabled && x != nil { + mi := &file_service_proto_msgTypes[49] + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -2736,7 +2591,7 @@ func (x *QueryArchivedProjectsResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use QueryArchivedProjectsResponse.ProtoReflect.Descriptor instead. func (*QueryArchivedProjectsResponse) Descriptor() ([]byte, []int) { - return file_generated_service_proto_rawDescGZIP(), []int{49} + return file_service_proto_rawDescGZIP(), []int{49} } func (x *QueryArchivedProjectsResponse) GetArchivedProjects() []*Project { @@ -2748,20 +2603,17 @@ func (x *QueryArchivedProjectsResponse) GetArchivedProjects() []*Project { // Request message for tasksByPriority operation. type QueryTasksByPriorityRequest struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache + state protoimpl.MessageState `protogen:"open.v1"` + ProjectId string `protobuf:"bytes,1,opt,name=project_id,json=projectId,proto3" json:"project_id,omitempty"` unknownFields protoimpl.UnknownFields - - ProjectId string `protobuf:"bytes,1,opt,name=project_id,json=projectId,proto3" json:"project_id,omitempty"` + sizeCache protoimpl.SizeCache } func (x *QueryTasksByPriorityRequest) Reset() { *x = QueryTasksByPriorityRequest{} - if protoimpl.UnsafeEnabled { - mi := &file_generated_service_proto_msgTypes[50] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_service_proto_msgTypes[50] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *QueryTasksByPriorityRequest) String() string { @@ -2771,8 +2623,8 @@ func (x *QueryTasksByPriorityRequest) String() string { func (*QueryTasksByPriorityRequest) ProtoMessage() {} func (x *QueryTasksByPriorityRequest) ProtoReflect() protoreflect.Message { - mi := &file_generated_service_proto_msgTypes[50] - if protoimpl.UnsafeEnabled && x != nil { + mi := &file_service_proto_msgTypes[50] + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -2784,7 +2636,7 @@ func (x *QueryTasksByPriorityRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use QueryTasksByPriorityRequest.ProtoReflect.Descriptor instead. func (*QueryTasksByPriorityRequest) Descriptor() ([]byte, []int) { - return file_generated_service_proto_rawDescGZIP(), []int{50} + return file_service_proto_rawDescGZIP(), []int{50} } func (x *QueryTasksByPriorityRequest) GetProjectId() string { @@ -2796,20 +2648,17 @@ func (x *QueryTasksByPriorityRequest) GetProjectId() string { // Response message for tasksByPriority operation. type QueryTasksByPriorityResponse struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - TasksByPriority *ListOfListOfTask `protobuf:"bytes,1,opt,name=tasks_by_priority,json=tasksByPriority,proto3" json:"tasks_by_priority,omitempty"` + state protoimpl.MessageState `protogen:"open.v1"` + TasksByPriority *ListOfListOfTask `protobuf:"bytes,1,opt,name=tasks_by_priority,json=tasksByPriority,proto3" json:"tasks_by_priority,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *QueryTasksByPriorityResponse) Reset() { *x = QueryTasksByPriorityResponse{} - if protoimpl.UnsafeEnabled { - mi := &file_generated_service_proto_msgTypes[51] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_service_proto_msgTypes[51] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *QueryTasksByPriorityResponse) String() string { @@ -2819,8 +2668,8 @@ func (x *QueryTasksByPriorityResponse) String() string { func (*QueryTasksByPriorityResponse) ProtoMessage() {} func (x *QueryTasksByPriorityResponse) ProtoReflect() protoreflect.Message { - mi := &file_generated_service_proto_msgTypes[51] - if protoimpl.UnsafeEnabled && x != nil { + mi := &file_service_proto_msgTypes[51] + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -2832,7 +2681,7 @@ func (x *QueryTasksByPriorityResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use QueryTasksByPriorityResponse.ProtoReflect.Descriptor instead. func (*QueryTasksByPriorityResponse) Descriptor() ([]byte, []int) { - return file_generated_service_proto_rawDescGZIP(), []int{51} + return file_service_proto_rawDescGZIP(), []int{51} } func (x *QueryTasksByPriorityResponse) GetTasksByPriority() *ListOfListOfTask { @@ -2844,20 +2693,17 @@ func (x *QueryTasksByPriorityResponse) GetTasksByPriority() *ListOfListOfTask { // Request message for resourceMatrix operation. type QueryResourceMatrixRequest struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache + state protoimpl.MessageState `protogen:"open.v1"` + ProjectId string `protobuf:"bytes,1,opt,name=project_id,json=projectId,proto3" json:"project_id,omitempty"` unknownFields protoimpl.UnknownFields - - ProjectId string `protobuf:"bytes,1,opt,name=project_id,json=projectId,proto3" json:"project_id,omitempty"` + sizeCache protoimpl.SizeCache } func (x *QueryResourceMatrixRequest) Reset() { *x = QueryResourceMatrixRequest{} - if protoimpl.UnsafeEnabled { - mi := &file_generated_service_proto_msgTypes[52] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_service_proto_msgTypes[52] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *QueryResourceMatrixRequest) String() string { @@ -2867,8 +2713,8 @@ func (x *QueryResourceMatrixRequest) String() string { func (*QueryResourceMatrixRequest) ProtoMessage() {} func (x *QueryResourceMatrixRequest) ProtoReflect() protoreflect.Message { - mi := &file_generated_service_proto_msgTypes[52] - if protoimpl.UnsafeEnabled && x != nil { + mi := &file_service_proto_msgTypes[52] + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -2880,7 +2726,7 @@ func (x *QueryResourceMatrixRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use QueryResourceMatrixRequest.ProtoReflect.Descriptor instead. func (*QueryResourceMatrixRequest) Descriptor() ([]byte, []int) { - return file_generated_service_proto_rawDescGZIP(), []int{52} + return file_service_proto_rawDescGZIP(), []int{52} } func (x *QueryResourceMatrixRequest) GetProjectId() string { @@ -2892,20 +2738,17 @@ func (x *QueryResourceMatrixRequest) GetProjectId() string { // Response message for resourceMatrix operation. type QueryResourceMatrixResponse struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - + state protoimpl.MessageState `protogen:"open.v1"` ResourceMatrix *ListOfListOfProjectResource `protobuf:"bytes,1,opt,name=resource_matrix,json=resourceMatrix,proto3" json:"resource_matrix,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *QueryResourceMatrixResponse) Reset() { *x = QueryResourceMatrixResponse{} - if protoimpl.UnsafeEnabled { - mi := &file_generated_service_proto_msgTypes[53] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_service_proto_msgTypes[53] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *QueryResourceMatrixResponse) String() string { @@ -2915,8 +2758,8 @@ func (x *QueryResourceMatrixResponse) String() string { func (*QueryResourceMatrixResponse) ProtoMessage() {} func (x *QueryResourceMatrixResponse) ProtoReflect() protoreflect.Message { - mi := &file_generated_service_proto_msgTypes[53] - if protoimpl.UnsafeEnabled && x != nil { + mi := &file_service_proto_msgTypes[53] + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -2928,7 +2771,7 @@ func (x *QueryResourceMatrixResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use QueryResourceMatrixResponse.ProtoReflect.Descriptor instead. func (*QueryResourceMatrixResponse) Descriptor() ([]byte, []int) { - return file_generated_service_proto_rawDescGZIP(), []int{53} + return file_service_proto_rawDescGZIP(), []int{53} } func (x *QueryResourceMatrixResponse) GetResourceMatrix() *ListOfListOfProjectResource { @@ -2940,18 +2783,16 @@ func (x *QueryResourceMatrixResponse) GetResourceMatrix() *ListOfListOfProjectRe // Request message for killService operation. type QueryKillServiceRequest struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache + state protoimpl.MessageState `protogen:"open.v1"` unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *QueryKillServiceRequest) Reset() { *x = QueryKillServiceRequest{} - if protoimpl.UnsafeEnabled { - mi := &file_generated_service_proto_msgTypes[54] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_service_proto_msgTypes[54] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *QueryKillServiceRequest) String() string { @@ -2961,8 +2802,8 @@ func (x *QueryKillServiceRequest) String() string { func (*QueryKillServiceRequest) ProtoMessage() {} func (x *QueryKillServiceRequest) ProtoReflect() protoreflect.Message { - mi := &file_generated_service_proto_msgTypes[54] - if protoimpl.UnsafeEnabled && x != nil { + mi := &file_service_proto_msgTypes[54] + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -2974,25 +2815,22 @@ func (x *QueryKillServiceRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use QueryKillServiceRequest.ProtoReflect.Descriptor instead. func (*QueryKillServiceRequest) Descriptor() ([]byte, []int) { - return file_generated_service_proto_rawDescGZIP(), []int{54} + return file_service_proto_rawDescGZIP(), []int{54} } // Response message for killService operation. type QueryKillServiceResponse struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache + state protoimpl.MessageState `protogen:"open.v1"` + KillService bool `protobuf:"varint,1,opt,name=kill_service,json=killService,proto3" json:"kill_service,omitempty"` unknownFields protoimpl.UnknownFields - - KillService bool `protobuf:"varint,1,opt,name=kill_service,json=killService,proto3" json:"kill_service,omitempty"` + sizeCache protoimpl.SizeCache } func (x *QueryKillServiceResponse) Reset() { *x = QueryKillServiceResponse{} - if protoimpl.UnsafeEnabled { - mi := &file_generated_service_proto_msgTypes[55] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_service_proto_msgTypes[55] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *QueryKillServiceResponse) String() string { @@ -3002,8 +2840,8 @@ func (x *QueryKillServiceResponse) String() string { func (*QueryKillServiceResponse) ProtoMessage() {} func (x *QueryKillServiceResponse) ProtoReflect() protoreflect.Message { - mi := &file_generated_service_proto_msgTypes[55] - if protoimpl.UnsafeEnabled && x != nil { + mi := &file_service_proto_msgTypes[55] + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -3015,7 +2853,7 @@ func (x *QueryKillServiceResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use QueryKillServiceResponse.ProtoReflect.Descriptor instead. func (*QueryKillServiceResponse) Descriptor() ([]byte, []int) { - return file_generated_service_proto_rawDescGZIP(), []int{55} + return file_service_proto_rawDescGZIP(), []int{55} } func (x *QueryKillServiceResponse) GetKillService() bool { @@ -3027,18 +2865,16 @@ func (x *QueryKillServiceResponse) GetKillService() bool { // Request message for panic operation. type QueryPanicRequest struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache + state protoimpl.MessageState `protogen:"open.v1"` unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *QueryPanicRequest) Reset() { *x = QueryPanicRequest{} - if protoimpl.UnsafeEnabled { - mi := &file_generated_service_proto_msgTypes[56] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_service_proto_msgTypes[56] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *QueryPanicRequest) String() string { @@ -3048,8 +2884,8 @@ func (x *QueryPanicRequest) String() string { func (*QueryPanicRequest) ProtoMessage() {} func (x *QueryPanicRequest) ProtoReflect() protoreflect.Message { - mi := &file_generated_service_proto_msgTypes[56] - if protoimpl.UnsafeEnabled && x != nil { + mi := &file_service_proto_msgTypes[56] + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -3061,25 +2897,22 @@ func (x *QueryPanicRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use QueryPanicRequest.ProtoReflect.Descriptor instead. func (*QueryPanicRequest) Descriptor() ([]byte, []int) { - return file_generated_service_proto_rawDescGZIP(), []int{56} + return file_service_proto_rawDescGZIP(), []int{56} } // Response message for panic operation. type QueryPanicResponse struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache + state protoimpl.MessageState `protogen:"open.v1"` + Panic bool `protobuf:"varint,1,opt,name=panic,proto3" json:"panic,omitempty"` unknownFields protoimpl.UnknownFields - - Panic bool `protobuf:"varint,1,opt,name=panic,proto3" json:"panic,omitempty"` + sizeCache protoimpl.SizeCache } func (x *QueryPanicResponse) Reset() { *x = QueryPanicResponse{} - if protoimpl.UnsafeEnabled { - mi := &file_generated_service_proto_msgTypes[57] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_service_proto_msgTypes[57] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *QueryPanicResponse) String() string { @@ -3089,8 +2922,8 @@ func (x *QueryPanicResponse) String() string { func (*QueryPanicResponse) ProtoMessage() {} func (x *QueryPanicResponse) ProtoReflect() protoreflect.Message { - mi := &file_generated_service_proto_msgTypes[57] - if protoimpl.UnsafeEnabled && x != nil { + mi := &file_service_proto_msgTypes[57] + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -3102,7 +2935,7 @@ func (x *QueryPanicResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use QueryPanicResponse.ProtoReflect.Descriptor instead. func (*QueryPanicResponse) Descriptor() ([]byte, []int) { - return file_generated_service_proto_rawDescGZIP(), []int{57} + return file_service_proto_rawDescGZIP(), []int{57} } func (x *QueryPanicResponse) GetPanic() bool { @@ -3114,20 +2947,17 @@ func (x *QueryPanicResponse) GetPanic() bool { // Request message for nodesById operation. type QueryNodesByIdRequest struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache + state protoimpl.MessageState `protogen:"open.v1"` + Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"` unknownFields protoimpl.UnknownFields - - Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"` + sizeCache protoimpl.SizeCache } func (x *QueryNodesByIdRequest) Reset() { *x = QueryNodesByIdRequest{} - if protoimpl.UnsafeEnabled { - mi := &file_generated_service_proto_msgTypes[58] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_service_proto_msgTypes[58] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *QueryNodesByIdRequest) String() string { @@ -3137,8 +2967,8 @@ func (x *QueryNodesByIdRequest) String() string { func (*QueryNodesByIdRequest) ProtoMessage() {} func (x *QueryNodesByIdRequest) ProtoReflect() protoreflect.Message { - mi := &file_generated_service_proto_msgTypes[58] - if protoimpl.UnsafeEnabled && x != nil { + mi := &file_service_proto_msgTypes[58] + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -3150,7 +2980,7 @@ func (x *QueryNodesByIdRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use QueryNodesByIdRequest.ProtoReflect.Descriptor instead. func (*QueryNodesByIdRequest) Descriptor() ([]byte, []int) { - return file_generated_service_proto_rawDescGZIP(), []int{58} + return file_service_proto_rawDescGZIP(), []int{58} } func (x *QueryNodesByIdRequest) GetId() string { @@ -3162,20 +2992,17 @@ func (x *QueryNodesByIdRequest) GetId() string { // Response message for nodesById operation. type QueryNodesByIdResponse struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache + state protoimpl.MessageState `protogen:"open.v1"` + NodesById []*Node `protobuf:"bytes,1,rep,name=nodes_by_id,json=nodesById,proto3" json:"nodes_by_id,omitempty"` unknownFields protoimpl.UnknownFields - - NodesById []*Node `protobuf:"bytes,1,rep,name=nodes_by_id,json=nodesById,proto3" json:"nodes_by_id,omitempty"` + sizeCache protoimpl.SizeCache } func (x *QueryNodesByIdResponse) Reset() { *x = QueryNodesByIdResponse{} - if protoimpl.UnsafeEnabled { - mi := &file_generated_service_proto_msgTypes[59] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_service_proto_msgTypes[59] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *QueryNodesByIdResponse) String() string { @@ -3185,8 +3012,8 @@ func (x *QueryNodesByIdResponse) String() string { func (*QueryNodesByIdResponse) ProtoMessage() {} func (x *QueryNodesByIdResponse) ProtoReflect() protoreflect.Message { - mi := &file_generated_service_proto_msgTypes[59] - if protoimpl.UnsafeEnabled && x != nil { + mi := &file_service_proto_msgTypes[59] + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -3198,7 +3025,7 @@ func (x *QueryNodesByIdResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use QueryNodesByIdResponse.ProtoReflect.Descriptor instead. func (*QueryNodesByIdResponse) Descriptor() ([]byte, []int) { - return file_generated_service_proto_rawDescGZIP(), []int{59} + return file_service_proto_rawDescGZIP(), []int{59} } func (x *QueryNodesByIdResponse) GetNodesById() []*Node { @@ -3210,20 +3037,17 @@ func (x *QueryNodesByIdResponse) GetNodesById() []*Node { // Request message for addProject operation. type MutationAddProjectRequest struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache + state protoimpl.MessageState `protogen:"open.v1"` + Project *ProjectInput `protobuf:"bytes,1,opt,name=project,proto3" json:"project,omitempty"` unknownFields protoimpl.UnknownFields - - Project *ProjectInput `protobuf:"bytes,1,opt,name=project,proto3" json:"project,omitempty"` + sizeCache protoimpl.SizeCache } func (x *MutationAddProjectRequest) Reset() { *x = MutationAddProjectRequest{} - if protoimpl.UnsafeEnabled { - mi := &file_generated_service_proto_msgTypes[60] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_service_proto_msgTypes[60] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *MutationAddProjectRequest) String() string { @@ -3233,8 +3057,8 @@ func (x *MutationAddProjectRequest) String() string { func (*MutationAddProjectRequest) ProtoMessage() {} func (x *MutationAddProjectRequest) ProtoReflect() protoreflect.Message { - mi := &file_generated_service_proto_msgTypes[60] - if protoimpl.UnsafeEnabled && x != nil { + mi := &file_service_proto_msgTypes[60] + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -3246,7 +3070,7 @@ func (x *MutationAddProjectRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use MutationAddProjectRequest.ProtoReflect.Descriptor instead. func (*MutationAddProjectRequest) Descriptor() ([]byte, []int) { - return file_generated_service_proto_rawDescGZIP(), []int{60} + return file_service_proto_rawDescGZIP(), []int{60} } func (x *MutationAddProjectRequest) GetProject() *ProjectInput { @@ -3258,20 +3082,17 @@ func (x *MutationAddProjectRequest) GetProject() *ProjectInput { // Response message for addProject operation. type MutationAddProjectResponse struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache + state protoimpl.MessageState `protogen:"open.v1"` + AddProject *Project `protobuf:"bytes,1,opt,name=add_project,json=addProject,proto3" json:"add_project,omitempty"` unknownFields protoimpl.UnknownFields - - AddProject *Project `protobuf:"bytes,1,opt,name=add_project,json=addProject,proto3" json:"add_project,omitempty"` + sizeCache protoimpl.SizeCache } func (x *MutationAddProjectResponse) Reset() { *x = MutationAddProjectResponse{} - if protoimpl.UnsafeEnabled { - mi := &file_generated_service_proto_msgTypes[61] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_service_proto_msgTypes[61] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *MutationAddProjectResponse) String() string { @@ -3281,8 +3102,8 @@ func (x *MutationAddProjectResponse) String() string { func (*MutationAddProjectResponse) ProtoMessage() {} func (x *MutationAddProjectResponse) ProtoReflect() protoreflect.Message { - mi := &file_generated_service_proto_msgTypes[61] - if protoimpl.UnsafeEnabled && x != nil { + mi := &file_service_proto_msgTypes[61] + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -3294,7 +3115,7 @@ func (x *MutationAddProjectResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use MutationAddProjectResponse.ProtoReflect.Descriptor instead. func (*MutationAddProjectResponse) Descriptor() ([]byte, []int) { - return file_generated_service_proto_rawDescGZIP(), []int{61} + return file_service_proto_rawDescGZIP(), []int{61} } func (x *MutationAddProjectResponse) GetAddProject() *Project { @@ -3306,20 +3127,17 @@ func (x *MutationAddProjectResponse) GetAddProject() *Project { // Request message for addMilestone operation. type MutationAddMilestoneRequest struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache + state protoimpl.MessageState `protogen:"open.v1"` + Milestone *MilestoneInput `protobuf:"bytes,1,opt,name=milestone,proto3" json:"milestone,omitempty"` unknownFields protoimpl.UnknownFields - - Milestone *MilestoneInput `protobuf:"bytes,1,opt,name=milestone,proto3" json:"milestone,omitempty"` + sizeCache protoimpl.SizeCache } func (x *MutationAddMilestoneRequest) Reset() { *x = MutationAddMilestoneRequest{} - if protoimpl.UnsafeEnabled { - mi := &file_generated_service_proto_msgTypes[62] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_service_proto_msgTypes[62] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *MutationAddMilestoneRequest) String() string { @@ -3329,8 +3147,8 @@ func (x *MutationAddMilestoneRequest) String() string { func (*MutationAddMilestoneRequest) ProtoMessage() {} func (x *MutationAddMilestoneRequest) ProtoReflect() protoreflect.Message { - mi := &file_generated_service_proto_msgTypes[62] - if protoimpl.UnsafeEnabled && x != nil { + mi := &file_service_proto_msgTypes[62] + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -3342,7 +3160,7 @@ func (x *MutationAddMilestoneRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use MutationAddMilestoneRequest.ProtoReflect.Descriptor instead. func (*MutationAddMilestoneRequest) Descriptor() ([]byte, []int) { - return file_generated_service_proto_rawDescGZIP(), []int{62} + return file_service_proto_rawDescGZIP(), []int{62} } func (x *MutationAddMilestoneRequest) GetMilestone() *MilestoneInput { @@ -3354,20 +3172,17 @@ func (x *MutationAddMilestoneRequest) GetMilestone() *MilestoneInput { // Response message for addMilestone operation. type MutationAddMilestoneResponse struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache + state protoimpl.MessageState `protogen:"open.v1"` + AddMilestone *Milestone `protobuf:"bytes,1,opt,name=add_milestone,json=addMilestone,proto3" json:"add_milestone,omitempty"` unknownFields protoimpl.UnknownFields - - AddMilestone *Milestone `protobuf:"bytes,1,opt,name=add_milestone,json=addMilestone,proto3" json:"add_milestone,omitempty"` + sizeCache protoimpl.SizeCache } func (x *MutationAddMilestoneResponse) Reset() { *x = MutationAddMilestoneResponse{} - if protoimpl.UnsafeEnabled { - mi := &file_generated_service_proto_msgTypes[63] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_service_proto_msgTypes[63] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *MutationAddMilestoneResponse) String() string { @@ -3377,8 +3192,8 @@ func (x *MutationAddMilestoneResponse) String() string { func (*MutationAddMilestoneResponse) ProtoMessage() {} func (x *MutationAddMilestoneResponse) ProtoReflect() protoreflect.Message { - mi := &file_generated_service_proto_msgTypes[63] - if protoimpl.UnsafeEnabled && x != nil { + mi := &file_service_proto_msgTypes[63] + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -3390,7 +3205,7 @@ func (x *MutationAddMilestoneResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use MutationAddMilestoneResponse.ProtoReflect.Descriptor instead. func (*MutationAddMilestoneResponse) Descriptor() ([]byte, []int) { - return file_generated_service_proto_rawDescGZIP(), []int{63} + return file_service_proto_rawDescGZIP(), []int{63} } func (x *MutationAddMilestoneResponse) GetAddMilestone() *Milestone { @@ -3402,20 +3217,17 @@ func (x *MutationAddMilestoneResponse) GetAddMilestone() *Milestone { // Request message for addTask operation. type MutationAddTaskRequest struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache + state protoimpl.MessageState `protogen:"open.v1"` + Task *TaskInput `protobuf:"bytes,1,opt,name=task,proto3" json:"task,omitempty"` unknownFields protoimpl.UnknownFields - - Task *TaskInput `protobuf:"bytes,1,opt,name=task,proto3" json:"task,omitempty"` + sizeCache protoimpl.SizeCache } func (x *MutationAddTaskRequest) Reset() { *x = MutationAddTaskRequest{} - if protoimpl.UnsafeEnabled { - mi := &file_generated_service_proto_msgTypes[64] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_service_proto_msgTypes[64] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *MutationAddTaskRequest) String() string { @@ -3425,8 +3237,8 @@ func (x *MutationAddTaskRequest) String() string { func (*MutationAddTaskRequest) ProtoMessage() {} func (x *MutationAddTaskRequest) ProtoReflect() protoreflect.Message { - mi := &file_generated_service_proto_msgTypes[64] - if protoimpl.UnsafeEnabled && x != nil { + mi := &file_service_proto_msgTypes[64] + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -3438,7 +3250,7 @@ func (x *MutationAddTaskRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use MutationAddTaskRequest.ProtoReflect.Descriptor instead. func (*MutationAddTaskRequest) Descriptor() ([]byte, []int) { - return file_generated_service_proto_rawDescGZIP(), []int{64} + return file_service_proto_rawDescGZIP(), []int{64} } func (x *MutationAddTaskRequest) GetTask() *TaskInput { @@ -3450,20 +3262,17 @@ func (x *MutationAddTaskRequest) GetTask() *TaskInput { // Response message for addTask operation. type MutationAddTaskResponse struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache + state protoimpl.MessageState `protogen:"open.v1"` + AddTask *Task `protobuf:"bytes,1,opt,name=add_task,json=addTask,proto3" json:"add_task,omitempty"` unknownFields protoimpl.UnknownFields - - AddTask *Task `protobuf:"bytes,1,opt,name=add_task,json=addTask,proto3" json:"add_task,omitempty"` + sizeCache protoimpl.SizeCache } func (x *MutationAddTaskResponse) Reset() { *x = MutationAddTaskResponse{} - if protoimpl.UnsafeEnabled { - mi := &file_generated_service_proto_msgTypes[65] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_service_proto_msgTypes[65] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *MutationAddTaskResponse) String() string { @@ -3473,8 +3282,8 @@ func (x *MutationAddTaskResponse) String() string { func (*MutationAddTaskResponse) ProtoMessage() {} func (x *MutationAddTaskResponse) ProtoReflect() protoreflect.Message { - mi := &file_generated_service_proto_msgTypes[65] - if protoimpl.UnsafeEnabled && x != nil { + mi := &file_service_proto_msgTypes[65] + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -3486,7 +3295,7 @@ func (x *MutationAddTaskResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use MutationAddTaskResponse.ProtoReflect.Descriptor instead. func (*MutationAddTaskResponse) Descriptor() ([]byte, []int) { - return file_generated_service_proto_rawDescGZIP(), []int{65} + return file_service_proto_rawDescGZIP(), []int{65} } func (x *MutationAddTaskResponse) GetAddTask() *Task { @@ -3498,21 +3307,18 @@ func (x *MutationAddTaskResponse) GetAddTask() *Task { // Request message for updateProjectStatus operation. type MutationUpdateProjectStatusRequest struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache + state protoimpl.MessageState `protogen:"open.v1"` + ProjectId string `protobuf:"bytes,1,opt,name=project_id,json=projectId,proto3" json:"project_id,omitempty"` + Status ProjectStatus `protobuf:"varint,2,opt,name=status,proto3,enum=service.ProjectStatus" json:"status,omitempty"` unknownFields protoimpl.UnknownFields - - ProjectId string `protobuf:"bytes,1,opt,name=project_id,json=projectId,proto3" json:"project_id,omitempty"` - Status ProjectStatus `protobuf:"varint,2,opt,name=status,proto3,enum=service.ProjectStatus" json:"status,omitempty"` + sizeCache protoimpl.SizeCache } func (x *MutationUpdateProjectStatusRequest) Reset() { *x = MutationUpdateProjectStatusRequest{} - if protoimpl.UnsafeEnabled { - mi := &file_generated_service_proto_msgTypes[66] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_service_proto_msgTypes[66] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *MutationUpdateProjectStatusRequest) String() string { @@ -3522,8 +3328,8 @@ func (x *MutationUpdateProjectStatusRequest) String() string { func (*MutationUpdateProjectStatusRequest) ProtoMessage() {} func (x *MutationUpdateProjectStatusRequest) ProtoReflect() protoreflect.Message { - mi := &file_generated_service_proto_msgTypes[66] - if protoimpl.UnsafeEnabled && x != nil { + mi := &file_service_proto_msgTypes[66] + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -3535,7 +3341,7 @@ func (x *MutationUpdateProjectStatusRequest) ProtoReflect() protoreflect.Message // Deprecated: Use MutationUpdateProjectStatusRequest.ProtoReflect.Descriptor instead. func (*MutationUpdateProjectStatusRequest) Descriptor() ([]byte, []int) { - return file_generated_service_proto_rawDescGZIP(), []int{66} + return file_service_proto_rawDescGZIP(), []int{66} } func (x *MutationUpdateProjectStatusRequest) GetProjectId() string { @@ -3554,20 +3360,17 @@ func (x *MutationUpdateProjectStatusRequest) GetStatus() ProjectStatus { // Response message for updateProjectStatus operation. type MutationUpdateProjectStatusResponse struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - UpdateProjectStatus *ProjectUpdate `protobuf:"bytes,1,opt,name=update_project_status,json=updateProjectStatus,proto3" json:"update_project_status,omitempty"` + state protoimpl.MessageState `protogen:"open.v1"` + UpdateProjectStatus *ProjectUpdate `protobuf:"bytes,1,opt,name=update_project_status,json=updateProjectStatus,proto3" json:"update_project_status,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *MutationUpdateProjectStatusResponse) Reset() { *x = MutationUpdateProjectStatusResponse{} - if protoimpl.UnsafeEnabled { - mi := &file_generated_service_proto_msgTypes[67] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_service_proto_msgTypes[67] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *MutationUpdateProjectStatusResponse) String() string { @@ -3577,8 +3380,8 @@ func (x *MutationUpdateProjectStatusResponse) String() string { func (*MutationUpdateProjectStatusResponse) ProtoMessage() {} func (x *MutationUpdateProjectStatusResponse) ProtoReflect() protoreflect.Message { - mi := &file_generated_service_proto_msgTypes[67] - if protoimpl.UnsafeEnabled && x != nil { + mi := &file_service_proto_msgTypes[67] + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -3590,7 +3393,7 @@ func (x *MutationUpdateProjectStatusResponse) ProtoReflect() protoreflect.Messag // Deprecated: Use MutationUpdateProjectStatusResponse.ProtoReflect.Descriptor instead. func (*MutationUpdateProjectStatusResponse) Descriptor() ([]byte, []int) { - return file_generated_service_proto_rawDescGZIP(), []int{67} + return file_service_proto_rawDescGZIP(), []int{67} } func (x *MutationUpdateProjectStatusResponse) GetUpdateProjectStatus() *ProjectUpdate { @@ -3601,20 +3404,17 @@ func (x *MutationUpdateProjectStatusResponse) GetUpdateProjectStatus() *ProjectU } type ResolveProjectSubProjectsArgs struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - IncludeArchived *wrapperspb.BoolValue `protobuf:"bytes,1,opt,name=include_archived,json=includeArchived,proto3" json:"include_archived,omitempty"` + state protoimpl.MessageState `protogen:"open.v1"` + IncludeArchived *wrapperspb.BoolValue `protobuf:"bytes,1,opt,name=include_archived,json=includeArchived,proto3" json:"include_archived,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *ResolveProjectSubProjectsArgs) Reset() { *x = ResolveProjectSubProjectsArgs{} - if protoimpl.UnsafeEnabled { - mi := &file_generated_service_proto_msgTypes[68] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_service_proto_msgTypes[68] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *ResolveProjectSubProjectsArgs) String() string { @@ -3624,8 +3424,8 @@ func (x *ResolveProjectSubProjectsArgs) String() string { func (*ResolveProjectSubProjectsArgs) ProtoMessage() {} func (x *ResolveProjectSubProjectsArgs) ProtoReflect() protoreflect.Message { - mi := &file_generated_service_proto_msgTypes[68] - if protoimpl.UnsafeEnabled && x != nil { + mi := &file_service_proto_msgTypes[68] + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -3637,7 +3437,7 @@ func (x *ResolveProjectSubProjectsArgs) ProtoReflect() protoreflect.Message { // Deprecated: Use ResolveProjectSubProjectsArgs.ProtoReflect.Descriptor instead. func (*ResolveProjectSubProjectsArgs) Descriptor() ([]byte, []int) { - return file_generated_service_proto_rawDescGZIP(), []int{68} + return file_service_proto_rawDescGZIP(), []int{68} } func (x *ResolveProjectSubProjectsArgs) GetIncludeArchived() *wrapperspb.BoolValue { @@ -3648,22 +3448,19 @@ func (x *ResolveProjectSubProjectsArgs) GetIncludeArchived() *wrapperspb.BoolVal } type ResolveProjectSubProjectsContext struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache + state protoimpl.MessageState `protogen:"open.v1"` + Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"` + Name string `protobuf:"bytes,2,opt,name=name,proto3" json:"name,omitempty"` + Status ProjectStatus `protobuf:"varint,3,opt,name=status,proto3,enum=service.ProjectStatus" json:"status,omitempty"` unknownFields protoimpl.UnknownFields - - Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"` - Name string `protobuf:"bytes,2,opt,name=name,proto3" json:"name,omitempty"` - Status ProjectStatus `protobuf:"varint,3,opt,name=status,proto3,enum=service.ProjectStatus" json:"status,omitempty"` + sizeCache protoimpl.SizeCache } func (x *ResolveProjectSubProjectsContext) Reset() { *x = ResolveProjectSubProjectsContext{} - if protoimpl.UnsafeEnabled { - mi := &file_generated_service_proto_msgTypes[69] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_service_proto_msgTypes[69] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *ResolveProjectSubProjectsContext) String() string { @@ -3673,8 +3470,8 @@ func (x *ResolveProjectSubProjectsContext) String() string { func (*ResolveProjectSubProjectsContext) ProtoMessage() {} func (x *ResolveProjectSubProjectsContext) ProtoReflect() protoreflect.Message { - mi := &file_generated_service_proto_msgTypes[69] - if protoimpl.UnsafeEnabled && x != nil { + mi := &file_service_proto_msgTypes[69] + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -3686,7 +3483,7 @@ func (x *ResolveProjectSubProjectsContext) ProtoReflect() protoreflect.Message { // Deprecated: Use ResolveProjectSubProjectsContext.ProtoReflect.Descriptor instead. func (*ResolveProjectSubProjectsContext) Descriptor() ([]byte, []int) { - return file_generated_service_proto_rawDescGZIP(), []int{69} + return file_service_proto_rawDescGZIP(), []int{69} } func (x *ResolveProjectSubProjectsContext) GetId() string { @@ -3711,23 +3508,20 @@ func (x *ResolveProjectSubProjectsContext) GetStatus() ProjectStatus { } type ResolveProjectSubProjectsRequest struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - + state protoimpl.MessageState `protogen:"open.v1"` // context provides the resolver context for the field subProjects of type Project. Context []*ResolveProjectSubProjectsContext `protobuf:"bytes,1,rep,name=context,proto3" json:"context,omitempty"` // field_args provides the arguments for the resolver field subProjects of type Project. - FieldArgs *ResolveProjectSubProjectsArgs `protobuf:"bytes,2,opt,name=field_args,json=fieldArgs,proto3" json:"field_args,omitempty"` + FieldArgs *ResolveProjectSubProjectsArgs `protobuf:"bytes,2,opt,name=field_args,json=fieldArgs,proto3" json:"field_args,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *ResolveProjectSubProjectsRequest) Reset() { *x = ResolveProjectSubProjectsRequest{} - if protoimpl.UnsafeEnabled { - mi := &file_generated_service_proto_msgTypes[70] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_service_proto_msgTypes[70] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *ResolveProjectSubProjectsRequest) String() string { @@ -3737,8 +3531,8 @@ func (x *ResolveProjectSubProjectsRequest) String() string { func (*ResolveProjectSubProjectsRequest) ProtoMessage() {} func (x *ResolveProjectSubProjectsRequest) ProtoReflect() protoreflect.Message { - mi := &file_generated_service_proto_msgTypes[70] - if protoimpl.UnsafeEnabled && x != nil { + mi := &file_service_proto_msgTypes[70] + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -3750,7 +3544,7 @@ func (x *ResolveProjectSubProjectsRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use ResolveProjectSubProjectsRequest.ProtoReflect.Descriptor instead. func (*ResolveProjectSubProjectsRequest) Descriptor() ([]byte, []int) { - return file_generated_service_proto_rawDescGZIP(), []int{70} + return file_service_proto_rawDescGZIP(), []int{70} } func (x *ResolveProjectSubProjectsRequest) GetContext() []*ResolveProjectSubProjectsContext { @@ -3768,20 +3562,17 @@ func (x *ResolveProjectSubProjectsRequest) GetFieldArgs() *ResolveProjectSubProj } type ResolveProjectSubProjectsResult struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache + state protoimpl.MessageState `protogen:"open.v1"` + SubProjects []*Project `protobuf:"bytes,1,rep,name=sub_projects,json=subProjects,proto3" json:"sub_projects,omitempty"` unknownFields protoimpl.UnknownFields - - SubProjects []*Project `protobuf:"bytes,1,rep,name=sub_projects,json=subProjects,proto3" json:"sub_projects,omitempty"` + sizeCache protoimpl.SizeCache } func (x *ResolveProjectSubProjectsResult) Reset() { *x = ResolveProjectSubProjectsResult{} - if protoimpl.UnsafeEnabled { - mi := &file_generated_service_proto_msgTypes[71] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_service_proto_msgTypes[71] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *ResolveProjectSubProjectsResult) String() string { @@ -3791,8 +3582,8 @@ func (x *ResolveProjectSubProjectsResult) String() string { func (*ResolveProjectSubProjectsResult) ProtoMessage() {} func (x *ResolveProjectSubProjectsResult) ProtoReflect() protoreflect.Message { - mi := &file_generated_service_proto_msgTypes[71] - if protoimpl.UnsafeEnabled && x != nil { + mi := &file_service_proto_msgTypes[71] + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -3804,7 +3595,7 @@ func (x *ResolveProjectSubProjectsResult) ProtoReflect() protoreflect.Message { // Deprecated: Use ResolveProjectSubProjectsResult.ProtoReflect.Descriptor instead. func (*ResolveProjectSubProjectsResult) Descriptor() ([]byte, []int) { - return file_generated_service_proto_rawDescGZIP(), []int{71} + return file_service_proto_rawDescGZIP(), []int{71} } func (x *ResolveProjectSubProjectsResult) GetSubProjects() []*Project { @@ -3815,20 +3606,17 @@ func (x *ResolveProjectSubProjectsResult) GetSubProjects() []*Project { } type ResolveProjectSubProjectsResponse struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache + state protoimpl.MessageState `protogen:"open.v1"` + Result []*ResolveProjectSubProjectsResult `protobuf:"bytes,1,rep,name=result,proto3" json:"result,omitempty"` unknownFields protoimpl.UnknownFields - - Result []*ResolveProjectSubProjectsResult `protobuf:"bytes,1,rep,name=result,proto3" json:"result,omitempty"` + sizeCache protoimpl.SizeCache } func (x *ResolveProjectSubProjectsResponse) Reset() { *x = ResolveProjectSubProjectsResponse{} - if protoimpl.UnsafeEnabled { - mi := &file_generated_service_proto_msgTypes[72] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_service_proto_msgTypes[72] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *ResolveProjectSubProjectsResponse) String() string { @@ -3838,8 +3626,8 @@ func (x *ResolveProjectSubProjectsResponse) String() string { func (*ResolveProjectSubProjectsResponse) ProtoMessage() {} func (x *ResolveProjectSubProjectsResponse) ProtoReflect() protoreflect.Message { - mi := &file_generated_service_proto_msgTypes[72] - if protoimpl.UnsafeEnabled && x != nil { + mi := &file_service_proto_msgTypes[72] + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -3851,7 +3639,7 @@ func (x *ResolveProjectSubProjectsResponse) ProtoReflect() protoreflect.Message // Deprecated: Use ResolveProjectSubProjectsResponse.ProtoReflect.Descriptor instead. func (*ResolveProjectSubProjectsResponse) Descriptor() ([]byte, []int) { - return file_generated_service_proto_rawDescGZIP(), []int{72} + return file_service_proto_rawDescGZIP(), []int{72} } func (x *ResolveProjectSubProjectsResponse) GetResult() []*ResolveProjectSubProjectsResult { @@ -3862,22 +3650,19 @@ func (x *ResolveProjectSubProjectsResponse) GetResult() []*ResolveProjectSubProj } type ResolveProjectFilteredTasksArgs struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache + state protoimpl.MessageState `protogen:"open.v1"` + Status TaskStatus `protobuf:"varint,1,opt,name=status,proto3,enum=service.TaskStatus" json:"status,omitempty"` + Priority TaskPriority `protobuf:"varint,2,opt,name=priority,proto3,enum=service.TaskPriority" json:"priority,omitempty"` + Limit *wrapperspb.Int32Value `protobuf:"bytes,3,opt,name=limit,proto3" json:"limit,omitempty"` unknownFields protoimpl.UnknownFields - - Status TaskStatus `protobuf:"varint,1,opt,name=status,proto3,enum=service.TaskStatus" json:"status,omitempty"` - Priority TaskPriority `protobuf:"varint,2,opt,name=priority,proto3,enum=service.TaskPriority" json:"priority,omitempty"` - Limit *wrapperspb.Int32Value `protobuf:"bytes,3,opt,name=limit,proto3" json:"limit,omitempty"` + sizeCache protoimpl.SizeCache } func (x *ResolveProjectFilteredTasksArgs) Reset() { *x = ResolveProjectFilteredTasksArgs{} - if protoimpl.UnsafeEnabled { - mi := &file_generated_service_proto_msgTypes[73] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_service_proto_msgTypes[73] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *ResolveProjectFilteredTasksArgs) String() string { @@ -3887,8 +3672,8 @@ func (x *ResolveProjectFilteredTasksArgs) String() string { func (*ResolveProjectFilteredTasksArgs) ProtoMessage() {} func (x *ResolveProjectFilteredTasksArgs) ProtoReflect() protoreflect.Message { - mi := &file_generated_service_proto_msgTypes[73] - if protoimpl.UnsafeEnabled && x != nil { + mi := &file_service_proto_msgTypes[73] + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -3900,7 +3685,7 @@ func (x *ResolveProjectFilteredTasksArgs) ProtoReflect() protoreflect.Message { // Deprecated: Use ResolveProjectFilteredTasksArgs.ProtoReflect.Descriptor instead. func (*ResolveProjectFilteredTasksArgs) Descriptor() ([]byte, []int) { - return file_generated_service_proto_rawDescGZIP(), []int{73} + return file_service_proto_rawDescGZIP(), []int{73} } func (x *ResolveProjectFilteredTasksArgs) GetStatus() TaskStatus { @@ -3925,20 +3710,17 @@ func (x *ResolveProjectFilteredTasksArgs) GetLimit() *wrapperspb.Int32Value { } type ResolveProjectFilteredTasksContext struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache + state protoimpl.MessageState `protogen:"open.v1"` + Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"` unknownFields protoimpl.UnknownFields - - Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"` + sizeCache protoimpl.SizeCache } func (x *ResolveProjectFilteredTasksContext) Reset() { *x = ResolveProjectFilteredTasksContext{} - if protoimpl.UnsafeEnabled { - mi := &file_generated_service_proto_msgTypes[74] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_service_proto_msgTypes[74] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *ResolveProjectFilteredTasksContext) String() string { @@ -3948,8 +3730,8 @@ func (x *ResolveProjectFilteredTasksContext) String() string { func (*ResolveProjectFilteredTasksContext) ProtoMessage() {} func (x *ResolveProjectFilteredTasksContext) ProtoReflect() protoreflect.Message { - mi := &file_generated_service_proto_msgTypes[74] - if protoimpl.UnsafeEnabled && x != nil { + mi := &file_service_proto_msgTypes[74] + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -3961,7 +3743,7 @@ func (x *ResolveProjectFilteredTasksContext) ProtoReflect() protoreflect.Message // Deprecated: Use ResolveProjectFilteredTasksContext.ProtoReflect.Descriptor instead. func (*ResolveProjectFilteredTasksContext) Descriptor() ([]byte, []int) { - return file_generated_service_proto_rawDescGZIP(), []int{74} + return file_service_proto_rawDescGZIP(), []int{74} } func (x *ResolveProjectFilteredTasksContext) GetId() string { @@ -3972,23 +3754,20 @@ func (x *ResolveProjectFilteredTasksContext) GetId() string { } type ResolveProjectFilteredTasksRequest struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - + state protoimpl.MessageState `protogen:"open.v1"` // context provides the resolver context for the field filteredTasks of type Project. Context []*ResolveProjectFilteredTasksContext `protobuf:"bytes,1,rep,name=context,proto3" json:"context,omitempty"` // field_args provides the arguments for the resolver field filteredTasks of type Project. - FieldArgs *ResolveProjectFilteredTasksArgs `protobuf:"bytes,2,opt,name=field_args,json=fieldArgs,proto3" json:"field_args,omitempty"` + FieldArgs *ResolveProjectFilteredTasksArgs `protobuf:"bytes,2,opt,name=field_args,json=fieldArgs,proto3" json:"field_args,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *ResolveProjectFilteredTasksRequest) Reset() { *x = ResolveProjectFilteredTasksRequest{} - if protoimpl.UnsafeEnabled { - mi := &file_generated_service_proto_msgTypes[75] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_service_proto_msgTypes[75] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *ResolveProjectFilteredTasksRequest) String() string { @@ -3998,8 +3777,8 @@ func (x *ResolveProjectFilteredTasksRequest) String() string { func (*ResolveProjectFilteredTasksRequest) ProtoMessage() {} func (x *ResolveProjectFilteredTasksRequest) ProtoReflect() protoreflect.Message { - mi := &file_generated_service_proto_msgTypes[75] - if protoimpl.UnsafeEnabled && x != nil { + mi := &file_service_proto_msgTypes[75] + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -4011,7 +3790,7 @@ func (x *ResolveProjectFilteredTasksRequest) ProtoReflect() protoreflect.Message // Deprecated: Use ResolveProjectFilteredTasksRequest.ProtoReflect.Descriptor instead. func (*ResolveProjectFilteredTasksRequest) Descriptor() ([]byte, []int) { - return file_generated_service_proto_rawDescGZIP(), []int{75} + return file_service_proto_rawDescGZIP(), []int{75} } func (x *ResolveProjectFilteredTasksRequest) GetContext() []*ResolveProjectFilteredTasksContext { @@ -4029,20 +3808,17 @@ func (x *ResolveProjectFilteredTasksRequest) GetFieldArgs() *ResolveProjectFilte } type ResolveProjectFilteredTasksResult struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache + state protoimpl.MessageState `protogen:"open.v1"` + FilteredTasks []*Task `protobuf:"bytes,1,rep,name=filtered_tasks,json=filteredTasks,proto3" json:"filtered_tasks,omitempty"` unknownFields protoimpl.UnknownFields - - FilteredTasks []*Task `protobuf:"bytes,1,rep,name=filtered_tasks,json=filteredTasks,proto3" json:"filtered_tasks,omitempty"` + sizeCache protoimpl.SizeCache } func (x *ResolveProjectFilteredTasksResult) Reset() { *x = ResolveProjectFilteredTasksResult{} - if protoimpl.UnsafeEnabled { - mi := &file_generated_service_proto_msgTypes[76] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_service_proto_msgTypes[76] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *ResolveProjectFilteredTasksResult) String() string { @@ -4052,8 +3828,8 @@ func (x *ResolveProjectFilteredTasksResult) String() string { func (*ResolveProjectFilteredTasksResult) ProtoMessage() {} func (x *ResolveProjectFilteredTasksResult) ProtoReflect() protoreflect.Message { - mi := &file_generated_service_proto_msgTypes[76] - if protoimpl.UnsafeEnabled && x != nil { + mi := &file_service_proto_msgTypes[76] + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -4065,7 +3841,7 @@ func (x *ResolveProjectFilteredTasksResult) ProtoReflect() protoreflect.Message // Deprecated: Use ResolveProjectFilteredTasksResult.ProtoReflect.Descriptor instead. func (*ResolveProjectFilteredTasksResult) Descriptor() ([]byte, []int) { - return file_generated_service_proto_rawDescGZIP(), []int{76} + return file_service_proto_rawDescGZIP(), []int{76} } func (x *ResolveProjectFilteredTasksResult) GetFilteredTasks() []*Task { @@ -4076,20 +3852,17 @@ func (x *ResolveProjectFilteredTasksResult) GetFilteredTasks() []*Task { } type ResolveProjectFilteredTasksResponse struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache + state protoimpl.MessageState `protogen:"open.v1"` + Result []*ResolveProjectFilteredTasksResult `protobuf:"bytes,1,rep,name=result,proto3" json:"result,omitempty"` unknownFields protoimpl.UnknownFields - - Result []*ResolveProjectFilteredTasksResult `protobuf:"bytes,1,rep,name=result,proto3" json:"result,omitempty"` + sizeCache protoimpl.SizeCache } func (x *ResolveProjectFilteredTasksResponse) Reset() { *x = ResolveProjectFilteredTasksResponse{} - if protoimpl.UnsafeEnabled { - mi := &file_generated_service_proto_msgTypes[77] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_service_proto_msgTypes[77] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *ResolveProjectFilteredTasksResponse) String() string { @@ -4099,8 +3872,8 @@ func (x *ResolveProjectFilteredTasksResponse) String() string { func (*ResolveProjectFilteredTasksResponse) ProtoMessage() {} func (x *ResolveProjectFilteredTasksResponse) ProtoReflect() protoreflect.Message { - mi := &file_generated_service_proto_msgTypes[77] - if protoimpl.UnsafeEnabled && x != nil { + mi := &file_service_proto_msgTypes[77] + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -4112,7 +3885,7 @@ func (x *ResolveProjectFilteredTasksResponse) ProtoReflect() protoreflect.Messag // Deprecated: Use ResolveProjectFilteredTasksResponse.ProtoReflect.Descriptor instead. func (*ResolveProjectFilteredTasksResponse) Descriptor() ([]byte, []int) { - return file_generated_service_proto_rawDescGZIP(), []int{77} + return file_service_proto_rawDescGZIP(), []int{77} } func (x *ResolveProjectFilteredTasksResponse) GetResult() []*ResolveProjectFilteredTasksResult { @@ -4123,20 +3896,17 @@ func (x *ResolveProjectFilteredTasksResponse) GetResult() []*ResolveProjectFilte } type ResolveProjectCompletionRateArgs struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - IncludeSubtasks *wrapperspb.BoolValue `protobuf:"bytes,1,opt,name=include_subtasks,json=includeSubtasks,proto3" json:"include_subtasks,omitempty"` + state protoimpl.MessageState `protogen:"open.v1"` + IncludeSubtasks *wrapperspb.BoolValue `protobuf:"bytes,1,opt,name=include_subtasks,json=includeSubtasks,proto3" json:"include_subtasks,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *ResolveProjectCompletionRateArgs) Reset() { *x = ResolveProjectCompletionRateArgs{} - if protoimpl.UnsafeEnabled { - mi := &file_generated_service_proto_msgTypes[78] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_service_proto_msgTypes[78] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *ResolveProjectCompletionRateArgs) String() string { @@ -4146,8 +3916,8 @@ func (x *ResolveProjectCompletionRateArgs) String() string { func (*ResolveProjectCompletionRateArgs) ProtoMessage() {} func (x *ResolveProjectCompletionRateArgs) ProtoReflect() protoreflect.Message { - mi := &file_generated_service_proto_msgTypes[78] - if protoimpl.UnsafeEnabled && x != nil { + mi := &file_service_proto_msgTypes[78] + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -4159,7 +3929,7 @@ func (x *ResolveProjectCompletionRateArgs) ProtoReflect() protoreflect.Message { // Deprecated: Use ResolveProjectCompletionRateArgs.ProtoReflect.Descriptor instead. func (*ResolveProjectCompletionRateArgs) Descriptor() ([]byte, []int) { - return file_generated_service_proto_rawDescGZIP(), []int{78} + return file_service_proto_rawDescGZIP(), []int{78} } func (x *ResolveProjectCompletionRateArgs) GetIncludeSubtasks() *wrapperspb.BoolValue { @@ -4170,23 +3940,20 @@ func (x *ResolveProjectCompletionRateArgs) GetIncludeSubtasks() *wrapperspb.Bool } type ResolveProjectCompletionRateContext struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache + state protoimpl.MessageState `protogen:"open.v1"` + Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"` + StartDate *wrapperspb.StringValue `protobuf:"bytes,2,opt,name=start_date,json=startDate,proto3" json:"start_date,omitempty"` + EndDate *wrapperspb.StringValue `protobuf:"bytes,3,opt,name=end_date,json=endDate,proto3" json:"end_date,omitempty"` + Status ProjectStatus `protobuf:"varint,4,opt,name=status,proto3,enum=service.ProjectStatus" json:"status,omitempty"` unknownFields protoimpl.UnknownFields - - Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"` - StartDate *wrapperspb.StringValue `protobuf:"bytes,2,opt,name=start_date,json=startDate,proto3" json:"start_date,omitempty"` - EndDate *wrapperspb.StringValue `protobuf:"bytes,3,opt,name=end_date,json=endDate,proto3" json:"end_date,omitempty"` - Status ProjectStatus `protobuf:"varint,4,opt,name=status,proto3,enum=service.ProjectStatus" json:"status,omitempty"` + sizeCache protoimpl.SizeCache } func (x *ResolveProjectCompletionRateContext) Reset() { *x = ResolveProjectCompletionRateContext{} - if protoimpl.UnsafeEnabled { - mi := &file_generated_service_proto_msgTypes[79] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_service_proto_msgTypes[79] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *ResolveProjectCompletionRateContext) String() string { @@ -4196,8 +3963,8 @@ func (x *ResolveProjectCompletionRateContext) String() string { func (*ResolveProjectCompletionRateContext) ProtoMessage() {} func (x *ResolveProjectCompletionRateContext) ProtoReflect() protoreflect.Message { - mi := &file_generated_service_proto_msgTypes[79] - if protoimpl.UnsafeEnabled && x != nil { + mi := &file_service_proto_msgTypes[79] + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -4209,7 +3976,7 @@ func (x *ResolveProjectCompletionRateContext) ProtoReflect() protoreflect.Messag // Deprecated: Use ResolveProjectCompletionRateContext.ProtoReflect.Descriptor instead. func (*ResolveProjectCompletionRateContext) Descriptor() ([]byte, []int) { - return file_generated_service_proto_rawDescGZIP(), []int{79} + return file_service_proto_rawDescGZIP(), []int{79} } func (x *ResolveProjectCompletionRateContext) GetId() string { @@ -4241,23 +4008,20 @@ func (x *ResolveProjectCompletionRateContext) GetStatus() ProjectStatus { } type ResolveProjectCompletionRateRequest struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - + state protoimpl.MessageState `protogen:"open.v1"` // context provides the resolver context for the field completionRate of type Project. Context []*ResolveProjectCompletionRateContext `protobuf:"bytes,1,rep,name=context,proto3" json:"context,omitempty"` // field_args provides the arguments for the resolver field completionRate of type Project. - FieldArgs *ResolveProjectCompletionRateArgs `protobuf:"bytes,2,opt,name=field_args,json=fieldArgs,proto3" json:"field_args,omitempty"` + FieldArgs *ResolveProjectCompletionRateArgs `protobuf:"bytes,2,opt,name=field_args,json=fieldArgs,proto3" json:"field_args,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *ResolveProjectCompletionRateRequest) Reset() { *x = ResolveProjectCompletionRateRequest{} - if protoimpl.UnsafeEnabled { - mi := &file_generated_service_proto_msgTypes[80] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_service_proto_msgTypes[80] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *ResolveProjectCompletionRateRequest) String() string { @@ -4267,8 +4031,8 @@ func (x *ResolveProjectCompletionRateRequest) String() string { func (*ResolveProjectCompletionRateRequest) ProtoMessage() {} func (x *ResolveProjectCompletionRateRequest) ProtoReflect() protoreflect.Message { - mi := &file_generated_service_proto_msgTypes[80] - if protoimpl.UnsafeEnabled && x != nil { + mi := &file_service_proto_msgTypes[80] + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -4280,7 +4044,7 @@ func (x *ResolveProjectCompletionRateRequest) ProtoReflect() protoreflect.Messag // Deprecated: Use ResolveProjectCompletionRateRequest.ProtoReflect.Descriptor instead. func (*ResolveProjectCompletionRateRequest) Descriptor() ([]byte, []int) { - return file_generated_service_proto_rawDescGZIP(), []int{80} + return file_service_proto_rawDescGZIP(), []int{80} } func (x *ResolveProjectCompletionRateRequest) GetContext() []*ResolveProjectCompletionRateContext { @@ -4298,20 +4062,17 @@ func (x *ResolveProjectCompletionRateRequest) GetFieldArgs() *ResolveProjectComp } type ResolveProjectCompletionRateResult struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - CompletionRate float64 `protobuf:"fixed64,1,opt,name=completion_rate,json=completionRate,proto3" json:"completion_rate,omitempty"` + state protoimpl.MessageState `protogen:"open.v1"` + CompletionRate float64 `protobuf:"fixed64,1,opt,name=completion_rate,json=completionRate,proto3" json:"completion_rate,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *ResolveProjectCompletionRateResult) Reset() { *x = ResolveProjectCompletionRateResult{} - if protoimpl.UnsafeEnabled { - mi := &file_generated_service_proto_msgTypes[81] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_service_proto_msgTypes[81] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *ResolveProjectCompletionRateResult) String() string { @@ -4321,8 +4082,8 @@ func (x *ResolveProjectCompletionRateResult) String() string { func (*ResolveProjectCompletionRateResult) ProtoMessage() {} func (x *ResolveProjectCompletionRateResult) ProtoReflect() protoreflect.Message { - mi := &file_generated_service_proto_msgTypes[81] - if protoimpl.UnsafeEnabled && x != nil { + mi := &file_service_proto_msgTypes[81] + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -4334,7 +4095,7 @@ func (x *ResolveProjectCompletionRateResult) ProtoReflect() protoreflect.Message // Deprecated: Use ResolveProjectCompletionRateResult.ProtoReflect.Descriptor instead. func (*ResolveProjectCompletionRateResult) Descriptor() ([]byte, []int) { - return file_generated_service_proto_rawDescGZIP(), []int{81} + return file_service_proto_rawDescGZIP(), []int{81} } func (x *ResolveProjectCompletionRateResult) GetCompletionRate() float64 { @@ -4345,20 +4106,17 @@ func (x *ResolveProjectCompletionRateResult) GetCompletionRate() float64 { } type ResolveProjectCompletionRateResponse struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache + state protoimpl.MessageState `protogen:"open.v1"` + Result []*ResolveProjectCompletionRateResult `protobuf:"bytes,1,rep,name=result,proto3" json:"result,omitempty"` unknownFields protoimpl.UnknownFields - - Result []*ResolveProjectCompletionRateResult `protobuf:"bytes,1,rep,name=result,proto3" json:"result,omitempty"` + sizeCache protoimpl.SizeCache } func (x *ResolveProjectCompletionRateResponse) Reset() { *x = ResolveProjectCompletionRateResponse{} - if protoimpl.UnsafeEnabled { - mi := &file_generated_service_proto_msgTypes[82] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_service_proto_msgTypes[82] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *ResolveProjectCompletionRateResponse) String() string { @@ -4368,8 +4126,8 @@ func (x *ResolveProjectCompletionRateResponse) String() string { func (*ResolveProjectCompletionRateResponse) ProtoMessage() {} func (x *ResolveProjectCompletionRateResponse) ProtoReflect() protoreflect.Message { - mi := &file_generated_service_proto_msgTypes[82] - if protoimpl.UnsafeEnabled && x != nil { + mi := &file_service_proto_msgTypes[82] + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -4381,7 +4139,7 @@ func (x *ResolveProjectCompletionRateResponse) ProtoReflect() protoreflect.Messa // Deprecated: Use ResolveProjectCompletionRateResponse.ProtoReflect.Descriptor instead. func (*ResolveProjectCompletionRateResponse) Descriptor() ([]byte, []int) { - return file_generated_service_proto_rawDescGZIP(), []int{82} + return file_service_proto_rawDescGZIP(), []int{82} } func (x *ResolveProjectCompletionRateResponse) GetResult() []*ResolveProjectCompletionRateResult { @@ -4392,20 +4150,17 @@ func (x *ResolveProjectCompletionRateResponse) GetResult() []*ResolveProjectComp } type ResolveProjectEstimatedDaysRemainingArgs struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache + state protoimpl.MessageState `protogen:"open.v1"` + FromDate *wrapperspb.StringValue `protobuf:"bytes,1,opt,name=from_date,json=fromDate,proto3" json:"from_date,omitempty"` unknownFields protoimpl.UnknownFields - - FromDate *wrapperspb.StringValue `protobuf:"bytes,1,opt,name=from_date,json=fromDate,proto3" json:"from_date,omitempty"` + sizeCache protoimpl.SizeCache } func (x *ResolveProjectEstimatedDaysRemainingArgs) Reset() { *x = ResolveProjectEstimatedDaysRemainingArgs{} - if protoimpl.UnsafeEnabled { - mi := &file_generated_service_proto_msgTypes[83] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_service_proto_msgTypes[83] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *ResolveProjectEstimatedDaysRemainingArgs) String() string { @@ -4415,8 +4170,8 @@ func (x *ResolveProjectEstimatedDaysRemainingArgs) String() string { func (*ResolveProjectEstimatedDaysRemainingArgs) ProtoMessage() {} func (x *ResolveProjectEstimatedDaysRemainingArgs) ProtoReflect() protoreflect.Message { - mi := &file_generated_service_proto_msgTypes[83] - if protoimpl.UnsafeEnabled && x != nil { + mi := &file_service_proto_msgTypes[83] + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -4428,7 +4183,7 @@ func (x *ResolveProjectEstimatedDaysRemainingArgs) ProtoReflect() protoreflect.M // Deprecated: Use ResolveProjectEstimatedDaysRemainingArgs.ProtoReflect.Descriptor instead. func (*ResolveProjectEstimatedDaysRemainingArgs) Descriptor() ([]byte, []int) { - return file_generated_service_proto_rawDescGZIP(), []int{83} + return file_service_proto_rawDescGZIP(), []int{83} } func (x *ResolveProjectEstimatedDaysRemainingArgs) GetFromDate() *wrapperspb.StringValue { @@ -4439,22 +4194,19 @@ func (x *ResolveProjectEstimatedDaysRemainingArgs) GetFromDate() *wrapperspb.Str } type ResolveProjectEstimatedDaysRemainingContext struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache + state protoimpl.MessageState `protogen:"open.v1"` + Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"` + EndDate *wrapperspb.StringValue `protobuf:"bytes,2,opt,name=end_date,json=endDate,proto3" json:"end_date,omitempty"` + Status ProjectStatus `protobuf:"varint,3,opt,name=status,proto3,enum=service.ProjectStatus" json:"status,omitempty"` unknownFields protoimpl.UnknownFields - - Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"` - EndDate *wrapperspb.StringValue `protobuf:"bytes,2,opt,name=end_date,json=endDate,proto3" json:"end_date,omitempty"` - Status ProjectStatus `protobuf:"varint,3,opt,name=status,proto3,enum=service.ProjectStatus" json:"status,omitempty"` + sizeCache protoimpl.SizeCache } func (x *ResolveProjectEstimatedDaysRemainingContext) Reset() { *x = ResolveProjectEstimatedDaysRemainingContext{} - if protoimpl.UnsafeEnabled { - mi := &file_generated_service_proto_msgTypes[84] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_service_proto_msgTypes[84] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *ResolveProjectEstimatedDaysRemainingContext) String() string { @@ -4464,8 +4216,8 @@ func (x *ResolveProjectEstimatedDaysRemainingContext) String() string { func (*ResolveProjectEstimatedDaysRemainingContext) ProtoMessage() {} func (x *ResolveProjectEstimatedDaysRemainingContext) ProtoReflect() protoreflect.Message { - mi := &file_generated_service_proto_msgTypes[84] - if protoimpl.UnsafeEnabled && x != nil { + mi := &file_service_proto_msgTypes[84] + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -4477,7 +4229,7 @@ func (x *ResolveProjectEstimatedDaysRemainingContext) ProtoReflect() protoreflec // Deprecated: Use ResolveProjectEstimatedDaysRemainingContext.ProtoReflect.Descriptor instead. func (*ResolveProjectEstimatedDaysRemainingContext) Descriptor() ([]byte, []int) { - return file_generated_service_proto_rawDescGZIP(), []int{84} + return file_service_proto_rawDescGZIP(), []int{84} } func (x *ResolveProjectEstimatedDaysRemainingContext) GetId() string { @@ -4502,23 +4254,20 @@ func (x *ResolveProjectEstimatedDaysRemainingContext) GetStatus() ProjectStatus } type ResolveProjectEstimatedDaysRemainingRequest struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - + state protoimpl.MessageState `protogen:"open.v1"` // context provides the resolver context for the field estimatedDaysRemaining of type Project. Context []*ResolveProjectEstimatedDaysRemainingContext `protobuf:"bytes,1,rep,name=context,proto3" json:"context,omitempty"` // field_args provides the arguments for the resolver field estimatedDaysRemaining of type Project. - FieldArgs *ResolveProjectEstimatedDaysRemainingArgs `protobuf:"bytes,2,opt,name=field_args,json=fieldArgs,proto3" json:"field_args,omitempty"` + FieldArgs *ResolveProjectEstimatedDaysRemainingArgs `protobuf:"bytes,2,opt,name=field_args,json=fieldArgs,proto3" json:"field_args,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *ResolveProjectEstimatedDaysRemainingRequest) Reset() { *x = ResolveProjectEstimatedDaysRemainingRequest{} - if protoimpl.UnsafeEnabled { - mi := &file_generated_service_proto_msgTypes[85] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_service_proto_msgTypes[85] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *ResolveProjectEstimatedDaysRemainingRequest) String() string { @@ -4528,8 +4277,8 @@ func (x *ResolveProjectEstimatedDaysRemainingRequest) String() string { func (*ResolveProjectEstimatedDaysRemainingRequest) ProtoMessage() {} func (x *ResolveProjectEstimatedDaysRemainingRequest) ProtoReflect() protoreflect.Message { - mi := &file_generated_service_proto_msgTypes[85] - if protoimpl.UnsafeEnabled && x != nil { + mi := &file_service_proto_msgTypes[85] + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -4541,7 +4290,7 @@ func (x *ResolveProjectEstimatedDaysRemainingRequest) ProtoReflect() protoreflec // Deprecated: Use ResolveProjectEstimatedDaysRemainingRequest.ProtoReflect.Descriptor instead. func (*ResolveProjectEstimatedDaysRemainingRequest) Descriptor() ([]byte, []int) { - return file_generated_service_proto_rawDescGZIP(), []int{85} + return file_service_proto_rawDescGZIP(), []int{85} } func (x *ResolveProjectEstimatedDaysRemainingRequest) GetContext() []*ResolveProjectEstimatedDaysRemainingContext { @@ -4559,20 +4308,17 @@ func (x *ResolveProjectEstimatedDaysRemainingRequest) GetFieldArgs() *ResolvePro } type ResolveProjectEstimatedDaysRemainingResult struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - + state protoimpl.MessageState `protogen:"open.v1"` EstimatedDaysRemaining *wrapperspb.Int32Value `protobuf:"bytes,1,opt,name=estimated_days_remaining,json=estimatedDaysRemaining,proto3" json:"estimated_days_remaining,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *ResolveProjectEstimatedDaysRemainingResult) Reset() { *x = ResolveProjectEstimatedDaysRemainingResult{} - if protoimpl.UnsafeEnabled { - mi := &file_generated_service_proto_msgTypes[86] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_service_proto_msgTypes[86] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *ResolveProjectEstimatedDaysRemainingResult) String() string { @@ -4582,8 +4328,8 @@ func (x *ResolveProjectEstimatedDaysRemainingResult) String() string { func (*ResolveProjectEstimatedDaysRemainingResult) ProtoMessage() {} func (x *ResolveProjectEstimatedDaysRemainingResult) ProtoReflect() protoreflect.Message { - mi := &file_generated_service_proto_msgTypes[86] - if protoimpl.UnsafeEnabled && x != nil { + mi := &file_service_proto_msgTypes[86] + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -4595,7 +4341,7 @@ func (x *ResolveProjectEstimatedDaysRemainingResult) ProtoReflect() protoreflect // Deprecated: Use ResolveProjectEstimatedDaysRemainingResult.ProtoReflect.Descriptor instead. func (*ResolveProjectEstimatedDaysRemainingResult) Descriptor() ([]byte, []int) { - return file_generated_service_proto_rawDescGZIP(), []int{86} + return file_service_proto_rawDescGZIP(), []int{86} } func (x *ResolveProjectEstimatedDaysRemainingResult) GetEstimatedDaysRemaining() *wrapperspb.Int32Value { @@ -4606,20 +4352,17 @@ func (x *ResolveProjectEstimatedDaysRemainingResult) GetEstimatedDaysRemaining() } type ResolveProjectEstimatedDaysRemainingResponse struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache + state protoimpl.MessageState `protogen:"open.v1"` + Result []*ResolveProjectEstimatedDaysRemainingResult `protobuf:"bytes,1,rep,name=result,proto3" json:"result,omitempty"` unknownFields protoimpl.UnknownFields - - Result []*ResolveProjectEstimatedDaysRemainingResult `protobuf:"bytes,1,rep,name=result,proto3" json:"result,omitempty"` + sizeCache protoimpl.SizeCache } func (x *ResolveProjectEstimatedDaysRemainingResponse) Reset() { *x = ResolveProjectEstimatedDaysRemainingResponse{} - if protoimpl.UnsafeEnabled { - mi := &file_generated_service_proto_msgTypes[87] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_service_proto_msgTypes[87] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *ResolveProjectEstimatedDaysRemainingResponse) String() string { @@ -4629,8 +4372,8 @@ func (x *ResolveProjectEstimatedDaysRemainingResponse) String() string { func (*ResolveProjectEstimatedDaysRemainingResponse) ProtoMessage() {} func (x *ResolveProjectEstimatedDaysRemainingResponse) ProtoReflect() protoreflect.Message { - mi := &file_generated_service_proto_msgTypes[87] - if protoimpl.UnsafeEnabled && x != nil { + mi := &file_service_proto_msgTypes[87] + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -4642,7 +4385,7 @@ func (x *ResolveProjectEstimatedDaysRemainingResponse) ProtoReflect() protorefle // Deprecated: Use ResolveProjectEstimatedDaysRemainingResponse.ProtoReflect.Descriptor instead. func (*ResolveProjectEstimatedDaysRemainingResponse) Descriptor() ([]byte, []int) { - return file_generated_service_proto_rawDescGZIP(), []int{87} + return file_service_proto_rawDescGZIP(), []int{87} } func (x *ResolveProjectEstimatedDaysRemainingResponse) GetResult() []*ResolveProjectEstimatedDaysRemainingResult { @@ -4653,20 +4396,17 @@ func (x *ResolveProjectEstimatedDaysRemainingResponse) GetResult() []*ResolvePro } type ResolveProjectCriticalDeadlineArgs struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache + state protoimpl.MessageState `protogen:"open.v1"` + WithinDays *wrapperspb.Int32Value `protobuf:"bytes,1,opt,name=within_days,json=withinDays,proto3" json:"within_days,omitempty"` unknownFields protoimpl.UnknownFields - - WithinDays *wrapperspb.Int32Value `protobuf:"bytes,1,opt,name=within_days,json=withinDays,proto3" json:"within_days,omitempty"` + sizeCache protoimpl.SizeCache } func (x *ResolveProjectCriticalDeadlineArgs) Reset() { *x = ResolveProjectCriticalDeadlineArgs{} - if protoimpl.UnsafeEnabled { - mi := &file_generated_service_proto_msgTypes[88] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_service_proto_msgTypes[88] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *ResolveProjectCriticalDeadlineArgs) String() string { @@ -4676,8 +4416,8 @@ func (x *ResolveProjectCriticalDeadlineArgs) String() string { func (*ResolveProjectCriticalDeadlineArgs) ProtoMessage() {} func (x *ResolveProjectCriticalDeadlineArgs) ProtoReflect() protoreflect.Message { - mi := &file_generated_service_proto_msgTypes[88] - if protoimpl.UnsafeEnabled && x != nil { + mi := &file_service_proto_msgTypes[88] + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -4689,7 +4429,7 @@ func (x *ResolveProjectCriticalDeadlineArgs) ProtoReflect() protoreflect.Message // Deprecated: Use ResolveProjectCriticalDeadlineArgs.ProtoReflect.Descriptor instead. func (*ResolveProjectCriticalDeadlineArgs) Descriptor() ([]byte, []int) { - return file_generated_service_proto_rawDescGZIP(), []int{88} + return file_service_proto_rawDescGZIP(), []int{88} } func (x *ResolveProjectCriticalDeadlineArgs) GetWithinDays() *wrapperspb.Int32Value { @@ -4700,22 +4440,19 @@ func (x *ResolveProjectCriticalDeadlineArgs) GetWithinDays() *wrapperspb.Int32Va } type ResolveProjectCriticalDeadlineContext struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache + state protoimpl.MessageState `protogen:"open.v1"` + Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"` + Status ProjectStatus `protobuf:"varint,2,opt,name=status,proto3,enum=service.ProjectStatus" json:"status,omitempty"` + Milestones []*Milestone `protobuf:"bytes,3,rep,name=milestones,proto3" json:"milestones,omitempty"` unknownFields protoimpl.UnknownFields - - Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"` - Status ProjectStatus `protobuf:"varint,2,opt,name=status,proto3,enum=service.ProjectStatus" json:"status,omitempty"` - Milestones []*Milestone `protobuf:"bytes,3,rep,name=milestones,proto3" json:"milestones,omitempty"` + sizeCache protoimpl.SizeCache } func (x *ResolveProjectCriticalDeadlineContext) Reset() { *x = ResolveProjectCriticalDeadlineContext{} - if protoimpl.UnsafeEnabled { - mi := &file_generated_service_proto_msgTypes[89] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_service_proto_msgTypes[89] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *ResolveProjectCriticalDeadlineContext) String() string { @@ -4725,8 +4462,8 @@ func (x *ResolveProjectCriticalDeadlineContext) String() string { func (*ResolveProjectCriticalDeadlineContext) ProtoMessage() {} func (x *ResolveProjectCriticalDeadlineContext) ProtoReflect() protoreflect.Message { - mi := &file_generated_service_proto_msgTypes[89] - if protoimpl.UnsafeEnabled && x != nil { + mi := &file_service_proto_msgTypes[89] + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -4738,7 +4475,7 @@ func (x *ResolveProjectCriticalDeadlineContext) ProtoReflect() protoreflect.Mess // Deprecated: Use ResolveProjectCriticalDeadlineContext.ProtoReflect.Descriptor instead. func (*ResolveProjectCriticalDeadlineContext) Descriptor() ([]byte, []int) { - return file_generated_service_proto_rawDescGZIP(), []int{89} + return file_service_proto_rawDescGZIP(), []int{89} } func (x *ResolveProjectCriticalDeadlineContext) GetId() string { @@ -4763,23 +4500,20 @@ func (x *ResolveProjectCriticalDeadlineContext) GetMilestones() []*Milestone { } type ResolveProjectCriticalDeadlineRequest struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - + state protoimpl.MessageState `protogen:"open.v1"` // context provides the resolver context for the field criticalDeadline of type Project. Context []*ResolveProjectCriticalDeadlineContext `protobuf:"bytes,1,rep,name=context,proto3" json:"context,omitempty"` // field_args provides the arguments for the resolver field criticalDeadline of type Project. - FieldArgs *ResolveProjectCriticalDeadlineArgs `protobuf:"bytes,2,opt,name=field_args,json=fieldArgs,proto3" json:"field_args,omitempty"` + FieldArgs *ResolveProjectCriticalDeadlineArgs `protobuf:"bytes,2,opt,name=field_args,json=fieldArgs,proto3" json:"field_args,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *ResolveProjectCriticalDeadlineRequest) Reset() { *x = ResolveProjectCriticalDeadlineRequest{} - if protoimpl.UnsafeEnabled { - mi := &file_generated_service_proto_msgTypes[90] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_service_proto_msgTypes[90] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *ResolveProjectCriticalDeadlineRequest) String() string { @@ -4789,8 +4523,8 @@ func (x *ResolveProjectCriticalDeadlineRequest) String() string { func (*ResolveProjectCriticalDeadlineRequest) ProtoMessage() {} func (x *ResolveProjectCriticalDeadlineRequest) ProtoReflect() protoreflect.Message { - mi := &file_generated_service_proto_msgTypes[90] - if protoimpl.UnsafeEnabled && x != nil { + mi := &file_service_proto_msgTypes[90] + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -4802,7 +4536,7 @@ func (x *ResolveProjectCriticalDeadlineRequest) ProtoReflect() protoreflect.Mess // Deprecated: Use ResolveProjectCriticalDeadlineRequest.ProtoReflect.Descriptor instead. func (*ResolveProjectCriticalDeadlineRequest) Descriptor() ([]byte, []int) { - return file_generated_service_proto_rawDescGZIP(), []int{90} + return file_service_proto_rawDescGZIP(), []int{90} } func (x *ResolveProjectCriticalDeadlineRequest) GetContext() []*ResolveProjectCriticalDeadlineContext { @@ -4820,20 +4554,17 @@ func (x *ResolveProjectCriticalDeadlineRequest) GetFieldArgs() *ResolveProjectCr } type ResolveProjectCriticalDeadlineResult struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - CriticalDeadline *Timestamped `protobuf:"bytes,1,opt,name=critical_deadline,json=criticalDeadline,proto3" json:"critical_deadline,omitempty"` + state protoimpl.MessageState `protogen:"open.v1"` + CriticalDeadline *Timestamped `protobuf:"bytes,1,opt,name=critical_deadline,json=criticalDeadline,proto3" json:"critical_deadline,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *ResolveProjectCriticalDeadlineResult) Reset() { *x = ResolveProjectCriticalDeadlineResult{} - if protoimpl.UnsafeEnabled { - mi := &file_generated_service_proto_msgTypes[91] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_service_proto_msgTypes[91] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *ResolveProjectCriticalDeadlineResult) String() string { @@ -4843,8 +4574,8 @@ func (x *ResolveProjectCriticalDeadlineResult) String() string { func (*ResolveProjectCriticalDeadlineResult) ProtoMessage() {} func (x *ResolveProjectCriticalDeadlineResult) ProtoReflect() protoreflect.Message { - mi := &file_generated_service_proto_msgTypes[91] - if protoimpl.UnsafeEnabled && x != nil { + mi := &file_service_proto_msgTypes[91] + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -4856,7 +4587,7 @@ func (x *ResolveProjectCriticalDeadlineResult) ProtoReflect() protoreflect.Messa // Deprecated: Use ResolveProjectCriticalDeadlineResult.ProtoReflect.Descriptor instead. func (*ResolveProjectCriticalDeadlineResult) Descriptor() ([]byte, []int) { - return file_generated_service_proto_rawDescGZIP(), []int{91} + return file_service_proto_rawDescGZIP(), []int{91} } func (x *ResolveProjectCriticalDeadlineResult) GetCriticalDeadline() *Timestamped { @@ -4867,20 +4598,17 @@ func (x *ResolveProjectCriticalDeadlineResult) GetCriticalDeadline() *Timestampe } type ResolveProjectCriticalDeadlineResponse struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache + state protoimpl.MessageState `protogen:"open.v1"` + Result []*ResolveProjectCriticalDeadlineResult `protobuf:"bytes,1,rep,name=result,proto3" json:"result,omitempty"` unknownFields protoimpl.UnknownFields - - Result []*ResolveProjectCriticalDeadlineResult `protobuf:"bytes,1,rep,name=result,proto3" json:"result,omitempty"` + sizeCache protoimpl.SizeCache } func (x *ResolveProjectCriticalDeadlineResponse) Reset() { *x = ResolveProjectCriticalDeadlineResponse{} - if protoimpl.UnsafeEnabled { - mi := &file_generated_service_proto_msgTypes[92] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_service_proto_msgTypes[92] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *ResolveProjectCriticalDeadlineResponse) String() string { @@ -4890,8 +4618,8 @@ func (x *ResolveProjectCriticalDeadlineResponse) String() string { func (*ResolveProjectCriticalDeadlineResponse) ProtoMessage() {} func (x *ResolveProjectCriticalDeadlineResponse) ProtoReflect() protoreflect.Message { - mi := &file_generated_service_proto_msgTypes[92] - if protoimpl.UnsafeEnabled && x != nil { + mi := &file_service_proto_msgTypes[92] + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -4903,7 +4631,7 @@ func (x *ResolveProjectCriticalDeadlineResponse) ProtoReflect() protoreflect.Mes // Deprecated: Use ResolveProjectCriticalDeadlineResponse.ProtoReflect.Descriptor instead. func (*ResolveProjectCriticalDeadlineResponse) Descriptor() ([]byte, []int) { - return file_generated_service_proto_rawDescGZIP(), []int{92} + return file_service_proto_rawDescGZIP(), []int{92} } func (x *ResolveProjectCriticalDeadlineResponse) GetResult() []*ResolveProjectCriticalDeadlineResult { @@ -4914,20 +4642,17 @@ func (x *ResolveProjectCriticalDeadlineResponse) GetResult() []*ResolveProjectCr } type ResolveProjectTopPriorityItemArgs struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache + state protoimpl.MessageState `protogen:"open.v1"` + Category *wrapperspb.StringValue `protobuf:"bytes,1,opt,name=category,proto3" json:"category,omitempty"` unknownFields protoimpl.UnknownFields - - Category *wrapperspb.StringValue `protobuf:"bytes,1,opt,name=category,proto3" json:"category,omitempty"` + sizeCache protoimpl.SizeCache } func (x *ResolveProjectTopPriorityItemArgs) Reset() { *x = ResolveProjectTopPriorityItemArgs{} - if protoimpl.UnsafeEnabled { - mi := &file_generated_service_proto_msgTypes[93] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_service_proto_msgTypes[93] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *ResolveProjectTopPriorityItemArgs) String() string { @@ -4937,8 +4662,8 @@ func (x *ResolveProjectTopPriorityItemArgs) String() string { func (*ResolveProjectTopPriorityItemArgs) ProtoMessage() {} func (x *ResolveProjectTopPriorityItemArgs) ProtoReflect() protoreflect.Message { - mi := &file_generated_service_proto_msgTypes[93] - if protoimpl.UnsafeEnabled && x != nil { + mi := &file_service_proto_msgTypes[93] + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -4950,7 +4675,7 @@ func (x *ResolveProjectTopPriorityItemArgs) ProtoReflect() protoreflect.Message // Deprecated: Use ResolveProjectTopPriorityItemArgs.ProtoReflect.Descriptor instead. func (*ResolveProjectTopPriorityItemArgs) Descriptor() ([]byte, []int) { - return file_generated_service_proto_rawDescGZIP(), []int{93} + return file_service_proto_rawDescGZIP(), []int{93} } func (x *ResolveProjectTopPriorityItemArgs) GetCategory() *wrapperspb.StringValue { @@ -4961,21 +4686,18 @@ func (x *ResolveProjectTopPriorityItemArgs) GetCategory() *wrapperspb.StringValu } type ResolveProjectTopPriorityItemContext struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache + state protoimpl.MessageState `protogen:"open.v1"` + Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"` + Status ProjectStatus `protobuf:"varint,2,opt,name=status,proto3,enum=service.ProjectStatus" json:"status,omitempty"` unknownFields protoimpl.UnknownFields - - Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"` - Status ProjectStatus `protobuf:"varint,2,opt,name=status,proto3,enum=service.ProjectStatus" json:"status,omitempty"` + sizeCache protoimpl.SizeCache } func (x *ResolveProjectTopPriorityItemContext) Reset() { *x = ResolveProjectTopPriorityItemContext{} - if protoimpl.UnsafeEnabled { - mi := &file_generated_service_proto_msgTypes[94] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_service_proto_msgTypes[94] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *ResolveProjectTopPriorityItemContext) String() string { @@ -4985,8 +4707,8 @@ func (x *ResolveProjectTopPriorityItemContext) String() string { func (*ResolveProjectTopPriorityItemContext) ProtoMessage() {} func (x *ResolveProjectTopPriorityItemContext) ProtoReflect() protoreflect.Message { - mi := &file_generated_service_proto_msgTypes[94] - if protoimpl.UnsafeEnabled && x != nil { + mi := &file_service_proto_msgTypes[94] + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -4998,7 +4720,7 @@ func (x *ResolveProjectTopPriorityItemContext) ProtoReflect() protoreflect.Messa // Deprecated: Use ResolveProjectTopPriorityItemContext.ProtoReflect.Descriptor instead. func (*ResolveProjectTopPriorityItemContext) Descriptor() ([]byte, []int) { - return file_generated_service_proto_rawDescGZIP(), []int{94} + return file_service_proto_rawDescGZIP(), []int{94} } func (x *ResolveProjectTopPriorityItemContext) GetId() string { @@ -5016,23 +4738,20 @@ func (x *ResolveProjectTopPriorityItemContext) GetStatus() ProjectStatus { } type ResolveProjectTopPriorityItemRequest struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - + state protoimpl.MessageState `protogen:"open.v1"` // context provides the resolver context for the field topPriorityItem of type Project. Context []*ResolveProjectTopPriorityItemContext `protobuf:"bytes,1,rep,name=context,proto3" json:"context,omitempty"` // field_args provides the arguments for the resolver field topPriorityItem of type Project. - FieldArgs *ResolveProjectTopPriorityItemArgs `protobuf:"bytes,2,opt,name=field_args,json=fieldArgs,proto3" json:"field_args,omitempty"` + FieldArgs *ResolveProjectTopPriorityItemArgs `protobuf:"bytes,2,opt,name=field_args,json=fieldArgs,proto3" json:"field_args,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *ResolveProjectTopPriorityItemRequest) Reset() { *x = ResolveProjectTopPriorityItemRequest{} - if protoimpl.UnsafeEnabled { - mi := &file_generated_service_proto_msgTypes[95] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_service_proto_msgTypes[95] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *ResolveProjectTopPriorityItemRequest) String() string { @@ -5042,8 +4761,8 @@ func (x *ResolveProjectTopPriorityItemRequest) String() string { func (*ResolveProjectTopPriorityItemRequest) ProtoMessage() {} func (x *ResolveProjectTopPriorityItemRequest) ProtoReflect() protoreflect.Message { - mi := &file_generated_service_proto_msgTypes[95] - if protoimpl.UnsafeEnabled && x != nil { + mi := &file_service_proto_msgTypes[95] + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -5055,7 +4774,7 @@ func (x *ResolveProjectTopPriorityItemRequest) ProtoReflect() protoreflect.Messa // Deprecated: Use ResolveProjectTopPriorityItemRequest.ProtoReflect.Descriptor instead. func (*ResolveProjectTopPriorityItemRequest) Descriptor() ([]byte, []int) { - return file_generated_service_proto_rawDescGZIP(), []int{95} + return file_service_proto_rawDescGZIP(), []int{95} } func (x *ResolveProjectTopPriorityItemRequest) GetContext() []*ResolveProjectTopPriorityItemContext { @@ -5073,20 +4792,17 @@ func (x *ResolveProjectTopPriorityItemRequest) GetFieldArgs() *ResolveProjectTop } type ResolveProjectTopPriorityItemResult struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - TopPriorityItem *ProjectSearchResult `protobuf:"bytes,1,opt,name=top_priority_item,json=topPriorityItem,proto3" json:"top_priority_item,omitempty"` + state protoimpl.MessageState `protogen:"open.v1"` + TopPriorityItem *ProjectSearchResult `protobuf:"bytes,1,opt,name=top_priority_item,json=topPriorityItem,proto3" json:"top_priority_item,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *ResolveProjectTopPriorityItemResult) Reset() { *x = ResolveProjectTopPriorityItemResult{} - if protoimpl.UnsafeEnabled { - mi := &file_generated_service_proto_msgTypes[96] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_service_proto_msgTypes[96] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *ResolveProjectTopPriorityItemResult) String() string { @@ -5096,8 +4812,8 @@ func (x *ResolveProjectTopPriorityItemResult) String() string { func (*ResolveProjectTopPriorityItemResult) ProtoMessage() {} func (x *ResolveProjectTopPriorityItemResult) ProtoReflect() protoreflect.Message { - mi := &file_generated_service_proto_msgTypes[96] - if protoimpl.UnsafeEnabled && x != nil { + mi := &file_service_proto_msgTypes[96] + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -5109,7 +4825,7 @@ func (x *ResolveProjectTopPriorityItemResult) ProtoReflect() protoreflect.Messag // Deprecated: Use ResolveProjectTopPriorityItemResult.ProtoReflect.Descriptor instead. func (*ResolveProjectTopPriorityItemResult) Descriptor() ([]byte, []int) { - return file_generated_service_proto_rawDescGZIP(), []int{96} + return file_service_proto_rawDescGZIP(), []int{96} } func (x *ResolveProjectTopPriorityItemResult) GetTopPriorityItem() *ProjectSearchResult { @@ -5120,20 +4836,17 @@ func (x *ResolveProjectTopPriorityItemResult) GetTopPriorityItem() *ProjectSearc } type ResolveProjectTopPriorityItemResponse struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache + state protoimpl.MessageState `protogen:"open.v1"` + Result []*ResolveProjectTopPriorityItemResult `protobuf:"bytes,1,rep,name=result,proto3" json:"result,omitempty"` unknownFields protoimpl.UnknownFields - - Result []*ResolveProjectTopPriorityItemResult `protobuf:"bytes,1,rep,name=result,proto3" json:"result,omitempty"` + sizeCache protoimpl.SizeCache } func (x *ResolveProjectTopPriorityItemResponse) Reset() { *x = ResolveProjectTopPriorityItemResponse{} - if protoimpl.UnsafeEnabled { - mi := &file_generated_service_proto_msgTypes[97] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_service_proto_msgTypes[97] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *ResolveProjectTopPriorityItemResponse) String() string { @@ -5143,8 +4856,8 @@ func (x *ResolveProjectTopPriorityItemResponse) String() string { func (*ResolveProjectTopPriorityItemResponse) ProtoMessage() {} func (x *ResolveProjectTopPriorityItemResponse) ProtoReflect() protoreflect.Message { - mi := &file_generated_service_proto_msgTypes[97] - if protoimpl.UnsafeEnabled && x != nil { + mi := &file_service_proto_msgTypes[97] + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -5156,7 +4869,7 @@ func (x *ResolveProjectTopPriorityItemResponse) ProtoReflect() protoreflect.Mess // Deprecated: Use ResolveProjectTopPriorityItemResponse.ProtoReflect.Descriptor instead. func (*ResolveProjectTopPriorityItemResponse) Descriptor() ([]byte, []int) { - return file_generated_service_proto_rawDescGZIP(), []int{97} + return file_service_proto_rawDescGZIP(), []int{97} } func (x *ResolveProjectTopPriorityItemResponse) GetResult() []*ResolveProjectTopPriorityItemResult { @@ -5167,20 +4880,17 @@ func (x *ResolveProjectTopPriorityItemResponse) GetResult() []*ResolveProjectTop } type ResolveProjectTaskCountContext struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache + state protoimpl.MessageState `protogen:"open.v1"` + Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"` unknownFields protoimpl.UnknownFields - - Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"` + sizeCache protoimpl.SizeCache } func (x *ResolveProjectTaskCountContext) Reset() { *x = ResolveProjectTaskCountContext{} - if protoimpl.UnsafeEnabled { - mi := &file_generated_service_proto_msgTypes[98] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_service_proto_msgTypes[98] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *ResolveProjectTaskCountContext) String() string { @@ -5190,8 +4900,8 @@ func (x *ResolveProjectTaskCountContext) String() string { func (*ResolveProjectTaskCountContext) ProtoMessage() {} func (x *ResolveProjectTaskCountContext) ProtoReflect() protoreflect.Message { - mi := &file_generated_service_proto_msgTypes[98] - if protoimpl.UnsafeEnabled && x != nil { + mi := &file_service_proto_msgTypes[98] + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -5203,7 +4913,7 @@ func (x *ResolveProjectTaskCountContext) ProtoReflect() protoreflect.Message { // Deprecated: Use ResolveProjectTaskCountContext.ProtoReflect.Descriptor instead. func (*ResolveProjectTaskCountContext) Descriptor() ([]byte, []int) { - return file_generated_service_proto_rawDescGZIP(), []int{98} + return file_service_proto_rawDescGZIP(), []int{98} } func (x *ResolveProjectTaskCountContext) GetId() string { @@ -5214,21 +4924,18 @@ func (x *ResolveProjectTaskCountContext) GetId() string { } type ResolveProjectTaskCountRequest struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - + state protoimpl.MessageState `protogen:"open.v1"` // context provides the resolver context for the field taskCount of type Project. - Context []*ResolveProjectTaskCountContext `protobuf:"bytes,1,rep,name=context,proto3" json:"context,omitempty"` + Context []*ResolveProjectTaskCountContext `protobuf:"bytes,1,rep,name=context,proto3" json:"context,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *ResolveProjectTaskCountRequest) Reset() { *x = ResolveProjectTaskCountRequest{} - if protoimpl.UnsafeEnabled { - mi := &file_generated_service_proto_msgTypes[99] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_service_proto_msgTypes[99] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *ResolveProjectTaskCountRequest) String() string { @@ -5238,8 +4945,8 @@ func (x *ResolveProjectTaskCountRequest) String() string { func (*ResolveProjectTaskCountRequest) ProtoMessage() {} func (x *ResolveProjectTaskCountRequest) ProtoReflect() protoreflect.Message { - mi := &file_generated_service_proto_msgTypes[99] - if protoimpl.UnsafeEnabled && x != nil { + mi := &file_service_proto_msgTypes[99] + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -5251,7 +4958,7 @@ func (x *ResolveProjectTaskCountRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use ResolveProjectTaskCountRequest.ProtoReflect.Descriptor instead. func (*ResolveProjectTaskCountRequest) Descriptor() ([]byte, []int) { - return file_generated_service_proto_rawDescGZIP(), []int{99} + return file_service_proto_rawDescGZIP(), []int{99} } func (x *ResolveProjectTaskCountRequest) GetContext() []*ResolveProjectTaskCountContext { @@ -5262,20 +4969,17 @@ func (x *ResolveProjectTaskCountRequest) GetContext() []*ResolveProjectTaskCount } type ResolveProjectTaskCountResult struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache + state protoimpl.MessageState `protogen:"open.v1"` + TaskCount int32 `protobuf:"varint,1,opt,name=task_count,json=taskCount,proto3" json:"task_count,omitempty"` unknownFields protoimpl.UnknownFields - - TaskCount int32 `protobuf:"varint,1,opt,name=task_count,json=taskCount,proto3" json:"task_count,omitempty"` + sizeCache protoimpl.SizeCache } func (x *ResolveProjectTaskCountResult) Reset() { *x = ResolveProjectTaskCountResult{} - if protoimpl.UnsafeEnabled { - mi := &file_generated_service_proto_msgTypes[100] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_service_proto_msgTypes[100] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *ResolveProjectTaskCountResult) String() string { @@ -5285,8 +4989,8 @@ func (x *ResolveProjectTaskCountResult) String() string { func (*ResolveProjectTaskCountResult) ProtoMessage() {} func (x *ResolveProjectTaskCountResult) ProtoReflect() protoreflect.Message { - mi := &file_generated_service_proto_msgTypes[100] - if protoimpl.UnsafeEnabled && x != nil { + mi := &file_service_proto_msgTypes[100] + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -5298,7 +5002,7 @@ func (x *ResolveProjectTaskCountResult) ProtoReflect() protoreflect.Message { // Deprecated: Use ResolveProjectTaskCountResult.ProtoReflect.Descriptor instead. func (*ResolveProjectTaskCountResult) Descriptor() ([]byte, []int) { - return file_generated_service_proto_rawDescGZIP(), []int{100} + return file_service_proto_rawDescGZIP(), []int{100} } func (x *ResolveProjectTaskCountResult) GetTaskCount() int32 { @@ -5309,20 +5013,17 @@ func (x *ResolveProjectTaskCountResult) GetTaskCount() int32 { } type ResolveProjectTaskCountResponse struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache + state protoimpl.MessageState `protogen:"open.v1"` + Result []*ResolveProjectTaskCountResult `protobuf:"bytes,1,rep,name=result,proto3" json:"result,omitempty"` unknownFields protoimpl.UnknownFields - - Result []*ResolveProjectTaskCountResult `protobuf:"bytes,1,rep,name=result,proto3" json:"result,omitempty"` + sizeCache protoimpl.SizeCache } func (x *ResolveProjectTaskCountResponse) Reset() { *x = ResolveProjectTaskCountResponse{} - if protoimpl.UnsafeEnabled { - mi := &file_generated_service_proto_msgTypes[101] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_service_proto_msgTypes[101] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *ResolveProjectTaskCountResponse) String() string { @@ -5332,8 +5033,8 @@ func (x *ResolveProjectTaskCountResponse) String() string { func (*ResolveProjectTaskCountResponse) ProtoMessage() {} func (x *ResolveProjectTaskCountResponse) ProtoReflect() protoreflect.Message { - mi := &file_generated_service_proto_msgTypes[101] - if protoimpl.UnsafeEnabled && x != nil { + mi := &file_service_proto_msgTypes[101] + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -5345,7 +5046,7 @@ func (x *ResolveProjectTaskCountResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use ResolveProjectTaskCountResponse.ProtoReflect.Descriptor instead. func (*ResolveProjectTaskCountResponse) Descriptor() ([]byte, []int) { - return file_generated_service_proto_rawDescGZIP(), []int{101} + return file_service_proto_rawDescGZIP(), []int{101} } func (x *ResolveProjectTaskCountResponse) GetResult() []*ResolveProjectTaskCountResult { @@ -5356,20 +5057,17 @@ func (x *ResolveProjectTaskCountResponse) GetResult() []*ResolveProjectTaskCount } type ResolveProjectActiveMilestoneCountContext struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache + state protoimpl.MessageState `protogen:"open.v1"` + Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"` unknownFields protoimpl.UnknownFields - - Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"` + sizeCache protoimpl.SizeCache } func (x *ResolveProjectActiveMilestoneCountContext) Reset() { *x = ResolveProjectActiveMilestoneCountContext{} - if protoimpl.UnsafeEnabled { - mi := &file_generated_service_proto_msgTypes[102] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_service_proto_msgTypes[102] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *ResolveProjectActiveMilestoneCountContext) String() string { @@ -5379,8 +5077,8 @@ func (x *ResolveProjectActiveMilestoneCountContext) String() string { func (*ResolveProjectActiveMilestoneCountContext) ProtoMessage() {} func (x *ResolveProjectActiveMilestoneCountContext) ProtoReflect() protoreflect.Message { - mi := &file_generated_service_proto_msgTypes[102] - if protoimpl.UnsafeEnabled && x != nil { + mi := &file_service_proto_msgTypes[102] + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -5392,7 +5090,7 @@ func (x *ResolveProjectActiveMilestoneCountContext) ProtoReflect() protoreflect. // Deprecated: Use ResolveProjectActiveMilestoneCountContext.ProtoReflect.Descriptor instead. func (*ResolveProjectActiveMilestoneCountContext) Descriptor() ([]byte, []int) { - return file_generated_service_proto_rawDescGZIP(), []int{102} + return file_service_proto_rawDescGZIP(), []int{102} } func (x *ResolveProjectActiveMilestoneCountContext) GetId() string { @@ -5403,21 +5101,18 @@ func (x *ResolveProjectActiveMilestoneCountContext) GetId() string { } type ResolveProjectActiveMilestoneCountRequest struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - + state protoimpl.MessageState `protogen:"open.v1"` // context provides the resolver context for the field activeMilestoneCount of type Project. - Context []*ResolveProjectActiveMilestoneCountContext `protobuf:"bytes,1,rep,name=context,proto3" json:"context,omitempty"` + Context []*ResolveProjectActiveMilestoneCountContext `protobuf:"bytes,1,rep,name=context,proto3" json:"context,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *ResolveProjectActiveMilestoneCountRequest) Reset() { *x = ResolveProjectActiveMilestoneCountRequest{} - if protoimpl.UnsafeEnabled { - mi := &file_generated_service_proto_msgTypes[103] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_service_proto_msgTypes[103] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *ResolveProjectActiveMilestoneCountRequest) String() string { @@ -5427,8 +5122,8 @@ func (x *ResolveProjectActiveMilestoneCountRequest) String() string { func (*ResolveProjectActiveMilestoneCountRequest) ProtoMessage() {} func (x *ResolveProjectActiveMilestoneCountRequest) ProtoReflect() protoreflect.Message { - mi := &file_generated_service_proto_msgTypes[103] - if protoimpl.UnsafeEnabled && x != nil { + mi := &file_service_proto_msgTypes[103] + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -5440,7 +5135,7 @@ func (x *ResolveProjectActiveMilestoneCountRequest) ProtoReflect() protoreflect. // Deprecated: Use ResolveProjectActiveMilestoneCountRequest.ProtoReflect.Descriptor instead. func (*ResolveProjectActiveMilestoneCountRequest) Descriptor() ([]byte, []int) { - return file_generated_service_proto_rawDescGZIP(), []int{103} + return file_service_proto_rawDescGZIP(), []int{103} } func (x *ResolveProjectActiveMilestoneCountRequest) GetContext() []*ResolveProjectActiveMilestoneCountContext { @@ -5451,20 +5146,17 @@ func (x *ResolveProjectActiveMilestoneCountRequest) GetContext() []*ResolveProje } type ResolveProjectActiveMilestoneCountResult struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - ActiveMilestoneCount int32 `protobuf:"varint,1,opt,name=active_milestone_count,json=activeMilestoneCount,proto3" json:"active_milestone_count,omitempty"` + state protoimpl.MessageState `protogen:"open.v1"` + ActiveMilestoneCount int32 `protobuf:"varint,1,opt,name=active_milestone_count,json=activeMilestoneCount,proto3" json:"active_milestone_count,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *ResolveProjectActiveMilestoneCountResult) Reset() { *x = ResolveProjectActiveMilestoneCountResult{} - if protoimpl.UnsafeEnabled { - mi := &file_generated_service_proto_msgTypes[104] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_service_proto_msgTypes[104] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *ResolveProjectActiveMilestoneCountResult) String() string { @@ -5474,8 +5166,8 @@ func (x *ResolveProjectActiveMilestoneCountResult) String() string { func (*ResolveProjectActiveMilestoneCountResult) ProtoMessage() {} func (x *ResolveProjectActiveMilestoneCountResult) ProtoReflect() protoreflect.Message { - mi := &file_generated_service_proto_msgTypes[104] - if protoimpl.UnsafeEnabled && x != nil { + mi := &file_service_proto_msgTypes[104] + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -5487,7 +5179,7 @@ func (x *ResolveProjectActiveMilestoneCountResult) ProtoReflect() protoreflect.M // Deprecated: Use ResolveProjectActiveMilestoneCountResult.ProtoReflect.Descriptor instead. func (*ResolveProjectActiveMilestoneCountResult) Descriptor() ([]byte, []int) { - return file_generated_service_proto_rawDescGZIP(), []int{104} + return file_service_proto_rawDescGZIP(), []int{104} } func (x *ResolveProjectActiveMilestoneCountResult) GetActiveMilestoneCount() int32 { @@ -5498,20 +5190,17 @@ func (x *ResolveProjectActiveMilestoneCountResult) GetActiveMilestoneCount() int } type ResolveProjectActiveMilestoneCountResponse struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache + state protoimpl.MessageState `protogen:"open.v1"` + Result []*ResolveProjectActiveMilestoneCountResult `protobuf:"bytes,1,rep,name=result,proto3" json:"result,omitempty"` unknownFields protoimpl.UnknownFields - - Result []*ResolveProjectActiveMilestoneCountResult `protobuf:"bytes,1,rep,name=result,proto3" json:"result,omitempty"` + sizeCache protoimpl.SizeCache } func (x *ResolveProjectActiveMilestoneCountResponse) Reset() { *x = ResolveProjectActiveMilestoneCountResponse{} - if protoimpl.UnsafeEnabled { - mi := &file_generated_service_proto_msgTypes[105] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_service_proto_msgTypes[105] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *ResolveProjectActiveMilestoneCountResponse) String() string { @@ -5521,8 +5210,8 @@ func (x *ResolveProjectActiveMilestoneCountResponse) String() string { func (*ResolveProjectActiveMilestoneCountResponse) ProtoMessage() {} func (x *ResolveProjectActiveMilestoneCountResponse) ProtoReflect() protoreflect.Message { - mi := &file_generated_service_proto_msgTypes[105] - if protoimpl.UnsafeEnabled && x != nil { + mi := &file_service_proto_msgTypes[105] + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -5534,7 +5223,7 @@ func (x *ResolveProjectActiveMilestoneCountResponse) ProtoReflect() protoreflect // Deprecated: Use ResolveProjectActiveMilestoneCountResponse.ProtoReflect.Descriptor instead. func (*ResolveProjectActiveMilestoneCountResponse) Descriptor() ([]byte, []int) { - return file_generated_service_proto_rawDescGZIP(), []int{105} + return file_service_proto_rawDescGZIP(), []int{105} } func (x *ResolveProjectActiveMilestoneCountResponse) GetResult() []*ResolveProjectActiveMilestoneCountResult { @@ -5545,20 +5234,17 @@ func (x *ResolveProjectActiveMilestoneCountResponse) GetResult() []*ResolveProje } type ResolveMilestoneIsAtRiskArgs struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache + state protoimpl.MessageState `protogen:"open.v1"` + Threshold *wrapperspb.DoubleValue `protobuf:"bytes,1,opt,name=threshold,proto3" json:"threshold,omitempty"` unknownFields protoimpl.UnknownFields - - Threshold *wrapperspb.DoubleValue `protobuf:"bytes,1,opt,name=threshold,proto3" json:"threshold,omitempty"` + sizeCache protoimpl.SizeCache } func (x *ResolveMilestoneIsAtRiskArgs) Reset() { *x = ResolveMilestoneIsAtRiskArgs{} - if protoimpl.UnsafeEnabled { - mi := &file_generated_service_proto_msgTypes[106] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_service_proto_msgTypes[106] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *ResolveMilestoneIsAtRiskArgs) String() string { @@ -5568,8 +5254,8 @@ func (x *ResolveMilestoneIsAtRiskArgs) String() string { func (*ResolveMilestoneIsAtRiskArgs) ProtoMessage() {} func (x *ResolveMilestoneIsAtRiskArgs) ProtoReflect() protoreflect.Message { - mi := &file_generated_service_proto_msgTypes[106] - if protoimpl.UnsafeEnabled && x != nil { + mi := &file_service_proto_msgTypes[106] + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -5581,7 +5267,7 @@ func (x *ResolveMilestoneIsAtRiskArgs) ProtoReflect() protoreflect.Message { // Deprecated: Use ResolveMilestoneIsAtRiskArgs.ProtoReflect.Descriptor instead. func (*ResolveMilestoneIsAtRiskArgs) Descriptor() ([]byte, []int) { - return file_generated_service_proto_rawDescGZIP(), []int{106} + return file_service_proto_rawDescGZIP(), []int{106} } func (x *ResolveMilestoneIsAtRiskArgs) GetThreshold() *wrapperspb.DoubleValue { @@ -5592,23 +5278,20 @@ func (x *ResolveMilestoneIsAtRiskArgs) GetThreshold() *wrapperspb.DoubleValue { } type ResolveMilestoneIsAtRiskContext struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - + state protoimpl.MessageState `protogen:"open.v1"` Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"` EndDate *wrapperspb.StringValue `protobuf:"bytes,2,opt,name=end_date,json=endDate,proto3" json:"end_date,omitempty"` Status MilestoneStatus `protobuf:"varint,3,opt,name=status,proto3,enum=service.MilestoneStatus" json:"status,omitempty"` CompletionPercentage *wrapperspb.DoubleValue `protobuf:"bytes,4,opt,name=completion_percentage,json=completionPercentage,proto3" json:"completion_percentage,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *ResolveMilestoneIsAtRiskContext) Reset() { *x = ResolveMilestoneIsAtRiskContext{} - if protoimpl.UnsafeEnabled { - mi := &file_generated_service_proto_msgTypes[107] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_service_proto_msgTypes[107] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *ResolveMilestoneIsAtRiskContext) String() string { @@ -5618,8 +5301,8 @@ func (x *ResolveMilestoneIsAtRiskContext) String() string { func (*ResolveMilestoneIsAtRiskContext) ProtoMessage() {} func (x *ResolveMilestoneIsAtRiskContext) ProtoReflect() protoreflect.Message { - mi := &file_generated_service_proto_msgTypes[107] - if protoimpl.UnsafeEnabled && x != nil { + mi := &file_service_proto_msgTypes[107] + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -5631,7 +5314,7 @@ func (x *ResolveMilestoneIsAtRiskContext) ProtoReflect() protoreflect.Message { // Deprecated: Use ResolveMilestoneIsAtRiskContext.ProtoReflect.Descriptor instead. func (*ResolveMilestoneIsAtRiskContext) Descriptor() ([]byte, []int) { - return file_generated_service_proto_rawDescGZIP(), []int{107} + return file_service_proto_rawDescGZIP(), []int{107} } func (x *ResolveMilestoneIsAtRiskContext) GetId() string { @@ -5663,23 +5346,20 @@ func (x *ResolveMilestoneIsAtRiskContext) GetCompletionPercentage() *wrapperspb. } type ResolveMilestoneIsAtRiskRequest struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - + state protoimpl.MessageState `protogen:"open.v1"` // context provides the resolver context for the field isAtRisk of type Milestone. Context []*ResolveMilestoneIsAtRiskContext `protobuf:"bytes,1,rep,name=context,proto3" json:"context,omitempty"` // field_args provides the arguments for the resolver field isAtRisk of type Milestone. - FieldArgs *ResolveMilestoneIsAtRiskArgs `protobuf:"bytes,2,opt,name=field_args,json=fieldArgs,proto3" json:"field_args,omitempty"` + FieldArgs *ResolveMilestoneIsAtRiskArgs `protobuf:"bytes,2,opt,name=field_args,json=fieldArgs,proto3" json:"field_args,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *ResolveMilestoneIsAtRiskRequest) Reset() { *x = ResolveMilestoneIsAtRiskRequest{} - if protoimpl.UnsafeEnabled { - mi := &file_generated_service_proto_msgTypes[108] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_service_proto_msgTypes[108] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *ResolveMilestoneIsAtRiskRequest) String() string { @@ -5689,8 +5369,8 @@ func (x *ResolveMilestoneIsAtRiskRequest) String() string { func (*ResolveMilestoneIsAtRiskRequest) ProtoMessage() {} func (x *ResolveMilestoneIsAtRiskRequest) ProtoReflect() protoreflect.Message { - mi := &file_generated_service_proto_msgTypes[108] - if protoimpl.UnsafeEnabled && x != nil { + mi := &file_service_proto_msgTypes[108] + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -5702,7 +5382,7 @@ func (x *ResolveMilestoneIsAtRiskRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use ResolveMilestoneIsAtRiskRequest.ProtoReflect.Descriptor instead. func (*ResolveMilestoneIsAtRiskRequest) Descriptor() ([]byte, []int) { - return file_generated_service_proto_rawDescGZIP(), []int{108} + return file_service_proto_rawDescGZIP(), []int{108} } func (x *ResolveMilestoneIsAtRiskRequest) GetContext() []*ResolveMilestoneIsAtRiskContext { @@ -5720,20 +5400,17 @@ func (x *ResolveMilestoneIsAtRiskRequest) GetFieldArgs() *ResolveMilestoneIsAtRi } type ResolveMilestoneIsAtRiskResult struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache + state protoimpl.MessageState `protogen:"open.v1"` + IsAtRisk bool `protobuf:"varint,1,opt,name=is_at_risk,json=isAtRisk,proto3" json:"is_at_risk,omitempty"` unknownFields protoimpl.UnknownFields - - IsAtRisk bool `protobuf:"varint,1,opt,name=is_at_risk,json=isAtRisk,proto3" json:"is_at_risk,omitempty"` + sizeCache protoimpl.SizeCache } func (x *ResolveMilestoneIsAtRiskResult) Reset() { *x = ResolveMilestoneIsAtRiskResult{} - if protoimpl.UnsafeEnabled { - mi := &file_generated_service_proto_msgTypes[109] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_service_proto_msgTypes[109] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *ResolveMilestoneIsAtRiskResult) String() string { @@ -5743,8 +5420,8 @@ func (x *ResolveMilestoneIsAtRiskResult) String() string { func (*ResolveMilestoneIsAtRiskResult) ProtoMessage() {} func (x *ResolveMilestoneIsAtRiskResult) ProtoReflect() protoreflect.Message { - mi := &file_generated_service_proto_msgTypes[109] - if protoimpl.UnsafeEnabled && x != nil { + mi := &file_service_proto_msgTypes[109] + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -5756,7 +5433,7 @@ func (x *ResolveMilestoneIsAtRiskResult) ProtoReflect() protoreflect.Message { // Deprecated: Use ResolveMilestoneIsAtRiskResult.ProtoReflect.Descriptor instead. func (*ResolveMilestoneIsAtRiskResult) Descriptor() ([]byte, []int) { - return file_generated_service_proto_rawDescGZIP(), []int{109} + return file_service_proto_rawDescGZIP(), []int{109} } func (x *ResolveMilestoneIsAtRiskResult) GetIsAtRisk() bool { @@ -5767,20 +5444,17 @@ func (x *ResolveMilestoneIsAtRiskResult) GetIsAtRisk() bool { } type ResolveMilestoneIsAtRiskResponse struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache + state protoimpl.MessageState `protogen:"open.v1"` + Result []*ResolveMilestoneIsAtRiskResult `protobuf:"bytes,1,rep,name=result,proto3" json:"result,omitempty"` unknownFields protoimpl.UnknownFields - - Result []*ResolveMilestoneIsAtRiskResult `protobuf:"bytes,1,rep,name=result,proto3" json:"result,omitempty"` + sizeCache protoimpl.SizeCache } func (x *ResolveMilestoneIsAtRiskResponse) Reset() { *x = ResolveMilestoneIsAtRiskResponse{} - if protoimpl.UnsafeEnabled { - mi := &file_generated_service_proto_msgTypes[110] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_service_proto_msgTypes[110] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *ResolveMilestoneIsAtRiskResponse) String() string { @@ -5790,8 +5464,8 @@ func (x *ResolveMilestoneIsAtRiskResponse) String() string { func (*ResolveMilestoneIsAtRiskResponse) ProtoMessage() {} func (x *ResolveMilestoneIsAtRiskResponse) ProtoReflect() protoreflect.Message { - mi := &file_generated_service_proto_msgTypes[110] - if protoimpl.UnsafeEnabled && x != nil { + mi := &file_service_proto_msgTypes[110] + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -5803,7 +5477,7 @@ func (x *ResolveMilestoneIsAtRiskResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use ResolveMilestoneIsAtRiskResponse.ProtoReflect.Descriptor instead. func (*ResolveMilestoneIsAtRiskResponse) Descriptor() ([]byte, []int) { - return file_generated_service_proto_rawDescGZIP(), []int{110} + return file_service_proto_rawDescGZIP(), []int{110} } func (x *ResolveMilestoneIsAtRiskResponse) GetResult() []*ResolveMilestoneIsAtRiskResult { @@ -5814,20 +5488,17 @@ func (x *ResolveMilestoneIsAtRiskResponse) GetResult() []*ResolveMilestoneIsAtRi } type ResolveMilestoneDaysUntilDueArgs struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache + state protoimpl.MessageState `protogen:"open.v1"` + FromDate *wrapperspb.StringValue `protobuf:"bytes,1,opt,name=from_date,json=fromDate,proto3" json:"from_date,omitempty"` unknownFields protoimpl.UnknownFields - - FromDate *wrapperspb.StringValue `protobuf:"bytes,1,opt,name=from_date,json=fromDate,proto3" json:"from_date,omitempty"` + sizeCache protoimpl.SizeCache } func (x *ResolveMilestoneDaysUntilDueArgs) Reset() { *x = ResolveMilestoneDaysUntilDueArgs{} - if protoimpl.UnsafeEnabled { - mi := &file_generated_service_proto_msgTypes[111] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_service_proto_msgTypes[111] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *ResolveMilestoneDaysUntilDueArgs) String() string { @@ -5837,8 +5508,8 @@ func (x *ResolveMilestoneDaysUntilDueArgs) String() string { func (*ResolveMilestoneDaysUntilDueArgs) ProtoMessage() {} func (x *ResolveMilestoneDaysUntilDueArgs) ProtoReflect() protoreflect.Message { - mi := &file_generated_service_proto_msgTypes[111] - if protoimpl.UnsafeEnabled && x != nil { + mi := &file_service_proto_msgTypes[111] + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -5850,7 +5521,7 @@ func (x *ResolveMilestoneDaysUntilDueArgs) ProtoReflect() protoreflect.Message { // Deprecated: Use ResolveMilestoneDaysUntilDueArgs.ProtoReflect.Descriptor instead. func (*ResolveMilestoneDaysUntilDueArgs) Descriptor() ([]byte, []int) { - return file_generated_service_proto_rawDescGZIP(), []int{111} + return file_service_proto_rawDescGZIP(), []int{111} } func (x *ResolveMilestoneDaysUntilDueArgs) GetFromDate() *wrapperspb.StringValue { @@ -5861,20 +5532,17 @@ func (x *ResolveMilestoneDaysUntilDueArgs) GetFromDate() *wrapperspb.StringValue } type ResolveMilestoneDaysUntilDueContext struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache + state protoimpl.MessageState `protogen:"open.v1"` + EndDate *wrapperspb.StringValue `protobuf:"bytes,1,opt,name=end_date,json=endDate,proto3" json:"end_date,omitempty"` unknownFields protoimpl.UnknownFields - - EndDate *wrapperspb.StringValue `protobuf:"bytes,1,opt,name=end_date,json=endDate,proto3" json:"end_date,omitempty"` + sizeCache protoimpl.SizeCache } func (x *ResolveMilestoneDaysUntilDueContext) Reset() { *x = ResolveMilestoneDaysUntilDueContext{} - if protoimpl.UnsafeEnabled { - mi := &file_generated_service_proto_msgTypes[112] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_service_proto_msgTypes[112] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *ResolveMilestoneDaysUntilDueContext) String() string { @@ -5884,8 +5552,8 @@ func (x *ResolveMilestoneDaysUntilDueContext) String() string { func (*ResolveMilestoneDaysUntilDueContext) ProtoMessage() {} func (x *ResolveMilestoneDaysUntilDueContext) ProtoReflect() protoreflect.Message { - mi := &file_generated_service_proto_msgTypes[112] - if protoimpl.UnsafeEnabled && x != nil { + mi := &file_service_proto_msgTypes[112] + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -5897,7 +5565,7 @@ func (x *ResolveMilestoneDaysUntilDueContext) ProtoReflect() protoreflect.Messag // Deprecated: Use ResolveMilestoneDaysUntilDueContext.ProtoReflect.Descriptor instead. func (*ResolveMilestoneDaysUntilDueContext) Descriptor() ([]byte, []int) { - return file_generated_service_proto_rawDescGZIP(), []int{112} + return file_service_proto_rawDescGZIP(), []int{112} } func (x *ResolveMilestoneDaysUntilDueContext) GetEndDate() *wrapperspb.StringValue { @@ -5908,23 +5576,20 @@ func (x *ResolveMilestoneDaysUntilDueContext) GetEndDate() *wrapperspb.StringVal } type ResolveMilestoneDaysUntilDueRequest struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - + state protoimpl.MessageState `protogen:"open.v1"` // context provides the resolver context for the field daysUntilDue of type Milestone. Context []*ResolveMilestoneDaysUntilDueContext `protobuf:"bytes,1,rep,name=context,proto3" json:"context,omitempty"` // field_args provides the arguments for the resolver field daysUntilDue of type Milestone. - FieldArgs *ResolveMilestoneDaysUntilDueArgs `protobuf:"bytes,2,opt,name=field_args,json=fieldArgs,proto3" json:"field_args,omitempty"` + FieldArgs *ResolveMilestoneDaysUntilDueArgs `protobuf:"bytes,2,opt,name=field_args,json=fieldArgs,proto3" json:"field_args,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *ResolveMilestoneDaysUntilDueRequest) Reset() { *x = ResolveMilestoneDaysUntilDueRequest{} - if protoimpl.UnsafeEnabled { - mi := &file_generated_service_proto_msgTypes[113] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_service_proto_msgTypes[113] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *ResolveMilestoneDaysUntilDueRequest) String() string { @@ -5934,8 +5599,8 @@ func (x *ResolveMilestoneDaysUntilDueRequest) String() string { func (*ResolveMilestoneDaysUntilDueRequest) ProtoMessage() {} func (x *ResolveMilestoneDaysUntilDueRequest) ProtoReflect() protoreflect.Message { - mi := &file_generated_service_proto_msgTypes[113] - if protoimpl.UnsafeEnabled && x != nil { + mi := &file_service_proto_msgTypes[113] + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -5947,7 +5612,7 @@ func (x *ResolveMilestoneDaysUntilDueRequest) ProtoReflect() protoreflect.Messag // Deprecated: Use ResolveMilestoneDaysUntilDueRequest.ProtoReflect.Descriptor instead. func (*ResolveMilestoneDaysUntilDueRequest) Descriptor() ([]byte, []int) { - return file_generated_service_proto_rawDescGZIP(), []int{113} + return file_service_proto_rawDescGZIP(), []int{113} } func (x *ResolveMilestoneDaysUntilDueRequest) GetContext() []*ResolveMilestoneDaysUntilDueContext { @@ -5965,20 +5630,17 @@ func (x *ResolveMilestoneDaysUntilDueRequest) GetFieldArgs() *ResolveMilestoneDa } type ResolveMilestoneDaysUntilDueResult struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache + state protoimpl.MessageState `protogen:"open.v1"` + DaysUntilDue *wrapperspb.Int32Value `protobuf:"bytes,1,opt,name=days_until_due,json=daysUntilDue,proto3" json:"days_until_due,omitempty"` unknownFields protoimpl.UnknownFields - - DaysUntilDue *wrapperspb.Int32Value `protobuf:"bytes,1,opt,name=days_until_due,json=daysUntilDue,proto3" json:"days_until_due,omitempty"` + sizeCache protoimpl.SizeCache } func (x *ResolveMilestoneDaysUntilDueResult) Reset() { *x = ResolveMilestoneDaysUntilDueResult{} - if protoimpl.UnsafeEnabled { - mi := &file_generated_service_proto_msgTypes[114] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_service_proto_msgTypes[114] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *ResolveMilestoneDaysUntilDueResult) String() string { @@ -5988,8 +5650,8 @@ func (x *ResolveMilestoneDaysUntilDueResult) String() string { func (*ResolveMilestoneDaysUntilDueResult) ProtoMessage() {} func (x *ResolveMilestoneDaysUntilDueResult) ProtoReflect() protoreflect.Message { - mi := &file_generated_service_proto_msgTypes[114] - if protoimpl.UnsafeEnabled && x != nil { + mi := &file_service_proto_msgTypes[114] + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -6001,7 +5663,7 @@ func (x *ResolveMilestoneDaysUntilDueResult) ProtoReflect() protoreflect.Message // Deprecated: Use ResolveMilestoneDaysUntilDueResult.ProtoReflect.Descriptor instead. func (*ResolveMilestoneDaysUntilDueResult) Descriptor() ([]byte, []int) { - return file_generated_service_proto_rawDescGZIP(), []int{114} + return file_service_proto_rawDescGZIP(), []int{114} } func (x *ResolveMilestoneDaysUntilDueResult) GetDaysUntilDue() *wrapperspb.Int32Value { @@ -6012,20 +5674,17 @@ func (x *ResolveMilestoneDaysUntilDueResult) GetDaysUntilDue() *wrapperspb.Int32 } type ResolveMilestoneDaysUntilDueResponse struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache + state protoimpl.MessageState `protogen:"open.v1"` + Result []*ResolveMilestoneDaysUntilDueResult `protobuf:"bytes,1,rep,name=result,proto3" json:"result,omitempty"` unknownFields protoimpl.UnknownFields - - Result []*ResolveMilestoneDaysUntilDueResult `protobuf:"bytes,1,rep,name=result,proto3" json:"result,omitempty"` + sizeCache protoimpl.SizeCache } func (x *ResolveMilestoneDaysUntilDueResponse) Reset() { *x = ResolveMilestoneDaysUntilDueResponse{} - if protoimpl.UnsafeEnabled { - mi := &file_generated_service_proto_msgTypes[115] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_service_proto_msgTypes[115] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *ResolveMilestoneDaysUntilDueResponse) String() string { @@ -6035,8 +5694,8 @@ func (x *ResolveMilestoneDaysUntilDueResponse) String() string { func (*ResolveMilestoneDaysUntilDueResponse) ProtoMessage() {} func (x *ResolveMilestoneDaysUntilDueResponse) ProtoReflect() protoreflect.Message { - mi := &file_generated_service_proto_msgTypes[115] - if protoimpl.UnsafeEnabled && x != nil { + mi := &file_service_proto_msgTypes[115] + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -6048,7 +5707,7 @@ func (x *ResolveMilestoneDaysUntilDueResponse) ProtoReflect() protoreflect.Messa // Deprecated: Use ResolveMilestoneDaysUntilDueResponse.ProtoReflect.Descriptor instead. func (*ResolveMilestoneDaysUntilDueResponse) Descriptor() ([]byte, []int) { - return file_generated_service_proto_rawDescGZIP(), []int{115} + return file_service_proto_rawDescGZIP(), []int{115} } func (x *ResolveMilestoneDaysUntilDueResponse) GetResult() []*ResolveMilestoneDaysUntilDueResult { @@ -6059,20 +5718,17 @@ func (x *ResolveMilestoneDaysUntilDueResponse) GetResult() []*ResolveMilestoneDa } type ResolveTaskIsBlockedArgs struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - CheckDependencies *wrapperspb.BoolValue `protobuf:"bytes,1,opt,name=check_dependencies,json=checkDependencies,proto3" json:"check_dependencies,omitempty"` + state protoimpl.MessageState `protogen:"open.v1"` + CheckDependencies *wrapperspb.BoolValue `protobuf:"bytes,1,opt,name=check_dependencies,json=checkDependencies,proto3" json:"check_dependencies,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *ResolveTaskIsBlockedArgs) Reset() { *x = ResolveTaskIsBlockedArgs{} - if protoimpl.UnsafeEnabled { - mi := &file_generated_service_proto_msgTypes[116] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_service_proto_msgTypes[116] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *ResolveTaskIsBlockedArgs) String() string { @@ -6082,8 +5738,8 @@ func (x *ResolveTaskIsBlockedArgs) String() string { func (*ResolveTaskIsBlockedArgs) ProtoMessage() {} func (x *ResolveTaskIsBlockedArgs) ProtoReflect() protoreflect.Message { - mi := &file_generated_service_proto_msgTypes[116] - if protoimpl.UnsafeEnabled && x != nil { + mi := &file_service_proto_msgTypes[116] + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -6095,7 +5751,7 @@ func (x *ResolveTaskIsBlockedArgs) ProtoReflect() protoreflect.Message { // Deprecated: Use ResolveTaskIsBlockedArgs.ProtoReflect.Descriptor instead. func (*ResolveTaskIsBlockedArgs) Descriptor() ([]byte, []int) { - return file_generated_service_proto_rawDescGZIP(), []int{116} + return file_service_proto_rawDescGZIP(), []int{116} } func (x *ResolveTaskIsBlockedArgs) GetCheckDependencies() *wrapperspb.BoolValue { @@ -6106,21 +5762,18 @@ func (x *ResolveTaskIsBlockedArgs) GetCheckDependencies() *wrapperspb.BoolValue } type ResolveTaskIsBlockedContext struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache + state protoimpl.MessageState `protogen:"open.v1"` + Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"` + Status TaskStatus `protobuf:"varint,2,opt,name=status,proto3,enum=service.TaskStatus" json:"status,omitempty"` unknownFields protoimpl.UnknownFields - - Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"` - Status TaskStatus `protobuf:"varint,2,opt,name=status,proto3,enum=service.TaskStatus" json:"status,omitempty"` + sizeCache protoimpl.SizeCache } func (x *ResolveTaskIsBlockedContext) Reset() { *x = ResolveTaskIsBlockedContext{} - if protoimpl.UnsafeEnabled { - mi := &file_generated_service_proto_msgTypes[117] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_service_proto_msgTypes[117] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *ResolveTaskIsBlockedContext) String() string { @@ -6130,8 +5783,8 @@ func (x *ResolveTaskIsBlockedContext) String() string { func (*ResolveTaskIsBlockedContext) ProtoMessage() {} func (x *ResolveTaskIsBlockedContext) ProtoReflect() protoreflect.Message { - mi := &file_generated_service_proto_msgTypes[117] - if protoimpl.UnsafeEnabled && x != nil { + mi := &file_service_proto_msgTypes[117] + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -6143,7 +5796,7 @@ func (x *ResolveTaskIsBlockedContext) ProtoReflect() protoreflect.Message { // Deprecated: Use ResolveTaskIsBlockedContext.ProtoReflect.Descriptor instead. func (*ResolveTaskIsBlockedContext) Descriptor() ([]byte, []int) { - return file_generated_service_proto_rawDescGZIP(), []int{117} + return file_service_proto_rawDescGZIP(), []int{117} } func (x *ResolveTaskIsBlockedContext) GetId() string { @@ -6161,23 +5814,20 @@ func (x *ResolveTaskIsBlockedContext) GetStatus() TaskStatus { } type ResolveTaskIsBlockedRequest struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - + state protoimpl.MessageState `protogen:"open.v1"` // context provides the resolver context for the field isBlocked of type Task. Context []*ResolveTaskIsBlockedContext `protobuf:"bytes,1,rep,name=context,proto3" json:"context,omitempty"` // field_args provides the arguments for the resolver field isBlocked of type Task. - FieldArgs *ResolveTaskIsBlockedArgs `protobuf:"bytes,2,opt,name=field_args,json=fieldArgs,proto3" json:"field_args,omitempty"` + FieldArgs *ResolveTaskIsBlockedArgs `protobuf:"bytes,2,opt,name=field_args,json=fieldArgs,proto3" json:"field_args,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *ResolveTaskIsBlockedRequest) Reset() { *x = ResolveTaskIsBlockedRequest{} - if protoimpl.UnsafeEnabled { - mi := &file_generated_service_proto_msgTypes[118] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_service_proto_msgTypes[118] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *ResolveTaskIsBlockedRequest) String() string { @@ -6187,8 +5837,8 @@ func (x *ResolveTaskIsBlockedRequest) String() string { func (*ResolveTaskIsBlockedRequest) ProtoMessage() {} func (x *ResolveTaskIsBlockedRequest) ProtoReflect() protoreflect.Message { - mi := &file_generated_service_proto_msgTypes[118] - if protoimpl.UnsafeEnabled && x != nil { + mi := &file_service_proto_msgTypes[118] + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -6200,7 +5850,7 @@ func (x *ResolveTaskIsBlockedRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use ResolveTaskIsBlockedRequest.ProtoReflect.Descriptor instead. func (*ResolveTaskIsBlockedRequest) Descriptor() ([]byte, []int) { - return file_generated_service_proto_rawDescGZIP(), []int{118} + return file_service_proto_rawDescGZIP(), []int{118} } func (x *ResolveTaskIsBlockedRequest) GetContext() []*ResolveTaskIsBlockedContext { @@ -6218,20 +5868,17 @@ func (x *ResolveTaskIsBlockedRequest) GetFieldArgs() *ResolveTaskIsBlockedArgs { } type ResolveTaskIsBlockedResult struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache + state protoimpl.MessageState `protogen:"open.v1"` + IsBlocked bool `protobuf:"varint,1,opt,name=is_blocked,json=isBlocked,proto3" json:"is_blocked,omitempty"` unknownFields protoimpl.UnknownFields - - IsBlocked bool `protobuf:"varint,1,opt,name=is_blocked,json=isBlocked,proto3" json:"is_blocked,omitempty"` + sizeCache protoimpl.SizeCache } func (x *ResolveTaskIsBlockedResult) Reset() { *x = ResolveTaskIsBlockedResult{} - if protoimpl.UnsafeEnabled { - mi := &file_generated_service_proto_msgTypes[119] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_service_proto_msgTypes[119] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *ResolveTaskIsBlockedResult) String() string { @@ -6241,8 +5888,8 @@ func (x *ResolveTaskIsBlockedResult) String() string { func (*ResolveTaskIsBlockedResult) ProtoMessage() {} func (x *ResolveTaskIsBlockedResult) ProtoReflect() protoreflect.Message { - mi := &file_generated_service_proto_msgTypes[119] - if protoimpl.UnsafeEnabled && x != nil { + mi := &file_service_proto_msgTypes[119] + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -6254,7 +5901,7 @@ func (x *ResolveTaskIsBlockedResult) ProtoReflect() protoreflect.Message { // Deprecated: Use ResolveTaskIsBlockedResult.ProtoReflect.Descriptor instead. func (*ResolveTaskIsBlockedResult) Descriptor() ([]byte, []int) { - return file_generated_service_proto_rawDescGZIP(), []int{119} + return file_service_proto_rawDescGZIP(), []int{119} } func (x *ResolveTaskIsBlockedResult) GetIsBlocked() bool { @@ -6265,20 +5912,17 @@ func (x *ResolveTaskIsBlockedResult) GetIsBlocked() bool { } type ResolveTaskIsBlockedResponse struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache + state protoimpl.MessageState `protogen:"open.v1"` + Result []*ResolveTaskIsBlockedResult `protobuf:"bytes,1,rep,name=result,proto3" json:"result,omitempty"` unknownFields protoimpl.UnknownFields - - Result []*ResolveTaskIsBlockedResult `protobuf:"bytes,1,rep,name=result,proto3" json:"result,omitempty"` + sizeCache protoimpl.SizeCache } func (x *ResolveTaskIsBlockedResponse) Reset() { *x = ResolveTaskIsBlockedResponse{} - if protoimpl.UnsafeEnabled { - mi := &file_generated_service_proto_msgTypes[120] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_service_proto_msgTypes[120] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *ResolveTaskIsBlockedResponse) String() string { @@ -6288,8 +5932,8 @@ func (x *ResolveTaskIsBlockedResponse) String() string { func (*ResolveTaskIsBlockedResponse) ProtoMessage() {} func (x *ResolveTaskIsBlockedResponse) ProtoReflect() protoreflect.Message { - mi := &file_generated_service_proto_msgTypes[120] - if protoimpl.UnsafeEnabled && x != nil { + mi := &file_service_proto_msgTypes[120] + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -6301,7 +5945,7 @@ func (x *ResolveTaskIsBlockedResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use ResolveTaskIsBlockedResponse.ProtoReflect.Descriptor instead. func (*ResolveTaskIsBlockedResponse) Descriptor() ([]byte, []int) { - return file_generated_service_proto_rawDescGZIP(), []int{120} + return file_service_proto_rawDescGZIP(), []int{120} } func (x *ResolveTaskIsBlockedResponse) GetResult() []*ResolveTaskIsBlockedResult { @@ -6312,20 +5956,17 @@ func (x *ResolveTaskIsBlockedResponse) GetResult() []*ResolveTaskIsBlockedResult } type ResolveTaskTotalEffortArgs struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - IncludeSubtasks *wrapperspb.BoolValue `protobuf:"bytes,1,opt,name=include_subtasks,json=includeSubtasks,proto3" json:"include_subtasks,omitempty"` + state protoimpl.MessageState `protogen:"open.v1"` + IncludeSubtasks *wrapperspb.BoolValue `protobuf:"bytes,1,opt,name=include_subtasks,json=includeSubtasks,proto3" json:"include_subtasks,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *ResolveTaskTotalEffortArgs) Reset() { *x = ResolveTaskTotalEffortArgs{} - if protoimpl.UnsafeEnabled { - mi := &file_generated_service_proto_msgTypes[121] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_service_proto_msgTypes[121] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *ResolveTaskTotalEffortArgs) String() string { @@ -6335,8 +5976,8 @@ func (x *ResolveTaskTotalEffortArgs) String() string { func (*ResolveTaskTotalEffortArgs) ProtoMessage() {} func (x *ResolveTaskTotalEffortArgs) ProtoReflect() protoreflect.Message { - mi := &file_generated_service_proto_msgTypes[121] - if protoimpl.UnsafeEnabled && x != nil { + mi := &file_service_proto_msgTypes[121] + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -6348,7 +5989,7 @@ func (x *ResolveTaskTotalEffortArgs) ProtoReflect() protoreflect.Message { // Deprecated: Use ResolveTaskTotalEffortArgs.ProtoReflect.Descriptor instead. func (*ResolveTaskTotalEffortArgs) Descriptor() ([]byte, []int) { - return file_generated_service_proto_rawDescGZIP(), []int{121} + return file_service_proto_rawDescGZIP(), []int{121} } func (x *ResolveTaskTotalEffortArgs) GetIncludeSubtasks() *wrapperspb.BoolValue { @@ -6359,22 +6000,19 @@ func (x *ResolveTaskTotalEffortArgs) GetIncludeSubtasks() *wrapperspb.BoolValue } type ResolveTaskTotalEffortContext struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - + state protoimpl.MessageState `protogen:"open.v1"` Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"` EstimatedHours *wrapperspb.DoubleValue `protobuf:"bytes,2,opt,name=estimated_hours,json=estimatedHours,proto3" json:"estimated_hours,omitempty"` ActualHours *wrapperspb.DoubleValue `protobuf:"bytes,3,opt,name=actual_hours,json=actualHours,proto3" json:"actual_hours,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *ResolveTaskTotalEffortContext) Reset() { *x = ResolveTaskTotalEffortContext{} - if protoimpl.UnsafeEnabled { - mi := &file_generated_service_proto_msgTypes[122] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_service_proto_msgTypes[122] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *ResolveTaskTotalEffortContext) String() string { @@ -6384,8 +6022,8 @@ func (x *ResolveTaskTotalEffortContext) String() string { func (*ResolveTaskTotalEffortContext) ProtoMessage() {} func (x *ResolveTaskTotalEffortContext) ProtoReflect() protoreflect.Message { - mi := &file_generated_service_proto_msgTypes[122] - if protoimpl.UnsafeEnabled && x != nil { + mi := &file_service_proto_msgTypes[122] + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -6397,7 +6035,7 @@ func (x *ResolveTaskTotalEffortContext) ProtoReflect() protoreflect.Message { // Deprecated: Use ResolveTaskTotalEffortContext.ProtoReflect.Descriptor instead. func (*ResolveTaskTotalEffortContext) Descriptor() ([]byte, []int) { - return file_generated_service_proto_rawDescGZIP(), []int{122} + return file_service_proto_rawDescGZIP(), []int{122} } func (x *ResolveTaskTotalEffortContext) GetId() string { @@ -6422,23 +6060,20 @@ func (x *ResolveTaskTotalEffortContext) GetActualHours() *wrapperspb.DoubleValue } type ResolveTaskTotalEffortRequest struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - + state protoimpl.MessageState `protogen:"open.v1"` // context provides the resolver context for the field totalEffort of type Task. Context []*ResolveTaskTotalEffortContext `protobuf:"bytes,1,rep,name=context,proto3" json:"context,omitempty"` // field_args provides the arguments for the resolver field totalEffort of type Task. - FieldArgs *ResolveTaskTotalEffortArgs `protobuf:"bytes,2,opt,name=field_args,json=fieldArgs,proto3" json:"field_args,omitempty"` + FieldArgs *ResolveTaskTotalEffortArgs `protobuf:"bytes,2,opt,name=field_args,json=fieldArgs,proto3" json:"field_args,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *ResolveTaskTotalEffortRequest) Reset() { *x = ResolveTaskTotalEffortRequest{} - if protoimpl.UnsafeEnabled { - mi := &file_generated_service_proto_msgTypes[123] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_service_proto_msgTypes[123] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *ResolveTaskTotalEffortRequest) String() string { @@ -6448,8 +6083,8 @@ func (x *ResolveTaskTotalEffortRequest) String() string { func (*ResolveTaskTotalEffortRequest) ProtoMessage() {} func (x *ResolveTaskTotalEffortRequest) ProtoReflect() protoreflect.Message { - mi := &file_generated_service_proto_msgTypes[123] - if protoimpl.UnsafeEnabled && x != nil { + mi := &file_service_proto_msgTypes[123] + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -6461,7 +6096,7 @@ func (x *ResolveTaskTotalEffortRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use ResolveTaskTotalEffortRequest.ProtoReflect.Descriptor instead. func (*ResolveTaskTotalEffortRequest) Descriptor() ([]byte, []int) { - return file_generated_service_proto_rawDescGZIP(), []int{123} + return file_service_proto_rawDescGZIP(), []int{123} } func (x *ResolveTaskTotalEffortRequest) GetContext() []*ResolveTaskTotalEffortContext { @@ -6479,20 +6114,17 @@ func (x *ResolveTaskTotalEffortRequest) GetFieldArgs() *ResolveTaskTotalEffortAr } type ResolveTaskTotalEffortResult struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache + state protoimpl.MessageState `protogen:"open.v1"` + TotalEffort *wrapperspb.DoubleValue `protobuf:"bytes,1,opt,name=total_effort,json=totalEffort,proto3" json:"total_effort,omitempty"` unknownFields protoimpl.UnknownFields - - TotalEffort *wrapperspb.DoubleValue `protobuf:"bytes,1,opt,name=total_effort,json=totalEffort,proto3" json:"total_effort,omitempty"` + sizeCache protoimpl.SizeCache } func (x *ResolveTaskTotalEffortResult) Reset() { *x = ResolveTaskTotalEffortResult{} - if protoimpl.UnsafeEnabled { - mi := &file_generated_service_proto_msgTypes[124] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_service_proto_msgTypes[124] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *ResolveTaskTotalEffortResult) String() string { @@ -6502,8 +6134,8 @@ func (x *ResolveTaskTotalEffortResult) String() string { func (*ResolveTaskTotalEffortResult) ProtoMessage() {} func (x *ResolveTaskTotalEffortResult) ProtoReflect() protoreflect.Message { - mi := &file_generated_service_proto_msgTypes[124] - if protoimpl.UnsafeEnabled && x != nil { + mi := &file_service_proto_msgTypes[124] + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -6515,7 +6147,7 @@ func (x *ResolveTaskTotalEffortResult) ProtoReflect() protoreflect.Message { // Deprecated: Use ResolveTaskTotalEffortResult.ProtoReflect.Descriptor instead. func (*ResolveTaskTotalEffortResult) Descriptor() ([]byte, []int) { - return file_generated_service_proto_rawDescGZIP(), []int{124} + return file_service_proto_rawDescGZIP(), []int{124} } func (x *ResolveTaskTotalEffortResult) GetTotalEffort() *wrapperspb.DoubleValue { @@ -6526,20 +6158,17 @@ func (x *ResolveTaskTotalEffortResult) GetTotalEffort() *wrapperspb.DoubleValue } type ResolveTaskTotalEffortResponse struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache + state protoimpl.MessageState `protogen:"open.v1"` + Result []*ResolveTaskTotalEffortResult `protobuf:"bytes,1,rep,name=result,proto3" json:"result,omitempty"` unknownFields protoimpl.UnknownFields - - Result []*ResolveTaskTotalEffortResult `protobuf:"bytes,1,rep,name=result,proto3" json:"result,omitempty"` + sizeCache protoimpl.SizeCache } func (x *ResolveTaskTotalEffortResponse) Reset() { *x = ResolveTaskTotalEffortResponse{} - if protoimpl.UnsafeEnabled { - mi := &file_generated_service_proto_msgTypes[125] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_service_proto_msgTypes[125] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *ResolveTaskTotalEffortResponse) String() string { @@ -6549,8 +6178,8 @@ func (x *ResolveTaskTotalEffortResponse) String() string { func (*ResolveTaskTotalEffortResponse) ProtoMessage() {} func (x *ResolveTaskTotalEffortResponse) ProtoReflect() protoreflect.Message { - mi := &file_generated_service_proto_msgTypes[125] - if protoimpl.UnsafeEnabled && x != nil { + mi := &file_service_proto_msgTypes[125] + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -6562,7 +6191,7 @@ func (x *ResolveTaskTotalEffortResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use ResolveTaskTotalEffortResponse.ProtoReflect.Descriptor instead. func (*ResolveTaskTotalEffortResponse) Descriptor() ([]byte, []int) { - return file_generated_service_proto_rawDescGZIP(), []int{125} + return file_service_proto_rawDescGZIP(), []int{125} } func (x *ResolveTaskTotalEffortResponse) GetResult() []*ResolveTaskTotalEffortResult { @@ -6573,21 +6202,18 @@ func (x *ResolveTaskTotalEffortResponse) GetResult() []*ResolveTaskTotalEffortRe } type ResolveEmployeeCurrentWorkloadArgs struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - + state protoimpl.MessageState `protogen:"open.v1"` IncludeCompleted *wrapperspb.BoolValue `protobuf:"bytes,1,opt,name=include_completed,json=includeCompleted,proto3" json:"include_completed,omitempty"` ProjectId *wrapperspb.StringValue `protobuf:"bytes,2,opt,name=project_id,json=projectId,proto3" json:"project_id,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *ResolveEmployeeCurrentWorkloadArgs) Reset() { *x = ResolveEmployeeCurrentWorkloadArgs{} - if protoimpl.UnsafeEnabled { - mi := &file_generated_service_proto_msgTypes[126] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_service_proto_msgTypes[126] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *ResolveEmployeeCurrentWorkloadArgs) String() string { @@ -6597,8 +6223,8 @@ func (x *ResolveEmployeeCurrentWorkloadArgs) String() string { func (*ResolveEmployeeCurrentWorkloadArgs) ProtoMessage() {} func (x *ResolveEmployeeCurrentWorkloadArgs) ProtoReflect() protoreflect.Message { - mi := &file_generated_service_proto_msgTypes[126] - if protoimpl.UnsafeEnabled && x != nil { + mi := &file_service_proto_msgTypes[126] + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -6610,7 +6236,7 @@ func (x *ResolveEmployeeCurrentWorkloadArgs) ProtoReflect() protoreflect.Message // Deprecated: Use ResolveEmployeeCurrentWorkloadArgs.ProtoReflect.Descriptor instead. func (*ResolveEmployeeCurrentWorkloadArgs) Descriptor() ([]byte, []int) { - return file_generated_service_proto_rawDescGZIP(), []int{126} + return file_service_proto_rawDescGZIP(), []int{126} } func (x *ResolveEmployeeCurrentWorkloadArgs) GetIncludeCompleted() *wrapperspb.BoolValue { @@ -6628,20 +6254,17 @@ func (x *ResolveEmployeeCurrentWorkloadArgs) GetProjectId() *wrapperspb.StringVa } type ResolveEmployeeCurrentWorkloadContext struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache + state protoimpl.MessageState `protogen:"open.v1"` + Id int32 `protobuf:"varint,1,opt,name=id,proto3" json:"id,omitempty"` unknownFields protoimpl.UnknownFields - - Id int32 `protobuf:"varint,1,opt,name=id,proto3" json:"id,omitempty"` + sizeCache protoimpl.SizeCache } func (x *ResolveEmployeeCurrentWorkloadContext) Reset() { *x = ResolveEmployeeCurrentWorkloadContext{} - if protoimpl.UnsafeEnabled { - mi := &file_generated_service_proto_msgTypes[127] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_service_proto_msgTypes[127] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *ResolveEmployeeCurrentWorkloadContext) String() string { @@ -6651,8 +6274,8 @@ func (x *ResolveEmployeeCurrentWorkloadContext) String() string { func (*ResolveEmployeeCurrentWorkloadContext) ProtoMessage() {} func (x *ResolveEmployeeCurrentWorkloadContext) ProtoReflect() protoreflect.Message { - mi := &file_generated_service_proto_msgTypes[127] - if protoimpl.UnsafeEnabled && x != nil { + mi := &file_service_proto_msgTypes[127] + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -6664,7 +6287,7 @@ func (x *ResolveEmployeeCurrentWorkloadContext) ProtoReflect() protoreflect.Mess // Deprecated: Use ResolveEmployeeCurrentWorkloadContext.ProtoReflect.Descriptor instead. func (*ResolveEmployeeCurrentWorkloadContext) Descriptor() ([]byte, []int) { - return file_generated_service_proto_rawDescGZIP(), []int{127} + return file_service_proto_rawDescGZIP(), []int{127} } func (x *ResolveEmployeeCurrentWorkloadContext) GetId() int32 { @@ -6675,23 +6298,20 @@ func (x *ResolveEmployeeCurrentWorkloadContext) GetId() int32 { } type ResolveEmployeeCurrentWorkloadRequest struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - + state protoimpl.MessageState `protogen:"open.v1"` // context provides the resolver context for the field currentWorkload of type Employee. Context []*ResolveEmployeeCurrentWorkloadContext `protobuf:"bytes,1,rep,name=context,proto3" json:"context,omitempty"` // field_args provides the arguments for the resolver field currentWorkload of type Employee. - FieldArgs *ResolveEmployeeCurrentWorkloadArgs `protobuf:"bytes,2,opt,name=field_args,json=fieldArgs,proto3" json:"field_args,omitempty"` + FieldArgs *ResolveEmployeeCurrentWorkloadArgs `protobuf:"bytes,2,opt,name=field_args,json=fieldArgs,proto3" json:"field_args,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *ResolveEmployeeCurrentWorkloadRequest) Reset() { *x = ResolveEmployeeCurrentWorkloadRequest{} - if protoimpl.UnsafeEnabled { - mi := &file_generated_service_proto_msgTypes[128] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_service_proto_msgTypes[128] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *ResolveEmployeeCurrentWorkloadRequest) String() string { @@ -6701,8 +6321,8 @@ func (x *ResolveEmployeeCurrentWorkloadRequest) String() string { func (*ResolveEmployeeCurrentWorkloadRequest) ProtoMessage() {} func (x *ResolveEmployeeCurrentWorkloadRequest) ProtoReflect() protoreflect.Message { - mi := &file_generated_service_proto_msgTypes[128] - if protoimpl.UnsafeEnabled && x != nil { + mi := &file_service_proto_msgTypes[128] + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -6714,7 +6334,7 @@ func (x *ResolveEmployeeCurrentWorkloadRequest) ProtoReflect() protoreflect.Mess // Deprecated: Use ResolveEmployeeCurrentWorkloadRequest.ProtoReflect.Descriptor instead. func (*ResolveEmployeeCurrentWorkloadRequest) Descriptor() ([]byte, []int) { - return file_generated_service_proto_rawDescGZIP(), []int{128} + return file_service_proto_rawDescGZIP(), []int{128} } func (x *ResolveEmployeeCurrentWorkloadRequest) GetContext() []*ResolveEmployeeCurrentWorkloadContext { @@ -6732,20 +6352,17 @@ func (x *ResolveEmployeeCurrentWorkloadRequest) GetFieldArgs() *ResolveEmployeeC } type ResolveEmployeeCurrentWorkloadResult struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - CurrentWorkload int32 `protobuf:"varint,1,opt,name=current_workload,json=currentWorkload,proto3" json:"current_workload,omitempty"` + state protoimpl.MessageState `protogen:"open.v1"` + CurrentWorkload int32 `protobuf:"varint,1,opt,name=current_workload,json=currentWorkload,proto3" json:"current_workload,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *ResolveEmployeeCurrentWorkloadResult) Reset() { *x = ResolveEmployeeCurrentWorkloadResult{} - if protoimpl.UnsafeEnabled { - mi := &file_generated_service_proto_msgTypes[129] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_service_proto_msgTypes[129] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *ResolveEmployeeCurrentWorkloadResult) String() string { @@ -6755,8 +6372,8 @@ func (x *ResolveEmployeeCurrentWorkloadResult) String() string { func (*ResolveEmployeeCurrentWorkloadResult) ProtoMessage() {} func (x *ResolveEmployeeCurrentWorkloadResult) ProtoReflect() protoreflect.Message { - mi := &file_generated_service_proto_msgTypes[129] - if protoimpl.UnsafeEnabled && x != nil { + mi := &file_service_proto_msgTypes[129] + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -6768,7 +6385,7 @@ func (x *ResolveEmployeeCurrentWorkloadResult) ProtoReflect() protoreflect.Messa // Deprecated: Use ResolveEmployeeCurrentWorkloadResult.ProtoReflect.Descriptor instead. func (*ResolveEmployeeCurrentWorkloadResult) Descriptor() ([]byte, []int) { - return file_generated_service_proto_rawDescGZIP(), []int{129} + return file_service_proto_rawDescGZIP(), []int{129} } func (x *ResolveEmployeeCurrentWorkloadResult) GetCurrentWorkload() int32 { @@ -6779,20 +6396,17 @@ func (x *ResolveEmployeeCurrentWorkloadResult) GetCurrentWorkload() int32 { } type ResolveEmployeeCurrentWorkloadResponse struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache + state protoimpl.MessageState `protogen:"open.v1"` + Result []*ResolveEmployeeCurrentWorkloadResult `protobuf:"bytes,1,rep,name=result,proto3" json:"result,omitempty"` unknownFields protoimpl.UnknownFields - - Result []*ResolveEmployeeCurrentWorkloadResult `protobuf:"bytes,1,rep,name=result,proto3" json:"result,omitempty"` + sizeCache protoimpl.SizeCache } func (x *ResolveEmployeeCurrentWorkloadResponse) Reset() { *x = ResolveEmployeeCurrentWorkloadResponse{} - if protoimpl.UnsafeEnabled { - mi := &file_generated_service_proto_msgTypes[130] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_service_proto_msgTypes[130] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *ResolveEmployeeCurrentWorkloadResponse) String() string { @@ -6802,8 +6416,8 @@ func (x *ResolveEmployeeCurrentWorkloadResponse) String() string { func (*ResolveEmployeeCurrentWorkloadResponse) ProtoMessage() {} func (x *ResolveEmployeeCurrentWorkloadResponse) ProtoReflect() protoreflect.Message { - mi := &file_generated_service_proto_msgTypes[130] - if protoimpl.UnsafeEnabled && x != nil { + mi := &file_service_proto_msgTypes[130] + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -6815,7 +6429,7 @@ func (x *ResolveEmployeeCurrentWorkloadResponse) ProtoReflect() protoreflect.Mes // Deprecated: Use ResolveEmployeeCurrentWorkloadResponse.ProtoReflect.Descriptor instead. func (*ResolveEmployeeCurrentWorkloadResponse) Descriptor() ([]byte, []int) { - return file_generated_service_proto_rawDescGZIP(), []int{130} + return file_service_proto_rawDescGZIP(), []int{130} } func (x *ResolveEmployeeCurrentWorkloadResponse) GetResult() []*ResolveEmployeeCurrentWorkloadResult { @@ -6826,21 +6440,18 @@ func (x *ResolveEmployeeCurrentWorkloadResponse) GetResult() []*ResolveEmployeeC } type ResolveEmployeeAverageTaskCompletionDaysArgs struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache + state protoimpl.MessageState `protogen:"open.v1"` + ProjectId *wrapperspb.StringValue `protobuf:"bytes,1,opt,name=project_id,json=projectId,proto3" json:"project_id,omitempty"` + Priority TaskPriority `protobuf:"varint,2,opt,name=priority,proto3,enum=service.TaskPriority" json:"priority,omitempty"` unknownFields protoimpl.UnknownFields - - ProjectId *wrapperspb.StringValue `protobuf:"bytes,1,opt,name=project_id,json=projectId,proto3" json:"project_id,omitempty"` - Priority TaskPriority `protobuf:"varint,2,opt,name=priority,proto3,enum=service.TaskPriority" json:"priority,omitempty"` + sizeCache protoimpl.SizeCache } func (x *ResolveEmployeeAverageTaskCompletionDaysArgs) Reset() { *x = ResolveEmployeeAverageTaskCompletionDaysArgs{} - if protoimpl.UnsafeEnabled { - mi := &file_generated_service_proto_msgTypes[131] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_service_proto_msgTypes[131] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *ResolveEmployeeAverageTaskCompletionDaysArgs) String() string { @@ -6850,8 +6461,8 @@ func (x *ResolveEmployeeAverageTaskCompletionDaysArgs) String() string { func (*ResolveEmployeeAverageTaskCompletionDaysArgs) ProtoMessage() {} func (x *ResolveEmployeeAverageTaskCompletionDaysArgs) ProtoReflect() protoreflect.Message { - mi := &file_generated_service_proto_msgTypes[131] - if protoimpl.UnsafeEnabled && x != nil { + mi := &file_service_proto_msgTypes[131] + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -6863,7 +6474,7 @@ func (x *ResolveEmployeeAverageTaskCompletionDaysArgs) ProtoReflect() protorefle // Deprecated: Use ResolveEmployeeAverageTaskCompletionDaysArgs.ProtoReflect.Descriptor instead. func (*ResolveEmployeeAverageTaskCompletionDaysArgs) Descriptor() ([]byte, []int) { - return file_generated_service_proto_rawDescGZIP(), []int{131} + return file_service_proto_rawDescGZIP(), []int{131} } func (x *ResolveEmployeeAverageTaskCompletionDaysArgs) GetProjectId() *wrapperspb.StringValue { @@ -6881,20 +6492,17 @@ func (x *ResolveEmployeeAverageTaskCompletionDaysArgs) GetPriority() TaskPriorit } type ResolveEmployeeAverageTaskCompletionDaysContext struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache + state protoimpl.MessageState `protogen:"open.v1"` + Id int32 `protobuf:"varint,1,opt,name=id,proto3" json:"id,omitempty"` unknownFields protoimpl.UnknownFields - - Id int32 `protobuf:"varint,1,opt,name=id,proto3" json:"id,omitempty"` + sizeCache protoimpl.SizeCache } func (x *ResolveEmployeeAverageTaskCompletionDaysContext) Reset() { *x = ResolveEmployeeAverageTaskCompletionDaysContext{} - if protoimpl.UnsafeEnabled { - mi := &file_generated_service_proto_msgTypes[132] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_service_proto_msgTypes[132] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *ResolveEmployeeAverageTaskCompletionDaysContext) String() string { @@ -6904,8 +6512,8 @@ func (x *ResolveEmployeeAverageTaskCompletionDaysContext) String() string { func (*ResolveEmployeeAverageTaskCompletionDaysContext) ProtoMessage() {} func (x *ResolveEmployeeAverageTaskCompletionDaysContext) ProtoReflect() protoreflect.Message { - mi := &file_generated_service_proto_msgTypes[132] - if protoimpl.UnsafeEnabled && x != nil { + mi := &file_service_proto_msgTypes[132] + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -6917,7 +6525,7 @@ func (x *ResolveEmployeeAverageTaskCompletionDaysContext) ProtoReflect() protore // Deprecated: Use ResolveEmployeeAverageTaskCompletionDaysContext.ProtoReflect.Descriptor instead. func (*ResolveEmployeeAverageTaskCompletionDaysContext) Descriptor() ([]byte, []int) { - return file_generated_service_proto_rawDescGZIP(), []int{132} + return file_service_proto_rawDescGZIP(), []int{132} } func (x *ResolveEmployeeAverageTaskCompletionDaysContext) GetId() int32 { @@ -6928,23 +6536,20 @@ func (x *ResolveEmployeeAverageTaskCompletionDaysContext) GetId() int32 { } type ResolveEmployeeAverageTaskCompletionDaysRequest struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - + state protoimpl.MessageState `protogen:"open.v1"` // context provides the resolver context for the field averageTaskCompletionDays of type Employee. Context []*ResolveEmployeeAverageTaskCompletionDaysContext `protobuf:"bytes,1,rep,name=context,proto3" json:"context,omitempty"` // field_args provides the arguments for the resolver field averageTaskCompletionDays of type Employee. - FieldArgs *ResolveEmployeeAverageTaskCompletionDaysArgs `protobuf:"bytes,2,opt,name=field_args,json=fieldArgs,proto3" json:"field_args,omitempty"` + FieldArgs *ResolveEmployeeAverageTaskCompletionDaysArgs `protobuf:"bytes,2,opt,name=field_args,json=fieldArgs,proto3" json:"field_args,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *ResolveEmployeeAverageTaskCompletionDaysRequest) Reset() { *x = ResolveEmployeeAverageTaskCompletionDaysRequest{} - if protoimpl.UnsafeEnabled { - mi := &file_generated_service_proto_msgTypes[133] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_service_proto_msgTypes[133] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *ResolveEmployeeAverageTaskCompletionDaysRequest) String() string { @@ -6954,8 +6559,8 @@ func (x *ResolveEmployeeAverageTaskCompletionDaysRequest) String() string { func (*ResolveEmployeeAverageTaskCompletionDaysRequest) ProtoMessage() {} func (x *ResolveEmployeeAverageTaskCompletionDaysRequest) ProtoReflect() protoreflect.Message { - mi := &file_generated_service_proto_msgTypes[133] - if protoimpl.UnsafeEnabled && x != nil { + mi := &file_service_proto_msgTypes[133] + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -6967,7 +6572,7 @@ func (x *ResolveEmployeeAverageTaskCompletionDaysRequest) ProtoReflect() protore // Deprecated: Use ResolveEmployeeAverageTaskCompletionDaysRequest.ProtoReflect.Descriptor instead. func (*ResolveEmployeeAverageTaskCompletionDaysRequest) Descriptor() ([]byte, []int) { - return file_generated_service_proto_rawDescGZIP(), []int{133} + return file_service_proto_rawDescGZIP(), []int{133} } func (x *ResolveEmployeeAverageTaskCompletionDaysRequest) GetContext() []*ResolveEmployeeAverageTaskCompletionDaysContext { @@ -6985,20 +6590,17 @@ func (x *ResolveEmployeeAverageTaskCompletionDaysRequest) GetFieldArgs() *Resolv } type ResolveEmployeeAverageTaskCompletionDaysResult struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - + state protoimpl.MessageState `protogen:"open.v1"` AverageTaskCompletionDays *wrapperspb.DoubleValue `protobuf:"bytes,1,opt,name=average_task_completion_days,json=averageTaskCompletionDays,proto3" json:"average_task_completion_days,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *ResolveEmployeeAverageTaskCompletionDaysResult) Reset() { *x = ResolveEmployeeAverageTaskCompletionDaysResult{} - if protoimpl.UnsafeEnabled { - mi := &file_generated_service_proto_msgTypes[134] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_service_proto_msgTypes[134] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *ResolveEmployeeAverageTaskCompletionDaysResult) String() string { @@ -7008,8 +6610,8 @@ func (x *ResolveEmployeeAverageTaskCompletionDaysResult) String() string { func (*ResolveEmployeeAverageTaskCompletionDaysResult) ProtoMessage() {} func (x *ResolveEmployeeAverageTaskCompletionDaysResult) ProtoReflect() protoreflect.Message { - mi := &file_generated_service_proto_msgTypes[134] - if protoimpl.UnsafeEnabled && x != nil { + mi := &file_service_proto_msgTypes[134] + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -7021,7 +6623,7 @@ func (x *ResolveEmployeeAverageTaskCompletionDaysResult) ProtoReflect() protoref // Deprecated: Use ResolveEmployeeAverageTaskCompletionDaysResult.ProtoReflect.Descriptor instead. func (*ResolveEmployeeAverageTaskCompletionDaysResult) Descriptor() ([]byte, []int) { - return file_generated_service_proto_rawDescGZIP(), []int{134} + return file_service_proto_rawDescGZIP(), []int{134} } func (x *ResolveEmployeeAverageTaskCompletionDaysResult) GetAverageTaskCompletionDays() *wrapperspb.DoubleValue { @@ -7032,20 +6634,17 @@ func (x *ResolveEmployeeAverageTaskCompletionDaysResult) GetAverageTaskCompletio } type ResolveEmployeeAverageTaskCompletionDaysResponse struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache + state protoimpl.MessageState `protogen:"open.v1"` + Result []*ResolveEmployeeAverageTaskCompletionDaysResult `protobuf:"bytes,1,rep,name=result,proto3" json:"result,omitempty"` unknownFields protoimpl.UnknownFields - - Result []*ResolveEmployeeAverageTaskCompletionDaysResult `protobuf:"bytes,1,rep,name=result,proto3" json:"result,omitempty"` + sizeCache protoimpl.SizeCache } func (x *ResolveEmployeeAverageTaskCompletionDaysResponse) Reset() { *x = ResolveEmployeeAverageTaskCompletionDaysResponse{} - if protoimpl.UnsafeEnabled { - mi := &file_generated_service_proto_msgTypes[135] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_service_proto_msgTypes[135] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *ResolveEmployeeAverageTaskCompletionDaysResponse) String() string { @@ -7055,8 +6654,8 @@ func (x *ResolveEmployeeAverageTaskCompletionDaysResponse) String() string { func (*ResolveEmployeeAverageTaskCompletionDaysResponse) ProtoMessage() {} func (x *ResolveEmployeeAverageTaskCompletionDaysResponse) ProtoReflect() protoreflect.Message { - mi := &file_generated_service_proto_msgTypes[135] - if protoimpl.UnsafeEnabled && x != nil { + mi := &file_service_proto_msgTypes[135] + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -7068,7 +6667,7 @@ func (x *ResolveEmployeeAverageTaskCompletionDaysResponse) ProtoReflect() protor // Deprecated: Use ResolveEmployeeAverageTaskCompletionDaysResponse.ProtoReflect.Descriptor instead. func (*ResolveEmployeeAverageTaskCompletionDaysResponse) Descriptor() ([]byte, []int) { - return file_generated_service_proto_rawDescGZIP(), []int{135} + return file_service_proto_rawDescGZIP(), []int{135} } func (x *ResolveEmployeeAverageTaskCompletionDaysResponse) GetResult() []*ResolveEmployeeAverageTaskCompletionDaysResult { @@ -7079,20 +6678,17 @@ func (x *ResolveEmployeeAverageTaskCompletionDaysResponse) GetResult() []*Resolv } type ResolveEmployeeTotalProjectCountContext struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache + state protoimpl.MessageState `protogen:"open.v1"` + Id int32 `protobuf:"varint,1,opt,name=id,proto3" json:"id,omitempty"` unknownFields protoimpl.UnknownFields - - Id int32 `protobuf:"varint,1,opt,name=id,proto3" json:"id,omitempty"` + sizeCache protoimpl.SizeCache } func (x *ResolveEmployeeTotalProjectCountContext) Reset() { *x = ResolveEmployeeTotalProjectCountContext{} - if protoimpl.UnsafeEnabled { - mi := &file_generated_service_proto_msgTypes[136] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_service_proto_msgTypes[136] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *ResolveEmployeeTotalProjectCountContext) String() string { @@ -7102,8 +6698,8 @@ func (x *ResolveEmployeeTotalProjectCountContext) String() string { func (*ResolveEmployeeTotalProjectCountContext) ProtoMessage() {} func (x *ResolveEmployeeTotalProjectCountContext) ProtoReflect() protoreflect.Message { - mi := &file_generated_service_proto_msgTypes[136] - if protoimpl.UnsafeEnabled && x != nil { + mi := &file_service_proto_msgTypes[136] + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -7115,7 +6711,7 @@ func (x *ResolveEmployeeTotalProjectCountContext) ProtoReflect() protoreflect.Me // Deprecated: Use ResolveEmployeeTotalProjectCountContext.ProtoReflect.Descriptor instead. func (*ResolveEmployeeTotalProjectCountContext) Descriptor() ([]byte, []int) { - return file_generated_service_proto_rawDescGZIP(), []int{136} + return file_service_proto_rawDescGZIP(), []int{136} } func (x *ResolveEmployeeTotalProjectCountContext) GetId() int32 { @@ -7126,21 +6722,18 @@ func (x *ResolveEmployeeTotalProjectCountContext) GetId() int32 { } type ResolveEmployeeTotalProjectCountRequest struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - + state protoimpl.MessageState `protogen:"open.v1"` // context provides the resolver context for the field totalProjectCount of type Employee. - Context []*ResolveEmployeeTotalProjectCountContext `protobuf:"bytes,1,rep,name=context,proto3" json:"context,omitempty"` + Context []*ResolveEmployeeTotalProjectCountContext `protobuf:"bytes,1,rep,name=context,proto3" json:"context,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *ResolveEmployeeTotalProjectCountRequest) Reset() { *x = ResolveEmployeeTotalProjectCountRequest{} - if protoimpl.UnsafeEnabled { - mi := &file_generated_service_proto_msgTypes[137] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_service_proto_msgTypes[137] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *ResolveEmployeeTotalProjectCountRequest) String() string { @@ -7150,8 +6743,8 @@ func (x *ResolveEmployeeTotalProjectCountRequest) String() string { func (*ResolveEmployeeTotalProjectCountRequest) ProtoMessage() {} func (x *ResolveEmployeeTotalProjectCountRequest) ProtoReflect() protoreflect.Message { - mi := &file_generated_service_proto_msgTypes[137] - if protoimpl.UnsafeEnabled && x != nil { + mi := &file_service_proto_msgTypes[137] + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -7163,7 +6756,7 @@ func (x *ResolveEmployeeTotalProjectCountRequest) ProtoReflect() protoreflect.Me // Deprecated: Use ResolveEmployeeTotalProjectCountRequest.ProtoReflect.Descriptor instead. func (*ResolveEmployeeTotalProjectCountRequest) Descriptor() ([]byte, []int) { - return file_generated_service_proto_rawDescGZIP(), []int{137} + return file_service_proto_rawDescGZIP(), []int{137} } func (x *ResolveEmployeeTotalProjectCountRequest) GetContext() []*ResolveEmployeeTotalProjectCountContext { @@ -7174,20 +6767,17 @@ func (x *ResolveEmployeeTotalProjectCountRequest) GetContext() []*ResolveEmploye } type ResolveEmployeeTotalProjectCountResult struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - TotalProjectCount int32 `protobuf:"varint,1,opt,name=total_project_count,json=totalProjectCount,proto3" json:"total_project_count,omitempty"` + state protoimpl.MessageState `protogen:"open.v1"` + TotalProjectCount int32 `protobuf:"varint,1,opt,name=total_project_count,json=totalProjectCount,proto3" json:"total_project_count,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *ResolveEmployeeTotalProjectCountResult) Reset() { *x = ResolveEmployeeTotalProjectCountResult{} - if protoimpl.UnsafeEnabled { - mi := &file_generated_service_proto_msgTypes[138] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_service_proto_msgTypes[138] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *ResolveEmployeeTotalProjectCountResult) String() string { @@ -7197,8 +6787,8 @@ func (x *ResolveEmployeeTotalProjectCountResult) String() string { func (*ResolveEmployeeTotalProjectCountResult) ProtoMessage() {} func (x *ResolveEmployeeTotalProjectCountResult) ProtoReflect() protoreflect.Message { - mi := &file_generated_service_proto_msgTypes[138] - if protoimpl.UnsafeEnabled && x != nil { + mi := &file_service_proto_msgTypes[138] + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -7210,7 +6800,7 @@ func (x *ResolveEmployeeTotalProjectCountResult) ProtoReflect() protoreflect.Mes // Deprecated: Use ResolveEmployeeTotalProjectCountResult.ProtoReflect.Descriptor instead. func (*ResolveEmployeeTotalProjectCountResult) Descriptor() ([]byte, []int) { - return file_generated_service_proto_rawDescGZIP(), []int{138} + return file_service_proto_rawDescGZIP(), []int{138} } func (x *ResolveEmployeeTotalProjectCountResult) GetTotalProjectCount() int32 { @@ -7221,20 +6811,17 @@ func (x *ResolveEmployeeTotalProjectCountResult) GetTotalProjectCount() int32 { } type ResolveEmployeeTotalProjectCountResponse struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache + state protoimpl.MessageState `protogen:"open.v1"` + Result []*ResolveEmployeeTotalProjectCountResult `protobuf:"bytes,1,rep,name=result,proto3" json:"result,omitempty"` unknownFields protoimpl.UnknownFields - - Result []*ResolveEmployeeTotalProjectCountResult `protobuf:"bytes,1,rep,name=result,proto3" json:"result,omitempty"` + sizeCache protoimpl.SizeCache } func (x *ResolveEmployeeTotalProjectCountResponse) Reset() { *x = ResolveEmployeeTotalProjectCountResponse{} - if protoimpl.UnsafeEnabled { - mi := &file_generated_service_proto_msgTypes[139] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_service_proto_msgTypes[139] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *ResolveEmployeeTotalProjectCountResponse) String() string { @@ -7244,8 +6831,8 @@ func (x *ResolveEmployeeTotalProjectCountResponse) String() string { func (*ResolveEmployeeTotalProjectCountResponse) ProtoMessage() {} func (x *ResolveEmployeeTotalProjectCountResponse) ProtoReflect() protoreflect.Message { - mi := &file_generated_service_proto_msgTypes[139] - if protoimpl.UnsafeEnabled && x != nil { + mi := &file_service_proto_msgTypes[139] + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -7257,7 +6844,7 @@ func (x *ResolveEmployeeTotalProjectCountResponse) ProtoReflect() protoreflect.M // Deprecated: Use ResolveEmployeeTotalProjectCountResponse.ProtoReflect.Descriptor instead. func (*ResolveEmployeeTotalProjectCountResponse) Descriptor() ([]byte, []int) { - return file_generated_service_proto_rawDescGZIP(), []int{139} + return file_service_proto_rawDescGZIP(), []int{139} } func (x *ResolveEmployeeTotalProjectCountResponse) GetResult() []*ResolveEmployeeTotalProjectCountResult { @@ -7268,21 +6855,18 @@ func (x *ResolveEmployeeTotalProjectCountResponse) GetResult() []*ResolveEmploye } type RequireEmployeeTaggedProjectSummaryByIdRequest struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - + state protoimpl.MessageState `protogen:"open.v1"` // RequireEmployeeTaggedProjectSummaryByIdContext provides the context for the required fields method RequireEmployeeTaggedProjectSummaryById. - Context []*RequireEmployeeTaggedProjectSummaryByIdContext `protobuf:"bytes,1,rep,name=context,proto3" json:"context,omitempty"` + Context []*RequireEmployeeTaggedProjectSummaryByIdContext `protobuf:"bytes,1,rep,name=context,proto3" json:"context,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *RequireEmployeeTaggedProjectSummaryByIdRequest) Reset() { *x = RequireEmployeeTaggedProjectSummaryByIdRequest{} - if protoimpl.UnsafeEnabled { - mi := &file_generated_service_proto_msgTypes[140] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_service_proto_msgTypes[140] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *RequireEmployeeTaggedProjectSummaryByIdRequest) String() string { @@ -7292,8 +6876,8 @@ func (x *RequireEmployeeTaggedProjectSummaryByIdRequest) String() string { func (*RequireEmployeeTaggedProjectSummaryByIdRequest) ProtoMessage() {} func (x *RequireEmployeeTaggedProjectSummaryByIdRequest) ProtoReflect() protoreflect.Message { - mi := &file_generated_service_proto_msgTypes[140] - if protoimpl.UnsafeEnabled && x != nil { + mi := &file_service_proto_msgTypes[140] + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -7305,7 +6889,7 @@ func (x *RequireEmployeeTaggedProjectSummaryByIdRequest) ProtoReflect() protoref // Deprecated: Use RequireEmployeeTaggedProjectSummaryByIdRequest.ProtoReflect.Descriptor instead. func (*RequireEmployeeTaggedProjectSummaryByIdRequest) Descriptor() ([]byte, []int) { - return file_generated_service_proto_rawDescGZIP(), []int{140} + return file_service_proto_rawDescGZIP(), []int{140} } func (x *RequireEmployeeTaggedProjectSummaryByIdRequest) GetContext() []*RequireEmployeeTaggedProjectSummaryByIdContext { @@ -7316,21 +6900,18 @@ func (x *RequireEmployeeTaggedProjectSummaryByIdRequest) GetContext() []*Require } type RequireEmployeeTaggedProjectSummaryByIdContext struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache + state protoimpl.MessageState `protogen:"open.v1"` + Key *LookupEmployeeByIdRequestKey `protobuf:"bytes,1,opt,name=key,proto3" json:"key,omitempty"` + Fields *RequireEmployeeTaggedProjectSummaryByIdFields `protobuf:"bytes,2,opt,name=fields,proto3" json:"fields,omitempty"` unknownFields protoimpl.UnknownFields - - Key *LookupEmployeeByIdRequestKey `protobuf:"bytes,1,opt,name=key,proto3" json:"key,omitempty"` - Fields *RequireEmployeeTaggedProjectSummaryByIdFields `protobuf:"bytes,2,opt,name=fields,proto3" json:"fields,omitempty"` + sizeCache protoimpl.SizeCache } func (x *RequireEmployeeTaggedProjectSummaryByIdContext) Reset() { *x = RequireEmployeeTaggedProjectSummaryByIdContext{} - if protoimpl.UnsafeEnabled { - mi := &file_generated_service_proto_msgTypes[141] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_service_proto_msgTypes[141] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *RequireEmployeeTaggedProjectSummaryByIdContext) String() string { @@ -7340,8 +6921,8 @@ func (x *RequireEmployeeTaggedProjectSummaryByIdContext) String() string { func (*RequireEmployeeTaggedProjectSummaryByIdContext) ProtoMessage() {} func (x *RequireEmployeeTaggedProjectSummaryByIdContext) ProtoReflect() protoreflect.Message { - mi := &file_generated_service_proto_msgTypes[141] - if protoimpl.UnsafeEnabled && x != nil { + mi := &file_service_proto_msgTypes[141] + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -7353,7 +6934,7 @@ func (x *RequireEmployeeTaggedProjectSummaryByIdContext) ProtoReflect() protoref // Deprecated: Use RequireEmployeeTaggedProjectSummaryByIdContext.ProtoReflect.Descriptor instead. func (*RequireEmployeeTaggedProjectSummaryByIdContext) Descriptor() ([]byte, []int) { - return file_generated_service_proto_rawDescGZIP(), []int{141} + return file_service_proto_rawDescGZIP(), []int{141} } func (x *RequireEmployeeTaggedProjectSummaryByIdContext) GetKey() *LookupEmployeeByIdRequestKey { @@ -7371,21 +6952,18 @@ func (x *RequireEmployeeTaggedProjectSummaryByIdContext) GetFields() *RequireEmp } type RequireEmployeeTaggedProjectSummaryByIdResponse struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - + state protoimpl.MessageState `protogen:"open.v1"` // RequireEmployeeTaggedProjectSummaryByIdResult provides the result for the required fields method RequireEmployeeTaggedProjectSummaryById. - Result []*RequireEmployeeTaggedProjectSummaryByIdResult `protobuf:"bytes,1,rep,name=result,proto3" json:"result,omitempty"` + Result []*RequireEmployeeTaggedProjectSummaryByIdResult `protobuf:"bytes,1,rep,name=result,proto3" json:"result,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *RequireEmployeeTaggedProjectSummaryByIdResponse) Reset() { *x = RequireEmployeeTaggedProjectSummaryByIdResponse{} - if protoimpl.UnsafeEnabled { - mi := &file_generated_service_proto_msgTypes[142] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_service_proto_msgTypes[142] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *RequireEmployeeTaggedProjectSummaryByIdResponse) String() string { @@ -7395,8 +6973,8 @@ func (x *RequireEmployeeTaggedProjectSummaryByIdResponse) String() string { func (*RequireEmployeeTaggedProjectSummaryByIdResponse) ProtoMessage() {} func (x *RequireEmployeeTaggedProjectSummaryByIdResponse) ProtoReflect() protoreflect.Message { - mi := &file_generated_service_proto_msgTypes[142] - if protoimpl.UnsafeEnabled && x != nil { + mi := &file_service_proto_msgTypes[142] + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -7408,7 +6986,7 @@ func (x *RequireEmployeeTaggedProjectSummaryByIdResponse) ProtoReflect() protore // Deprecated: Use RequireEmployeeTaggedProjectSummaryByIdResponse.ProtoReflect.Descriptor instead. func (*RequireEmployeeTaggedProjectSummaryByIdResponse) Descriptor() ([]byte, []int) { - return file_generated_service_proto_rawDescGZIP(), []int{142} + return file_service_proto_rawDescGZIP(), []int{142} } func (x *RequireEmployeeTaggedProjectSummaryByIdResponse) GetResult() []*RequireEmployeeTaggedProjectSummaryByIdResult { @@ -7419,20 +6997,17 @@ func (x *RequireEmployeeTaggedProjectSummaryByIdResponse) GetResult() []*Require } type RequireEmployeeTaggedProjectSummaryByIdResult struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - TaggedProjectSummary string `protobuf:"bytes,1,opt,name=tagged_project_summary,json=taggedProjectSummary,proto3" json:"tagged_project_summary,omitempty"` + state protoimpl.MessageState `protogen:"open.v1"` + TaggedProjectSummary string `protobuf:"bytes,1,opt,name=tagged_project_summary,json=taggedProjectSummary,proto3" json:"tagged_project_summary,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *RequireEmployeeTaggedProjectSummaryByIdResult) Reset() { *x = RequireEmployeeTaggedProjectSummaryByIdResult{} - if protoimpl.UnsafeEnabled { - mi := &file_generated_service_proto_msgTypes[143] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_service_proto_msgTypes[143] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *RequireEmployeeTaggedProjectSummaryByIdResult) String() string { @@ -7442,8 +7017,8 @@ func (x *RequireEmployeeTaggedProjectSummaryByIdResult) String() string { func (*RequireEmployeeTaggedProjectSummaryByIdResult) ProtoMessage() {} func (x *RequireEmployeeTaggedProjectSummaryByIdResult) ProtoReflect() protoreflect.Message { - mi := &file_generated_service_proto_msgTypes[143] - if protoimpl.UnsafeEnabled && x != nil { + mi := &file_service_proto_msgTypes[143] + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -7455,7 +7030,7 @@ func (x *RequireEmployeeTaggedProjectSummaryByIdResult) ProtoReflect() protorefl // Deprecated: Use RequireEmployeeTaggedProjectSummaryByIdResult.ProtoReflect.Descriptor instead. func (*RequireEmployeeTaggedProjectSummaryByIdResult) Descriptor() ([]byte, []int) { - return file_generated_service_proto_rawDescGZIP(), []int{143} + return file_service_proto_rawDescGZIP(), []int{143} } func (x *RequireEmployeeTaggedProjectSummaryByIdResult) GetTaggedProjectSummary() string { @@ -7466,20 +7041,17 @@ func (x *RequireEmployeeTaggedProjectSummaryByIdResult) GetTaggedProjectSummary( } type RequireEmployeeTaggedProjectSummaryByIdFields struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache + state protoimpl.MessageState `protogen:"open.v1"` + Expertise string `protobuf:"bytes,1,opt,name=expertise,proto3" json:"expertise,omitempty"` unknownFields protoimpl.UnknownFields - - Expertise string `protobuf:"bytes,1,opt,name=expertise,proto3" json:"expertise,omitempty"` + sizeCache protoimpl.SizeCache } func (x *RequireEmployeeTaggedProjectSummaryByIdFields) Reset() { *x = RequireEmployeeTaggedProjectSummaryByIdFields{} - if protoimpl.UnsafeEnabled { - mi := &file_generated_service_proto_msgTypes[144] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_service_proto_msgTypes[144] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *RequireEmployeeTaggedProjectSummaryByIdFields) String() string { @@ -7489,8 +7061,8 @@ func (x *RequireEmployeeTaggedProjectSummaryByIdFields) String() string { func (*RequireEmployeeTaggedProjectSummaryByIdFields) ProtoMessage() {} func (x *RequireEmployeeTaggedProjectSummaryByIdFields) ProtoReflect() protoreflect.Message { - mi := &file_generated_service_proto_msgTypes[144] - if protoimpl.UnsafeEnabled && x != nil { + mi := &file_service_proto_msgTypes[144] + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -7502,7 +7074,7 @@ func (x *RequireEmployeeTaggedProjectSummaryByIdFields) ProtoReflect() protorefl // Deprecated: Use RequireEmployeeTaggedProjectSummaryByIdFields.ProtoReflect.Descriptor instead. func (*RequireEmployeeTaggedProjectSummaryByIdFields) Descriptor() ([]byte, []int) { - return file_generated_service_proto_rawDescGZIP(), []int{144} + return file_service_proto_rawDescGZIP(), []int{144} } func (x *RequireEmployeeTaggedProjectSummaryByIdFields) GetExpertise() string { @@ -7513,23 +7085,20 @@ func (x *RequireEmployeeTaggedProjectSummaryByIdFields) GetExpertise() string { } type RequireEmployeeFilteredProjectSummaryByIdRequest struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - + state protoimpl.MessageState `protogen:"open.v1"` // RequireEmployeeFilteredProjectSummaryByIdContext provides the context for the required fields method RequireEmployeeFilteredProjectSummaryById. Context []*RequireEmployeeFilteredProjectSummaryByIdContext `protobuf:"bytes,1,rep,name=context,proto3" json:"context,omitempty"` // RequireEmployeeFilteredProjectSummaryByIdArgs provides the field arguments for the required field with method RequireEmployeeFilteredProjectSummaryById. - FieldArgs *RequireEmployeeFilteredProjectSummaryByIdArgs `protobuf:"bytes,2,opt,name=field_args,json=fieldArgs,proto3" json:"field_args,omitempty"` + FieldArgs *RequireEmployeeFilteredProjectSummaryByIdArgs `protobuf:"bytes,2,opt,name=field_args,json=fieldArgs,proto3" json:"field_args,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *RequireEmployeeFilteredProjectSummaryByIdRequest) Reset() { *x = RequireEmployeeFilteredProjectSummaryByIdRequest{} - if protoimpl.UnsafeEnabled { - mi := &file_generated_service_proto_msgTypes[145] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_service_proto_msgTypes[145] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *RequireEmployeeFilteredProjectSummaryByIdRequest) String() string { @@ -7539,8 +7108,8 @@ func (x *RequireEmployeeFilteredProjectSummaryByIdRequest) String() string { func (*RequireEmployeeFilteredProjectSummaryByIdRequest) ProtoMessage() {} func (x *RequireEmployeeFilteredProjectSummaryByIdRequest) ProtoReflect() protoreflect.Message { - mi := &file_generated_service_proto_msgTypes[145] - if protoimpl.UnsafeEnabled && x != nil { + mi := &file_service_proto_msgTypes[145] + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -7552,7 +7121,7 @@ func (x *RequireEmployeeFilteredProjectSummaryByIdRequest) ProtoReflect() protor // Deprecated: Use RequireEmployeeFilteredProjectSummaryByIdRequest.ProtoReflect.Descriptor instead. func (*RequireEmployeeFilteredProjectSummaryByIdRequest) Descriptor() ([]byte, []int) { - return file_generated_service_proto_rawDescGZIP(), []int{145} + return file_service_proto_rawDescGZIP(), []int{145} } func (x *RequireEmployeeFilteredProjectSummaryByIdRequest) GetContext() []*RequireEmployeeFilteredProjectSummaryByIdContext { @@ -7570,21 +7139,18 @@ func (x *RequireEmployeeFilteredProjectSummaryByIdRequest) GetFieldArgs() *Requi } type RequireEmployeeFilteredProjectSummaryByIdContext struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache + state protoimpl.MessageState `protogen:"open.v1"` + Key *LookupEmployeeByIdRequestKey `protobuf:"bytes,1,opt,name=key,proto3" json:"key,omitempty"` + Fields *RequireEmployeeFilteredProjectSummaryByIdFields `protobuf:"bytes,2,opt,name=fields,proto3" json:"fields,omitempty"` unknownFields protoimpl.UnknownFields - - Key *LookupEmployeeByIdRequestKey `protobuf:"bytes,1,opt,name=key,proto3" json:"key,omitempty"` - Fields *RequireEmployeeFilteredProjectSummaryByIdFields `protobuf:"bytes,2,opt,name=fields,proto3" json:"fields,omitempty"` + sizeCache protoimpl.SizeCache } func (x *RequireEmployeeFilteredProjectSummaryByIdContext) Reset() { *x = RequireEmployeeFilteredProjectSummaryByIdContext{} - if protoimpl.UnsafeEnabled { - mi := &file_generated_service_proto_msgTypes[146] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_service_proto_msgTypes[146] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *RequireEmployeeFilteredProjectSummaryByIdContext) String() string { @@ -7594,8 +7160,8 @@ func (x *RequireEmployeeFilteredProjectSummaryByIdContext) String() string { func (*RequireEmployeeFilteredProjectSummaryByIdContext) ProtoMessage() {} func (x *RequireEmployeeFilteredProjectSummaryByIdContext) ProtoReflect() protoreflect.Message { - mi := &file_generated_service_proto_msgTypes[146] - if protoimpl.UnsafeEnabled && x != nil { + mi := &file_service_proto_msgTypes[146] + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -7607,7 +7173,7 @@ func (x *RequireEmployeeFilteredProjectSummaryByIdContext) ProtoReflect() protor // Deprecated: Use RequireEmployeeFilteredProjectSummaryByIdContext.ProtoReflect.Descriptor instead. func (*RequireEmployeeFilteredProjectSummaryByIdContext) Descriptor() ([]byte, []int) { - return file_generated_service_proto_rawDescGZIP(), []int{146} + return file_service_proto_rawDescGZIP(), []int{146} } func (x *RequireEmployeeFilteredProjectSummaryByIdContext) GetKey() *LookupEmployeeByIdRequestKey { @@ -7625,20 +7191,17 @@ func (x *RequireEmployeeFilteredProjectSummaryByIdContext) GetFields() *RequireE } type RequireEmployeeFilteredProjectSummaryByIdArgs struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache + state protoimpl.MessageState `protogen:"open.v1"` + Tag string `protobuf:"bytes,1,opt,name=tag,proto3" json:"tag,omitempty"` unknownFields protoimpl.UnknownFields - - Tag string `protobuf:"bytes,1,opt,name=tag,proto3" json:"tag,omitempty"` + sizeCache protoimpl.SizeCache } func (x *RequireEmployeeFilteredProjectSummaryByIdArgs) Reset() { *x = RequireEmployeeFilteredProjectSummaryByIdArgs{} - if protoimpl.UnsafeEnabled { - mi := &file_generated_service_proto_msgTypes[147] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_service_proto_msgTypes[147] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *RequireEmployeeFilteredProjectSummaryByIdArgs) String() string { @@ -7648,8 +7211,8 @@ func (x *RequireEmployeeFilteredProjectSummaryByIdArgs) String() string { func (*RequireEmployeeFilteredProjectSummaryByIdArgs) ProtoMessage() {} func (x *RequireEmployeeFilteredProjectSummaryByIdArgs) ProtoReflect() protoreflect.Message { - mi := &file_generated_service_proto_msgTypes[147] - if protoimpl.UnsafeEnabled && x != nil { + mi := &file_service_proto_msgTypes[147] + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -7661,7 +7224,7 @@ func (x *RequireEmployeeFilteredProjectSummaryByIdArgs) ProtoReflect() protorefl // Deprecated: Use RequireEmployeeFilteredProjectSummaryByIdArgs.ProtoReflect.Descriptor instead. func (*RequireEmployeeFilteredProjectSummaryByIdArgs) Descriptor() ([]byte, []int) { - return file_generated_service_proto_rawDescGZIP(), []int{147} + return file_service_proto_rawDescGZIP(), []int{147} } func (x *RequireEmployeeFilteredProjectSummaryByIdArgs) GetTag() string { @@ -7672,21 +7235,18 @@ func (x *RequireEmployeeFilteredProjectSummaryByIdArgs) GetTag() string { } type RequireEmployeeFilteredProjectSummaryByIdResponse struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - + state protoimpl.MessageState `protogen:"open.v1"` // RequireEmployeeFilteredProjectSummaryByIdResult provides the result for the required fields method RequireEmployeeFilteredProjectSummaryById. - Result []*RequireEmployeeFilteredProjectSummaryByIdResult `protobuf:"bytes,1,rep,name=result,proto3" json:"result,omitempty"` + Result []*RequireEmployeeFilteredProjectSummaryByIdResult `protobuf:"bytes,1,rep,name=result,proto3" json:"result,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *RequireEmployeeFilteredProjectSummaryByIdResponse) Reset() { *x = RequireEmployeeFilteredProjectSummaryByIdResponse{} - if protoimpl.UnsafeEnabled { - mi := &file_generated_service_proto_msgTypes[148] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_service_proto_msgTypes[148] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *RequireEmployeeFilteredProjectSummaryByIdResponse) String() string { @@ -7696,8 +7256,8 @@ func (x *RequireEmployeeFilteredProjectSummaryByIdResponse) String() string { func (*RequireEmployeeFilteredProjectSummaryByIdResponse) ProtoMessage() {} func (x *RequireEmployeeFilteredProjectSummaryByIdResponse) ProtoReflect() protoreflect.Message { - mi := &file_generated_service_proto_msgTypes[148] - if protoimpl.UnsafeEnabled && x != nil { + mi := &file_service_proto_msgTypes[148] + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -7709,7 +7269,7 @@ func (x *RequireEmployeeFilteredProjectSummaryByIdResponse) ProtoReflect() proto // Deprecated: Use RequireEmployeeFilteredProjectSummaryByIdResponse.ProtoReflect.Descriptor instead. func (*RequireEmployeeFilteredProjectSummaryByIdResponse) Descriptor() ([]byte, []int) { - return file_generated_service_proto_rawDescGZIP(), []int{148} + return file_service_proto_rawDescGZIP(), []int{148} } func (x *RequireEmployeeFilteredProjectSummaryByIdResponse) GetResult() []*RequireEmployeeFilteredProjectSummaryByIdResult { @@ -7720,20 +7280,17 @@ func (x *RequireEmployeeFilteredProjectSummaryByIdResponse) GetResult() []*Requi } type RequireEmployeeFilteredProjectSummaryByIdResult struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - FilteredProjectSummary string `protobuf:"bytes,1,opt,name=filtered_project_summary,json=filteredProjectSummary,proto3" json:"filtered_project_summary,omitempty"` + state protoimpl.MessageState `protogen:"open.v1"` + FilteredProjectSummary string `protobuf:"bytes,1,opt,name=filtered_project_summary,json=filteredProjectSummary,proto3" json:"filtered_project_summary,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *RequireEmployeeFilteredProjectSummaryByIdResult) Reset() { *x = RequireEmployeeFilteredProjectSummaryByIdResult{} - if protoimpl.UnsafeEnabled { - mi := &file_generated_service_proto_msgTypes[149] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_service_proto_msgTypes[149] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *RequireEmployeeFilteredProjectSummaryByIdResult) String() string { @@ -7743,8 +7300,8 @@ func (x *RequireEmployeeFilteredProjectSummaryByIdResult) String() string { func (*RequireEmployeeFilteredProjectSummaryByIdResult) ProtoMessage() {} func (x *RequireEmployeeFilteredProjectSummaryByIdResult) ProtoReflect() protoreflect.Message { - mi := &file_generated_service_proto_msgTypes[149] - if protoimpl.UnsafeEnabled && x != nil { + mi := &file_service_proto_msgTypes[149] + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -7756,7 +7313,7 @@ func (x *RequireEmployeeFilteredProjectSummaryByIdResult) ProtoReflect() protore // Deprecated: Use RequireEmployeeFilteredProjectSummaryByIdResult.ProtoReflect.Descriptor instead. func (*RequireEmployeeFilteredProjectSummaryByIdResult) Descriptor() ([]byte, []int) { - return file_generated_service_proto_rawDescGZIP(), []int{149} + return file_service_proto_rawDescGZIP(), []int{149} } func (x *RequireEmployeeFilteredProjectSummaryByIdResult) GetFilteredProjectSummary() string { @@ -7767,20 +7324,17 @@ func (x *RequireEmployeeFilteredProjectSummaryByIdResult) GetFilteredProjectSumm } type RequireEmployeeFilteredProjectSummaryByIdFields struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache + state protoimpl.MessageState `protogen:"open.v1"` + Expertise string `protobuf:"bytes,1,opt,name=expertise,proto3" json:"expertise,omitempty"` unknownFields protoimpl.UnknownFields - - Expertise string `protobuf:"bytes,1,opt,name=expertise,proto3" json:"expertise,omitempty"` + sizeCache protoimpl.SizeCache } func (x *RequireEmployeeFilteredProjectSummaryByIdFields) Reset() { *x = RequireEmployeeFilteredProjectSummaryByIdFields{} - if protoimpl.UnsafeEnabled { - mi := &file_generated_service_proto_msgTypes[150] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_service_proto_msgTypes[150] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *RequireEmployeeFilteredProjectSummaryByIdFields) String() string { @@ -7790,8 +7344,8 @@ func (x *RequireEmployeeFilteredProjectSummaryByIdFields) String() string { func (*RequireEmployeeFilteredProjectSummaryByIdFields) ProtoMessage() {} func (x *RequireEmployeeFilteredProjectSummaryByIdFields) ProtoReflect() protoreflect.Message { - mi := &file_generated_service_proto_msgTypes[150] - if protoimpl.UnsafeEnabled && x != nil { + mi := &file_service_proto_msgTypes[150] + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -7803,7 +7357,7 @@ func (x *RequireEmployeeFilteredProjectSummaryByIdFields) ProtoReflect() protore // Deprecated: Use RequireEmployeeFilteredProjectSummaryByIdFields.ProtoReflect.Descriptor instead. func (*RequireEmployeeFilteredProjectSummaryByIdFields) Descriptor() ([]byte, []int) { - return file_generated_service_proto_rawDescGZIP(), []int{150} + return file_service_proto_rawDescGZIP(), []int{150} } func (x *RequireEmployeeFilteredProjectSummaryByIdFields) GetExpertise() string { @@ -7814,21 +7368,18 @@ func (x *RequireEmployeeFilteredProjectSummaryByIdFields) GetExpertise() string } type RequireEmployeeWorkItemInfoByIdRequest struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - + state protoimpl.MessageState `protogen:"open.v1"` // RequireEmployeeWorkItemInfoByIdContext provides the context for the required fields method RequireEmployeeWorkItemInfoById. - Context []*RequireEmployeeWorkItemInfoByIdContext `protobuf:"bytes,1,rep,name=context,proto3" json:"context,omitempty"` + Context []*RequireEmployeeWorkItemInfoByIdContext `protobuf:"bytes,1,rep,name=context,proto3" json:"context,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *RequireEmployeeWorkItemInfoByIdRequest) Reset() { *x = RequireEmployeeWorkItemInfoByIdRequest{} - if protoimpl.UnsafeEnabled { - mi := &file_generated_service_proto_msgTypes[151] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_service_proto_msgTypes[151] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *RequireEmployeeWorkItemInfoByIdRequest) String() string { @@ -7838,8 +7389,8 @@ func (x *RequireEmployeeWorkItemInfoByIdRequest) String() string { func (*RequireEmployeeWorkItemInfoByIdRequest) ProtoMessage() {} func (x *RequireEmployeeWorkItemInfoByIdRequest) ProtoReflect() protoreflect.Message { - mi := &file_generated_service_proto_msgTypes[151] - if protoimpl.UnsafeEnabled && x != nil { + mi := &file_service_proto_msgTypes[151] + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -7851,7 +7402,7 @@ func (x *RequireEmployeeWorkItemInfoByIdRequest) ProtoReflect() protoreflect.Mes // Deprecated: Use RequireEmployeeWorkItemInfoByIdRequest.ProtoReflect.Descriptor instead. func (*RequireEmployeeWorkItemInfoByIdRequest) Descriptor() ([]byte, []int) { - return file_generated_service_proto_rawDescGZIP(), []int{151} + return file_service_proto_rawDescGZIP(), []int{151} } func (x *RequireEmployeeWorkItemInfoByIdRequest) GetContext() []*RequireEmployeeWorkItemInfoByIdContext { @@ -7862,21 +7413,18 @@ func (x *RequireEmployeeWorkItemInfoByIdRequest) GetContext() []*RequireEmployee } type RequireEmployeeWorkItemInfoByIdContext struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache + state protoimpl.MessageState `protogen:"open.v1"` + Key *LookupEmployeeByIdRequestKey `protobuf:"bytes,1,opt,name=key,proto3" json:"key,omitempty"` + Fields *RequireEmployeeWorkItemInfoByIdFields `protobuf:"bytes,2,opt,name=fields,proto3" json:"fields,omitempty"` unknownFields protoimpl.UnknownFields - - Key *LookupEmployeeByIdRequestKey `protobuf:"bytes,1,opt,name=key,proto3" json:"key,omitempty"` - Fields *RequireEmployeeWorkItemInfoByIdFields `protobuf:"bytes,2,opt,name=fields,proto3" json:"fields,omitempty"` + sizeCache protoimpl.SizeCache } func (x *RequireEmployeeWorkItemInfoByIdContext) Reset() { *x = RequireEmployeeWorkItemInfoByIdContext{} - if protoimpl.UnsafeEnabled { - mi := &file_generated_service_proto_msgTypes[152] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_service_proto_msgTypes[152] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *RequireEmployeeWorkItemInfoByIdContext) String() string { @@ -7886,8 +7434,8 @@ func (x *RequireEmployeeWorkItemInfoByIdContext) String() string { func (*RequireEmployeeWorkItemInfoByIdContext) ProtoMessage() {} func (x *RequireEmployeeWorkItemInfoByIdContext) ProtoReflect() protoreflect.Message { - mi := &file_generated_service_proto_msgTypes[152] - if protoimpl.UnsafeEnabled && x != nil { + mi := &file_service_proto_msgTypes[152] + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -7899,7 +7447,7 @@ func (x *RequireEmployeeWorkItemInfoByIdContext) ProtoReflect() protoreflect.Mes // Deprecated: Use RequireEmployeeWorkItemInfoByIdContext.ProtoReflect.Descriptor instead. func (*RequireEmployeeWorkItemInfoByIdContext) Descriptor() ([]byte, []int) { - return file_generated_service_proto_rawDescGZIP(), []int{152} + return file_service_proto_rawDescGZIP(), []int{152} } func (x *RequireEmployeeWorkItemInfoByIdContext) GetKey() *LookupEmployeeByIdRequestKey { @@ -7917,21 +7465,18 @@ func (x *RequireEmployeeWorkItemInfoByIdContext) GetFields() *RequireEmployeeWor } type RequireEmployeeWorkItemInfoByIdResponse struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - + state protoimpl.MessageState `protogen:"open.v1"` // RequireEmployeeWorkItemInfoByIdResult provides the result for the required fields method RequireEmployeeWorkItemInfoById. - Result []*RequireEmployeeWorkItemInfoByIdResult `protobuf:"bytes,1,rep,name=result,proto3" json:"result,omitempty"` + Result []*RequireEmployeeWorkItemInfoByIdResult `protobuf:"bytes,1,rep,name=result,proto3" json:"result,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *RequireEmployeeWorkItemInfoByIdResponse) Reset() { *x = RequireEmployeeWorkItemInfoByIdResponse{} - if protoimpl.UnsafeEnabled { - mi := &file_generated_service_proto_msgTypes[153] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_service_proto_msgTypes[153] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *RequireEmployeeWorkItemInfoByIdResponse) String() string { @@ -7941,8 +7486,8 @@ func (x *RequireEmployeeWorkItemInfoByIdResponse) String() string { func (*RequireEmployeeWorkItemInfoByIdResponse) ProtoMessage() {} func (x *RequireEmployeeWorkItemInfoByIdResponse) ProtoReflect() protoreflect.Message { - mi := &file_generated_service_proto_msgTypes[153] - if protoimpl.UnsafeEnabled && x != nil { + mi := &file_service_proto_msgTypes[153] + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -7954,7 +7499,7 @@ func (x *RequireEmployeeWorkItemInfoByIdResponse) ProtoReflect() protoreflect.Me // Deprecated: Use RequireEmployeeWorkItemInfoByIdResponse.ProtoReflect.Descriptor instead. func (*RequireEmployeeWorkItemInfoByIdResponse) Descriptor() ([]byte, []int) { - return file_generated_service_proto_rawDescGZIP(), []int{153} + return file_service_proto_rawDescGZIP(), []int{153} } func (x *RequireEmployeeWorkItemInfoByIdResponse) GetResult() []*RequireEmployeeWorkItemInfoByIdResult { @@ -7965,20 +7510,17 @@ func (x *RequireEmployeeWorkItemInfoByIdResponse) GetResult() []*RequireEmployee } type RequireEmployeeWorkItemInfoByIdResult struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache + state protoimpl.MessageState `protogen:"open.v1"` + WorkItemInfo string `protobuf:"bytes,1,opt,name=work_item_info,json=workItemInfo,proto3" json:"work_item_info,omitempty"` unknownFields protoimpl.UnknownFields - - WorkItemInfo string `protobuf:"bytes,1,opt,name=work_item_info,json=workItemInfo,proto3" json:"work_item_info,omitempty"` + sizeCache protoimpl.SizeCache } func (x *RequireEmployeeWorkItemInfoByIdResult) Reset() { *x = RequireEmployeeWorkItemInfoByIdResult{} - if protoimpl.UnsafeEnabled { - mi := &file_generated_service_proto_msgTypes[154] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_service_proto_msgTypes[154] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *RequireEmployeeWorkItemInfoByIdResult) String() string { @@ -7988,8 +7530,8 @@ func (x *RequireEmployeeWorkItemInfoByIdResult) String() string { func (*RequireEmployeeWorkItemInfoByIdResult) ProtoMessage() {} func (x *RequireEmployeeWorkItemInfoByIdResult) ProtoReflect() protoreflect.Message { - mi := &file_generated_service_proto_msgTypes[154] - if protoimpl.UnsafeEnabled && x != nil { + mi := &file_service_proto_msgTypes[154] + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -8001,7 +7543,7 @@ func (x *RequireEmployeeWorkItemInfoByIdResult) ProtoReflect() protoreflect.Mess // Deprecated: Use RequireEmployeeWorkItemInfoByIdResult.ProtoReflect.Descriptor instead. func (*RequireEmployeeWorkItemInfoByIdResult) Descriptor() ([]byte, []int) { - return file_generated_service_proto_rawDescGZIP(), []int{154} + return file_service_proto_rawDescGZIP(), []int{154} } func (x *RequireEmployeeWorkItemInfoByIdResult) GetWorkItemInfo() string { @@ -8012,20 +7554,17 @@ func (x *RequireEmployeeWorkItemInfoByIdResult) GetWorkItemInfo() string { } type RequireEmployeeWorkItemInfoByIdFields struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - + state protoimpl.MessageState `protogen:"open.v1"` PrimaryWorkItem *RequireEmployeeWorkItemInfoByIdFields_EmployeeWorkItem `protobuf:"bytes,1,opt,name=primary_work_item,json=primaryWorkItem,proto3" json:"primary_work_item,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *RequireEmployeeWorkItemInfoByIdFields) Reset() { *x = RequireEmployeeWorkItemInfoByIdFields{} - if protoimpl.UnsafeEnabled { - mi := &file_generated_service_proto_msgTypes[155] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_service_proto_msgTypes[155] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *RequireEmployeeWorkItemInfoByIdFields) String() string { @@ -8035,8 +7574,8 @@ func (x *RequireEmployeeWorkItemInfoByIdFields) String() string { func (*RequireEmployeeWorkItemInfoByIdFields) ProtoMessage() {} func (x *RequireEmployeeWorkItemInfoByIdFields) ProtoReflect() protoreflect.Message { - mi := &file_generated_service_proto_msgTypes[155] - if protoimpl.UnsafeEnabled && x != nil { + mi := &file_service_proto_msgTypes[155] + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -8048,7 +7587,7 @@ func (x *RequireEmployeeWorkItemInfoByIdFields) ProtoReflect() protoreflect.Mess // Deprecated: Use RequireEmployeeWorkItemInfoByIdFields.ProtoReflect.Descriptor instead. func (*RequireEmployeeWorkItemInfoByIdFields) Descriptor() ([]byte, []int) { - return file_generated_service_proto_rawDescGZIP(), []int{155} + return file_service_proto_rawDescGZIP(), []int{155} } func (x *RequireEmployeeWorkItemInfoByIdFields) GetPrimaryWorkItem() *RequireEmployeeWorkItemInfoByIdFields_EmployeeWorkItem { @@ -8059,21 +7598,18 @@ func (x *RequireEmployeeWorkItemInfoByIdFields) GetPrimaryWorkItem() *RequireEmp } type RequireEmployeeReviewReportByIdRequest struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - + state protoimpl.MessageState `protogen:"open.v1"` // RequireEmployeeReviewReportByIdContext provides the context for the required fields method RequireEmployeeReviewReportById. - Context []*RequireEmployeeReviewReportByIdContext `protobuf:"bytes,1,rep,name=context,proto3" json:"context,omitempty"` + Context []*RequireEmployeeReviewReportByIdContext `protobuf:"bytes,1,rep,name=context,proto3" json:"context,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *RequireEmployeeReviewReportByIdRequest) Reset() { *x = RequireEmployeeReviewReportByIdRequest{} - if protoimpl.UnsafeEnabled { - mi := &file_generated_service_proto_msgTypes[156] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_service_proto_msgTypes[156] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *RequireEmployeeReviewReportByIdRequest) String() string { @@ -8083,8 +7619,8 @@ func (x *RequireEmployeeReviewReportByIdRequest) String() string { func (*RequireEmployeeReviewReportByIdRequest) ProtoMessage() {} func (x *RequireEmployeeReviewReportByIdRequest) ProtoReflect() protoreflect.Message { - mi := &file_generated_service_proto_msgTypes[156] - if protoimpl.UnsafeEnabled && x != nil { + mi := &file_service_proto_msgTypes[156] + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -8096,7 +7632,7 @@ func (x *RequireEmployeeReviewReportByIdRequest) ProtoReflect() protoreflect.Mes // Deprecated: Use RequireEmployeeReviewReportByIdRequest.ProtoReflect.Descriptor instead. func (*RequireEmployeeReviewReportByIdRequest) Descriptor() ([]byte, []int) { - return file_generated_service_proto_rawDescGZIP(), []int{156} + return file_service_proto_rawDescGZIP(), []int{156} } func (x *RequireEmployeeReviewReportByIdRequest) GetContext() []*RequireEmployeeReviewReportByIdContext { @@ -8107,21 +7643,18 @@ func (x *RequireEmployeeReviewReportByIdRequest) GetContext() []*RequireEmployee } type RequireEmployeeReviewReportByIdContext struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache + state protoimpl.MessageState `protogen:"open.v1"` + Key *LookupEmployeeByIdRequestKey `protobuf:"bytes,1,opt,name=key,proto3" json:"key,omitempty"` + Fields *RequireEmployeeReviewReportByIdFields `protobuf:"bytes,2,opt,name=fields,proto3" json:"fields,omitempty"` unknownFields protoimpl.UnknownFields - - Key *LookupEmployeeByIdRequestKey `protobuf:"bytes,1,opt,name=key,proto3" json:"key,omitempty"` - Fields *RequireEmployeeReviewReportByIdFields `protobuf:"bytes,2,opt,name=fields,proto3" json:"fields,omitempty"` + sizeCache protoimpl.SizeCache } func (x *RequireEmployeeReviewReportByIdContext) Reset() { *x = RequireEmployeeReviewReportByIdContext{} - if protoimpl.UnsafeEnabled { - mi := &file_generated_service_proto_msgTypes[157] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_service_proto_msgTypes[157] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *RequireEmployeeReviewReportByIdContext) String() string { @@ -8131,8 +7664,8 @@ func (x *RequireEmployeeReviewReportByIdContext) String() string { func (*RequireEmployeeReviewReportByIdContext) ProtoMessage() {} func (x *RequireEmployeeReviewReportByIdContext) ProtoReflect() protoreflect.Message { - mi := &file_generated_service_proto_msgTypes[157] - if protoimpl.UnsafeEnabled && x != nil { + mi := &file_service_proto_msgTypes[157] + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -8144,7 +7677,7 @@ func (x *RequireEmployeeReviewReportByIdContext) ProtoReflect() protoreflect.Mes // Deprecated: Use RequireEmployeeReviewReportByIdContext.ProtoReflect.Descriptor instead. func (*RequireEmployeeReviewReportByIdContext) Descriptor() ([]byte, []int) { - return file_generated_service_proto_rawDescGZIP(), []int{157} + return file_service_proto_rawDescGZIP(), []int{157} } func (x *RequireEmployeeReviewReportByIdContext) GetKey() *LookupEmployeeByIdRequestKey { @@ -8162,21 +7695,18 @@ func (x *RequireEmployeeReviewReportByIdContext) GetFields() *RequireEmployeeRev } type RequireEmployeeReviewReportByIdResponse struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - + state protoimpl.MessageState `protogen:"open.v1"` // RequireEmployeeReviewReportByIdResult provides the result for the required fields method RequireEmployeeReviewReportById. - Result []*RequireEmployeeReviewReportByIdResult `protobuf:"bytes,1,rep,name=result,proto3" json:"result,omitempty"` + Result []*RequireEmployeeReviewReportByIdResult `protobuf:"bytes,1,rep,name=result,proto3" json:"result,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *RequireEmployeeReviewReportByIdResponse) Reset() { *x = RequireEmployeeReviewReportByIdResponse{} - if protoimpl.UnsafeEnabled { - mi := &file_generated_service_proto_msgTypes[158] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_service_proto_msgTypes[158] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *RequireEmployeeReviewReportByIdResponse) String() string { @@ -8186,8 +7716,8 @@ func (x *RequireEmployeeReviewReportByIdResponse) String() string { func (*RequireEmployeeReviewReportByIdResponse) ProtoMessage() {} func (x *RequireEmployeeReviewReportByIdResponse) ProtoReflect() protoreflect.Message { - mi := &file_generated_service_proto_msgTypes[158] - if protoimpl.UnsafeEnabled && x != nil { + mi := &file_service_proto_msgTypes[158] + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -8199,7 +7729,7 @@ func (x *RequireEmployeeReviewReportByIdResponse) ProtoReflect() protoreflect.Me // Deprecated: Use RequireEmployeeReviewReportByIdResponse.ProtoReflect.Descriptor instead. func (*RequireEmployeeReviewReportByIdResponse) Descriptor() ([]byte, []int) { - return file_generated_service_proto_rawDescGZIP(), []int{158} + return file_service_proto_rawDescGZIP(), []int{158} } func (x *RequireEmployeeReviewReportByIdResponse) GetResult() []*RequireEmployeeReviewReportByIdResult { @@ -8210,20 +7740,17 @@ func (x *RequireEmployeeReviewReportByIdResponse) GetResult() []*RequireEmployee } type RequireEmployeeReviewReportByIdResult struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache + state protoimpl.MessageState `protogen:"open.v1"` + ReviewReport string `protobuf:"bytes,1,opt,name=review_report,json=reviewReport,proto3" json:"review_report,omitempty"` unknownFields protoimpl.UnknownFields - - ReviewReport string `protobuf:"bytes,1,opt,name=review_report,json=reviewReport,proto3" json:"review_report,omitempty"` + sizeCache protoimpl.SizeCache } func (x *RequireEmployeeReviewReportByIdResult) Reset() { *x = RequireEmployeeReviewReportByIdResult{} - if protoimpl.UnsafeEnabled { - mi := &file_generated_service_proto_msgTypes[159] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_service_proto_msgTypes[159] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *RequireEmployeeReviewReportByIdResult) String() string { @@ -8233,8 +7760,8 @@ func (x *RequireEmployeeReviewReportByIdResult) String() string { func (*RequireEmployeeReviewReportByIdResult) ProtoMessage() {} func (x *RequireEmployeeReviewReportByIdResult) ProtoReflect() protoreflect.Message { - mi := &file_generated_service_proto_msgTypes[159] - if protoimpl.UnsafeEnabled && x != nil { + mi := &file_service_proto_msgTypes[159] + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -8246,7 +7773,7 @@ func (x *RequireEmployeeReviewReportByIdResult) ProtoReflect() protoreflect.Mess // Deprecated: Use RequireEmployeeReviewReportByIdResult.ProtoReflect.Descriptor instead. func (*RequireEmployeeReviewReportByIdResult) Descriptor() ([]byte, []int) { - return file_generated_service_proto_rawDescGZIP(), []int{159} + return file_service_proto_rawDescGZIP(), []int{159} } func (x *RequireEmployeeReviewReportByIdResult) GetReviewReport() string { @@ -8257,20 +7784,17 @@ func (x *RequireEmployeeReviewReportByIdResult) GetReviewReport() string { } type RequireEmployeeReviewReportByIdFields struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - + state protoimpl.MessageState `protogen:"open.v1"` LastWorkReview *RequireEmployeeReviewReportByIdFields_WorkReviewResult `protobuf:"bytes,1,opt,name=last_work_review,json=lastWorkReview,proto3" json:"last_work_review,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *RequireEmployeeReviewReportByIdFields) Reset() { *x = RequireEmployeeReviewReportByIdFields{} - if protoimpl.UnsafeEnabled { - mi := &file_generated_service_proto_msgTypes[160] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_service_proto_msgTypes[160] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *RequireEmployeeReviewReportByIdFields) String() string { @@ -8280,8 +7804,8 @@ func (x *RequireEmployeeReviewReportByIdFields) String() string { func (*RequireEmployeeReviewReportByIdFields) ProtoMessage() {} func (x *RequireEmployeeReviewReportByIdFields) ProtoReflect() protoreflect.Message { - mi := &file_generated_service_proto_msgTypes[160] - if protoimpl.UnsafeEnabled && x != nil { + mi := &file_service_proto_msgTypes[160] + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -8293,7 +7817,7 @@ func (x *RequireEmployeeReviewReportByIdFields) ProtoReflect() protoreflect.Mess // Deprecated: Use RequireEmployeeReviewReportByIdFields.ProtoReflect.Descriptor instead. func (*RequireEmployeeReviewReportByIdFields) Descriptor() ([]byte, []int) { - return file_generated_service_proto_rawDescGZIP(), []int{160} + return file_service_proto_rawDescGZIP(), []int{160} } func (x *RequireEmployeeReviewReportByIdFields) GetLastWorkReview() *RequireEmployeeReviewReportByIdFields_WorkReviewResult { @@ -8304,21 +7828,18 @@ func (x *RequireEmployeeReviewReportByIdFields) GetLastWorkReview() *RequireEmpl } type RequireEmployeeWorkSetupSummaryByIdRequest struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - + state protoimpl.MessageState `protogen:"open.v1"` // RequireEmployeeWorkSetupSummaryByIdContext provides the context for the required fields method RequireEmployeeWorkSetupSummaryById. - Context []*RequireEmployeeWorkSetupSummaryByIdContext `protobuf:"bytes,1,rep,name=context,proto3" json:"context,omitempty"` + Context []*RequireEmployeeWorkSetupSummaryByIdContext `protobuf:"bytes,1,rep,name=context,proto3" json:"context,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *RequireEmployeeWorkSetupSummaryByIdRequest) Reset() { *x = RequireEmployeeWorkSetupSummaryByIdRequest{} - if protoimpl.UnsafeEnabled { - mi := &file_generated_service_proto_msgTypes[161] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_service_proto_msgTypes[161] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *RequireEmployeeWorkSetupSummaryByIdRequest) String() string { @@ -8328,8 +7849,8 @@ func (x *RequireEmployeeWorkSetupSummaryByIdRequest) String() string { func (*RequireEmployeeWorkSetupSummaryByIdRequest) ProtoMessage() {} func (x *RequireEmployeeWorkSetupSummaryByIdRequest) ProtoReflect() protoreflect.Message { - mi := &file_generated_service_proto_msgTypes[161] - if protoimpl.UnsafeEnabled && x != nil { + mi := &file_service_proto_msgTypes[161] + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -8341,7 +7862,7 @@ func (x *RequireEmployeeWorkSetupSummaryByIdRequest) ProtoReflect() protoreflect // Deprecated: Use RequireEmployeeWorkSetupSummaryByIdRequest.ProtoReflect.Descriptor instead. func (*RequireEmployeeWorkSetupSummaryByIdRequest) Descriptor() ([]byte, []int) { - return file_generated_service_proto_rawDescGZIP(), []int{161} + return file_service_proto_rawDescGZIP(), []int{161} } func (x *RequireEmployeeWorkSetupSummaryByIdRequest) GetContext() []*RequireEmployeeWorkSetupSummaryByIdContext { @@ -8352,21 +7873,18 @@ func (x *RequireEmployeeWorkSetupSummaryByIdRequest) GetContext() []*RequireEmpl } type RequireEmployeeWorkSetupSummaryByIdContext struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache + state protoimpl.MessageState `protogen:"open.v1"` + Key *LookupEmployeeByIdRequestKey `protobuf:"bytes,1,opt,name=key,proto3" json:"key,omitempty"` + Fields *RequireEmployeeWorkSetupSummaryByIdFields `protobuf:"bytes,2,opt,name=fields,proto3" json:"fields,omitempty"` unknownFields protoimpl.UnknownFields - - Key *LookupEmployeeByIdRequestKey `protobuf:"bytes,1,opt,name=key,proto3" json:"key,omitempty"` - Fields *RequireEmployeeWorkSetupSummaryByIdFields `protobuf:"bytes,2,opt,name=fields,proto3" json:"fields,omitempty"` + sizeCache protoimpl.SizeCache } func (x *RequireEmployeeWorkSetupSummaryByIdContext) Reset() { *x = RequireEmployeeWorkSetupSummaryByIdContext{} - if protoimpl.UnsafeEnabled { - mi := &file_generated_service_proto_msgTypes[162] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_service_proto_msgTypes[162] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *RequireEmployeeWorkSetupSummaryByIdContext) String() string { @@ -8376,8 +7894,8 @@ func (x *RequireEmployeeWorkSetupSummaryByIdContext) String() string { func (*RequireEmployeeWorkSetupSummaryByIdContext) ProtoMessage() {} func (x *RequireEmployeeWorkSetupSummaryByIdContext) ProtoReflect() protoreflect.Message { - mi := &file_generated_service_proto_msgTypes[162] - if protoimpl.UnsafeEnabled && x != nil { + mi := &file_service_proto_msgTypes[162] + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -8389,7 +7907,7 @@ func (x *RequireEmployeeWorkSetupSummaryByIdContext) ProtoReflect() protoreflect // Deprecated: Use RequireEmployeeWorkSetupSummaryByIdContext.ProtoReflect.Descriptor instead. func (*RequireEmployeeWorkSetupSummaryByIdContext) Descriptor() ([]byte, []int) { - return file_generated_service_proto_rawDescGZIP(), []int{162} + return file_service_proto_rawDescGZIP(), []int{162} } func (x *RequireEmployeeWorkSetupSummaryByIdContext) GetKey() *LookupEmployeeByIdRequestKey { @@ -8407,21 +7925,18 @@ func (x *RequireEmployeeWorkSetupSummaryByIdContext) GetFields() *RequireEmploye } type RequireEmployeeWorkSetupSummaryByIdResponse struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - + state protoimpl.MessageState `protogen:"open.v1"` // RequireEmployeeWorkSetupSummaryByIdResult provides the result for the required fields method RequireEmployeeWorkSetupSummaryById. - Result []*RequireEmployeeWorkSetupSummaryByIdResult `protobuf:"bytes,1,rep,name=result,proto3" json:"result,omitempty"` + Result []*RequireEmployeeWorkSetupSummaryByIdResult `protobuf:"bytes,1,rep,name=result,proto3" json:"result,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *RequireEmployeeWorkSetupSummaryByIdResponse) Reset() { *x = RequireEmployeeWorkSetupSummaryByIdResponse{} - if protoimpl.UnsafeEnabled { - mi := &file_generated_service_proto_msgTypes[163] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_service_proto_msgTypes[163] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *RequireEmployeeWorkSetupSummaryByIdResponse) String() string { @@ -8431,8 +7946,8 @@ func (x *RequireEmployeeWorkSetupSummaryByIdResponse) String() string { func (*RequireEmployeeWorkSetupSummaryByIdResponse) ProtoMessage() {} func (x *RequireEmployeeWorkSetupSummaryByIdResponse) ProtoReflect() protoreflect.Message { - mi := &file_generated_service_proto_msgTypes[163] - if protoimpl.UnsafeEnabled && x != nil { + mi := &file_service_proto_msgTypes[163] + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -8444,7 +7959,7 @@ func (x *RequireEmployeeWorkSetupSummaryByIdResponse) ProtoReflect() protoreflec // Deprecated: Use RequireEmployeeWorkSetupSummaryByIdResponse.ProtoReflect.Descriptor instead. func (*RequireEmployeeWorkSetupSummaryByIdResponse) Descriptor() ([]byte, []int) { - return file_generated_service_proto_rawDescGZIP(), []int{163} + return file_service_proto_rawDescGZIP(), []int{163} } func (x *RequireEmployeeWorkSetupSummaryByIdResponse) GetResult() []*RequireEmployeeWorkSetupSummaryByIdResult { @@ -8455,20 +7970,17 @@ func (x *RequireEmployeeWorkSetupSummaryByIdResponse) GetResult() []*RequireEmpl } type RequireEmployeeWorkSetupSummaryByIdResult struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - WorkSetupSummary string `protobuf:"bytes,1,opt,name=work_setup_summary,json=workSetupSummary,proto3" json:"work_setup_summary,omitempty"` + state protoimpl.MessageState `protogen:"open.v1"` + WorkSetupSummary string `protobuf:"bytes,1,opt,name=work_setup_summary,json=workSetupSummary,proto3" json:"work_setup_summary,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *RequireEmployeeWorkSetupSummaryByIdResult) Reset() { *x = RequireEmployeeWorkSetupSummaryByIdResult{} - if protoimpl.UnsafeEnabled { - mi := &file_generated_service_proto_msgTypes[164] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_service_proto_msgTypes[164] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *RequireEmployeeWorkSetupSummaryByIdResult) String() string { @@ -8478,8 +7990,8 @@ func (x *RequireEmployeeWorkSetupSummaryByIdResult) String() string { func (*RequireEmployeeWorkSetupSummaryByIdResult) ProtoMessage() {} func (x *RequireEmployeeWorkSetupSummaryByIdResult) ProtoReflect() protoreflect.Message { - mi := &file_generated_service_proto_msgTypes[164] - if protoimpl.UnsafeEnabled && x != nil { + mi := &file_service_proto_msgTypes[164] + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -8491,7 +8003,7 @@ func (x *RequireEmployeeWorkSetupSummaryByIdResult) ProtoReflect() protoreflect. // Deprecated: Use RequireEmployeeWorkSetupSummaryByIdResult.ProtoReflect.Descriptor instead. func (*RequireEmployeeWorkSetupSummaryByIdResult) Descriptor() ([]byte, []int) { - return file_generated_service_proto_rawDescGZIP(), []int{164} + return file_service_proto_rawDescGZIP(), []int{164} } func (x *RequireEmployeeWorkSetupSummaryByIdResult) GetWorkSetupSummary() string { @@ -8502,20 +8014,17 @@ func (x *RequireEmployeeWorkSetupSummaryByIdResult) GetWorkSetupSummary() string } type RequireEmployeeWorkSetupSummaryByIdFields struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache + state protoimpl.MessageState `protogen:"open.v1"` + WorkSetup *RequireEmployeeWorkSetupSummaryByIdFields_WorkSetup `protobuf:"bytes,1,opt,name=work_setup,json=workSetup,proto3" json:"work_setup,omitempty"` unknownFields protoimpl.UnknownFields - - WorkSetup *RequireEmployeeWorkSetupSummaryByIdFields_WorkSetup `protobuf:"bytes,1,opt,name=work_setup,json=workSetup,proto3" json:"work_setup,omitempty"` + sizeCache protoimpl.SizeCache } func (x *RequireEmployeeWorkSetupSummaryByIdFields) Reset() { *x = RequireEmployeeWorkSetupSummaryByIdFields{} - if protoimpl.UnsafeEnabled { - mi := &file_generated_service_proto_msgTypes[165] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_service_proto_msgTypes[165] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *RequireEmployeeWorkSetupSummaryByIdFields) String() string { @@ -8525,8 +8034,8 @@ func (x *RequireEmployeeWorkSetupSummaryByIdFields) String() string { func (*RequireEmployeeWorkSetupSummaryByIdFields) ProtoMessage() {} func (x *RequireEmployeeWorkSetupSummaryByIdFields) ProtoReflect() protoreflect.Message { - mi := &file_generated_service_proto_msgTypes[165] - if protoimpl.UnsafeEnabled && x != nil { + mi := &file_service_proto_msgTypes[165] + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -8538,7 +8047,7 @@ func (x *RequireEmployeeWorkSetupSummaryByIdFields) ProtoReflect() protoreflect. // Deprecated: Use RequireEmployeeWorkSetupSummaryByIdFields.ProtoReflect.Descriptor instead. func (*RequireEmployeeWorkSetupSummaryByIdFields) Descriptor() ([]byte, []int) { - return file_generated_service_proto_rawDescGZIP(), []int{165} + return file_service_proto_rawDescGZIP(), []int{165} } func (x *RequireEmployeeWorkSetupSummaryByIdFields) GetWorkSetup() *RequireEmployeeWorkSetupSummaryByIdFields_WorkSetup { @@ -8549,21 +8058,18 @@ func (x *RequireEmployeeWorkSetupSummaryByIdFields) GetWorkSetup() *RequireEmplo } type RequireEmployeeWorkItemHandlerInfoByIdRequest struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - + state protoimpl.MessageState `protogen:"open.v1"` // RequireEmployeeWorkItemHandlerInfoByIdContext provides the context for the required fields method RequireEmployeeWorkItemHandlerInfoById. - Context []*RequireEmployeeWorkItemHandlerInfoByIdContext `protobuf:"bytes,1,rep,name=context,proto3" json:"context,omitempty"` + Context []*RequireEmployeeWorkItemHandlerInfoByIdContext `protobuf:"bytes,1,rep,name=context,proto3" json:"context,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *RequireEmployeeWorkItemHandlerInfoByIdRequest) Reset() { *x = RequireEmployeeWorkItemHandlerInfoByIdRequest{} - if protoimpl.UnsafeEnabled { - mi := &file_generated_service_proto_msgTypes[166] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_service_proto_msgTypes[166] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *RequireEmployeeWorkItemHandlerInfoByIdRequest) String() string { @@ -8573,8 +8079,8 @@ func (x *RequireEmployeeWorkItemHandlerInfoByIdRequest) String() string { func (*RequireEmployeeWorkItemHandlerInfoByIdRequest) ProtoMessage() {} func (x *RequireEmployeeWorkItemHandlerInfoByIdRequest) ProtoReflect() protoreflect.Message { - mi := &file_generated_service_proto_msgTypes[166] - if protoimpl.UnsafeEnabled && x != nil { + mi := &file_service_proto_msgTypes[166] + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -8586,7 +8092,7 @@ func (x *RequireEmployeeWorkItemHandlerInfoByIdRequest) ProtoReflect() protorefl // Deprecated: Use RequireEmployeeWorkItemHandlerInfoByIdRequest.ProtoReflect.Descriptor instead. func (*RequireEmployeeWorkItemHandlerInfoByIdRequest) Descriptor() ([]byte, []int) { - return file_generated_service_proto_rawDescGZIP(), []int{166} + return file_service_proto_rawDescGZIP(), []int{166} } func (x *RequireEmployeeWorkItemHandlerInfoByIdRequest) GetContext() []*RequireEmployeeWorkItemHandlerInfoByIdContext { @@ -8597,21 +8103,18 @@ func (x *RequireEmployeeWorkItemHandlerInfoByIdRequest) GetContext() []*RequireE } type RequireEmployeeWorkItemHandlerInfoByIdContext struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache + state protoimpl.MessageState `protogen:"open.v1"` + Key *LookupEmployeeByIdRequestKey `protobuf:"bytes,1,opt,name=key,proto3" json:"key,omitempty"` + Fields *RequireEmployeeWorkItemHandlerInfoByIdFields `protobuf:"bytes,2,opt,name=fields,proto3" json:"fields,omitempty"` unknownFields protoimpl.UnknownFields - - Key *LookupEmployeeByIdRequestKey `protobuf:"bytes,1,opt,name=key,proto3" json:"key,omitempty"` - Fields *RequireEmployeeWorkItemHandlerInfoByIdFields `protobuf:"bytes,2,opt,name=fields,proto3" json:"fields,omitempty"` + sizeCache protoimpl.SizeCache } func (x *RequireEmployeeWorkItemHandlerInfoByIdContext) Reset() { *x = RequireEmployeeWorkItemHandlerInfoByIdContext{} - if protoimpl.UnsafeEnabled { - mi := &file_generated_service_proto_msgTypes[167] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_service_proto_msgTypes[167] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *RequireEmployeeWorkItemHandlerInfoByIdContext) String() string { @@ -8621,8 +8124,8 @@ func (x *RequireEmployeeWorkItemHandlerInfoByIdContext) String() string { func (*RequireEmployeeWorkItemHandlerInfoByIdContext) ProtoMessage() {} func (x *RequireEmployeeWorkItemHandlerInfoByIdContext) ProtoReflect() protoreflect.Message { - mi := &file_generated_service_proto_msgTypes[167] - if protoimpl.UnsafeEnabled && x != nil { + mi := &file_service_proto_msgTypes[167] + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -8634,7 +8137,7 @@ func (x *RequireEmployeeWorkItemHandlerInfoByIdContext) ProtoReflect() protorefl // Deprecated: Use RequireEmployeeWorkItemHandlerInfoByIdContext.ProtoReflect.Descriptor instead. func (*RequireEmployeeWorkItemHandlerInfoByIdContext) Descriptor() ([]byte, []int) { - return file_generated_service_proto_rawDescGZIP(), []int{167} + return file_service_proto_rawDescGZIP(), []int{167} } func (x *RequireEmployeeWorkItemHandlerInfoByIdContext) GetKey() *LookupEmployeeByIdRequestKey { @@ -8652,21 +8155,18 @@ func (x *RequireEmployeeWorkItemHandlerInfoByIdContext) GetFields() *RequireEmpl } type RequireEmployeeWorkItemHandlerInfoByIdResponse struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - + state protoimpl.MessageState `protogen:"open.v1"` // RequireEmployeeWorkItemHandlerInfoByIdResult provides the result for the required fields method RequireEmployeeWorkItemHandlerInfoById. - Result []*RequireEmployeeWorkItemHandlerInfoByIdResult `protobuf:"bytes,1,rep,name=result,proto3" json:"result,omitempty"` + Result []*RequireEmployeeWorkItemHandlerInfoByIdResult `protobuf:"bytes,1,rep,name=result,proto3" json:"result,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *RequireEmployeeWorkItemHandlerInfoByIdResponse) Reset() { *x = RequireEmployeeWorkItemHandlerInfoByIdResponse{} - if protoimpl.UnsafeEnabled { - mi := &file_generated_service_proto_msgTypes[168] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_service_proto_msgTypes[168] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *RequireEmployeeWorkItemHandlerInfoByIdResponse) String() string { @@ -8676,8 +8176,8 @@ func (x *RequireEmployeeWorkItemHandlerInfoByIdResponse) String() string { func (*RequireEmployeeWorkItemHandlerInfoByIdResponse) ProtoMessage() {} func (x *RequireEmployeeWorkItemHandlerInfoByIdResponse) ProtoReflect() protoreflect.Message { - mi := &file_generated_service_proto_msgTypes[168] - if protoimpl.UnsafeEnabled && x != nil { + mi := &file_service_proto_msgTypes[168] + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -8689,7 +8189,7 @@ func (x *RequireEmployeeWorkItemHandlerInfoByIdResponse) ProtoReflect() protoref // Deprecated: Use RequireEmployeeWorkItemHandlerInfoByIdResponse.ProtoReflect.Descriptor instead. func (*RequireEmployeeWorkItemHandlerInfoByIdResponse) Descriptor() ([]byte, []int) { - return file_generated_service_proto_rawDescGZIP(), []int{168} + return file_service_proto_rawDescGZIP(), []int{168} } func (x *RequireEmployeeWorkItemHandlerInfoByIdResponse) GetResult() []*RequireEmployeeWorkItemHandlerInfoByIdResult { @@ -8700,20 +8200,17 @@ func (x *RequireEmployeeWorkItemHandlerInfoByIdResponse) GetResult() []*RequireE } type RequireEmployeeWorkItemHandlerInfoByIdResult struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - WorkItemHandlerInfo string `protobuf:"bytes,1,opt,name=work_item_handler_info,json=workItemHandlerInfo,proto3" json:"work_item_handler_info,omitempty"` + state protoimpl.MessageState `protogen:"open.v1"` + WorkItemHandlerInfo string `protobuf:"bytes,1,opt,name=work_item_handler_info,json=workItemHandlerInfo,proto3" json:"work_item_handler_info,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *RequireEmployeeWorkItemHandlerInfoByIdResult) Reset() { *x = RequireEmployeeWorkItemHandlerInfoByIdResult{} - if protoimpl.UnsafeEnabled { - mi := &file_generated_service_proto_msgTypes[169] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_service_proto_msgTypes[169] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *RequireEmployeeWorkItemHandlerInfoByIdResult) String() string { @@ -8723,8 +8220,8 @@ func (x *RequireEmployeeWorkItemHandlerInfoByIdResult) String() string { func (*RequireEmployeeWorkItemHandlerInfoByIdResult) ProtoMessage() {} func (x *RequireEmployeeWorkItemHandlerInfoByIdResult) ProtoReflect() protoreflect.Message { - mi := &file_generated_service_proto_msgTypes[169] - if protoimpl.UnsafeEnabled && x != nil { + mi := &file_service_proto_msgTypes[169] + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -8736,7 +8233,7 @@ func (x *RequireEmployeeWorkItemHandlerInfoByIdResult) ProtoReflect() protorefle // Deprecated: Use RequireEmployeeWorkItemHandlerInfoByIdResult.ProtoReflect.Descriptor instead. func (*RequireEmployeeWorkItemHandlerInfoByIdResult) Descriptor() ([]byte, []int) { - return file_generated_service_proto_rawDescGZIP(), []int{169} + return file_service_proto_rawDescGZIP(), []int{169} } func (x *RequireEmployeeWorkItemHandlerInfoByIdResult) GetWorkItemHandlerInfo() string { @@ -8747,20 +8244,17 @@ func (x *RequireEmployeeWorkItemHandlerInfoByIdResult) GetWorkItemHandlerInfo() } type RequireEmployeeWorkItemHandlerInfoByIdFields struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - + state protoimpl.MessageState `protogen:"open.v1"` PrimaryWorkItem *RequireEmployeeWorkItemHandlerInfoByIdFields_EmployeeWorkItem `protobuf:"bytes,1,opt,name=primary_work_item,json=primaryWorkItem,proto3" json:"primary_work_item,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *RequireEmployeeWorkItemHandlerInfoByIdFields) Reset() { *x = RequireEmployeeWorkItemHandlerInfoByIdFields{} - if protoimpl.UnsafeEnabled { - mi := &file_generated_service_proto_msgTypes[170] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_service_proto_msgTypes[170] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *RequireEmployeeWorkItemHandlerInfoByIdFields) String() string { @@ -8770,8 +8264,8 @@ func (x *RequireEmployeeWorkItemHandlerInfoByIdFields) String() string { func (*RequireEmployeeWorkItemHandlerInfoByIdFields) ProtoMessage() {} func (x *RequireEmployeeWorkItemHandlerInfoByIdFields) ProtoReflect() protoreflect.Message { - mi := &file_generated_service_proto_msgTypes[170] - if protoimpl.UnsafeEnabled && x != nil { + mi := &file_service_proto_msgTypes[170] + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -8783,7 +8277,7 @@ func (x *RequireEmployeeWorkItemHandlerInfoByIdFields) ProtoReflect() protorefle // Deprecated: Use RequireEmployeeWorkItemHandlerInfoByIdFields.ProtoReflect.Descriptor instead. func (*RequireEmployeeWorkItemHandlerInfoByIdFields) Descriptor() ([]byte, []int) { - return file_generated_service_proto_rawDescGZIP(), []int{170} + return file_service_proto_rawDescGZIP(), []int{170} } func (x *RequireEmployeeWorkItemHandlerInfoByIdFields) GetPrimaryWorkItem() *RequireEmployeeWorkItemHandlerInfoByIdFields_EmployeeWorkItem { @@ -8794,21 +8288,18 @@ func (x *RequireEmployeeWorkItemHandlerInfoByIdFields) GetPrimaryWorkItem() *Req } type RequireEmployeeWorkItemSpecsInfoByIdRequest struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - + state protoimpl.MessageState `protogen:"open.v1"` // RequireEmployeeWorkItemSpecsInfoByIdContext provides the context for the required fields method RequireEmployeeWorkItemSpecsInfoById. - Context []*RequireEmployeeWorkItemSpecsInfoByIdContext `protobuf:"bytes,1,rep,name=context,proto3" json:"context,omitempty"` + Context []*RequireEmployeeWorkItemSpecsInfoByIdContext `protobuf:"bytes,1,rep,name=context,proto3" json:"context,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *RequireEmployeeWorkItemSpecsInfoByIdRequest) Reset() { *x = RequireEmployeeWorkItemSpecsInfoByIdRequest{} - if protoimpl.UnsafeEnabled { - mi := &file_generated_service_proto_msgTypes[171] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_service_proto_msgTypes[171] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *RequireEmployeeWorkItemSpecsInfoByIdRequest) String() string { @@ -8818,8 +8309,8 @@ func (x *RequireEmployeeWorkItemSpecsInfoByIdRequest) String() string { func (*RequireEmployeeWorkItemSpecsInfoByIdRequest) ProtoMessage() {} func (x *RequireEmployeeWorkItemSpecsInfoByIdRequest) ProtoReflect() protoreflect.Message { - mi := &file_generated_service_proto_msgTypes[171] - if protoimpl.UnsafeEnabled && x != nil { + mi := &file_service_proto_msgTypes[171] + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -8831,7 +8322,7 @@ func (x *RequireEmployeeWorkItemSpecsInfoByIdRequest) ProtoReflect() protoreflec // Deprecated: Use RequireEmployeeWorkItemSpecsInfoByIdRequest.ProtoReflect.Descriptor instead. func (*RequireEmployeeWorkItemSpecsInfoByIdRequest) Descriptor() ([]byte, []int) { - return file_generated_service_proto_rawDescGZIP(), []int{171} + return file_service_proto_rawDescGZIP(), []int{171} } func (x *RequireEmployeeWorkItemSpecsInfoByIdRequest) GetContext() []*RequireEmployeeWorkItemSpecsInfoByIdContext { @@ -8842,21 +8333,18 @@ func (x *RequireEmployeeWorkItemSpecsInfoByIdRequest) GetContext() []*RequireEmp } type RequireEmployeeWorkItemSpecsInfoByIdContext struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache + state protoimpl.MessageState `protogen:"open.v1"` + Key *LookupEmployeeByIdRequestKey `protobuf:"bytes,1,opt,name=key,proto3" json:"key,omitempty"` + Fields *RequireEmployeeWorkItemSpecsInfoByIdFields `protobuf:"bytes,2,opt,name=fields,proto3" json:"fields,omitempty"` unknownFields protoimpl.UnknownFields - - Key *LookupEmployeeByIdRequestKey `protobuf:"bytes,1,opt,name=key,proto3" json:"key,omitempty"` - Fields *RequireEmployeeWorkItemSpecsInfoByIdFields `protobuf:"bytes,2,opt,name=fields,proto3" json:"fields,omitempty"` + sizeCache protoimpl.SizeCache } func (x *RequireEmployeeWorkItemSpecsInfoByIdContext) Reset() { *x = RequireEmployeeWorkItemSpecsInfoByIdContext{} - if protoimpl.UnsafeEnabled { - mi := &file_generated_service_proto_msgTypes[172] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_service_proto_msgTypes[172] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *RequireEmployeeWorkItemSpecsInfoByIdContext) String() string { @@ -8866,8 +8354,8 @@ func (x *RequireEmployeeWorkItemSpecsInfoByIdContext) String() string { func (*RequireEmployeeWorkItemSpecsInfoByIdContext) ProtoMessage() {} func (x *RequireEmployeeWorkItemSpecsInfoByIdContext) ProtoReflect() protoreflect.Message { - mi := &file_generated_service_proto_msgTypes[172] - if protoimpl.UnsafeEnabled && x != nil { + mi := &file_service_proto_msgTypes[172] + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -8879,7 +8367,7 @@ func (x *RequireEmployeeWorkItemSpecsInfoByIdContext) ProtoReflect() protoreflec // Deprecated: Use RequireEmployeeWorkItemSpecsInfoByIdContext.ProtoReflect.Descriptor instead. func (*RequireEmployeeWorkItemSpecsInfoByIdContext) Descriptor() ([]byte, []int) { - return file_generated_service_proto_rawDescGZIP(), []int{172} + return file_service_proto_rawDescGZIP(), []int{172} } func (x *RequireEmployeeWorkItemSpecsInfoByIdContext) GetKey() *LookupEmployeeByIdRequestKey { @@ -8897,21 +8385,18 @@ func (x *RequireEmployeeWorkItemSpecsInfoByIdContext) GetFields() *RequireEmploy } type RequireEmployeeWorkItemSpecsInfoByIdResponse struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - + state protoimpl.MessageState `protogen:"open.v1"` // RequireEmployeeWorkItemSpecsInfoByIdResult provides the result for the required fields method RequireEmployeeWorkItemSpecsInfoById. - Result []*RequireEmployeeWorkItemSpecsInfoByIdResult `protobuf:"bytes,1,rep,name=result,proto3" json:"result,omitempty"` + Result []*RequireEmployeeWorkItemSpecsInfoByIdResult `protobuf:"bytes,1,rep,name=result,proto3" json:"result,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *RequireEmployeeWorkItemSpecsInfoByIdResponse) Reset() { *x = RequireEmployeeWorkItemSpecsInfoByIdResponse{} - if protoimpl.UnsafeEnabled { - mi := &file_generated_service_proto_msgTypes[173] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_service_proto_msgTypes[173] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *RequireEmployeeWorkItemSpecsInfoByIdResponse) String() string { @@ -8921,8 +8406,8 @@ func (x *RequireEmployeeWorkItemSpecsInfoByIdResponse) String() string { func (*RequireEmployeeWorkItemSpecsInfoByIdResponse) ProtoMessage() {} func (x *RequireEmployeeWorkItemSpecsInfoByIdResponse) ProtoReflect() protoreflect.Message { - mi := &file_generated_service_proto_msgTypes[173] - if protoimpl.UnsafeEnabled && x != nil { + mi := &file_service_proto_msgTypes[173] + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -8934,7 +8419,7 @@ func (x *RequireEmployeeWorkItemSpecsInfoByIdResponse) ProtoReflect() protorefle // Deprecated: Use RequireEmployeeWorkItemSpecsInfoByIdResponse.ProtoReflect.Descriptor instead. func (*RequireEmployeeWorkItemSpecsInfoByIdResponse) Descriptor() ([]byte, []int) { - return file_generated_service_proto_rawDescGZIP(), []int{173} + return file_service_proto_rawDescGZIP(), []int{173} } func (x *RequireEmployeeWorkItemSpecsInfoByIdResponse) GetResult() []*RequireEmployeeWorkItemSpecsInfoByIdResult { @@ -8945,20 +8430,17 @@ func (x *RequireEmployeeWorkItemSpecsInfoByIdResponse) GetResult() []*RequireEmp } type RequireEmployeeWorkItemSpecsInfoByIdResult struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - WorkItemSpecsInfo string `protobuf:"bytes,1,opt,name=work_item_specs_info,json=workItemSpecsInfo,proto3" json:"work_item_specs_info,omitempty"` + state protoimpl.MessageState `protogen:"open.v1"` + WorkItemSpecsInfo string `protobuf:"bytes,1,opt,name=work_item_specs_info,json=workItemSpecsInfo,proto3" json:"work_item_specs_info,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *RequireEmployeeWorkItemSpecsInfoByIdResult) Reset() { *x = RequireEmployeeWorkItemSpecsInfoByIdResult{} - if protoimpl.UnsafeEnabled { - mi := &file_generated_service_proto_msgTypes[174] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_service_proto_msgTypes[174] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *RequireEmployeeWorkItemSpecsInfoByIdResult) String() string { @@ -8968,8 +8450,8 @@ func (x *RequireEmployeeWorkItemSpecsInfoByIdResult) String() string { func (*RequireEmployeeWorkItemSpecsInfoByIdResult) ProtoMessage() {} func (x *RequireEmployeeWorkItemSpecsInfoByIdResult) ProtoReflect() protoreflect.Message { - mi := &file_generated_service_proto_msgTypes[174] - if protoimpl.UnsafeEnabled && x != nil { + mi := &file_service_proto_msgTypes[174] + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -8981,7 +8463,7 @@ func (x *RequireEmployeeWorkItemSpecsInfoByIdResult) ProtoReflect() protoreflect // Deprecated: Use RequireEmployeeWorkItemSpecsInfoByIdResult.ProtoReflect.Descriptor instead. func (*RequireEmployeeWorkItemSpecsInfoByIdResult) Descriptor() ([]byte, []int) { - return file_generated_service_proto_rawDescGZIP(), []int{174} + return file_service_proto_rawDescGZIP(), []int{174} } func (x *RequireEmployeeWorkItemSpecsInfoByIdResult) GetWorkItemSpecsInfo() string { @@ -8992,20 +8474,17 @@ func (x *RequireEmployeeWorkItemSpecsInfoByIdResult) GetWorkItemSpecsInfo() stri } type RequireEmployeeWorkItemSpecsInfoByIdFields struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - + state protoimpl.MessageState `protogen:"open.v1"` PrimaryWorkItem *RequireEmployeeWorkItemSpecsInfoByIdFields_EmployeeWorkItem `protobuf:"bytes,1,opt,name=primary_work_item,json=primaryWorkItem,proto3" json:"primary_work_item,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *RequireEmployeeWorkItemSpecsInfoByIdFields) Reset() { *x = RequireEmployeeWorkItemSpecsInfoByIdFields{} - if protoimpl.UnsafeEnabled { - mi := &file_generated_service_proto_msgTypes[175] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_service_proto_msgTypes[175] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *RequireEmployeeWorkItemSpecsInfoByIdFields) String() string { @@ -9015,8 +8494,8 @@ func (x *RequireEmployeeWorkItemSpecsInfoByIdFields) String() string { func (*RequireEmployeeWorkItemSpecsInfoByIdFields) ProtoMessage() {} func (x *RequireEmployeeWorkItemSpecsInfoByIdFields) ProtoReflect() protoreflect.Message { - mi := &file_generated_service_proto_msgTypes[175] - if protoimpl.UnsafeEnabled && x != nil { + mi := &file_service_proto_msgTypes[175] + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -9028,7 +8507,7 @@ func (x *RequireEmployeeWorkItemSpecsInfoByIdFields) ProtoReflect() protoreflect // Deprecated: Use RequireEmployeeWorkItemSpecsInfoByIdFields.ProtoReflect.Descriptor instead. func (*RequireEmployeeWorkItemSpecsInfoByIdFields) Descriptor() ([]byte, []int) { - return file_generated_service_proto_rawDescGZIP(), []int{175} + return file_service_proto_rawDescGZIP(), []int{175} } func (x *RequireEmployeeWorkItemSpecsInfoByIdFields) GetPrimaryWorkItem() *RequireEmployeeWorkItemSpecsInfoByIdFields_EmployeeWorkItem { @@ -9039,21 +8518,18 @@ func (x *RequireEmployeeWorkItemSpecsInfoByIdFields) GetPrimaryWorkItem() *Requi } type RequireEmployeeDeepWorkItemInfoByIdRequest struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - + state protoimpl.MessageState `protogen:"open.v1"` // RequireEmployeeDeepWorkItemInfoByIdContext provides the context for the required fields method RequireEmployeeDeepWorkItemInfoById. - Context []*RequireEmployeeDeepWorkItemInfoByIdContext `protobuf:"bytes,1,rep,name=context,proto3" json:"context,omitempty"` + Context []*RequireEmployeeDeepWorkItemInfoByIdContext `protobuf:"bytes,1,rep,name=context,proto3" json:"context,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *RequireEmployeeDeepWorkItemInfoByIdRequest) Reset() { *x = RequireEmployeeDeepWorkItemInfoByIdRequest{} - if protoimpl.UnsafeEnabled { - mi := &file_generated_service_proto_msgTypes[176] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_service_proto_msgTypes[176] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *RequireEmployeeDeepWorkItemInfoByIdRequest) String() string { @@ -9063,8 +8539,8 @@ func (x *RequireEmployeeDeepWorkItemInfoByIdRequest) String() string { func (*RequireEmployeeDeepWorkItemInfoByIdRequest) ProtoMessage() {} func (x *RequireEmployeeDeepWorkItemInfoByIdRequest) ProtoReflect() protoreflect.Message { - mi := &file_generated_service_proto_msgTypes[176] - if protoimpl.UnsafeEnabled && x != nil { + mi := &file_service_proto_msgTypes[176] + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -9076,7 +8552,7 @@ func (x *RequireEmployeeDeepWorkItemInfoByIdRequest) ProtoReflect() protoreflect // Deprecated: Use RequireEmployeeDeepWorkItemInfoByIdRequest.ProtoReflect.Descriptor instead. func (*RequireEmployeeDeepWorkItemInfoByIdRequest) Descriptor() ([]byte, []int) { - return file_generated_service_proto_rawDescGZIP(), []int{176} + return file_service_proto_rawDescGZIP(), []int{176} } func (x *RequireEmployeeDeepWorkItemInfoByIdRequest) GetContext() []*RequireEmployeeDeepWorkItemInfoByIdContext { @@ -9087,21 +8563,18 @@ func (x *RequireEmployeeDeepWorkItemInfoByIdRequest) GetContext() []*RequireEmpl } type RequireEmployeeDeepWorkItemInfoByIdContext struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache + state protoimpl.MessageState `protogen:"open.v1"` + Key *LookupEmployeeByIdRequestKey `protobuf:"bytes,1,opt,name=key,proto3" json:"key,omitempty"` + Fields *RequireEmployeeDeepWorkItemInfoByIdFields `protobuf:"bytes,2,opt,name=fields,proto3" json:"fields,omitempty"` unknownFields protoimpl.UnknownFields - - Key *LookupEmployeeByIdRequestKey `protobuf:"bytes,1,opt,name=key,proto3" json:"key,omitempty"` - Fields *RequireEmployeeDeepWorkItemInfoByIdFields `protobuf:"bytes,2,opt,name=fields,proto3" json:"fields,omitempty"` + sizeCache protoimpl.SizeCache } func (x *RequireEmployeeDeepWorkItemInfoByIdContext) Reset() { *x = RequireEmployeeDeepWorkItemInfoByIdContext{} - if protoimpl.UnsafeEnabled { - mi := &file_generated_service_proto_msgTypes[177] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_service_proto_msgTypes[177] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *RequireEmployeeDeepWorkItemInfoByIdContext) String() string { @@ -9111,8 +8584,8 @@ func (x *RequireEmployeeDeepWorkItemInfoByIdContext) String() string { func (*RequireEmployeeDeepWorkItemInfoByIdContext) ProtoMessage() {} func (x *RequireEmployeeDeepWorkItemInfoByIdContext) ProtoReflect() protoreflect.Message { - mi := &file_generated_service_proto_msgTypes[177] - if protoimpl.UnsafeEnabled && x != nil { + mi := &file_service_proto_msgTypes[177] + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -9124,7 +8597,7 @@ func (x *RequireEmployeeDeepWorkItemInfoByIdContext) ProtoReflect() protoreflect // Deprecated: Use RequireEmployeeDeepWorkItemInfoByIdContext.ProtoReflect.Descriptor instead. func (*RequireEmployeeDeepWorkItemInfoByIdContext) Descriptor() ([]byte, []int) { - return file_generated_service_proto_rawDescGZIP(), []int{177} + return file_service_proto_rawDescGZIP(), []int{177} } func (x *RequireEmployeeDeepWorkItemInfoByIdContext) GetKey() *LookupEmployeeByIdRequestKey { @@ -9142,21 +8615,18 @@ func (x *RequireEmployeeDeepWorkItemInfoByIdContext) GetFields() *RequireEmploye } type RequireEmployeeDeepWorkItemInfoByIdResponse struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - + state protoimpl.MessageState `protogen:"open.v1"` // RequireEmployeeDeepWorkItemInfoByIdResult provides the result for the required fields method RequireEmployeeDeepWorkItemInfoById. - Result []*RequireEmployeeDeepWorkItemInfoByIdResult `protobuf:"bytes,1,rep,name=result,proto3" json:"result,omitempty"` + Result []*RequireEmployeeDeepWorkItemInfoByIdResult `protobuf:"bytes,1,rep,name=result,proto3" json:"result,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *RequireEmployeeDeepWorkItemInfoByIdResponse) Reset() { *x = RequireEmployeeDeepWorkItemInfoByIdResponse{} - if protoimpl.UnsafeEnabled { - mi := &file_generated_service_proto_msgTypes[178] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_service_proto_msgTypes[178] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *RequireEmployeeDeepWorkItemInfoByIdResponse) String() string { @@ -9166,8 +8636,8 @@ func (x *RequireEmployeeDeepWorkItemInfoByIdResponse) String() string { func (*RequireEmployeeDeepWorkItemInfoByIdResponse) ProtoMessage() {} func (x *RequireEmployeeDeepWorkItemInfoByIdResponse) ProtoReflect() protoreflect.Message { - mi := &file_generated_service_proto_msgTypes[178] - if protoimpl.UnsafeEnabled && x != nil { + mi := &file_service_proto_msgTypes[178] + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -9179,7 +8649,7 @@ func (x *RequireEmployeeDeepWorkItemInfoByIdResponse) ProtoReflect() protoreflec // Deprecated: Use RequireEmployeeDeepWorkItemInfoByIdResponse.ProtoReflect.Descriptor instead. func (*RequireEmployeeDeepWorkItemInfoByIdResponse) Descriptor() ([]byte, []int) { - return file_generated_service_proto_rawDescGZIP(), []int{178} + return file_service_proto_rawDescGZIP(), []int{178} } func (x *RequireEmployeeDeepWorkItemInfoByIdResponse) GetResult() []*RequireEmployeeDeepWorkItemInfoByIdResult { @@ -9190,20 +8660,17 @@ func (x *RequireEmployeeDeepWorkItemInfoByIdResponse) GetResult() []*RequireEmpl } type RequireEmployeeDeepWorkItemInfoByIdResult struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - DeepWorkItemInfo string `protobuf:"bytes,1,opt,name=deep_work_item_info,json=deepWorkItemInfo,proto3" json:"deep_work_item_info,omitempty"` + state protoimpl.MessageState `protogen:"open.v1"` + DeepWorkItemInfo string `protobuf:"bytes,1,opt,name=deep_work_item_info,json=deepWorkItemInfo,proto3" json:"deep_work_item_info,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *RequireEmployeeDeepWorkItemInfoByIdResult) Reset() { *x = RequireEmployeeDeepWorkItemInfoByIdResult{} - if protoimpl.UnsafeEnabled { - mi := &file_generated_service_proto_msgTypes[179] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_service_proto_msgTypes[179] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *RequireEmployeeDeepWorkItemInfoByIdResult) String() string { @@ -9213,8 +8680,8 @@ func (x *RequireEmployeeDeepWorkItemInfoByIdResult) String() string { func (*RequireEmployeeDeepWorkItemInfoByIdResult) ProtoMessage() {} func (x *RequireEmployeeDeepWorkItemInfoByIdResult) ProtoReflect() protoreflect.Message { - mi := &file_generated_service_proto_msgTypes[179] - if protoimpl.UnsafeEnabled && x != nil { + mi := &file_service_proto_msgTypes[179] + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -9226,7 +8693,7 @@ func (x *RequireEmployeeDeepWorkItemInfoByIdResult) ProtoReflect() protoreflect. // Deprecated: Use RequireEmployeeDeepWorkItemInfoByIdResult.ProtoReflect.Descriptor instead. func (*RequireEmployeeDeepWorkItemInfoByIdResult) Descriptor() ([]byte, []int) { - return file_generated_service_proto_rawDescGZIP(), []int{179} + return file_service_proto_rawDescGZIP(), []int{179} } func (x *RequireEmployeeDeepWorkItemInfoByIdResult) GetDeepWorkItemInfo() string { @@ -9237,20 +8704,17 @@ func (x *RequireEmployeeDeepWorkItemInfoByIdResult) GetDeepWorkItemInfo() string } type RequireEmployeeDeepWorkItemInfoByIdFields struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - + state protoimpl.MessageState `protogen:"open.v1"` PrimaryWorkItem *RequireEmployeeDeepWorkItemInfoByIdFields_EmployeeWorkItem `protobuf:"bytes,1,opt,name=primary_work_item,json=primaryWorkItem,proto3" json:"primary_work_item,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *RequireEmployeeDeepWorkItemInfoByIdFields) Reset() { *x = RequireEmployeeDeepWorkItemInfoByIdFields{} - if protoimpl.UnsafeEnabled { - mi := &file_generated_service_proto_msgTypes[180] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_service_proto_msgTypes[180] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *RequireEmployeeDeepWorkItemInfoByIdFields) String() string { @@ -9260,8 +8724,8 @@ func (x *RequireEmployeeDeepWorkItemInfoByIdFields) String() string { func (*RequireEmployeeDeepWorkItemInfoByIdFields) ProtoMessage() {} func (x *RequireEmployeeDeepWorkItemInfoByIdFields) ProtoReflect() protoreflect.Message { - mi := &file_generated_service_proto_msgTypes[180] - if protoimpl.UnsafeEnabled && x != nil { + mi := &file_service_proto_msgTypes[180] + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -9273,7 +8737,7 @@ func (x *RequireEmployeeDeepWorkItemInfoByIdFields) ProtoReflect() protoreflect. // Deprecated: Use RequireEmployeeDeepWorkItemInfoByIdFields.ProtoReflect.Descriptor instead. func (*RequireEmployeeDeepWorkItemInfoByIdFields) Descriptor() ([]byte, []int) { - return file_generated_service_proto_rawDescGZIP(), []int{180} + return file_service_proto_rawDescGZIP(), []int{180} } func (x *RequireEmployeeDeepWorkItemInfoByIdFields) GetPrimaryWorkItem() *RequireEmployeeDeepWorkItemInfoByIdFields_EmployeeWorkItem { @@ -9284,10 +8748,7 @@ func (x *RequireEmployeeDeepWorkItemInfoByIdFields) GetPrimaryWorkItem() *Requir } type Project struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - + state protoimpl.MessageState `protogen:"open.v1"` Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"` Name string `protobuf:"bytes,2,opt,name=name,proto3" json:"name,omitempty"` Description *wrapperspb.StringValue `protobuf:"bytes,3,opt,name=description,proto3" json:"description,omitempty"` @@ -9307,15 +8768,15 @@ type Project struct { TasksByPhase *ListOfListOfTask `protobuf:"bytes,17,opt,name=tasks_by_phase,json=tasksByPhase,proto3" json:"tasks_by_phase,omitempty"` MilestoneGroups *ListOfListOfMilestone `protobuf:"bytes,18,opt,name=milestone_groups,json=milestoneGroups,proto3" json:"milestone_groups,omitempty"` PriorityMatrix *ListOfListOfListOfTask `protobuf:"bytes,19,opt,name=priority_matrix,json=priorityMatrix,proto3" json:"priority_matrix,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *Project) Reset() { *x = Project{} - if protoimpl.UnsafeEnabled { - mi := &file_generated_service_proto_msgTypes[181] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_service_proto_msgTypes[181] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *Project) String() string { @@ -9325,8 +8786,8 @@ func (x *Project) String() string { func (*Project) ProtoMessage() {} func (x *Project) ProtoReflect() protoreflect.Message { - mi := &file_generated_service_proto_msgTypes[181] - if protoimpl.UnsafeEnabled && x != nil { + mi := &file_service_proto_msgTypes[181] + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -9338,7 +8799,7 @@ func (x *Project) ProtoReflect() protoreflect.Message { // Deprecated: Use Project.ProtoReflect.Descriptor instead. func (*Project) Descriptor() ([]byte, []int) { - return file_generated_service_proto_rawDescGZIP(), []int{181} + return file_service_proto_rawDescGZIP(), []int{181} } func (x *Project) GetId() string { @@ -9475,10 +8936,7 @@ func (x *Project) GetPriorityMatrix() *ListOfListOfListOfTask { } type Milestone struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - + state protoimpl.MessageState `protogen:"open.v1"` Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"` ProjectId string `protobuf:"bytes,2,opt,name=project_id,json=projectId,proto3" json:"project_id,omitempty"` Name string `protobuf:"bytes,3,opt,name=name,proto3" json:"name,omitempty"` @@ -9490,15 +8948,15 @@ type Milestone struct { Dependencies []*Milestone `protobuf:"bytes,9,rep,name=dependencies,proto3" json:"dependencies,omitempty"` Subtasks *ListOfTask `protobuf:"bytes,10,opt,name=subtasks,proto3" json:"subtasks,omitempty"` Reviewers *ListOfEmployee `protobuf:"bytes,11,opt,name=reviewers,proto3" json:"reviewers,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *Milestone) Reset() { *x = Milestone{} - if protoimpl.UnsafeEnabled { - mi := &file_generated_service_proto_msgTypes[182] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_service_proto_msgTypes[182] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *Milestone) String() string { @@ -9508,8 +8966,8 @@ func (x *Milestone) String() string { func (*Milestone) ProtoMessage() {} func (x *Milestone) ProtoReflect() protoreflect.Message { - mi := &file_generated_service_proto_msgTypes[182] - if protoimpl.UnsafeEnabled && x != nil { + mi := &file_service_proto_msgTypes[182] + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -9521,7 +8979,7 @@ func (x *Milestone) ProtoReflect() protoreflect.Message { // Deprecated: Use Milestone.ProtoReflect.Descriptor instead. func (*Milestone) Descriptor() ([]byte, []int) { - return file_generated_service_proto_rawDescGZIP(), []int{182} + return file_service_proto_rawDescGZIP(), []int{182} } func (x *Milestone) GetId() string { @@ -9602,10 +9060,7 @@ func (x *Milestone) GetReviewers() *ListOfEmployee { } type Task struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - + state protoimpl.MessageState `protogen:"open.v1"` Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"` ProjectId string `protobuf:"bytes,2,opt,name=project_id,json=projectId,proto3" json:"project_id,omitempty"` MilestoneId *wrapperspb.StringValue `protobuf:"bytes,3,opt,name=milestone_id,json=milestoneId,proto3" json:"milestone_id,omitempty"` @@ -9616,7 +9071,7 @@ type Task struct { Status TaskStatus `protobuf:"varint,8,opt,name=status,proto3,enum=service.TaskStatus" json:"status,omitempty"` // Deprecation notice: No more estimations! // - // Deprecated: Marked as deprecated in generated/service.proto. + // Deprecated: Marked as deprecated in service.proto. EstimatedHours *wrapperspb.DoubleValue `protobuf:"bytes,9,opt,name=estimated_hours,json=estimatedHours,proto3" json:"estimated_hours,omitempty"` ActualHours *wrapperspb.DoubleValue `protobuf:"bytes,10,opt,name=actual_hours,json=actualHours,proto3" json:"actual_hours,omitempty"` CreatedAt *wrapperspb.StringValue `protobuf:"bytes,11,opt,name=created_at,json=createdAt,proto3" json:"created_at,omitempty"` @@ -9626,15 +9081,15 @@ type Task struct { Dependencies []*Task `protobuf:"bytes,15,rep,name=dependencies,proto3" json:"dependencies,omitempty"` AttachmentUrls []string `protobuf:"bytes,16,rep,name=attachment_urls,json=attachmentUrls,proto3" json:"attachment_urls,omitempty"` ReviewerIds *ListOfInt `protobuf:"bytes,17,opt,name=reviewer_ids,json=reviewerIds,proto3" json:"reviewer_ids,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *Task) Reset() { *x = Task{} - if protoimpl.UnsafeEnabled { - mi := &file_generated_service_proto_msgTypes[183] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_service_proto_msgTypes[183] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *Task) String() string { @@ -9644,8 +9099,8 @@ func (x *Task) String() string { func (*Task) ProtoMessage() {} func (x *Task) ProtoReflect() protoreflect.Message { - mi := &file_generated_service_proto_msgTypes[183] - if protoimpl.UnsafeEnabled && x != nil { + mi := &file_service_proto_msgTypes[183] + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -9657,7 +9112,7 @@ func (x *Task) ProtoReflect() protoreflect.Message { // Deprecated: Use Task.ProtoReflect.Descriptor instead. func (*Task) Descriptor() ([]byte, []int) { - return file_generated_service_proto_rawDescGZIP(), []int{183} + return file_service_proto_rawDescGZIP(), []int{183} } func (x *Task) GetId() string { @@ -9716,7 +9171,7 @@ func (x *Task) GetStatus() TaskStatus { return TaskStatus_TASK_STATUS_UNSPECIFIED } -// Deprecated: Marked as deprecated in generated/service.proto. +// Deprecated: Marked as deprecated in service.proto. func (x *Task) GetEstimatedHours() *wrapperspb.DoubleValue { if x != nil { return x.EstimatedHours @@ -9781,26 +9236,23 @@ func (x *Task) GetReviewerIds() *ListOfInt { } type Employee struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - Id int32 `protobuf:"varint,1,opt,name=id,proto3" json:"id,omitempty"` - Projects *ListOfProject `protobuf:"bytes,2,opt,name=projects,proto3" json:"projects,omitempty"` - AssignedTasks []*Task `protobuf:"bytes,3,rep,name=assigned_tasks,json=assignedTasks,proto3" json:"assigned_tasks,omitempty"` - CompletedTasks []*Task `protobuf:"bytes,4,rep,name=completed_tasks,json=completedTasks,proto3" json:"completed_tasks,omitempty"` - Skills *ListOfString `protobuf:"bytes,5,opt,name=skills,proto3" json:"skills,omitempty"` - Certifications *ListOfString `protobuf:"bytes,6,opt,name=certifications,proto3" json:"certifications,omitempty"` - ProjectHistory *ListOfListOfProject `protobuf:"bytes,7,opt,name=project_history,json=projectHistory,proto3" json:"project_history,omitempty"` + state protoimpl.MessageState `protogen:"open.v1"` + Id int32 `protobuf:"varint,1,opt,name=id,proto3" json:"id,omitempty"` + Projects *ListOfProject `protobuf:"bytes,2,opt,name=projects,proto3" json:"projects,omitempty"` + AssignedTasks []*Task `protobuf:"bytes,3,rep,name=assigned_tasks,json=assignedTasks,proto3" json:"assigned_tasks,omitempty"` + CompletedTasks []*Task `protobuf:"bytes,4,rep,name=completed_tasks,json=completedTasks,proto3" json:"completed_tasks,omitempty"` + Skills *ListOfString `protobuf:"bytes,5,opt,name=skills,proto3" json:"skills,omitempty"` + Certifications *ListOfString `protobuf:"bytes,6,opt,name=certifications,proto3" json:"certifications,omitempty"` + ProjectHistory *ListOfListOfProject `protobuf:"bytes,7,opt,name=project_history,json=projectHistory,proto3" json:"project_history,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *Employee) Reset() { *x = Employee{} - if protoimpl.UnsafeEnabled { - mi := &file_generated_service_proto_msgTypes[184] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_service_proto_msgTypes[184] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *Employee) String() string { @@ -9810,8 +9262,8 @@ func (x *Employee) String() string { func (*Employee) ProtoMessage() {} func (x *Employee) ProtoReflect() protoreflect.Message { - mi := &file_generated_service_proto_msgTypes[184] - if protoimpl.UnsafeEnabled && x != nil { + mi := &file_service_proto_msgTypes[184] + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -9823,7 +9275,7 @@ func (x *Employee) ProtoReflect() protoreflect.Message { // Deprecated: Use Employee.ProtoReflect.Descriptor instead. func (*Employee) Descriptor() ([]byte, []int) { - return file_generated_service_proto_rawDescGZIP(), []int{184} + return file_service_proto_rawDescGZIP(), []int{184} } func (x *Employee) GetId() int32 { @@ -9876,22 +9328,19 @@ func (x *Employee) GetProjectHistory() *ListOfListOfProject { } type Product struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache + state protoimpl.MessageState `protogen:"open.v1"` + Upc string `protobuf:"bytes,1,opt,name=upc,proto3" json:"upc,omitempty"` + Projects *ListOfProject `protobuf:"bytes,2,opt,name=projects,proto3" json:"projects,omitempty"` + FeatureMatrix *ListOfListOfString `protobuf:"bytes,3,opt,name=feature_matrix,json=featureMatrix,proto3" json:"feature_matrix,omitempty"` unknownFields protoimpl.UnknownFields - - Upc string `protobuf:"bytes,1,opt,name=upc,proto3" json:"upc,omitempty"` - Projects *ListOfProject `protobuf:"bytes,2,opt,name=projects,proto3" json:"projects,omitempty"` - FeatureMatrix *ListOfListOfString `protobuf:"bytes,3,opt,name=feature_matrix,json=featureMatrix,proto3" json:"feature_matrix,omitempty"` + sizeCache protoimpl.SizeCache } func (x *Product) Reset() { *x = Product{} - if protoimpl.UnsafeEnabled { - mi := &file_generated_service_proto_msgTypes[185] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_service_proto_msgTypes[185] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *Product) String() string { @@ -9901,8 +9350,8 @@ func (x *Product) String() string { func (*Product) ProtoMessage() {} func (x *Product) ProtoReflect() protoreflect.Message { - mi := &file_generated_service_proto_msgTypes[185] - if protoimpl.UnsafeEnabled && x != nil { + mi := &file_service_proto_msgTypes[185] + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -9914,7 +9363,7 @@ func (x *Product) ProtoReflect() protoreflect.Message { // Deprecated: Use Product.ProtoReflect.Descriptor instead. func (*Product) Descriptor() ([]byte, []int) { - return file_generated_service_proto_rawDescGZIP(), []int{185} + return file_service_proto_rawDescGZIP(), []int{185} } func (x *Product) GetUpc() string { @@ -9939,26 +9388,23 @@ func (x *Product) GetFeatureMatrix() *ListOfListOfString { } type ProjectResource struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - // Types that are assignable to Value: + state protoimpl.MessageState `protogen:"open.v1"` + // Types that are valid to be assigned to Value: // // *ProjectResource_Employee // *ProjectResource_Product // *ProjectResource_Milestone // *ProjectResource_Task - Value isProjectResource_Value `protobuf_oneof:"value"` + Value isProjectResource_Value `protobuf_oneof:"value"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *ProjectResource) Reset() { *x = ProjectResource{} - if protoimpl.UnsafeEnabled { - mi := &file_generated_service_proto_msgTypes[186] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_service_proto_msgTypes[186] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *ProjectResource) String() string { @@ -9968,8 +9414,8 @@ func (x *ProjectResource) String() string { func (*ProjectResource) ProtoMessage() {} func (x *ProjectResource) ProtoReflect() protoreflect.Message { - mi := &file_generated_service_proto_msgTypes[186] - if protoimpl.UnsafeEnabled && x != nil { + mi := &file_service_proto_msgTypes[186] + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -9981,40 +9427,48 @@ func (x *ProjectResource) ProtoReflect() protoreflect.Message { // Deprecated: Use ProjectResource.ProtoReflect.Descriptor instead. func (*ProjectResource) Descriptor() ([]byte, []int) { - return file_generated_service_proto_rawDescGZIP(), []int{186} + return file_service_proto_rawDescGZIP(), []int{186} } -func (m *ProjectResource) GetValue() isProjectResource_Value { - if m != nil { - return m.Value +func (x *ProjectResource) GetValue() isProjectResource_Value { + if x != nil { + return x.Value } return nil } func (x *ProjectResource) GetEmployee() *Employee { - if x, ok := x.GetValue().(*ProjectResource_Employee); ok { - return x.Employee + if x != nil { + if x, ok := x.Value.(*ProjectResource_Employee); ok { + return x.Employee + } } return nil } func (x *ProjectResource) GetProduct() *Product { - if x, ok := x.GetValue().(*ProjectResource_Product); ok { - return x.Product + if x != nil { + if x, ok := x.Value.(*ProjectResource_Product); ok { + return x.Product + } } return nil } func (x *ProjectResource) GetMilestone() *Milestone { - if x, ok := x.GetValue().(*ProjectResource_Milestone); ok { - return x.Milestone + if x != nil { + if x, ok := x.Value.(*ProjectResource_Milestone); ok { + return x.Milestone + } } return nil } func (x *ProjectResource) GetTask() *Task { - if x, ok := x.GetValue().(*ProjectResource_Task); ok { - return x.Task + if x != nil { + if x, ok := x.Value.(*ProjectResource_Task); ok { + return x.Task + } } return nil } @@ -10048,25 +9502,22 @@ func (*ProjectResource_Milestone) isProjectResource_Value() {} func (*ProjectResource_Task) isProjectResource_Value() {} type ProjectSearchResult struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - // Types that are assignable to Value: + state protoimpl.MessageState `protogen:"open.v1"` + // Types that are valid to be assigned to Value: // // *ProjectSearchResult_Project // *ProjectSearchResult_Milestone // *ProjectSearchResult_Task - Value isProjectSearchResult_Value `protobuf_oneof:"value"` + Value isProjectSearchResult_Value `protobuf_oneof:"value"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *ProjectSearchResult) Reset() { *x = ProjectSearchResult{} - if protoimpl.UnsafeEnabled { - mi := &file_generated_service_proto_msgTypes[187] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_service_proto_msgTypes[187] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *ProjectSearchResult) String() string { @@ -10076,8 +9527,8 @@ func (x *ProjectSearchResult) String() string { func (*ProjectSearchResult) ProtoMessage() {} func (x *ProjectSearchResult) ProtoReflect() protoreflect.Message { - mi := &file_generated_service_proto_msgTypes[187] - if protoimpl.UnsafeEnabled && x != nil { + mi := &file_service_proto_msgTypes[187] + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -10089,33 +9540,39 @@ func (x *ProjectSearchResult) ProtoReflect() protoreflect.Message { // Deprecated: Use ProjectSearchResult.ProtoReflect.Descriptor instead. func (*ProjectSearchResult) Descriptor() ([]byte, []int) { - return file_generated_service_proto_rawDescGZIP(), []int{187} + return file_service_proto_rawDescGZIP(), []int{187} } -func (m *ProjectSearchResult) GetValue() isProjectSearchResult_Value { - if m != nil { - return m.Value +func (x *ProjectSearchResult) GetValue() isProjectSearchResult_Value { + if x != nil { + return x.Value } return nil } func (x *ProjectSearchResult) GetProject() *Project { - if x, ok := x.GetValue().(*ProjectSearchResult_Project); ok { - return x.Project + if x != nil { + if x, ok := x.Value.(*ProjectSearchResult_Project); ok { + return x.Project + } } return nil } func (x *ProjectSearchResult) GetMilestone() *Milestone { - if x, ok := x.GetValue().(*ProjectSearchResult_Milestone); ok { - return x.Milestone + if x != nil { + if x, ok := x.Value.(*ProjectSearchResult_Milestone); ok { + return x.Milestone + } } return nil } func (x *ProjectSearchResult) GetTask() *Task { - if x, ok := x.GetValue().(*ProjectSearchResult_Task); ok { - return x.Task + if x != nil { + if x, ok := x.Value.(*ProjectSearchResult_Task); ok { + return x.Task + } } return nil } @@ -10143,25 +9600,22 @@ func (*ProjectSearchResult_Milestone) isProjectSearchResult_Value() {} func (*ProjectSearchResult_Task) isProjectSearchResult_Value() {} type ProjectActivity struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - // Types that are assignable to Value: + state protoimpl.MessageState `protogen:"open.v1"` + // Types that are valid to be assigned to Value: // // *ProjectActivity_ProjectUpdate // *ProjectActivity_Milestone // *ProjectActivity_Task - Value isProjectActivity_Value `protobuf_oneof:"value"` + Value isProjectActivity_Value `protobuf_oneof:"value"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *ProjectActivity) Reset() { *x = ProjectActivity{} - if protoimpl.UnsafeEnabled { - mi := &file_generated_service_proto_msgTypes[188] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_service_proto_msgTypes[188] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *ProjectActivity) String() string { @@ -10171,8 +9625,8 @@ func (x *ProjectActivity) String() string { func (*ProjectActivity) ProtoMessage() {} func (x *ProjectActivity) ProtoReflect() protoreflect.Message { - mi := &file_generated_service_proto_msgTypes[188] - if protoimpl.UnsafeEnabled && x != nil { + mi := &file_service_proto_msgTypes[188] + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -10184,33 +9638,39 @@ func (x *ProjectActivity) ProtoReflect() protoreflect.Message { // Deprecated: Use ProjectActivity.ProtoReflect.Descriptor instead. func (*ProjectActivity) Descriptor() ([]byte, []int) { - return file_generated_service_proto_rawDescGZIP(), []int{188} + return file_service_proto_rawDescGZIP(), []int{188} } -func (m *ProjectActivity) GetValue() isProjectActivity_Value { - if m != nil { - return m.Value +func (x *ProjectActivity) GetValue() isProjectActivity_Value { + if x != nil { + return x.Value } return nil } func (x *ProjectActivity) GetProjectUpdate() *ProjectUpdate { - if x, ok := x.GetValue().(*ProjectActivity_ProjectUpdate); ok { - return x.ProjectUpdate + if x != nil { + if x, ok := x.Value.(*ProjectActivity_ProjectUpdate); ok { + return x.ProjectUpdate + } } return nil } func (x *ProjectActivity) GetMilestone() *Milestone { - if x, ok := x.GetValue().(*ProjectActivity_Milestone); ok { - return x.Milestone + if x != nil { + if x, ok := x.Value.(*ProjectActivity_Milestone); ok { + return x.Milestone + } } return nil } func (x *ProjectActivity) GetTask() *Task { - if x, ok := x.GetValue().(*ProjectActivity_Task); ok { - return x.Task + if x != nil { + if x, ok := x.Value.(*ProjectActivity_Task); ok { + return x.Task + } } return nil } @@ -10238,26 +9698,23 @@ func (*ProjectActivity_Milestone) isProjectActivity_Value() {} func (*ProjectActivity_Task) isProjectActivity_Value() {} type Node struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - // Types that are assignable to Instance: + state protoimpl.MessageState `protogen:"open.v1"` + // Types that are valid to be assigned to Instance: // // *Node_Project // *Node_Milestone // *Node_Task // *Node_ProjectUpdate - Instance isNode_Instance `protobuf_oneof:"instance"` + Instance isNode_Instance `protobuf_oneof:"instance"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *Node) Reset() { *x = Node{} - if protoimpl.UnsafeEnabled { - mi := &file_generated_service_proto_msgTypes[189] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_service_proto_msgTypes[189] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *Node) String() string { @@ -10267,8 +9724,8 @@ func (x *Node) String() string { func (*Node) ProtoMessage() {} func (x *Node) ProtoReflect() protoreflect.Message { - mi := &file_generated_service_proto_msgTypes[189] - if protoimpl.UnsafeEnabled && x != nil { + mi := &file_service_proto_msgTypes[189] + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -10280,40 +9737,48 @@ func (x *Node) ProtoReflect() protoreflect.Message { // Deprecated: Use Node.ProtoReflect.Descriptor instead. func (*Node) Descriptor() ([]byte, []int) { - return file_generated_service_proto_rawDescGZIP(), []int{189} + return file_service_proto_rawDescGZIP(), []int{189} } -func (m *Node) GetInstance() isNode_Instance { - if m != nil { - return m.Instance +func (x *Node) GetInstance() isNode_Instance { + if x != nil { + return x.Instance } return nil } func (x *Node) GetProject() *Project { - if x, ok := x.GetInstance().(*Node_Project); ok { - return x.Project + if x != nil { + if x, ok := x.Instance.(*Node_Project); ok { + return x.Project + } } return nil } func (x *Node) GetMilestone() *Milestone { - if x, ok := x.GetInstance().(*Node_Milestone); ok { - return x.Milestone + if x != nil { + if x, ok := x.Instance.(*Node_Milestone); ok { + return x.Milestone + } } return nil } func (x *Node) GetTask() *Task { - if x, ok := x.GetInstance().(*Node_Task); ok { - return x.Task + if x != nil { + if x, ok := x.Instance.(*Node_Task); ok { + return x.Task + } } return nil } func (x *Node) GetProjectUpdate() *ProjectUpdate { - if x, ok := x.GetInstance().(*Node_ProjectUpdate); ok { - return x.ProjectUpdate + if x != nil { + if x, ok := x.Instance.(*Node_ProjectUpdate); ok { + return x.ProjectUpdate + } } return nil } @@ -10347,24 +9812,21 @@ func (*Node_Task) isNode_Instance() {} func (*Node_ProjectUpdate) isNode_Instance() {} type ProjectInput struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache + state protoimpl.MessageState `protogen:"open.v1"` + Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` + Description *wrapperspb.StringValue `protobuf:"bytes,2,opt,name=description,proto3" json:"description,omitempty"` + StartDate *wrapperspb.StringValue `protobuf:"bytes,3,opt,name=start_date,json=startDate,proto3" json:"start_date,omitempty"` + EndDate *wrapperspb.StringValue `protobuf:"bytes,4,opt,name=end_date,json=endDate,proto3" json:"end_date,omitempty"` + Status ProjectStatus `protobuf:"varint,5,opt,name=status,proto3,enum=service.ProjectStatus" json:"status,omitempty"` unknownFields protoimpl.UnknownFields - - Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` - Description *wrapperspb.StringValue `protobuf:"bytes,2,opt,name=description,proto3" json:"description,omitempty"` - StartDate *wrapperspb.StringValue `protobuf:"bytes,3,opt,name=start_date,json=startDate,proto3" json:"start_date,omitempty"` - EndDate *wrapperspb.StringValue `protobuf:"bytes,4,opt,name=end_date,json=endDate,proto3" json:"end_date,omitempty"` - Status ProjectStatus `protobuf:"varint,5,opt,name=status,proto3,enum=service.ProjectStatus" json:"status,omitempty"` + sizeCache protoimpl.SizeCache } func (x *ProjectInput) Reset() { *x = ProjectInput{} - if protoimpl.UnsafeEnabled { - mi := &file_generated_service_proto_msgTypes[190] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_service_proto_msgTypes[190] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *ProjectInput) String() string { @@ -10374,8 +9836,8 @@ func (x *ProjectInput) String() string { func (*ProjectInput) ProtoMessage() {} func (x *ProjectInput) ProtoReflect() protoreflect.Message { - mi := &file_generated_service_proto_msgTypes[190] - if protoimpl.UnsafeEnabled && x != nil { + mi := &file_service_proto_msgTypes[190] + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -10387,7 +9849,7 @@ func (x *ProjectInput) ProtoReflect() protoreflect.Message { // Deprecated: Use ProjectInput.ProtoReflect.Descriptor instead. func (*ProjectInput) Descriptor() ([]byte, []int) { - return file_generated_service_proto_rawDescGZIP(), []int{190} + return file_service_proto_rawDescGZIP(), []int{190} } func (x *ProjectInput) GetName() string { @@ -10426,24 +9888,21 @@ func (x *ProjectInput) GetStatus() ProjectStatus { } type MilestoneInput struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache + state protoimpl.MessageState `protogen:"open.v1"` + ProjectId string `protobuf:"bytes,1,opt,name=project_id,json=projectId,proto3" json:"project_id,omitempty"` + Name string `protobuf:"bytes,2,opt,name=name,proto3" json:"name,omitempty"` + Description *wrapperspb.StringValue `protobuf:"bytes,3,opt,name=description,proto3" json:"description,omitempty"` + DueDate *wrapperspb.StringValue `protobuf:"bytes,4,opt,name=due_date,json=dueDate,proto3" json:"due_date,omitempty"` + Status MilestoneStatus `protobuf:"varint,5,opt,name=status,proto3,enum=service.MilestoneStatus" json:"status,omitempty"` unknownFields protoimpl.UnknownFields - - ProjectId string `protobuf:"bytes,1,opt,name=project_id,json=projectId,proto3" json:"project_id,omitempty"` - Name string `protobuf:"bytes,2,opt,name=name,proto3" json:"name,omitempty"` - Description *wrapperspb.StringValue `protobuf:"bytes,3,opt,name=description,proto3" json:"description,omitempty"` - DueDate *wrapperspb.StringValue `protobuf:"bytes,4,opt,name=due_date,json=dueDate,proto3" json:"due_date,omitempty"` - Status MilestoneStatus `protobuf:"varint,5,opt,name=status,proto3,enum=service.MilestoneStatus" json:"status,omitempty"` + sizeCache protoimpl.SizeCache } func (x *MilestoneInput) Reset() { *x = MilestoneInput{} - if protoimpl.UnsafeEnabled { - mi := &file_generated_service_proto_msgTypes[191] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_service_proto_msgTypes[191] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *MilestoneInput) String() string { @@ -10453,8 +9912,8 @@ func (x *MilestoneInput) String() string { func (*MilestoneInput) ProtoMessage() {} func (x *MilestoneInput) ProtoReflect() protoreflect.Message { - mi := &file_generated_service_proto_msgTypes[191] - if protoimpl.UnsafeEnabled && x != nil { + mi := &file_service_proto_msgTypes[191] + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -10466,7 +9925,7 @@ func (x *MilestoneInput) ProtoReflect() protoreflect.Message { // Deprecated: Use MilestoneInput.ProtoReflect.Descriptor instead. func (*MilestoneInput) Descriptor() ([]byte, []int) { - return file_generated_service_proto_rawDescGZIP(), []int{191} + return file_service_proto_rawDescGZIP(), []int{191} } func (x *MilestoneInput) GetProjectId() string { @@ -10505,10 +9964,7 @@ func (x *MilestoneInput) GetStatus() MilestoneStatus { } type TaskInput struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - + state protoimpl.MessageState `protogen:"open.v1"` ProjectId string `protobuf:"bytes,1,opt,name=project_id,json=projectId,proto3" json:"project_id,omitempty"` AssigneeId *wrapperspb.Int32Value `protobuf:"bytes,2,opt,name=assignee_id,json=assigneeId,proto3" json:"assignee_id,omitempty"` Name string `protobuf:"bytes,3,opt,name=name,proto3" json:"name,omitempty"` @@ -10516,15 +9972,15 @@ type TaskInput struct { Priority TaskPriority `protobuf:"varint,5,opt,name=priority,proto3,enum=service.TaskPriority" json:"priority,omitempty"` Status TaskStatus `protobuf:"varint,6,opt,name=status,proto3,enum=service.TaskStatus" json:"status,omitempty"` EstimatedHours *wrapperspb.DoubleValue `protobuf:"bytes,7,opt,name=estimated_hours,json=estimatedHours,proto3" json:"estimated_hours,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *TaskInput) Reset() { *x = TaskInput{} - if protoimpl.UnsafeEnabled { - mi := &file_generated_service_proto_msgTypes[192] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_service_proto_msgTypes[192] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *TaskInput) String() string { @@ -10534,8 +9990,8 @@ func (x *TaskInput) String() string { func (*TaskInput) ProtoMessage() {} func (x *TaskInput) ProtoReflect() protoreflect.Message { - mi := &file_generated_service_proto_msgTypes[192] - if protoimpl.UnsafeEnabled && x != nil { + mi := &file_service_proto_msgTypes[192] + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -10547,7 +10003,7 @@ func (x *TaskInput) ProtoReflect() protoreflect.Message { // Deprecated: Use TaskInput.ProtoReflect.Descriptor instead. func (*TaskInput) Descriptor() ([]byte, []int) { - return file_generated_service_proto_rawDescGZIP(), []int{192} + return file_service_proto_rawDescGZIP(), []int{192} } func (x *TaskInput) GetProjectId() string { @@ -10600,26 +10056,23 @@ func (x *TaskInput) GetEstimatedHours() *wrapperspb.DoubleValue { } type ProjectUpdate struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache + state protoimpl.MessageState `protogen:"open.v1"` + Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"` + ProjectId string `protobuf:"bytes,2,opt,name=project_id,json=projectId,proto3" json:"project_id,omitempty"` + UpdatedById int32 `protobuf:"varint,3,opt,name=updated_by_id,json=updatedById,proto3" json:"updated_by_id,omitempty"` + UpdateType ProjectUpdateType `protobuf:"varint,4,opt,name=update_type,json=updateType,proto3,enum=service.ProjectUpdateType" json:"update_type,omitempty"` + Description string `protobuf:"bytes,5,opt,name=description,proto3" json:"description,omitempty"` + Timestamp string `protobuf:"bytes,6,opt,name=timestamp,proto3" json:"timestamp,omitempty"` + Metadata *wrapperspb.StringValue `protobuf:"bytes,7,opt,name=metadata,proto3" json:"metadata,omitempty"` unknownFields protoimpl.UnknownFields - - Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"` - ProjectId string `protobuf:"bytes,2,opt,name=project_id,json=projectId,proto3" json:"project_id,omitempty"` - UpdatedById int32 `protobuf:"varint,3,opt,name=updated_by_id,json=updatedById,proto3" json:"updated_by_id,omitempty"` - UpdateType ProjectUpdateType `protobuf:"varint,4,opt,name=update_type,json=updateType,proto3,enum=service.ProjectUpdateType" json:"update_type,omitempty"` - Description string `protobuf:"bytes,5,opt,name=description,proto3" json:"description,omitempty"` - Timestamp string `protobuf:"bytes,6,opt,name=timestamp,proto3" json:"timestamp,omitempty"` - Metadata *wrapperspb.StringValue `protobuf:"bytes,7,opt,name=metadata,proto3" json:"metadata,omitempty"` + sizeCache protoimpl.SizeCache } func (x *ProjectUpdate) Reset() { *x = ProjectUpdate{} - if protoimpl.UnsafeEnabled { - mi := &file_generated_service_proto_msgTypes[193] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_service_proto_msgTypes[193] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *ProjectUpdate) String() string { @@ -10629,8 +10082,8 @@ func (x *ProjectUpdate) String() string { func (*ProjectUpdate) ProtoMessage() {} func (x *ProjectUpdate) ProtoReflect() protoreflect.Message { - mi := &file_generated_service_proto_msgTypes[193] - if protoimpl.UnsafeEnabled && x != nil { + mi := &file_service_proto_msgTypes[193] + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -10642,7 +10095,7 @@ func (x *ProjectUpdate) ProtoReflect() protoreflect.Message { // Deprecated: Use ProjectUpdate.ProtoReflect.Descriptor instead. func (*ProjectUpdate) Descriptor() ([]byte, []int) { - return file_generated_service_proto_rawDescGZIP(), []int{193} + return file_service_proto_rawDescGZIP(), []int{193} } func (x *ProjectUpdate) GetId() string { @@ -10695,24 +10148,21 @@ func (x *ProjectUpdate) GetMetadata() *wrapperspb.StringValue { } type Timestamped struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - // Types that are assignable to Instance: + state protoimpl.MessageState `protogen:"open.v1"` + // Types that are valid to be assigned to Instance: // // *Timestamped_Project // *Timestamped_Milestone - Instance isTimestamped_Instance `protobuf_oneof:"instance"` + Instance isTimestamped_Instance `protobuf_oneof:"instance"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *Timestamped) Reset() { *x = Timestamped{} - if protoimpl.UnsafeEnabled { - mi := &file_generated_service_proto_msgTypes[194] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_service_proto_msgTypes[194] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *Timestamped) String() string { @@ -10722,8 +10172,8 @@ func (x *Timestamped) String() string { func (*Timestamped) ProtoMessage() {} func (x *Timestamped) ProtoReflect() protoreflect.Message { - mi := &file_generated_service_proto_msgTypes[194] - if protoimpl.UnsafeEnabled && x != nil { + mi := &file_service_proto_msgTypes[194] + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -10735,26 +10185,30 @@ func (x *Timestamped) ProtoReflect() protoreflect.Message { // Deprecated: Use Timestamped.ProtoReflect.Descriptor instead. func (*Timestamped) Descriptor() ([]byte, []int) { - return file_generated_service_proto_rawDescGZIP(), []int{194} + return file_service_proto_rawDescGZIP(), []int{194} } -func (m *Timestamped) GetInstance() isTimestamped_Instance { - if m != nil { - return m.Instance +func (x *Timestamped) GetInstance() isTimestamped_Instance { + if x != nil { + return x.Instance } return nil } func (x *Timestamped) GetProject() *Project { - if x, ok := x.GetInstance().(*Timestamped_Project); ok { - return x.Project + if x != nil { + if x, ok := x.Instance.(*Timestamped_Project); ok { + return x.Project + } } return nil } func (x *Timestamped) GetMilestone() *Milestone { - if x, ok := x.GetInstance().(*Timestamped_Milestone); ok { - return x.Milestone + if x != nil { + if x, ok := x.Instance.(*Timestamped_Milestone); ok { + return x.Milestone + } } return nil } @@ -10776,23 +10230,20 @@ func (*Timestamped_Project) isTimestamped_Instance() {} func (*Timestamped_Milestone) isTimestamped_Instance() {} type Assignable struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - // Types that are assignable to Instance: + state protoimpl.MessageState `protogen:"open.v1"` + // Types that are valid to be assigned to Instance: // // *Assignable_Task - Instance isAssignable_Instance `protobuf_oneof:"instance"` + Instance isAssignable_Instance `protobuf_oneof:"instance"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *Assignable) Reset() { *x = Assignable{} - if protoimpl.UnsafeEnabled { - mi := &file_generated_service_proto_msgTypes[195] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_service_proto_msgTypes[195] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *Assignable) String() string { @@ -10802,8 +10253,8 @@ func (x *Assignable) String() string { func (*Assignable) ProtoMessage() {} func (x *Assignable) ProtoReflect() protoreflect.Message { - mi := &file_generated_service_proto_msgTypes[195] - if protoimpl.UnsafeEnabled && x != nil { + mi := &file_service_proto_msgTypes[195] + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -10815,19 +10266,21 @@ func (x *Assignable) ProtoReflect() protoreflect.Message { // Deprecated: Use Assignable.ProtoReflect.Descriptor instead. func (*Assignable) Descriptor() ([]byte, []int) { - return file_generated_service_proto_rawDescGZIP(), []int{195} + return file_service_proto_rawDescGZIP(), []int{195} } -func (m *Assignable) GetInstance() isAssignable_Instance { - if m != nil { - return m.Instance +func (x *Assignable) GetInstance() isAssignable_Instance { + if x != nil { + return x.Instance } return nil } func (x *Assignable) GetTask() *Task { - if x, ok := x.GetInstance().(*Assignable_Task); ok { - return x.Task + if x != nil { + if x, ok := x.Instance.(*Assignable_Task); ok { + return x.Task + } } return nil } @@ -10843,24 +10296,21 @@ type Assignable_Task struct { func (*Assignable_Task) isAssignable_Instance() {} type EmployeeWorkItem struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - // Types that are assignable to Instance: + state protoimpl.MessageState `protogen:"open.v1"` + // Types that are valid to be assigned to Instance: // // *EmployeeWorkItem_TechnicalWorkItem // *EmployeeWorkItem_ManagementWorkItem - Instance isEmployeeWorkItem_Instance `protobuf_oneof:"instance"` + Instance isEmployeeWorkItem_Instance `protobuf_oneof:"instance"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *EmployeeWorkItem) Reset() { *x = EmployeeWorkItem{} - if protoimpl.UnsafeEnabled { - mi := &file_generated_service_proto_msgTypes[196] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_service_proto_msgTypes[196] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *EmployeeWorkItem) String() string { @@ -10870,8 +10320,8 @@ func (x *EmployeeWorkItem) String() string { func (*EmployeeWorkItem) ProtoMessage() {} func (x *EmployeeWorkItem) ProtoReflect() protoreflect.Message { - mi := &file_generated_service_proto_msgTypes[196] - if protoimpl.UnsafeEnabled && x != nil { + mi := &file_service_proto_msgTypes[196] + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -10883,26 +10333,30 @@ func (x *EmployeeWorkItem) ProtoReflect() protoreflect.Message { // Deprecated: Use EmployeeWorkItem.ProtoReflect.Descriptor instead. func (*EmployeeWorkItem) Descriptor() ([]byte, []int) { - return file_generated_service_proto_rawDescGZIP(), []int{196} + return file_service_proto_rawDescGZIP(), []int{196} } -func (m *EmployeeWorkItem) GetInstance() isEmployeeWorkItem_Instance { - if m != nil { - return m.Instance +func (x *EmployeeWorkItem) GetInstance() isEmployeeWorkItem_Instance { + if x != nil { + return x.Instance } return nil } func (x *EmployeeWorkItem) GetTechnicalWorkItem() *TechnicalWorkItem { - if x, ok := x.GetInstance().(*EmployeeWorkItem_TechnicalWorkItem); ok { - return x.TechnicalWorkItem + if x != nil { + if x, ok := x.Instance.(*EmployeeWorkItem_TechnicalWorkItem); ok { + return x.TechnicalWorkItem + } } return nil } func (x *EmployeeWorkItem) GetManagementWorkItem() *ManagementWorkItem { - if x, ok := x.GetInstance().(*EmployeeWorkItem_ManagementWorkItem); ok { - return x.ManagementWorkItem + if x != nil { + if x, ok := x.Instance.(*EmployeeWorkItem_ManagementWorkItem); ok { + return x.ManagementWorkItem + } } return nil } @@ -10924,24 +10378,21 @@ func (*EmployeeWorkItem_TechnicalWorkItem) isEmployeeWorkItem_Instance() {} func (*EmployeeWorkItem_ManagementWorkItem) isEmployeeWorkItem_Instance() {} type TechnicalWorkItem struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache + state protoimpl.MessageState `protogen:"open.v1"` + Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` + Priority int32 `protobuf:"varint,2,opt,name=priority,proto3" json:"priority,omitempty"` + CodeCount int32 `protobuf:"varint,3,opt,name=code_count,json=codeCount,proto3" json:"code_count,omitempty"` + Handler *WorkItemHandler `protobuf:"bytes,4,opt,name=handler,proto3" json:"handler,omitempty"` + Specs *TechnicalSpecs `protobuf:"bytes,5,opt,name=specs,proto3" json:"specs,omitempty"` unknownFields protoimpl.UnknownFields - - Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` - Priority int32 `protobuf:"varint,2,opt,name=priority,proto3" json:"priority,omitempty"` - CodeCount int32 `protobuf:"varint,3,opt,name=code_count,json=codeCount,proto3" json:"code_count,omitempty"` - Handler *WorkItemHandler `protobuf:"bytes,4,opt,name=handler,proto3" json:"handler,omitempty"` - Specs *TechnicalSpecs `protobuf:"bytes,5,opt,name=specs,proto3" json:"specs,omitempty"` + sizeCache protoimpl.SizeCache } func (x *TechnicalWorkItem) Reset() { *x = TechnicalWorkItem{} - if protoimpl.UnsafeEnabled { - mi := &file_generated_service_proto_msgTypes[197] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_service_proto_msgTypes[197] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *TechnicalWorkItem) String() string { @@ -10951,8 +10402,8 @@ func (x *TechnicalWorkItem) String() string { func (*TechnicalWorkItem) ProtoMessage() {} func (x *TechnicalWorkItem) ProtoReflect() protoreflect.Message { - mi := &file_generated_service_proto_msgTypes[197] - if protoimpl.UnsafeEnabled && x != nil { + mi := &file_service_proto_msgTypes[197] + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -10964,7 +10415,7 @@ func (x *TechnicalWorkItem) ProtoReflect() protoreflect.Message { // Deprecated: Use TechnicalWorkItem.ProtoReflect.Descriptor instead. func (*TechnicalWorkItem) Descriptor() ([]byte, []int) { - return file_generated_service_proto_rawDescGZIP(), []int{197} + return file_service_proto_rawDescGZIP(), []int{197} } func (x *TechnicalWorkItem) GetName() string { @@ -11003,24 +10454,21 @@ func (x *TechnicalWorkItem) GetSpecs() *TechnicalSpecs { } type ManagementWorkItem struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache + state protoimpl.MessageState `protogen:"open.v1"` + Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` + Priority int32 `protobuf:"varint,2,opt,name=priority,proto3" json:"priority,omitempty"` + TeamSize string `protobuf:"bytes,3,opt,name=team_size,json=teamSize,proto3" json:"team_size,omitempty"` + Handler *WorkItemHandler `protobuf:"bytes,4,opt,name=handler,proto3" json:"handler,omitempty"` + Specs *ManagementSpecs `protobuf:"bytes,5,opt,name=specs,proto3" json:"specs,omitempty"` unknownFields protoimpl.UnknownFields - - Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` - Priority int32 `protobuf:"varint,2,opt,name=priority,proto3" json:"priority,omitempty"` - TeamSize string `protobuf:"bytes,3,opt,name=team_size,json=teamSize,proto3" json:"team_size,omitempty"` - Handler *WorkItemHandler `protobuf:"bytes,4,opt,name=handler,proto3" json:"handler,omitempty"` - Specs *ManagementSpecs `protobuf:"bytes,5,opt,name=specs,proto3" json:"specs,omitempty"` + sizeCache protoimpl.SizeCache } func (x *ManagementWorkItem) Reset() { *x = ManagementWorkItem{} - if protoimpl.UnsafeEnabled { - mi := &file_generated_service_proto_msgTypes[198] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_service_proto_msgTypes[198] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *ManagementWorkItem) String() string { @@ -11030,8 +10478,8 @@ func (x *ManagementWorkItem) String() string { func (*ManagementWorkItem) ProtoMessage() {} func (x *ManagementWorkItem) ProtoReflect() protoreflect.Message { - mi := &file_generated_service_proto_msgTypes[198] - if protoimpl.UnsafeEnabled && x != nil { + mi := &file_service_proto_msgTypes[198] + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -11043,7 +10491,7 @@ func (x *ManagementWorkItem) ProtoReflect() protoreflect.Message { // Deprecated: Use ManagementWorkItem.ProtoReflect.Descriptor instead. func (*ManagementWorkItem) Descriptor() ([]byte, []int) { - return file_generated_service_proto_rawDescGZIP(), []int{198} + return file_service_proto_rawDescGZIP(), []int{198} } func (x *ManagementWorkItem) GetName() string { @@ -11082,21 +10530,18 @@ func (x *ManagementWorkItem) GetSpecs() *ManagementSpecs { } type WorkItemHandler struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache + state protoimpl.MessageState `protogen:"open.v1"` + Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` + AssignedItem *EmployeeWorkItem `protobuf:"bytes,2,opt,name=assigned_item,json=assignedItem,proto3" json:"assigned_item,omitempty"` unknownFields protoimpl.UnknownFields - - Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` - AssignedItem *EmployeeWorkItem `protobuf:"bytes,2,opt,name=assigned_item,json=assignedItem,proto3" json:"assigned_item,omitempty"` + sizeCache protoimpl.SizeCache } func (x *WorkItemHandler) Reset() { *x = WorkItemHandler{} - if protoimpl.UnsafeEnabled { - mi := &file_generated_service_proto_msgTypes[199] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_service_proto_msgTypes[199] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *WorkItemHandler) String() string { @@ -11106,8 +10551,8 @@ func (x *WorkItemHandler) String() string { func (*WorkItemHandler) ProtoMessage() {} func (x *WorkItemHandler) ProtoReflect() protoreflect.Message { - mi := &file_generated_service_proto_msgTypes[199] - if protoimpl.UnsafeEnabled && x != nil { + mi := &file_service_proto_msgTypes[199] + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -11119,7 +10564,7 @@ func (x *WorkItemHandler) ProtoReflect() protoreflect.Message { // Deprecated: Use WorkItemHandler.ProtoReflect.Descriptor instead. func (*WorkItemHandler) Descriptor() ([]byte, []int) { - return file_generated_service_proto_rawDescGZIP(), []int{199} + return file_service_proto_rawDescGZIP(), []int{199} } func (x *WorkItemHandler) GetName() string { @@ -11137,22 +10582,19 @@ func (x *WorkItemHandler) GetAssignedItem() *EmployeeWorkItem { } type TechnicalSpecs struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache + state protoimpl.MessageState `protogen:"open.v1"` + Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` + Complexity float64 `protobuf:"fixed64,2,opt,name=complexity,proto3" json:"complexity,omitempty"` + Metrics *WorkMetrics `protobuf:"bytes,3,opt,name=metrics,proto3" json:"metrics,omitempty"` unknownFields protoimpl.UnknownFields - - Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` - Complexity float64 `protobuf:"fixed64,2,opt,name=complexity,proto3" json:"complexity,omitempty"` - Metrics *WorkMetrics `protobuf:"bytes,3,opt,name=metrics,proto3" json:"metrics,omitempty"` + sizeCache protoimpl.SizeCache } func (x *TechnicalSpecs) Reset() { *x = TechnicalSpecs{} - if protoimpl.UnsafeEnabled { - mi := &file_generated_service_proto_msgTypes[200] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_service_proto_msgTypes[200] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *TechnicalSpecs) String() string { @@ -11162,8 +10604,8 @@ func (x *TechnicalSpecs) String() string { func (*TechnicalSpecs) ProtoMessage() {} func (x *TechnicalSpecs) ProtoReflect() protoreflect.Message { - mi := &file_generated_service_proto_msgTypes[200] - if protoimpl.UnsafeEnabled && x != nil { + mi := &file_service_proto_msgTypes[200] + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -11175,7 +10617,7 @@ func (x *TechnicalSpecs) ProtoReflect() protoreflect.Message { // Deprecated: Use TechnicalSpecs.ProtoReflect.Descriptor instead. func (*TechnicalSpecs) Descriptor() ([]byte, []int) { - return file_generated_service_proto_rawDescGZIP(), []int{200} + return file_service_proto_rawDescGZIP(), []int{200} } func (x *TechnicalSpecs) GetName() string { @@ -11200,22 +10642,19 @@ func (x *TechnicalSpecs) GetMetrics() *WorkMetrics { } type ManagementSpecs struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache + state protoimpl.MessageState `protogen:"open.v1"` + Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` + Scope float64 `protobuf:"fixed64,2,opt,name=scope,proto3" json:"scope,omitempty"` + Metrics *WorkMetrics `protobuf:"bytes,3,opt,name=metrics,proto3" json:"metrics,omitempty"` unknownFields protoimpl.UnknownFields - - Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` - Scope float64 `protobuf:"fixed64,2,opt,name=scope,proto3" json:"scope,omitempty"` - Metrics *WorkMetrics `protobuf:"bytes,3,opt,name=metrics,proto3" json:"metrics,omitempty"` + sizeCache protoimpl.SizeCache } func (x *ManagementSpecs) Reset() { *x = ManagementSpecs{} - if protoimpl.UnsafeEnabled { - mi := &file_generated_service_proto_msgTypes[201] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_service_proto_msgTypes[201] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *ManagementSpecs) String() string { @@ -11225,8 +10664,8 @@ func (x *ManagementSpecs) String() string { func (*ManagementSpecs) ProtoMessage() {} func (x *ManagementSpecs) ProtoReflect() protoreflect.Message { - mi := &file_generated_service_proto_msgTypes[201] - if protoimpl.UnsafeEnabled && x != nil { + mi := &file_service_proto_msgTypes[201] + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -11238,7 +10677,7 @@ func (x *ManagementSpecs) ProtoReflect() protoreflect.Message { // Deprecated: Use ManagementSpecs.ProtoReflect.Descriptor instead. func (*ManagementSpecs) Descriptor() ([]byte, []int) { - return file_generated_service_proto_rawDescGZIP(), []int{201} + return file_service_proto_rawDescGZIP(), []int{201} } func (x *ManagementSpecs) GetName() string { @@ -11263,21 +10702,18 @@ func (x *ManagementSpecs) GetMetrics() *WorkMetrics { } type WorkMetrics struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache + state protoimpl.MessageState `protogen:"open.v1"` + Score float64 `protobuf:"fixed64,1,opt,name=score,proto3" json:"score,omitempty"` + Efficiency float64 `protobuf:"fixed64,2,opt,name=efficiency,proto3" json:"efficiency,omitempty"` unknownFields protoimpl.UnknownFields - - Score float64 `protobuf:"fixed64,1,opt,name=score,proto3" json:"score,omitempty"` - Efficiency float64 `protobuf:"fixed64,2,opt,name=efficiency,proto3" json:"efficiency,omitempty"` + sizeCache protoimpl.SizeCache } func (x *WorkMetrics) Reset() { *x = WorkMetrics{} - if protoimpl.UnsafeEnabled { - mi := &file_generated_service_proto_msgTypes[202] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_service_proto_msgTypes[202] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *WorkMetrics) String() string { @@ -11287,8 +10723,8 @@ func (x *WorkMetrics) String() string { func (*WorkMetrics) ProtoMessage() {} func (x *WorkMetrics) ProtoReflect() protoreflect.Message { - mi := &file_generated_service_proto_msgTypes[202] - if protoimpl.UnsafeEnabled && x != nil { + mi := &file_service_proto_msgTypes[202] + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -11300,7 +10736,7 @@ func (x *WorkMetrics) ProtoReflect() protoreflect.Message { // Deprecated: Use WorkMetrics.ProtoReflect.Descriptor instead. func (*WorkMetrics) Descriptor() ([]byte, []int) { - return file_generated_service_proto_rawDescGZIP(), []int{202} + return file_service_proto_rawDescGZIP(), []int{202} } func (x *WorkMetrics) GetScore() float64 { @@ -11318,24 +10754,21 @@ func (x *WorkMetrics) GetEfficiency() float64 { } type WorkReviewResult struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - // Types that are assignable to Value: + state protoimpl.MessageState `protogen:"open.v1"` + // Types that are valid to be assigned to Value: // // *WorkReviewResult_WorkApproval // *WorkReviewResult_WorkRejection - Value isWorkReviewResult_Value `protobuf_oneof:"value"` + Value isWorkReviewResult_Value `protobuf_oneof:"value"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *WorkReviewResult) Reset() { *x = WorkReviewResult{} - if protoimpl.UnsafeEnabled { - mi := &file_generated_service_proto_msgTypes[203] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_service_proto_msgTypes[203] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *WorkReviewResult) String() string { @@ -11345,8 +10778,8 @@ func (x *WorkReviewResult) String() string { func (*WorkReviewResult) ProtoMessage() {} func (x *WorkReviewResult) ProtoReflect() protoreflect.Message { - mi := &file_generated_service_proto_msgTypes[203] - if protoimpl.UnsafeEnabled && x != nil { + mi := &file_service_proto_msgTypes[203] + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -11358,26 +10791,30 @@ func (x *WorkReviewResult) ProtoReflect() protoreflect.Message { // Deprecated: Use WorkReviewResult.ProtoReflect.Descriptor instead. func (*WorkReviewResult) Descriptor() ([]byte, []int) { - return file_generated_service_proto_rawDescGZIP(), []int{203} + return file_service_proto_rawDescGZIP(), []int{203} } -func (m *WorkReviewResult) GetValue() isWorkReviewResult_Value { - if m != nil { - return m.Value +func (x *WorkReviewResult) GetValue() isWorkReviewResult_Value { + if x != nil { + return x.Value } return nil } func (x *WorkReviewResult) GetWorkApproval() *WorkApproval { - if x, ok := x.GetValue().(*WorkReviewResult_WorkApproval); ok { - return x.WorkApproval + if x != nil { + if x, ok := x.Value.(*WorkReviewResult_WorkApproval); ok { + return x.WorkApproval + } } return nil } func (x *WorkReviewResult) GetWorkRejection() *WorkRejection { - if x, ok := x.GetValue().(*WorkReviewResult_WorkRejection); ok { - return x.WorkRejection + if x != nil { + if x, ok := x.Value.(*WorkReviewResult_WorkRejection); ok { + return x.WorkRejection + } } return nil } @@ -11399,21 +10836,18 @@ func (*WorkReviewResult_WorkApproval) isWorkReviewResult_Value() {} func (*WorkReviewResult_WorkRejection) isWorkReviewResult_Value() {} type WorkApproval struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache + state protoimpl.MessageState `protogen:"open.v1"` + Comment string `protobuf:"bytes,1,opt,name=comment,proto3" json:"comment,omitempty"` + ApprovedAt string `protobuf:"bytes,2,opt,name=approved_at,json=approvedAt,proto3" json:"approved_at,omitempty"` unknownFields protoimpl.UnknownFields - - Comment string `protobuf:"bytes,1,opt,name=comment,proto3" json:"comment,omitempty"` - ApprovedAt string `protobuf:"bytes,2,opt,name=approved_at,json=approvedAt,proto3" json:"approved_at,omitempty"` + sizeCache protoimpl.SizeCache } func (x *WorkApproval) Reset() { *x = WorkApproval{} - if protoimpl.UnsafeEnabled { - mi := &file_generated_service_proto_msgTypes[204] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_service_proto_msgTypes[204] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *WorkApproval) String() string { @@ -11423,8 +10857,8 @@ func (x *WorkApproval) String() string { func (*WorkApproval) ProtoMessage() {} func (x *WorkApproval) ProtoReflect() protoreflect.Message { - mi := &file_generated_service_proto_msgTypes[204] - if protoimpl.UnsafeEnabled && x != nil { + mi := &file_service_proto_msgTypes[204] + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -11436,7 +10870,7 @@ func (x *WorkApproval) ProtoReflect() protoreflect.Message { // Deprecated: Use WorkApproval.ProtoReflect.Descriptor instead. func (*WorkApproval) Descriptor() ([]byte, []int) { - return file_generated_service_proto_rawDescGZIP(), []int{204} + return file_service_proto_rawDescGZIP(), []int{204} } func (x *WorkApproval) GetComment() string { @@ -11454,21 +10888,18 @@ func (x *WorkApproval) GetApprovedAt() string { } type WorkRejection struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache + state protoimpl.MessageState `protogen:"open.v1"` + Reason string `protobuf:"bytes,1,opt,name=reason,proto3" json:"reason,omitempty"` + RejectionCode string `protobuf:"bytes,2,opt,name=rejection_code,json=rejectionCode,proto3" json:"rejection_code,omitempty"` unknownFields protoimpl.UnknownFields - - Reason string `protobuf:"bytes,1,opt,name=reason,proto3" json:"reason,omitempty"` - RejectionCode string `protobuf:"bytes,2,opt,name=rejection_code,json=rejectionCode,proto3" json:"rejection_code,omitempty"` + sizeCache protoimpl.SizeCache } func (x *WorkRejection) Reset() { *x = WorkRejection{} - if protoimpl.UnsafeEnabled { - mi := &file_generated_service_proto_msgTypes[205] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_service_proto_msgTypes[205] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *WorkRejection) String() string { @@ -11478,8 +10909,8 @@ func (x *WorkRejection) String() string { func (*WorkRejection) ProtoMessage() {} func (x *WorkRejection) ProtoReflect() protoreflect.Message { - mi := &file_generated_service_proto_msgTypes[205] - if protoimpl.UnsafeEnabled && x != nil { + mi := &file_service_proto_msgTypes[205] + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -11491,7 +10922,7 @@ func (x *WorkRejection) ProtoReflect() protoreflect.Message { // Deprecated: Use WorkRejection.ProtoReflect.Descriptor instead. func (*WorkRejection) Descriptor() ([]byte, []int) { - return file_generated_service_proto_rawDescGZIP(), []int{205} + return file_service_proto_rawDescGZIP(), []int{205} } func (x *WorkRejection) GetReason() string { @@ -11509,21 +10940,18 @@ func (x *WorkRejection) GetRejectionCode() string { } type WorkSetup struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache + state protoimpl.MessageState `protogen:"open.v1"` + Priority string `protobuf:"bytes,1,opt,name=priority,proto3" json:"priority,omitempty"` + PrimaryItem *EmployeeWorkItem `protobuf:"bytes,2,opt,name=primary_item,json=primaryItem,proto3" json:"primary_item,omitempty"` unknownFields protoimpl.UnknownFields - - Priority string `protobuf:"bytes,1,opt,name=priority,proto3" json:"priority,omitempty"` - PrimaryItem *EmployeeWorkItem `protobuf:"bytes,2,opt,name=primary_item,json=primaryItem,proto3" json:"primary_item,omitempty"` + sizeCache protoimpl.SizeCache } func (x *WorkSetup) Reset() { *x = WorkSetup{} - if protoimpl.UnsafeEnabled { - mi := &file_generated_service_proto_msgTypes[206] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_service_proto_msgTypes[206] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *WorkSetup) String() string { @@ -11533,8 +10961,8 @@ func (x *WorkSetup) String() string { func (*WorkSetup) ProtoMessage() {} func (x *WorkSetup) ProtoReflect() protoreflect.Message { - mi := &file_generated_service_proto_msgTypes[206] - if protoimpl.UnsafeEnabled && x != nil { + mi := &file_service_proto_msgTypes[206] + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -11546,7 +10974,7 @@ func (x *WorkSetup) ProtoReflect() protoreflect.Message { // Deprecated: Use WorkSetup.ProtoReflect.Descriptor instead. func (*WorkSetup) Descriptor() ([]byte, []int) { - return file_generated_service_proto_rawDescGZIP(), []int{206} + return file_service_proto_rawDescGZIP(), []int{206} } func (x *WorkSetup) GetPriority() string { @@ -11564,20 +10992,17 @@ func (x *WorkSetup) GetPrimaryItem() *EmployeeWorkItem { } type ListOfEmployee_List struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache + state protoimpl.MessageState `protogen:"open.v1"` + Items []*Employee `protobuf:"bytes,1,rep,name=items,proto3" json:"items,omitempty"` unknownFields protoimpl.UnknownFields - - Items []*Employee `protobuf:"bytes,1,rep,name=items,proto3" json:"items,omitempty"` + sizeCache protoimpl.SizeCache } func (x *ListOfEmployee_List) Reset() { *x = ListOfEmployee_List{} - if protoimpl.UnsafeEnabled { - mi := &file_generated_service_proto_msgTypes[207] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_service_proto_msgTypes[207] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *ListOfEmployee_List) String() string { @@ -11587,8 +11012,8 @@ func (x *ListOfEmployee_List) String() string { func (*ListOfEmployee_List) ProtoMessage() {} func (x *ListOfEmployee_List) ProtoReflect() protoreflect.Message { - mi := &file_generated_service_proto_msgTypes[207] - if protoimpl.UnsafeEnabled && x != nil { + mi := &file_service_proto_msgTypes[207] + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -11600,7 +11025,7 @@ func (x *ListOfEmployee_List) ProtoReflect() protoreflect.Message { // Deprecated: Use ListOfEmployee_List.ProtoReflect.Descriptor instead. func (*ListOfEmployee_List) Descriptor() ([]byte, []int) { - return file_generated_service_proto_rawDescGZIP(), []int{0, 0} + return file_service_proto_rawDescGZIP(), []int{0, 0} } func (x *ListOfEmployee_List) GetItems() []*Employee { @@ -11611,20 +11036,17 @@ func (x *ListOfEmployee_List) GetItems() []*Employee { } type ListOfInt_List struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache + state protoimpl.MessageState `protogen:"open.v1"` + Items []int32 `protobuf:"varint,1,rep,packed,name=items,proto3" json:"items,omitempty"` unknownFields protoimpl.UnknownFields - - Items []int32 `protobuf:"varint,1,rep,packed,name=items,proto3" json:"items,omitempty"` + sizeCache protoimpl.SizeCache } func (x *ListOfInt_List) Reset() { *x = ListOfInt_List{} - if protoimpl.UnsafeEnabled { - mi := &file_generated_service_proto_msgTypes[208] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_service_proto_msgTypes[208] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *ListOfInt_List) String() string { @@ -11634,8 +11056,8 @@ func (x *ListOfInt_List) String() string { func (*ListOfInt_List) ProtoMessage() {} func (x *ListOfInt_List) ProtoReflect() protoreflect.Message { - mi := &file_generated_service_proto_msgTypes[208] - if protoimpl.UnsafeEnabled && x != nil { + mi := &file_service_proto_msgTypes[208] + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -11647,7 +11069,7 @@ func (x *ListOfInt_List) ProtoReflect() protoreflect.Message { // Deprecated: Use ListOfInt_List.ProtoReflect.Descriptor instead. func (*ListOfInt_List) Descriptor() ([]byte, []int) { - return file_generated_service_proto_rawDescGZIP(), []int{1, 0} + return file_service_proto_rawDescGZIP(), []int{1, 0} } func (x *ListOfInt_List) GetItems() []int32 { @@ -11658,20 +11080,17 @@ func (x *ListOfInt_List) GetItems() []int32 { } type ListOfListOfListOfTask_List struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache + state protoimpl.MessageState `protogen:"open.v1"` + Items []*ListOfListOfTask `protobuf:"bytes,1,rep,name=items,proto3" json:"items,omitempty"` unknownFields protoimpl.UnknownFields - - Items []*ListOfListOfTask `protobuf:"bytes,1,rep,name=items,proto3" json:"items,omitempty"` + sizeCache protoimpl.SizeCache } func (x *ListOfListOfListOfTask_List) Reset() { *x = ListOfListOfListOfTask_List{} - if protoimpl.UnsafeEnabled { - mi := &file_generated_service_proto_msgTypes[209] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_service_proto_msgTypes[209] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *ListOfListOfListOfTask_List) String() string { @@ -11681,8 +11100,8 @@ func (x *ListOfListOfListOfTask_List) String() string { func (*ListOfListOfListOfTask_List) ProtoMessage() {} func (x *ListOfListOfListOfTask_List) ProtoReflect() protoreflect.Message { - mi := &file_generated_service_proto_msgTypes[209] - if protoimpl.UnsafeEnabled && x != nil { + mi := &file_service_proto_msgTypes[209] + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -11694,7 +11113,7 @@ func (x *ListOfListOfListOfTask_List) ProtoReflect() protoreflect.Message { // Deprecated: Use ListOfListOfListOfTask_List.ProtoReflect.Descriptor instead. func (*ListOfListOfListOfTask_List) Descriptor() ([]byte, []int) { - return file_generated_service_proto_rawDescGZIP(), []int{2, 0} + return file_service_proto_rawDescGZIP(), []int{2, 0} } func (x *ListOfListOfListOfTask_List) GetItems() []*ListOfListOfTask { @@ -11705,20 +11124,17 @@ func (x *ListOfListOfListOfTask_List) GetItems() []*ListOfListOfTask { } type ListOfListOfMilestone_List struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache + state protoimpl.MessageState `protogen:"open.v1"` + Items []*ListOfMilestone `protobuf:"bytes,1,rep,name=items,proto3" json:"items,omitempty"` unknownFields protoimpl.UnknownFields - - Items []*ListOfMilestone `protobuf:"bytes,1,rep,name=items,proto3" json:"items,omitempty"` + sizeCache protoimpl.SizeCache } func (x *ListOfListOfMilestone_List) Reset() { *x = ListOfListOfMilestone_List{} - if protoimpl.UnsafeEnabled { - mi := &file_generated_service_proto_msgTypes[210] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_service_proto_msgTypes[210] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *ListOfListOfMilestone_List) String() string { @@ -11728,8 +11144,8 @@ func (x *ListOfListOfMilestone_List) String() string { func (*ListOfListOfMilestone_List) ProtoMessage() {} func (x *ListOfListOfMilestone_List) ProtoReflect() protoreflect.Message { - mi := &file_generated_service_proto_msgTypes[210] - if protoimpl.UnsafeEnabled && x != nil { + mi := &file_service_proto_msgTypes[210] + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -11741,7 +11157,7 @@ func (x *ListOfListOfMilestone_List) ProtoReflect() protoreflect.Message { // Deprecated: Use ListOfListOfMilestone_List.ProtoReflect.Descriptor instead. func (*ListOfListOfMilestone_List) Descriptor() ([]byte, []int) { - return file_generated_service_proto_rawDescGZIP(), []int{3, 0} + return file_service_proto_rawDescGZIP(), []int{3, 0} } func (x *ListOfListOfMilestone_List) GetItems() []*ListOfMilestone { @@ -11752,20 +11168,17 @@ func (x *ListOfListOfMilestone_List) GetItems() []*ListOfMilestone { } type ListOfListOfProject_List struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache + state protoimpl.MessageState `protogen:"open.v1"` + Items []*ListOfProject `protobuf:"bytes,1,rep,name=items,proto3" json:"items,omitempty"` unknownFields protoimpl.UnknownFields - - Items []*ListOfProject `protobuf:"bytes,1,rep,name=items,proto3" json:"items,omitempty"` + sizeCache protoimpl.SizeCache } func (x *ListOfListOfProject_List) Reset() { *x = ListOfListOfProject_List{} - if protoimpl.UnsafeEnabled { - mi := &file_generated_service_proto_msgTypes[211] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_service_proto_msgTypes[211] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *ListOfListOfProject_List) String() string { @@ -11775,8 +11188,8 @@ func (x *ListOfListOfProject_List) String() string { func (*ListOfListOfProject_List) ProtoMessage() {} func (x *ListOfListOfProject_List) ProtoReflect() protoreflect.Message { - mi := &file_generated_service_proto_msgTypes[211] - if protoimpl.UnsafeEnabled && x != nil { + mi := &file_service_proto_msgTypes[211] + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -11788,7 +11201,7 @@ func (x *ListOfListOfProject_List) ProtoReflect() protoreflect.Message { // Deprecated: Use ListOfListOfProject_List.ProtoReflect.Descriptor instead. func (*ListOfListOfProject_List) Descriptor() ([]byte, []int) { - return file_generated_service_proto_rawDescGZIP(), []int{4, 0} + return file_service_proto_rawDescGZIP(), []int{4, 0} } func (x *ListOfListOfProject_List) GetItems() []*ListOfProject { @@ -11799,20 +11212,17 @@ func (x *ListOfListOfProject_List) GetItems() []*ListOfProject { } type ListOfListOfProjectResource_List struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache + state protoimpl.MessageState `protogen:"open.v1"` + Items []*ListOfProjectResource `protobuf:"bytes,1,rep,name=items,proto3" json:"items,omitempty"` unknownFields protoimpl.UnknownFields - - Items []*ListOfProjectResource `protobuf:"bytes,1,rep,name=items,proto3" json:"items,omitempty"` + sizeCache protoimpl.SizeCache } func (x *ListOfListOfProjectResource_List) Reset() { *x = ListOfListOfProjectResource_List{} - if protoimpl.UnsafeEnabled { - mi := &file_generated_service_proto_msgTypes[212] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_service_proto_msgTypes[212] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *ListOfListOfProjectResource_List) String() string { @@ -11822,8 +11232,8 @@ func (x *ListOfListOfProjectResource_List) String() string { func (*ListOfListOfProjectResource_List) ProtoMessage() {} func (x *ListOfListOfProjectResource_List) ProtoReflect() protoreflect.Message { - mi := &file_generated_service_proto_msgTypes[212] - if protoimpl.UnsafeEnabled && x != nil { + mi := &file_service_proto_msgTypes[212] + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -11835,7 +11245,7 @@ func (x *ListOfListOfProjectResource_List) ProtoReflect() protoreflect.Message { // Deprecated: Use ListOfListOfProjectResource_List.ProtoReflect.Descriptor instead. func (*ListOfListOfProjectResource_List) Descriptor() ([]byte, []int) { - return file_generated_service_proto_rawDescGZIP(), []int{5, 0} + return file_service_proto_rawDescGZIP(), []int{5, 0} } func (x *ListOfListOfProjectResource_List) GetItems() []*ListOfProjectResource { @@ -11846,20 +11256,17 @@ func (x *ListOfListOfProjectResource_List) GetItems() []*ListOfProjectResource { } type ListOfListOfString_List struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache + state protoimpl.MessageState `protogen:"open.v1"` + Items []*ListOfString `protobuf:"bytes,1,rep,name=items,proto3" json:"items,omitempty"` unknownFields protoimpl.UnknownFields - - Items []*ListOfString `protobuf:"bytes,1,rep,name=items,proto3" json:"items,omitempty"` + sizeCache protoimpl.SizeCache } func (x *ListOfListOfString_List) Reset() { *x = ListOfListOfString_List{} - if protoimpl.UnsafeEnabled { - mi := &file_generated_service_proto_msgTypes[213] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_service_proto_msgTypes[213] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *ListOfListOfString_List) String() string { @@ -11869,8 +11276,8 @@ func (x *ListOfListOfString_List) String() string { func (*ListOfListOfString_List) ProtoMessage() {} func (x *ListOfListOfString_List) ProtoReflect() protoreflect.Message { - mi := &file_generated_service_proto_msgTypes[213] - if protoimpl.UnsafeEnabled && x != nil { + mi := &file_service_proto_msgTypes[213] + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -11882,7 +11289,7 @@ func (x *ListOfListOfString_List) ProtoReflect() protoreflect.Message { // Deprecated: Use ListOfListOfString_List.ProtoReflect.Descriptor instead. func (*ListOfListOfString_List) Descriptor() ([]byte, []int) { - return file_generated_service_proto_rawDescGZIP(), []int{6, 0} + return file_service_proto_rawDescGZIP(), []int{6, 0} } func (x *ListOfListOfString_List) GetItems() []*ListOfString { @@ -11893,20 +11300,17 @@ func (x *ListOfListOfString_List) GetItems() []*ListOfString { } type ListOfListOfTask_List struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache + state protoimpl.MessageState `protogen:"open.v1"` + Items []*ListOfTask `protobuf:"bytes,1,rep,name=items,proto3" json:"items,omitempty"` unknownFields protoimpl.UnknownFields - - Items []*ListOfTask `protobuf:"bytes,1,rep,name=items,proto3" json:"items,omitempty"` + sizeCache protoimpl.SizeCache } func (x *ListOfListOfTask_List) Reset() { *x = ListOfListOfTask_List{} - if protoimpl.UnsafeEnabled { - mi := &file_generated_service_proto_msgTypes[214] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_service_proto_msgTypes[214] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *ListOfListOfTask_List) String() string { @@ -11916,8 +11320,8 @@ func (x *ListOfListOfTask_List) String() string { func (*ListOfListOfTask_List) ProtoMessage() {} func (x *ListOfListOfTask_List) ProtoReflect() protoreflect.Message { - mi := &file_generated_service_proto_msgTypes[214] - if protoimpl.UnsafeEnabled && x != nil { + mi := &file_service_proto_msgTypes[214] + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -11929,7 +11333,7 @@ func (x *ListOfListOfTask_List) ProtoReflect() protoreflect.Message { // Deprecated: Use ListOfListOfTask_List.ProtoReflect.Descriptor instead. func (*ListOfListOfTask_List) Descriptor() ([]byte, []int) { - return file_generated_service_proto_rawDescGZIP(), []int{7, 0} + return file_service_proto_rawDescGZIP(), []int{7, 0} } func (x *ListOfListOfTask_List) GetItems() []*ListOfTask { @@ -11940,20 +11344,17 @@ func (x *ListOfListOfTask_List) GetItems() []*ListOfTask { } type ListOfMilestone_List struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache + state protoimpl.MessageState `protogen:"open.v1"` + Items []*Milestone `protobuf:"bytes,1,rep,name=items,proto3" json:"items,omitempty"` unknownFields protoimpl.UnknownFields - - Items []*Milestone `protobuf:"bytes,1,rep,name=items,proto3" json:"items,omitempty"` + sizeCache protoimpl.SizeCache } func (x *ListOfMilestone_List) Reset() { - *x = ListOfMilestone_List{} - if protoimpl.UnsafeEnabled { - mi := &file_generated_service_proto_msgTypes[215] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + *x = ListOfMilestone_List{} + mi := &file_service_proto_msgTypes[215] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *ListOfMilestone_List) String() string { @@ -11963,8 +11364,8 @@ func (x *ListOfMilestone_List) String() string { func (*ListOfMilestone_List) ProtoMessage() {} func (x *ListOfMilestone_List) ProtoReflect() protoreflect.Message { - mi := &file_generated_service_proto_msgTypes[215] - if protoimpl.UnsafeEnabled && x != nil { + mi := &file_service_proto_msgTypes[215] + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -11976,7 +11377,7 @@ func (x *ListOfMilestone_List) ProtoReflect() protoreflect.Message { // Deprecated: Use ListOfMilestone_List.ProtoReflect.Descriptor instead. func (*ListOfMilestone_List) Descriptor() ([]byte, []int) { - return file_generated_service_proto_rawDescGZIP(), []int{8, 0} + return file_service_proto_rawDescGZIP(), []int{8, 0} } func (x *ListOfMilestone_List) GetItems() []*Milestone { @@ -11987,20 +11388,17 @@ func (x *ListOfMilestone_List) GetItems() []*Milestone { } type ListOfProject_List struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache + state protoimpl.MessageState `protogen:"open.v1"` + Items []*Project `protobuf:"bytes,1,rep,name=items,proto3" json:"items,omitempty"` unknownFields protoimpl.UnknownFields - - Items []*Project `protobuf:"bytes,1,rep,name=items,proto3" json:"items,omitempty"` + sizeCache protoimpl.SizeCache } func (x *ListOfProject_List) Reset() { *x = ListOfProject_List{} - if protoimpl.UnsafeEnabled { - mi := &file_generated_service_proto_msgTypes[216] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_service_proto_msgTypes[216] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *ListOfProject_List) String() string { @@ -12010,8 +11408,8 @@ func (x *ListOfProject_List) String() string { func (*ListOfProject_List) ProtoMessage() {} func (x *ListOfProject_List) ProtoReflect() protoreflect.Message { - mi := &file_generated_service_proto_msgTypes[216] - if protoimpl.UnsafeEnabled && x != nil { + mi := &file_service_proto_msgTypes[216] + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -12023,7 +11421,7 @@ func (x *ListOfProject_List) ProtoReflect() protoreflect.Message { // Deprecated: Use ListOfProject_List.ProtoReflect.Descriptor instead. func (*ListOfProject_List) Descriptor() ([]byte, []int) { - return file_generated_service_proto_rawDescGZIP(), []int{9, 0} + return file_service_proto_rawDescGZIP(), []int{9, 0} } func (x *ListOfProject_List) GetItems() []*Project { @@ -12034,20 +11432,17 @@ func (x *ListOfProject_List) GetItems() []*Project { } type ListOfProjectResource_List struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache + state protoimpl.MessageState `protogen:"open.v1"` + Items []*ProjectResource `protobuf:"bytes,1,rep,name=items,proto3" json:"items,omitempty"` unknownFields protoimpl.UnknownFields - - Items []*ProjectResource `protobuf:"bytes,1,rep,name=items,proto3" json:"items,omitempty"` + sizeCache protoimpl.SizeCache } func (x *ListOfProjectResource_List) Reset() { *x = ListOfProjectResource_List{} - if protoimpl.UnsafeEnabled { - mi := &file_generated_service_proto_msgTypes[217] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_service_proto_msgTypes[217] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *ListOfProjectResource_List) String() string { @@ -12057,8 +11452,8 @@ func (x *ListOfProjectResource_List) String() string { func (*ListOfProjectResource_List) ProtoMessage() {} func (x *ListOfProjectResource_List) ProtoReflect() protoreflect.Message { - mi := &file_generated_service_proto_msgTypes[217] - if protoimpl.UnsafeEnabled && x != nil { + mi := &file_service_proto_msgTypes[217] + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -12070,7 +11465,7 @@ func (x *ListOfProjectResource_List) ProtoReflect() protoreflect.Message { // Deprecated: Use ListOfProjectResource_List.ProtoReflect.Descriptor instead. func (*ListOfProjectResource_List) Descriptor() ([]byte, []int) { - return file_generated_service_proto_rawDescGZIP(), []int{10, 0} + return file_service_proto_rawDescGZIP(), []int{10, 0} } func (x *ListOfProjectResource_List) GetItems() []*ProjectResource { @@ -12081,20 +11476,17 @@ func (x *ListOfProjectResource_List) GetItems() []*ProjectResource { } type ListOfString_List struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache + state protoimpl.MessageState `protogen:"open.v1"` + Items []string `protobuf:"bytes,1,rep,name=items,proto3" json:"items,omitempty"` unknownFields protoimpl.UnknownFields - - Items []string `protobuf:"bytes,1,rep,name=items,proto3" json:"items,omitempty"` + sizeCache protoimpl.SizeCache } func (x *ListOfString_List) Reset() { *x = ListOfString_List{} - if protoimpl.UnsafeEnabled { - mi := &file_generated_service_proto_msgTypes[218] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_service_proto_msgTypes[218] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *ListOfString_List) String() string { @@ -12104,8 +11496,8 @@ func (x *ListOfString_List) String() string { func (*ListOfString_List) ProtoMessage() {} func (x *ListOfString_List) ProtoReflect() protoreflect.Message { - mi := &file_generated_service_proto_msgTypes[218] - if protoimpl.UnsafeEnabled && x != nil { + mi := &file_service_proto_msgTypes[218] + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -12117,7 +11509,7 @@ func (x *ListOfString_List) ProtoReflect() protoreflect.Message { // Deprecated: Use ListOfString_List.ProtoReflect.Descriptor instead. func (*ListOfString_List) Descriptor() ([]byte, []int) { - return file_generated_service_proto_rawDescGZIP(), []int{11, 0} + return file_service_proto_rawDescGZIP(), []int{11, 0} } func (x *ListOfString_List) GetItems() []string { @@ -12128,20 +11520,17 @@ func (x *ListOfString_List) GetItems() []string { } type ListOfTask_List struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache + state protoimpl.MessageState `protogen:"open.v1"` + Items []*Task `protobuf:"bytes,1,rep,name=items,proto3" json:"items,omitempty"` unknownFields protoimpl.UnknownFields - - Items []*Task `protobuf:"bytes,1,rep,name=items,proto3" json:"items,omitempty"` + sizeCache protoimpl.SizeCache } func (x *ListOfTask_List) Reset() { *x = ListOfTask_List{} - if protoimpl.UnsafeEnabled { - mi := &file_generated_service_proto_msgTypes[219] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_service_proto_msgTypes[219] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *ListOfTask_List) String() string { @@ -12151,8 +11540,8 @@ func (x *ListOfTask_List) String() string { func (*ListOfTask_List) ProtoMessage() {} func (x *ListOfTask_List) ProtoReflect() protoreflect.Message { - mi := &file_generated_service_proto_msgTypes[219] - if protoimpl.UnsafeEnabled && x != nil { + mi := &file_service_proto_msgTypes[219] + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -12164,7 +11553,7 @@ func (x *ListOfTask_List) ProtoReflect() protoreflect.Message { // Deprecated: Use ListOfTask_List.ProtoReflect.Descriptor instead. func (*ListOfTask_List) Descriptor() ([]byte, []int) { - return file_generated_service_proto_rawDescGZIP(), []int{12, 0} + return file_service_proto_rawDescGZIP(), []int{12, 0} } func (x *ListOfTask_List) GetItems() []*Task { @@ -12175,21 +11564,18 @@ func (x *ListOfTask_List) GetItems() []*Task { } type RequireEmployeeWorkItemInfoByIdFields_TechnicalWorkItem struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache + state protoimpl.MessageState `protogen:"open.v1"` + Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` + CodeCount int32 `protobuf:"varint,2,opt,name=code_count,json=codeCount,proto3" json:"code_count,omitempty"` unknownFields protoimpl.UnknownFields - - Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` - CodeCount int32 `protobuf:"varint,2,opt,name=code_count,json=codeCount,proto3" json:"code_count,omitempty"` + sizeCache protoimpl.SizeCache } func (x *RequireEmployeeWorkItemInfoByIdFields_TechnicalWorkItem) Reset() { *x = RequireEmployeeWorkItemInfoByIdFields_TechnicalWorkItem{} - if protoimpl.UnsafeEnabled { - mi := &file_generated_service_proto_msgTypes[220] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_service_proto_msgTypes[220] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *RequireEmployeeWorkItemInfoByIdFields_TechnicalWorkItem) String() string { @@ -12199,8 +11585,8 @@ func (x *RequireEmployeeWorkItemInfoByIdFields_TechnicalWorkItem) String() strin func (*RequireEmployeeWorkItemInfoByIdFields_TechnicalWorkItem) ProtoMessage() {} func (x *RequireEmployeeWorkItemInfoByIdFields_TechnicalWorkItem) ProtoReflect() protoreflect.Message { - mi := &file_generated_service_proto_msgTypes[220] - if protoimpl.UnsafeEnabled && x != nil { + mi := &file_service_proto_msgTypes[220] + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -12212,7 +11598,7 @@ func (x *RequireEmployeeWorkItemInfoByIdFields_TechnicalWorkItem) ProtoReflect() // Deprecated: Use RequireEmployeeWorkItemInfoByIdFields_TechnicalWorkItem.ProtoReflect.Descriptor instead. func (*RequireEmployeeWorkItemInfoByIdFields_TechnicalWorkItem) Descriptor() ([]byte, []int) { - return file_generated_service_proto_rawDescGZIP(), []int{155, 0} + return file_service_proto_rawDescGZIP(), []int{155, 0} } func (x *RequireEmployeeWorkItemInfoByIdFields_TechnicalWorkItem) GetName() string { @@ -12230,21 +11616,18 @@ func (x *RequireEmployeeWorkItemInfoByIdFields_TechnicalWorkItem) GetCodeCount() } type RequireEmployeeWorkItemInfoByIdFields_ManagementWorkItem struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache + state protoimpl.MessageState `protogen:"open.v1"` + Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` + TeamSize string `protobuf:"bytes,2,opt,name=team_size,json=teamSize,proto3" json:"team_size,omitempty"` unknownFields protoimpl.UnknownFields - - Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` - TeamSize string `protobuf:"bytes,2,opt,name=team_size,json=teamSize,proto3" json:"team_size,omitempty"` + sizeCache protoimpl.SizeCache } func (x *RequireEmployeeWorkItemInfoByIdFields_ManagementWorkItem) Reset() { *x = RequireEmployeeWorkItemInfoByIdFields_ManagementWorkItem{} - if protoimpl.UnsafeEnabled { - mi := &file_generated_service_proto_msgTypes[221] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_service_proto_msgTypes[221] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *RequireEmployeeWorkItemInfoByIdFields_ManagementWorkItem) String() string { @@ -12254,8 +11637,8 @@ func (x *RequireEmployeeWorkItemInfoByIdFields_ManagementWorkItem) String() stri func (*RequireEmployeeWorkItemInfoByIdFields_ManagementWorkItem) ProtoMessage() {} func (x *RequireEmployeeWorkItemInfoByIdFields_ManagementWorkItem) ProtoReflect() protoreflect.Message { - mi := &file_generated_service_proto_msgTypes[221] - if protoimpl.UnsafeEnabled && x != nil { + mi := &file_service_proto_msgTypes[221] + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -12267,7 +11650,7 @@ func (x *RequireEmployeeWorkItemInfoByIdFields_ManagementWorkItem) ProtoReflect( // Deprecated: Use RequireEmployeeWorkItemInfoByIdFields_ManagementWorkItem.ProtoReflect.Descriptor instead. func (*RequireEmployeeWorkItemInfoByIdFields_ManagementWorkItem) Descriptor() ([]byte, []int) { - return file_generated_service_proto_rawDescGZIP(), []int{155, 1} + return file_service_proto_rawDescGZIP(), []int{155, 1} } func (x *RequireEmployeeWorkItemInfoByIdFields_ManagementWorkItem) GetName() string { @@ -12285,24 +11668,21 @@ func (x *RequireEmployeeWorkItemInfoByIdFields_ManagementWorkItem) GetTeamSize() } type RequireEmployeeWorkItemInfoByIdFields_EmployeeWorkItem struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - // Types that are assignable to Instance: + state protoimpl.MessageState `protogen:"open.v1"` + // Types that are valid to be assigned to Instance: // // *RequireEmployeeWorkItemInfoByIdFields_EmployeeWorkItem_ManagementWorkItem // *RequireEmployeeWorkItemInfoByIdFields_EmployeeWorkItem_TechnicalWorkItem - Instance isRequireEmployeeWorkItemInfoByIdFields_EmployeeWorkItem_Instance `protobuf_oneof:"instance"` + Instance isRequireEmployeeWorkItemInfoByIdFields_EmployeeWorkItem_Instance `protobuf_oneof:"instance"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *RequireEmployeeWorkItemInfoByIdFields_EmployeeWorkItem) Reset() { *x = RequireEmployeeWorkItemInfoByIdFields_EmployeeWorkItem{} - if protoimpl.UnsafeEnabled { - mi := &file_generated_service_proto_msgTypes[222] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_service_proto_msgTypes[222] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *RequireEmployeeWorkItemInfoByIdFields_EmployeeWorkItem) String() string { @@ -12312,8 +11692,8 @@ func (x *RequireEmployeeWorkItemInfoByIdFields_EmployeeWorkItem) String() string func (*RequireEmployeeWorkItemInfoByIdFields_EmployeeWorkItem) ProtoMessage() {} func (x *RequireEmployeeWorkItemInfoByIdFields_EmployeeWorkItem) ProtoReflect() protoreflect.Message { - mi := &file_generated_service_proto_msgTypes[222] - if protoimpl.UnsafeEnabled && x != nil { + mi := &file_service_proto_msgTypes[222] + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -12325,26 +11705,30 @@ func (x *RequireEmployeeWorkItemInfoByIdFields_EmployeeWorkItem) ProtoReflect() // Deprecated: Use RequireEmployeeWorkItemInfoByIdFields_EmployeeWorkItem.ProtoReflect.Descriptor instead. func (*RequireEmployeeWorkItemInfoByIdFields_EmployeeWorkItem) Descriptor() ([]byte, []int) { - return file_generated_service_proto_rawDescGZIP(), []int{155, 2} + return file_service_proto_rawDescGZIP(), []int{155, 2} } -func (m *RequireEmployeeWorkItemInfoByIdFields_EmployeeWorkItem) GetInstance() isRequireEmployeeWorkItemInfoByIdFields_EmployeeWorkItem_Instance { - if m != nil { - return m.Instance +func (x *RequireEmployeeWorkItemInfoByIdFields_EmployeeWorkItem) GetInstance() isRequireEmployeeWorkItemInfoByIdFields_EmployeeWorkItem_Instance { + if x != nil { + return x.Instance } return nil } func (x *RequireEmployeeWorkItemInfoByIdFields_EmployeeWorkItem) GetManagementWorkItem() *RequireEmployeeWorkItemInfoByIdFields_ManagementWorkItem { - if x, ok := x.GetInstance().(*RequireEmployeeWorkItemInfoByIdFields_EmployeeWorkItem_ManagementWorkItem); ok { - return x.ManagementWorkItem + if x != nil { + if x, ok := x.Instance.(*RequireEmployeeWorkItemInfoByIdFields_EmployeeWorkItem_ManagementWorkItem); ok { + return x.ManagementWorkItem + } } return nil } func (x *RequireEmployeeWorkItemInfoByIdFields_EmployeeWorkItem) GetTechnicalWorkItem() *RequireEmployeeWorkItemInfoByIdFields_TechnicalWorkItem { - if x, ok := x.GetInstance().(*RequireEmployeeWorkItemInfoByIdFields_EmployeeWorkItem_TechnicalWorkItem); ok { - return x.TechnicalWorkItem + if x != nil { + if x, ok := x.Instance.(*RequireEmployeeWorkItemInfoByIdFields_EmployeeWorkItem_TechnicalWorkItem); ok { + return x.TechnicalWorkItem + } } return nil } @@ -12368,21 +11752,18 @@ func (*RequireEmployeeWorkItemInfoByIdFields_EmployeeWorkItem_TechnicalWorkItem) } type RequireEmployeeReviewReportByIdFields_WorkApproval struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache + state protoimpl.MessageState `protogen:"open.v1"` + Comment string `protobuf:"bytes,1,opt,name=comment,proto3" json:"comment,omitempty"` + ApprovedAt string `protobuf:"bytes,2,opt,name=approved_at,json=approvedAt,proto3" json:"approved_at,omitempty"` unknownFields protoimpl.UnknownFields - - Comment string `protobuf:"bytes,1,opt,name=comment,proto3" json:"comment,omitempty"` - ApprovedAt string `protobuf:"bytes,2,opt,name=approved_at,json=approvedAt,proto3" json:"approved_at,omitempty"` + sizeCache protoimpl.SizeCache } func (x *RequireEmployeeReviewReportByIdFields_WorkApproval) Reset() { *x = RequireEmployeeReviewReportByIdFields_WorkApproval{} - if protoimpl.UnsafeEnabled { - mi := &file_generated_service_proto_msgTypes[223] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_service_proto_msgTypes[223] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *RequireEmployeeReviewReportByIdFields_WorkApproval) String() string { @@ -12392,8 +11773,8 @@ func (x *RequireEmployeeReviewReportByIdFields_WorkApproval) String() string { func (*RequireEmployeeReviewReportByIdFields_WorkApproval) ProtoMessage() {} func (x *RequireEmployeeReviewReportByIdFields_WorkApproval) ProtoReflect() protoreflect.Message { - mi := &file_generated_service_proto_msgTypes[223] - if protoimpl.UnsafeEnabled && x != nil { + mi := &file_service_proto_msgTypes[223] + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -12405,7 +11786,7 @@ func (x *RequireEmployeeReviewReportByIdFields_WorkApproval) ProtoReflect() prot // Deprecated: Use RequireEmployeeReviewReportByIdFields_WorkApproval.ProtoReflect.Descriptor instead. func (*RequireEmployeeReviewReportByIdFields_WorkApproval) Descriptor() ([]byte, []int) { - return file_generated_service_proto_rawDescGZIP(), []int{160, 0} + return file_service_proto_rawDescGZIP(), []int{160, 0} } func (x *RequireEmployeeReviewReportByIdFields_WorkApproval) GetComment() string { @@ -12423,21 +11804,18 @@ func (x *RequireEmployeeReviewReportByIdFields_WorkApproval) GetApprovedAt() str } type RequireEmployeeReviewReportByIdFields_WorkRejection struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache + state protoimpl.MessageState `protogen:"open.v1"` + Reason string `protobuf:"bytes,1,opt,name=reason,proto3" json:"reason,omitempty"` + RejectionCode string `protobuf:"bytes,2,opt,name=rejection_code,json=rejectionCode,proto3" json:"rejection_code,omitempty"` unknownFields protoimpl.UnknownFields - - Reason string `protobuf:"bytes,1,opt,name=reason,proto3" json:"reason,omitempty"` - RejectionCode string `protobuf:"bytes,2,opt,name=rejection_code,json=rejectionCode,proto3" json:"rejection_code,omitempty"` + sizeCache protoimpl.SizeCache } func (x *RequireEmployeeReviewReportByIdFields_WorkRejection) Reset() { *x = RequireEmployeeReviewReportByIdFields_WorkRejection{} - if protoimpl.UnsafeEnabled { - mi := &file_generated_service_proto_msgTypes[224] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_service_proto_msgTypes[224] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *RequireEmployeeReviewReportByIdFields_WorkRejection) String() string { @@ -12447,8 +11825,8 @@ func (x *RequireEmployeeReviewReportByIdFields_WorkRejection) String() string { func (*RequireEmployeeReviewReportByIdFields_WorkRejection) ProtoMessage() {} func (x *RequireEmployeeReviewReportByIdFields_WorkRejection) ProtoReflect() protoreflect.Message { - mi := &file_generated_service_proto_msgTypes[224] - if protoimpl.UnsafeEnabled && x != nil { + mi := &file_service_proto_msgTypes[224] + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -12460,7 +11838,7 @@ func (x *RequireEmployeeReviewReportByIdFields_WorkRejection) ProtoReflect() pro // Deprecated: Use RequireEmployeeReviewReportByIdFields_WorkRejection.ProtoReflect.Descriptor instead. func (*RequireEmployeeReviewReportByIdFields_WorkRejection) Descriptor() ([]byte, []int) { - return file_generated_service_proto_rawDescGZIP(), []int{160, 1} + return file_service_proto_rawDescGZIP(), []int{160, 1} } func (x *RequireEmployeeReviewReportByIdFields_WorkRejection) GetReason() string { @@ -12478,24 +11856,21 @@ func (x *RequireEmployeeReviewReportByIdFields_WorkRejection) GetRejectionCode() } type RequireEmployeeReviewReportByIdFields_WorkReviewResult struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - // Types that are assignable to Value: + state protoimpl.MessageState `protogen:"open.v1"` + // Types that are valid to be assigned to Value: // // *RequireEmployeeReviewReportByIdFields_WorkReviewResult_WorkApproval // *RequireEmployeeReviewReportByIdFields_WorkReviewResult_WorkRejection - Value isRequireEmployeeReviewReportByIdFields_WorkReviewResult_Value `protobuf_oneof:"value"` + Value isRequireEmployeeReviewReportByIdFields_WorkReviewResult_Value `protobuf_oneof:"value"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *RequireEmployeeReviewReportByIdFields_WorkReviewResult) Reset() { *x = RequireEmployeeReviewReportByIdFields_WorkReviewResult{} - if protoimpl.UnsafeEnabled { - mi := &file_generated_service_proto_msgTypes[225] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_service_proto_msgTypes[225] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *RequireEmployeeReviewReportByIdFields_WorkReviewResult) String() string { @@ -12505,8 +11880,8 @@ func (x *RequireEmployeeReviewReportByIdFields_WorkReviewResult) String() string func (*RequireEmployeeReviewReportByIdFields_WorkReviewResult) ProtoMessage() {} func (x *RequireEmployeeReviewReportByIdFields_WorkReviewResult) ProtoReflect() protoreflect.Message { - mi := &file_generated_service_proto_msgTypes[225] - if protoimpl.UnsafeEnabled && x != nil { + mi := &file_service_proto_msgTypes[225] + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -12518,26 +11893,30 @@ func (x *RequireEmployeeReviewReportByIdFields_WorkReviewResult) ProtoReflect() // Deprecated: Use RequireEmployeeReviewReportByIdFields_WorkReviewResult.ProtoReflect.Descriptor instead. func (*RequireEmployeeReviewReportByIdFields_WorkReviewResult) Descriptor() ([]byte, []int) { - return file_generated_service_proto_rawDescGZIP(), []int{160, 2} + return file_service_proto_rawDescGZIP(), []int{160, 2} } -func (m *RequireEmployeeReviewReportByIdFields_WorkReviewResult) GetValue() isRequireEmployeeReviewReportByIdFields_WorkReviewResult_Value { - if m != nil { - return m.Value +func (x *RequireEmployeeReviewReportByIdFields_WorkReviewResult) GetValue() isRequireEmployeeReviewReportByIdFields_WorkReviewResult_Value { + if x != nil { + return x.Value } return nil } func (x *RequireEmployeeReviewReportByIdFields_WorkReviewResult) GetWorkApproval() *RequireEmployeeReviewReportByIdFields_WorkApproval { - if x, ok := x.GetValue().(*RequireEmployeeReviewReportByIdFields_WorkReviewResult_WorkApproval); ok { - return x.WorkApproval + if x != nil { + if x, ok := x.Value.(*RequireEmployeeReviewReportByIdFields_WorkReviewResult_WorkApproval); ok { + return x.WorkApproval + } } return nil } func (x *RequireEmployeeReviewReportByIdFields_WorkReviewResult) GetWorkRejection() *RequireEmployeeReviewReportByIdFields_WorkRejection { - if x, ok := x.GetValue().(*RequireEmployeeReviewReportByIdFields_WorkReviewResult_WorkRejection); ok { - return x.WorkRejection + if x != nil { + if x, ok := x.Value.(*RequireEmployeeReviewReportByIdFields_WorkReviewResult_WorkRejection); ok { + return x.WorkRejection + } } return nil } @@ -12561,21 +11940,18 @@ func (*RequireEmployeeReviewReportByIdFields_WorkReviewResult_WorkRejection) isR } type RequireEmployeeWorkSetupSummaryByIdFields_WorkSetup struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache + state protoimpl.MessageState `protogen:"open.v1"` + Priority string `protobuf:"bytes,1,opt,name=priority,proto3" json:"priority,omitempty"` + PrimaryItem *RequireEmployeeWorkSetupSummaryByIdFields_WorkSetup_EmployeeWorkItem `protobuf:"bytes,2,opt,name=primary_item,json=primaryItem,proto3" json:"primary_item,omitempty"` unknownFields protoimpl.UnknownFields - - Priority string `protobuf:"bytes,1,opt,name=priority,proto3" json:"priority,omitempty"` - PrimaryItem *RequireEmployeeWorkSetupSummaryByIdFields_WorkSetup_EmployeeWorkItem `protobuf:"bytes,2,opt,name=primary_item,json=primaryItem,proto3" json:"primary_item,omitempty"` + sizeCache protoimpl.SizeCache } func (x *RequireEmployeeWorkSetupSummaryByIdFields_WorkSetup) Reset() { *x = RequireEmployeeWorkSetupSummaryByIdFields_WorkSetup{} - if protoimpl.UnsafeEnabled { - mi := &file_generated_service_proto_msgTypes[226] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_service_proto_msgTypes[226] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *RequireEmployeeWorkSetupSummaryByIdFields_WorkSetup) String() string { @@ -12585,8 +11961,8 @@ func (x *RequireEmployeeWorkSetupSummaryByIdFields_WorkSetup) String() string { func (*RequireEmployeeWorkSetupSummaryByIdFields_WorkSetup) ProtoMessage() {} func (x *RequireEmployeeWorkSetupSummaryByIdFields_WorkSetup) ProtoReflect() protoreflect.Message { - mi := &file_generated_service_proto_msgTypes[226] - if protoimpl.UnsafeEnabled && x != nil { + mi := &file_service_proto_msgTypes[226] + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -12598,7 +11974,7 @@ func (x *RequireEmployeeWorkSetupSummaryByIdFields_WorkSetup) ProtoReflect() pro // Deprecated: Use RequireEmployeeWorkSetupSummaryByIdFields_WorkSetup.ProtoReflect.Descriptor instead. func (*RequireEmployeeWorkSetupSummaryByIdFields_WorkSetup) Descriptor() ([]byte, []int) { - return file_generated_service_proto_rawDescGZIP(), []int{165, 0} + return file_service_proto_rawDescGZIP(), []int{165, 0} } func (x *RequireEmployeeWorkSetupSummaryByIdFields_WorkSetup) GetPriority() string { @@ -12616,21 +11992,18 @@ func (x *RequireEmployeeWorkSetupSummaryByIdFields_WorkSetup) GetPrimaryItem() * } type RequireEmployeeWorkSetupSummaryByIdFields_WorkSetup_TechnicalWorkItem struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache + state protoimpl.MessageState `protogen:"open.v1"` + Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` + CodeCount int32 `protobuf:"varint,2,opt,name=code_count,json=codeCount,proto3" json:"code_count,omitempty"` unknownFields protoimpl.UnknownFields - - Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` - CodeCount int32 `protobuf:"varint,2,opt,name=code_count,json=codeCount,proto3" json:"code_count,omitempty"` + sizeCache protoimpl.SizeCache } func (x *RequireEmployeeWorkSetupSummaryByIdFields_WorkSetup_TechnicalWorkItem) Reset() { *x = RequireEmployeeWorkSetupSummaryByIdFields_WorkSetup_TechnicalWorkItem{} - if protoimpl.UnsafeEnabled { - mi := &file_generated_service_proto_msgTypes[227] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_service_proto_msgTypes[227] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *RequireEmployeeWorkSetupSummaryByIdFields_WorkSetup_TechnicalWorkItem) String() string { @@ -12640,8 +12013,8 @@ func (x *RequireEmployeeWorkSetupSummaryByIdFields_WorkSetup_TechnicalWorkItem) func (*RequireEmployeeWorkSetupSummaryByIdFields_WorkSetup_TechnicalWorkItem) ProtoMessage() {} func (x *RequireEmployeeWorkSetupSummaryByIdFields_WorkSetup_TechnicalWorkItem) ProtoReflect() protoreflect.Message { - mi := &file_generated_service_proto_msgTypes[227] - if protoimpl.UnsafeEnabled && x != nil { + mi := &file_service_proto_msgTypes[227] + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -12653,7 +12026,7 @@ func (x *RequireEmployeeWorkSetupSummaryByIdFields_WorkSetup_TechnicalWorkItem) // Deprecated: Use RequireEmployeeWorkSetupSummaryByIdFields_WorkSetup_TechnicalWorkItem.ProtoReflect.Descriptor instead. func (*RequireEmployeeWorkSetupSummaryByIdFields_WorkSetup_TechnicalWorkItem) Descriptor() ([]byte, []int) { - return file_generated_service_proto_rawDescGZIP(), []int{165, 0, 0} + return file_service_proto_rawDescGZIP(), []int{165, 0, 0} } func (x *RequireEmployeeWorkSetupSummaryByIdFields_WorkSetup_TechnicalWorkItem) GetName() string { @@ -12671,21 +12044,18 @@ func (x *RequireEmployeeWorkSetupSummaryByIdFields_WorkSetup_TechnicalWorkItem) } type RequireEmployeeWorkSetupSummaryByIdFields_WorkSetup_ManagementWorkItem struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache + state protoimpl.MessageState `protogen:"open.v1"` + Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` + TeamSize string `protobuf:"bytes,2,opt,name=team_size,json=teamSize,proto3" json:"team_size,omitempty"` unknownFields protoimpl.UnknownFields - - Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` - TeamSize string `protobuf:"bytes,2,opt,name=team_size,json=teamSize,proto3" json:"team_size,omitempty"` + sizeCache protoimpl.SizeCache } func (x *RequireEmployeeWorkSetupSummaryByIdFields_WorkSetup_ManagementWorkItem) Reset() { *x = RequireEmployeeWorkSetupSummaryByIdFields_WorkSetup_ManagementWorkItem{} - if protoimpl.UnsafeEnabled { - mi := &file_generated_service_proto_msgTypes[228] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_service_proto_msgTypes[228] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *RequireEmployeeWorkSetupSummaryByIdFields_WorkSetup_ManagementWorkItem) String() string { @@ -12695,8 +12065,8 @@ func (x *RequireEmployeeWorkSetupSummaryByIdFields_WorkSetup_ManagementWorkItem) func (*RequireEmployeeWorkSetupSummaryByIdFields_WorkSetup_ManagementWorkItem) ProtoMessage() {} func (x *RequireEmployeeWorkSetupSummaryByIdFields_WorkSetup_ManagementWorkItem) ProtoReflect() protoreflect.Message { - mi := &file_generated_service_proto_msgTypes[228] - if protoimpl.UnsafeEnabled && x != nil { + mi := &file_service_proto_msgTypes[228] + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -12708,7 +12078,7 @@ func (x *RequireEmployeeWorkSetupSummaryByIdFields_WorkSetup_ManagementWorkItem) // Deprecated: Use RequireEmployeeWorkSetupSummaryByIdFields_WorkSetup_ManagementWorkItem.ProtoReflect.Descriptor instead. func (*RequireEmployeeWorkSetupSummaryByIdFields_WorkSetup_ManagementWorkItem) Descriptor() ([]byte, []int) { - return file_generated_service_proto_rawDescGZIP(), []int{165, 0, 1} + return file_service_proto_rawDescGZIP(), []int{165, 0, 1} } func (x *RequireEmployeeWorkSetupSummaryByIdFields_WorkSetup_ManagementWorkItem) GetName() string { @@ -12726,24 +12096,21 @@ func (x *RequireEmployeeWorkSetupSummaryByIdFields_WorkSetup_ManagementWorkItem) } type RequireEmployeeWorkSetupSummaryByIdFields_WorkSetup_EmployeeWorkItem struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - // Types that are assignable to Instance: + state protoimpl.MessageState `protogen:"open.v1"` + // Types that are valid to be assigned to Instance: // // *RequireEmployeeWorkSetupSummaryByIdFields_WorkSetup_EmployeeWorkItem_ManagementWorkItem // *RequireEmployeeWorkSetupSummaryByIdFields_WorkSetup_EmployeeWorkItem_TechnicalWorkItem - Instance isRequireEmployeeWorkSetupSummaryByIdFields_WorkSetup_EmployeeWorkItem_Instance `protobuf_oneof:"instance"` + Instance isRequireEmployeeWorkSetupSummaryByIdFields_WorkSetup_EmployeeWorkItem_Instance `protobuf_oneof:"instance"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *RequireEmployeeWorkSetupSummaryByIdFields_WorkSetup_EmployeeWorkItem) Reset() { *x = RequireEmployeeWorkSetupSummaryByIdFields_WorkSetup_EmployeeWorkItem{} - if protoimpl.UnsafeEnabled { - mi := &file_generated_service_proto_msgTypes[229] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_service_proto_msgTypes[229] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *RequireEmployeeWorkSetupSummaryByIdFields_WorkSetup_EmployeeWorkItem) String() string { @@ -12753,8 +12120,8 @@ func (x *RequireEmployeeWorkSetupSummaryByIdFields_WorkSetup_EmployeeWorkItem) S func (*RequireEmployeeWorkSetupSummaryByIdFields_WorkSetup_EmployeeWorkItem) ProtoMessage() {} func (x *RequireEmployeeWorkSetupSummaryByIdFields_WorkSetup_EmployeeWorkItem) ProtoReflect() protoreflect.Message { - mi := &file_generated_service_proto_msgTypes[229] - if protoimpl.UnsafeEnabled && x != nil { + mi := &file_service_proto_msgTypes[229] + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -12766,26 +12133,30 @@ func (x *RequireEmployeeWorkSetupSummaryByIdFields_WorkSetup_EmployeeWorkItem) P // Deprecated: Use RequireEmployeeWorkSetupSummaryByIdFields_WorkSetup_EmployeeWorkItem.ProtoReflect.Descriptor instead. func (*RequireEmployeeWorkSetupSummaryByIdFields_WorkSetup_EmployeeWorkItem) Descriptor() ([]byte, []int) { - return file_generated_service_proto_rawDescGZIP(), []int{165, 0, 2} + return file_service_proto_rawDescGZIP(), []int{165, 0, 2} } -func (m *RequireEmployeeWorkSetupSummaryByIdFields_WorkSetup_EmployeeWorkItem) GetInstance() isRequireEmployeeWorkSetupSummaryByIdFields_WorkSetup_EmployeeWorkItem_Instance { - if m != nil { - return m.Instance +func (x *RequireEmployeeWorkSetupSummaryByIdFields_WorkSetup_EmployeeWorkItem) GetInstance() isRequireEmployeeWorkSetupSummaryByIdFields_WorkSetup_EmployeeWorkItem_Instance { + if x != nil { + return x.Instance } return nil } func (x *RequireEmployeeWorkSetupSummaryByIdFields_WorkSetup_EmployeeWorkItem) GetManagementWorkItem() *RequireEmployeeWorkSetupSummaryByIdFields_WorkSetup_ManagementWorkItem { - if x, ok := x.GetInstance().(*RequireEmployeeWorkSetupSummaryByIdFields_WorkSetup_EmployeeWorkItem_ManagementWorkItem); ok { - return x.ManagementWorkItem + if x != nil { + if x, ok := x.Instance.(*RequireEmployeeWorkSetupSummaryByIdFields_WorkSetup_EmployeeWorkItem_ManagementWorkItem); ok { + return x.ManagementWorkItem + } } return nil } func (x *RequireEmployeeWorkSetupSummaryByIdFields_WorkSetup_EmployeeWorkItem) GetTechnicalWorkItem() *RequireEmployeeWorkSetupSummaryByIdFields_WorkSetup_TechnicalWorkItem { - if x, ok := x.GetInstance().(*RequireEmployeeWorkSetupSummaryByIdFields_WorkSetup_EmployeeWorkItem_TechnicalWorkItem); ok { - return x.TechnicalWorkItem + if x != nil { + if x, ok := x.Instance.(*RequireEmployeeWorkSetupSummaryByIdFields_WorkSetup_EmployeeWorkItem_TechnicalWorkItem); ok { + return x.TechnicalWorkItem + } } return nil } @@ -12809,20 +12180,17 @@ func (*RequireEmployeeWorkSetupSummaryByIdFields_WorkSetup_EmployeeWorkItem_Tech } type RequireEmployeeWorkItemHandlerInfoByIdFields_TechnicalWorkItem struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache + state protoimpl.MessageState `protogen:"open.v1"` + Handler *RequireEmployeeWorkItemHandlerInfoByIdFields_TechnicalWorkItem_WorkItemHandler `protobuf:"bytes,1,opt,name=handler,proto3" json:"handler,omitempty"` unknownFields protoimpl.UnknownFields - - Handler *RequireEmployeeWorkItemHandlerInfoByIdFields_TechnicalWorkItem_WorkItemHandler `protobuf:"bytes,1,opt,name=handler,proto3" json:"handler,omitempty"` + sizeCache protoimpl.SizeCache } func (x *RequireEmployeeWorkItemHandlerInfoByIdFields_TechnicalWorkItem) Reset() { *x = RequireEmployeeWorkItemHandlerInfoByIdFields_TechnicalWorkItem{} - if protoimpl.UnsafeEnabled { - mi := &file_generated_service_proto_msgTypes[230] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_service_proto_msgTypes[230] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *RequireEmployeeWorkItemHandlerInfoByIdFields_TechnicalWorkItem) String() string { @@ -12832,8 +12200,8 @@ func (x *RequireEmployeeWorkItemHandlerInfoByIdFields_TechnicalWorkItem) String( func (*RequireEmployeeWorkItemHandlerInfoByIdFields_TechnicalWorkItem) ProtoMessage() {} func (x *RequireEmployeeWorkItemHandlerInfoByIdFields_TechnicalWorkItem) ProtoReflect() protoreflect.Message { - mi := &file_generated_service_proto_msgTypes[230] - if protoimpl.UnsafeEnabled && x != nil { + mi := &file_service_proto_msgTypes[230] + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -12845,7 +12213,7 @@ func (x *RequireEmployeeWorkItemHandlerInfoByIdFields_TechnicalWorkItem) ProtoRe // Deprecated: Use RequireEmployeeWorkItemHandlerInfoByIdFields_TechnicalWorkItem.ProtoReflect.Descriptor instead. func (*RequireEmployeeWorkItemHandlerInfoByIdFields_TechnicalWorkItem) Descriptor() ([]byte, []int) { - return file_generated_service_proto_rawDescGZIP(), []int{170, 0} + return file_service_proto_rawDescGZIP(), []int{170, 0} } func (x *RequireEmployeeWorkItemHandlerInfoByIdFields_TechnicalWorkItem) GetHandler() *RequireEmployeeWorkItemHandlerInfoByIdFields_TechnicalWorkItem_WorkItemHandler { @@ -12856,20 +12224,17 @@ func (x *RequireEmployeeWorkItemHandlerInfoByIdFields_TechnicalWorkItem) GetHand } type RequireEmployeeWorkItemHandlerInfoByIdFields_ManagementWorkItem struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache + state protoimpl.MessageState `protogen:"open.v1"` + Handler *RequireEmployeeWorkItemHandlerInfoByIdFields_ManagementWorkItem_WorkItemHandler `protobuf:"bytes,1,opt,name=handler,proto3" json:"handler,omitempty"` unknownFields protoimpl.UnknownFields - - Handler *RequireEmployeeWorkItemHandlerInfoByIdFields_ManagementWorkItem_WorkItemHandler `protobuf:"bytes,1,opt,name=handler,proto3" json:"handler,omitempty"` + sizeCache protoimpl.SizeCache } func (x *RequireEmployeeWorkItemHandlerInfoByIdFields_ManagementWorkItem) Reset() { *x = RequireEmployeeWorkItemHandlerInfoByIdFields_ManagementWorkItem{} - if protoimpl.UnsafeEnabled { - mi := &file_generated_service_proto_msgTypes[231] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_service_proto_msgTypes[231] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *RequireEmployeeWorkItemHandlerInfoByIdFields_ManagementWorkItem) String() string { @@ -12879,8 +12244,8 @@ func (x *RequireEmployeeWorkItemHandlerInfoByIdFields_ManagementWorkItem) String func (*RequireEmployeeWorkItemHandlerInfoByIdFields_ManagementWorkItem) ProtoMessage() {} func (x *RequireEmployeeWorkItemHandlerInfoByIdFields_ManagementWorkItem) ProtoReflect() protoreflect.Message { - mi := &file_generated_service_proto_msgTypes[231] - if protoimpl.UnsafeEnabled && x != nil { + mi := &file_service_proto_msgTypes[231] + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -12892,7 +12257,7 @@ func (x *RequireEmployeeWorkItemHandlerInfoByIdFields_ManagementWorkItem) ProtoR // Deprecated: Use RequireEmployeeWorkItemHandlerInfoByIdFields_ManagementWorkItem.ProtoReflect.Descriptor instead. func (*RequireEmployeeWorkItemHandlerInfoByIdFields_ManagementWorkItem) Descriptor() ([]byte, []int) { - return file_generated_service_proto_rawDescGZIP(), []int{170, 1} + return file_service_proto_rawDescGZIP(), []int{170, 1} } func (x *RequireEmployeeWorkItemHandlerInfoByIdFields_ManagementWorkItem) GetHandler() *RequireEmployeeWorkItemHandlerInfoByIdFields_ManagementWorkItem_WorkItemHandler { @@ -12903,24 +12268,21 @@ func (x *RequireEmployeeWorkItemHandlerInfoByIdFields_ManagementWorkItem) GetHan } type RequireEmployeeWorkItemHandlerInfoByIdFields_EmployeeWorkItem struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - // Types that are assignable to Instance: + state protoimpl.MessageState `protogen:"open.v1"` + // Types that are valid to be assigned to Instance: // // *RequireEmployeeWorkItemHandlerInfoByIdFields_EmployeeWorkItem_ManagementWorkItem // *RequireEmployeeWorkItemHandlerInfoByIdFields_EmployeeWorkItem_TechnicalWorkItem - Instance isRequireEmployeeWorkItemHandlerInfoByIdFields_EmployeeWorkItem_Instance `protobuf_oneof:"instance"` + Instance isRequireEmployeeWorkItemHandlerInfoByIdFields_EmployeeWorkItem_Instance `protobuf_oneof:"instance"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *RequireEmployeeWorkItemHandlerInfoByIdFields_EmployeeWorkItem) Reset() { *x = RequireEmployeeWorkItemHandlerInfoByIdFields_EmployeeWorkItem{} - if protoimpl.UnsafeEnabled { - mi := &file_generated_service_proto_msgTypes[232] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_service_proto_msgTypes[232] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *RequireEmployeeWorkItemHandlerInfoByIdFields_EmployeeWorkItem) String() string { @@ -12930,8 +12292,8 @@ func (x *RequireEmployeeWorkItemHandlerInfoByIdFields_EmployeeWorkItem) String() func (*RequireEmployeeWorkItemHandlerInfoByIdFields_EmployeeWorkItem) ProtoMessage() {} func (x *RequireEmployeeWorkItemHandlerInfoByIdFields_EmployeeWorkItem) ProtoReflect() protoreflect.Message { - mi := &file_generated_service_proto_msgTypes[232] - if protoimpl.UnsafeEnabled && x != nil { + mi := &file_service_proto_msgTypes[232] + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -12943,26 +12305,30 @@ func (x *RequireEmployeeWorkItemHandlerInfoByIdFields_EmployeeWorkItem) ProtoRef // Deprecated: Use RequireEmployeeWorkItemHandlerInfoByIdFields_EmployeeWorkItem.ProtoReflect.Descriptor instead. func (*RequireEmployeeWorkItemHandlerInfoByIdFields_EmployeeWorkItem) Descriptor() ([]byte, []int) { - return file_generated_service_proto_rawDescGZIP(), []int{170, 2} + return file_service_proto_rawDescGZIP(), []int{170, 2} } -func (m *RequireEmployeeWorkItemHandlerInfoByIdFields_EmployeeWorkItem) GetInstance() isRequireEmployeeWorkItemHandlerInfoByIdFields_EmployeeWorkItem_Instance { - if m != nil { - return m.Instance +func (x *RequireEmployeeWorkItemHandlerInfoByIdFields_EmployeeWorkItem) GetInstance() isRequireEmployeeWorkItemHandlerInfoByIdFields_EmployeeWorkItem_Instance { + if x != nil { + return x.Instance } return nil } func (x *RequireEmployeeWorkItemHandlerInfoByIdFields_EmployeeWorkItem) GetManagementWorkItem() *RequireEmployeeWorkItemHandlerInfoByIdFields_ManagementWorkItem { - if x, ok := x.GetInstance().(*RequireEmployeeWorkItemHandlerInfoByIdFields_EmployeeWorkItem_ManagementWorkItem); ok { - return x.ManagementWorkItem + if x != nil { + if x, ok := x.Instance.(*RequireEmployeeWorkItemHandlerInfoByIdFields_EmployeeWorkItem_ManagementWorkItem); ok { + return x.ManagementWorkItem + } } return nil } func (x *RequireEmployeeWorkItemHandlerInfoByIdFields_EmployeeWorkItem) GetTechnicalWorkItem() *RequireEmployeeWorkItemHandlerInfoByIdFields_TechnicalWorkItem { - if x, ok := x.GetInstance().(*RequireEmployeeWorkItemHandlerInfoByIdFields_EmployeeWorkItem_TechnicalWorkItem); ok { - return x.TechnicalWorkItem + if x != nil { + if x, ok := x.Instance.(*RequireEmployeeWorkItemHandlerInfoByIdFields_EmployeeWorkItem_TechnicalWorkItem); ok { + return x.TechnicalWorkItem + } } return nil } @@ -12986,20 +12352,17 @@ func (*RequireEmployeeWorkItemHandlerInfoByIdFields_EmployeeWorkItem_TechnicalWo } type RequireEmployeeWorkItemHandlerInfoByIdFields_TechnicalWorkItem_WorkItemHandler struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache + state protoimpl.MessageState `protogen:"open.v1"` + Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` unknownFields protoimpl.UnknownFields - - Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` + sizeCache protoimpl.SizeCache } func (x *RequireEmployeeWorkItemHandlerInfoByIdFields_TechnicalWorkItem_WorkItemHandler) Reset() { *x = RequireEmployeeWorkItemHandlerInfoByIdFields_TechnicalWorkItem_WorkItemHandler{} - if protoimpl.UnsafeEnabled { - mi := &file_generated_service_proto_msgTypes[233] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_service_proto_msgTypes[233] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *RequireEmployeeWorkItemHandlerInfoByIdFields_TechnicalWorkItem_WorkItemHandler) String() string { @@ -13010,8 +12373,8 @@ func (*RequireEmployeeWorkItemHandlerInfoByIdFields_TechnicalWorkItem_WorkItemHa } func (x *RequireEmployeeWorkItemHandlerInfoByIdFields_TechnicalWorkItem_WorkItemHandler) ProtoReflect() protoreflect.Message { - mi := &file_generated_service_proto_msgTypes[233] - if protoimpl.UnsafeEnabled && x != nil { + mi := &file_service_proto_msgTypes[233] + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -13023,7 +12386,7 @@ func (x *RequireEmployeeWorkItemHandlerInfoByIdFields_TechnicalWorkItem_WorkItem // Deprecated: Use RequireEmployeeWorkItemHandlerInfoByIdFields_TechnicalWorkItem_WorkItemHandler.ProtoReflect.Descriptor instead. func (*RequireEmployeeWorkItemHandlerInfoByIdFields_TechnicalWorkItem_WorkItemHandler) Descriptor() ([]byte, []int) { - return file_generated_service_proto_rawDescGZIP(), []int{170, 0, 0} + return file_service_proto_rawDescGZIP(), []int{170, 0, 0} } func (x *RequireEmployeeWorkItemHandlerInfoByIdFields_TechnicalWorkItem_WorkItemHandler) GetName() string { @@ -13034,20 +12397,17 @@ func (x *RequireEmployeeWorkItemHandlerInfoByIdFields_TechnicalWorkItem_WorkItem } type RequireEmployeeWorkItemHandlerInfoByIdFields_ManagementWorkItem_WorkItemHandler struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache + state protoimpl.MessageState `protogen:"open.v1"` + Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` unknownFields protoimpl.UnknownFields - - Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` + sizeCache protoimpl.SizeCache } func (x *RequireEmployeeWorkItemHandlerInfoByIdFields_ManagementWorkItem_WorkItemHandler) Reset() { *x = RequireEmployeeWorkItemHandlerInfoByIdFields_ManagementWorkItem_WorkItemHandler{} - if protoimpl.UnsafeEnabled { - mi := &file_generated_service_proto_msgTypes[234] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_service_proto_msgTypes[234] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *RequireEmployeeWorkItemHandlerInfoByIdFields_ManagementWorkItem_WorkItemHandler) String() string { @@ -13058,8 +12418,8 @@ func (*RequireEmployeeWorkItemHandlerInfoByIdFields_ManagementWorkItem_WorkItemH } func (x *RequireEmployeeWorkItemHandlerInfoByIdFields_ManagementWorkItem_WorkItemHandler) ProtoReflect() protoreflect.Message { - mi := &file_generated_service_proto_msgTypes[234] - if protoimpl.UnsafeEnabled && x != nil { + mi := &file_service_proto_msgTypes[234] + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -13071,7 +12431,7 @@ func (x *RequireEmployeeWorkItemHandlerInfoByIdFields_ManagementWorkItem_WorkIte // Deprecated: Use RequireEmployeeWorkItemHandlerInfoByIdFields_ManagementWorkItem_WorkItemHandler.ProtoReflect.Descriptor instead. func (*RequireEmployeeWorkItemHandlerInfoByIdFields_ManagementWorkItem_WorkItemHandler) Descriptor() ([]byte, []int) { - return file_generated_service_proto_rawDescGZIP(), []int{170, 1, 0} + return file_service_proto_rawDescGZIP(), []int{170, 1, 0} } func (x *RequireEmployeeWorkItemHandlerInfoByIdFields_ManagementWorkItem_WorkItemHandler) GetName() string { @@ -13082,20 +12442,17 @@ func (x *RequireEmployeeWorkItemHandlerInfoByIdFields_ManagementWorkItem_WorkIte } type RequireEmployeeWorkItemSpecsInfoByIdFields_TechnicalWorkItem struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache + state protoimpl.MessageState `protogen:"open.v1"` + Specs *RequireEmployeeWorkItemSpecsInfoByIdFields_TechnicalWorkItem_TechnicalSpecs `protobuf:"bytes,1,opt,name=specs,proto3" json:"specs,omitempty"` unknownFields protoimpl.UnknownFields - - Specs *RequireEmployeeWorkItemSpecsInfoByIdFields_TechnicalWorkItem_TechnicalSpecs `protobuf:"bytes,1,opt,name=specs,proto3" json:"specs,omitempty"` + sizeCache protoimpl.SizeCache } func (x *RequireEmployeeWorkItemSpecsInfoByIdFields_TechnicalWorkItem) Reset() { *x = RequireEmployeeWorkItemSpecsInfoByIdFields_TechnicalWorkItem{} - if protoimpl.UnsafeEnabled { - mi := &file_generated_service_proto_msgTypes[235] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_service_proto_msgTypes[235] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *RequireEmployeeWorkItemSpecsInfoByIdFields_TechnicalWorkItem) String() string { @@ -13105,8 +12462,8 @@ func (x *RequireEmployeeWorkItemSpecsInfoByIdFields_TechnicalWorkItem) String() func (*RequireEmployeeWorkItemSpecsInfoByIdFields_TechnicalWorkItem) ProtoMessage() {} func (x *RequireEmployeeWorkItemSpecsInfoByIdFields_TechnicalWorkItem) ProtoReflect() protoreflect.Message { - mi := &file_generated_service_proto_msgTypes[235] - if protoimpl.UnsafeEnabled && x != nil { + mi := &file_service_proto_msgTypes[235] + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -13118,7 +12475,7 @@ func (x *RequireEmployeeWorkItemSpecsInfoByIdFields_TechnicalWorkItem) ProtoRefl // Deprecated: Use RequireEmployeeWorkItemSpecsInfoByIdFields_TechnicalWorkItem.ProtoReflect.Descriptor instead. func (*RequireEmployeeWorkItemSpecsInfoByIdFields_TechnicalWorkItem) Descriptor() ([]byte, []int) { - return file_generated_service_proto_rawDescGZIP(), []int{175, 0} + return file_service_proto_rawDescGZIP(), []int{175, 0} } func (x *RequireEmployeeWorkItemSpecsInfoByIdFields_TechnicalWorkItem) GetSpecs() *RequireEmployeeWorkItemSpecsInfoByIdFields_TechnicalWorkItem_TechnicalSpecs { @@ -13129,20 +12486,17 @@ func (x *RequireEmployeeWorkItemSpecsInfoByIdFields_TechnicalWorkItem) GetSpecs( } type RequireEmployeeWorkItemSpecsInfoByIdFields_ManagementWorkItem struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache + state protoimpl.MessageState `protogen:"open.v1"` + Specs *RequireEmployeeWorkItemSpecsInfoByIdFields_ManagementWorkItem_ManagementSpecs `protobuf:"bytes,1,opt,name=specs,proto3" json:"specs,omitempty"` unknownFields protoimpl.UnknownFields - - Specs *RequireEmployeeWorkItemSpecsInfoByIdFields_ManagementWorkItem_ManagementSpecs `protobuf:"bytes,1,opt,name=specs,proto3" json:"specs,omitempty"` + sizeCache protoimpl.SizeCache } func (x *RequireEmployeeWorkItemSpecsInfoByIdFields_ManagementWorkItem) Reset() { *x = RequireEmployeeWorkItemSpecsInfoByIdFields_ManagementWorkItem{} - if protoimpl.UnsafeEnabled { - mi := &file_generated_service_proto_msgTypes[236] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_service_proto_msgTypes[236] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *RequireEmployeeWorkItemSpecsInfoByIdFields_ManagementWorkItem) String() string { @@ -13152,8 +12506,8 @@ func (x *RequireEmployeeWorkItemSpecsInfoByIdFields_ManagementWorkItem) String() func (*RequireEmployeeWorkItemSpecsInfoByIdFields_ManagementWorkItem) ProtoMessage() {} func (x *RequireEmployeeWorkItemSpecsInfoByIdFields_ManagementWorkItem) ProtoReflect() protoreflect.Message { - mi := &file_generated_service_proto_msgTypes[236] - if protoimpl.UnsafeEnabled && x != nil { + mi := &file_service_proto_msgTypes[236] + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -13165,7 +12519,7 @@ func (x *RequireEmployeeWorkItemSpecsInfoByIdFields_ManagementWorkItem) ProtoRef // Deprecated: Use RequireEmployeeWorkItemSpecsInfoByIdFields_ManagementWorkItem.ProtoReflect.Descriptor instead. func (*RequireEmployeeWorkItemSpecsInfoByIdFields_ManagementWorkItem) Descriptor() ([]byte, []int) { - return file_generated_service_proto_rawDescGZIP(), []int{175, 1} + return file_service_proto_rawDescGZIP(), []int{175, 1} } func (x *RequireEmployeeWorkItemSpecsInfoByIdFields_ManagementWorkItem) GetSpecs() *RequireEmployeeWorkItemSpecsInfoByIdFields_ManagementWorkItem_ManagementSpecs { @@ -13176,24 +12530,21 @@ func (x *RequireEmployeeWorkItemSpecsInfoByIdFields_ManagementWorkItem) GetSpecs } type RequireEmployeeWorkItemSpecsInfoByIdFields_EmployeeWorkItem struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - // Types that are assignable to Instance: + state protoimpl.MessageState `protogen:"open.v1"` + // Types that are valid to be assigned to Instance: // // *RequireEmployeeWorkItemSpecsInfoByIdFields_EmployeeWorkItem_ManagementWorkItem // *RequireEmployeeWorkItemSpecsInfoByIdFields_EmployeeWorkItem_TechnicalWorkItem - Instance isRequireEmployeeWorkItemSpecsInfoByIdFields_EmployeeWorkItem_Instance `protobuf_oneof:"instance"` + Instance isRequireEmployeeWorkItemSpecsInfoByIdFields_EmployeeWorkItem_Instance `protobuf_oneof:"instance"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *RequireEmployeeWorkItemSpecsInfoByIdFields_EmployeeWorkItem) Reset() { *x = RequireEmployeeWorkItemSpecsInfoByIdFields_EmployeeWorkItem{} - if protoimpl.UnsafeEnabled { - mi := &file_generated_service_proto_msgTypes[237] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_service_proto_msgTypes[237] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *RequireEmployeeWorkItemSpecsInfoByIdFields_EmployeeWorkItem) String() string { @@ -13203,8 +12554,8 @@ func (x *RequireEmployeeWorkItemSpecsInfoByIdFields_EmployeeWorkItem) String() s func (*RequireEmployeeWorkItemSpecsInfoByIdFields_EmployeeWorkItem) ProtoMessage() {} func (x *RequireEmployeeWorkItemSpecsInfoByIdFields_EmployeeWorkItem) ProtoReflect() protoreflect.Message { - mi := &file_generated_service_proto_msgTypes[237] - if protoimpl.UnsafeEnabled && x != nil { + mi := &file_service_proto_msgTypes[237] + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -13216,26 +12567,30 @@ func (x *RequireEmployeeWorkItemSpecsInfoByIdFields_EmployeeWorkItem) ProtoRefle // Deprecated: Use RequireEmployeeWorkItemSpecsInfoByIdFields_EmployeeWorkItem.ProtoReflect.Descriptor instead. func (*RequireEmployeeWorkItemSpecsInfoByIdFields_EmployeeWorkItem) Descriptor() ([]byte, []int) { - return file_generated_service_proto_rawDescGZIP(), []int{175, 2} + return file_service_proto_rawDescGZIP(), []int{175, 2} } -func (m *RequireEmployeeWorkItemSpecsInfoByIdFields_EmployeeWorkItem) GetInstance() isRequireEmployeeWorkItemSpecsInfoByIdFields_EmployeeWorkItem_Instance { - if m != nil { - return m.Instance +func (x *RequireEmployeeWorkItemSpecsInfoByIdFields_EmployeeWorkItem) GetInstance() isRequireEmployeeWorkItemSpecsInfoByIdFields_EmployeeWorkItem_Instance { + if x != nil { + return x.Instance } return nil } func (x *RequireEmployeeWorkItemSpecsInfoByIdFields_EmployeeWorkItem) GetManagementWorkItem() *RequireEmployeeWorkItemSpecsInfoByIdFields_ManagementWorkItem { - if x, ok := x.GetInstance().(*RequireEmployeeWorkItemSpecsInfoByIdFields_EmployeeWorkItem_ManagementWorkItem); ok { - return x.ManagementWorkItem + if x != nil { + if x, ok := x.Instance.(*RequireEmployeeWorkItemSpecsInfoByIdFields_EmployeeWorkItem_ManagementWorkItem); ok { + return x.ManagementWorkItem + } } return nil } func (x *RequireEmployeeWorkItemSpecsInfoByIdFields_EmployeeWorkItem) GetTechnicalWorkItem() *RequireEmployeeWorkItemSpecsInfoByIdFields_TechnicalWorkItem { - if x, ok := x.GetInstance().(*RequireEmployeeWorkItemSpecsInfoByIdFields_EmployeeWorkItem_TechnicalWorkItem); ok { - return x.TechnicalWorkItem + if x != nil { + if x, ok := x.Instance.(*RequireEmployeeWorkItemSpecsInfoByIdFields_EmployeeWorkItem_TechnicalWorkItem); ok { + return x.TechnicalWorkItem + } } return nil } @@ -13259,21 +12614,18 @@ func (*RequireEmployeeWorkItemSpecsInfoByIdFields_EmployeeWorkItem_TechnicalWork } type RequireEmployeeWorkItemSpecsInfoByIdFields_TechnicalWorkItem_TechnicalSpecs struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache + state protoimpl.MessageState `protogen:"open.v1"` + Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` + Metrics *RequireEmployeeWorkItemSpecsInfoByIdFields_TechnicalWorkItem_TechnicalSpecs_WorkMetrics `protobuf:"bytes,2,opt,name=metrics,proto3" json:"metrics,omitempty"` unknownFields protoimpl.UnknownFields - - Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` - Metrics *RequireEmployeeWorkItemSpecsInfoByIdFields_TechnicalWorkItem_TechnicalSpecs_WorkMetrics `protobuf:"bytes,2,opt,name=metrics,proto3" json:"metrics,omitempty"` + sizeCache protoimpl.SizeCache } func (x *RequireEmployeeWorkItemSpecsInfoByIdFields_TechnicalWorkItem_TechnicalSpecs) Reset() { *x = RequireEmployeeWorkItemSpecsInfoByIdFields_TechnicalWorkItem_TechnicalSpecs{} - if protoimpl.UnsafeEnabled { - mi := &file_generated_service_proto_msgTypes[238] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_service_proto_msgTypes[238] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *RequireEmployeeWorkItemSpecsInfoByIdFields_TechnicalWorkItem_TechnicalSpecs) String() string { @@ -13283,8 +12635,8 @@ func (x *RequireEmployeeWorkItemSpecsInfoByIdFields_TechnicalWorkItem_TechnicalS func (*RequireEmployeeWorkItemSpecsInfoByIdFields_TechnicalWorkItem_TechnicalSpecs) ProtoMessage() {} func (x *RequireEmployeeWorkItemSpecsInfoByIdFields_TechnicalWorkItem_TechnicalSpecs) ProtoReflect() protoreflect.Message { - mi := &file_generated_service_proto_msgTypes[238] - if protoimpl.UnsafeEnabled && x != nil { + mi := &file_service_proto_msgTypes[238] + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -13296,7 +12648,7 @@ func (x *RequireEmployeeWorkItemSpecsInfoByIdFields_TechnicalWorkItem_TechnicalS // Deprecated: Use RequireEmployeeWorkItemSpecsInfoByIdFields_TechnicalWorkItem_TechnicalSpecs.ProtoReflect.Descriptor instead. func (*RequireEmployeeWorkItemSpecsInfoByIdFields_TechnicalWorkItem_TechnicalSpecs) Descriptor() ([]byte, []int) { - return file_generated_service_proto_rawDescGZIP(), []int{175, 0, 0} + return file_service_proto_rawDescGZIP(), []int{175, 0, 0} } func (x *RequireEmployeeWorkItemSpecsInfoByIdFields_TechnicalWorkItem_TechnicalSpecs) GetName() string { @@ -13314,21 +12666,18 @@ func (x *RequireEmployeeWorkItemSpecsInfoByIdFields_TechnicalWorkItem_TechnicalS } type RequireEmployeeWorkItemSpecsInfoByIdFields_TechnicalWorkItem_TechnicalSpecs_WorkMetrics struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache + state protoimpl.MessageState `protogen:"open.v1"` + Score float64 `protobuf:"fixed64,1,opt,name=score,proto3" json:"score,omitempty"` + Efficiency float64 `protobuf:"fixed64,2,opt,name=efficiency,proto3" json:"efficiency,omitempty"` unknownFields protoimpl.UnknownFields - - Score float64 `protobuf:"fixed64,1,opt,name=score,proto3" json:"score,omitempty"` - Efficiency float64 `protobuf:"fixed64,2,opt,name=efficiency,proto3" json:"efficiency,omitempty"` + sizeCache protoimpl.SizeCache } func (x *RequireEmployeeWorkItemSpecsInfoByIdFields_TechnicalWorkItem_TechnicalSpecs_WorkMetrics) Reset() { *x = RequireEmployeeWorkItemSpecsInfoByIdFields_TechnicalWorkItem_TechnicalSpecs_WorkMetrics{} - if protoimpl.UnsafeEnabled { - mi := &file_generated_service_proto_msgTypes[239] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_service_proto_msgTypes[239] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *RequireEmployeeWorkItemSpecsInfoByIdFields_TechnicalWorkItem_TechnicalSpecs_WorkMetrics) String() string { @@ -13339,8 +12688,8 @@ func (*RequireEmployeeWorkItemSpecsInfoByIdFields_TechnicalWorkItem_TechnicalSpe } func (x *RequireEmployeeWorkItemSpecsInfoByIdFields_TechnicalWorkItem_TechnicalSpecs_WorkMetrics) ProtoReflect() protoreflect.Message { - mi := &file_generated_service_proto_msgTypes[239] - if protoimpl.UnsafeEnabled && x != nil { + mi := &file_service_proto_msgTypes[239] + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -13352,7 +12701,7 @@ func (x *RequireEmployeeWorkItemSpecsInfoByIdFields_TechnicalWorkItem_TechnicalS // Deprecated: Use RequireEmployeeWorkItemSpecsInfoByIdFields_TechnicalWorkItem_TechnicalSpecs_WorkMetrics.ProtoReflect.Descriptor instead. func (*RequireEmployeeWorkItemSpecsInfoByIdFields_TechnicalWorkItem_TechnicalSpecs_WorkMetrics) Descriptor() ([]byte, []int) { - return file_generated_service_proto_rawDescGZIP(), []int{175, 0, 0, 0} + return file_service_proto_rawDescGZIP(), []int{175, 0, 0, 0} } func (x *RequireEmployeeWorkItemSpecsInfoByIdFields_TechnicalWorkItem_TechnicalSpecs_WorkMetrics) GetScore() float64 { @@ -13370,21 +12719,18 @@ func (x *RequireEmployeeWorkItemSpecsInfoByIdFields_TechnicalWorkItem_TechnicalS } type RequireEmployeeWorkItemSpecsInfoByIdFields_ManagementWorkItem_ManagementSpecs struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache + state protoimpl.MessageState `protogen:"open.v1"` + Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` + Metrics *RequireEmployeeWorkItemSpecsInfoByIdFields_ManagementWorkItem_ManagementSpecs_WorkMetrics `protobuf:"bytes,2,opt,name=metrics,proto3" json:"metrics,omitempty"` unknownFields protoimpl.UnknownFields - - Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` - Metrics *RequireEmployeeWorkItemSpecsInfoByIdFields_ManagementWorkItem_ManagementSpecs_WorkMetrics `protobuf:"bytes,2,opt,name=metrics,proto3" json:"metrics,omitempty"` + sizeCache protoimpl.SizeCache } func (x *RequireEmployeeWorkItemSpecsInfoByIdFields_ManagementWorkItem_ManagementSpecs) Reset() { *x = RequireEmployeeWorkItemSpecsInfoByIdFields_ManagementWorkItem_ManagementSpecs{} - if protoimpl.UnsafeEnabled { - mi := &file_generated_service_proto_msgTypes[240] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_service_proto_msgTypes[240] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *RequireEmployeeWorkItemSpecsInfoByIdFields_ManagementWorkItem_ManagementSpecs) String() string { @@ -13395,8 +12741,8 @@ func (*RequireEmployeeWorkItemSpecsInfoByIdFields_ManagementWorkItem_ManagementS } func (x *RequireEmployeeWorkItemSpecsInfoByIdFields_ManagementWorkItem_ManagementSpecs) ProtoReflect() protoreflect.Message { - mi := &file_generated_service_proto_msgTypes[240] - if protoimpl.UnsafeEnabled && x != nil { + mi := &file_service_proto_msgTypes[240] + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -13408,7 +12754,7 @@ func (x *RequireEmployeeWorkItemSpecsInfoByIdFields_ManagementWorkItem_Managemen // Deprecated: Use RequireEmployeeWorkItemSpecsInfoByIdFields_ManagementWorkItem_ManagementSpecs.ProtoReflect.Descriptor instead. func (*RequireEmployeeWorkItemSpecsInfoByIdFields_ManagementWorkItem_ManagementSpecs) Descriptor() ([]byte, []int) { - return file_generated_service_proto_rawDescGZIP(), []int{175, 1, 0} + return file_service_proto_rawDescGZIP(), []int{175, 1, 0} } func (x *RequireEmployeeWorkItemSpecsInfoByIdFields_ManagementWorkItem_ManagementSpecs) GetName() string { @@ -13426,21 +12772,18 @@ func (x *RequireEmployeeWorkItemSpecsInfoByIdFields_ManagementWorkItem_Managemen } type RequireEmployeeWorkItemSpecsInfoByIdFields_ManagementWorkItem_ManagementSpecs_WorkMetrics struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache + state protoimpl.MessageState `protogen:"open.v1"` + Score float64 `protobuf:"fixed64,1,opt,name=score,proto3" json:"score,omitempty"` + Efficiency float64 `protobuf:"fixed64,2,opt,name=efficiency,proto3" json:"efficiency,omitempty"` unknownFields protoimpl.UnknownFields - - Score float64 `protobuf:"fixed64,1,opt,name=score,proto3" json:"score,omitempty"` - Efficiency float64 `protobuf:"fixed64,2,opt,name=efficiency,proto3" json:"efficiency,omitempty"` + sizeCache protoimpl.SizeCache } func (x *RequireEmployeeWorkItemSpecsInfoByIdFields_ManagementWorkItem_ManagementSpecs_WorkMetrics) Reset() { *x = RequireEmployeeWorkItemSpecsInfoByIdFields_ManagementWorkItem_ManagementSpecs_WorkMetrics{} - if protoimpl.UnsafeEnabled { - mi := &file_generated_service_proto_msgTypes[241] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_service_proto_msgTypes[241] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *RequireEmployeeWorkItemSpecsInfoByIdFields_ManagementWorkItem_ManagementSpecs_WorkMetrics) String() string { @@ -13451,8 +12794,8 @@ func (*RequireEmployeeWorkItemSpecsInfoByIdFields_ManagementWorkItem_ManagementS } func (x *RequireEmployeeWorkItemSpecsInfoByIdFields_ManagementWorkItem_ManagementSpecs_WorkMetrics) ProtoReflect() protoreflect.Message { - mi := &file_generated_service_proto_msgTypes[241] - if protoimpl.UnsafeEnabled && x != nil { + mi := &file_service_proto_msgTypes[241] + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -13464,7 +12807,7 @@ func (x *RequireEmployeeWorkItemSpecsInfoByIdFields_ManagementWorkItem_Managemen // Deprecated: Use RequireEmployeeWorkItemSpecsInfoByIdFields_ManagementWorkItem_ManagementSpecs_WorkMetrics.ProtoReflect.Descriptor instead. func (*RequireEmployeeWorkItemSpecsInfoByIdFields_ManagementWorkItem_ManagementSpecs_WorkMetrics) Descriptor() ([]byte, []int) { - return file_generated_service_proto_rawDescGZIP(), []int{175, 1, 0, 0} + return file_service_proto_rawDescGZIP(), []int{175, 1, 0, 0} } func (x *RequireEmployeeWorkItemSpecsInfoByIdFields_ManagementWorkItem_ManagementSpecs_WorkMetrics) GetScore() float64 { @@ -13482,20 +12825,17 @@ func (x *RequireEmployeeWorkItemSpecsInfoByIdFields_ManagementWorkItem_Managemen } type RequireEmployeeDeepWorkItemInfoByIdFields_TechnicalWorkItem struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache + state protoimpl.MessageState `protogen:"open.v1"` + Handler *RequireEmployeeDeepWorkItemInfoByIdFields_TechnicalWorkItem_WorkItemHandler `protobuf:"bytes,1,opt,name=handler,proto3" json:"handler,omitempty"` unknownFields protoimpl.UnknownFields - - Handler *RequireEmployeeDeepWorkItemInfoByIdFields_TechnicalWorkItem_WorkItemHandler `protobuf:"bytes,1,opt,name=handler,proto3" json:"handler,omitempty"` + sizeCache protoimpl.SizeCache } func (x *RequireEmployeeDeepWorkItemInfoByIdFields_TechnicalWorkItem) Reset() { *x = RequireEmployeeDeepWorkItemInfoByIdFields_TechnicalWorkItem{} - if protoimpl.UnsafeEnabled { - mi := &file_generated_service_proto_msgTypes[242] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_service_proto_msgTypes[242] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *RequireEmployeeDeepWorkItemInfoByIdFields_TechnicalWorkItem) String() string { @@ -13505,8 +12845,8 @@ func (x *RequireEmployeeDeepWorkItemInfoByIdFields_TechnicalWorkItem) String() s func (*RequireEmployeeDeepWorkItemInfoByIdFields_TechnicalWorkItem) ProtoMessage() {} func (x *RequireEmployeeDeepWorkItemInfoByIdFields_TechnicalWorkItem) ProtoReflect() protoreflect.Message { - mi := &file_generated_service_proto_msgTypes[242] - if protoimpl.UnsafeEnabled && x != nil { + mi := &file_service_proto_msgTypes[242] + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -13518,7 +12858,7 @@ func (x *RequireEmployeeDeepWorkItemInfoByIdFields_TechnicalWorkItem) ProtoRefle // Deprecated: Use RequireEmployeeDeepWorkItemInfoByIdFields_TechnicalWorkItem.ProtoReflect.Descriptor instead. func (*RequireEmployeeDeepWorkItemInfoByIdFields_TechnicalWorkItem) Descriptor() ([]byte, []int) { - return file_generated_service_proto_rawDescGZIP(), []int{180, 0} + return file_service_proto_rawDescGZIP(), []int{180, 0} } func (x *RequireEmployeeDeepWorkItemInfoByIdFields_TechnicalWorkItem) GetHandler() *RequireEmployeeDeepWorkItemInfoByIdFields_TechnicalWorkItem_WorkItemHandler { @@ -13529,20 +12869,17 @@ func (x *RequireEmployeeDeepWorkItemInfoByIdFields_TechnicalWorkItem) GetHandler } type RequireEmployeeDeepWorkItemInfoByIdFields_ManagementWorkItem struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache + state protoimpl.MessageState `protogen:"open.v1"` + Handler *RequireEmployeeDeepWorkItemInfoByIdFields_ManagementWorkItem_WorkItemHandler `protobuf:"bytes,1,opt,name=handler,proto3" json:"handler,omitempty"` unknownFields protoimpl.UnknownFields - - Handler *RequireEmployeeDeepWorkItemInfoByIdFields_ManagementWorkItem_WorkItemHandler `protobuf:"bytes,1,opt,name=handler,proto3" json:"handler,omitempty"` + sizeCache protoimpl.SizeCache } func (x *RequireEmployeeDeepWorkItemInfoByIdFields_ManagementWorkItem) Reset() { *x = RequireEmployeeDeepWorkItemInfoByIdFields_ManagementWorkItem{} - if protoimpl.UnsafeEnabled { - mi := &file_generated_service_proto_msgTypes[243] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_service_proto_msgTypes[243] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *RequireEmployeeDeepWorkItemInfoByIdFields_ManagementWorkItem) String() string { @@ -13552,8 +12889,8 @@ func (x *RequireEmployeeDeepWorkItemInfoByIdFields_ManagementWorkItem) String() func (*RequireEmployeeDeepWorkItemInfoByIdFields_ManagementWorkItem) ProtoMessage() {} func (x *RequireEmployeeDeepWorkItemInfoByIdFields_ManagementWorkItem) ProtoReflect() protoreflect.Message { - mi := &file_generated_service_proto_msgTypes[243] - if protoimpl.UnsafeEnabled && x != nil { + mi := &file_service_proto_msgTypes[243] + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -13565,7 +12902,7 @@ func (x *RequireEmployeeDeepWorkItemInfoByIdFields_ManagementWorkItem) ProtoRefl // Deprecated: Use RequireEmployeeDeepWorkItemInfoByIdFields_ManagementWorkItem.ProtoReflect.Descriptor instead. func (*RequireEmployeeDeepWorkItemInfoByIdFields_ManagementWorkItem) Descriptor() ([]byte, []int) { - return file_generated_service_proto_rawDescGZIP(), []int{180, 1} + return file_service_proto_rawDescGZIP(), []int{180, 1} } func (x *RequireEmployeeDeepWorkItemInfoByIdFields_ManagementWorkItem) GetHandler() *RequireEmployeeDeepWorkItemInfoByIdFields_ManagementWorkItem_WorkItemHandler { @@ -13576,24 +12913,21 @@ func (x *RequireEmployeeDeepWorkItemInfoByIdFields_ManagementWorkItem) GetHandle } type RequireEmployeeDeepWorkItemInfoByIdFields_EmployeeWorkItem struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - // Types that are assignable to Instance: + state protoimpl.MessageState `protogen:"open.v1"` + // Types that are valid to be assigned to Instance: // // *RequireEmployeeDeepWorkItemInfoByIdFields_EmployeeWorkItem_ManagementWorkItem // *RequireEmployeeDeepWorkItemInfoByIdFields_EmployeeWorkItem_TechnicalWorkItem - Instance isRequireEmployeeDeepWorkItemInfoByIdFields_EmployeeWorkItem_Instance `protobuf_oneof:"instance"` + Instance isRequireEmployeeDeepWorkItemInfoByIdFields_EmployeeWorkItem_Instance `protobuf_oneof:"instance"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *RequireEmployeeDeepWorkItemInfoByIdFields_EmployeeWorkItem) Reset() { *x = RequireEmployeeDeepWorkItemInfoByIdFields_EmployeeWorkItem{} - if protoimpl.UnsafeEnabled { - mi := &file_generated_service_proto_msgTypes[244] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_service_proto_msgTypes[244] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *RequireEmployeeDeepWorkItemInfoByIdFields_EmployeeWorkItem) String() string { @@ -13603,8 +12937,8 @@ func (x *RequireEmployeeDeepWorkItemInfoByIdFields_EmployeeWorkItem) String() st func (*RequireEmployeeDeepWorkItemInfoByIdFields_EmployeeWorkItem) ProtoMessage() {} func (x *RequireEmployeeDeepWorkItemInfoByIdFields_EmployeeWorkItem) ProtoReflect() protoreflect.Message { - mi := &file_generated_service_proto_msgTypes[244] - if protoimpl.UnsafeEnabled && x != nil { + mi := &file_service_proto_msgTypes[244] + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -13616,26 +12950,30 @@ func (x *RequireEmployeeDeepWorkItemInfoByIdFields_EmployeeWorkItem) ProtoReflec // Deprecated: Use RequireEmployeeDeepWorkItemInfoByIdFields_EmployeeWorkItem.ProtoReflect.Descriptor instead. func (*RequireEmployeeDeepWorkItemInfoByIdFields_EmployeeWorkItem) Descriptor() ([]byte, []int) { - return file_generated_service_proto_rawDescGZIP(), []int{180, 2} + return file_service_proto_rawDescGZIP(), []int{180, 2} } -func (m *RequireEmployeeDeepWorkItemInfoByIdFields_EmployeeWorkItem) GetInstance() isRequireEmployeeDeepWorkItemInfoByIdFields_EmployeeWorkItem_Instance { - if m != nil { - return m.Instance +func (x *RequireEmployeeDeepWorkItemInfoByIdFields_EmployeeWorkItem) GetInstance() isRequireEmployeeDeepWorkItemInfoByIdFields_EmployeeWorkItem_Instance { + if x != nil { + return x.Instance } return nil } func (x *RequireEmployeeDeepWorkItemInfoByIdFields_EmployeeWorkItem) GetManagementWorkItem() *RequireEmployeeDeepWorkItemInfoByIdFields_ManagementWorkItem { - if x, ok := x.GetInstance().(*RequireEmployeeDeepWorkItemInfoByIdFields_EmployeeWorkItem_ManagementWorkItem); ok { - return x.ManagementWorkItem + if x != nil { + if x, ok := x.Instance.(*RequireEmployeeDeepWorkItemInfoByIdFields_EmployeeWorkItem_ManagementWorkItem); ok { + return x.ManagementWorkItem + } } return nil } func (x *RequireEmployeeDeepWorkItemInfoByIdFields_EmployeeWorkItem) GetTechnicalWorkItem() *RequireEmployeeDeepWorkItemInfoByIdFields_TechnicalWorkItem { - if x, ok := x.GetInstance().(*RequireEmployeeDeepWorkItemInfoByIdFields_EmployeeWorkItem_TechnicalWorkItem); ok { - return x.TechnicalWorkItem + if x != nil { + if x, ok := x.Instance.(*RequireEmployeeDeepWorkItemInfoByIdFields_EmployeeWorkItem_TechnicalWorkItem); ok { + return x.TechnicalWorkItem + } } return nil } @@ -13659,20 +12997,17 @@ func (*RequireEmployeeDeepWorkItemInfoByIdFields_EmployeeWorkItem_TechnicalWorkI } type RequireEmployeeDeepWorkItemInfoByIdFields_TechnicalWorkItem_WorkItemHandler struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache + state protoimpl.MessageState `protogen:"open.v1"` + AssignedItem *RequireEmployeeDeepWorkItemInfoByIdFields_TechnicalWorkItem_WorkItemHandler_EmployeeWorkItem `protobuf:"bytes,1,opt,name=assigned_item,json=assignedItem,proto3" json:"assigned_item,omitempty"` unknownFields protoimpl.UnknownFields - - AssignedItem *RequireEmployeeDeepWorkItemInfoByIdFields_TechnicalWorkItem_WorkItemHandler_EmployeeWorkItem `protobuf:"bytes,1,opt,name=assigned_item,json=assignedItem,proto3" json:"assigned_item,omitempty"` + sizeCache protoimpl.SizeCache } func (x *RequireEmployeeDeepWorkItemInfoByIdFields_TechnicalWorkItem_WorkItemHandler) Reset() { *x = RequireEmployeeDeepWorkItemInfoByIdFields_TechnicalWorkItem_WorkItemHandler{} - if protoimpl.UnsafeEnabled { - mi := &file_generated_service_proto_msgTypes[245] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_service_proto_msgTypes[245] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *RequireEmployeeDeepWorkItemInfoByIdFields_TechnicalWorkItem_WorkItemHandler) String() string { @@ -13682,8 +13017,8 @@ func (x *RequireEmployeeDeepWorkItemInfoByIdFields_TechnicalWorkItem_WorkItemHan func (*RequireEmployeeDeepWorkItemInfoByIdFields_TechnicalWorkItem_WorkItemHandler) ProtoMessage() {} func (x *RequireEmployeeDeepWorkItemInfoByIdFields_TechnicalWorkItem_WorkItemHandler) ProtoReflect() protoreflect.Message { - mi := &file_generated_service_proto_msgTypes[245] - if protoimpl.UnsafeEnabled && x != nil { + mi := &file_service_proto_msgTypes[245] + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -13695,7 +13030,7 @@ func (x *RequireEmployeeDeepWorkItemInfoByIdFields_TechnicalWorkItem_WorkItemHan // Deprecated: Use RequireEmployeeDeepWorkItemInfoByIdFields_TechnicalWorkItem_WorkItemHandler.ProtoReflect.Descriptor instead. func (*RequireEmployeeDeepWorkItemInfoByIdFields_TechnicalWorkItem_WorkItemHandler) Descriptor() ([]byte, []int) { - return file_generated_service_proto_rawDescGZIP(), []int{180, 0, 0} + return file_service_proto_rawDescGZIP(), []int{180, 0, 0} } func (x *RequireEmployeeDeepWorkItemInfoByIdFields_TechnicalWorkItem_WorkItemHandler) GetAssignedItem() *RequireEmployeeDeepWorkItemInfoByIdFields_TechnicalWorkItem_WorkItemHandler_EmployeeWorkItem { @@ -13706,21 +13041,18 @@ func (x *RequireEmployeeDeepWorkItemInfoByIdFields_TechnicalWorkItem_WorkItemHan } type RequireEmployeeDeepWorkItemInfoByIdFields_TechnicalWorkItem_WorkItemHandler_ManagementWorkItem struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache + state protoimpl.MessageState `protogen:"open.v1"` + Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` + TeamSize string `protobuf:"bytes,2,opt,name=team_size,json=teamSize,proto3" json:"team_size,omitempty"` unknownFields protoimpl.UnknownFields - - Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` - TeamSize string `protobuf:"bytes,2,opt,name=team_size,json=teamSize,proto3" json:"team_size,omitempty"` + sizeCache protoimpl.SizeCache } func (x *RequireEmployeeDeepWorkItemInfoByIdFields_TechnicalWorkItem_WorkItemHandler_ManagementWorkItem) Reset() { *x = RequireEmployeeDeepWorkItemInfoByIdFields_TechnicalWorkItem_WorkItemHandler_ManagementWorkItem{} - if protoimpl.UnsafeEnabled { - mi := &file_generated_service_proto_msgTypes[246] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_service_proto_msgTypes[246] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *RequireEmployeeDeepWorkItemInfoByIdFields_TechnicalWorkItem_WorkItemHandler_ManagementWorkItem) String() string { @@ -13731,8 +13063,8 @@ func (*RequireEmployeeDeepWorkItemInfoByIdFields_TechnicalWorkItem_WorkItemHandl } func (x *RequireEmployeeDeepWorkItemInfoByIdFields_TechnicalWorkItem_WorkItemHandler_ManagementWorkItem) ProtoReflect() protoreflect.Message { - mi := &file_generated_service_proto_msgTypes[246] - if protoimpl.UnsafeEnabled && x != nil { + mi := &file_service_proto_msgTypes[246] + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -13744,7 +13076,7 @@ func (x *RequireEmployeeDeepWorkItemInfoByIdFields_TechnicalWorkItem_WorkItemHan // Deprecated: Use RequireEmployeeDeepWorkItemInfoByIdFields_TechnicalWorkItem_WorkItemHandler_ManagementWorkItem.ProtoReflect.Descriptor instead. func (*RequireEmployeeDeepWorkItemInfoByIdFields_TechnicalWorkItem_WorkItemHandler_ManagementWorkItem) Descriptor() ([]byte, []int) { - return file_generated_service_proto_rawDescGZIP(), []int{180, 0, 0, 0} + return file_service_proto_rawDescGZIP(), []int{180, 0, 0, 0} } func (x *RequireEmployeeDeepWorkItemInfoByIdFields_TechnicalWorkItem_WorkItemHandler_ManagementWorkItem) GetName() string { @@ -13762,21 +13094,18 @@ func (x *RequireEmployeeDeepWorkItemInfoByIdFields_TechnicalWorkItem_WorkItemHan } type RequireEmployeeDeepWorkItemInfoByIdFields_TechnicalWorkItem_WorkItemHandler_TechnicalWorkItem struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache + state protoimpl.MessageState `protogen:"open.v1"` + Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` + CodeCount int32 `protobuf:"varint,2,opt,name=code_count,json=codeCount,proto3" json:"code_count,omitempty"` unknownFields protoimpl.UnknownFields - - Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` - CodeCount int32 `protobuf:"varint,2,opt,name=code_count,json=codeCount,proto3" json:"code_count,omitempty"` + sizeCache protoimpl.SizeCache } func (x *RequireEmployeeDeepWorkItemInfoByIdFields_TechnicalWorkItem_WorkItemHandler_TechnicalWorkItem) Reset() { *x = RequireEmployeeDeepWorkItemInfoByIdFields_TechnicalWorkItem_WorkItemHandler_TechnicalWorkItem{} - if protoimpl.UnsafeEnabled { - mi := &file_generated_service_proto_msgTypes[247] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_service_proto_msgTypes[247] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *RequireEmployeeDeepWorkItemInfoByIdFields_TechnicalWorkItem_WorkItemHandler_TechnicalWorkItem) String() string { @@ -13787,8 +13116,8 @@ func (*RequireEmployeeDeepWorkItemInfoByIdFields_TechnicalWorkItem_WorkItemHandl } func (x *RequireEmployeeDeepWorkItemInfoByIdFields_TechnicalWorkItem_WorkItemHandler_TechnicalWorkItem) ProtoReflect() protoreflect.Message { - mi := &file_generated_service_proto_msgTypes[247] - if protoimpl.UnsafeEnabled && x != nil { + mi := &file_service_proto_msgTypes[247] + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -13800,7 +13129,7 @@ func (x *RequireEmployeeDeepWorkItemInfoByIdFields_TechnicalWorkItem_WorkItemHan // Deprecated: Use RequireEmployeeDeepWorkItemInfoByIdFields_TechnicalWorkItem_WorkItemHandler_TechnicalWorkItem.ProtoReflect.Descriptor instead. func (*RequireEmployeeDeepWorkItemInfoByIdFields_TechnicalWorkItem_WorkItemHandler_TechnicalWorkItem) Descriptor() ([]byte, []int) { - return file_generated_service_proto_rawDescGZIP(), []int{180, 0, 0, 1} + return file_service_proto_rawDescGZIP(), []int{180, 0, 0, 1} } func (x *RequireEmployeeDeepWorkItemInfoByIdFields_TechnicalWorkItem_WorkItemHandler_TechnicalWorkItem) GetName() string { @@ -13818,24 +13147,21 @@ func (x *RequireEmployeeDeepWorkItemInfoByIdFields_TechnicalWorkItem_WorkItemHan } type RequireEmployeeDeepWorkItemInfoByIdFields_TechnicalWorkItem_WorkItemHandler_EmployeeWorkItem struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - // Types that are assignable to Instance: + state protoimpl.MessageState `protogen:"open.v1"` + // Types that are valid to be assigned to Instance: // // *RequireEmployeeDeepWorkItemInfoByIdFields_TechnicalWorkItem_WorkItemHandler_EmployeeWorkItem_ManagementWorkItem // *RequireEmployeeDeepWorkItemInfoByIdFields_TechnicalWorkItem_WorkItemHandler_EmployeeWorkItem_TechnicalWorkItem - Instance isRequireEmployeeDeepWorkItemInfoByIdFields_TechnicalWorkItem_WorkItemHandler_EmployeeWorkItem_Instance `protobuf_oneof:"instance"` + Instance isRequireEmployeeDeepWorkItemInfoByIdFields_TechnicalWorkItem_WorkItemHandler_EmployeeWorkItem_Instance `protobuf_oneof:"instance"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *RequireEmployeeDeepWorkItemInfoByIdFields_TechnicalWorkItem_WorkItemHandler_EmployeeWorkItem) Reset() { *x = RequireEmployeeDeepWorkItemInfoByIdFields_TechnicalWorkItem_WorkItemHandler_EmployeeWorkItem{} - if protoimpl.UnsafeEnabled { - mi := &file_generated_service_proto_msgTypes[248] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_service_proto_msgTypes[248] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *RequireEmployeeDeepWorkItemInfoByIdFields_TechnicalWorkItem_WorkItemHandler_EmployeeWorkItem) String() string { @@ -13846,8 +13172,8 @@ func (*RequireEmployeeDeepWorkItemInfoByIdFields_TechnicalWorkItem_WorkItemHandl } func (x *RequireEmployeeDeepWorkItemInfoByIdFields_TechnicalWorkItem_WorkItemHandler_EmployeeWorkItem) ProtoReflect() protoreflect.Message { - mi := &file_generated_service_proto_msgTypes[248] - if protoimpl.UnsafeEnabled && x != nil { + mi := &file_service_proto_msgTypes[248] + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -13859,26 +13185,30 @@ func (x *RequireEmployeeDeepWorkItemInfoByIdFields_TechnicalWorkItem_WorkItemHan // Deprecated: Use RequireEmployeeDeepWorkItemInfoByIdFields_TechnicalWorkItem_WorkItemHandler_EmployeeWorkItem.ProtoReflect.Descriptor instead. func (*RequireEmployeeDeepWorkItemInfoByIdFields_TechnicalWorkItem_WorkItemHandler_EmployeeWorkItem) Descriptor() ([]byte, []int) { - return file_generated_service_proto_rawDescGZIP(), []int{180, 0, 0, 2} + return file_service_proto_rawDescGZIP(), []int{180, 0, 0, 2} } -func (m *RequireEmployeeDeepWorkItemInfoByIdFields_TechnicalWorkItem_WorkItemHandler_EmployeeWorkItem) GetInstance() isRequireEmployeeDeepWorkItemInfoByIdFields_TechnicalWorkItem_WorkItemHandler_EmployeeWorkItem_Instance { - if m != nil { - return m.Instance +func (x *RequireEmployeeDeepWorkItemInfoByIdFields_TechnicalWorkItem_WorkItemHandler_EmployeeWorkItem) GetInstance() isRequireEmployeeDeepWorkItemInfoByIdFields_TechnicalWorkItem_WorkItemHandler_EmployeeWorkItem_Instance { + if x != nil { + return x.Instance } return nil } func (x *RequireEmployeeDeepWorkItemInfoByIdFields_TechnicalWorkItem_WorkItemHandler_EmployeeWorkItem) GetManagementWorkItem() *RequireEmployeeDeepWorkItemInfoByIdFields_TechnicalWorkItem_WorkItemHandler_ManagementWorkItem { - if x, ok := x.GetInstance().(*RequireEmployeeDeepWorkItemInfoByIdFields_TechnicalWorkItem_WorkItemHandler_EmployeeWorkItem_ManagementWorkItem); ok { - return x.ManagementWorkItem + if x != nil { + if x, ok := x.Instance.(*RequireEmployeeDeepWorkItemInfoByIdFields_TechnicalWorkItem_WorkItemHandler_EmployeeWorkItem_ManagementWorkItem); ok { + return x.ManagementWorkItem + } } return nil } func (x *RequireEmployeeDeepWorkItemInfoByIdFields_TechnicalWorkItem_WorkItemHandler_EmployeeWorkItem) GetTechnicalWorkItem() *RequireEmployeeDeepWorkItemInfoByIdFields_TechnicalWorkItem_WorkItemHandler_TechnicalWorkItem { - if x, ok := x.GetInstance().(*RequireEmployeeDeepWorkItemInfoByIdFields_TechnicalWorkItem_WorkItemHandler_EmployeeWorkItem_TechnicalWorkItem); ok { - return x.TechnicalWorkItem + if x != nil { + if x, ok := x.Instance.(*RequireEmployeeDeepWorkItemInfoByIdFields_TechnicalWorkItem_WorkItemHandler_EmployeeWorkItem_TechnicalWorkItem); ok { + return x.TechnicalWorkItem + } } return nil } @@ -13902,20 +13232,17 @@ func (*RequireEmployeeDeepWorkItemInfoByIdFields_TechnicalWorkItem_WorkItemHandl } type RequireEmployeeDeepWorkItemInfoByIdFields_ManagementWorkItem_WorkItemHandler struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache + state protoimpl.MessageState `protogen:"open.v1"` + Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` unknownFields protoimpl.UnknownFields - - Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` + sizeCache protoimpl.SizeCache } func (x *RequireEmployeeDeepWorkItemInfoByIdFields_ManagementWorkItem_WorkItemHandler) Reset() { *x = RequireEmployeeDeepWorkItemInfoByIdFields_ManagementWorkItem_WorkItemHandler{} - if protoimpl.UnsafeEnabled { - mi := &file_generated_service_proto_msgTypes[249] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_service_proto_msgTypes[249] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *RequireEmployeeDeepWorkItemInfoByIdFields_ManagementWorkItem_WorkItemHandler) String() string { @@ -13925,8 +13252,8 @@ func (x *RequireEmployeeDeepWorkItemInfoByIdFields_ManagementWorkItem_WorkItemHa func (*RequireEmployeeDeepWorkItemInfoByIdFields_ManagementWorkItem_WorkItemHandler) ProtoMessage() {} func (x *RequireEmployeeDeepWorkItemInfoByIdFields_ManagementWorkItem_WorkItemHandler) ProtoReflect() protoreflect.Message { - mi := &file_generated_service_proto_msgTypes[249] - if protoimpl.UnsafeEnabled && x != nil { + mi := &file_service_proto_msgTypes[249] + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -13938,7 +13265,7 @@ func (x *RequireEmployeeDeepWorkItemInfoByIdFields_ManagementWorkItem_WorkItemHa // Deprecated: Use RequireEmployeeDeepWorkItemInfoByIdFields_ManagementWorkItem_WorkItemHandler.ProtoReflect.Descriptor instead. func (*RequireEmployeeDeepWorkItemInfoByIdFields_ManagementWorkItem_WorkItemHandler) Descriptor() ([]byte, []int) { - return file_generated_service_proto_rawDescGZIP(), []int{180, 1, 0} + return file_service_proto_rawDescGZIP(), []int{180, 1, 0} } func (x *RequireEmployeeDeepWorkItemInfoByIdFields_ManagementWorkItem_WorkItemHandler) GetName() string { @@ -13948,2346 +13275,861 @@ func (x *RequireEmployeeDeepWorkItemInfoByIdFields_ManagementWorkItem_WorkItemHa return "" } -var File_generated_service_proto protoreflect.FileDescriptor - -var file_generated_service_proto_rawDesc = []byte{ - 0x0a, 0x17, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x65, 0x64, 0x2f, 0x73, 0x65, 0x72, 0x76, - 0x69, 0x63, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x07, 0x73, 0x65, 0x72, 0x76, 0x69, - 0x63, 0x65, 0x1a, 0x1e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, - 0x62, 0x75, 0x66, 0x2f, 0x77, 0x72, 0x61, 0x70, 0x70, 0x65, 0x72, 0x73, 0x2e, 0x70, 0x72, 0x6f, - 0x74, 0x6f, 0x22, 0x73, 0x0a, 0x0e, 0x4c, 0x69, 0x73, 0x74, 0x4f, 0x66, 0x45, 0x6d, 0x70, 0x6c, - 0x6f, 0x79, 0x65, 0x65, 0x12, 0x30, 0x0a, 0x04, 0x6c, 0x69, 0x73, 0x74, 0x18, 0x01, 0x20, 0x01, - 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x4c, 0x69, 0x73, - 0x74, 0x4f, 0x66, 0x45, 0x6d, 0x70, 0x6c, 0x6f, 0x79, 0x65, 0x65, 0x2e, 0x4c, 0x69, 0x73, 0x74, - 0x52, 0x04, 0x6c, 0x69, 0x73, 0x74, 0x1a, 0x2f, 0x0a, 0x04, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x27, - 0x0a, 0x05, 0x69, 0x74, 0x65, 0x6d, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x11, 0x2e, - 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x45, 0x6d, 0x70, 0x6c, 0x6f, 0x79, 0x65, 0x65, - 0x52, 0x05, 0x69, 0x74, 0x65, 0x6d, 0x73, 0x22, 0x56, 0x0a, 0x09, 0x4c, 0x69, 0x73, 0x74, 0x4f, - 0x66, 0x49, 0x6e, 0x74, 0x12, 0x2b, 0x0a, 0x04, 0x6c, 0x69, 0x73, 0x74, 0x18, 0x01, 0x20, 0x01, - 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x4c, 0x69, 0x73, - 0x74, 0x4f, 0x66, 0x49, 0x6e, 0x74, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x04, 0x6c, 0x69, 0x73, - 0x74, 0x1a, 0x1c, 0x0a, 0x04, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x14, 0x0a, 0x05, 0x69, 0x74, 0x65, - 0x6d, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x05, 0x52, 0x05, 0x69, 0x74, 0x65, 0x6d, 0x73, 0x22, - 0x8b, 0x01, 0x0a, 0x16, 0x4c, 0x69, 0x73, 0x74, 0x4f, 0x66, 0x4c, 0x69, 0x73, 0x74, 0x4f, 0x66, - 0x4c, 0x69, 0x73, 0x74, 0x4f, 0x66, 0x54, 0x61, 0x73, 0x6b, 0x12, 0x38, 0x0a, 0x04, 0x6c, 0x69, - 0x73, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, - 0x63, 0x65, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x4f, 0x66, 0x4c, 0x69, 0x73, 0x74, 0x4f, 0x66, 0x4c, - 0x69, 0x73, 0x74, 0x4f, 0x66, 0x54, 0x61, 0x73, 0x6b, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x04, - 0x6c, 0x69, 0x73, 0x74, 0x1a, 0x37, 0x0a, 0x04, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x2f, 0x0a, 0x05, - 0x69, 0x74, 0x65, 0x6d, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x73, 0x65, - 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x4f, 0x66, 0x4c, 0x69, 0x73, 0x74, - 0x4f, 0x66, 0x54, 0x61, 0x73, 0x6b, 0x52, 0x05, 0x69, 0x74, 0x65, 0x6d, 0x73, 0x22, 0x88, 0x01, - 0x0a, 0x15, 0x4c, 0x69, 0x73, 0x74, 0x4f, 0x66, 0x4c, 0x69, 0x73, 0x74, 0x4f, 0x66, 0x4d, 0x69, - 0x6c, 0x65, 0x73, 0x74, 0x6f, 0x6e, 0x65, 0x12, 0x37, 0x0a, 0x04, 0x6c, 0x69, 0x73, 0x74, 0x18, - 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x23, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, - 0x4c, 0x69, 0x73, 0x74, 0x4f, 0x66, 0x4c, 0x69, 0x73, 0x74, 0x4f, 0x66, 0x4d, 0x69, 0x6c, 0x65, - 0x73, 0x74, 0x6f, 0x6e, 0x65, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x04, 0x6c, 0x69, 0x73, 0x74, - 0x1a, 0x36, 0x0a, 0x04, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x2e, 0x0a, 0x05, 0x69, 0x74, 0x65, 0x6d, - 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x18, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, - 0x65, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x4f, 0x66, 0x4d, 0x69, 0x6c, 0x65, 0x73, 0x74, 0x6f, 0x6e, - 0x65, 0x52, 0x05, 0x69, 0x74, 0x65, 0x6d, 0x73, 0x22, 0x82, 0x01, 0x0a, 0x13, 0x4c, 0x69, 0x73, - 0x74, 0x4f, 0x66, 0x4c, 0x69, 0x73, 0x74, 0x4f, 0x66, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, - 0x12, 0x35, 0x0a, 0x04, 0x6c, 0x69, 0x73, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x21, - 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x4f, 0x66, 0x4c, - 0x69, 0x73, 0x74, 0x4f, 0x66, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x2e, 0x4c, 0x69, 0x73, - 0x74, 0x52, 0x04, 0x6c, 0x69, 0x73, 0x74, 0x1a, 0x34, 0x0a, 0x04, 0x4c, 0x69, 0x73, 0x74, 0x12, - 0x2c, 0x0a, 0x05, 0x69, 0x74, 0x65, 0x6d, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x16, - 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x4f, 0x66, 0x50, - 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x05, 0x69, 0x74, 0x65, 0x6d, 0x73, 0x22, 0x9a, 0x01, - 0x0a, 0x1b, 0x4c, 0x69, 0x73, 0x74, 0x4f, 0x66, 0x4c, 0x69, 0x73, 0x74, 0x4f, 0x66, 0x50, 0x72, - 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x12, 0x3d, 0x0a, - 0x04, 0x6c, 0x69, 0x73, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x29, 0x2e, 0x73, 0x65, - 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x4f, 0x66, 0x4c, 0x69, 0x73, 0x74, - 0x4f, 0x66, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, - 0x65, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x04, 0x6c, 0x69, 0x73, 0x74, 0x1a, 0x3c, 0x0a, 0x04, - 0x4c, 0x69, 0x73, 0x74, 0x12, 0x34, 0x0a, 0x05, 0x69, 0x74, 0x65, 0x6d, 0x73, 0x18, 0x01, 0x20, - 0x03, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x4c, 0x69, - 0x73, 0x74, 0x4f, 0x66, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x65, 0x73, 0x6f, 0x75, - 0x72, 0x63, 0x65, 0x52, 0x05, 0x69, 0x74, 0x65, 0x6d, 0x73, 0x22, 0x7f, 0x0a, 0x12, 0x4c, 0x69, - 0x73, 0x74, 0x4f, 0x66, 0x4c, 0x69, 0x73, 0x74, 0x4f, 0x66, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, - 0x12, 0x34, 0x0a, 0x04, 0x6c, 0x69, 0x73, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x20, - 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x4f, 0x66, 0x4c, - 0x69, 0x73, 0x74, 0x4f, 0x66, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x2e, 0x4c, 0x69, 0x73, 0x74, - 0x52, 0x04, 0x6c, 0x69, 0x73, 0x74, 0x1a, 0x33, 0x0a, 0x04, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x2b, - 0x0a, 0x05, 0x69, 0x74, 0x65, 0x6d, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x15, 0x2e, - 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x4f, 0x66, 0x53, 0x74, - 0x72, 0x69, 0x6e, 0x67, 0x52, 0x05, 0x69, 0x74, 0x65, 0x6d, 0x73, 0x22, 0x79, 0x0a, 0x10, 0x4c, - 0x69, 0x73, 0x74, 0x4f, 0x66, 0x4c, 0x69, 0x73, 0x74, 0x4f, 0x66, 0x54, 0x61, 0x73, 0x6b, 0x12, - 0x32, 0x0a, 0x04, 0x6c, 0x69, 0x73, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1e, 0x2e, - 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x4f, 0x66, 0x4c, 0x69, - 0x73, 0x74, 0x4f, 0x66, 0x54, 0x61, 0x73, 0x6b, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x04, 0x6c, - 0x69, 0x73, 0x74, 0x1a, 0x31, 0x0a, 0x04, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x29, 0x0a, 0x05, 0x69, - 0x74, 0x65, 0x6d, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x13, 0x2e, 0x73, 0x65, 0x72, - 0x76, 0x69, 0x63, 0x65, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x4f, 0x66, 0x54, 0x61, 0x73, 0x6b, 0x52, - 0x05, 0x69, 0x74, 0x65, 0x6d, 0x73, 0x22, 0x76, 0x0a, 0x0f, 0x4c, 0x69, 0x73, 0x74, 0x4f, 0x66, - 0x4d, 0x69, 0x6c, 0x65, 0x73, 0x74, 0x6f, 0x6e, 0x65, 0x12, 0x31, 0x0a, 0x04, 0x6c, 0x69, 0x73, - 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, - 0x65, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x4f, 0x66, 0x4d, 0x69, 0x6c, 0x65, 0x73, 0x74, 0x6f, 0x6e, - 0x65, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x04, 0x6c, 0x69, 0x73, 0x74, 0x1a, 0x30, 0x0a, 0x04, - 0x4c, 0x69, 0x73, 0x74, 0x12, 0x28, 0x0a, 0x05, 0x69, 0x74, 0x65, 0x6d, 0x73, 0x18, 0x01, 0x20, - 0x03, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x4d, 0x69, - 0x6c, 0x65, 0x73, 0x74, 0x6f, 0x6e, 0x65, 0x52, 0x05, 0x69, 0x74, 0x65, 0x6d, 0x73, 0x22, 0x70, - 0x0a, 0x0d, 0x4c, 0x69, 0x73, 0x74, 0x4f, 0x66, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x12, - 0x2f, 0x0a, 0x04, 0x6c, 0x69, 0x73, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e, - 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x4f, 0x66, 0x50, 0x72, - 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x04, 0x6c, 0x69, 0x73, 0x74, - 0x1a, 0x2e, 0x0a, 0x04, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x26, 0x0a, 0x05, 0x69, 0x74, 0x65, 0x6d, - 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x10, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, - 0x65, 0x2e, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x05, 0x69, 0x74, 0x65, 0x6d, 0x73, - 0x22, 0x88, 0x01, 0x0a, 0x15, 0x4c, 0x69, 0x73, 0x74, 0x4f, 0x66, 0x50, 0x72, 0x6f, 0x6a, 0x65, - 0x63, 0x74, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x12, 0x37, 0x0a, 0x04, 0x6c, 0x69, - 0x73, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x23, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, - 0x63, 0x65, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x4f, 0x66, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, - 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x04, 0x6c, - 0x69, 0x73, 0x74, 0x1a, 0x36, 0x0a, 0x04, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x2e, 0x0a, 0x05, 0x69, - 0x74, 0x65, 0x6d, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x18, 0x2e, 0x73, 0x65, 0x72, - 0x76, 0x69, 0x63, 0x65, 0x2e, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x65, 0x73, 0x6f, - 0x75, 0x72, 0x63, 0x65, 0x52, 0x05, 0x69, 0x74, 0x65, 0x6d, 0x73, 0x22, 0x5c, 0x0a, 0x0c, 0x4c, - 0x69, 0x73, 0x74, 0x4f, 0x66, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x12, 0x2e, 0x0a, 0x04, 0x6c, - 0x69, 0x73, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x73, 0x65, 0x72, 0x76, - 0x69, 0x63, 0x65, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x4f, 0x66, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, - 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x04, 0x6c, 0x69, 0x73, 0x74, 0x1a, 0x1c, 0x0a, 0x04, 0x4c, - 0x69, 0x73, 0x74, 0x12, 0x14, 0x0a, 0x05, 0x69, 0x74, 0x65, 0x6d, 0x73, 0x18, 0x01, 0x20, 0x03, - 0x28, 0x09, 0x52, 0x05, 0x69, 0x74, 0x65, 0x6d, 0x73, 0x22, 0x67, 0x0a, 0x0a, 0x4c, 0x69, 0x73, - 0x74, 0x4f, 0x66, 0x54, 0x61, 0x73, 0x6b, 0x12, 0x2c, 0x0a, 0x04, 0x6c, 0x69, 0x73, 0x74, 0x18, - 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x18, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, - 0x4c, 0x69, 0x73, 0x74, 0x4f, 0x66, 0x54, 0x61, 0x73, 0x6b, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x52, - 0x04, 0x6c, 0x69, 0x73, 0x74, 0x1a, 0x2b, 0x0a, 0x04, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x23, 0x0a, - 0x05, 0x69, 0x74, 0x65, 0x6d, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0d, 0x2e, 0x73, - 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x54, 0x61, 0x73, 0x6b, 0x52, 0x05, 0x69, 0x74, 0x65, - 0x6d, 0x73, 0x22, 0x2d, 0x0a, 0x1b, 0x4c, 0x6f, 0x6f, 0x6b, 0x75, 0x70, 0x50, 0x72, 0x6f, 0x6a, - 0x65, 0x63, 0x74, 0x42, 0x79, 0x49, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x4b, 0x65, - 0x79, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, - 0x64, 0x22, 0x54, 0x0a, 0x18, 0x4c, 0x6f, 0x6f, 0x6b, 0x75, 0x70, 0x50, 0x72, 0x6f, 0x6a, 0x65, - 0x63, 0x74, 0x42, 0x79, 0x49, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x38, 0x0a, - 0x04, 0x6b, 0x65, 0x79, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x73, 0x65, - 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x4c, 0x6f, 0x6f, 0x6b, 0x75, 0x70, 0x50, 0x72, 0x6f, 0x6a, - 0x65, 0x63, 0x74, 0x42, 0x79, 0x49, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x4b, 0x65, - 0x79, 0x52, 0x04, 0x6b, 0x65, 0x79, 0x73, 0x22, 0x45, 0x0a, 0x19, 0x4c, 0x6f, 0x6f, 0x6b, 0x75, - 0x70, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x42, 0x79, 0x49, 0x64, 0x52, 0x65, 0x73, 0x70, - 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x28, 0x0a, 0x06, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x18, 0x01, - 0x20, 0x03, 0x28, 0x0b, 0x32, 0x10, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x50, - 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x06, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x22, 0x2f, - 0x0a, 0x1d, 0x4c, 0x6f, 0x6f, 0x6b, 0x75, 0x70, 0x4d, 0x69, 0x6c, 0x65, 0x73, 0x74, 0x6f, 0x6e, - 0x65, 0x42, 0x79, 0x49, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x4b, 0x65, 0x79, 0x12, - 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, 0x64, 0x22, - 0x58, 0x0a, 0x1a, 0x4c, 0x6f, 0x6f, 0x6b, 0x75, 0x70, 0x4d, 0x69, 0x6c, 0x65, 0x73, 0x74, 0x6f, - 0x6e, 0x65, 0x42, 0x79, 0x49, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x3a, 0x0a, - 0x04, 0x6b, 0x65, 0x79, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x26, 0x2e, 0x73, 0x65, - 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x4c, 0x6f, 0x6f, 0x6b, 0x75, 0x70, 0x4d, 0x69, 0x6c, 0x65, - 0x73, 0x74, 0x6f, 0x6e, 0x65, 0x42, 0x79, 0x49, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, - 0x4b, 0x65, 0x79, 0x52, 0x04, 0x6b, 0x65, 0x79, 0x73, 0x22, 0x49, 0x0a, 0x1b, 0x4c, 0x6f, 0x6f, - 0x6b, 0x75, 0x70, 0x4d, 0x69, 0x6c, 0x65, 0x73, 0x74, 0x6f, 0x6e, 0x65, 0x42, 0x79, 0x49, 0x64, - 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x2a, 0x0a, 0x06, 0x72, 0x65, 0x73, 0x75, - 0x6c, 0x74, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, - 0x63, 0x65, 0x2e, 0x4d, 0x69, 0x6c, 0x65, 0x73, 0x74, 0x6f, 0x6e, 0x65, 0x52, 0x06, 0x72, 0x65, - 0x73, 0x75, 0x6c, 0x74, 0x22, 0x2a, 0x0a, 0x18, 0x4c, 0x6f, 0x6f, 0x6b, 0x75, 0x70, 0x54, 0x61, - 0x73, 0x6b, 0x42, 0x79, 0x49, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x4b, 0x65, 0x79, - 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, 0x64, - 0x22, 0x4e, 0x0a, 0x15, 0x4c, 0x6f, 0x6f, 0x6b, 0x75, 0x70, 0x54, 0x61, 0x73, 0x6b, 0x42, 0x79, - 0x49, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x35, 0x0a, 0x04, 0x6b, 0x65, 0x79, - 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, - 0x65, 0x2e, 0x4c, 0x6f, 0x6f, 0x6b, 0x75, 0x70, 0x54, 0x61, 0x73, 0x6b, 0x42, 0x79, 0x49, 0x64, - 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x4b, 0x65, 0x79, 0x52, 0x04, 0x6b, 0x65, 0x79, 0x73, - 0x22, 0x3f, 0x0a, 0x16, 0x4c, 0x6f, 0x6f, 0x6b, 0x75, 0x70, 0x54, 0x61, 0x73, 0x6b, 0x42, 0x79, - 0x49, 0x64, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x25, 0x0a, 0x06, 0x72, 0x65, - 0x73, 0x75, 0x6c, 0x74, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0d, 0x2e, 0x73, 0x65, 0x72, - 0x76, 0x69, 0x63, 0x65, 0x2e, 0x54, 0x61, 0x73, 0x6b, 0x52, 0x06, 0x72, 0x65, 0x73, 0x75, 0x6c, - 0x74, 0x22, 0x2e, 0x0a, 0x1c, 0x4c, 0x6f, 0x6f, 0x6b, 0x75, 0x70, 0x45, 0x6d, 0x70, 0x6c, 0x6f, - 0x79, 0x65, 0x65, 0x42, 0x79, 0x49, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x4b, 0x65, - 0x79, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, - 0x64, 0x22, 0x56, 0x0a, 0x19, 0x4c, 0x6f, 0x6f, 0x6b, 0x75, 0x70, 0x45, 0x6d, 0x70, 0x6c, 0x6f, - 0x79, 0x65, 0x65, 0x42, 0x79, 0x49, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x39, - 0x0a, 0x04, 0x6b, 0x65, 0x79, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x25, 0x2e, 0x73, - 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x4c, 0x6f, 0x6f, 0x6b, 0x75, 0x70, 0x45, 0x6d, 0x70, - 0x6c, 0x6f, 0x79, 0x65, 0x65, 0x42, 0x79, 0x49, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, - 0x4b, 0x65, 0x79, 0x52, 0x04, 0x6b, 0x65, 0x79, 0x73, 0x22, 0x47, 0x0a, 0x1a, 0x4c, 0x6f, 0x6f, - 0x6b, 0x75, 0x70, 0x45, 0x6d, 0x70, 0x6c, 0x6f, 0x79, 0x65, 0x65, 0x42, 0x79, 0x49, 0x64, 0x52, - 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x29, 0x0a, 0x06, 0x72, 0x65, 0x73, 0x75, 0x6c, - 0x74, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x11, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, - 0x65, 0x2e, 0x45, 0x6d, 0x70, 0x6c, 0x6f, 0x79, 0x65, 0x65, 0x52, 0x06, 0x72, 0x65, 0x73, 0x75, - 0x6c, 0x74, 0x22, 0x30, 0x0a, 0x1c, 0x4c, 0x6f, 0x6f, 0x6b, 0x75, 0x70, 0x50, 0x72, 0x6f, 0x64, - 0x75, 0x63, 0x74, 0x42, 0x79, 0x55, 0x70, 0x63, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x4b, - 0x65, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x75, 0x70, 0x63, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x03, 0x75, 0x70, 0x63, 0x22, 0x56, 0x0a, 0x19, 0x4c, 0x6f, 0x6f, 0x6b, 0x75, 0x70, 0x50, 0x72, - 0x6f, 0x64, 0x75, 0x63, 0x74, 0x42, 0x79, 0x55, 0x70, 0x63, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, - 0x74, 0x12, 0x39, 0x0a, 0x04, 0x6b, 0x65, 0x79, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, - 0x25, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x4c, 0x6f, 0x6f, 0x6b, 0x75, 0x70, - 0x50, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x42, 0x79, 0x55, 0x70, 0x63, 0x52, 0x65, 0x71, 0x75, - 0x65, 0x73, 0x74, 0x4b, 0x65, 0x79, 0x52, 0x04, 0x6b, 0x65, 0x79, 0x73, 0x22, 0x46, 0x0a, 0x1a, - 0x4c, 0x6f, 0x6f, 0x6b, 0x75, 0x70, 0x50, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x42, 0x79, 0x55, - 0x70, 0x63, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x28, 0x0a, 0x06, 0x72, 0x65, - 0x73, 0x75, 0x6c, 0x74, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x10, 0x2e, 0x73, 0x65, 0x72, - 0x76, 0x69, 0x63, 0x65, 0x2e, 0x50, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x52, 0x06, 0x72, 0x65, - 0x73, 0x75, 0x6c, 0x74, 0x22, 0x16, 0x0a, 0x14, 0x51, 0x75, 0x65, 0x72, 0x79, 0x50, 0x72, 0x6f, - 0x6a, 0x65, 0x63, 0x74, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x22, 0x45, 0x0a, 0x15, - 0x51, 0x75, 0x65, 0x72, 0x79, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x52, 0x65, 0x73, - 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x2c, 0x0a, 0x08, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, - 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x10, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, - 0x65, 0x2e, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x08, 0x70, 0x72, 0x6f, 0x6a, 0x65, - 0x63, 0x74, 0x73, 0x22, 0x25, 0x0a, 0x13, 0x51, 0x75, 0x65, 0x72, 0x79, 0x50, 0x72, 0x6f, 0x6a, - 0x65, 0x63, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, - 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, 0x64, 0x22, 0x42, 0x0a, 0x14, 0x51, 0x75, - 0x65, 0x72, 0x79, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, - 0x73, 0x65, 0x12, 0x2a, 0x0a, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x18, 0x01, 0x20, - 0x01, 0x28, 0x0b, 0x32, 0x10, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x50, 0x72, - 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x22, 0x1d, - 0x0a, 0x1b, 0x51, 0x75, 0x65, 0x72, 0x79, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x53, 0x74, - 0x61, 0x74, 0x75, 0x73, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x22, 0x61, 0x0a, - 0x1c, 0x51, 0x75, 0x65, 0x72, 0x79, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x53, 0x74, 0x61, - 0x74, 0x75, 0x73, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x41, 0x0a, - 0x10, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x65, - 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0e, 0x32, 0x16, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, - 0x65, 0x2e, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, - 0x0f, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x65, 0x73, - 0x22, 0x4e, 0x0a, 0x1c, 0x51, 0x75, 0x65, 0x72, 0x79, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, - 0x73, 0x42, 0x79, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, - 0x12, 0x2e, 0x0a, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, - 0x32, 0x16, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x50, 0x72, 0x6f, 0x6a, 0x65, - 0x63, 0x74, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, - 0x22, 0x5f, 0x0a, 0x1d, 0x51, 0x75, 0x65, 0x72, 0x79, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, - 0x73, 0x42, 0x79, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, - 0x65, 0x12, 0x3e, 0x0a, 0x12, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x5f, 0x62, 0x79, - 0x5f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x10, 0x2e, - 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x52, - 0x10, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x42, 0x79, 0x53, 0x74, 0x61, 0x74, 0x75, - 0x73, 0x22, 0x3d, 0x0a, 0x1c, 0x51, 0x75, 0x65, 0x72, 0x79, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, - 0x74, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, - 0x74, 0x12, 0x1d, 0x0a, 0x0a, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x69, 0x64, 0x18, - 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x49, 0x64, - 0x22, 0x66, 0x0a, 0x1d, 0x51, 0x75, 0x65, 0x72, 0x79, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, - 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, - 0x65, 0x12, 0x45, 0x0a, 0x11, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x72, 0x65, 0x73, - 0x6f, 0x75, 0x72, 0x63, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x18, 0x2e, 0x73, - 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x65, - 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x52, 0x10, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x52, - 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x73, 0x22, 0x32, 0x0a, 0x1a, 0x51, 0x75, 0x65, 0x72, - 0x79, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x52, - 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x14, 0x0a, 0x05, 0x71, 0x75, 0x65, 0x72, 0x79, 0x18, - 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x71, 0x75, 0x65, 0x72, 0x79, 0x22, 0x64, 0x0a, 0x1b, - 0x51, 0x75, 0x65, 0x72, 0x79, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x50, 0x72, 0x6f, 0x6a, 0x65, - 0x63, 0x74, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x45, 0x0a, 0x0f, 0x73, - 0x65, 0x61, 0x72, 0x63, 0x68, 0x5f, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x18, 0x01, - 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x50, - 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x52, 0x65, 0x73, 0x75, - 0x6c, 0x74, 0x52, 0x0e, 0x73, 0x65, 0x61, 0x72, 0x63, 0x68, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, - 0x74, 0x73, 0x22, 0x37, 0x0a, 0x16, 0x51, 0x75, 0x65, 0x72, 0x79, 0x4d, 0x69, 0x6c, 0x65, 0x73, - 0x74, 0x6f, 0x6e, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1d, 0x0a, 0x0a, - 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, - 0x52, 0x09, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x49, 0x64, 0x22, 0x4d, 0x0a, 0x17, 0x51, - 0x75, 0x65, 0x72, 0x79, 0x4d, 0x69, 0x6c, 0x65, 0x73, 0x74, 0x6f, 0x6e, 0x65, 0x73, 0x52, 0x65, - 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x32, 0x0a, 0x0a, 0x6d, 0x69, 0x6c, 0x65, 0x73, 0x74, - 0x6f, 0x6e, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x73, 0x65, 0x72, - 0x76, 0x69, 0x63, 0x65, 0x2e, 0x4d, 0x69, 0x6c, 0x65, 0x73, 0x74, 0x6f, 0x6e, 0x65, 0x52, 0x0a, - 0x6d, 0x69, 0x6c, 0x65, 0x73, 0x74, 0x6f, 0x6e, 0x65, 0x73, 0x22, 0x32, 0x0a, 0x11, 0x51, 0x75, - 0x65, 0x72, 0x79, 0x54, 0x61, 0x73, 0x6b, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, - 0x1d, 0x0a, 0x0a, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, - 0x01, 0x28, 0x09, 0x52, 0x09, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x49, 0x64, 0x22, 0x39, - 0x0a, 0x12, 0x51, 0x75, 0x65, 0x72, 0x79, 0x54, 0x61, 0x73, 0x6b, 0x73, 0x52, 0x65, 0x73, 0x70, - 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x23, 0x0a, 0x05, 0x74, 0x61, 0x73, 0x6b, 0x73, 0x18, 0x01, 0x20, - 0x03, 0x28, 0x0b, 0x32, 0x0d, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x54, 0x61, - 0x73, 0x6b, 0x52, 0x05, 0x74, 0x61, 0x73, 0x6b, 0x73, 0x22, 0x3e, 0x0a, 0x1d, 0x51, 0x75, 0x65, - 0x72, 0x79, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x41, 0x63, 0x74, 0x69, 0x76, 0x69, 0x74, - 0x69, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1d, 0x0a, 0x0a, 0x70, 0x72, - 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, - 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x49, 0x64, 0x22, 0x69, 0x0a, 0x1e, 0x51, 0x75, 0x65, - 0x72, 0x79, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x41, 0x63, 0x74, 0x69, 0x76, 0x69, 0x74, - 0x69, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x47, 0x0a, 0x12, 0x70, - 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x61, 0x63, 0x74, 0x69, 0x76, 0x69, 0x74, 0x69, 0x65, - 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x18, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, - 0x65, 0x2e, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x41, 0x63, 0x74, 0x69, 0x76, 0x69, 0x74, - 0x79, 0x52, 0x11, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x41, 0x63, 0x74, 0x69, 0x76, 0x69, - 0x74, 0x69, 0x65, 0x73, 0x22, 0x19, 0x0a, 0x17, 0x51, 0x75, 0x65, 0x72, 0x79, 0x50, 0x72, 0x6f, - 0x6a, 0x65, 0x63, 0x74, 0x54, 0x61, 0x67, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x22, - 0x54, 0x0a, 0x18, 0x51, 0x75, 0x65, 0x72, 0x79, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x54, - 0x61, 0x67, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x38, 0x0a, 0x0c, 0x70, - 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x74, 0x61, 0x67, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, - 0x0b, 0x32, 0x15, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x4c, 0x69, 0x73, 0x74, - 0x4f, 0x66, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x52, 0x0b, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, - 0x74, 0x54, 0x61, 0x67, 0x73, 0x22, 0x1e, 0x0a, 0x1c, 0x51, 0x75, 0x65, 0x72, 0x79, 0x41, 0x72, - 0x63, 0x68, 0x69, 0x76, 0x65, 0x64, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x52, 0x65, - 0x71, 0x75, 0x65, 0x73, 0x74, 0x22, 0x5e, 0x0a, 0x1d, 0x51, 0x75, 0x65, 0x72, 0x79, 0x41, 0x72, - 0x63, 0x68, 0x69, 0x76, 0x65, 0x64, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x52, 0x65, - 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x3d, 0x0a, 0x11, 0x61, 0x72, 0x63, 0x68, 0x69, 0x76, - 0x65, 0x64, 0x5f, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, - 0x0b, 0x32, 0x10, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x50, 0x72, 0x6f, 0x6a, - 0x65, 0x63, 0x74, 0x52, 0x10, 0x61, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x64, 0x50, 0x72, 0x6f, - 0x6a, 0x65, 0x63, 0x74, 0x73, 0x22, 0x3c, 0x0a, 0x1b, 0x51, 0x75, 0x65, 0x72, 0x79, 0x54, 0x61, - 0x73, 0x6b, 0x73, 0x42, 0x79, 0x50, 0x72, 0x69, 0x6f, 0x72, 0x69, 0x74, 0x79, 0x52, 0x65, 0x71, - 0x75, 0x65, 0x73, 0x74, 0x12, 0x1d, 0x0a, 0x0a, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x5f, - 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, - 0x74, 0x49, 0x64, 0x22, 0x65, 0x0a, 0x1c, 0x51, 0x75, 0x65, 0x72, 0x79, 0x54, 0x61, 0x73, 0x6b, - 0x73, 0x42, 0x79, 0x50, 0x72, 0x69, 0x6f, 0x72, 0x69, 0x74, 0x79, 0x52, 0x65, 0x73, 0x70, 0x6f, - 0x6e, 0x73, 0x65, 0x12, 0x45, 0x0a, 0x11, 0x74, 0x61, 0x73, 0x6b, 0x73, 0x5f, 0x62, 0x79, 0x5f, - 0x70, 0x72, 0x69, 0x6f, 0x72, 0x69, 0x74, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, - 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x4f, 0x66, 0x4c, - 0x69, 0x73, 0x74, 0x4f, 0x66, 0x54, 0x61, 0x73, 0x6b, 0x52, 0x0f, 0x74, 0x61, 0x73, 0x6b, 0x73, - 0x42, 0x79, 0x50, 0x72, 0x69, 0x6f, 0x72, 0x69, 0x74, 0x79, 0x22, 0x3b, 0x0a, 0x1a, 0x51, 0x75, - 0x65, 0x72, 0x79, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x4d, 0x61, 0x74, 0x72, 0x69, - 0x78, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1d, 0x0a, 0x0a, 0x70, 0x72, 0x6f, 0x6a, - 0x65, 0x63, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x70, 0x72, - 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x49, 0x64, 0x22, 0x6c, 0x0a, 0x1b, 0x51, 0x75, 0x65, 0x72, 0x79, - 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x4d, 0x61, 0x74, 0x72, 0x69, 0x78, 0x52, 0x65, - 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x4d, 0x0a, 0x0f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, - 0x63, 0x65, 0x5f, 0x6d, 0x61, 0x74, 0x72, 0x69, 0x78, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, - 0x24, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x4f, 0x66, - 0x4c, 0x69, 0x73, 0x74, 0x4f, 0x66, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x65, 0x73, - 0x6f, 0x75, 0x72, 0x63, 0x65, 0x52, 0x0e, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x4d, - 0x61, 0x74, 0x72, 0x69, 0x78, 0x22, 0x19, 0x0a, 0x17, 0x51, 0x75, 0x65, 0x72, 0x79, 0x4b, 0x69, - 0x6c, 0x6c, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, - 0x22, 0x3d, 0x0a, 0x18, 0x51, 0x75, 0x65, 0x72, 0x79, 0x4b, 0x69, 0x6c, 0x6c, 0x53, 0x65, 0x72, - 0x76, 0x69, 0x63, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x21, 0x0a, 0x0c, - 0x6b, 0x69, 0x6c, 0x6c, 0x5f, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x18, 0x01, 0x20, 0x01, - 0x28, 0x08, 0x52, 0x0b, 0x6b, 0x69, 0x6c, 0x6c, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x22, - 0x13, 0x0a, 0x11, 0x51, 0x75, 0x65, 0x72, 0x79, 0x50, 0x61, 0x6e, 0x69, 0x63, 0x52, 0x65, 0x71, - 0x75, 0x65, 0x73, 0x74, 0x22, 0x2a, 0x0a, 0x12, 0x51, 0x75, 0x65, 0x72, 0x79, 0x50, 0x61, 0x6e, - 0x69, 0x63, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x70, 0x61, - 0x6e, 0x69, 0x63, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x05, 0x70, 0x61, 0x6e, 0x69, 0x63, - 0x22, 0x27, 0x0a, 0x15, 0x51, 0x75, 0x65, 0x72, 0x79, 0x4e, 0x6f, 0x64, 0x65, 0x73, 0x42, 0x79, - 0x49, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, - 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, 0x64, 0x22, 0x47, 0x0a, 0x16, 0x51, 0x75, 0x65, - 0x72, 0x79, 0x4e, 0x6f, 0x64, 0x65, 0x73, 0x42, 0x79, 0x49, 0x64, 0x52, 0x65, 0x73, 0x70, 0x6f, - 0x6e, 0x73, 0x65, 0x12, 0x2d, 0x0a, 0x0b, 0x6e, 0x6f, 0x64, 0x65, 0x73, 0x5f, 0x62, 0x79, 0x5f, - 0x69, 0x64, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0d, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, - 0x63, 0x65, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x09, 0x6e, 0x6f, 0x64, 0x65, 0x73, 0x42, 0x79, - 0x49, 0x64, 0x22, 0x4c, 0x0a, 0x19, 0x4d, 0x75, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x41, 0x64, - 0x64, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, - 0x2f, 0x0a, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, - 0x32, 0x15, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x50, 0x72, 0x6f, 0x6a, 0x65, - 0x63, 0x74, 0x49, 0x6e, 0x70, 0x75, 0x74, 0x52, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, - 0x22, 0x4f, 0x0a, 0x1a, 0x4d, 0x75, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x41, 0x64, 0x64, 0x50, - 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x31, - 0x0a, 0x0b, 0x61, 0x64, 0x64, 0x5f, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x18, 0x01, 0x20, - 0x01, 0x28, 0x0b, 0x32, 0x10, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x50, 0x72, - 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x0a, 0x61, 0x64, 0x64, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, - 0x74, 0x22, 0x54, 0x0a, 0x1b, 0x4d, 0x75, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x41, 0x64, 0x64, - 0x4d, 0x69, 0x6c, 0x65, 0x73, 0x74, 0x6f, 0x6e, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, - 0x12, 0x35, 0x0a, 0x09, 0x6d, 0x69, 0x6c, 0x65, 0x73, 0x74, 0x6f, 0x6e, 0x65, 0x18, 0x01, 0x20, - 0x01, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x4d, 0x69, - 0x6c, 0x65, 0x73, 0x74, 0x6f, 0x6e, 0x65, 0x49, 0x6e, 0x70, 0x75, 0x74, 0x52, 0x09, 0x6d, 0x69, - 0x6c, 0x65, 0x73, 0x74, 0x6f, 0x6e, 0x65, 0x22, 0x57, 0x0a, 0x1c, 0x4d, 0x75, 0x74, 0x61, 0x74, - 0x69, 0x6f, 0x6e, 0x41, 0x64, 0x64, 0x4d, 0x69, 0x6c, 0x65, 0x73, 0x74, 0x6f, 0x6e, 0x65, 0x52, - 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x37, 0x0a, 0x0d, 0x61, 0x64, 0x64, 0x5f, 0x6d, - 0x69, 0x6c, 0x65, 0x73, 0x74, 0x6f, 0x6e, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x12, - 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x4d, 0x69, 0x6c, 0x65, 0x73, 0x74, 0x6f, - 0x6e, 0x65, 0x52, 0x0c, 0x61, 0x64, 0x64, 0x4d, 0x69, 0x6c, 0x65, 0x73, 0x74, 0x6f, 0x6e, 0x65, - 0x22, 0x40, 0x0a, 0x16, 0x4d, 0x75, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x41, 0x64, 0x64, 0x54, - 0x61, 0x73, 0x6b, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x26, 0x0a, 0x04, 0x74, 0x61, - 0x73, 0x6b, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, - 0x63, 0x65, 0x2e, 0x54, 0x61, 0x73, 0x6b, 0x49, 0x6e, 0x70, 0x75, 0x74, 0x52, 0x04, 0x74, 0x61, - 0x73, 0x6b, 0x22, 0x43, 0x0a, 0x17, 0x4d, 0x75, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x41, 0x64, - 0x64, 0x54, 0x61, 0x73, 0x6b, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x28, 0x0a, - 0x08, 0x61, 0x64, 0x64, 0x5f, 0x74, 0x61, 0x73, 0x6b, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, - 0x0d, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x54, 0x61, 0x73, 0x6b, 0x52, 0x07, - 0x61, 0x64, 0x64, 0x54, 0x61, 0x73, 0x6b, 0x22, 0x73, 0x0a, 0x22, 0x4d, 0x75, 0x74, 0x61, 0x74, - 0x69, 0x6f, 0x6e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, - 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1d, 0x0a, - 0x0a, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, - 0x09, 0x52, 0x09, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x49, 0x64, 0x12, 0x2e, 0x0a, 0x06, - 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x16, 0x2e, 0x73, - 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x53, 0x74, - 0x61, 0x74, 0x75, 0x73, 0x52, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x22, 0x71, 0x0a, 0x23, - 0x4d, 0x75, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x50, 0x72, - 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, - 0x6e, 0x73, 0x65, 0x12, 0x4a, 0x0a, 0x15, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x5f, 0x70, 0x72, - 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x01, 0x20, 0x01, - 0x28, 0x0b, 0x32, 0x16, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x50, 0x72, 0x6f, - 0x6a, 0x65, 0x63, 0x74, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x52, 0x13, 0x75, 0x70, 0x64, 0x61, - 0x74, 0x65, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x22, - 0x66, 0x0a, 0x1d, 0x52, 0x65, 0x73, 0x6f, 0x6c, 0x76, 0x65, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, - 0x74, 0x53, 0x75, 0x62, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x41, 0x72, 0x67, 0x73, - 0x12, 0x45, 0x0a, 0x10, 0x69, 0x6e, 0x63, 0x6c, 0x75, 0x64, 0x65, 0x5f, 0x61, 0x72, 0x63, 0x68, - 0x69, 0x76, 0x65, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, - 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x42, 0x6f, 0x6f, - 0x6c, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x0f, 0x69, 0x6e, 0x63, 0x6c, 0x75, 0x64, 0x65, 0x41, - 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x64, 0x22, 0x76, 0x0a, 0x20, 0x52, 0x65, 0x73, 0x6f, 0x6c, - 0x76, 0x65, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x53, 0x75, 0x62, 0x50, 0x72, 0x6f, 0x6a, - 0x65, 0x63, 0x74, 0x73, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x12, 0x0e, 0x0a, 0x02, 0x69, - 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x6e, - 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, - 0x2e, 0x0a, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0e, 0x32, - 0x16, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, - 0x74, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x22, - 0xae, 0x01, 0x0a, 0x20, 0x52, 0x65, 0x73, 0x6f, 0x6c, 0x76, 0x65, 0x50, 0x72, 0x6f, 0x6a, 0x65, - 0x63, 0x74, 0x53, 0x75, 0x62, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x52, 0x65, 0x71, - 0x75, 0x65, 0x73, 0x74, 0x12, 0x43, 0x0a, 0x07, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x18, - 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x29, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, - 0x52, 0x65, 0x73, 0x6f, 0x6c, 0x76, 0x65, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x53, 0x75, - 0x62, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, - 0x52, 0x07, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x12, 0x45, 0x0a, 0x0a, 0x66, 0x69, 0x65, - 0x6c, 0x64, 0x5f, 0x61, 0x72, 0x67, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x26, 0x2e, - 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x52, 0x65, 0x73, 0x6f, 0x6c, 0x76, 0x65, 0x50, - 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x53, 0x75, 0x62, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, - 0x73, 0x41, 0x72, 0x67, 0x73, 0x52, 0x09, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x41, 0x72, 0x67, 0x73, - 0x22, 0x56, 0x0a, 0x1f, 0x52, 0x65, 0x73, 0x6f, 0x6c, 0x76, 0x65, 0x50, 0x72, 0x6f, 0x6a, 0x65, - 0x63, 0x74, 0x53, 0x75, 0x62, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x52, 0x65, 0x73, - 0x75, 0x6c, 0x74, 0x12, 0x33, 0x0a, 0x0c, 0x73, 0x75, 0x62, 0x5f, 0x70, 0x72, 0x6f, 0x6a, 0x65, - 0x63, 0x74, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x10, 0x2e, 0x73, 0x65, 0x72, 0x76, - 0x69, 0x63, 0x65, 0x2e, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x0b, 0x73, 0x75, 0x62, - 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x22, 0x65, 0x0a, 0x21, 0x52, 0x65, 0x73, 0x6f, - 0x6c, 0x76, 0x65, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x53, 0x75, 0x62, 0x50, 0x72, 0x6f, - 0x6a, 0x65, 0x63, 0x74, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x40, 0x0a, - 0x06, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x28, 0x2e, - 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x52, 0x65, 0x73, 0x6f, 0x6c, 0x76, 0x65, 0x50, - 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x53, 0x75, 0x62, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, - 0x73, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x52, 0x06, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x22, - 0xb4, 0x01, 0x0a, 0x1f, 0x52, 0x65, 0x73, 0x6f, 0x6c, 0x76, 0x65, 0x50, 0x72, 0x6f, 0x6a, 0x65, - 0x63, 0x74, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x65, 0x64, 0x54, 0x61, 0x73, 0x6b, 0x73, 0x41, - 0x72, 0x67, 0x73, 0x12, 0x2b, 0x0a, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x01, 0x20, - 0x01, 0x28, 0x0e, 0x32, 0x13, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x54, 0x61, - 0x73, 0x6b, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, - 0x12, 0x31, 0x0a, 0x08, 0x70, 0x72, 0x69, 0x6f, 0x72, 0x69, 0x74, 0x79, 0x18, 0x02, 0x20, 0x01, - 0x28, 0x0e, 0x32, 0x15, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x54, 0x61, 0x73, - 0x6b, 0x50, 0x72, 0x69, 0x6f, 0x72, 0x69, 0x74, 0x79, 0x52, 0x08, 0x70, 0x72, 0x69, 0x6f, 0x72, - 0x69, 0x74, 0x79, 0x12, 0x31, 0x0a, 0x05, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x18, 0x03, 0x20, 0x01, - 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, - 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x49, 0x6e, 0x74, 0x33, 0x32, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, - 0x05, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x22, 0x34, 0x0a, 0x22, 0x52, 0x65, 0x73, 0x6f, 0x6c, 0x76, - 0x65, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x65, 0x64, - 0x54, 0x61, 0x73, 0x6b, 0x73, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x12, 0x0e, 0x0a, 0x02, - 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, 0x64, 0x22, 0xb4, 0x01, 0x0a, - 0x22, 0x52, 0x65, 0x73, 0x6f, 0x6c, 0x76, 0x65, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x46, - 0x69, 0x6c, 0x74, 0x65, 0x72, 0x65, 0x64, 0x54, 0x61, 0x73, 0x6b, 0x73, 0x52, 0x65, 0x71, 0x75, - 0x65, 0x73, 0x74, 0x12, 0x45, 0x0a, 0x07, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x18, 0x01, - 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2b, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x52, - 0x65, 0x73, 0x6f, 0x6c, 0x76, 0x65, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x46, 0x69, 0x6c, - 0x74, 0x65, 0x72, 0x65, 0x64, 0x54, 0x61, 0x73, 0x6b, 0x73, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x78, - 0x74, 0x52, 0x07, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x12, 0x47, 0x0a, 0x0a, 0x66, 0x69, - 0x65, 0x6c, 0x64, 0x5f, 0x61, 0x72, 0x67, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x28, - 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x52, 0x65, 0x73, 0x6f, 0x6c, 0x76, 0x65, - 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x65, 0x64, 0x54, - 0x61, 0x73, 0x6b, 0x73, 0x41, 0x72, 0x67, 0x73, 0x52, 0x09, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x41, - 0x72, 0x67, 0x73, 0x22, 0x59, 0x0a, 0x21, 0x52, 0x65, 0x73, 0x6f, 0x6c, 0x76, 0x65, 0x50, 0x72, - 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x65, 0x64, 0x54, 0x61, 0x73, - 0x6b, 0x73, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x12, 0x34, 0x0a, 0x0e, 0x66, 0x69, 0x6c, 0x74, - 0x65, 0x72, 0x65, 0x64, 0x5f, 0x74, 0x61, 0x73, 0x6b, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, - 0x32, 0x0d, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x54, 0x61, 0x73, 0x6b, 0x52, - 0x0d, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x65, 0x64, 0x54, 0x61, 0x73, 0x6b, 0x73, 0x22, 0x69, - 0x0a, 0x23, 0x52, 0x65, 0x73, 0x6f, 0x6c, 0x76, 0x65, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, - 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x65, 0x64, 0x54, 0x61, 0x73, 0x6b, 0x73, 0x52, 0x65, 0x73, - 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x42, 0x0a, 0x06, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x18, - 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2a, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, - 0x52, 0x65, 0x73, 0x6f, 0x6c, 0x76, 0x65, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x46, 0x69, - 0x6c, 0x74, 0x65, 0x72, 0x65, 0x64, 0x54, 0x61, 0x73, 0x6b, 0x73, 0x52, 0x65, 0x73, 0x75, 0x6c, - 0x74, 0x52, 0x06, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x22, 0x69, 0x0a, 0x20, 0x52, 0x65, 0x73, - 0x6f, 0x6c, 0x76, 0x65, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x43, 0x6f, 0x6d, 0x70, 0x6c, - 0x65, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x61, 0x74, 0x65, 0x41, 0x72, 0x67, 0x73, 0x12, 0x45, 0x0a, - 0x10, 0x69, 0x6e, 0x63, 0x6c, 0x75, 0x64, 0x65, 0x5f, 0x73, 0x75, 0x62, 0x74, 0x61, 0x73, 0x6b, - 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, - 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x42, 0x6f, 0x6f, 0x6c, 0x56, 0x61, - 0x6c, 0x75, 0x65, 0x52, 0x0f, 0x69, 0x6e, 0x63, 0x6c, 0x75, 0x64, 0x65, 0x53, 0x75, 0x62, 0x74, - 0x61, 0x73, 0x6b, 0x73, 0x22, 0xdb, 0x01, 0x0a, 0x23, 0x52, 0x65, 0x73, 0x6f, 0x6c, 0x76, 0x65, - 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x43, 0x6f, 0x6d, 0x70, 0x6c, 0x65, 0x74, 0x69, 0x6f, - 0x6e, 0x52, 0x61, 0x74, 0x65, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x12, 0x0e, 0x0a, 0x02, - 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, 0x64, 0x12, 0x3b, 0x0a, 0x0a, - 0x73, 0x74, 0x61, 0x72, 0x74, 0x5f, 0x64, 0x61, 0x74, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, - 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, - 0x75, 0x66, 0x2e, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x09, - 0x73, 0x74, 0x61, 0x72, 0x74, 0x44, 0x61, 0x74, 0x65, 0x12, 0x37, 0x0a, 0x08, 0x65, 0x6e, 0x64, - 0x5f, 0x64, 0x61, 0x74, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, - 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x53, 0x74, - 0x72, 0x69, 0x6e, 0x67, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x07, 0x65, 0x6e, 0x64, 0x44, 0x61, - 0x74, 0x65, 0x12, 0x2e, 0x0a, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x04, 0x20, 0x01, - 0x28, 0x0e, 0x32, 0x16, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x50, 0x72, 0x6f, - 0x6a, 0x65, 0x63, 0x74, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x06, 0x73, 0x74, 0x61, 0x74, - 0x75, 0x73, 0x22, 0xb7, 0x01, 0x0a, 0x23, 0x52, 0x65, 0x73, 0x6f, 0x6c, 0x76, 0x65, 0x50, 0x72, - 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x43, 0x6f, 0x6d, 0x70, 0x6c, 0x65, 0x74, 0x69, 0x6f, 0x6e, 0x52, - 0x61, 0x74, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x46, 0x0a, 0x07, 0x63, 0x6f, - 0x6e, 0x74, 0x65, 0x78, 0x74, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2c, 0x2e, 0x73, 0x65, - 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x52, 0x65, 0x73, 0x6f, 0x6c, 0x76, 0x65, 0x50, 0x72, 0x6f, - 0x6a, 0x65, 0x63, 0x74, 0x43, 0x6f, 0x6d, 0x70, 0x6c, 0x65, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x61, - 0x74, 0x65, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x52, 0x07, 0x63, 0x6f, 0x6e, 0x74, 0x65, - 0x78, 0x74, 0x12, 0x48, 0x0a, 0x0a, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x5f, 0x61, 0x72, 0x67, 0x73, - 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x29, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, - 0x2e, 0x52, 0x65, 0x73, 0x6f, 0x6c, 0x76, 0x65, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x43, - 0x6f, 0x6d, 0x70, 0x6c, 0x65, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x61, 0x74, 0x65, 0x41, 0x72, 0x67, - 0x73, 0x52, 0x09, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x41, 0x72, 0x67, 0x73, 0x22, 0x4d, 0x0a, 0x22, - 0x52, 0x65, 0x73, 0x6f, 0x6c, 0x76, 0x65, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x43, 0x6f, - 0x6d, 0x70, 0x6c, 0x65, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x61, 0x74, 0x65, 0x52, 0x65, 0x73, 0x75, - 0x6c, 0x74, 0x12, 0x27, 0x0a, 0x0f, 0x63, 0x6f, 0x6d, 0x70, 0x6c, 0x65, 0x74, 0x69, 0x6f, 0x6e, - 0x5f, 0x72, 0x61, 0x74, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x01, 0x52, 0x0e, 0x63, 0x6f, 0x6d, - 0x70, 0x6c, 0x65, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x61, 0x74, 0x65, 0x22, 0x6b, 0x0a, 0x24, 0x52, - 0x65, 0x73, 0x6f, 0x6c, 0x76, 0x65, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x43, 0x6f, 0x6d, - 0x70, 0x6c, 0x65, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x61, 0x74, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, - 0x6e, 0x73, 0x65, 0x12, 0x43, 0x0a, 0x06, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x18, 0x01, 0x20, - 0x03, 0x28, 0x0b, 0x32, 0x2b, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x52, 0x65, - 0x73, 0x6f, 0x6c, 0x76, 0x65, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x43, 0x6f, 0x6d, 0x70, - 0x6c, 0x65, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x61, 0x74, 0x65, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, - 0x52, 0x06, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x22, 0x65, 0x0a, 0x28, 0x52, 0x65, 0x73, 0x6f, - 0x6c, 0x76, 0x65, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x45, 0x73, 0x74, 0x69, 0x6d, 0x61, - 0x74, 0x65, 0x64, 0x44, 0x61, 0x79, 0x73, 0x52, 0x65, 0x6d, 0x61, 0x69, 0x6e, 0x69, 0x6e, 0x67, - 0x41, 0x72, 0x67, 0x73, 0x12, 0x39, 0x0a, 0x09, 0x66, 0x72, 0x6f, 0x6d, 0x5f, 0x64, 0x61, 0x74, - 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, - 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, - 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x08, 0x66, 0x72, 0x6f, 0x6d, 0x44, 0x61, 0x74, 0x65, 0x22, - 0xa6, 0x01, 0x0a, 0x2b, 0x52, 0x65, 0x73, 0x6f, 0x6c, 0x76, 0x65, 0x50, 0x72, 0x6f, 0x6a, 0x65, - 0x63, 0x74, 0x45, 0x73, 0x74, 0x69, 0x6d, 0x61, 0x74, 0x65, 0x64, 0x44, 0x61, 0x79, 0x73, 0x52, - 0x65, 0x6d, 0x61, 0x69, 0x6e, 0x69, 0x6e, 0x67, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x12, - 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, 0x64, 0x12, - 0x37, 0x0a, 0x08, 0x65, 0x6e, 0x64, 0x5f, 0x64, 0x61, 0x74, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, - 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, - 0x62, 0x75, 0x66, 0x2e, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, - 0x07, 0x65, 0x6e, 0x64, 0x44, 0x61, 0x74, 0x65, 0x12, 0x2e, 0x0a, 0x06, 0x73, 0x74, 0x61, 0x74, - 0x75, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x16, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, - 0x63, 0x65, 0x2e, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, - 0x52, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x22, 0xcf, 0x01, 0x0a, 0x2b, 0x52, 0x65, 0x73, - 0x6f, 0x6c, 0x76, 0x65, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x45, 0x73, 0x74, 0x69, 0x6d, - 0x61, 0x74, 0x65, 0x64, 0x44, 0x61, 0x79, 0x73, 0x52, 0x65, 0x6d, 0x61, 0x69, 0x6e, 0x69, 0x6e, - 0x67, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x4e, 0x0a, 0x07, 0x63, 0x6f, 0x6e, 0x74, - 0x65, 0x78, 0x74, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x34, 0x2e, 0x73, 0x65, 0x72, 0x76, - 0x69, 0x63, 0x65, 0x2e, 0x52, 0x65, 0x73, 0x6f, 0x6c, 0x76, 0x65, 0x50, 0x72, 0x6f, 0x6a, 0x65, - 0x63, 0x74, 0x45, 0x73, 0x74, 0x69, 0x6d, 0x61, 0x74, 0x65, 0x64, 0x44, 0x61, 0x79, 0x73, 0x52, - 0x65, 0x6d, 0x61, 0x69, 0x6e, 0x69, 0x6e, 0x67, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x52, - 0x07, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x12, 0x50, 0x0a, 0x0a, 0x66, 0x69, 0x65, 0x6c, - 0x64, 0x5f, 0x61, 0x72, 0x67, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x31, 0x2e, 0x73, - 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x52, 0x65, 0x73, 0x6f, 0x6c, 0x76, 0x65, 0x50, 0x72, - 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x45, 0x73, 0x74, 0x69, 0x6d, 0x61, 0x74, 0x65, 0x64, 0x44, 0x61, - 0x79, 0x73, 0x52, 0x65, 0x6d, 0x61, 0x69, 0x6e, 0x69, 0x6e, 0x67, 0x41, 0x72, 0x67, 0x73, 0x52, - 0x09, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x41, 0x72, 0x67, 0x73, 0x22, 0x83, 0x01, 0x0a, 0x2a, 0x52, - 0x65, 0x73, 0x6f, 0x6c, 0x76, 0x65, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x45, 0x73, 0x74, - 0x69, 0x6d, 0x61, 0x74, 0x65, 0x64, 0x44, 0x61, 0x79, 0x73, 0x52, 0x65, 0x6d, 0x61, 0x69, 0x6e, - 0x69, 0x6e, 0x67, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x12, 0x55, 0x0a, 0x18, 0x65, 0x73, 0x74, - 0x69, 0x6d, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x64, 0x61, 0x79, 0x73, 0x5f, 0x72, 0x65, 0x6d, 0x61, - 0x69, 0x6e, 0x69, 0x6e, 0x67, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x67, 0x6f, - 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x49, 0x6e, - 0x74, 0x33, 0x32, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x16, 0x65, 0x73, 0x74, 0x69, 0x6d, 0x61, - 0x74, 0x65, 0x64, 0x44, 0x61, 0x79, 0x73, 0x52, 0x65, 0x6d, 0x61, 0x69, 0x6e, 0x69, 0x6e, 0x67, - 0x22, 0x7b, 0x0a, 0x2c, 0x52, 0x65, 0x73, 0x6f, 0x6c, 0x76, 0x65, 0x50, 0x72, 0x6f, 0x6a, 0x65, - 0x63, 0x74, 0x45, 0x73, 0x74, 0x69, 0x6d, 0x61, 0x74, 0x65, 0x64, 0x44, 0x61, 0x79, 0x73, 0x52, - 0x65, 0x6d, 0x61, 0x69, 0x6e, 0x69, 0x6e, 0x67, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, - 0x12, 0x4b, 0x0a, 0x06, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, - 0x32, 0x33, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x52, 0x65, 0x73, 0x6f, 0x6c, - 0x76, 0x65, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x45, 0x73, 0x74, 0x69, 0x6d, 0x61, 0x74, - 0x65, 0x64, 0x44, 0x61, 0x79, 0x73, 0x52, 0x65, 0x6d, 0x61, 0x69, 0x6e, 0x69, 0x6e, 0x67, 0x52, - 0x65, 0x73, 0x75, 0x6c, 0x74, 0x52, 0x06, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x22, 0x62, 0x0a, - 0x22, 0x52, 0x65, 0x73, 0x6f, 0x6c, 0x76, 0x65, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x43, - 0x72, 0x69, 0x74, 0x69, 0x63, 0x61, 0x6c, 0x44, 0x65, 0x61, 0x64, 0x6c, 0x69, 0x6e, 0x65, 0x41, - 0x72, 0x67, 0x73, 0x12, 0x3c, 0x0a, 0x0b, 0x77, 0x69, 0x74, 0x68, 0x69, 0x6e, 0x5f, 0x64, 0x61, - 0x79, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, - 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x49, 0x6e, 0x74, 0x33, 0x32, - 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x0a, 0x77, 0x69, 0x74, 0x68, 0x69, 0x6e, 0x44, 0x61, 0x79, - 0x73, 0x22, 0x9b, 0x01, 0x0a, 0x25, 0x52, 0x65, 0x73, 0x6f, 0x6c, 0x76, 0x65, 0x50, 0x72, 0x6f, - 0x6a, 0x65, 0x63, 0x74, 0x43, 0x72, 0x69, 0x74, 0x69, 0x63, 0x61, 0x6c, 0x44, 0x65, 0x61, 0x64, - 0x6c, 0x69, 0x6e, 0x65, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x12, 0x0e, 0x0a, 0x02, 0x69, - 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, 0x64, 0x12, 0x2e, 0x0a, 0x06, 0x73, - 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x16, 0x2e, 0x73, 0x65, - 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x53, 0x74, 0x61, - 0x74, 0x75, 0x73, 0x52, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x32, 0x0a, 0x0a, 0x6d, - 0x69, 0x6c, 0x65, 0x73, 0x74, 0x6f, 0x6e, 0x65, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, - 0x12, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x4d, 0x69, 0x6c, 0x65, 0x73, 0x74, - 0x6f, 0x6e, 0x65, 0x52, 0x0a, 0x6d, 0x69, 0x6c, 0x65, 0x73, 0x74, 0x6f, 0x6e, 0x65, 0x73, 0x22, - 0xbd, 0x01, 0x0a, 0x25, 0x52, 0x65, 0x73, 0x6f, 0x6c, 0x76, 0x65, 0x50, 0x72, 0x6f, 0x6a, 0x65, - 0x63, 0x74, 0x43, 0x72, 0x69, 0x74, 0x69, 0x63, 0x61, 0x6c, 0x44, 0x65, 0x61, 0x64, 0x6c, 0x69, - 0x6e, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x48, 0x0a, 0x07, 0x63, 0x6f, 0x6e, - 0x74, 0x65, 0x78, 0x74, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2e, 0x2e, 0x73, 0x65, 0x72, - 0x76, 0x69, 0x63, 0x65, 0x2e, 0x52, 0x65, 0x73, 0x6f, 0x6c, 0x76, 0x65, 0x50, 0x72, 0x6f, 0x6a, - 0x65, 0x63, 0x74, 0x43, 0x72, 0x69, 0x74, 0x69, 0x63, 0x61, 0x6c, 0x44, 0x65, 0x61, 0x64, 0x6c, - 0x69, 0x6e, 0x65, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x52, 0x07, 0x63, 0x6f, 0x6e, 0x74, - 0x65, 0x78, 0x74, 0x12, 0x4a, 0x0a, 0x0a, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x5f, 0x61, 0x72, 0x67, - 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2b, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, - 0x65, 0x2e, 0x52, 0x65, 0x73, 0x6f, 0x6c, 0x76, 0x65, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, - 0x43, 0x72, 0x69, 0x74, 0x69, 0x63, 0x61, 0x6c, 0x44, 0x65, 0x61, 0x64, 0x6c, 0x69, 0x6e, 0x65, - 0x41, 0x72, 0x67, 0x73, 0x52, 0x09, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x41, 0x72, 0x67, 0x73, 0x22, - 0x69, 0x0a, 0x24, 0x52, 0x65, 0x73, 0x6f, 0x6c, 0x76, 0x65, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, - 0x74, 0x43, 0x72, 0x69, 0x74, 0x69, 0x63, 0x61, 0x6c, 0x44, 0x65, 0x61, 0x64, 0x6c, 0x69, 0x6e, - 0x65, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x12, 0x41, 0x0a, 0x11, 0x63, 0x72, 0x69, 0x74, 0x69, - 0x63, 0x61, 0x6c, 0x5f, 0x64, 0x65, 0x61, 0x64, 0x6c, 0x69, 0x6e, 0x65, 0x18, 0x01, 0x20, 0x01, - 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x54, 0x69, 0x6d, - 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x65, 0x64, 0x52, 0x10, 0x63, 0x72, 0x69, 0x74, 0x69, 0x63, - 0x61, 0x6c, 0x44, 0x65, 0x61, 0x64, 0x6c, 0x69, 0x6e, 0x65, 0x22, 0x6f, 0x0a, 0x26, 0x52, 0x65, - 0x73, 0x6f, 0x6c, 0x76, 0x65, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x43, 0x72, 0x69, 0x74, - 0x69, 0x63, 0x61, 0x6c, 0x44, 0x65, 0x61, 0x64, 0x6c, 0x69, 0x6e, 0x65, 0x52, 0x65, 0x73, 0x70, - 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x45, 0x0a, 0x06, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x18, 0x01, - 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2d, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x52, - 0x65, 0x73, 0x6f, 0x6c, 0x76, 0x65, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x43, 0x72, 0x69, - 0x74, 0x69, 0x63, 0x61, 0x6c, 0x44, 0x65, 0x61, 0x64, 0x6c, 0x69, 0x6e, 0x65, 0x52, 0x65, 0x73, - 0x75, 0x6c, 0x74, 0x52, 0x06, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x22, 0x5d, 0x0a, 0x21, 0x52, - 0x65, 0x73, 0x6f, 0x6c, 0x76, 0x65, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x54, 0x6f, 0x70, - 0x50, 0x72, 0x69, 0x6f, 0x72, 0x69, 0x74, 0x79, 0x49, 0x74, 0x65, 0x6d, 0x41, 0x72, 0x67, 0x73, - 0x12, 0x38, 0x0a, 0x08, 0x63, 0x61, 0x74, 0x65, 0x67, 0x6f, 0x72, 0x79, 0x18, 0x01, 0x20, 0x01, - 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, - 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x56, 0x61, 0x6c, 0x75, 0x65, - 0x52, 0x08, 0x63, 0x61, 0x74, 0x65, 0x67, 0x6f, 0x72, 0x79, 0x22, 0x66, 0x0a, 0x24, 0x52, 0x65, - 0x73, 0x6f, 0x6c, 0x76, 0x65, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x54, 0x6f, 0x70, 0x50, - 0x72, 0x69, 0x6f, 0x72, 0x69, 0x74, 0x79, 0x49, 0x74, 0x65, 0x6d, 0x43, 0x6f, 0x6e, 0x74, 0x65, - 0x78, 0x74, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, - 0x69, 0x64, 0x12, 0x2e, 0x0a, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x02, 0x20, 0x01, - 0x28, 0x0e, 0x32, 0x16, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x50, 0x72, 0x6f, - 0x6a, 0x65, 0x63, 0x74, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x06, 0x73, 0x74, 0x61, 0x74, - 0x75, 0x73, 0x22, 0xba, 0x01, 0x0a, 0x24, 0x52, 0x65, 0x73, 0x6f, 0x6c, 0x76, 0x65, 0x50, 0x72, - 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x54, 0x6f, 0x70, 0x50, 0x72, 0x69, 0x6f, 0x72, 0x69, 0x74, 0x79, - 0x49, 0x74, 0x65, 0x6d, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x47, 0x0a, 0x07, 0x63, - 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2d, 0x2e, 0x73, - 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x52, 0x65, 0x73, 0x6f, 0x6c, 0x76, 0x65, 0x50, 0x72, - 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x54, 0x6f, 0x70, 0x50, 0x72, 0x69, 0x6f, 0x72, 0x69, 0x74, 0x79, - 0x49, 0x74, 0x65, 0x6d, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x52, 0x07, 0x63, 0x6f, 0x6e, - 0x74, 0x65, 0x78, 0x74, 0x12, 0x49, 0x0a, 0x0a, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x5f, 0x61, 0x72, - 0x67, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2a, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, - 0x63, 0x65, 0x2e, 0x52, 0x65, 0x73, 0x6f, 0x6c, 0x76, 0x65, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, - 0x74, 0x54, 0x6f, 0x70, 0x50, 0x72, 0x69, 0x6f, 0x72, 0x69, 0x74, 0x79, 0x49, 0x74, 0x65, 0x6d, - 0x41, 0x72, 0x67, 0x73, 0x52, 0x09, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x41, 0x72, 0x67, 0x73, 0x22, - 0x6f, 0x0a, 0x23, 0x52, 0x65, 0x73, 0x6f, 0x6c, 0x76, 0x65, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, - 0x74, 0x54, 0x6f, 0x70, 0x50, 0x72, 0x69, 0x6f, 0x72, 0x69, 0x74, 0x79, 0x49, 0x74, 0x65, 0x6d, - 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x12, 0x48, 0x0a, 0x11, 0x74, 0x6f, 0x70, 0x5f, 0x70, 0x72, - 0x69, 0x6f, 0x72, 0x69, 0x74, 0x79, 0x5f, 0x69, 0x74, 0x65, 0x6d, 0x18, 0x01, 0x20, 0x01, 0x28, - 0x0b, 0x32, 0x1c, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x50, 0x72, 0x6f, 0x6a, - 0x65, 0x63, 0x74, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x52, - 0x0f, 0x74, 0x6f, 0x70, 0x50, 0x72, 0x69, 0x6f, 0x72, 0x69, 0x74, 0x79, 0x49, 0x74, 0x65, 0x6d, - 0x22, 0x6d, 0x0a, 0x25, 0x52, 0x65, 0x73, 0x6f, 0x6c, 0x76, 0x65, 0x50, 0x72, 0x6f, 0x6a, 0x65, - 0x63, 0x74, 0x54, 0x6f, 0x70, 0x50, 0x72, 0x69, 0x6f, 0x72, 0x69, 0x74, 0x79, 0x49, 0x74, 0x65, - 0x6d, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x44, 0x0a, 0x06, 0x72, 0x65, 0x73, - 0x75, 0x6c, 0x74, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2c, 0x2e, 0x73, 0x65, 0x72, 0x76, - 0x69, 0x63, 0x65, 0x2e, 0x52, 0x65, 0x73, 0x6f, 0x6c, 0x76, 0x65, 0x50, 0x72, 0x6f, 0x6a, 0x65, - 0x63, 0x74, 0x54, 0x6f, 0x70, 0x50, 0x72, 0x69, 0x6f, 0x72, 0x69, 0x74, 0x79, 0x49, 0x74, 0x65, - 0x6d, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x52, 0x06, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x22, - 0x30, 0x0a, 0x1e, 0x52, 0x65, 0x73, 0x6f, 0x6c, 0x76, 0x65, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, - 0x74, 0x54, 0x61, 0x73, 0x6b, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x78, - 0x74, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, - 0x64, 0x22, 0x63, 0x0a, 0x1e, 0x52, 0x65, 0x73, 0x6f, 0x6c, 0x76, 0x65, 0x50, 0x72, 0x6f, 0x6a, - 0x65, 0x63, 0x74, 0x54, 0x61, 0x73, 0x6b, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x52, 0x65, 0x71, 0x75, - 0x65, 0x73, 0x74, 0x12, 0x41, 0x0a, 0x07, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x18, 0x01, - 0x20, 0x03, 0x28, 0x0b, 0x32, 0x27, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x52, - 0x65, 0x73, 0x6f, 0x6c, 0x76, 0x65, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x54, 0x61, 0x73, - 0x6b, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x52, 0x07, 0x63, - 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x22, 0x3e, 0x0a, 0x1d, 0x52, 0x65, 0x73, 0x6f, 0x6c, 0x76, - 0x65, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x54, 0x61, 0x73, 0x6b, 0x43, 0x6f, 0x75, 0x6e, - 0x74, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x12, 0x1d, 0x0a, 0x0a, 0x74, 0x61, 0x73, 0x6b, 0x5f, - 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x09, 0x74, 0x61, 0x73, - 0x6b, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x22, 0x61, 0x0a, 0x1f, 0x52, 0x65, 0x73, 0x6f, 0x6c, 0x76, - 0x65, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x54, 0x61, 0x73, 0x6b, 0x43, 0x6f, 0x75, 0x6e, - 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x3e, 0x0a, 0x06, 0x72, 0x65, 0x73, - 0x75, 0x6c, 0x74, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x26, 0x2e, 0x73, 0x65, 0x72, 0x76, - 0x69, 0x63, 0x65, 0x2e, 0x52, 0x65, 0x73, 0x6f, 0x6c, 0x76, 0x65, 0x50, 0x72, 0x6f, 0x6a, 0x65, - 0x63, 0x74, 0x54, 0x61, 0x73, 0x6b, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x52, 0x65, 0x73, 0x75, 0x6c, - 0x74, 0x52, 0x06, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x22, 0x3b, 0x0a, 0x29, 0x52, 0x65, 0x73, - 0x6f, 0x6c, 0x76, 0x65, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x41, 0x63, 0x74, 0x69, 0x76, - 0x65, 0x4d, 0x69, 0x6c, 0x65, 0x73, 0x74, 0x6f, 0x6e, 0x65, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x43, - 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, - 0x28, 0x09, 0x52, 0x02, 0x69, 0x64, 0x22, 0x79, 0x0a, 0x29, 0x52, 0x65, 0x73, 0x6f, 0x6c, 0x76, - 0x65, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x41, 0x63, 0x74, 0x69, 0x76, 0x65, 0x4d, 0x69, - 0x6c, 0x65, 0x73, 0x74, 0x6f, 0x6e, 0x65, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x52, 0x65, 0x71, 0x75, - 0x65, 0x73, 0x74, 0x12, 0x4c, 0x0a, 0x07, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x18, 0x01, - 0x20, 0x03, 0x28, 0x0b, 0x32, 0x32, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x52, - 0x65, 0x73, 0x6f, 0x6c, 0x76, 0x65, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x41, 0x63, 0x74, - 0x69, 0x76, 0x65, 0x4d, 0x69, 0x6c, 0x65, 0x73, 0x74, 0x6f, 0x6e, 0x65, 0x43, 0x6f, 0x75, 0x6e, - 0x74, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x52, 0x07, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x78, - 0x74, 0x22, 0x60, 0x0a, 0x28, 0x52, 0x65, 0x73, 0x6f, 0x6c, 0x76, 0x65, 0x50, 0x72, 0x6f, 0x6a, - 0x65, 0x63, 0x74, 0x41, 0x63, 0x74, 0x69, 0x76, 0x65, 0x4d, 0x69, 0x6c, 0x65, 0x73, 0x74, 0x6f, - 0x6e, 0x65, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x12, 0x34, 0x0a, - 0x16, 0x61, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x6d, 0x69, 0x6c, 0x65, 0x73, 0x74, 0x6f, 0x6e, - 0x65, 0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x14, 0x61, - 0x63, 0x74, 0x69, 0x76, 0x65, 0x4d, 0x69, 0x6c, 0x65, 0x73, 0x74, 0x6f, 0x6e, 0x65, 0x43, 0x6f, - 0x75, 0x6e, 0x74, 0x22, 0x77, 0x0a, 0x2a, 0x52, 0x65, 0x73, 0x6f, 0x6c, 0x76, 0x65, 0x50, 0x72, - 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x41, 0x63, 0x74, 0x69, 0x76, 0x65, 0x4d, 0x69, 0x6c, 0x65, 0x73, - 0x74, 0x6f, 0x6e, 0x65, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, - 0x65, 0x12, 0x49, 0x0a, 0x06, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x18, 0x01, 0x20, 0x03, 0x28, - 0x0b, 0x32, 0x31, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x52, 0x65, 0x73, 0x6f, - 0x6c, 0x76, 0x65, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x41, 0x63, 0x74, 0x69, 0x76, 0x65, - 0x4d, 0x69, 0x6c, 0x65, 0x73, 0x74, 0x6f, 0x6e, 0x65, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x52, 0x65, - 0x73, 0x75, 0x6c, 0x74, 0x52, 0x06, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x22, 0x5a, 0x0a, 0x1c, - 0x52, 0x65, 0x73, 0x6f, 0x6c, 0x76, 0x65, 0x4d, 0x69, 0x6c, 0x65, 0x73, 0x74, 0x6f, 0x6e, 0x65, - 0x49, 0x73, 0x41, 0x74, 0x52, 0x69, 0x73, 0x6b, 0x41, 0x72, 0x67, 0x73, 0x12, 0x3a, 0x0a, 0x09, - 0x74, 0x68, 0x72, 0x65, 0x73, 0x68, 0x6f, 0x6c, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, - 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, - 0x66, 0x2e, 0x44, 0x6f, 0x75, 0x62, 0x6c, 0x65, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x09, 0x74, - 0x68, 0x72, 0x65, 0x73, 0x68, 0x6f, 0x6c, 0x64, 0x22, 0xef, 0x01, 0x0a, 0x1f, 0x52, 0x65, 0x73, - 0x6f, 0x6c, 0x76, 0x65, 0x4d, 0x69, 0x6c, 0x65, 0x73, 0x74, 0x6f, 0x6e, 0x65, 0x49, 0x73, 0x41, - 0x74, 0x52, 0x69, 0x73, 0x6b, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x12, 0x0e, 0x0a, 0x02, - 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, 0x64, 0x12, 0x37, 0x0a, 0x08, - 0x65, 0x6e, 0x64, 0x5f, 0x64, 0x61, 0x74, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, - 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, - 0x2e, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x07, 0x65, 0x6e, - 0x64, 0x44, 0x61, 0x74, 0x65, 0x12, 0x30, 0x0a, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, - 0x03, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x18, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, - 0x4d, 0x69, 0x6c, 0x65, 0x73, 0x74, 0x6f, 0x6e, 0x65, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, - 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x51, 0x0a, 0x15, 0x63, 0x6f, 0x6d, 0x70, 0x6c, - 0x65, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x70, 0x65, 0x72, 0x63, 0x65, 0x6e, 0x74, 0x61, 0x67, 0x65, - 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, - 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x44, 0x6f, 0x75, 0x62, 0x6c, 0x65, 0x56, - 0x61, 0x6c, 0x75, 0x65, 0x52, 0x14, 0x63, 0x6f, 0x6d, 0x70, 0x6c, 0x65, 0x74, 0x69, 0x6f, 0x6e, - 0x50, 0x65, 0x72, 0x63, 0x65, 0x6e, 0x74, 0x61, 0x67, 0x65, 0x22, 0xab, 0x01, 0x0a, 0x1f, 0x52, - 0x65, 0x73, 0x6f, 0x6c, 0x76, 0x65, 0x4d, 0x69, 0x6c, 0x65, 0x73, 0x74, 0x6f, 0x6e, 0x65, 0x49, - 0x73, 0x41, 0x74, 0x52, 0x69, 0x73, 0x6b, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x42, - 0x0a, 0x07, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, - 0x28, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x52, 0x65, 0x73, 0x6f, 0x6c, 0x76, - 0x65, 0x4d, 0x69, 0x6c, 0x65, 0x73, 0x74, 0x6f, 0x6e, 0x65, 0x49, 0x73, 0x41, 0x74, 0x52, 0x69, - 0x73, 0x6b, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x52, 0x07, 0x63, 0x6f, 0x6e, 0x74, 0x65, - 0x78, 0x74, 0x12, 0x44, 0x0a, 0x0a, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x5f, 0x61, 0x72, 0x67, 0x73, - 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x25, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, - 0x2e, 0x52, 0x65, 0x73, 0x6f, 0x6c, 0x76, 0x65, 0x4d, 0x69, 0x6c, 0x65, 0x73, 0x74, 0x6f, 0x6e, - 0x65, 0x49, 0x73, 0x41, 0x74, 0x52, 0x69, 0x73, 0x6b, 0x41, 0x72, 0x67, 0x73, 0x52, 0x09, 0x66, - 0x69, 0x65, 0x6c, 0x64, 0x41, 0x72, 0x67, 0x73, 0x22, 0x3e, 0x0a, 0x1e, 0x52, 0x65, 0x73, 0x6f, - 0x6c, 0x76, 0x65, 0x4d, 0x69, 0x6c, 0x65, 0x73, 0x74, 0x6f, 0x6e, 0x65, 0x49, 0x73, 0x41, 0x74, - 0x52, 0x69, 0x73, 0x6b, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x12, 0x1c, 0x0a, 0x0a, 0x69, 0x73, - 0x5f, 0x61, 0x74, 0x5f, 0x72, 0x69, 0x73, 0x6b, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x08, - 0x69, 0x73, 0x41, 0x74, 0x52, 0x69, 0x73, 0x6b, 0x22, 0x63, 0x0a, 0x20, 0x52, 0x65, 0x73, 0x6f, - 0x6c, 0x76, 0x65, 0x4d, 0x69, 0x6c, 0x65, 0x73, 0x74, 0x6f, 0x6e, 0x65, 0x49, 0x73, 0x41, 0x74, - 0x52, 0x69, 0x73, 0x6b, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x3f, 0x0a, 0x06, - 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x27, 0x2e, 0x73, - 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x52, 0x65, 0x73, 0x6f, 0x6c, 0x76, 0x65, 0x4d, 0x69, - 0x6c, 0x65, 0x73, 0x74, 0x6f, 0x6e, 0x65, 0x49, 0x73, 0x41, 0x74, 0x52, 0x69, 0x73, 0x6b, 0x52, - 0x65, 0x73, 0x75, 0x6c, 0x74, 0x52, 0x06, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x22, 0x5d, 0x0a, - 0x20, 0x52, 0x65, 0x73, 0x6f, 0x6c, 0x76, 0x65, 0x4d, 0x69, 0x6c, 0x65, 0x73, 0x74, 0x6f, 0x6e, - 0x65, 0x44, 0x61, 0x79, 0x73, 0x55, 0x6e, 0x74, 0x69, 0x6c, 0x44, 0x75, 0x65, 0x41, 0x72, 0x67, - 0x73, 0x12, 0x39, 0x0a, 0x09, 0x66, 0x72, 0x6f, 0x6d, 0x5f, 0x64, 0x61, 0x74, 0x65, 0x18, 0x01, - 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, - 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x56, 0x61, 0x6c, - 0x75, 0x65, 0x52, 0x08, 0x66, 0x72, 0x6f, 0x6d, 0x44, 0x61, 0x74, 0x65, 0x22, 0x5e, 0x0a, 0x23, - 0x52, 0x65, 0x73, 0x6f, 0x6c, 0x76, 0x65, 0x4d, 0x69, 0x6c, 0x65, 0x73, 0x74, 0x6f, 0x6e, 0x65, - 0x44, 0x61, 0x79, 0x73, 0x55, 0x6e, 0x74, 0x69, 0x6c, 0x44, 0x75, 0x65, 0x43, 0x6f, 0x6e, 0x74, - 0x65, 0x78, 0x74, 0x12, 0x37, 0x0a, 0x08, 0x65, 0x6e, 0x64, 0x5f, 0x64, 0x61, 0x74, 0x65, 0x18, - 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, - 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x56, 0x61, - 0x6c, 0x75, 0x65, 0x52, 0x07, 0x65, 0x6e, 0x64, 0x44, 0x61, 0x74, 0x65, 0x22, 0xb7, 0x01, 0x0a, - 0x23, 0x52, 0x65, 0x73, 0x6f, 0x6c, 0x76, 0x65, 0x4d, 0x69, 0x6c, 0x65, 0x73, 0x74, 0x6f, 0x6e, - 0x65, 0x44, 0x61, 0x79, 0x73, 0x55, 0x6e, 0x74, 0x69, 0x6c, 0x44, 0x75, 0x65, 0x52, 0x65, 0x71, - 0x75, 0x65, 0x73, 0x74, 0x12, 0x46, 0x0a, 0x07, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x18, - 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2c, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, - 0x52, 0x65, 0x73, 0x6f, 0x6c, 0x76, 0x65, 0x4d, 0x69, 0x6c, 0x65, 0x73, 0x74, 0x6f, 0x6e, 0x65, - 0x44, 0x61, 0x79, 0x73, 0x55, 0x6e, 0x74, 0x69, 0x6c, 0x44, 0x75, 0x65, 0x43, 0x6f, 0x6e, 0x74, - 0x65, 0x78, 0x74, 0x52, 0x07, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x12, 0x48, 0x0a, 0x0a, - 0x66, 0x69, 0x65, 0x6c, 0x64, 0x5f, 0x61, 0x72, 0x67, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, - 0x32, 0x29, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x52, 0x65, 0x73, 0x6f, 0x6c, - 0x76, 0x65, 0x4d, 0x69, 0x6c, 0x65, 0x73, 0x74, 0x6f, 0x6e, 0x65, 0x44, 0x61, 0x79, 0x73, 0x55, - 0x6e, 0x74, 0x69, 0x6c, 0x44, 0x75, 0x65, 0x41, 0x72, 0x67, 0x73, 0x52, 0x09, 0x66, 0x69, 0x65, - 0x6c, 0x64, 0x41, 0x72, 0x67, 0x73, 0x22, 0x67, 0x0a, 0x22, 0x52, 0x65, 0x73, 0x6f, 0x6c, 0x76, - 0x65, 0x4d, 0x69, 0x6c, 0x65, 0x73, 0x74, 0x6f, 0x6e, 0x65, 0x44, 0x61, 0x79, 0x73, 0x55, 0x6e, - 0x74, 0x69, 0x6c, 0x44, 0x75, 0x65, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x12, 0x41, 0x0a, 0x0e, - 0x64, 0x61, 0x79, 0x73, 0x5f, 0x75, 0x6e, 0x74, 0x69, 0x6c, 0x5f, 0x64, 0x75, 0x65, 0x18, 0x01, - 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, - 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x49, 0x6e, 0x74, 0x33, 0x32, 0x56, 0x61, 0x6c, 0x75, - 0x65, 0x52, 0x0c, 0x64, 0x61, 0x79, 0x73, 0x55, 0x6e, 0x74, 0x69, 0x6c, 0x44, 0x75, 0x65, 0x22, - 0x6b, 0x0a, 0x24, 0x52, 0x65, 0x73, 0x6f, 0x6c, 0x76, 0x65, 0x4d, 0x69, 0x6c, 0x65, 0x73, 0x74, - 0x6f, 0x6e, 0x65, 0x44, 0x61, 0x79, 0x73, 0x55, 0x6e, 0x74, 0x69, 0x6c, 0x44, 0x75, 0x65, 0x52, - 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x43, 0x0a, 0x06, 0x72, 0x65, 0x73, 0x75, 0x6c, - 0x74, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2b, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, - 0x65, 0x2e, 0x52, 0x65, 0x73, 0x6f, 0x6c, 0x76, 0x65, 0x4d, 0x69, 0x6c, 0x65, 0x73, 0x74, 0x6f, - 0x6e, 0x65, 0x44, 0x61, 0x79, 0x73, 0x55, 0x6e, 0x74, 0x69, 0x6c, 0x44, 0x75, 0x65, 0x52, 0x65, - 0x73, 0x75, 0x6c, 0x74, 0x52, 0x06, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x22, 0x65, 0x0a, 0x18, - 0x52, 0x65, 0x73, 0x6f, 0x6c, 0x76, 0x65, 0x54, 0x61, 0x73, 0x6b, 0x49, 0x73, 0x42, 0x6c, 0x6f, - 0x63, 0x6b, 0x65, 0x64, 0x41, 0x72, 0x67, 0x73, 0x12, 0x49, 0x0a, 0x12, 0x63, 0x68, 0x65, 0x63, - 0x6b, 0x5f, 0x64, 0x65, 0x70, 0x65, 0x6e, 0x64, 0x65, 0x6e, 0x63, 0x69, 0x65, 0x73, 0x18, 0x01, - 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, - 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x42, 0x6f, 0x6f, 0x6c, 0x56, 0x61, 0x6c, 0x75, 0x65, - 0x52, 0x11, 0x63, 0x68, 0x65, 0x63, 0x6b, 0x44, 0x65, 0x70, 0x65, 0x6e, 0x64, 0x65, 0x6e, 0x63, - 0x69, 0x65, 0x73, 0x22, 0x5a, 0x0a, 0x1b, 0x52, 0x65, 0x73, 0x6f, 0x6c, 0x76, 0x65, 0x54, 0x61, - 0x73, 0x6b, 0x49, 0x73, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x65, 0x64, 0x43, 0x6f, 0x6e, 0x74, 0x65, - 0x78, 0x74, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, - 0x69, 0x64, 0x12, 0x2b, 0x0a, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x02, 0x20, 0x01, - 0x28, 0x0e, 0x32, 0x13, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x54, 0x61, 0x73, - 0x6b, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x22, - 0x9f, 0x01, 0x0a, 0x1b, 0x52, 0x65, 0x73, 0x6f, 0x6c, 0x76, 0x65, 0x54, 0x61, 0x73, 0x6b, 0x49, - 0x73, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x65, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, - 0x3e, 0x0a, 0x07, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, - 0x32, 0x24, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x52, 0x65, 0x73, 0x6f, 0x6c, - 0x76, 0x65, 0x54, 0x61, 0x73, 0x6b, 0x49, 0x73, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x65, 0x64, 0x43, - 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x52, 0x07, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x12, - 0x40, 0x0a, 0x0a, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x5f, 0x61, 0x72, 0x67, 0x73, 0x18, 0x02, 0x20, - 0x01, 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x52, 0x65, - 0x73, 0x6f, 0x6c, 0x76, 0x65, 0x54, 0x61, 0x73, 0x6b, 0x49, 0x73, 0x42, 0x6c, 0x6f, 0x63, 0x6b, - 0x65, 0x64, 0x41, 0x72, 0x67, 0x73, 0x52, 0x09, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x41, 0x72, 0x67, - 0x73, 0x22, 0x3b, 0x0a, 0x1a, 0x52, 0x65, 0x73, 0x6f, 0x6c, 0x76, 0x65, 0x54, 0x61, 0x73, 0x6b, - 0x49, 0x73, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x65, 0x64, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x12, - 0x1d, 0x0a, 0x0a, 0x69, 0x73, 0x5f, 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x65, 0x64, 0x18, 0x01, 0x20, - 0x01, 0x28, 0x08, 0x52, 0x09, 0x69, 0x73, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x65, 0x64, 0x22, 0x5b, - 0x0a, 0x1c, 0x52, 0x65, 0x73, 0x6f, 0x6c, 0x76, 0x65, 0x54, 0x61, 0x73, 0x6b, 0x49, 0x73, 0x42, - 0x6c, 0x6f, 0x63, 0x6b, 0x65, 0x64, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x3b, - 0x0a, 0x06, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x23, - 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x52, 0x65, 0x73, 0x6f, 0x6c, 0x76, 0x65, - 0x54, 0x61, 0x73, 0x6b, 0x49, 0x73, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x65, 0x64, 0x52, 0x65, 0x73, - 0x75, 0x6c, 0x74, 0x52, 0x06, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x22, 0x63, 0x0a, 0x1a, 0x52, - 0x65, 0x73, 0x6f, 0x6c, 0x76, 0x65, 0x54, 0x61, 0x73, 0x6b, 0x54, 0x6f, 0x74, 0x61, 0x6c, 0x45, - 0x66, 0x66, 0x6f, 0x72, 0x74, 0x41, 0x72, 0x67, 0x73, 0x12, 0x45, 0x0a, 0x10, 0x69, 0x6e, 0x63, - 0x6c, 0x75, 0x64, 0x65, 0x5f, 0x73, 0x75, 0x62, 0x74, 0x61, 0x73, 0x6b, 0x73, 0x18, 0x01, 0x20, - 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, - 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x42, 0x6f, 0x6f, 0x6c, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, - 0x0f, 0x69, 0x6e, 0x63, 0x6c, 0x75, 0x64, 0x65, 0x53, 0x75, 0x62, 0x74, 0x61, 0x73, 0x6b, 0x73, - 0x22, 0xb7, 0x01, 0x0a, 0x1d, 0x52, 0x65, 0x73, 0x6f, 0x6c, 0x76, 0x65, 0x54, 0x61, 0x73, 0x6b, - 0x54, 0x6f, 0x74, 0x61, 0x6c, 0x45, 0x66, 0x66, 0x6f, 0x72, 0x74, 0x43, 0x6f, 0x6e, 0x74, 0x65, - 0x78, 0x74, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, - 0x69, 0x64, 0x12, 0x45, 0x0a, 0x0f, 0x65, 0x73, 0x74, 0x69, 0x6d, 0x61, 0x74, 0x65, 0x64, 0x5f, - 0x68, 0x6f, 0x75, 0x72, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, - 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x44, 0x6f, - 0x75, 0x62, 0x6c, 0x65, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x0e, 0x65, 0x73, 0x74, 0x69, 0x6d, - 0x61, 0x74, 0x65, 0x64, 0x48, 0x6f, 0x75, 0x72, 0x73, 0x12, 0x3f, 0x0a, 0x0c, 0x61, 0x63, 0x74, - 0x75, 0x61, 0x6c, 0x5f, 0x68, 0x6f, 0x75, 0x72, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, - 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, - 0x66, 0x2e, 0x44, 0x6f, 0x75, 0x62, 0x6c, 0x65, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x0b, 0x61, - 0x63, 0x74, 0x75, 0x61, 0x6c, 0x48, 0x6f, 0x75, 0x72, 0x73, 0x22, 0xa5, 0x01, 0x0a, 0x1d, 0x52, - 0x65, 0x73, 0x6f, 0x6c, 0x76, 0x65, 0x54, 0x61, 0x73, 0x6b, 0x54, 0x6f, 0x74, 0x61, 0x6c, 0x45, - 0x66, 0x66, 0x6f, 0x72, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x40, 0x0a, 0x07, - 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x26, 0x2e, - 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x52, 0x65, 0x73, 0x6f, 0x6c, 0x76, 0x65, 0x54, - 0x61, 0x73, 0x6b, 0x54, 0x6f, 0x74, 0x61, 0x6c, 0x45, 0x66, 0x66, 0x6f, 0x72, 0x74, 0x43, 0x6f, - 0x6e, 0x74, 0x65, 0x78, 0x74, 0x52, 0x07, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x12, 0x42, - 0x0a, 0x0a, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x5f, 0x61, 0x72, 0x67, 0x73, 0x18, 0x02, 0x20, 0x01, - 0x28, 0x0b, 0x32, 0x23, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x52, 0x65, 0x73, - 0x6f, 0x6c, 0x76, 0x65, 0x54, 0x61, 0x73, 0x6b, 0x54, 0x6f, 0x74, 0x61, 0x6c, 0x45, 0x66, 0x66, - 0x6f, 0x72, 0x74, 0x41, 0x72, 0x67, 0x73, 0x52, 0x09, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x41, 0x72, - 0x67, 0x73, 0x22, 0x5f, 0x0a, 0x1c, 0x52, 0x65, 0x73, 0x6f, 0x6c, 0x76, 0x65, 0x54, 0x61, 0x73, - 0x6b, 0x54, 0x6f, 0x74, 0x61, 0x6c, 0x45, 0x66, 0x66, 0x6f, 0x72, 0x74, 0x52, 0x65, 0x73, 0x75, - 0x6c, 0x74, 0x12, 0x3f, 0x0a, 0x0c, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x5f, 0x65, 0x66, 0x66, 0x6f, - 0x72, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, - 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x44, 0x6f, 0x75, 0x62, 0x6c, - 0x65, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x0b, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x45, 0x66, 0x66, - 0x6f, 0x72, 0x74, 0x22, 0x5f, 0x0a, 0x1e, 0x52, 0x65, 0x73, 0x6f, 0x6c, 0x76, 0x65, 0x54, 0x61, - 0x73, 0x6b, 0x54, 0x6f, 0x74, 0x61, 0x6c, 0x45, 0x66, 0x66, 0x6f, 0x72, 0x74, 0x52, 0x65, 0x73, - 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x3d, 0x0a, 0x06, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x18, - 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x25, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, - 0x52, 0x65, 0x73, 0x6f, 0x6c, 0x76, 0x65, 0x54, 0x61, 0x73, 0x6b, 0x54, 0x6f, 0x74, 0x61, 0x6c, - 0x45, 0x66, 0x66, 0x6f, 0x72, 0x74, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x52, 0x06, 0x72, 0x65, - 0x73, 0x75, 0x6c, 0x74, 0x22, 0xaa, 0x01, 0x0a, 0x22, 0x52, 0x65, 0x73, 0x6f, 0x6c, 0x76, 0x65, - 0x45, 0x6d, 0x70, 0x6c, 0x6f, 0x79, 0x65, 0x65, 0x43, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x74, 0x57, - 0x6f, 0x72, 0x6b, 0x6c, 0x6f, 0x61, 0x64, 0x41, 0x72, 0x67, 0x73, 0x12, 0x47, 0x0a, 0x11, 0x69, - 0x6e, 0x63, 0x6c, 0x75, 0x64, 0x65, 0x5f, 0x63, 0x6f, 0x6d, 0x70, 0x6c, 0x65, 0x74, 0x65, 0x64, - 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, - 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x42, 0x6f, 0x6f, 0x6c, 0x56, 0x61, 0x6c, - 0x75, 0x65, 0x52, 0x10, 0x69, 0x6e, 0x63, 0x6c, 0x75, 0x64, 0x65, 0x43, 0x6f, 0x6d, 0x70, 0x6c, - 0x65, 0x74, 0x65, 0x64, 0x12, 0x3b, 0x0a, 0x0a, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x5f, - 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, - 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x53, 0x74, 0x72, 0x69, 0x6e, - 0x67, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x09, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x49, - 0x64, 0x22, 0x37, 0x0a, 0x25, 0x52, 0x65, 0x73, 0x6f, 0x6c, 0x76, 0x65, 0x45, 0x6d, 0x70, 0x6c, - 0x6f, 0x79, 0x65, 0x65, 0x43, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x74, 0x57, 0x6f, 0x72, 0x6b, 0x6c, - 0x6f, 0x61, 0x64, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, - 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x02, 0x69, 0x64, 0x22, 0xbd, 0x01, 0x0a, 0x25, 0x52, - 0x65, 0x73, 0x6f, 0x6c, 0x76, 0x65, 0x45, 0x6d, 0x70, 0x6c, 0x6f, 0x79, 0x65, 0x65, 0x43, 0x75, - 0x72, 0x72, 0x65, 0x6e, 0x74, 0x57, 0x6f, 0x72, 0x6b, 0x6c, 0x6f, 0x61, 0x64, 0x52, 0x65, 0x71, - 0x75, 0x65, 0x73, 0x74, 0x12, 0x48, 0x0a, 0x07, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x18, - 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2e, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, - 0x52, 0x65, 0x73, 0x6f, 0x6c, 0x76, 0x65, 0x45, 0x6d, 0x70, 0x6c, 0x6f, 0x79, 0x65, 0x65, 0x43, - 0x75, 0x72, 0x72, 0x65, 0x6e, 0x74, 0x57, 0x6f, 0x72, 0x6b, 0x6c, 0x6f, 0x61, 0x64, 0x43, 0x6f, - 0x6e, 0x74, 0x65, 0x78, 0x74, 0x52, 0x07, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x12, 0x4a, - 0x0a, 0x0a, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x5f, 0x61, 0x72, 0x67, 0x73, 0x18, 0x02, 0x20, 0x01, - 0x28, 0x0b, 0x32, 0x2b, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x52, 0x65, 0x73, - 0x6f, 0x6c, 0x76, 0x65, 0x45, 0x6d, 0x70, 0x6c, 0x6f, 0x79, 0x65, 0x65, 0x43, 0x75, 0x72, 0x72, - 0x65, 0x6e, 0x74, 0x57, 0x6f, 0x72, 0x6b, 0x6c, 0x6f, 0x61, 0x64, 0x41, 0x72, 0x67, 0x73, 0x52, - 0x09, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x41, 0x72, 0x67, 0x73, 0x22, 0x51, 0x0a, 0x24, 0x52, 0x65, - 0x73, 0x6f, 0x6c, 0x76, 0x65, 0x45, 0x6d, 0x70, 0x6c, 0x6f, 0x79, 0x65, 0x65, 0x43, 0x75, 0x72, - 0x72, 0x65, 0x6e, 0x74, 0x57, 0x6f, 0x72, 0x6b, 0x6c, 0x6f, 0x61, 0x64, 0x52, 0x65, 0x73, 0x75, - 0x6c, 0x74, 0x12, 0x29, 0x0a, 0x10, 0x63, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x74, 0x5f, 0x77, 0x6f, - 0x72, 0x6b, 0x6c, 0x6f, 0x61, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0f, 0x63, 0x75, - 0x72, 0x72, 0x65, 0x6e, 0x74, 0x57, 0x6f, 0x72, 0x6b, 0x6c, 0x6f, 0x61, 0x64, 0x22, 0x6f, 0x0a, - 0x26, 0x52, 0x65, 0x73, 0x6f, 0x6c, 0x76, 0x65, 0x45, 0x6d, 0x70, 0x6c, 0x6f, 0x79, 0x65, 0x65, - 0x43, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x74, 0x57, 0x6f, 0x72, 0x6b, 0x6c, 0x6f, 0x61, 0x64, 0x52, - 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x45, 0x0a, 0x06, 0x72, 0x65, 0x73, 0x75, 0x6c, - 0x74, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2d, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, - 0x65, 0x2e, 0x52, 0x65, 0x73, 0x6f, 0x6c, 0x76, 0x65, 0x45, 0x6d, 0x70, 0x6c, 0x6f, 0x79, 0x65, - 0x65, 0x43, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x74, 0x57, 0x6f, 0x72, 0x6b, 0x6c, 0x6f, 0x61, 0x64, - 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x52, 0x06, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x22, 0x9e, - 0x01, 0x0a, 0x2c, 0x52, 0x65, 0x73, 0x6f, 0x6c, 0x76, 0x65, 0x45, 0x6d, 0x70, 0x6c, 0x6f, 0x79, - 0x65, 0x65, 0x41, 0x76, 0x65, 0x72, 0x61, 0x67, 0x65, 0x54, 0x61, 0x73, 0x6b, 0x43, 0x6f, 0x6d, - 0x70, 0x6c, 0x65, 0x74, 0x69, 0x6f, 0x6e, 0x44, 0x61, 0x79, 0x73, 0x41, 0x72, 0x67, 0x73, 0x12, - 0x3b, 0x0a, 0x0a, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, - 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, - 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x56, 0x61, 0x6c, 0x75, - 0x65, 0x52, 0x09, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x49, 0x64, 0x12, 0x31, 0x0a, 0x08, - 0x70, 0x72, 0x69, 0x6f, 0x72, 0x69, 0x74, 0x79, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x15, - 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x54, 0x61, 0x73, 0x6b, 0x50, 0x72, 0x69, - 0x6f, 0x72, 0x69, 0x74, 0x79, 0x52, 0x08, 0x70, 0x72, 0x69, 0x6f, 0x72, 0x69, 0x74, 0x79, 0x22, - 0x41, 0x0a, 0x2f, 0x52, 0x65, 0x73, 0x6f, 0x6c, 0x76, 0x65, 0x45, 0x6d, 0x70, 0x6c, 0x6f, 0x79, - 0x65, 0x65, 0x41, 0x76, 0x65, 0x72, 0x61, 0x67, 0x65, 0x54, 0x61, 0x73, 0x6b, 0x43, 0x6f, 0x6d, - 0x70, 0x6c, 0x65, 0x74, 0x69, 0x6f, 0x6e, 0x44, 0x61, 0x79, 0x73, 0x43, 0x6f, 0x6e, 0x74, 0x65, - 0x78, 0x74, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x02, - 0x69, 0x64, 0x22, 0xdb, 0x01, 0x0a, 0x2f, 0x52, 0x65, 0x73, 0x6f, 0x6c, 0x76, 0x65, 0x45, 0x6d, - 0x70, 0x6c, 0x6f, 0x79, 0x65, 0x65, 0x41, 0x76, 0x65, 0x72, 0x61, 0x67, 0x65, 0x54, 0x61, 0x73, - 0x6b, 0x43, 0x6f, 0x6d, 0x70, 0x6c, 0x65, 0x74, 0x69, 0x6f, 0x6e, 0x44, 0x61, 0x79, 0x73, 0x52, - 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x52, 0x0a, 0x07, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x78, - 0x74, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x38, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, - 0x65, 0x2e, 0x52, 0x65, 0x73, 0x6f, 0x6c, 0x76, 0x65, 0x45, 0x6d, 0x70, 0x6c, 0x6f, 0x79, 0x65, - 0x65, 0x41, 0x76, 0x65, 0x72, 0x61, 0x67, 0x65, 0x54, 0x61, 0x73, 0x6b, 0x43, 0x6f, 0x6d, 0x70, - 0x6c, 0x65, 0x74, 0x69, 0x6f, 0x6e, 0x44, 0x61, 0x79, 0x73, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x78, - 0x74, 0x52, 0x07, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x12, 0x54, 0x0a, 0x0a, 0x66, 0x69, - 0x65, 0x6c, 0x64, 0x5f, 0x61, 0x72, 0x67, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x35, - 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x52, 0x65, 0x73, 0x6f, 0x6c, 0x76, 0x65, - 0x45, 0x6d, 0x70, 0x6c, 0x6f, 0x79, 0x65, 0x65, 0x41, 0x76, 0x65, 0x72, 0x61, 0x67, 0x65, 0x54, - 0x61, 0x73, 0x6b, 0x43, 0x6f, 0x6d, 0x70, 0x6c, 0x65, 0x74, 0x69, 0x6f, 0x6e, 0x44, 0x61, 0x79, - 0x73, 0x41, 0x72, 0x67, 0x73, 0x52, 0x09, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x41, 0x72, 0x67, 0x73, - 0x22, 0x8f, 0x01, 0x0a, 0x2e, 0x52, 0x65, 0x73, 0x6f, 0x6c, 0x76, 0x65, 0x45, 0x6d, 0x70, 0x6c, - 0x6f, 0x79, 0x65, 0x65, 0x41, 0x76, 0x65, 0x72, 0x61, 0x67, 0x65, 0x54, 0x61, 0x73, 0x6b, 0x43, - 0x6f, 0x6d, 0x70, 0x6c, 0x65, 0x74, 0x69, 0x6f, 0x6e, 0x44, 0x61, 0x79, 0x73, 0x52, 0x65, 0x73, - 0x75, 0x6c, 0x74, 0x12, 0x5d, 0x0a, 0x1c, 0x61, 0x76, 0x65, 0x72, 0x61, 0x67, 0x65, 0x5f, 0x74, - 0x61, 0x73, 0x6b, 0x5f, 0x63, 0x6f, 0x6d, 0x70, 0x6c, 0x65, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x64, - 0x61, 0x79, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, - 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x44, 0x6f, 0x75, 0x62, - 0x6c, 0x65, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x19, 0x61, 0x76, 0x65, 0x72, 0x61, 0x67, 0x65, - 0x54, 0x61, 0x73, 0x6b, 0x43, 0x6f, 0x6d, 0x70, 0x6c, 0x65, 0x74, 0x69, 0x6f, 0x6e, 0x44, 0x61, - 0x79, 0x73, 0x22, 0x83, 0x01, 0x0a, 0x30, 0x52, 0x65, 0x73, 0x6f, 0x6c, 0x76, 0x65, 0x45, 0x6d, - 0x70, 0x6c, 0x6f, 0x79, 0x65, 0x65, 0x41, 0x76, 0x65, 0x72, 0x61, 0x67, 0x65, 0x54, 0x61, 0x73, - 0x6b, 0x43, 0x6f, 0x6d, 0x70, 0x6c, 0x65, 0x74, 0x69, 0x6f, 0x6e, 0x44, 0x61, 0x79, 0x73, 0x52, - 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x4f, 0x0a, 0x06, 0x72, 0x65, 0x73, 0x75, 0x6c, - 0x74, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x37, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, - 0x65, 0x2e, 0x52, 0x65, 0x73, 0x6f, 0x6c, 0x76, 0x65, 0x45, 0x6d, 0x70, 0x6c, 0x6f, 0x79, 0x65, - 0x65, 0x41, 0x76, 0x65, 0x72, 0x61, 0x67, 0x65, 0x54, 0x61, 0x73, 0x6b, 0x43, 0x6f, 0x6d, 0x70, - 0x6c, 0x65, 0x74, 0x69, 0x6f, 0x6e, 0x44, 0x61, 0x79, 0x73, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, - 0x52, 0x06, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x22, 0x39, 0x0a, 0x27, 0x52, 0x65, 0x73, 0x6f, - 0x6c, 0x76, 0x65, 0x45, 0x6d, 0x70, 0x6c, 0x6f, 0x79, 0x65, 0x65, 0x54, 0x6f, 0x74, 0x61, 0x6c, - 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x43, 0x6f, 0x6e, 0x74, - 0x65, 0x78, 0x74, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, - 0x02, 0x69, 0x64, 0x22, 0x75, 0x0a, 0x27, 0x52, 0x65, 0x73, 0x6f, 0x6c, 0x76, 0x65, 0x45, 0x6d, - 0x70, 0x6c, 0x6f, 0x79, 0x65, 0x65, 0x54, 0x6f, 0x74, 0x61, 0x6c, 0x50, 0x72, 0x6f, 0x6a, 0x65, - 0x63, 0x74, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x4a, - 0x0a, 0x07, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, - 0x30, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x52, 0x65, 0x73, 0x6f, 0x6c, 0x76, - 0x65, 0x45, 0x6d, 0x70, 0x6c, 0x6f, 0x79, 0x65, 0x65, 0x54, 0x6f, 0x74, 0x61, 0x6c, 0x50, 0x72, - 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x78, - 0x74, 0x52, 0x07, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x22, 0x58, 0x0a, 0x26, 0x52, 0x65, - 0x73, 0x6f, 0x6c, 0x76, 0x65, 0x45, 0x6d, 0x70, 0x6c, 0x6f, 0x79, 0x65, 0x65, 0x54, 0x6f, 0x74, - 0x61, 0x6c, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x52, 0x65, - 0x73, 0x75, 0x6c, 0x74, 0x12, 0x2e, 0x0a, 0x13, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x5f, 0x70, 0x72, - 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, - 0x05, 0x52, 0x11, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x43, - 0x6f, 0x75, 0x6e, 0x74, 0x22, 0x73, 0x0a, 0x28, 0x52, 0x65, 0x73, 0x6f, 0x6c, 0x76, 0x65, 0x45, - 0x6d, 0x70, 0x6c, 0x6f, 0x79, 0x65, 0x65, 0x54, 0x6f, 0x74, 0x61, 0x6c, 0x50, 0x72, 0x6f, 0x6a, - 0x65, 0x63, 0x74, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, - 0x12, 0x47, 0x0a, 0x06, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, - 0x32, 0x2f, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x52, 0x65, 0x73, 0x6f, 0x6c, - 0x76, 0x65, 0x45, 0x6d, 0x70, 0x6c, 0x6f, 0x79, 0x65, 0x65, 0x54, 0x6f, 0x74, 0x61, 0x6c, 0x50, - 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x52, 0x65, 0x73, 0x75, 0x6c, - 0x74, 0x52, 0x06, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x22, 0x83, 0x01, 0x0a, 0x2e, 0x52, 0x65, - 0x71, 0x75, 0x69, 0x72, 0x65, 0x45, 0x6d, 0x70, 0x6c, 0x6f, 0x79, 0x65, 0x65, 0x54, 0x61, 0x67, - 0x67, 0x65, 0x64, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x53, 0x75, 0x6d, 0x6d, 0x61, 0x72, - 0x79, 0x42, 0x79, 0x49, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x51, 0x0a, 0x07, - 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x37, 0x2e, - 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x52, 0x65, 0x71, 0x75, 0x69, 0x72, 0x65, 0x45, - 0x6d, 0x70, 0x6c, 0x6f, 0x79, 0x65, 0x65, 0x54, 0x61, 0x67, 0x67, 0x65, 0x64, 0x50, 0x72, 0x6f, - 0x6a, 0x65, 0x63, 0x74, 0x53, 0x75, 0x6d, 0x6d, 0x61, 0x72, 0x79, 0x42, 0x79, 0x49, 0x64, 0x43, - 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x52, 0x07, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x22, - 0xb9, 0x01, 0x0a, 0x2e, 0x52, 0x65, 0x71, 0x75, 0x69, 0x72, 0x65, 0x45, 0x6d, 0x70, 0x6c, 0x6f, - 0x79, 0x65, 0x65, 0x54, 0x61, 0x67, 0x67, 0x65, 0x64, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, - 0x53, 0x75, 0x6d, 0x6d, 0x61, 0x72, 0x79, 0x42, 0x79, 0x49, 0x64, 0x43, 0x6f, 0x6e, 0x74, 0x65, - 0x78, 0x74, 0x12, 0x37, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, - 0x25, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x4c, 0x6f, 0x6f, 0x6b, 0x75, 0x70, - 0x45, 0x6d, 0x70, 0x6c, 0x6f, 0x79, 0x65, 0x65, 0x42, 0x79, 0x49, 0x64, 0x52, 0x65, 0x71, 0x75, - 0x65, 0x73, 0x74, 0x4b, 0x65, 0x79, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x4e, 0x0a, 0x06, 0x66, - 0x69, 0x65, 0x6c, 0x64, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x36, 0x2e, 0x73, 0x65, - 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x52, 0x65, 0x71, 0x75, 0x69, 0x72, 0x65, 0x45, 0x6d, 0x70, - 0x6c, 0x6f, 0x79, 0x65, 0x65, 0x54, 0x61, 0x67, 0x67, 0x65, 0x64, 0x50, 0x72, 0x6f, 0x6a, 0x65, - 0x63, 0x74, 0x53, 0x75, 0x6d, 0x6d, 0x61, 0x72, 0x79, 0x42, 0x79, 0x49, 0x64, 0x46, 0x69, 0x65, - 0x6c, 0x64, 0x73, 0x52, 0x06, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x73, 0x22, 0x81, 0x01, 0x0a, 0x2f, - 0x52, 0x65, 0x71, 0x75, 0x69, 0x72, 0x65, 0x45, 0x6d, 0x70, 0x6c, 0x6f, 0x79, 0x65, 0x65, 0x54, - 0x61, 0x67, 0x67, 0x65, 0x64, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x53, 0x75, 0x6d, 0x6d, - 0x61, 0x72, 0x79, 0x42, 0x79, 0x49, 0x64, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, - 0x4e, 0x0a, 0x06, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, - 0x36, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x52, 0x65, 0x71, 0x75, 0x69, 0x72, - 0x65, 0x45, 0x6d, 0x70, 0x6c, 0x6f, 0x79, 0x65, 0x65, 0x54, 0x61, 0x67, 0x67, 0x65, 0x64, 0x50, - 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x53, 0x75, 0x6d, 0x6d, 0x61, 0x72, 0x79, 0x42, 0x79, 0x49, - 0x64, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x52, 0x06, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x22, - 0x65, 0x0a, 0x2d, 0x52, 0x65, 0x71, 0x75, 0x69, 0x72, 0x65, 0x45, 0x6d, 0x70, 0x6c, 0x6f, 0x79, - 0x65, 0x65, 0x54, 0x61, 0x67, 0x67, 0x65, 0x64, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x53, - 0x75, 0x6d, 0x6d, 0x61, 0x72, 0x79, 0x42, 0x79, 0x49, 0x64, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, - 0x12, 0x34, 0x0a, 0x16, 0x74, 0x61, 0x67, 0x67, 0x65, 0x64, 0x5f, 0x70, 0x72, 0x6f, 0x6a, 0x65, - 0x63, 0x74, 0x5f, 0x73, 0x75, 0x6d, 0x6d, 0x61, 0x72, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, - 0x52, 0x14, 0x74, 0x61, 0x67, 0x67, 0x65, 0x64, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x53, - 0x75, 0x6d, 0x6d, 0x61, 0x72, 0x79, 0x22, 0x4d, 0x0a, 0x2d, 0x52, 0x65, 0x71, 0x75, 0x69, 0x72, - 0x65, 0x45, 0x6d, 0x70, 0x6c, 0x6f, 0x79, 0x65, 0x65, 0x54, 0x61, 0x67, 0x67, 0x65, 0x64, 0x50, - 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x53, 0x75, 0x6d, 0x6d, 0x61, 0x72, 0x79, 0x42, 0x79, 0x49, - 0x64, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x73, 0x12, 0x1c, 0x0a, 0x09, 0x65, 0x78, 0x70, 0x65, 0x72, - 0x74, 0x69, 0x73, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x65, 0x78, 0x70, 0x65, - 0x72, 0x74, 0x69, 0x73, 0x65, 0x22, 0xde, 0x01, 0x0a, 0x30, 0x52, 0x65, 0x71, 0x75, 0x69, 0x72, - 0x65, 0x45, 0x6d, 0x70, 0x6c, 0x6f, 0x79, 0x65, 0x65, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x65, - 0x64, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x53, 0x75, 0x6d, 0x6d, 0x61, 0x72, 0x79, 0x42, - 0x79, 0x49, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x53, 0x0a, 0x07, 0x63, 0x6f, - 0x6e, 0x74, 0x65, 0x78, 0x74, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x39, 0x2e, 0x73, 0x65, - 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x52, 0x65, 0x71, 0x75, 0x69, 0x72, 0x65, 0x45, 0x6d, 0x70, - 0x6c, 0x6f, 0x79, 0x65, 0x65, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x65, 0x64, 0x50, 0x72, 0x6f, - 0x6a, 0x65, 0x63, 0x74, 0x53, 0x75, 0x6d, 0x6d, 0x61, 0x72, 0x79, 0x42, 0x79, 0x49, 0x64, 0x43, - 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x52, 0x07, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x12, - 0x55, 0x0a, 0x0a, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x5f, 0x61, 0x72, 0x67, 0x73, 0x18, 0x02, 0x20, - 0x01, 0x28, 0x0b, 0x32, 0x36, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x52, 0x65, - 0x71, 0x75, 0x69, 0x72, 0x65, 0x45, 0x6d, 0x70, 0x6c, 0x6f, 0x79, 0x65, 0x65, 0x46, 0x69, 0x6c, - 0x74, 0x65, 0x72, 0x65, 0x64, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x53, 0x75, 0x6d, 0x6d, - 0x61, 0x72, 0x79, 0x42, 0x79, 0x49, 0x64, 0x41, 0x72, 0x67, 0x73, 0x52, 0x09, 0x66, 0x69, 0x65, - 0x6c, 0x64, 0x41, 0x72, 0x67, 0x73, 0x22, 0xbd, 0x01, 0x0a, 0x30, 0x52, 0x65, 0x71, 0x75, 0x69, - 0x72, 0x65, 0x45, 0x6d, 0x70, 0x6c, 0x6f, 0x79, 0x65, 0x65, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, - 0x65, 0x64, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x53, 0x75, 0x6d, 0x6d, 0x61, 0x72, 0x79, - 0x42, 0x79, 0x49, 0x64, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x12, 0x37, 0x0a, 0x03, 0x6b, - 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x25, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, - 0x63, 0x65, 0x2e, 0x4c, 0x6f, 0x6f, 0x6b, 0x75, 0x70, 0x45, 0x6d, 0x70, 0x6c, 0x6f, 0x79, 0x65, - 0x65, 0x42, 0x79, 0x49, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x4b, 0x65, 0x79, 0x52, - 0x03, 0x6b, 0x65, 0x79, 0x12, 0x50, 0x0a, 0x06, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x73, 0x18, 0x02, - 0x20, 0x01, 0x28, 0x0b, 0x32, 0x38, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x52, - 0x65, 0x71, 0x75, 0x69, 0x72, 0x65, 0x45, 0x6d, 0x70, 0x6c, 0x6f, 0x79, 0x65, 0x65, 0x46, 0x69, - 0x6c, 0x74, 0x65, 0x72, 0x65, 0x64, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x53, 0x75, 0x6d, - 0x6d, 0x61, 0x72, 0x79, 0x42, 0x79, 0x49, 0x64, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x73, 0x52, 0x06, - 0x66, 0x69, 0x65, 0x6c, 0x64, 0x73, 0x22, 0x41, 0x0a, 0x2d, 0x52, 0x65, 0x71, 0x75, 0x69, 0x72, - 0x65, 0x45, 0x6d, 0x70, 0x6c, 0x6f, 0x79, 0x65, 0x65, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x65, - 0x64, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x53, 0x75, 0x6d, 0x6d, 0x61, 0x72, 0x79, 0x42, - 0x79, 0x49, 0x64, 0x41, 0x72, 0x67, 0x73, 0x12, 0x10, 0x0a, 0x03, 0x74, 0x61, 0x67, 0x18, 0x01, - 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x74, 0x61, 0x67, 0x22, 0x85, 0x01, 0x0a, 0x31, 0x52, 0x65, - 0x71, 0x75, 0x69, 0x72, 0x65, 0x45, 0x6d, 0x70, 0x6c, 0x6f, 0x79, 0x65, 0x65, 0x46, 0x69, 0x6c, - 0x74, 0x65, 0x72, 0x65, 0x64, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x53, 0x75, 0x6d, 0x6d, - 0x61, 0x72, 0x79, 0x42, 0x79, 0x49, 0x64, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, - 0x50, 0x0a, 0x06, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, - 0x38, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x52, 0x65, 0x71, 0x75, 0x69, 0x72, - 0x65, 0x45, 0x6d, 0x70, 0x6c, 0x6f, 0x79, 0x65, 0x65, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x65, - 0x64, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x53, 0x75, 0x6d, 0x6d, 0x61, 0x72, 0x79, 0x42, - 0x79, 0x49, 0x64, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x52, 0x06, 0x72, 0x65, 0x73, 0x75, 0x6c, - 0x74, 0x22, 0x6b, 0x0a, 0x2f, 0x52, 0x65, 0x71, 0x75, 0x69, 0x72, 0x65, 0x45, 0x6d, 0x70, 0x6c, - 0x6f, 0x79, 0x65, 0x65, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x65, 0x64, 0x50, 0x72, 0x6f, 0x6a, - 0x65, 0x63, 0x74, 0x53, 0x75, 0x6d, 0x6d, 0x61, 0x72, 0x79, 0x42, 0x79, 0x49, 0x64, 0x52, 0x65, - 0x73, 0x75, 0x6c, 0x74, 0x12, 0x38, 0x0a, 0x18, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x65, 0x64, - 0x5f, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x73, 0x75, 0x6d, 0x6d, 0x61, 0x72, 0x79, - 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x16, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x65, 0x64, - 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x53, 0x75, 0x6d, 0x6d, 0x61, 0x72, 0x79, 0x22, 0x4f, - 0x0a, 0x2f, 0x52, 0x65, 0x71, 0x75, 0x69, 0x72, 0x65, 0x45, 0x6d, 0x70, 0x6c, 0x6f, 0x79, 0x65, - 0x65, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x65, 0x64, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, - 0x53, 0x75, 0x6d, 0x6d, 0x61, 0x72, 0x79, 0x42, 0x79, 0x49, 0x64, 0x46, 0x69, 0x65, 0x6c, 0x64, - 0x73, 0x12, 0x1c, 0x0a, 0x09, 0x65, 0x78, 0x70, 0x65, 0x72, 0x74, 0x69, 0x73, 0x65, 0x18, 0x01, - 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x65, 0x78, 0x70, 0x65, 0x72, 0x74, 0x69, 0x73, 0x65, 0x22, - 0x73, 0x0a, 0x26, 0x52, 0x65, 0x71, 0x75, 0x69, 0x72, 0x65, 0x45, 0x6d, 0x70, 0x6c, 0x6f, 0x79, - 0x65, 0x65, 0x57, 0x6f, 0x72, 0x6b, 0x49, 0x74, 0x65, 0x6d, 0x49, 0x6e, 0x66, 0x6f, 0x42, 0x79, - 0x49, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x49, 0x0a, 0x07, 0x63, 0x6f, 0x6e, - 0x74, 0x65, 0x78, 0x74, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2f, 0x2e, 0x73, 0x65, 0x72, - 0x76, 0x69, 0x63, 0x65, 0x2e, 0x52, 0x65, 0x71, 0x75, 0x69, 0x72, 0x65, 0x45, 0x6d, 0x70, 0x6c, - 0x6f, 0x79, 0x65, 0x65, 0x57, 0x6f, 0x72, 0x6b, 0x49, 0x74, 0x65, 0x6d, 0x49, 0x6e, 0x66, 0x6f, - 0x42, 0x79, 0x49, 0x64, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x52, 0x07, 0x63, 0x6f, 0x6e, - 0x74, 0x65, 0x78, 0x74, 0x22, 0xa9, 0x01, 0x0a, 0x26, 0x52, 0x65, 0x71, 0x75, 0x69, 0x72, 0x65, - 0x45, 0x6d, 0x70, 0x6c, 0x6f, 0x79, 0x65, 0x65, 0x57, 0x6f, 0x72, 0x6b, 0x49, 0x74, 0x65, 0x6d, - 0x49, 0x6e, 0x66, 0x6f, 0x42, 0x79, 0x49, 0x64, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x12, - 0x37, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x25, 0x2e, 0x73, - 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x4c, 0x6f, 0x6f, 0x6b, 0x75, 0x70, 0x45, 0x6d, 0x70, - 0x6c, 0x6f, 0x79, 0x65, 0x65, 0x42, 0x79, 0x49, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, - 0x4b, 0x65, 0x79, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x46, 0x0a, 0x06, 0x66, 0x69, 0x65, 0x6c, - 0x64, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2e, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, - 0x63, 0x65, 0x2e, 0x52, 0x65, 0x71, 0x75, 0x69, 0x72, 0x65, 0x45, 0x6d, 0x70, 0x6c, 0x6f, 0x79, - 0x65, 0x65, 0x57, 0x6f, 0x72, 0x6b, 0x49, 0x74, 0x65, 0x6d, 0x49, 0x6e, 0x66, 0x6f, 0x42, 0x79, - 0x49, 0x64, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x73, 0x52, 0x06, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x73, - 0x22, 0x71, 0x0a, 0x27, 0x52, 0x65, 0x71, 0x75, 0x69, 0x72, 0x65, 0x45, 0x6d, 0x70, 0x6c, 0x6f, - 0x79, 0x65, 0x65, 0x57, 0x6f, 0x72, 0x6b, 0x49, 0x74, 0x65, 0x6d, 0x49, 0x6e, 0x66, 0x6f, 0x42, - 0x79, 0x49, 0x64, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x46, 0x0a, 0x06, 0x72, - 0x65, 0x73, 0x75, 0x6c, 0x74, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2e, 0x2e, 0x73, 0x65, - 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x52, 0x65, 0x71, 0x75, 0x69, 0x72, 0x65, 0x45, 0x6d, 0x70, - 0x6c, 0x6f, 0x79, 0x65, 0x65, 0x57, 0x6f, 0x72, 0x6b, 0x49, 0x74, 0x65, 0x6d, 0x49, 0x6e, 0x66, - 0x6f, 0x42, 0x79, 0x49, 0x64, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x52, 0x06, 0x72, 0x65, 0x73, - 0x75, 0x6c, 0x74, 0x22, 0x4d, 0x0a, 0x25, 0x52, 0x65, 0x71, 0x75, 0x69, 0x72, 0x65, 0x45, 0x6d, - 0x70, 0x6c, 0x6f, 0x79, 0x65, 0x65, 0x57, 0x6f, 0x72, 0x6b, 0x49, 0x74, 0x65, 0x6d, 0x49, 0x6e, - 0x66, 0x6f, 0x42, 0x79, 0x49, 0x64, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x12, 0x24, 0x0a, 0x0e, - 0x77, 0x6f, 0x72, 0x6b, 0x5f, 0x69, 0x74, 0x65, 0x6d, 0x5f, 0x69, 0x6e, 0x66, 0x6f, 0x18, 0x01, - 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x77, 0x6f, 0x72, 0x6b, 0x49, 0x74, 0x65, 0x6d, 0x49, 0x6e, - 0x66, 0x6f, 0x22, 0xaf, 0x04, 0x0a, 0x25, 0x52, 0x65, 0x71, 0x75, 0x69, 0x72, 0x65, 0x45, 0x6d, - 0x70, 0x6c, 0x6f, 0x79, 0x65, 0x65, 0x57, 0x6f, 0x72, 0x6b, 0x49, 0x74, 0x65, 0x6d, 0x49, 0x6e, - 0x66, 0x6f, 0x42, 0x79, 0x49, 0x64, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x73, 0x12, 0x6b, 0x0a, 0x11, - 0x70, 0x72, 0x69, 0x6d, 0x61, 0x72, 0x79, 0x5f, 0x77, 0x6f, 0x72, 0x6b, 0x5f, 0x69, 0x74, 0x65, - 0x6d, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x3f, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, - 0x65, 0x2e, 0x52, 0x65, 0x71, 0x75, 0x69, 0x72, 0x65, 0x45, 0x6d, 0x70, 0x6c, 0x6f, 0x79, 0x65, - 0x65, 0x57, 0x6f, 0x72, 0x6b, 0x49, 0x74, 0x65, 0x6d, 0x49, 0x6e, 0x66, 0x6f, 0x42, 0x79, 0x49, - 0x64, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x73, 0x2e, 0x45, 0x6d, 0x70, 0x6c, 0x6f, 0x79, 0x65, 0x65, - 0x57, 0x6f, 0x72, 0x6b, 0x49, 0x74, 0x65, 0x6d, 0x52, 0x0f, 0x70, 0x72, 0x69, 0x6d, 0x61, 0x72, - 0x79, 0x57, 0x6f, 0x72, 0x6b, 0x49, 0x74, 0x65, 0x6d, 0x1a, 0x46, 0x0a, 0x11, 0x54, 0x65, 0x63, - 0x68, 0x6e, 0x69, 0x63, 0x61, 0x6c, 0x57, 0x6f, 0x72, 0x6b, 0x49, 0x74, 0x65, 0x6d, 0x12, 0x12, - 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, - 0x6d, 0x65, 0x12, 0x1d, 0x0a, 0x0a, 0x63, 0x6f, 0x64, 0x65, 0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74, - 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x09, 0x63, 0x6f, 0x64, 0x65, 0x43, 0x6f, 0x75, 0x6e, - 0x74, 0x1a, 0x45, 0x0a, 0x12, 0x4d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x57, - 0x6f, 0x72, 0x6b, 0x49, 0x74, 0x65, 0x6d, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, - 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x1b, 0x0a, 0x09, 0x74, - 0x65, 0x61, 0x6d, 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, - 0x74, 0x65, 0x61, 0x6d, 0x53, 0x69, 0x7a, 0x65, 0x1a, 0x89, 0x02, 0x0a, 0x10, 0x45, 0x6d, 0x70, - 0x6c, 0x6f, 0x79, 0x65, 0x65, 0x57, 0x6f, 0x72, 0x6b, 0x49, 0x74, 0x65, 0x6d, 0x12, 0x75, 0x0a, - 0x14, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x5f, 0x77, 0x6f, 0x72, 0x6b, - 0x5f, 0x69, 0x74, 0x65, 0x6d, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x41, 0x2e, 0x73, 0x65, - 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x52, 0x65, 0x71, 0x75, 0x69, 0x72, 0x65, 0x45, 0x6d, 0x70, - 0x6c, 0x6f, 0x79, 0x65, 0x65, 0x57, 0x6f, 0x72, 0x6b, 0x49, 0x74, 0x65, 0x6d, 0x49, 0x6e, 0x66, - 0x6f, 0x42, 0x79, 0x49, 0x64, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x73, 0x2e, 0x4d, 0x61, 0x6e, 0x61, - 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x57, 0x6f, 0x72, 0x6b, 0x49, 0x74, 0x65, 0x6d, 0x48, 0x00, - 0x52, 0x12, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x57, 0x6f, 0x72, 0x6b, - 0x49, 0x74, 0x65, 0x6d, 0x12, 0x72, 0x0a, 0x13, 0x74, 0x65, 0x63, 0x68, 0x6e, 0x69, 0x63, 0x61, - 0x6c, 0x5f, 0x77, 0x6f, 0x72, 0x6b, 0x5f, 0x69, 0x74, 0x65, 0x6d, 0x18, 0x02, 0x20, 0x01, 0x28, - 0x0b, 0x32, 0x40, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x52, 0x65, 0x71, 0x75, - 0x69, 0x72, 0x65, 0x45, 0x6d, 0x70, 0x6c, 0x6f, 0x79, 0x65, 0x65, 0x57, 0x6f, 0x72, 0x6b, 0x49, - 0x74, 0x65, 0x6d, 0x49, 0x6e, 0x66, 0x6f, 0x42, 0x79, 0x49, 0x64, 0x46, 0x69, 0x65, 0x6c, 0x64, - 0x73, 0x2e, 0x54, 0x65, 0x63, 0x68, 0x6e, 0x69, 0x63, 0x61, 0x6c, 0x57, 0x6f, 0x72, 0x6b, 0x49, - 0x74, 0x65, 0x6d, 0x48, 0x00, 0x52, 0x11, 0x74, 0x65, 0x63, 0x68, 0x6e, 0x69, 0x63, 0x61, 0x6c, - 0x57, 0x6f, 0x72, 0x6b, 0x49, 0x74, 0x65, 0x6d, 0x42, 0x0a, 0x0a, 0x08, 0x69, 0x6e, 0x73, 0x74, - 0x61, 0x6e, 0x63, 0x65, 0x22, 0x73, 0x0a, 0x26, 0x52, 0x65, 0x71, 0x75, 0x69, 0x72, 0x65, 0x45, - 0x6d, 0x70, 0x6c, 0x6f, 0x79, 0x65, 0x65, 0x52, 0x65, 0x76, 0x69, 0x65, 0x77, 0x52, 0x65, 0x70, - 0x6f, 0x72, 0x74, 0x42, 0x79, 0x49, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x49, - 0x0a, 0x07, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, - 0x2f, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x52, 0x65, 0x71, 0x75, 0x69, 0x72, - 0x65, 0x45, 0x6d, 0x70, 0x6c, 0x6f, 0x79, 0x65, 0x65, 0x52, 0x65, 0x76, 0x69, 0x65, 0x77, 0x52, - 0x65, 0x70, 0x6f, 0x72, 0x74, 0x42, 0x79, 0x49, 0x64, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, - 0x52, 0x07, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x22, 0xa9, 0x01, 0x0a, 0x26, 0x52, 0x65, - 0x71, 0x75, 0x69, 0x72, 0x65, 0x45, 0x6d, 0x70, 0x6c, 0x6f, 0x79, 0x65, 0x65, 0x52, 0x65, 0x76, - 0x69, 0x65, 0x77, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x42, 0x79, 0x49, 0x64, 0x43, 0x6f, 0x6e, - 0x74, 0x65, 0x78, 0x74, 0x12, 0x37, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, - 0x0b, 0x32, 0x25, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x4c, 0x6f, 0x6f, 0x6b, - 0x75, 0x70, 0x45, 0x6d, 0x70, 0x6c, 0x6f, 0x79, 0x65, 0x65, 0x42, 0x79, 0x49, 0x64, 0x52, 0x65, - 0x71, 0x75, 0x65, 0x73, 0x74, 0x4b, 0x65, 0x79, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x46, 0x0a, - 0x06, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2e, 0x2e, - 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x52, 0x65, 0x71, 0x75, 0x69, 0x72, 0x65, 0x45, - 0x6d, 0x70, 0x6c, 0x6f, 0x79, 0x65, 0x65, 0x52, 0x65, 0x76, 0x69, 0x65, 0x77, 0x52, 0x65, 0x70, - 0x6f, 0x72, 0x74, 0x42, 0x79, 0x49, 0x64, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x73, 0x52, 0x06, 0x66, - 0x69, 0x65, 0x6c, 0x64, 0x73, 0x22, 0x71, 0x0a, 0x27, 0x52, 0x65, 0x71, 0x75, 0x69, 0x72, 0x65, - 0x45, 0x6d, 0x70, 0x6c, 0x6f, 0x79, 0x65, 0x65, 0x52, 0x65, 0x76, 0x69, 0x65, 0x77, 0x52, 0x65, - 0x70, 0x6f, 0x72, 0x74, 0x42, 0x79, 0x49, 0x64, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, - 0x12, 0x46, 0x0a, 0x06, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, - 0x32, 0x2e, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x52, 0x65, 0x71, 0x75, 0x69, - 0x72, 0x65, 0x45, 0x6d, 0x70, 0x6c, 0x6f, 0x79, 0x65, 0x65, 0x52, 0x65, 0x76, 0x69, 0x65, 0x77, - 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x42, 0x79, 0x49, 0x64, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, - 0x52, 0x06, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x22, 0x4c, 0x0a, 0x25, 0x52, 0x65, 0x71, 0x75, - 0x69, 0x72, 0x65, 0x45, 0x6d, 0x70, 0x6c, 0x6f, 0x79, 0x65, 0x65, 0x52, 0x65, 0x76, 0x69, 0x65, - 0x77, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x42, 0x79, 0x49, 0x64, 0x52, 0x65, 0x73, 0x75, 0x6c, - 0x74, 0x12, 0x23, 0x0a, 0x0d, 0x72, 0x65, 0x76, 0x69, 0x65, 0x77, 0x5f, 0x72, 0x65, 0x70, 0x6f, - 0x72, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x72, 0x65, 0x76, 0x69, 0x65, 0x77, - 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x22, 0x96, 0x04, 0x0a, 0x25, 0x52, 0x65, 0x71, 0x75, 0x69, - 0x72, 0x65, 0x45, 0x6d, 0x70, 0x6c, 0x6f, 0x79, 0x65, 0x65, 0x52, 0x65, 0x76, 0x69, 0x65, 0x77, - 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x42, 0x79, 0x49, 0x64, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x73, - 0x12, 0x69, 0x0a, 0x10, 0x6c, 0x61, 0x73, 0x74, 0x5f, 0x77, 0x6f, 0x72, 0x6b, 0x5f, 0x72, 0x65, - 0x76, 0x69, 0x65, 0x77, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x3f, 0x2e, 0x73, 0x65, 0x72, - 0x76, 0x69, 0x63, 0x65, 0x2e, 0x52, 0x65, 0x71, 0x75, 0x69, 0x72, 0x65, 0x45, 0x6d, 0x70, 0x6c, - 0x6f, 0x79, 0x65, 0x65, 0x52, 0x65, 0x76, 0x69, 0x65, 0x77, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, - 0x42, 0x79, 0x49, 0x64, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x73, 0x2e, 0x57, 0x6f, 0x72, 0x6b, 0x52, - 0x65, 0x76, 0x69, 0x65, 0x77, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x52, 0x0e, 0x6c, 0x61, 0x73, - 0x74, 0x57, 0x6f, 0x72, 0x6b, 0x52, 0x65, 0x76, 0x69, 0x65, 0x77, 0x1a, 0x49, 0x0a, 0x0c, 0x57, - 0x6f, 0x72, 0x6b, 0x41, 0x70, 0x70, 0x72, 0x6f, 0x76, 0x61, 0x6c, 0x12, 0x18, 0x0a, 0x07, 0x63, - 0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x63, 0x6f, - 0x6d, 0x6d, 0x65, 0x6e, 0x74, 0x12, 0x1f, 0x0a, 0x0b, 0x61, 0x70, 0x70, 0x72, 0x6f, 0x76, 0x65, - 0x64, 0x5f, 0x61, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x61, 0x70, 0x70, 0x72, - 0x6f, 0x76, 0x65, 0x64, 0x41, 0x74, 0x1a, 0x4e, 0x0a, 0x0d, 0x57, 0x6f, 0x72, 0x6b, 0x52, 0x65, - 0x6a, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x16, 0x0a, 0x06, 0x72, 0x65, 0x61, 0x73, 0x6f, - 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x72, 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x12, - 0x25, 0x0a, 0x0e, 0x72, 0x65, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x63, 0x6f, 0x64, - 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x72, 0x65, 0x6a, 0x65, 0x63, 0x74, 0x69, - 0x6f, 0x6e, 0x43, 0x6f, 0x64, 0x65, 0x1a, 0xe6, 0x01, 0x0a, 0x10, 0x57, 0x6f, 0x72, 0x6b, 0x52, - 0x65, 0x76, 0x69, 0x65, 0x77, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x12, 0x62, 0x0a, 0x0d, 0x77, - 0x6f, 0x72, 0x6b, 0x5f, 0x61, 0x70, 0x70, 0x72, 0x6f, 0x76, 0x61, 0x6c, 0x18, 0x01, 0x20, 0x01, - 0x28, 0x0b, 0x32, 0x3b, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x52, 0x65, 0x71, - 0x75, 0x69, 0x72, 0x65, 0x45, 0x6d, 0x70, 0x6c, 0x6f, 0x79, 0x65, 0x65, 0x52, 0x65, 0x76, 0x69, - 0x65, 0x77, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x42, 0x79, 0x49, 0x64, 0x46, 0x69, 0x65, 0x6c, - 0x64, 0x73, 0x2e, 0x57, 0x6f, 0x72, 0x6b, 0x41, 0x70, 0x70, 0x72, 0x6f, 0x76, 0x61, 0x6c, 0x48, - 0x00, 0x52, 0x0c, 0x77, 0x6f, 0x72, 0x6b, 0x41, 0x70, 0x70, 0x72, 0x6f, 0x76, 0x61, 0x6c, 0x12, - 0x65, 0x0a, 0x0e, 0x77, 0x6f, 0x72, 0x6b, 0x5f, 0x72, 0x65, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x6f, - 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x3c, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, - 0x65, 0x2e, 0x52, 0x65, 0x71, 0x75, 0x69, 0x72, 0x65, 0x45, 0x6d, 0x70, 0x6c, 0x6f, 0x79, 0x65, - 0x65, 0x52, 0x65, 0x76, 0x69, 0x65, 0x77, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x42, 0x79, 0x49, - 0x64, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x73, 0x2e, 0x57, 0x6f, 0x72, 0x6b, 0x52, 0x65, 0x6a, 0x65, - 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x48, 0x00, 0x52, 0x0d, 0x77, 0x6f, 0x72, 0x6b, 0x52, 0x65, 0x6a, - 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x42, 0x07, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x22, - 0x7b, 0x0a, 0x2a, 0x52, 0x65, 0x71, 0x75, 0x69, 0x72, 0x65, 0x45, 0x6d, 0x70, 0x6c, 0x6f, 0x79, - 0x65, 0x65, 0x57, 0x6f, 0x72, 0x6b, 0x53, 0x65, 0x74, 0x75, 0x70, 0x53, 0x75, 0x6d, 0x6d, 0x61, - 0x72, 0x79, 0x42, 0x79, 0x49, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x4d, 0x0a, - 0x07, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x33, - 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x52, 0x65, 0x71, 0x75, 0x69, 0x72, 0x65, - 0x45, 0x6d, 0x70, 0x6c, 0x6f, 0x79, 0x65, 0x65, 0x57, 0x6f, 0x72, 0x6b, 0x53, 0x65, 0x74, 0x75, - 0x70, 0x53, 0x75, 0x6d, 0x6d, 0x61, 0x72, 0x79, 0x42, 0x79, 0x49, 0x64, 0x43, 0x6f, 0x6e, 0x74, - 0x65, 0x78, 0x74, 0x52, 0x07, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x22, 0xb1, 0x01, 0x0a, - 0x2a, 0x52, 0x65, 0x71, 0x75, 0x69, 0x72, 0x65, 0x45, 0x6d, 0x70, 0x6c, 0x6f, 0x79, 0x65, 0x65, - 0x57, 0x6f, 0x72, 0x6b, 0x53, 0x65, 0x74, 0x75, 0x70, 0x53, 0x75, 0x6d, 0x6d, 0x61, 0x72, 0x79, - 0x42, 0x79, 0x49, 0x64, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x12, 0x37, 0x0a, 0x03, 0x6b, - 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x25, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, - 0x63, 0x65, 0x2e, 0x4c, 0x6f, 0x6f, 0x6b, 0x75, 0x70, 0x45, 0x6d, 0x70, 0x6c, 0x6f, 0x79, 0x65, - 0x65, 0x42, 0x79, 0x49, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x4b, 0x65, 0x79, 0x52, - 0x03, 0x6b, 0x65, 0x79, 0x12, 0x4a, 0x0a, 0x06, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x73, 0x18, 0x02, - 0x20, 0x01, 0x28, 0x0b, 0x32, 0x32, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x52, - 0x65, 0x71, 0x75, 0x69, 0x72, 0x65, 0x45, 0x6d, 0x70, 0x6c, 0x6f, 0x79, 0x65, 0x65, 0x57, 0x6f, - 0x72, 0x6b, 0x53, 0x65, 0x74, 0x75, 0x70, 0x53, 0x75, 0x6d, 0x6d, 0x61, 0x72, 0x79, 0x42, 0x79, - 0x49, 0x64, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x73, 0x52, 0x06, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x73, - 0x22, 0x79, 0x0a, 0x2b, 0x52, 0x65, 0x71, 0x75, 0x69, 0x72, 0x65, 0x45, 0x6d, 0x70, 0x6c, 0x6f, - 0x79, 0x65, 0x65, 0x57, 0x6f, 0x72, 0x6b, 0x53, 0x65, 0x74, 0x75, 0x70, 0x53, 0x75, 0x6d, 0x6d, - 0x61, 0x72, 0x79, 0x42, 0x79, 0x49, 0x64, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, - 0x4a, 0x0a, 0x06, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, - 0x32, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x52, 0x65, 0x71, 0x75, 0x69, 0x72, - 0x65, 0x45, 0x6d, 0x70, 0x6c, 0x6f, 0x79, 0x65, 0x65, 0x57, 0x6f, 0x72, 0x6b, 0x53, 0x65, 0x74, - 0x75, 0x70, 0x53, 0x75, 0x6d, 0x6d, 0x61, 0x72, 0x79, 0x42, 0x79, 0x49, 0x64, 0x52, 0x65, 0x73, - 0x75, 0x6c, 0x74, 0x52, 0x06, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x22, 0x59, 0x0a, 0x29, 0x52, - 0x65, 0x71, 0x75, 0x69, 0x72, 0x65, 0x45, 0x6d, 0x70, 0x6c, 0x6f, 0x79, 0x65, 0x65, 0x57, 0x6f, - 0x72, 0x6b, 0x53, 0x65, 0x74, 0x75, 0x70, 0x53, 0x75, 0x6d, 0x6d, 0x61, 0x72, 0x79, 0x42, 0x79, - 0x49, 0x64, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x12, 0x2c, 0x0a, 0x12, 0x77, 0x6f, 0x72, 0x6b, - 0x5f, 0x73, 0x65, 0x74, 0x75, 0x70, 0x5f, 0x73, 0x75, 0x6d, 0x6d, 0x61, 0x72, 0x79, 0x18, 0x01, - 0x20, 0x01, 0x28, 0x09, 0x52, 0x10, 0x77, 0x6f, 0x72, 0x6b, 0x53, 0x65, 0x74, 0x75, 0x70, 0x53, - 0x75, 0x6d, 0x6d, 0x61, 0x72, 0x79, 0x22, 0xdd, 0x05, 0x0a, 0x29, 0x52, 0x65, 0x71, 0x75, 0x69, - 0x72, 0x65, 0x45, 0x6d, 0x70, 0x6c, 0x6f, 0x79, 0x65, 0x65, 0x57, 0x6f, 0x72, 0x6b, 0x53, 0x65, - 0x74, 0x75, 0x70, 0x53, 0x75, 0x6d, 0x6d, 0x61, 0x72, 0x79, 0x42, 0x79, 0x49, 0x64, 0x46, 0x69, - 0x65, 0x6c, 0x64, 0x73, 0x12, 0x5b, 0x0a, 0x0a, 0x77, 0x6f, 0x72, 0x6b, 0x5f, 0x73, 0x65, 0x74, - 0x75, 0x70, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x3c, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, - 0x63, 0x65, 0x2e, 0x52, 0x65, 0x71, 0x75, 0x69, 0x72, 0x65, 0x45, 0x6d, 0x70, 0x6c, 0x6f, 0x79, - 0x65, 0x65, 0x57, 0x6f, 0x72, 0x6b, 0x53, 0x65, 0x74, 0x75, 0x70, 0x53, 0x75, 0x6d, 0x6d, 0x61, - 0x72, 0x79, 0x42, 0x79, 0x49, 0x64, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x73, 0x2e, 0x57, 0x6f, 0x72, - 0x6b, 0x53, 0x65, 0x74, 0x75, 0x70, 0x52, 0x09, 0x77, 0x6f, 0x72, 0x6b, 0x53, 0x65, 0x74, 0x75, - 0x70, 0x1a, 0xd2, 0x04, 0x0a, 0x09, 0x57, 0x6f, 0x72, 0x6b, 0x53, 0x65, 0x74, 0x75, 0x70, 0x12, - 0x1a, 0x0a, 0x08, 0x70, 0x72, 0x69, 0x6f, 0x72, 0x69, 0x74, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, - 0x09, 0x52, 0x08, 0x70, 0x72, 0x69, 0x6f, 0x72, 0x69, 0x74, 0x79, 0x12, 0x70, 0x0a, 0x0c, 0x70, - 0x72, 0x69, 0x6d, 0x61, 0x72, 0x79, 0x5f, 0x69, 0x74, 0x65, 0x6d, 0x18, 0x02, 0x20, 0x01, 0x28, - 0x0b, 0x32, 0x4d, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x52, 0x65, 0x71, 0x75, - 0x69, 0x72, 0x65, 0x45, 0x6d, 0x70, 0x6c, 0x6f, 0x79, 0x65, 0x65, 0x57, 0x6f, 0x72, 0x6b, 0x53, - 0x65, 0x74, 0x75, 0x70, 0x53, 0x75, 0x6d, 0x6d, 0x61, 0x72, 0x79, 0x42, 0x79, 0x49, 0x64, 0x46, - 0x69, 0x65, 0x6c, 0x64, 0x73, 0x2e, 0x57, 0x6f, 0x72, 0x6b, 0x53, 0x65, 0x74, 0x75, 0x70, 0x2e, - 0x45, 0x6d, 0x70, 0x6c, 0x6f, 0x79, 0x65, 0x65, 0x57, 0x6f, 0x72, 0x6b, 0x49, 0x74, 0x65, 0x6d, - 0x52, 0x0b, 0x70, 0x72, 0x69, 0x6d, 0x61, 0x72, 0x79, 0x49, 0x74, 0x65, 0x6d, 0x1a, 0x46, 0x0a, - 0x11, 0x54, 0x65, 0x63, 0x68, 0x6e, 0x69, 0x63, 0x61, 0x6c, 0x57, 0x6f, 0x72, 0x6b, 0x49, 0x74, - 0x65, 0x6d, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, - 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x1d, 0x0a, 0x0a, 0x63, 0x6f, 0x64, 0x65, 0x5f, 0x63, - 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x09, 0x63, 0x6f, 0x64, 0x65, - 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x1a, 0x45, 0x0a, 0x12, 0x4d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x6d, - 0x65, 0x6e, 0x74, 0x57, 0x6f, 0x72, 0x6b, 0x49, 0x74, 0x65, 0x6d, 0x12, 0x12, 0x0a, 0x04, 0x6e, - 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, - 0x1b, 0x0a, 0x09, 0x74, 0x65, 0x61, 0x6d, 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x18, 0x02, 0x20, 0x01, - 0x28, 0x09, 0x52, 0x08, 0x74, 0x65, 0x61, 0x6d, 0x53, 0x69, 0x7a, 0x65, 0x1a, 0xa7, 0x02, 0x0a, - 0x10, 0x45, 0x6d, 0x70, 0x6c, 0x6f, 0x79, 0x65, 0x65, 0x57, 0x6f, 0x72, 0x6b, 0x49, 0x74, 0x65, - 0x6d, 0x12, 0x83, 0x01, 0x0a, 0x14, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, - 0x5f, 0x77, 0x6f, 0x72, 0x6b, 0x5f, 0x69, 0x74, 0x65, 0x6d, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, - 0x32, 0x4f, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x52, 0x65, 0x71, 0x75, 0x69, - 0x72, 0x65, 0x45, 0x6d, 0x70, 0x6c, 0x6f, 0x79, 0x65, 0x65, 0x57, 0x6f, 0x72, 0x6b, 0x53, 0x65, - 0x74, 0x75, 0x70, 0x53, 0x75, 0x6d, 0x6d, 0x61, 0x72, 0x79, 0x42, 0x79, 0x49, 0x64, 0x46, 0x69, - 0x65, 0x6c, 0x64, 0x73, 0x2e, 0x57, 0x6f, 0x72, 0x6b, 0x53, 0x65, 0x74, 0x75, 0x70, 0x2e, 0x4d, - 0x61, 0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x57, 0x6f, 0x72, 0x6b, 0x49, 0x74, 0x65, - 0x6d, 0x48, 0x00, 0x52, 0x12, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x57, - 0x6f, 0x72, 0x6b, 0x49, 0x74, 0x65, 0x6d, 0x12, 0x80, 0x01, 0x0a, 0x13, 0x74, 0x65, 0x63, 0x68, - 0x6e, 0x69, 0x63, 0x61, 0x6c, 0x5f, 0x77, 0x6f, 0x72, 0x6b, 0x5f, 0x69, 0x74, 0x65, 0x6d, 0x18, - 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x4e, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, - 0x52, 0x65, 0x71, 0x75, 0x69, 0x72, 0x65, 0x45, 0x6d, 0x70, 0x6c, 0x6f, 0x79, 0x65, 0x65, 0x57, - 0x6f, 0x72, 0x6b, 0x53, 0x65, 0x74, 0x75, 0x70, 0x53, 0x75, 0x6d, 0x6d, 0x61, 0x72, 0x79, 0x42, - 0x79, 0x49, 0x64, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x73, 0x2e, 0x57, 0x6f, 0x72, 0x6b, 0x53, 0x65, - 0x74, 0x75, 0x70, 0x2e, 0x54, 0x65, 0x63, 0x68, 0x6e, 0x69, 0x63, 0x61, 0x6c, 0x57, 0x6f, 0x72, - 0x6b, 0x49, 0x74, 0x65, 0x6d, 0x48, 0x00, 0x52, 0x11, 0x74, 0x65, 0x63, 0x68, 0x6e, 0x69, 0x63, - 0x61, 0x6c, 0x57, 0x6f, 0x72, 0x6b, 0x49, 0x74, 0x65, 0x6d, 0x42, 0x0a, 0x0a, 0x08, 0x69, 0x6e, - 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x22, 0x81, 0x01, 0x0a, 0x2d, 0x52, 0x65, 0x71, 0x75, 0x69, - 0x72, 0x65, 0x45, 0x6d, 0x70, 0x6c, 0x6f, 0x79, 0x65, 0x65, 0x57, 0x6f, 0x72, 0x6b, 0x49, 0x74, - 0x65, 0x6d, 0x48, 0x61, 0x6e, 0x64, 0x6c, 0x65, 0x72, 0x49, 0x6e, 0x66, 0x6f, 0x42, 0x79, 0x49, - 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x50, 0x0a, 0x07, 0x63, 0x6f, 0x6e, 0x74, - 0x65, 0x78, 0x74, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x36, 0x2e, 0x73, 0x65, 0x72, 0x76, - 0x69, 0x63, 0x65, 0x2e, 0x52, 0x65, 0x71, 0x75, 0x69, 0x72, 0x65, 0x45, 0x6d, 0x70, 0x6c, 0x6f, - 0x79, 0x65, 0x65, 0x57, 0x6f, 0x72, 0x6b, 0x49, 0x74, 0x65, 0x6d, 0x48, 0x61, 0x6e, 0x64, 0x6c, - 0x65, 0x72, 0x49, 0x6e, 0x66, 0x6f, 0x42, 0x79, 0x49, 0x64, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x78, - 0x74, 0x52, 0x07, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x22, 0xb7, 0x01, 0x0a, 0x2d, 0x52, - 0x65, 0x71, 0x75, 0x69, 0x72, 0x65, 0x45, 0x6d, 0x70, 0x6c, 0x6f, 0x79, 0x65, 0x65, 0x57, 0x6f, - 0x72, 0x6b, 0x49, 0x74, 0x65, 0x6d, 0x48, 0x61, 0x6e, 0x64, 0x6c, 0x65, 0x72, 0x49, 0x6e, 0x66, - 0x6f, 0x42, 0x79, 0x49, 0x64, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x12, 0x37, 0x0a, 0x03, - 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x25, 0x2e, 0x73, 0x65, 0x72, 0x76, - 0x69, 0x63, 0x65, 0x2e, 0x4c, 0x6f, 0x6f, 0x6b, 0x75, 0x70, 0x45, 0x6d, 0x70, 0x6c, 0x6f, 0x79, - 0x65, 0x65, 0x42, 0x79, 0x49, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x4b, 0x65, 0x79, - 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x4d, 0x0a, 0x06, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x73, 0x18, - 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x35, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, - 0x52, 0x65, 0x71, 0x75, 0x69, 0x72, 0x65, 0x45, 0x6d, 0x70, 0x6c, 0x6f, 0x79, 0x65, 0x65, 0x57, - 0x6f, 0x72, 0x6b, 0x49, 0x74, 0x65, 0x6d, 0x48, 0x61, 0x6e, 0x64, 0x6c, 0x65, 0x72, 0x49, 0x6e, - 0x66, 0x6f, 0x42, 0x79, 0x49, 0x64, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x73, 0x52, 0x06, 0x66, 0x69, - 0x65, 0x6c, 0x64, 0x73, 0x22, 0x7f, 0x0a, 0x2e, 0x52, 0x65, 0x71, 0x75, 0x69, 0x72, 0x65, 0x45, - 0x6d, 0x70, 0x6c, 0x6f, 0x79, 0x65, 0x65, 0x57, 0x6f, 0x72, 0x6b, 0x49, 0x74, 0x65, 0x6d, 0x48, - 0x61, 0x6e, 0x64, 0x6c, 0x65, 0x72, 0x49, 0x6e, 0x66, 0x6f, 0x42, 0x79, 0x49, 0x64, 0x52, 0x65, - 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x4d, 0x0a, 0x06, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, - 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x35, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, - 0x2e, 0x52, 0x65, 0x71, 0x75, 0x69, 0x72, 0x65, 0x45, 0x6d, 0x70, 0x6c, 0x6f, 0x79, 0x65, 0x65, - 0x57, 0x6f, 0x72, 0x6b, 0x49, 0x74, 0x65, 0x6d, 0x48, 0x61, 0x6e, 0x64, 0x6c, 0x65, 0x72, 0x49, - 0x6e, 0x66, 0x6f, 0x42, 0x79, 0x49, 0x64, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x52, 0x06, 0x72, - 0x65, 0x73, 0x75, 0x6c, 0x74, 0x22, 0x63, 0x0a, 0x2c, 0x52, 0x65, 0x71, 0x75, 0x69, 0x72, 0x65, - 0x45, 0x6d, 0x70, 0x6c, 0x6f, 0x79, 0x65, 0x65, 0x57, 0x6f, 0x72, 0x6b, 0x49, 0x74, 0x65, 0x6d, - 0x48, 0x61, 0x6e, 0x64, 0x6c, 0x65, 0x72, 0x49, 0x6e, 0x66, 0x6f, 0x42, 0x79, 0x49, 0x64, 0x52, - 0x65, 0x73, 0x75, 0x6c, 0x74, 0x12, 0x33, 0x0a, 0x16, 0x77, 0x6f, 0x72, 0x6b, 0x5f, 0x69, 0x74, - 0x65, 0x6d, 0x5f, 0x68, 0x61, 0x6e, 0x64, 0x6c, 0x65, 0x72, 0x5f, 0x69, 0x6e, 0x66, 0x6f, 0x18, - 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x13, 0x77, 0x6f, 0x72, 0x6b, 0x49, 0x74, 0x65, 0x6d, 0x48, - 0x61, 0x6e, 0x64, 0x6c, 0x65, 0x72, 0x49, 0x6e, 0x66, 0x6f, 0x22, 0x9e, 0x06, 0x0a, 0x2c, 0x52, - 0x65, 0x71, 0x75, 0x69, 0x72, 0x65, 0x45, 0x6d, 0x70, 0x6c, 0x6f, 0x79, 0x65, 0x65, 0x57, 0x6f, - 0x72, 0x6b, 0x49, 0x74, 0x65, 0x6d, 0x48, 0x61, 0x6e, 0x64, 0x6c, 0x65, 0x72, 0x49, 0x6e, 0x66, - 0x6f, 0x42, 0x79, 0x49, 0x64, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x73, 0x12, 0x72, 0x0a, 0x11, 0x70, - 0x72, 0x69, 0x6d, 0x61, 0x72, 0x79, 0x5f, 0x77, 0x6f, 0x72, 0x6b, 0x5f, 0x69, 0x74, 0x65, 0x6d, - 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x46, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, - 0x2e, 0x52, 0x65, 0x71, 0x75, 0x69, 0x72, 0x65, 0x45, 0x6d, 0x70, 0x6c, 0x6f, 0x79, 0x65, 0x65, - 0x57, 0x6f, 0x72, 0x6b, 0x49, 0x74, 0x65, 0x6d, 0x48, 0x61, 0x6e, 0x64, 0x6c, 0x65, 0x72, 0x49, - 0x6e, 0x66, 0x6f, 0x42, 0x79, 0x49, 0x64, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x73, 0x2e, 0x45, 0x6d, - 0x70, 0x6c, 0x6f, 0x79, 0x65, 0x65, 0x57, 0x6f, 0x72, 0x6b, 0x49, 0x74, 0x65, 0x6d, 0x52, 0x0f, - 0x70, 0x72, 0x69, 0x6d, 0x61, 0x72, 0x79, 0x57, 0x6f, 0x72, 0x6b, 0x49, 0x74, 0x65, 0x6d, 0x1a, - 0xad, 0x01, 0x0a, 0x11, 0x54, 0x65, 0x63, 0x68, 0x6e, 0x69, 0x63, 0x61, 0x6c, 0x57, 0x6f, 0x72, - 0x6b, 0x49, 0x74, 0x65, 0x6d, 0x12, 0x71, 0x0a, 0x07, 0x68, 0x61, 0x6e, 0x64, 0x6c, 0x65, 0x72, - 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x57, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, - 0x2e, 0x52, 0x65, 0x71, 0x75, 0x69, 0x72, 0x65, 0x45, 0x6d, 0x70, 0x6c, 0x6f, 0x79, 0x65, 0x65, - 0x57, 0x6f, 0x72, 0x6b, 0x49, 0x74, 0x65, 0x6d, 0x48, 0x61, 0x6e, 0x64, 0x6c, 0x65, 0x72, 0x49, - 0x6e, 0x66, 0x6f, 0x42, 0x79, 0x49, 0x64, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x73, 0x2e, 0x54, 0x65, - 0x63, 0x68, 0x6e, 0x69, 0x63, 0x61, 0x6c, 0x57, 0x6f, 0x72, 0x6b, 0x49, 0x74, 0x65, 0x6d, 0x2e, - 0x57, 0x6f, 0x72, 0x6b, 0x49, 0x74, 0x65, 0x6d, 0x48, 0x61, 0x6e, 0x64, 0x6c, 0x65, 0x72, 0x52, - 0x07, 0x68, 0x61, 0x6e, 0x64, 0x6c, 0x65, 0x72, 0x1a, 0x25, 0x0a, 0x0f, 0x57, 0x6f, 0x72, 0x6b, - 0x49, 0x74, 0x65, 0x6d, 0x48, 0x61, 0x6e, 0x64, 0x6c, 0x65, 0x72, 0x12, 0x12, 0x0a, 0x04, 0x6e, - 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x1a, - 0xaf, 0x01, 0x0a, 0x12, 0x4d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x57, 0x6f, - 0x72, 0x6b, 0x49, 0x74, 0x65, 0x6d, 0x12, 0x72, 0x0a, 0x07, 0x68, 0x61, 0x6e, 0x64, 0x6c, 0x65, - 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x58, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, - 0x65, 0x2e, 0x52, 0x65, 0x71, 0x75, 0x69, 0x72, 0x65, 0x45, 0x6d, 0x70, 0x6c, 0x6f, 0x79, 0x65, - 0x65, 0x57, 0x6f, 0x72, 0x6b, 0x49, 0x74, 0x65, 0x6d, 0x48, 0x61, 0x6e, 0x64, 0x6c, 0x65, 0x72, - 0x49, 0x6e, 0x66, 0x6f, 0x42, 0x79, 0x49, 0x64, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x73, 0x2e, 0x4d, - 0x61, 0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x57, 0x6f, 0x72, 0x6b, 0x49, 0x74, 0x65, - 0x6d, 0x2e, 0x57, 0x6f, 0x72, 0x6b, 0x49, 0x74, 0x65, 0x6d, 0x48, 0x61, 0x6e, 0x64, 0x6c, 0x65, - 0x72, 0x52, 0x07, 0x68, 0x61, 0x6e, 0x64, 0x6c, 0x65, 0x72, 0x1a, 0x25, 0x0a, 0x0f, 0x57, 0x6f, - 0x72, 0x6b, 0x49, 0x74, 0x65, 0x6d, 0x48, 0x61, 0x6e, 0x64, 0x6c, 0x65, 0x72, 0x12, 0x12, 0x0a, - 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, - 0x65, 0x1a, 0x97, 0x02, 0x0a, 0x10, 0x45, 0x6d, 0x70, 0x6c, 0x6f, 0x79, 0x65, 0x65, 0x57, 0x6f, - 0x72, 0x6b, 0x49, 0x74, 0x65, 0x6d, 0x12, 0x7c, 0x0a, 0x14, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, - 0x6d, 0x65, 0x6e, 0x74, 0x5f, 0x77, 0x6f, 0x72, 0x6b, 0x5f, 0x69, 0x74, 0x65, 0x6d, 0x18, 0x01, - 0x20, 0x01, 0x28, 0x0b, 0x32, 0x48, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x52, - 0x65, 0x71, 0x75, 0x69, 0x72, 0x65, 0x45, 0x6d, 0x70, 0x6c, 0x6f, 0x79, 0x65, 0x65, 0x57, 0x6f, - 0x72, 0x6b, 0x49, 0x74, 0x65, 0x6d, 0x48, 0x61, 0x6e, 0x64, 0x6c, 0x65, 0x72, 0x49, 0x6e, 0x66, - 0x6f, 0x42, 0x79, 0x49, 0x64, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x73, 0x2e, 0x4d, 0x61, 0x6e, 0x61, - 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x57, 0x6f, 0x72, 0x6b, 0x49, 0x74, 0x65, 0x6d, 0x48, 0x00, - 0x52, 0x12, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x57, 0x6f, 0x72, 0x6b, - 0x49, 0x74, 0x65, 0x6d, 0x12, 0x79, 0x0a, 0x13, 0x74, 0x65, 0x63, 0x68, 0x6e, 0x69, 0x63, 0x61, - 0x6c, 0x5f, 0x77, 0x6f, 0x72, 0x6b, 0x5f, 0x69, 0x74, 0x65, 0x6d, 0x18, 0x02, 0x20, 0x01, 0x28, - 0x0b, 0x32, 0x47, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x52, 0x65, 0x71, 0x75, - 0x69, 0x72, 0x65, 0x45, 0x6d, 0x70, 0x6c, 0x6f, 0x79, 0x65, 0x65, 0x57, 0x6f, 0x72, 0x6b, 0x49, - 0x74, 0x65, 0x6d, 0x48, 0x61, 0x6e, 0x64, 0x6c, 0x65, 0x72, 0x49, 0x6e, 0x66, 0x6f, 0x42, 0x79, - 0x49, 0x64, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x73, 0x2e, 0x54, 0x65, 0x63, 0x68, 0x6e, 0x69, 0x63, - 0x61, 0x6c, 0x57, 0x6f, 0x72, 0x6b, 0x49, 0x74, 0x65, 0x6d, 0x48, 0x00, 0x52, 0x11, 0x74, 0x65, - 0x63, 0x68, 0x6e, 0x69, 0x63, 0x61, 0x6c, 0x57, 0x6f, 0x72, 0x6b, 0x49, 0x74, 0x65, 0x6d, 0x42, - 0x0a, 0x0a, 0x08, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x22, 0x7d, 0x0a, 0x2b, 0x52, - 0x65, 0x71, 0x75, 0x69, 0x72, 0x65, 0x45, 0x6d, 0x70, 0x6c, 0x6f, 0x79, 0x65, 0x65, 0x57, 0x6f, - 0x72, 0x6b, 0x49, 0x74, 0x65, 0x6d, 0x53, 0x70, 0x65, 0x63, 0x73, 0x49, 0x6e, 0x66, 0x6f, 0x42, - 0x79, 0x49, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x4e, 0x0a, 0x07, 0x63, 0x6f, - 0x6e, 0x74, 0x65, 0x78, 0x74, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x34, 0x2e, 0x73, 0x65, - 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x52, 0x65, 0x71, 0x75, 0x69, 0x72, 0x65, 0x45, 0x6d, 0x70, - 0x6c, 0x6f, 0x79, 0x65, 0x65, 0x57, 0x6f, 0x72, 0x6b, 0x49, 0x74, 0x65, 0x6d, 0x53, 0x70, 0x65, - 0x63, 0x73, 0x49, 0x6e, 0x66, 0x6f, 0x42, 0x79, 0x49, 0x64, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x78, - 0x74, 0x52, 0x07, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x22, 0xb3, 0x01, 0x0a, 0x2b, 0x52, - 0x65, 0x71, 0x75, 0x69, 0x72, 0x65, 0x45, 0x6d, 0x70, 0x6c, 0x6f, 0x79, 0x65, 0x65, 0x57, 0x6f, - 0x72, 0x6b, 0x49, 0x74, 0x65, 0x6d, 0x53, 0x70, 0x65, 0x63, 0x73, 0x49, 0x6e, 0x66, 0x6f, 0x42, - 0x79, 0x49, 0x64, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x12, 0x37, 0x0a, 0x03, 0x6b, 0x65, - 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x25, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, - 0x65, 0x2e, 0x4c, 0x6f, 0x6f, 0x6b, 0x75, 0x70, 0x45, 0x6d, 0x70, 0x6c, 0x6f, 0x79, 0x65, 0x65, - 0x42, 0x79, 0x49, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x4b, 0x65, 0x79, 0x52, 0x03, - 0x6b, 0x65, 0x79, 0x12, 0x4b, 0x0a, 0x06, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x73, 0x18, 0x02, 0x20, - 0x01, 0x28, 0x0b, 0x32, 0x33, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x52, 0x65, - 0x71, 0x75, 0x69, 0x72, 0x65, 0x45, 0x6d, 0x70, 0x6c, 0x6f, 0x79, 0x65, 0x65, 0x57, 0x6f, 0x72, - 0x6b, 0x49, 0x74, 0x65, 0x6d, 0x53, 0x70, 0x65, 0x63, 0x73, 0x49, 0x6e, 0x66, 0x6f, 0x42, 0x79, - 0x49, 0x64, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x73, 0x52, 0x06, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x73, - 0x22, 0x7b, 0x0a, 0x2c, 0x52, 0x65, 0x71, 0x75, 0x69, 0x72, 0x65, 0x45, 0x6d, 0x70, 0x6c, 0x6f, - 0x79, 0x65, 0x65, 0x57, 0x6f, 0x72, 0x6b, 0x49, 0x74, 0x65, 0x6d, 0x53, 0x70, 0x65, 0x63, 0x73, - 0x49, 0x6e, 0x66, 0x6f, 0x42, 0x79, 0x49, 0x64, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, - 0x12, 0x4b, 0x0a, 0x06, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, - 0x32, 0x33, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x52, 0x65, 0x71, 0x75, 0x69, - 0x72, 0x65, 0x45, 0x6d, 0x70, 0x6c, 0x6f, 0x79, 0x65, 0x65, 0x57, 0x6f, 0x72, 0x6b, 0x49, 0x74, - 0x65, 0x6d, 0x53, 0x70, 0x65, 0x63, 0x73, 0x49, 0x6e, 0x66, 0x6f, 0x42, 0x79, 0x49, 0x64, 0x52, - 0x65, 0x73, 0x75, 0x6c, 0x74, 0x52, 0x06, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x22, 0x5d, 0x0a, - 0x2a, 0x52, 0x65, 0x71, 0x75, 0x69, 0x72, 0x65, 0x45, 0x6d, 0x70, 0x6c, 0x6f, 0x79, 0x65, 0x65, - 0x57, 0x6f, 0x72, 0x6b, 0x49, 0x74, 0x65, 0x6d, 0x53, 0x70, 0x65, 0x63, 0x73, 0x49, 0x6e, 0x66, - 0x6f, 0x42, 0x79, 0x49, 0x64, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x12, 0x2f, 0x0a, 0x14, 0x77, - 0x6f, 0x72, 0x6b, 0x5f, 0x69, 0x74, 0x65, 0x6d, 0x5f, 0x73, 0x70, 0x65, 0x63, 0x73, 0x5f, 0x69, - 0x6e, 0x66, 0x6f, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x11, 0x77, 0x6f, 0x72, 0x6b, 0x49, - 0x74, 0x65, 0x6d, 0x53, 0x70, 0x65, 0x63, 0x73, 0x49, 0x6e, 0x66, 0x6f, 0x22, 0x8e, 0x09, 0x0a, - 0x2a, 0x52, 0x65, 0x71, 0x75, 0x69, 0x72, 0x65, 0x45, 0x6d, 0x70, 0x6c, 0x6f, 0x79, 0x65, 0x65, - 0x57, 0x6f, 0x72, 0x6b, 0x49, 0x74, 0x65, 0x6d, 0x53, 0x70, 0x65, 0x63, 0x73, 0x49, 0x6e, 0x66, - 0x6f, 0x42, 0x79, 0x49, 0x64, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x73, 0x12, 0x70, 0x0a, 0x11, 0x70, - 0x72, 0x69, 0x6d, 0x61, 0x72, 0x79, 0x5f, 0x77, 0x6f, 0x72, 0x6b, 0x5f, 0x69, 0x74, 0x65, 0x6d, - 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x44, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, - 0x2e, 0x52, 0x65, 0x71, 0x75, 0x69, 0x72, 0x65, 0x45, 0x6d, 0x70, 0x6c, 0x6f, 0x79, 0x65, 0x65, - 0x57, 0x6f, 0x72, 0x6b, 0x49, 0x74, 0x65, 0x6d, 0x53, 0x70, 0x65, 0x63, 0x73, 0x49, 0x6e, 0x66, - 0x6f, 0x42, 0x79, 0x49, 0x64, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x73, 0x2e, 0x45, 0x6d, 0x70, 0x6c, - 0x6f, 0x79, 0x65, 0x65, 0x57, 0x6f, 0x72, 0x6b, 0x49, 0x74, 0x65, 0x6d, 0x52, 0x0f, 0x70, 0x72, - 0x69, 0x6d, 0x61, 0x72, 0x79, 0x57, 0x6f, 0x72, 0x6b, 0x49, 0x74, 0x65, 0x6d, 0x1a, 0xe7, 0x02, - 0x0a, 0x11, 0x54, 0x65, 0x63, 0x68, 0x6e, 0x69, 0x63, 0x61, 0x6c, 0x57, 0x6f, 0x72, 0x6b, 0x49, - 0x74, 0x65, 0x6d, 0x12, 0x6a, 0x0a, 0x05, 0x73, 0x70, 0x65, 0x63, 0x73, 0x18, 0x01, 0x20, 0x01, - 0x28, 0x0b, 0x32, 0x54, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x52, 0x65, 0x71, - 0x75, 0x69, 0x72, 0x65, 0x45, 0x6d, 0x70, 0x6c, 0x6f, 0x79, 0x65, 0x65, 0x57, 0x6f, 0x72, 0x6b, - 0x49, 0x74, 0x65, 0x6d, 0x53, 0x70, 0x65, 0x63, 0x73, 0x49, 0x6e, 0x66, 0x6f, 0x42, 0x79, 0x49, - 0x64, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x73, 0x2e, 0x54, 0x65, 0x63, 0x68, 0x6e, 0x69, 0x63, 0x61, - 0x6c, 0x57, 0x6f, 0x72, 0x6b, 0x49, 0x74, 0x65, 0x6d, 0x2e, 0x54, 0x65, 0x63, 0x68, 0x6e, 0x69, - 0x63, 0x61, 0x6c, 0x53, 0x70, 0x65, 0x63, 0x73, 0x52, 0x05, 0x73, 0x70, 0x65, 0x63, 0x73, 0x1a, - 0xe5, 0x01, 0x0a, 0x0e, 0x54, 0x65, 0x63, 0x68, 0x6e, 0x69, 0x63, 0x61, 0x6c, 0x53, 0x70, 0x65, - 0x63, 0x73, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, - 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x7a, 0x0a, 0x07, 0x6d, 0x65, 0x74, 0x72, 0x69, 0x63, - 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x60, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, - 0x65, 0x2e, 0x52, 0x65, 0x71, 0x75, 0x69, 0x72, 0x65, 0x45, 0x6d, 0x70, 0x6c, 0x6f, 0x79, 0x65, - 0x65, 0x57, 0x6f, 0x72, 0x6b, 0x49, 0x74, 0x65, 0x6d, 0x53, 0x70, 0x65, 0x63, 0x73, 0x49, 0x6e, - 0x66, 0x6f, 0x42, 0x79, 0x49, 0x64, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x73, 0x2e, 0x54, 0x65, 0x63, - 0x68, 0x6e, 0x69, 0x63, 0x61, 0x6c, 0x57, 0x6f, 0x72, 0x6b, 0x49, 0x74, 0x65, 0x6d, 0x2e, 0x54, - 0x65, 0x63, 0x68, 0x6e, 0x69, 0x63, 0x61, 0x6c, 0x53, 0x70, 0x65, 0x63, 0x73, 0x2e, 0x57, 0x6f, - 0x72, 0x6b, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x73, 0x52, 0x07, 0x6d, 0x65, 0x74, 0x72, 0x69, - 0x63, 0x73, 0x1a, 0x43, 0x0a, 0x0b, 0x57, 0x6f, 0x72, 0x6b, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, - 0x73, 0x12, 0x14, 0x0a, 0x05, 0x73, 0x63, 0x6f, 0x72, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x01, - 0x52, 0x05, 0x73, 0x63, 0x6f, 0x72, 0x65, 0x12, 0x1e, 0x0a, 0x0a, 0x65, 0x66, 0x66, 0x69, 0x63, - 0x69, 0x65, 0x6e, 0x63, 0x79, 0x18, 0x02, 0x20, 0x01, 0x28, 0x01, 0x52, 0x0a, 0x65, 0x66, 0x66, - 0x69, 0x63, 0x69, 0x65, 0x6e, 0x63, 0x79, 0x1a, 0xed, 0x02, 0x0a, 0x12, 0x4d, 0x61, 0x6e, 0x61, - 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x57, 0x6f, 0x72, 0x6b, 0x49, 0x74, 0x65, 0x6d, 0x12, 0x6c, - 0x0a, 0x05, 0x73, 0x70, 0x65, 0x63, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x56, 0x2e, - 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x52, 0x65, 0x71, 0x75, 0x69, 0x72, 0x65, 0x45, - 0x6d, 0x70, 0x6c, 0x6f, 0x79, 0x65, 0x65, 0x57, 0x6f, 0x72, 0x6b, 0x49, 0x74, 0x65, 0x6d, 0x53, - 0x70, 0x65, 0x63, 0x73, 0x49, 0x6e, 0x66, 0x6f, 0x42, 0x79, 0x49, 0x64, 0x46, 0x69, 0x65, 0x6c, - 0x64, 0x73, 0x2e, 0x4d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x57, 0x6f, 0x72, - 0x6b, 0x49, 0x74, 0x65, 0x6d, 0x2e, 0x4d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, - 0x53, 0x70, 0x65, 0x63, 0x73, 0x52, 0x05, 0x73, 0x70, 0x65, 0x63, 0x73, 0x1a, 0xe8, 0x01, 0x0a, - 0x0f, 0x4d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x53, 0x70, 0x65, 0x63, 0x73, - 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, - 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x7c, 0x0a, 0x07, 0x6d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x73, 0x18, - 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x62, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, - 0x52, 0x65, 0x71, 0x75, 0x69, 0x72, 0x65, 0x45, 0x6d, 0x70, 0x6c, 0x6f, 0x79, 0x65, 0x65, 0x57, - 0x6f, 0x72, 0x6b, 0x49, 0x74, 0x65, 0x6d, 0x53, 0x70, 0x65, 0x63, 0x73, 0x49, 0x6e, 0x66, 0x6f, - 0x42, 0x79, 0x49, 0x64, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x73, 0x2e, 0x4d, 0x61, 0x6e, 0x61, 0x67, - 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x57, 0x6f, 0x72, 0x6b, 0x49, 0x74, 0x65, 0x6d, 0x2e, 0x4d, 0x61, - 0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x53, 0x70, 0x65, 0x63, 0x73, 0x2e, 0x57, 0x6f, - 0x72, 0x6b, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x73, 0x52, 0x07, 0x6d, 0x65, 0x74, 0x72, 0x69, - 0x63, 0x73, 0x1a, 0x43, 0x0a, 0x0b, 0x57, 0x6f, 0x72, 0x6b, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, - 0x73, 0x12, 0x14, 0x0a, 0x05, 0x73, 0x63, 0x6f, 0x72, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x01, - 0x52, 0x05, 0x73, 0x63, 0x6f, 0x72, 0x65, 0x12, 0x1e, 0x0a, 0x0a, 0x65, 0x66, 0x66, 0x69, 0x63, - 0x69, 0x65, 0x6e, 0x63, 0x79, 0x18, 0x02, 0x20, 0x01, 0x28, 0x01, 0x52, 0x0a, 0x65, 0x66, 0x66, - 0x69, 0x63, 0x69, 0x65, 0x6e, 0x63, 0x79, 0x1a, 0x93, 0x02, 0x0a, 0x10, 0x45, 0x6d, 0x70, 0x6c, - 0x6f, 0x79, 0x65, 0x65, 0x57, 0x6f, 0x72, 0x6b, 0x49, 0x74, 0x65, 0x6d, 0x12, 0x7a, 0x0a, 0x14, - 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x5f, 0x77, 0x6f, 0x72, 0x6b, 0x5f, - 0x69, 0x74, 0x65, 0x6d, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x46, 0x2e, 0x73, 0x65, 0x72, - 0x76, 0x69, 0x63, 0x65, 0x2e, 0x52, 0x65, 0x71, 0x75, 0x69, 0x72, 0x65, 0x45, 0x6d, 0x70, 0x6c, - 0x6f, 0x79, 0x65, 0x65, 0x57, 0x6f, 0x72, 0x6b, 0x49, 0x74, 0x65, 0x6d, 0x53, 0x70, 0x65, 0x63, - 0x73, 0x49, 0x6e, 0x66, 0x6f, 0x42, 0x79, 0x49, 0x64, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x73, 0x2e, - 0x4d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x57, 0x6f, 0x72, 0x6b, 0x49, 0x74, - 0x65, 0x6d, 0x48, 0x00, 0x52, 0x12, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, - 0x57, 0x6f, 0x72, 0x6b, 0x49, 0x74, 0x65, 0x6d, 0x12, 0x77, 0x0a, 0x13, 0x74, 0x65, 0x63, 0x68, - 0x6e, 0x69, 0x63, 0x61, 0x6c, 0x5f, 0x77, 0x6f, 0x72, 0x6b, 0x5f, 0x69, 0x74, 0x65, 0x6d, 0x18, - 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x45, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, - 0x52, 0x65, 0x71, 0x75, 0x69, 0x72, 0x65, 0x45, 0x6d, 0x70, 0x6c, 0x6f, 0x79, 0x65, 0x65, 0x57, - 0x6f, 0x72, 0x6b, 0x49, 0x74, 0x65, 0x6d, 0x53, 0x70, 0x65, 0x63, 0x73, 0x49, 0x6e, 0x66, 0x6f, - 0x42, 0x79, 0x49, 0x64, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x73, 0x2e, 0x54, 0x65, 0x63, 0x68, 0x6e, - 0x69, 0x63, 0x61, 0x6c, 0x57, 0x6f, 0x72, 0x6b, 0x49, 0x74, 0x65, 0x6d, 0x48, 0x00, 0x52, 0x11, - 0x74, 0x65, 0x63, 0x68, 0x6e, 0x69, 0x63, 0x61, 0x6c, 0x57, 0x6f, 0x72, 0x6b, 0x49, 0x74, 0x65, - 0x6d, 0x42, 0x0a, 0x0a, 0x08, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x22, 0x7b, 0x0a, - 0x2a, 0x52, 0x65, 0x71, 0x75, 0x69, 0x72, 0x65, 0x45, 0x6d, 0x70, 0x6c, 0x6f, 0x79, 0x65, 0x65, - 0x44, 0x65, 0x65, 0x70, 0x57, 0x6f, 0x72, 0x6b, 0x49, 0x74, 0x65, 0x6d, 0x49, 0x6e, 0x66, 0x6f, - 0x42, 0x79, 0x49, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x4d, 0x0a, 0x07, 0x63, - 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x33, 0x2e, 0x73, - 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x52, 0x65, 0x71, 0x75, 0x69, 0x72, 0x65, 0x45, 0x6d, - 0x70, 0x6c, 0x6f, 0x79, 0x65, 0x65, 0x44, 0x65, 0x65, 0x70, 0x57, 0x6f, 0x72, 0x6b, 0x49, 0x74, - 0x65, 0x6d, 0x49, 0x6e, 0x66, 0x6f, 0x42, 0x79, 0x49, 0x64, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x78, - 0x74, 0x52, 0x07, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x22, 0xb1, 0x01, 0x0a, 0x2a, 0x52, - 0x65, 0x71, 0x75, 0x69, 0x72, 0x65, 0x45, 0x6d, 0x70, 0x6c, 0x6f, 0x79, 0x65, 0x65, 0x44, 0x65, - 0x65, 0x70, 0x57, 0x6f, 0x72, 0x6b, 0x49, 0x74, 0x65, 0x6d, 0x49, 0x6e, 0x66, 0x6f, 0x42, 0x79, - 0x49, 0x64, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x12, 0x37, 0x0a, 0x03, 0x6b, 0x65, 0x79, - 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x25, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, - 0x2e, 0x4c, 0x6f, 0x6f, 0x6b, 0x75, 0x70, 0x45, 0x6d, 0x70, 0x6c, 0x6f, 0x79, 0x65, 0x65, 0x42, - 0x79, 0x49, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x4b, 0x65, 0x79, 0x52, 0x03, 0x6b, - 0x65, 0x79, 0x12, 0x4a, 0x0a, 0x06, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x73, 0x18, 0x02, 0x20, 0x01, - 0x28, 0x0b, 0x32, 0x32, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x52, 0x65, 0x71, - 0x75, 0x69, 0x72, 0x65, 0x45, 0x6d, 0x70, 0x6c, 0x6f, 0x79, 0x65, 0x65, 0x44, 0x65, 0x65, 0x70, - 0x57, 0x6f, 0x72, 0x6b, 0x49, 0x74, 0x65, 0x6d, 0x49, 0x6e, 0x66, 0x6f, 0x42, 0x79, 0x49, 0x64, - 0x46, 0x69, 0x65, 0x6c, 0x64, 0x73, 0x52, 0x06, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x73, 0x22, 0x79, - 0x0a, 0x2b, 0x52, 0x65, 0x71, 0x75, 0x69, 0x72, 0x65, 0x45, 0x6d, 0x70, 0x6c, 0x6f, 0x79, 0x65, - 0x65, 0x44, 0x65, 0x65, 0x70, 0x57, 0x6f, 0x72, 0x6b, 0x49, 0x74, 0x65, 0x6d, 0x49, 0x6e, 0x66, - 0x6f, 0x42, 0x79, 0x49, 0x64, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x4a, 0x0a, - 0x06, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x32, 0x2e, - 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x52, 0x65, 0x71, 0x75, 0x69, 0x72, 0x65, 0x45, - 0x6d, 0x70, 0x6c, 0x6f, 0x79, 0x65, 0x65, 0x44, 0x65, 0x65, 0x70, 0x57, 0x6f, 0x72, 0x6b, 0x49, - 0x74, 0x65, 0x6d, 0x49, 0x6e, 0x66, 0x6f, 0x42, 0x79, 0x49, 0x64, 0x52, 0x65, 0x73, 0x75, 0x6c, - 0x74, 0x52, 0x06, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x22, 0x5a, 0x0a, 0x29, 0x52, 0x65, 0x71, - 0x75, 0x69, 0x72, 0x65, 0x45, 0x6d, 0x70, 0x6c, 0x6f, 0x79, 0x65, 0x65, 0x44, 0x65, 0x65, 0x70, - 0x57, 0x6f, 0x72, 0x6b, 0x49, 0x74, 0x65, 0x6d, 0x49, 0x6e, 0x66, 0x6f, 0x42, 0x79, 0x49, 0x64, - 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x12, 0x2d, 0x0a, 0x13, 0x64, 0x65, 0x65, 0x70, 0x5f, 0x77, - 0x6f, 0x72, 0x6b, 0x5f, 0x69, 0x74, 0x65, 0x6d, 0x5f, 0x69, 0x6e, 0x66, 0x6f, 0x18, 0x01, 0x20, - 0x01, 0x28, 0x09, 0x52, 0x10, 0x64, 0x65, 0x65, 0x70, 0x57, 0x6f, 0x72, 0x6b, 0x49, 0x74, 0x65, - 0x6d, 0x49, 0x6e, 0x66, 0x6f, 0x22, 0xef, 0x0a, 0x0a, 0x29, 0x52, 0x65, 0x71, 0x75, 0x69, 0x72, - 0x65, 0x45, 0x6d, 0x70, 0x6c, 0x6f, 0x79, 0x65, 0x65, 0x44, 0x65, 0x65, 0x70, 0x57, 0x6f, 0x72, - 0x6b, 0x49, 0x74, 0x65, 0x6d, 0x49, 0x6e, 0x66, 0x6f, 0x42, 0x79, 0x49, 0x64, 0x46, 0x69, 0x65, - 0x6c, 0x64, 0x73, 0x12, 0x6f, 0x0a, 0x11, 0x70, 0x72, 0x69, 0x6d, 0x61, 0x72, 0x79, 0x5f, 0x77, - 0x6f, 0x72, 0x6b, 0x5f, 0x69, 0x74, 0x65, 0x6d, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x43, - 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x52, 0x65, 0x71, 0x75, 0x69, 0x72, 0x65, - 0x45, 0x6d, 0x70, 0x6c, 0x6f, 0x79, 0x65, 0x65, 0x44, 0x65, 0x65, 0x70, 0x57, 0x6f, 0x72, 0x6b, - 0x49, 0x74, 0x65, 0x6d, 0x49, 0x6e, 0x66, 0x6f, 0x42, 0x79, 0x49, 0x64, 0x46, 0x69, 0x65, 0x6c, - 0x64, 0x73, 0x2e, 0x45, 0x6d, 0x70, 0x6c, 0x6f, 0x79, 0x65, 0x65, 0x57, 0x6f, 0x72, 0x6b, 0x49, - 0x74, 0x65, 0x6d, 0x52, 0x0f, 0x70, 0x72, 0x69, 0x6d, 0x61, 0x72, 0x79, 0x57, 0x6f, 0x72, 0x6b, - 0x49, 0x74, 0x65, 0x6d, 0x1a, 0x8d, 0x06, 0x0a, 0x11, 0x54, 0x65, 0x63, 0x68, 0x6e, 0x69, 0x63, - 0x61, 0x6c, 0x57, 0x6f, 0x72, 0x6b, 0x49, 0x74, 0x65, 0x6d, 0x12, 0x6e, 0x0a, 0x07, 0x68, 0x61, - 0x6e, 0x64, 0x6c, 0x65, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x54, 0x2e, 0x73, 0x65, - 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x52, 0x65, 0x71, 0x75, 0x69, 0x72, 0x65, 0x45, 0x6d, 0x70, - 0x6c, 0x6f, 0x79, 0x65, 0x65, 0x44, 0x65, 0x65, 0x70, 0x57, 0x6f, 0x72, 0x6b, 0x49, 0x74, 0x65, - 0x6d, 0x49, 0x6e, 0x66, 0x6f, 0x42, 0x79, 0x49, 0x64, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x73, 0x2e, - 0x54, 0x65, 0x63, 0x68, 0x6e, 0x69, 0x63, 0x61, 0x6c, 0x57, 0x6f, 0x72, 0x6b, 0x49, 0x74, 0x65, - 0x6d, 0x2e, 0x57, 0x6f, 0x72, 0x6b, 0x49, 0x74, 0x65, 0x6d, 0x48, 0x61, 0x6e, 0x64, 0x6c, 0x65, - 0x72, 0x52, 0x07, 0x68, 0x61, 0x6e, 0x64, 0x6c, 0x65, 0x72, 0x1a, 0x87, 0x05, 0x0a, 0x0f, 0x57, - 0x6f, 0x72, 0x6b, 0x49, 0x74, 0x65, 0x6d, 0x48, 0x61, 0x6e, 0x64, 0x6c, 0x65, 0x72, 0x12, 0x8a, - 0x01, 0x0a, 0x0d, 0x61, 0x73, 0x73, 0x69, 0x67, 0x6e, 0x65, 0x64, 0x5f, 0x69, 0x74, 0x65, 0x6d, - 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x65, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, - 0x2e, 0x52, 0x65, 0x71, 0x75, 0x69, 0x72, 0x65, 0x45, 0x6d, 0x70, 0x6c, 0x6f, 0x79, 0x65, 0x65, - 0x44, 0x65, 0x65, 0x70, 0x57, 0x6f, 0x72, 0x6b, 0x49, 0x74, 0x65, 0x6d, 0x49, 0x6e, 0x66, 0x6f, - 0x42, 0x79, 0x49, 0x64, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x73, 0x2e, 0x54, 0x65, 0x63, 0x68, 0x6e, - 0x69, 0x63, 0x61, 0x6c, 0x57, 0x6f, 0x72, 0x6b, 0x49, 0x74, 0x65, 0x6d, 0x2e, 0x57, 0x6f, 0x72, - 0x6b, 0x49, 0x74, 0x65, 0x6d, 0x48, 0x61, 0x6e, 0x64, 0x6c, 0x65, 0x72, 0x2e, 0x45, 0x6d, 0x70, - 0x6c, 0x6f, 0x79, 0x65, 0x65, 0x57, 0x6f, 0x72, 0x6b, 0x49, 0x74, 0x65, 0x6d, 0x52, 0x0c, 0x61, - 0x73, 0x73, 0x69, 0x67, 0x6e, 0x65, 0x64, 0x49, 0x74, 0x65, 0x6d, 0x1a, 0x45, 0x0a, 0x12, 0x4d, - 0x61, 0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x57, 0x6f, 0x72, 0x6b, 0x49, 0x74, 0x65, - 0x6d, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x1b, 0x0a, 0x09, 0x74, 0x65, 0x61, 0x6d, 0x5f, 0x73, 0x69, - 0x7a, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x74, 0x65, 0x61, 0x6d, 0x53, 0x69, - 0x7a, 0x65, 0x1a, 0x46, 0x0a, 0x11, 0x54, 0x65, 0x63, 0x68, 0x6e, 0x69, 0x63, 0x61, 0x6c, 0x57, - 0x6f, 0x72, 0x6b, 0x49, 0x74, 0x65, 0x6d, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, - 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x1d, 0x0a, 0x0a, 0x63, - 0x6f, 0x64, 0x65, 0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, - 0x09, 0x63, 0x6f, 0x64, 0x65, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x1a, 0xd7, 0x02, 0x0a, 0x10, 0x45, - 0x6d, 0x70, 0x6c, 0x6f, 0x79, 0x65, 0x65, 0x57, 0x6f, 0x72, 0x6b, 0x49, 0x74, 0x65, 0x6d, 0x12, - 0x9b, 0x01, 0x0a, 0x14, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x5f, 0x77, - 0x6f, 0x72, 0x6b, 0x5f, 0x69, 0x74, 0x65, 0x6d, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x67, - 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x52, 0x65, 0x71, 0x75, 0x69, 0x72, 0x65, - 0x45, 0x6d, 0x70, 0x6c, 0x6f, 0x79, 0x65, 0x65, 0x44, 0x65, 0x65, 0x70, 0x57, 0x6f, 0x72, 0x6b, - 0x49, 0x74, 0x65, 0x6d, 0x49, 0x6e, 0x66, 0x6f, 0x42, 0x79, 0x49, 0x64, 0x46, 0x69, 0x65, 0x6c, - 0x64, 0x73, 0x2e, 0x54, 0x65, 0x63, 0x68, 0x6e, 0x69, 0x63, 0x61, 0x6c, 0x57, 0x6f, 0x72, 0x6b, - 0x49, 0x74, 0x65, 0x6d, 0x2e, 0x57, 0x6f, 0x72, 0x6b, 0x49, 0x74, 0x65, 0x6d, 0x48, 0x61, 0x6e, - 0x64, 0x6c, 0x65, 0x72, 0x2e, 0x4d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x57, - 0x6f, 0x72, 0x6b, 0x49, 0x74, 0x65, 0x6d, 0x48, 0x00, 0x52, 0x12, 0x6d, 0x61, 0x6e, 0x61, 0x67, - 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x57, 0x6f, 0x72, 0x6b, 0x49, 0x74, 0x65, 0x6d, 0x12, 0x98, 0x01, - 0x0a, 0x13, 0x74, 0x65, 0x63, 0x68, 0x6e, 0x69, 0x63, 0x61, 0x6c, 0x5f, 0x77, 0x6f, 0x72, 0x6b, - 0x5f, 0x69, 0x74, 0x65, 0x6d, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x66, 0x2e, 0x73, 0x65, - 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x52, 0x65, 0x71, 0x75, 0x69, 0x72, 0x65, 0x45, 0x6d, 0x70, - 0x6c, 0x6f, 0x79, 0x65, 0x65, 0x44, 0x65, 0x65, 0x70, 0x57, 0x6f, 0x72, 0x6b, 0x49, 0x74, 0x65, - 0x6d, 0x49, 0x6e, 0x66, 0x6f, 0x42, 0x79, 0x49, 0x64, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x73, 0x2e, - 0x54, 0x65, 0x63, 0x68, 0x6e, 0x69, 0x63, 0x61, 0x6c, 0x57, 0x6f, 0x72, 0x6b, 0x49, 0x74, 0x65, - 0x6d, 0x2e, 0x57, 0x6f, 0x72, 0x6b, 0x49, 0x74, 0x65, 0x6d, 0x48, 0x61, 0x6e, 0x64, 0x6c, 0x65, - 0x72, 0x2e, 0x54, 0x65, 0x63, 0x68, 0x6e, 0x69, 0x63, 0x61, 0x6c, 0x57, 0x6f, 0x72, 0x6b, 0x49, - 0x74, 0x65, 0x6d, 0x48, 0x00, 0x52, 0x11, 0x74, 0x65, 0x63, 0x68, 0x6e, 0x69, 0x63, 0x61, 0x6c, - 0x57, 0x6f, 0x72, 0x6b, 0x49, 0x74, 0x65, 0x6d, 0x42, 0x0a, 0x0a, 0x08, 0x69, 0x6e, 0x73, 0x74, - 0x61, 0x6e, 0x63, 0x65, 0x1a, 0xac, 0x01, 0x0a, 0x12, 0x4d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x6d, - 0x65, 0x6e, 0x74, 0x57, 0x6f, 0x72, 0x6b, 0x49, 0x74, 0x65, 0x6d, 0x12, 0x6f, 0x0a, 0x07, 0x68, - 0x61, 0x6e, 0x64, 0x6c, 0x65, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x55, 0x2e, 0x73, - 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x52, 0x65, 0x71, 0x75, 0x69, 0x72, 0x65, 0x45, 0x6d, - 0x70, 0x6c, 0x6f, 0x79, 0x65, 0x65, 0x44, 0x65, 0x65, 0x70, 0x57, 0x6f, 0x72, 0x6b, 0x49, 0x74, - 0x65, 0x6d, 0x49, 0x6e, 0x66, 0x6f, 0x42, 0x79, 0x49, 0x64, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x73, - 0x2e, 0x4d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x57, 0x6f, 0x72, 0x6b, 0x49, - 0x74, 0x65, 0x6d, 0x2e, 0x57, 0x6f, 0x72, 0x6b, 0x49, 0x74, 0x65, 0x6d, 0x48, 0x61, 0x6e, 0x64, - 0x6c, 0x65, 0x72, 0x52, 0x07, 0x68, 0x61, 0x6e, 0x64, 0x6c, 0x65, 0x72, 0x1a, 0x25, 0x0a, 0x0f, - 0x57, 0x6f, 0x72, 0x6b, 0x49, 0x74, 0x65, 0x6d, 0x48, 0x61, 0x6e, 0x64, 0x6c, 0x65, 0x72, 0x12, - 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, - 0x61, 0x6d, 0x65, 0x1a, 0x91, 0x02, 0x0a, 0x10, 0x45, 0x6d, 0x70, 0x6c, 0x6f, 0x79, 0x65, 0x65, - 0x57, 0x6f, 0x72, 0x6b, 0x49, 0x74, 0x65, 0x6d, 0x12, 0x79, 0x0a, 0x14, 0x6d, 0x61, 0x6e, 0x61, - 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x5f, 0x77, 0x6f, 0x72, 0x6b, 0x5f, 0x69, 0x74, 0x65, 0x6d, - 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x45, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, - 0x2e, 0x52, 0x65, 0x71, 0x75, 0x69, 0x72, 0x65, 0x45, 0x6d, 0x70, 0x6c, 0x6f, 0x79, 0x65, 0x65, - 0x44, 0x65, 0x65, 0x70, 0x57, 0x6f, 0x72, 0x6b, 0x49, 0x74, 0x65, 0x6d, 0x49, 0x6e, 0x66, 0x6f, - 0x42, 0x79, 0x49, 0x64, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x73, 0x2e, 0x4d, 0x61, 0x6e, 0x61, 0x67, - 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x57, 0x6f, 0x72, 0x6b, 0x49, 0x74, 0x65, 0x6d, 0x48, 0x00, 0x52, - 0x12, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x57, 0x6f, 0x72, 0x6b, 0x49, - 0x74, 0x65, 0x6d, 0x12, 0x76, 0x0a, 0x13, 0x74, 0x65, 0x63, 0x68, 0x6e, 0x69, 0x63, 0x61, 0x6c, - 0x5f, 0x77, 0x6f, 0x72, 0x6b, 0x5f, 0x69, 0x74, 0x65, 0x6d, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, - 0x32, 0x44, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x52, 0x65, 0x71, 0x75, 0x69, - 0x72, 0x65, 0x45, 0x6d, 0x70, 0x6c, 0x6f, 0x79, 0x65, 0x65, 0x44, 0x65, 0x65, 0x70, 0x57, 0x6f, - 0x72, 0x6b, 0x49, 0x74, 0x65, 0x6d, 0x49, 0x6e, 0x66, 0x6f, 0x42, 0x79, 0x49, 0x64, 0x46, 0x69, - 0x65, 0x6c, 0x64, 0x73, 0x2e, 0x54, 0x65, 0x63, 0x68, 0x6e, 0x69, 0x63, 0x61, 0x6c, 0x57, 0x6f, - 0x72, 0x6b, 0x49, 0x74, 0x65, 0x6d, 0x48, 0x00, 0x52, 0x11, 0x74, 0x65, 0x63, 0x68, 0x6e, 0x69, - 0x63, 0x61, 0x6c, 0x57, 0x6f, 0x72, 0x6b, 0x49, 0x74, 0x65, 0x6d, 0x42, 0x0a, 0x0a, 0x08, 0x69, - 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x22, 0xac, 0x08, 0x0a, 0x07, 0x50, 0x72, 0x6f, 0x6a, - 0x65, 0x63, 0x74, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x02, 0x69, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, - 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x3e, 0x0a, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, - 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, - 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x53, - 0x74, 0x72, 0x69, 0x6e, 0x67, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x0b, 0x64, 0x65, 0x73, 0x63, - 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x3b, 0x0a, 0x0a, 0x73, 0x74, 0x61, 0x72, 0x74, - 0x5f, 0x64, 0x61, 0x74, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, - 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x53, 0x74, - 0x72, 0x69, 0x6e, 0x67, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x09, 0x73, 0x74, 0x61, 0x72, 0x74, - 0x44, 0x61, 0x74, 0x65, 0x12, 0x37, 0x0a, 0x08, 0x65, 0x6e, 0x64, 0x5f, 0x64, 0x61, 0x74, 0x65, - 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, - 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x56, - 0x61, 0x6c, 0x75, 0x65, 0x52, 0x07, 0x65, 0x6e, 0x64, 0x44, 0x61, 0x74, 0x65, 0x12, 0x2e, 0x0a, - 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x16, 0x2e, - 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x53, - 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x34, 0x0a, - 0x0c, 0x74, 0x65, 0x61, 0x6d, 0x5f, 0x6d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x73, 0x18, 0x07, 0x20, - 0x03, 0x28, 0x0b, 0x32, 0x11, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x45, 0x6d, - 0x70, 0x6c, 0x6f, 0x79, 0x65, 0x65, 0x52, 0x0b, 0x74, 0x65, 0x61, 0x6d, 0x4d, 0x65, 0x6d, 0x62, - 0x65, 0x72, 0x73, 0x12, 0x3b, 0x0a, 0x10, 0x72, 0x65, 0x6c, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x70, - 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x73, 0x18, 0x08, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x10, 0x2e, - 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x50, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x52, - 0x0f, 0x72, 0x65, 0x6c, 0x61, 0x74, 0x65, 0x64, 0x50, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x73, - 0x12, 0x3a, 0x0a, 0x0d, 0x6d, 0x69, 0x6c, 0x65, 0x73, 0x74, 0x6f, 0x6e, 0x65, 0x5f, 0x69, 0x64, - 0x73, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x15, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, - 0x65, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x4f, 0x66, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x52, 0x0c, - 0x6d, 0x69, 0x6c, 0x65, 0x73, 0x74, 0x6f, 0x6e, 0x65, 0x49, 0x64, 0x73, 0x12, 0x32, 0x0a, 0x0a, - 0x6d, 0x69, 0x6c, 0x65, 0x73, 0x74, 0x6f, 0x6e, 0x65, 0x73, 0x18, 0x0a, 0x20, 0x03, 0x28, 0x0b, - 0x32, 0x12, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x4d, 0x69, 0x6c, 0x65, 0x73, - 0x74, 0x6f, 0x6e, 0x65, 0x52, 0x0a, 0x6d, 0x69, 0x6c, 0x65, 0x73, 0x74, 0x6f, 0x6e, 0x65, 0x73, - 0x12, 0x23, 0x0a, 0x05, 0x74, 0x61, 0x73, 0x6b, 0x73, 0x18, 0x0b, 0x20, 0x03, 0x28, 0x0b, 0x32, - 0x0d, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x54, 0x61, 0x73, 0x6b, 0x52, 0x05, - 0x74, 0x61, 0x73, 0x6b, 0x73, 0x12, 0x38, 0x0a, 0x08, 0x70, 0x72, 0x6f, 0x67, 0x72, 0x65, 0x73, - 0x73, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, - 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x44, 0x6f, 0x75, 0x62, 0x6c, 0x65, - 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x08, 0x70, 0x72, 0x6f, 0x67, 0x72, 0x65, 0x73, 0x73, 0x12, - 0x29, 0x0a, 0x04, 0x74, 0x61, 0x67, 0x73, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x15, 0x2e, - 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x4f, 0x66, 0x53, 0x74, - 0x72, 0x69, 0x6e, 0x67, 0x52, 0x04, 0x74, 0x61, 0x67, 0x73, 0x12, 0x49, 0x0a, 0x14, 0x61, 0x6c, - 0x74, 0x65, 0x72, 0x6e, 0x61, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, - 0x74, 0x73, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x16, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, - 0x63, 0x65, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x4f, 0x66, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, - 0x52, 0x13, 0x61, 0x6c, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x74, 0x69, 0x76, 0x65, 0x50, 0x72, 0x6f, - 0x6a, 0x65, 0x63, 0x74, 0x73, 0x12, 0x3a, 0x0a, 0x0c, 0x64, 0x65, 0x70, 0x65, 0x6e, 0x64, 0x65, - 0x6e, 0x63, 0x69, 0x65, 0x73, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x16, 0x2e, 0x73, 0x65, - 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x4f, 0x66, 0x50, 0x72, 0x6f, 0x6a, - 0x65, 0x63, 0x74, 0x52, 0x0c, 0x64, 0x65, 0x70, 0x65, 0x6e, 0x64, 0x65, 0x6e, 0x63, 0x69, 0x65, - 0x73, 0x12, 0x4d, 0x0a, 0x0f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x67, 0x72, - 0x6f, 0x75, 0x70, 0x73, 0x18, 0x10, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x73, 0x65, 0x72, - 0x76, 0x69, 0x63, 0x65, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x4f, 0x66, 0x4c, 0x69, 0x73, 0x74, 0x4f, - 0x66, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, - 0x52, 0x0e, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x73, - 0x12, 0x3f, 0x0a, 0x0e, 0x74, 0x61, 0x73, 0x6b, 0x73, 0x5f, 0x62, 0x79, 0x5f, 0x70, 0x68, 0x61, - 0x73, 0x65, 0x18, 0x11, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, - 0x63, 0x65, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x4f, 0x66, 0x4c, 0x69, 0x73, 0x74, 0x4f, 0x66, 0x54, - 0x61, 0x73, 0x6b, 0x52, 0x0c, 0x74, 0x61, 0x73, 0x6b, 0x73, 0x42, 0x79, 0x50, 0x68, 0x61, 0x73, - 0x65, 0x12, 0x49, 0x0a, 0x10, 0x6d, 0x69, 0x6c, 0x65, 0x73, 0x74, 0x6f, 0x6e, 0x65, 0x5f, 0x67, - 0x72, 0x6f, 0x75, 0x70, 0x73, 0x18, 0x12, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x73, 0x65, - 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x4f, 0x66, 0x4c, 0x69, 0x73, 0x74, - 0x4f, 0x66, 0x4d, 0x69, 0x6c, 0x65, 0x73, 0x74, 0x6f, 0x6e, 0x65, 0x52, 0x0f, 0x6d, 0x69, 0x6c, - 0x65, 0x73, 0x74, 0x6f, 0x6e, 0x65, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x73, 0x12, 0x48, 0x0a, 0x0f, - 0x70, 0x72, 0x69, 0x6f, 0x72, 0x69, 0x74, 0x79, 0x5f, 0x6d, 0x61, 0x74, 0x72, 0x69, 0x78, 0x18, - 0x13, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1f, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, - 0x4c, 0x69, 0x73, 0x74, 0x4f, 0x66, 0x4c, 0x69, 0x73, 0x74, 0x4f, 0x66, 0x4c, 0x69, 0x73, 0x74, - 0x4f, 0x66, 0x54, 0x61, 0x73, 0x6b, 0x52, 0x0e, 0x70, 0x72, 0x69, 0x6f, 0x72, 0x69, 0x74, 0x79, - 0x4d, 0x61, 0x74, 0x72, 0x69, 0x78, 0x22, 0xa9, 0x04, 0x0a, 0x09, 0x4d, 0x69, 0x6c, 0x65, 0x73, - 0x74, 0x6f, 0x6e, 0x65, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, - 0x52, 0x02, 0x69, 0x64, 0x12, 0x1d, 0x0a, 0x0a, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x5f, - 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, - 0x74, 0x49, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, - 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x3e, 0x0a, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, - 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, - 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x53, - 0x74, 0x72, 0x69, 0x6e, 0x67, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x0b, 0x64, 0x65, 0x73, 0x63, - 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x3b, 0x0a, 0x0a, 0x73, 0x74, 0x61, 0x72, 0x74, - 0x5f, 0x64, 0x61, 0x74, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, - 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x53, 0x74, - 0x72, 0x69, 0x6e, 0x67, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x09, 0x73, 0x74, 0x61, 0x72, 0x74, - 0x44, 0x61, 0x74, 0x65, 0x12, 0x37, 0x0a, 0x08, 0x65, 0x6e, 0x64, 0x5f, 0x64, 0x61, 0x74, 0x65, - 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, - 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x56, - 0x61, 0x6c, 0x75, 0x65, 0x52, 0x07, 0x65, 0x6e, 0x64, 0x44, 0x61, 0x74, 0x65, 0x12, 0x30, 0x0a, - 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x18, 0x2e, - 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x4d, 0x69, 0x6c, 0x65, 0x73, 0x74, 0x6f, 0x6e, - 0x65, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, - 0x51, 0x0a, 0x15, 0x63, 0x6f, 0x6d, 0x70, 0x6c, 0x65, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x70, 0x65, - 0x72, 0x63, 0x65, 0x6e, 0x74, 0x61, 0x67, 0x65, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, - 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, - 0x2e, 0x44, 0x6f, 0x75, 0x62, 0x6c, 0x65, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x14, 0x63, 0x6f, - 0x6d, 0x70, 0x6c, 0x65, 0x74, 0x69, 0x6f, 0x6e, 0x50, 0x65, 0x72, 0x63, 0x65, 0x6e, 0x74, 0x61, - 0x67, 0x65, 0x12, 0x36, 0x0a, 0x0c, 0x64, 0x65, 0x70, 0x65, 0x6e, 0x64, 0x65, 0x6e, 0x63, 0x69, - 0x65, 0x73, 0x18, 0x09, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, - 0x63, 0x65, 0x2e, 0x4d, 0x69, 0x6c, 0x65, 0x73, 0x74, 0x6f, 0x6e, 0x65, 0x52, 0x0c, 0x64, 0x65, - 0x70, 0x65, 0x6e, 0x64, 0x65, 0x6e, 0x63, 0x69, 0x65, 0x73, 0x12, 0x2f, 0x0a, 0x08, 0x73, 0x75, - 0x62, 0x74, 0x61, 0x73, 0x6b, 0x73, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x13, 0x2e, 0x73, - 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x4f, 0x66, 0x54, 0x61, 0x73, - 0x6b, 0x52, 0x08, 0x73, 0x75, 0x62, 0x74, 0x61, 0x73, 0x6b, 0x73, 0x12, 0x35, 0x0a, 0x09, 0x72, - 0x65, 0x76, 0x69, 0x65, 0x77, 0x65, 0x72, 0x73, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x17, - 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x4f, 0x66, 0x45, - 0x6d, 0x70, 0x6c, 0x6f, 0x79, 0x65, 0x65, 0x52, 0x09, 0x72, 0x65, 0x76, 0x69, 0x65, 0x77, 0x65, - 0x72, 0x73, 0x22, 0xeb, 0x06, 0x0a, 0x04, 0x54, 0x61, 0x73, 0x6b, 0x12, 0x0e, 0x0a, 0x02, 0x69, - 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, 0x64, 0x12, 0x1d, 0x0a, 0x0a, 0x70, - 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x09, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x49, 0x64, 0x12, 0x3f, 0x0a, 0x0c, 0x6d, 0x69, - 0x6c, 0x65, 0x73, 0x74, 0x6f, 0x6e, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, - 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, - 0x75, 0x66, 0x2e, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x0b, - 0x6d, 0x69, 0x6c, 0x65, 0x73, 0x74, 0x6f, 0x6e, 0x65, 0x49, 0x64, 0x12, 0x3c, 0x0a, 0x0b, 0x61, - 0x73, 0x73, 0x69, 0x67, 0x6e, 0x65, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, - 0x32, 0x1b, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, - 0x75, 0x66, 0x2e, 0x49, 0x6e, 0x74, 0x33, 0x32, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x0a, 0x61, - 0x73, 0x73, 0x69, 0x67, 0x6e, 0x65, 0x65, 0x49, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, - 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x3e, 0x0a, - 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x06, 0x20, 0x01, - 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, - 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x56, 0x61, 0x6c, 0x75, 0x65, - 0x52, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x31, 0x0a, - 0x08, 0x70, 0x72, 0x69, 0x6f, 0x72, 0x69, 0x74, 0x79, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0e, 0x32, - 0x15, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x54, 0x61, 0x73, 0x6b, 0x50, 0x72, - 0x69, 0x6f, 0x72, 0x69, 0x74, 0x79, 0x52, 0x08, 0x70, 0x72, 0x69, 0x6f, 0x72, 0x69, 0x74, 0x79, - 0x12, 0x2b, 0x0a, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0e, - 0x32, 0x13, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x54, 0x61, 0x73, 0x6b, 0x53, - 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x49, 0x0a, - 0x0f, 0x65, 0x73, 0x74, 0x69, 0x6d, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x68, 0x6f, 0x75, 0x72, 0x73, - 0x18, 0x09, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, - 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x44, 0x6f, 0x75, 0x62, 0x6c, 0x65, 0x56, - 0x61, 0x6c, 0x75, 0x65, 0x42, 0x02, 0x18, 0x01, 0x52, 0x0e, 0x65, 0x73, 0x74, 0x69, 0x6d, 0x61, - 0x74, 0x65, 0x64, 0x48, 0x6f, 0x75, 0x72, 0x73, 0x12, 0x3f, 0x0a, 0x0c, 0x61, 0x63, 0x74, 0x75, - 0x61, 0x6c, 0x5f, 0x68, 0x6f, 0x75, 0x72, 0x73, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, - 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, - 0x2e, 0x44, 0x6f, 0x75, 0x62, 0x6c, 0x65, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x0b, 0x61, 0x63, - 0x74, 0x75, 0x61, 0x6c, 0x48, 0x6f, 0x75, 0x72, 0x73, 0x12, 0x3b, 0x0a, 0x0a, 0x63, 0x72, 0x65, - 0x61, 0x74, 0x65, 0x64, 0x5f, 0x61, 0x74, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, - 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, - 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x09, 0x63, 0x72, 0x65, - 0x61, 0x74, 0x65, 0x64, 0x41, 0x74, 0x12, 0x3f, 0x0a, 0x0c, 0x63, 0x6f, 0x6d, 0x70, 0x6c, 0x65, - 0x74, 0x65, 0x64, 0x5f, 0x61, 0x74, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, - 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x53, - 0x74, 0x72, 0x69, 0x6e, 0x67, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x0b, 0x63, 0x6f, 0x6d, 0x70, - 0x6c, 0x65, 0x74, 0x65, 0x64, 0x41, 0x74, 0x12, 0x2d, 0x0a, 0x06, 0x6c, 0x61, 0x62, 0x65, 0x6c, - 0x73, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x15, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, - 0x65, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x4f, 0x66, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x52, 0x06, - 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x12, 0x2f, 0x0a, 0x08, 0x73, 0x75, 0x62, 0x74, 0x61, 0x73, - 0x6b, 0x73, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x13, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, - 0x63, 0x65, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x4f, 0x66, 0x54, 0x61, 0x73, 0x6b, 0x52, 0x08, 0x73, - 0x75, 0x62, 0x74, 0x61, 0x73, 0x6b, 0x73, 0x12, 0x31, 0x0a, 0x0c, 0x64, 0x65, 0x70, 0x65, 0x6e, - 0x64, 0x65, 0x6e, 0x63, 0x69, 0x65, 0x73, 0x18, 0x0f, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0d, 0x2e, - 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x54, 0x61, 0x73, 0x6b, 0x52, 0x0c, 0x64, 0x65, - 0x70, 0x65, 0x6e, 0x64, 0x65, 0x6e, 0x63, 0x69, 0x65, 0x73, 0x12, 0x27, 0x0a, 0x0f, 0x61, 0x74, - 0x74, 0x61, 0x63, 0x68, 0x6d, 0x65, 0x6e, 0x74, 0x5f, 0x75, 0x72, 0x6c, 0x73, 0x18, 0x10, 0x20, - 0x03, 0x28, 0x09, 0x52, 0x0e, 0x61, 0x74, 0x74, 0x61, 0x63, 0x68, 0x6d, 0x65, 0x6e, 0x74, 0x55, - 0x72, 0x6c, 0x73, 0x12, 0x35, 0x0a, 0x0c, 0x72, 0x65, 0x76, 0x69, 0x65, 0x77, 0x65, 0x72, 0x5f, - 0x69, 0x64, 0x73, 0x18, 0x11, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x73, 0x65, 0x72, 0x76, - 0x69, 0x63, 0x65, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x4f, 0x66, 0x49, 0x6e, 0x74, 0x52, 0x0b, 0x72, - 0x65, 0x76, 0x69, 0x65, 0x77, 0x65, 0x72, 0x49, 0x64, 0x73, 0x4a, 0x04, 0x08, 0x12, 0x10, 0x14, - 0x22, 0xf1, 0x02, 0x0a, 0x08, 0x45, 0x6d, 0x70, 0x6c, 0x6f, 0x79, 0x65, 0x65, 0x12, 0x0e, 0x0a, - 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x02, 0x69, 0x64, 0x12, 0x32, 0x0a, - 0x08, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, - 0x16, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x4f, 0x66, - 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x08, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, - 0x73, 0x12, 0x34, 0x0a, 0x0e, 0x61, 0x73, 0x73, 0x69, 0x67, 0x6e, 0x65, 0x64, 0x5f, 0x74, 0x61, - 0x73, 0x6b, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0d, 0x2e, 0x73, 0x65, 0x72, 0x76, - 0x69, 0x63, 0x65, 0x2e, 0x54, 0x61, 0x73, 0x6b, 0x52, 0x0d, 0x61, 0x73, 0x73, 0x69, 0x67, 0x6e, - 0x65, 0x64, 0x54, 0x61, 0x73, 0x6b, 0x73, 0x12, 0x36, 0x0a, 0x0f, 0x63, 0x6f, 0x6d, 0x70, 0x6c, - 0x65, 0x74, 0x65, 0x64, 0x5f, 0x74, 0x61, 0x73, 0x6b, 0x73, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, - 0x32, 0x0d, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x54, 0x61, 0x73, 0x6b, 0x52, - 0x0e, 0x63, 0x6f, 0x6d, 0x70, 0x6c, 0x65, 0x74, 0x65, 0x64, 0x54, 0x61, 0x73, 0x6b, 0x73, 0x12, - 0x2d, 0x0a, 0x06, 0x73, 0x6b, 0x69, 0x6c, 0x6c, 0x73, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, - 0x15, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x4f, 0x66, - 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x52, 0x06, 0x73, 0x6b, 0x69, 0x6c, 0x6c, 0x73, 0x12, 0x3d, - 0x0a, 0x0e, 0x63, 0x65, 0x72, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, - 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x15, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, - 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x4f, 0x66, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x52, 0x0e, 0x63, - 0x65, 0x72, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x45, 0x0a, - 0x0f, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x68, 0x69, 0x73, 0x74, 0x6f, 0x72, 0x79, - 0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, - 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x4f, 0x66, 0x4c, 0x69, 0x73, 0x74, 0x4f, 0x66, 0x50, 0x72, 0x6f, - 0x6a, 0x65, 0x63, 0x74, 0x52, 0x0e, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x48, 0x69, 0x73, - 0x74, 0x6f, 0x72, 0x79, 0x22, 0x93, 0x01, 0x0a, 0x07, 0x50, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, - 0x12, 0x10, 0x0a, 0x03, 0x75, 0x70, 0x63, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x75, - 0x70, 0x63, 0x12, 0x32, 0x0a, 0x08, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x18, 0x02, - 0x20, 0x01, 0x28, 0x0b, 0x32, 0x16, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x4c, - 0x69, 0x73, 0x74, 0x4f, 0x66, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x08, 0x70, 0x72, - 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x12, 0x42, 0x0a, 0x0e, 0x66, 0x65, 0x61, 0x74, 0x75, 0x72, - 0x65, 0x5f, 0x6d, 0x61, 0x74, 0x72, 0x69, 0x78, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1b, - 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x4f, 0x66, 0x4c, - 0x69, 0x73, 0x74, 0x4f, 0x66, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x52, 0x0d, 0x66, 0x65, 0x61, - 0x74, 0x75, 0x72, 0x65, 0x4d, 0x61, 0x74, 0x72, 0x69, 0x78, 0x22, 0xd2, 0x01, 0x0a, 0x0f, 0x50, - 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x12, 0x2f, - 0x0a, 0x08, 0x65, 0x6d, 0x70, 0x6c, 0x6f, 0x79, 0x65, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, - 0x32, 0x11, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x45, 0x6d, 0x70, 0x6c, 0x6f, - 0x79, 0x65, 0x65, 0x48, 0x00, 0x52, 0x08, 0x65, 0x6d, 0x70, 0x6c, 0x6f, 0x79, 0x65, 0x65, 0x12, - 0x2c, 0x0a, 0x07, 0x70, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, - 0x32, 0x10, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x50, 0x72, 0x6f, 0x64, 0x75, - 0x63, 0x74, 0x48, 0x00, 0x52, 0x07, 0x70, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x12, 0x32, 0x0a, - 0x09, 0x6d, 0x69, 0x6c, 0x65, 0x73, 0x74, 0x6f, 0x6e, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, - 0x32, 0x12, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x4d, 0x69, 0x6c, 0x65, 0x73, - 0x74, 0x6f, 0x6e, 0x65, 0x48, 0x00, 0x52, 0x09, 0x6d, 0x69, 0x6c, 0x65, 0x73, 0x74, 0x6f, 0x6e, - 0x65, 0x12, 0x23, 0x0a, 0x04, 0x74, 0x61, 0x73, 0x6b, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, - 0x0d, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x54, 0x61, 0x73, 0x6b, 0x48, 0x00, - 0x52, 0x04, 0x74, 0x61, 0x73, 0x6b, 0x42, 0x07, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x22, - 0xa5, 0x01, 0x0a, 0x13, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x53, 0x65, 0x61, 0x72, 0x63, - 0x68, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x12, 0x2c, 0x0a, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, - 0x63, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x10, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, - 0x63, 0x65, 0x2e, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x48, 0x00, 0x52, 0x07, 0x70, 0x72, - 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x32, 0x0a, 0x09, 0x6d, 0x69, 0x6c, 0x65, 0x73, 0x74, 0x6f, - 0x6e, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, - 0x63, 0x65, 0x2e, 0x4d, 0x69, 0x6c, 0x65, 0x73, 0x74, 0x6f, 0x6e, 0x65, 0x48, 0x00, 0x52, 0x09, - 0x6d, 0x69, 0x6c, 0x65, 0x73, 0x74, 0x6f, 0x6e, 0x65, 0x12, 0x23, 0x0a, 0x04, 0x74, 0x61, 0x73, - 0x6b, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0d, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, - 0x65, 0x2e, 0x54, 0x61, 0x73, 0x6b, 0x48, 0x00, 0x52, 0x04, 0x74, 0x61, 0x73, 0x6b, 0x42, 0x07, - 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x22, 0xb4, 0x01, 0x0a, 0x0f, 0x50, 0x72, 0x6f, 0x6a, - 0x65, 0x63, 0x74, 0x41, 0x63, 0x74, 0x69, 0x76, 0x69, 0x74, 0x79, 0x12, 0x3f, 0x0a, 0x0e, 0x70, - 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x18, 0x01, 0x20, - 0x01, 0x28, 0x0b, 0x32, 0x16, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x50, 0x72, - 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x48, 0x00, 0x52, 0x0d, 0x70, - 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x12, 0x32, 0x0a, 0x09, - 0x6d, 0x69, 0x6c, 0x65, 0x73, 0x74, 0x6f, 0x6e, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, - 0x12, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x4d, 0x69, 0x6c, 0x65, 0x73, 0x74, - 0x6f, 0x6e, 0x65, 0x48, 0x00, 0x52, 0x09, 0x6d, 0x69, 0x6c, 0x65, 0x73, 0x74, 0x6f, 0x6e, 0x65, - 0x12, 0x23, 0x0a, 0x04, 0x74, 0x61, 0x73, 0x6b, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0d, - 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x54, 0x61, 0x73, 0x6b, 0x48, 0x00, 0x52, - 0x04, 0x74, 0x61, 0x73, 0x6b, 0x42, 0x07, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x22, 0xda, - 0x01, 0x0a, 0x04, 0x4e, 0x6f, 0x64, 0x65, 0x12, 0x2c, 0x0a, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, - 0x63, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x10, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, - 0x63, 0x65, 0x2e, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x48, 0x00, 0x52, 0x07, 0x70, 0x72, - 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x32, 0x0a, 0x09, 0x6d, 0x69, 0x6c, 0x65, 0x73, 0x74, 0x6f, - 0x6e, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, - 0x63, 0x65, 0x2e, 0x4d, 0x69, 0x6c, 0x65, 0x73, 0x74, 0x6f, 0x6e, 0x65, 0x48, 0x00, 0x52, 0x09, - 0x6d, 0x69, 0x6c, 0x65, 0x73, 0x74, 0x6f, 0x6e, 0x65, 0x12, 0x23, 0x0a, 0x04, 0x74, 0x61, 0x73, - 0x6b, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0d, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, - 0x65, 0x2e, 0x54, 0x61, 0x73, 0x6b, 0x48, 0x00, 0x52, 0x04, 0x74, 0x61, 0x73, 0x6b, 0x12, 0x3f, - 0x0a, 0x0e, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, - 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x16, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, - 0x2e, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x48, 0x00, - 0x52, 0x0d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x42, - 0x0a, 0x0a, 0x08, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x22, 0x88, 0x02, 0x0a, 0x0c, - 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x49, 0x6e, 0x70, 0x75, 0x74, 0x12, 0x12, 0x0a, 0x04, - 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, - 0x12, 0x3e, 0x0a, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x18, - 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, - 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x56, 0x61, - 0x6c, 0x75, 0x65, 0x52, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, - 0x12, 0x3b, 0x0a, 0x0a, 0x73, 0x74, 0x61, 0x72, 0x74, 0x5f, 0x64, 0x61, 0x74, 0x65, 0x18, 0x03, - 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, - 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x56, 0x61, 0x6c, - 0x75, 0x65, 0x52, 0x09, 0x73, 0x74, 0x61, 0x72, 0x74, 0x44, 0x61, 0x74, 0x65, 0x12, 0x37, 0x0a, - 0x08, 0x65, 0x6e, 0x64, 0x5f, 0x64, 0x61, 0x74, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, - 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, - 0x66, 0x2e, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x07, 0x65, - 0x6e, 0x64, 0x44, 0x61, 0x74, 0x65, 0x12, 0x2e, 0x0a, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, - 0x18, 0x05, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x16, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, - 0x2e, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x06, - 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x22, 0xee, 0x01, 0x0a, 0x0e, 0x4d, 0x69, 0x6c, 0x65, 0x73, - 0x74, 0x6f, 0x6e, 0x65, 0x49, 0x6e, 0x70, 0x75, 0x74, 0x12, 0x1d, 0x0a, 0x0a, 0x70, 0x72, 0x6f, - 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x70, - 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x49, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, - 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x3e, 0x0a, 0x0b, - 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, - 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, - 0x62, 0x75, 0x66, 0x2e, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, - 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x37, 0x0a, 0x08, - 0x64, 0x75, 0x65, 0x5f, 0x64, 0x61, 0x74, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, - 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, - 0x2e, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x07, 0x64, 0x75, - 0x65, 0x44, 0x61, 0x74, 0x65, 0x12, 0x30, 0x0a, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, - 0x05, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x18, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, - 0x4d, 0x69, 0x6c, 0x65, 0x73, 0x74, 0x6f, 0x6e, 0x65, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, - 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x22, 0xe3, 0x02, 0x0a, 0x09, 0x54, 0x61, 0x73, 0x6b, - 0x49, 0x6e, 0x70, 0x75, 0x74, 0x12, 0x1d, 0x0a, 0x0a, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, - 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x70, 0x72, 0x6f, 0x6a, 0x65, - 0x63, 0x74, 0x49, 0x64, 0x12, 0x3c, 0x0a, 0x0b, 0x61, 0x73, 0x73, 0x69, 0x67, 0x6e, 0x65, 0x65, - 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x67, 0x6f, 0x6f, 0x67, - 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x49, 0x6e, 0x74, 0x33, - 0x32, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x0a, 0x61, 0x73, 0x73, 0x69, 0x67, 0x6e, 0x65, 0x65, - 0x49, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, - 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x3e, 0x0a, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, - 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, - 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x53, 0x74, - 0x72, 0x69, 0x6e, 0x67, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, - 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x31, 0x0a, 0x08, 0x70, 0x72, 0x69, 0x6f, 0x72, 0x69, - 0x74, 0x79, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x15, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, - 0x63, 0x65, 0x2e, 0x54, 0x61, 0x73, 0x6b, 0x50, 0x72, 0x69, 0x6f, 0x72, 0x69, 0x74, 0x79, 0x52, - 0x08, 0x70, 0x72, 0x69, 0x6f, 0x72, 0x69, 0x74, 0x79, 0x12, 0x2b, 0x0a, 0x06, 0x73, 0x74, 0x61, - 0x74, 0x75, 0x73, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x13, 0x2e, 0x73, 0x65, 0x72, 0x76, - 0x69, 0x63, 0x65, 0x2e, 0x54, 0x61, 0x73, 0x6b, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x06, - 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x45, 0x0a, 0x0f, 0x65, 0x73, 0x74, 0x69, 0x6d, 0x61, - 0x74, 0x65, 0x64, 0x5f, 0x68, 0x6f, 0x75, 0x72, 0x73, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, - 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, - 0x66, 0x2e, 0x44, 0x6f, 0x75, 0x62, 0x6c, 0x65, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x0e, 0x65, - 0x73, 0x74, 0x69, 0x6d, 0x61, 0x74, 0x65, 0x64, 0x48, 0x6f, 0x75, 0x72, 0x73, 0x22, 0x99, 0x02, - 0x0a, 0x0d, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x12, - 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, 0x64, 0x12, - 0x1d, 0x0a, 0x0a, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, - 0x01, 0x28, 0x09, 0x52, 0x09, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x49, 0x64, 0x12, 0x22, - 0x0a, 0x0d, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x62, 0x79, 0x5f, 0x69, 0x64, 0x18, - 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0b, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, 0x42, 0x79, - 0x49, 0x64, 0x12, 0x3b, 0x0a, 0x0b, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x5f, 0x74, 0x79, 0x70, - 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x1a, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, - 0x65, 0x2e, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x54, - 0x79, 0x70, 0x65, 0x52, 0x0a, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x54, 0x79, 0x70, 0x65, 0x12, - 0x20, 0x0a, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x05, - 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, - 0x6e, 0x12, 0x1c, 0x0a, 0x09, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x18, 0x06, - 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x12, - 0x38, 0x0a, 0x08, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x18, 0x07, 0x20, 0x01, 0x28, - 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, - 0x62, 0x75, 0x66, 0x2e, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, - 0x08, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x22, 0x7b, 0x0a, 0x0b, 0x54, 0x69, 0x6d, - 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x65, 0x64, 0x12, 0x2c, 0x0a, 0x07, 0x70, 0x72, 0x6f, 0x6a, - 0x65, 0x63, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x10, 0x2e, 0x73, 0x65, 0x72, 0x76, - 0x69, 0x63, 0x65, 0x2e, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x48, 0x00, 0x52, 0x07, 0x70, - 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x32, 0x0a, 0x09, 0x6d, 0x69, 0x6c, 0x65, 0x73, 0x74, - 0x6f, 0x6e, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x73, 0x65, 0x72, 0x76, - 0x69, 0x63, 0x65, 0x2e, 0x4d, 0x69, 0x6c, 0x65, 0x73, 0x74, 0x6f, 0x6e, 0x65, 0x48, 0x00, 0x52, - 0x09, 0x6d, 0x69, 0x6c, 0x65, 0x73, 0x74, 0x6f, 0x6e, 0x65, 0x42, 0x0a, 0x0a, 0x08, 0x69, 0x6e, - 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x22, 0x3d, 0x0a, 0x0a, 0x41, 0x73, 0x73, 0x69, 0x67, 0x6e, - 0x61, 0x62, 0x6c, 0x65, 0x12, 0x23, 0x0a, 0x04, 0x74, 0x61, 0x73, 0x6b, 0x18, 0x01, 0x20, 0x01, - 0x28, 0x0b, 0x32, 0x0d, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x54, 0x61, 0x73, - 0x6b, 0x48, 0x00, 0x52, 0x04, 0x74, 0x61, 0x73, 0x6b, 0x42, 0x0a, 0x0a, 0x08, 0x69, 0x6e, 0x73, - 0x74, 0x61, 0x6e, 0x63, 0x65, 0x22, 0xbd, 0x01, 0x0a, 0x10, 0x45, 0x6d, 0x70, 0x6c, 0x6f, 0x79, - 0x65, 0x65, 0x57, 0x6f, 0x72, 0x6b, 0x49, 0x74, 0x65, 0x6d, 0x12, 0x4c, 0x0a, 0x13, 0x74, 0x65, - 0x63, 0x68, 0x6e, 0x69, 0x63, 0x61, 0x6c, 0x5f, 0x77, 0x6f, 0x72, 0x6b, 0x5f, 0x69, 0x74, 0x65, - 0x6d, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, - 0x65, 0x2e, 0x54, 0x65, 0x63, 0x68, 0x6e, 0x69, 0x63, 0x61, 0x6c, 0x57, 0x6f, 0x72, 0x6b, 0x49, - 0x74, 0x65, 0x6d, 0x48, 0x00, 0x52, 0x11, 0x74, 0x65, 0x63, 0x68, 0x6e, 0x69, 0x63, 0x61, 0x6c, - 0x57, 0x6f, 0x72, 0x6b, 0x49, 0x74, 0x65, 0x6d, 0x12, 0x4f, 0x0a, 0x14, 0x6d, 0x61, 0x6e, 0x61, - 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x5f, 0x77, 0x6f, 0x72, 0x6b, 0x5f, 0x69, 0x74, 0x65, 0x6d, - 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, - 0x2e, 0x4d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x57, 0x6f, 0x72, 0x6b, 0x49, - 0x74, 0x65, 0x6d, 0x48, 0x00, 0x52, 0x12, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e, - 0x74, 0x57, 0x6f, 0x72, 0x6b, 0x49, 0x74, 0x65, 0x6d, 0x42, 0x0a, 0x0a, 0x08, 0x69, 0x6e, 0x73, - 0x74, 0x61, 0x6e, 0x63, 0x65, 0x22, 0xc5, 0x01, 0x0a, 0x11, 0x54, 0x65, 0x63, 0x68, 0x6e, 0x69, - 0x63, 0x61, 0x6c, 0x57, 0x6f, 0x72, 0x6b, 0x49, 0x74, 0x65, 0x6d, 0x12, 0x12, 0x0a, 0x04, 0x6e, - 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, - 0x1a, 0x0a, 0x08, 0x70, 0x72, 0x69, 0x6f, 0x72, 0x69, 0x74, 0x79, 0x18, 0x02, 0x20, 0x01, 0x28, - 0x05, 0x52, 0x08, 0x70, 0x72, 0x69, 0x6f, 0x72, 0x69, 0x74, 0x79, 0x12, 0x1d, 0x0a, 0x0a, 0x63, - 0x6f, 0x64, 0x65, 0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, - 0x09, 0x63, 0x6f, 0x64, 0x65, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x32, 0x0a, 0x07, 0x68, 0x61, - 0x6e, 0x64, 0x6c, 0x65, 0x72, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x18, 0x2e, 0x73, 0x65, - 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x57, 0x6f, 0x72, 0x6b, 0x49, 0x74, 0x65, 0x6d, 0x48, 0x61, - 0x6e, 0x64, 0x6c, 0x65, 0x72, 0x52, 0x07, 0x68, 0x61, 0x6e, 0x64, 0x6c, 0x65, 0x72, 0x12, 0x2d, - 0x0a, 0x05, 0x73, 0x70, 0x65, 0x63, 0x73, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x17, 0x2e, - 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x54, 0x65, 0x63, 0x68, 0x6e, 0x69, 0x63, 0x61, - 0x6c, 0x53, 0x70, 0x65, 0x63, 0x73, 0x52, 0x05, 0x73, 0x70, 0x65, 0x63, 0x73, 0x22, 0xc5, 0x01, - 0x0a, 0x12, 0x4d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x57, 0x6f, 0x72, 0x6b, - 0x49, 0x74, 0x65, 0x6d, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, - 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x70, 0x72, 0x69, 0x6f, - 0x72, 0x69, 0x74, 0x79, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x70, 0x72, 0x69, 0x6f, - 0x72, 0x69, 0x74, 0x79, 0x12, 0x1b, 0x0a, 0x09, 0x74, 0x65, 0x61, 0x6d, 0x5f, 0x73, 0x69, 0x7a, - 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x74, 0x65, 0x61, 0x6d, 0x53, 0x69, 0x7a, - 0x65, 0x12, 0x32, 0x0a, 0x07, 0x68, 0x61, 0x6e, 0x64, 0x6c, 0x65, 0x72, 0x18, 0x04, 0x20, 0x01, - 0x28, 0x0b, 0x32, 0x18, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x57, 0x6f, 0x72, - 0x6b, 0x49, 0x74, 0x65, 0x6d, 0x48, 0x61, 0x6e, 0x64, 0x6c, 0x65, 0x72, 0x52, 0x07, 0x68, 0x61, - 0x6e, 0x64, 0x6c, 0x65, 0x72, 0x12, 0x2e, 0x0a, 0x05, 0x73, 0x70, 0x65, 0x63, 0x73, 0x18, 0x05, - 0x20, 0x01, 0x28, 0x0b, 0x32, 0x18, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x4d, - 0x61, 0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x53, 0x70, 0x65, 0x63, 0x73, 0x52, 0x05, - 0x73, 0x70, 0x65, 0x63, 0x73, 0x22, 0x65, 0x0a, 0x0f, 0x57, 0x6f, 0x72, 0x6b, 0x49, 0x74, 0x65, - 0x6d, 0x48, 0x61, 0x6e, 0x64, 0x6c, 0x65, 0x72, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, - 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x3e, 0x0a, 0x0d, - 0x61, 0x73, 0x73, 0x69, 0x67, 0x6e, 0x65, 0x64, 0x5f, 0x69, 0x74, 0x65, 0x6d, 0x18, 0x02, 0x20, - 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x45, 0x6d, - 0x70, 0x6c, 0x6f, 0x79, 0x65, 0x65, 0x57, 0x6f, 0x72, 0x6b, 0x49, 0x74, 0x65, 0x6d, 0x52, 0x0c, - 0x61, 0x73, 0x73, 0x69, 0x67, 0x6e, 0x65, 0x64, 0x49, 0x74, 0x65, 0x6d, 0x22, 0x74, 0x0a, 0x0e, - 0x54, 0x65, 0x63, 0x68, 0x6e, 0x69, 0x63, 0x61, 0x6c, 0x53, 0x70, 0x65, 0x63, 0x73, 0x12, 0x12, - 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, - 0x6d, 0x65, 0x12, 0x1e, 0x0a, 0x0a, 0x63, 0x6f, 0x6d, 0x70, 0x6c, 0x65, 0x78, 0x69, 0x74, 0x79, - 0x18, 0x02, 0x20, 0x01, 0x28, 0x01, 0x52, 0x0a, 0x63, 0x6f, 0x6d, 0x70, 0x6c, 0x65, 0x78, 0x69, - 0x74, 0x79, 0x12, 0x2e, 0x0a, 0x07, 0x6d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x73, 0x18, 0x03, 0x20, - 0x01, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x57, 0x6f, - 0x72, 0x6b, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x73, 0x52, 0x07, 0x6d, 0x65, 0x74, 0x72, 0x69, - 0x63, 0x73, 0x22, 0x6b, 0x0a, 0x0f, 0x4d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, - 0x53, 0x70, 0x65, 0x63, 0x73, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, - 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x73, 0x63, 0x6f, - 0x70, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x01, 0x52, 0x05, 0x73, 0x63, 0x6f, 0x70, 0x65, 0x12, - 0x2e, 0x0a, 0x07, 0x6d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, - 0x32, 0x14, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x57, 0x6f, 0x72, 0x6b, 0x4d, - 0x65, 0x74, 0x72, 0x69, 0x63, 0x73, 0x52, 0x07, 0x6d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x73, 0x22, - 0x43, 0x0a, 0x0b, 0x57, 0x6f, 0x72, 0x6b, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x73, 0x12, 0x14, - 0x0a, 0x05, 0x73, 0x63, 0x6f, 0x72, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x01, 0x52, 0x05, 0x73, - 0x63, 0x6f, 0x72, 0x65, 0x12, 0x1e, 0x0a, 0x0a, 0x65, 0x66, 0x66, 0x69, 0x63, 0x69, 0x65, 0x6e, - 0x63, 0x79, 0x18, 0x02, 0x20, 0x01, 0x28, 0x01, 0x52, 0x0a, 0x65, 0x66, 0x66, 0x69, 0x63, 0x69, - 0x65, 0x6e, 0x63, 0x79, 0x22, 0x9a, 0x01, 0x0a, 0x10, 0x57, 0x6f, 0x72, 0x6b, 0x52, 0x65, 0x76, - 0x69, 0x65, 0x77, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x12, 0x3c, 0x0a, 0x0d, 0x77, 0x6f, 0x72, - 0x6b, 0x5f, 0x61, 0x70, 0x70, 0x72, 0x6f, 0x76, 0x61, 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, - 0x32, 0x15, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x57, 0x6f, 0x72, 0x6b, 0x41, - 0x70, 0x70, 0x72, 0x6f, 0x76, 0x61, 0x6c, 0x48, 0x00, 0x52, 0x0c, 0x77, 0x6f, 0x72, 0x6b, 0x41, - 0x70, 0x70, 0x72, 0x6f, 0x76, 0x61, 0x6c, 0x12, 0x3f, 0x0a, 0x0e, 0x77, 0x6f, 0x72, 0x6b, 0x5f, - 0x72, 0x65, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, - 0x16, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x57, 0x6f, 0x72, 0x6b, 0x52, 0x65, - 0x6a, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x48, 0x00, 0x52, 0x0d, 0x77, 0x6f, 0x72, 0x6b, 0x52, - 0x65, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x42, 0x07, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, - 0x65, 0x22, 0x49, 0x0a, 0x0c, 0x57, 0x6f, 0x72, 0x6b, 0x41, 0x70, 0x70, 0x72, 0x6f, 0x76, 0x61, - 0x6c, 0x12, 0x18, 0x0a, 0x07, 0x63, 0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, - 0x28, 0x09, 0x52, 0x07, 0x63, 0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x74, 0x12, 0x1f, 0x0a, 0x0b, 0x61, - 0x70, 0x70, 0x72, 0x6f, 0x76, 0x65, 0x64, 0x5f, 0x61, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, - 0x52, 0x0a, 0x61, 0x70, 0x70, 0x72, 0x6f, 0x76, 0x65, 0x64, 0x41, 0x74, 0x22, 0x4e, 0x0a, 0x0d, - 0x57, 0x6f, 0x72, 0x6b, 0x52, 0x65, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x16, 0x0a, - 0x06, 0x72, 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x72, - 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x12, 0x25, 0x0a, 0x0e, 0x72, 0x65, 0x6a, 0x65, 0x63, 0x74, 0x69, - 0x6f, 0x6e, 0x5f, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x72, - 0x65, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x6f, 0x64, 0x65, 0x22, 0x65, 0x0a, 0x09, - 0x57, 0x6f, 0x72, 0x6b, 0x53, 0x65, 0x74, 0x75, 0x70, 0x12, 0x1a, 0x0a, 0x08, 0x70, 0x72, 0x69, - 0x6f, 0x72, 0x69, 0x74, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x70, 0x72, 0x69, - 0x6f, 0x72, 0x69, 0x74, 0x79, 0x12, 0x3c, 0x0a, 0x0c, 0x70, 0x72, 0x69, 0x6d, 0x61, 0x72, 0x79, - 0x5f, 0x69, 0x74, 0x65, 0x6d, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x73, 0x65, - 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x45, 0x6d, 0x70, 0x6c, 0x6f, 0x79, 0x65, 0x65, 0x57, 0x6f, - 0x72, 0x6b, 0x49, 0x74, 0x65, 0x6d, 0x52, 0x0b, 0x70, 0x72, 0x69, 0x6d, 0x61, 0x72, 0x79, 0x49, - 0x74, 0x65, 0x6d, 0x2a, 0xa1, 0x01, 0x0a, 0x0d, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x53, - 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x1e, 0x0a, 0x1a, 0x50, 0x52, 0x4f, 0x4a, 0x45, 0x43, 0x54, - 0x5f, 0x53, 0x54, 0x41, 0x54, 0x55, 0x53, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, - 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x1b, 0x0a, 0x17, 0x50, 0x52, 0x4f, 0x4a, 0x45, 0x43, 0x54, - 0x5f, 0x53, 0x54, 0x41, 0x54, 0x55, 0x53, 0x5f, 0x50, 0x4c, 0x41, 0x4e, 0x4e, 0x49, 0x4e, 0x47, - 0x10, 0x01, 0x12, 0x19, 0x0a, 0x15, 0x50, 0x52, 0x4f, 0x4a, 0x45, 0x43, 0x54, 0x5f, 0x53, 0x54, - 0x41, 0x54, 0x55, 0x53, 0x5f, 0x41, 0x43, 0x54, 0x49, 0x56, 0x45, 0x10, 0x02, 0x12, 0x1c, 0x0a, - 0x18, 0x50, 0x52, 0x4f, 0x4a, 0x45, 0x43, 0x54, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x55, 0x53, 0x5f, - 0x43, 0x4f, 0x4d, 0x50, 0x4c, 0x45, 0x54, 0x45, 0x44, 0x10, 0x03, 0x12, 0x1a, 0x0a, 0x16, 0x50, - 0x52, 0x4f, 0x4a, 0x45, 0x43, 0x54, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x55, 0x53, 0x5f, 0x4f, 0x4e, - 0x5f, 0x48, 0x4f, 0x4c, 0x44, 0x10, 0x04, 0x2a, 0xb1, 0x01, 0x0a, 0x0f, 0x4d, 0x69, 0x6c, 0x65, - 0x73, 0x74, 0x6f, 0x6e, 0x65, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x20, 0x0a, 0x1c, 0x4d, - 0x49, 0x4c, 0x45, 0x53, 0x54, 0x4f, 0x4e, 0x45, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x55, 0x53, 0x5f, - 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x1c, 0x0a, - 0x18, 0x4d, 0x49, 0x4c, 0x45, 0x53, 0x54, 0x4f, 0x4e, 0x45, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x55, - 0x53, 0x5f, 0x50, 0x45, 0x4e, 0x44, 0x49, 0x4e, 0x47, 0x10, 0x01, 0x12, 0x20, 0x0a, 0x1c, 0x4d, - 0x49, 0x4c, 0x45, 0x53, 0x54, 0x4f, 0x4e, 0x45, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x55, 0x53, 0x5f, - 0x49, 0x4e, 0x5f, 0x50, 0x52, 0x4f, 0x47, 0x52, 0x45, 0x53, 0x53, 0x10, 0x02, 0x12, 0x1e, 0x0a, - 0x1a, 0x4d, 0x49, 0x4c, 0x45, 0x53, 0x54, 0x4f, 0x4e, 0x45, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x55, - 0x53, 0x5f, 0x43, 0x4f, 0x4d, 0x50, 0x4c, 0x45, 0x54, 0x45, 0x44, 0x10, 0x03, 0x12, 0x1c, 0x0a, - 0x18, 0x4d, 0x49, 0x4c, 0x45, 0x53, 0x54, 0x4f, 0x4e, 0x45, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x55, - 0x53, 0x5f, 0x44, 0x45, 0x4c, 0x41, 0x59, 0x45, 0x44, 0x10, 0x04, 0x2a, 0xa8, 0x01, 0x0a, 0x0a, - 0x54, 0x61, 0x73, 0x6b, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x1b, 0x0a, 0x17, 0x54, 0x41, - 0x53, 0x4b, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x55, 0x53, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, - 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x14, 0x0a, 0x10, 0x54, 0x41, 0x53, 0x4b, 0x5f, - 0x53, 0x54, 0x41, 0x54, 0x55, 0x53, 0x5f, 0x54, 0x4f, 0x44, 0x4f, 0x10, 0x01, 0x12, 0x1b, 0x0a, - 0x17, 0x54, 0x41, 0x53, 0x4b, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x55, 0x53, 0x5f, 0x49, 0x4e, 0x5f, - 0x50, 0x52, 0x4f, 0x47, 0x52, 0x45, 0x53, 0x53, 0x10, 0x02, 0x12, 0x16, 0x0a, 0x12, 0x54, 0x41, - 0x53, 0x4b, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x55, 0x53, 0x5f, 0x52, 0x45, 0x56, 0x49, 0x45, 0x57, - 0x10, 0x03, 0x12, 0x19, 0x0a, 0x15, 0x54, 0x41, 0x53, 0x4b, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x55, - 0x53, 0x5f, 0x43, 0x4f, 0x4d, 0x50, 0x4c, 0x45, 0x54, 0x45, 0x44, 0x10, 0x04, 0x12, 0x17, 0x0a, - 0x13, 0x54, 0x41, 0x53, 0x4b, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x55, 0x53, 0x5f, 0x42, 0x4c, 0x4f, - 0x43, 0x4b, 0x45, 0x44, 0x10, 0x05, 0x2a, 0x90, 0x01, 0x0a, 0x0c, 0x54, 0x61, 0x73, 0x6b, 0x50, - 0x72, 0x69, 0x6f, 0x72, 0x69, 0x74, 0x79, 0x12, 0x1d, 0x0a, 0x19, 0x54, 0x41, 0x53, 0x4b, 0x5f, - 0x50, 0x52, 0x49, 0x4f, 0x52, 0x49, 0x54, 0x59, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, - 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x15, 0x0a, 0x11, 0x54, 0x41, 0x53, 0x4b, 0x5f, 0x50, - 0x52, 0x49, 0x4f, 0x52, 0x49, 0x54, 0x59, 0x5f, 0x4c, 0x4f, 0x57, 0x10, 0x01, 0x12, 0x18, 0x0a, - 0x14, 0x54, 0x41, 0x53, 0x4b, 0x5f, 0x50, 0x52, 0x49, 0x4f, 0x52, 0x49, 0x54, 0x59, 0x5f, 0x4d, - 0x45, 0x44, 0x49, 0x55, 0x4d, 0x10, 0x02, 0x12, 0x16, 0x0a, 0x12, 0x54, 0x41, 0x53, 0x4b, 0x5f, - 0x50, 0x52, 0x49, 0x4f, 0x52, 0x49, 0x54, 0x59, 0x5f, 0x48, 0x49, 0x47, 0x48, 0x10, 0x03, 0x12, - 0x18, 0x0a, 0x14, 0x54, 0x41, 0x53, 0x4b, 0x5f, 0x50, 0x52, 0x49, 0x4f, 0x52, 0x49, 0x54, 0x59, - 0x5f, 0x55, 0x52, 0x47, 0x45, 0x4e, 0x54, 0x10, 0x04, 0x2a, 0xfd, 0x01, 0x0a, 0x11, 0x50, 0x72, - 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x54, 0x79, 0x70, 0x65, 0x12, - 0x23, 0x0a, 0x1f, 0x50, 0x52, 0x4f, 0x4a, 0x45, 0x43, 0x54, 0x5f, 0x55, 0x50, 0x44, 0x41, 0x54, - 0x45, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, - 0x45, 0x44, 0x10, 0x00, 0x12, 0x25, 0x0a, 0x21, 0x50, 0x52, 0x4f, 0x4a, 0x45, 0x43, 0x54, 0x5f, - 0x55, 0x50, 0x44, 0x41, 0x54, 0x45, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x53, 0x54, 0x41, 0x54, - 0x55, 0x53, 0x5f, 0x43, 0x48, 0x41, 0x4e, 0x47, 0x45, 0x10, 0x01, 0x12, 0x27, 0x0a, 0x23, 0x50, - 0x52, 0x4f, 0x4a, 0x45, 0x43, 0x54, 0x5f, 0x55, 0x50, 0x44, 0x41, 0x54, 0x45, 0x5f, 0x54, 0x59, - 0x50, 0x45, 0x5f, 0x4d, 0x49, 0x4c, 0x45, 0x53, 0x54, 0x4f, 0x4e, 0x45, 0x5f, 0x41, 0x44, 0x44, - 0x45, 0x44, 0x10, 0x02, 0x12, 0x25, 0x0a, 0x21, 0x50, 0x52, 0x4f, 0x4a, 0x45, 0x43, 0x54, 0x5f, - 0x55, 0x50, 0x44, 0x41, 0x54, 0x45, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x54, 0x41, 0x53, 0x4b, - 0x5f, 0x41, 0x53, 0x53, 0x49, 0x47, 0x4e, 0x45, 0x44, 0x10, 0x03, 0x12, 0x27, 0x0a, 0x23, 0x50, - 0x52, 0x4f, 0x4a, 0x45, 0x43, 0x54, 0x5f, 0x55, 0x50, 0x44, 0x41, 0x54, 0x45, 0x5f, 0x54, 0x59, - 0x50, 0x45, 0x5f, 0x50, 0x52, 0x4f, 0x47, 0x52, 0x45, 0x53, 0x53, 0x5f, 0x55, 0x50, 0x44, 0x41, - 0x54, 0x45, 0x10, 0x04, 0x12, 0x23, 0x0a, 0x1f, 0x50, 0x52, 0x4f, 0x4a, 0x45, 0x43, 0x54, 0x5f, - 0x55, 0x50, 0x44, 0x41, 0x54, 0x45, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x54, 0x45, 0x41, 0x4d, - 0x5f, 0x43, 0x48, 0x41, 0x4e, 0x47, 0x45, 0x10, 0x05, 0x32, 0xa7, 0x2b, 0x0a, 0x0f, 0x50, 0x72, - 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x12, 0x5f, 0x0a, - 0x12, 0x4c, 0x6f, 0x6f, 0x6b, 0x75, 0x70, 0x45, 0x6d, 0x70, 0x6c, 0x6f, 0x79, 0x65, 0x65, 0x42, - 0x79, 0x49, 0x64, 0x12, 0x22, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x4c, 0x6f, - 0x6f, 0x6b, 0x75, 0x70, 0x45, 0x6d, 0x70, 0x6c, 0x6f, 0x79, 0x65, 0x65, 0x42, 0x79, 0x49, 0x64, - 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x23, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, - 0x65, 0x2e, 0x4c, 0x6f, 0x6f, 0x6b, 0x75, 0x70, 0x45, 0x6d, 0x70, 0x6c, 0x6f, 0x79, 0x65, 0x65, - 0x42, 0x79, 0x49, 0x64, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x62, - 0x0a, 0x13, 0x4c, 0x6f, 0x6f, 0x6b, 0x75, 0x70, 0x4d, 0x69, 0x6c, 0x65, 0x73, 0x74, 0x6f, 0x6e, - 0x65, 0x42, 0x79, 0x49, 0x64, 0x12, 0x23, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, - 0x4c, 0x6f, 0x6f, 0x6b, 0x75, 0x70, 0x4d, 0x69, 0x6c, 0x65, 0x73, 0x74, 0x6f, 0x6e, 0x65, 0x42, - 0x79, 0x49, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x24, 0x2e, 0x73, 0x65, 0x72, - 0x76, 0x69, 0x63, 0x65, 0x2e, 0x4c, 0x6f, 0x6f, 0x6b, 0x75, 0x70, 0x4d, 0x69, 0x6c, 0x65, 0x73, - 0x74, 0x6f, 0x6e, 0x65, 0x42, 0x79, 0x49, 0x64, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, - 0x22, 0x00, 0x12, 0x5f, 0x0a, 0x12, 0x4c, 0x6f, 0x6f, 0x6b, 0x75, 0x70, 0x50, 0x72, 0x6f, 0x64, - 0x75, 0x63, 0x74, 0x42, 0x79, 0x55, 0x70, 0x63, 0x12, 0x22, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, - 0x63, 0x65, 0x2e, 0x4c, 0x6f, 0x6f, 0x6b, 0x75, 0x70, 0x50, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, - 0x42, 0x79, 0x55, 0x70, 0x63, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x23, 0x2e, 0x73, - 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x4c, 0x6f, 0x6f, 0x6b, 0x75, 0x70, 0x50, 0x72, 0x6f, - 0x64, 0x75, 0x63, 0x74, 0x42, 0x79, 0x55, 0x70, 0x63, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, - 0x65, 0x22, 0x00, 0x12, 0x5c, 0x0a, 0x11, 0x4c, 0x6f, 0x6f, 0x6b, 0x75, 0x70, 0x50, 0x72, 0x6f, - 0x6a, 0x65, 0x63, 0x74, 0x42, 0x79, 0x49, 0x64, 0x12, 0x21, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, - 0x63, 0x65, 0x2e, 0x4c, 0x6f, 0x6f, 0x6b, 0x75, 0x70, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, - 0x42, 0x79, 0x49, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x22, 0x2e, 0x73, 0x65, - 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x4c, 0x6f, 0x6f, 0x6b, 0x75, 0x70, 0x50, 0x72, 0x6f, 0x6a, - 0x65, 0x63, 0x74, 0x42, 0x79, 0x49, 0x64, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, - 0x00, 0x12, 0x53, 0x0a, 0x0e, 0x4c, 0x6f, 0x6f, 0x6b, 0x75, 0x70, 0x54, 0x61, 0x73, 0x6b, 0x42, - 0x79, 0x49, 0x64, 0x12, 0x1e, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x4c, 0x6f, - 0x6f, 0x6b, 0x75, 0x70, 0x54, 0x61, 0x73, 0x6b, 0x42, 0x79, 0x49, 0x64, 0x52, 0x65, 0x71, 0x75, - 0x65, 0x73, 0x74, 0x1a, 0x1f, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x4c, 0x6f, - 0x6f, 0x6b, 0x75, 0x70, 0x54, 0x61, 0x73, 0x6b, 0x42, 0x79, 0x49, 0x64, 0x52, 0x65, 0x73, 0x70, - 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x65, 0x0a, 0x14, 0x4d, 0x75, 0x74, 0x61, 0x74, 0x69, - 0x6f, 0x6e, 0x41, 0x64, 0x64, 0x4d, 0x69, 0x6c, 0x65, 0x73, 0x74, 0x6f, 0x6e, 0x65, 0x12, 0x24, - 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x4d, 0x75, 0x74, 0x61, 0x74, 0x69, 0x6f, - 0x6e, 0x41, 0x64, 0x64, 0x4d, 0x69, 0x6c, 0x65, 0x73, 0x74, 0x6f, 0x6e, 0x65, 0x52, 0x65, 0x71, - 0x75, 0x65, 0x73, 0x74, 0x1a, 0x25, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x4d, - 0x75, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x41, 0x64, 0x64, 0x4d, 0x69, 0x6c, 0x65, 0x73, 0x74, - 0x6f, 0x6e, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x5f, 0x0a, - 0x12, 0x4d, 0x75, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x41, 0x64, 0x64, 0x50, 0x72, 0x6f, 0x6a, - 0x65, 0x63, 0x74, 0x12, 0x22, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x4d, 0x75, - 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x41, 0x64, 0x64, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, - 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x23, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, - 0x65, 0x2e, 0x4d, 0x75, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x41, 0x64, 0x64, 0x50, 0x72, 0x6f, - 0x6a, 0x65, 0x63, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x56, - 0x0a, 0x0f, 0x4d, 0x75, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x41, 0x64, 0x64, 0x54, 0x61, 0x73, - 0x6b, 0x12, 0x1f, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x4d, 0x75, 0x74, 0x61, - 0x74, 0x69, 0x6f, 0x6e, 0x41, 0x64, 0x64, 0x54, 0x61, 0x73, 0x6b, 0x52, 0x65, 0x71, 0x75, 0x65, - 0x73, 0x74, 0x1a, 0x20, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x4d, 0x75, 0x74, - 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x41, 0x64, 0x64, 0x54, 0x61, 0x73, 0x6b, 0x52, 0x65, 0x73, 0x70, - 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x7a, 0x0a, 0x1b, 0x4d, 0x75, 0x74, 0x61, 0x74, 0x69, - 0x6f, 0x6e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x53, - 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x2b, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, - 0x4d, 0x75, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x50, 0x72, - 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, - 0x73, 0x74, 0x1a, 0x2c, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x4d, 0x75, 0x74, - 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x50, 0x72, 0x6f, 0x6a, 0x65, - 0x63, 0x74, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, - 0x22, 0x00, 0x12, 0x68, 0x0a, 0x15, 0x51, 0x75, 0x65, 0x72, 0x79, 0x41, 0x72, 0x63, 0x68, 0x69, - 0x76, 0x65, 0x64, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x12, 0x25, 0x2e, 0x73, 0x65, - 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x41, 0x72, 0x63, 0x68, 0x69, - 0x76, 0x65, 0x64, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, - 0x73, 0x74, 0x1a, 0x26, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x51, 0x75, 0x65, - 0x72, 0x79, 0x41, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x64, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, - 0x74, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x59, 0x0a, 0x10, - 0x51, 0x75, 0x65, 0x72, 0x79, 0x4b, 0x69, 0x6c, 0x6c, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, - 0x12, 0x20, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, - 0x4b, 0x69, 0x6c, 0x6c, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, - 0x73, 0x74, 0x1a, 0x21, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x51, 0x75, 0x65, - 0x72, 0x79, 0x4b, 0x69, 0x6c, 0x6c, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x52, 0x65, 0x73, - 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x56, 0x0a, 0x0f, 0x51, 0x75, 0x65, 0x72, 0x79, - 0x4d, 0x69, 0x6c, 0x65, 0x73, 0x74, 0x6f, 0x6e, 0x65, 0x73, 0x12, 0x1f, 0x2e, 0x73, 0x65, 0x72, - 0x76, 0x69, 0x63, 0x65, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x4d, 0x69, 0x6c, 0x65, 0x73, 0x74, - 0x6f, 0x6e, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x20, 0x2e, 0x73, 0x65, - 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x4d, 0x69, 0x6c, 0x65, 0x73, - 0x74, 0x6f, 0x6e, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, - 0x53, 0x0a, 0x0e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x4e, 0x6f, 0x64, 0x65, 0x73, 0x42, 0x79, 0x49, - 0x64, 0x12, 0x1e, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x51, 0x75, 0x65, 0x72, - 0x79, 0x4e, 0x6f, 0x64, 0x65, 0x73, 0x42, 0x79, 0x49, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, - 0x74, 0x1a, 0x1f, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x51, 0x75, 0x65, 0x72, - 0x79, 0x4e, 0x6f, 0x64, 0x65, 0x73, 0x42, 0x79, 0x49, 0x64, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, - 0x73, 0x65, 0x22, 0x00, 0x12, 0x47, 0x0a, 0x0a, 0x51, 0x75, 0x65, 0x72, 0x79, 0x50, 0x61, 0x6e, - 0x69, 0x63, 0x12, 0x1a, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x51, 0x75, 0x65, - 0x72, 0x79, 0x50, 0x61, 0x6e, 0x69, 0x63, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1b, - 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x50, 0x61, - 0x6e, 0x69, 0x63, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x4d, 0x0a, - 0x0c, 0x51, 0x75, 0x65, 0x72, 0x79, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x1c, 0x2e, - 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x50, 0x72, 0x6f, - 0x6a, 0x65, 0x63, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1d, 0x2e, 0x73, 0x65, - 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x50, 0x72, 0x6f, 0x6a, 0x65, - 0x63, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x6b, 0x0a, 0x16, - 0x51, 0x75, 0x65, 0x72, 0x79, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x41, 0x63, 0x74, 0x69, - 0x76, 0x69, 0x74, 0x69, 0x65, 0x73, 0x12, 0x26, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, - 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x41, 0x63, 0x74, - 0x69, 0x76, 0x69, 0x74, 0x69, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x27, - 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x50, 0x72, - 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x41, 0x63, 0x74, 0x69, 0x76, 0x69, 0x74, 0x69, 0x65, 0x73, 0x52, - 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x68, 0x0a, 0x15, 0x51, 0x75, 0x65, - 0x72, 0x79, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, - 0x65, 0x73, 0x12, 0x25, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x51, 0x75, 0x65, - 0x72, 0x79, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, - 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x26, 0x2e, 0x73, 0x65, 0x72, 0x76, - 0x69, 0x63, 0x65, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, - 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, - 0x65, 0x22, 0x00, 0x12, 0x65, 0x0a, 0x14, 0x51, 0x75, 0x65, 0x72, 0x79, 0x50, 0x72, 0x6f, 0x6a, - 0x65, 0x63, 0x74, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x65, 0x73, 0x12, 0x24, 0x2e, 0x73, 0x65, - 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x50, 0x72, 0x6f, 0x6a, 0x65, - 0x63, 0x74, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, - 0x74, 0x1a, 0x25, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x51, 0x75, 0x65, 0x72, - 0x79, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x65, 0x73, - 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x59, 0x0a, 0x10, 0x51, 0x75, - 0x65, 0x72, 0x79, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x54, 0x61, 0x67, 0x73, 0x12, 0x20, - 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x50, 0x72, - 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x54, 0x61, 0x67, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, - 0x1a, 0x21, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, - 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x54, 0x61, 0x67, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, - 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x50, 0x0a, 0x0d, 0x51, 0x75, 0x65, 0x72, 0x79, 0x50, 0x72, - 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x12, 0x1d, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, - 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x52, 0x65, - 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1e, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, - 0x51, 0x75, 0x65, 0x72, 0x79, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x52, 0x65, 0x73, - 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x68, 0x0a, 0x15, 0x51, 0x75, 0x65, 0x72, 0x79, - 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x42, 0x79, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, - 0x12, 0x25, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, - 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x42, 0x79, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, - 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x26, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, - 0x65, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x42, - 0x79, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, - 0x00, 0x12, 0x62, 0x0a, 0x13, 0x51, 0x75, 0x65, 0x72, 0x79, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, - 0x63, 0x65, 0x4d, 0x61, 0x74, 0x72, 0x69, 0x78, 0x12, 0x23, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, - 0x63, 0x65, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, - 0x4d, 0x61, 0x74, 0x72, 0x69, 0x78, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x24, 0x2e, - 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x52, 0x65, 0x73, - 0x6f, 0x75, 0x72, 0x63, 0x65, 0x4d, 0x61, 0x74, 0x72, 0x69, 0x78, 0x52, 0x65, 0x73, 0x70, 0x6f, - 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x62, 0x0a, 0x13, 0x51, 0x75, 0x65, 0x72, 0x79, 0x53, 0x65, - 0x61, 0x72, 0x63, 0x68, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x12, 0x23, 0x2e, 0x73, - 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x53, 0x65, 0x61, 0x72, - 0x63, 0x68, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, - 0x74, 0x1a, 0x24, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x51, 0x75, 0x65, 0x72, - 0x79, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x52, - 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x47, 0x0a, 0x0a, 0x51, 0x75, 0x65, - 0x72, 0x79, 0x54, 0x61, 0x73, 0x6b, 0x73, 0x12, 0x1a, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, - 0x65, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x54, 0x61, 0x73, 0x6b, 0x73, 0x52, 0x65, 0x71, 0x75, - 0x65, 0x73, 0x74, 0x1a, 0x1b, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x51, 0x75, - 0x65, 0x72, 0x79, 0x54, 0x61, 0x73, 0x6b, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, - 0x22, 0x00, 0x12, 0x65, 0x0a, 0x14, 0x51, 0x75, 0x65, 0x72, 0x79, 0x54, 0x61, 0x73, 0x6b, 0x73, - 0x42, 0x79, 0x50, 0x72, 0x69, 0x6f, 0x72, 0x69, 0x74, 0x79, 0x12, 0x24, 0x2e, 0x73, 0x65, 0x72, - 0x76, 0x69, 0x63, 0x65, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x54, 0x61, 0x73, 0x6b, 0x73, 0x42, - 0x79, 0x50, 0x72, 0x69, 0x6f, 0x72, 0x69, 0x74, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, - 0x1a, 0x25, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, - 0x54, 0x61, 0x73, 0x6b, 0x73, 0x42, 0x79, 0x50, 0x72, 0x69, 0x6f, 0x72, 0x69, 0x74, 0x79, 0x52, - 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x92, 0x01, 0x0a, 0x23, 0x52, 0x65, - 0x71, 0x75, 0x69, 0x72, 0x65, 0x45, 0x6d, 0x70, 0x6c, 0x6f, 0x79, 0x65, 0x65, 0x44, 0x65, 0x65, - 0x70, 0x57, 0x6f, 0x72, 0x6b, 0x49, 0x74, 0x65, 0x6d, 0x49, 0x6e, 0x66, 0x6f, 0x42, 0x79, 0x49, - 0x64, 0x12, 0x33, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x52, 0x65, 0x71, 0x75, - 0x69, 0x72, 0x65, 0x45, 0x6d, 0x70, 0x6c, 0x6f, 0x79, 0x65, 0x65, 0x44, 0x65, 0x65, 0x70, 0x57, - 0x6f, 0x72, 0x6b, 0x49, 0x74, 0x65, 0x6d, 0x49, 0x6e, 0x66, 0x6f, 0x42, 0x79, 0x49, 0x64, 0x52, - 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x34, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, - 0x2e, 0x52, 0x65, 0x71, 0x75, 0x69, 0x72, 0x65, 0x45, 0x6d, 0x70, 0x6c, 0x6f, 0x79, 0x65, 0x65, - 0x44, 0x65, 0x65, 0x70, 0x57, 0x6f, 0x72, 0x6b, 0x49, 0x74, 0x65, 0x6d, 0x49, 0x6e, 0x66, 0x6f, - 0x42, 0x79, 0x49, 0x64, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0xa4, - 0x01, 0x0a, 0x29, 0x52, 0x65, 0x71, 0x75, 0x69, 0x72, 0x65, 0x45, 0x6d, 0x70, 0x6c, 0x6f, 0x79, - 0x65, 0x65, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x65, 0x64, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, - 0x74, 0x53, 0x75, 0x6d, 0x6d, 0x61, 0x72, 0x79, 0x42, 0x79, 0x49, 0x64, 0x12, 0x39, 0x2e, 0x73, - 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x52, 0x65, 0x71, 0x75, 0x69, 0x72, 0x65, 0x45, 0x6d, - 0x70, 0x6c, 0x6f, 0x79, 0x65, 0x65, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x65, 0x64, 0x50, 0x72, - 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x53, 0x75, 0x6d, 0x6d, 0x61, 0x72, 0x79, 0x42, 0x79, 0x49, 0x64, - 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x3a, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, - 0x65, 0x2e, 0x52, 0x65, 0x71, 0x75, 0x69, 0x72, 0x65, 0x45, 0x6d, 0x70, 0x6c, 0x6f, 0x79, 0x65, - 0x65, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x65, 0x64, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, - 0x53, 0x75, 0x6d, 0x6d, 0x61, 0x72, 0x79, 0x42, 0x79, 0x49, 0x64, 0x52, 0x65, 0x73, 0x70, 0x6f, - 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x86, 0x01, 0x0a, 0x1f, 0x52, 0x65, 0x71, 0x75, 0x69, 0x72, - 0x65, 0x45, 0x6d, 0x70, 0x6c, 0x6f, 0x79, 0x65, 0x65, 0x52, 0x65, 0x76, 0x69, 0x65, 0x77, 0x52, - 0x65, 0x70, 0x6f, 0x72, 0x74, 0x42, 0x79, 0x49, 0x64, 0x12, 0x2f, 0x2e, 0x73, 0x65, 0x72, 0x76, - 0x69, 0x63, 0x65, 0x2e, 0x52, 0x65, 0x71, 0x75, 0x69, 0x72, 0x65, 0x45, 0x6d, 0x70, 0x6c, 0x6f, - 0x79, 0x65, 0x65, 0x52, 0x65, 0x76, 0x69, 0x65, 0x77, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x42, - 0x79, 0x49, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x30, 0x2e, 0x73, 0x65, 0x72, - 0x76, 0x69, 0x63, 0x65, 0x2e, 0x52, 0x65, 0x71, 0x75, 0x69, 0x72, 0x65, 0x45, 0x6d, 0x70, 0x6c, - 0x6f, 0x79, 0x65, 0x65, 0x52, 0x65, 0x76, 0x69, 0x65, 0x77, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, - 0x42, 0x79, 0x49, 0x64, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x9e, - 0x01, 0x0a, 0x27, 0x52, 0x65, 0x71, 0x75, 0x69, 0x72, 0x65, 0x45, 0x6d, 0x70, 0x6c, 0x6f, 0x79, - 0x65, 0x65, 0x54, 0x61, 0x67, 0x67, 0x65, 0x64, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x53, - 0x75, 0x6d, 0x6d, 0x61, 0x72, 0x79, 0x42, 0x79, 0x49, 0x64, 0x12, 0x37, 0x2e, 0x73, 0x65, 0x72, - 0x76, 0x69, 0x63, 0x65, 0x2e, 0x52, 0x65, 0x71, 0x75, 0x69, 0x72, 0x65, 0x45, 0x6d, 0x70, 0x6c, - 0x6f, 0x79, 0x65, 0x65, 0x54, 0x61, 0x67, 0x67, 0x65, 0x64, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, - 0x74, 0x53, 0x75, 0x6d, 0x6d, 0x61, 0x72, 0x79, 0x42, 0x79, 0x49, 0x64, 0x52, 0x65, 0x71, 0x75, - 0x65, 0x73, 0x74, 0x1a, 0x38, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x52, 0x65, - 0x71, 0x75, 0x69, 0x72, 0x65, 0x45, 0x6d, 0x70, 0x6c, 0x6f, 0x79, 0x65, 0x65, 0x54, 0x61, 0x67, - 0x67, 0x65, 0x64, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x53, 0x75, 0x6d, 0x6d, 0x61, 0x72, - 0x79, 0x42, 0x79, 0x49, 0x64, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, - 0x9b, 0x01, 0x0a, 0x26, 0x52, 0x65, 0x71, 0x75, 0x69, 0x72, 0x65, 0x45, 0x6d, 0x70, 0x6c, 0x6f, - 0x79, 0x65, 0x65, 0x57, 0x6f, 0x72, 0x6b, 0x49, 0x74, 0x65, 0x6d, 0x48, 0x61, 0x6e, 0x64, 0x6c, - 0x65, 0x72, 0x49, 0x6e, 0x66, 0x6f, 0x42, 0x79, 0x49, 0x64, 0x12, 0x36, 0x2e, 0x73, 0x65, 0x72, - 0x76, 0x69, 0x63, 0x65, 0x2e, 0x52, 0x65, 0x71, 0x75, 0x69, 0x72, 0x65, 0x45, 0x6d, 0x70, 0x6c, - 0x6f, 0x79, 0x65, 0x65, 0x57, 0x6f, 0x72, 0x6b, 0x49, 0x74, 0x65, 0x6d, 0x48, 0x61, 0x6e, 0x64, - 0x6c, 0x65, 0x72, 0x49, 0x6e, 0x66, 0x6f, 0x42, 0x79, 0x49, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, - 0x73, 0x74, 0x1a, 0x37, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x52, 0x65, 0x71, - 0x75, 0x69, 0x72, 0x65, 0x45, 0x6d, 0x70, 0x6c, 0x6f, 0x79, 0x65, 0x65, 0x57, 0x6f, 0x72, 0x6b, - 0x49, 0x74, 0x65, 0x6d, 0x48, 0x61, 0x6e, 0x64, 0x6c, 0x65, 0x72, 0x49, 0x6e, 0x66, 0x6f, 0x42, - 0x79, 0x49, 0x64, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x86, 0x01, - 0x0a, 0x1f, 0x52, 0x65, 0x71, 0x75, 0x69, 0x72, 0x65, 0x45, 0x6d, 0x70, 0x6c, 0x6f, 0x79, 0x65, - 0x65, 0x57, 0x6f, 0x72, 0x6b, 0x49, 0x74, 0x65, 0x6d, 0x49, 0x6e, 0x66, 0x6f, 0x42, 0x79, 0x49, - 0x64, 0x12, 0x2f, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x52, 0x65, 0x71, 0x75, - 0x69, 0x72, 0x65, 0x45, 0x6d, 0x70, 0x6c, 0x6f, 0x79, 0x65, 0x65, 0x57, 0x6f, 0x72, 0x6b, 0x49, - 0x74, 0x65, 0x6d, 0x49, 0x6e, 0x66, 0x6f, 0x42, 0x79, 0x49, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, - 0x73, 0x74, 0x1a, 0x30, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x52, 0x65, 0x71, - 0x75, 0x69, 0x72, 0x65, 0x45, 0x6d, 0x70, 0x6c, 0x6f, 0x79, 0x65, 0x65, 0x57, 0x6f, 0x72, 0x6b, - 0x49, 0x74, 0x65, 0x6d, 0x49, 0x6e, 0x66, 0x6f, 0x42, 0x79, 0x49, 0x64, 0x52, 0x65, 0x73, 0x70, - 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x95, 0x01, 0x0a, 0x24, 0x52, 0x65, 0x71, 0x75, 0x69, - 0x72, 0x65, 0x45, 0x6d, 0x70, 0x6c, 0x6f, 0x79, 0x65, 0x65, 0x57, 0x6f, 0x72, 0x6b, 0x49, 0x74, - 0x65, 0x6d, 0x53, 0x70, 0x65, 0x63, 0x73, 0x49, 0x6e, 0x66, 0x6f, 0x42, 0x79, 0x49, 0x64, 0x12, - 0x34, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x52, 0x65, 0x71, 0x75, 0x69, 0x72, - 0x65, 0x45, 0x6d, 0x70, 0x6c, 0x6f, 0x79, 0x65, 0x65, 0x57, 0x6f, 0x72, 0x6b, 0x49, 0x74, 0x65, - 0x6d, 0x53, 0x70, 0x65, 0x63, 0x73, 0x49, 0x6e, 0x66, 0x6f, 0x42, 0x79, 0x49, 0x64, 0x52, 0x65, - 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x35, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, - 0x52, 0x65, 0x71, 0x75, 0x69, 0x72, 0x65, 0x45, 0x6d, 0x70, 0x6c, 0x6f, 0x79, 0x65, 0x65, 0x57, - 0x6f, 0x72, 0x6b, 0x49, 0x74, 0x65, 0x6d, 0x53, 0x70, 0x65, 0x63, 0x73, 0x49, 0x6e, 0x66, 0x6f, - 0x42, 0x79, 0x49, 0x64, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x92, - 0x01, 0x0a, 0x23, 0x52, 0x65, 0x71, 0x75, 0x69, 0x72, 0x65, 0x45, 0x6d, 0x70, 0x6c, 0x6f, 0x79, - 0x65, 0x65, 0x57, 0x6f, 0x72, 0x6b, 0x53, 0x65, 0x74, 0x75, 0x70, 0x53, 0x75, 0x6d, 0x6d, 0x61, - 0x72, 0x79, 0x42, 0x79, 0x49, 0x64, 0x12, 0x33, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, - 0x2e, 0x52, 0x65, 0x71, 0x75, 0x69, 0x72, 0x65, 0x45, 0x6d, 0x70, 0x6c, 0x6f, 0x79, 0x65, 0x65, - 0x57, 0x6f, 0x72, 0x6b, 0x53, 0x65, 0x74, 0x75, 0x70, 0x53, 0x75, 0x6d, 0x6d, 0x61, 0x72, 0x79, - 0x42, 0x79, 0x49, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x34, 0x2e, 0x73, 0x65, - 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x52, 0x65, 0x71, 0x75, 0x69, 0x72, 0x65, 0x45, 0x6d, 0x70, - 0x6c, 0x6f, 0x79, 0x65, 0x65, 0x57, 0x6f, 0x72, 0x6b, 0x53, 0x65, 0x74, 0x75, 0x70, 0x53, 0x75, - 0x6d, 0x6d, 0x61, 0x72, 0x79, 0x42, 0x79, 0x49, 0x64, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, - 0x65, 0x22, 0x00, 0x12, 0xa1, 0x01, 0x0a, 0x28, 0x52, 0x65, 0x73, 0x6f, 0x6c, 0x76, 0x65, 0x45, - 0x6d, 0x70, 0x6c, 0x6f, 0x79, 0x65, 0x65, 0x41, 0x76, 0x65, 0x72, 0x61, 0x67, 0x65, 0x54, 0x61, - 0x73, 0x6b, 0x43, 0x6f, 0x6d, 0x70, 0x6c, 0x65, 0x74, 0x69, 0x6f, 0x6e, 0x44, 0x61, 0x79, 0x73, - 0x12, 0x38, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x52, 0x65, 0x73, 0x6f, 0x6c, - 0x76, 0x65, 0x45, 0x6d, 0x70, 0x6c, 0x6f, 0x79, 0x65, 0x65, 0x41, 0x76, 0x65, 0x72, 0x61, 0x67, - 0x65, 0x54, 0x61, 0x73, 0x6b, 0x43, 0x6f, 0x6d, 0x70, 0x6c, 0x65, 0x74, 0x69, 0x6f, 0x6e, 0x44, - 0x61, 0x79, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x39, 0x2e, 0x73, 0x65, 0x72, - 0x76, 0x69, 0x63, 0x65, 0x2e, 0x52, 0x65, 0x73, 0x6f, 0x6c, 0x76, 0x65, 0x45, 0x6d, 0x70, 0x6c, - 0x6f, 0x79, 0x65, 0x65, 0x41, 0x76, 0x65, 0x72, 0x61, 0x67, 0x65, 0x54, 0x61, 0x73, 0x6b, 0x43, - 0x6f, 0x6d, 0x70, 0x6c, 0x65, 0x74, 0x69, 0x6f, 0x6e, 0x44, 0x61, 0x79, 0x73, 0x52, 0x65, 0x73, - 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x83, 0x01, 0x0a, 0x1e, 0x52, 0x65, 0x73, 0x6f, - 0x6c, 0x76, 0x65, 0x45, 0x6d, 0x70, 0x6c, 0x6f, 0x79, 0x65, 0x65, 0x43, 0x75, 0x72, 0x72, 0x65, - 0x6e, 0x74, 0x57, 0x6f, 0x72, 0x6b, 0x6c, 0x6f, 0x61, 0x64, 0x12, 0x2e, 0x2e, 0x73, 0x65, 0x72, - 0x76, 0x69, 0x63, 0x65, 0x2e, 0x52, 0x65, 0x73, 0x6f, 0x6c, 0x76, 0x65, 0x45, 0x6d, 0x70, 0x6c, - 0x6f, 0x79, 0x65, 0x65, 0x43, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x74, 0x57, 0x6f, 0x72, 0x6b, 0x6c, - 0x6f, 0x61, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2f, 0x2e, 0x73, 0x65, 0x72, - 0x76, 0x69, 0x63, 0x65, 0x2e, 0x52, 0x65, 0x73, 0x6f, 0x6c, 0x76, 0x65, 0x45, 0x6d, 0x70, 0x6c, - 0x6f, 0x79, 0x65, 0x65, 0x43, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x74, 0x57, 0x6f, 0x72, 0x6b, 0x6c, - 0x6f, 0x61, 0x64, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x89, 0x01, - 0x0a, 0x20, 0x52, 0x65, 0x73, 0x6f, 0x6c, 0x76, 0x65, 0x45, 0x6d, 0x70, 0x6c, 0x6f, 0x79, 0x65, - 0x65, 0x54, 0x6f, 0x74, 0x61, 0x6c, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x43, 0x6f, 0x75, - 0x6e, 0x74, 0x12, 0x30, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x52, 0x65, 0x73, - 0x6f, 0x6c, 0x76, 0x65, 0x45, 0x6d, 0x70, 0x6c, 0x6f, 0x79, 0x65, 0x65, 0x54, 0x6f, 0x74, 0x61, - 0x6c, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x52, 0x65, 0x71, - 0x75, 0x65, 0x73, 0x74, 0x1a, 0x31, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x52, - 0x65, 0x73, 0x6f, 0x6c, 0x76, 0x65, 0x45, 0x6d, 0x70, 0x6c, 0x6f, 0x79, 0x65, 0x65, 0x54, 0x6f, - 0x74, 0x61, 0x6c, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x52, - 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x7d, 0x0a, 0x1c, 0x52, 0x65, 0x73, - 0x6f, 0x6c, 0x76, 0x65, 0x4d, 0x69, 0x6c, 0x65, 0x73, 0x74, 0x6f, 0x6e, 0x65, 0x44, 0x61, 0x79, - 0x73, 0x55, 0x6e, 0x74, 0x69, 0x6c, 0x44, 0x75, 0x65, 0x12, 0x2c, 0x2e, 0x73, 0x65, 0x72, 0x76, - 0x69, 0x63, 0x65, 0x2e, 0x52, 0x65, 0x73, 0x6f, 0x6c, 0x76, 0x65, 0x4d, 0x69, 0x6c, 0x65, 0x73, - 0x74, 0x6f, 0x6e, 0x65, 0x44, 0x61, 0x79, 0x73, 0x55, 0x6e, 0x74, 0x69, 0x6c, 0x44, 0x75, 0x65, - 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2d, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, - 0x65, 0x2e, 0x52, 0x65, 0x73, 0x6f, 0x6c, 0x76, 0x65, 0x4d, 0x69, 0x6c, 0x65, 0x73, 0x74, 0x6f, - 0x6e, 0x65, 0x44, 0x61, 0x79, 0x73, 0x55, 0x6e, 0x74, 0x69, 0x6c, 0x44, 0x75, 0x65, 0x52, 0x65, - 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x71, 0x0a, 0x18, 0x52, 0x65, 0x73, 0x6f, - 0x6c, 0x76, 0x65, 0x4d, 0x69, 0x6c, 0x65, 0x73, 0x74, 0x6f, 0x6e, 0x65, 0x49, 0x73, 0x41, 0x74, - 0x52, 0x69, 0x73, 0x6b, 0x12, 0x28, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x52, - 0x65, 0x73, 0x6f, 0x6c, 0x76, 0x65, 0x4d, 0x69, 0x6c, 0x65, 0x73, 0x74, 0x6f, 0x6e, 0x65, 0x49, - 0x73, 0x41, 0x74, 0x52, 0x69, 0x73, 0x6b, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x29, - 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x52, 0x65, 0x73, 0x6f, 0x6c, 0x76, 0x65, - 0x4d, 0x69, 0x6c, 0x65, 0x73, 0x74, 0x6f, 0x6e, 0x65, 0x49, 0x73, 0x41, 0x74, 0x52, 0x69, 0x73, - 0x6b, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x8f, 0x01, 0x0a, 0x22, - 0x52, 0x65, 0x73, 0x6f, 0x6c, 0x76, 0x65, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x41, 0x63, - 0x74, 0x69, 0x76, 0x65, 0x4d, 0x69, 0x6c, 0x65, 0x73, 0x74, 0x6f, 0x6e, 0x65, 0x43, 0x6f, 0x75, - 0x6e, 0x74, 0x12, 0x32, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x52, 0x65, 0x73, - 0x6f, 0x6c, 0x76, 0x65, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x41, 0x63, 0x74, 0x69, 0x76, - 0x65, 0x4d, 0x69, 0x6c, 0x65, 0x73, 0x74, 0x6f, 0x6e, 0x65, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x52, - 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x33, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, - 0x2e, 0x52, 0x65, 0x73, 0x6f, 0x6c, 0x76, 0x65, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x41, - 0x63, 0x74, 0x69, 0x76, 0x65, 0x4d, 0x69, 0x6c, 0x65, 0x73, 0x74, 0x6f, 0x6e, 0x65, 0x43, 0x6f, - 0x75, 0x6e, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x7d, 0x0a, - 0x1c, 0x52, 0x65, 0x73, 0x6f, 0x6c, 0x76, 0x65, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x43, - 0x6f, 0x6d, 0x70, 0x6c, 0x65, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x61, 0x74, 0x65, 0x12, 0x2c, 0x2e, - 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x52, 0x65, 0x73, 0x6f, 0x6c, 0x76, 0x65, 0x50, - 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x43, 0x6f, 0x6d, 0x70, 0x6c, 0x65, 0x74, 0x69, 0x6f, 0x6e, - 0x52, 0x61, 0x74, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2d, 0x2e, 0x73, 0x65, - 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x52, 0x65, 0x73, 0x6f, 0x6c, 0x76, 0x65, 0x50, 0x72, 0x6f, - 0x6a, 0x65, 0x63, 0x74, 0x43, 0x6f, 0x6d, 0x70, 0x6c, 0x65, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x61, - 0x74, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x83, 0x01, 0x0a, - 0x1e, 0x52, 0x65, 0x73, 0x6f, 0x6c, 0x76, 0x65, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x43, - 0x72, 0x69, 0x74, 0x69, 0x63, 0x61, 0x6c, 0x44, 0x65, 0x61, 0x64, 0x6c, 0x69, 0x6e, 0x65, 0x12, - 0x2e, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x52, 0x65, 0x73, 0x6f, 0x6c, 0x76, - 0x65, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x43, 0x72, 0x69, 0x74, 0x69, 0x63, 0x61, 0x6c, - 0x44, 0x65, 0x61, 0x64, 0x6c, 0x69, 0x6e, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, - 0x2f, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x52, 0x65, 0x73, 0x6f, 0x6c, 0x76, - 0x65, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x43, 0x72, 0x69, 0x74, 0x69, 0x63, 0x61, 0x6c, - 0x44, 0x65, 0x61, 0x64, 0x6c, 0x69, 0x6e, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, - 0x22, 0x00, 0x12, 0x95, 0x01, 0x0a, 0x24, 0x52, 0x65, 0x73, 0x6f, 0x6c, 0x76, 0x65, 0x50, 0x72, - 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x45, 0x73, 0x74, 0x69, 0x6d, 0x61, 0x74, 0x65, 0x64, 0x44, 0x61, - 0x79, 0x73, 0x52, 0x65, 0x6d, 0x61, 0x69, 0x6e, 0x69, 0x6e, 0x67, 0x12, 0x34, 0x2e, 0x73, 0x65, - 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x52, 0x65, 0x73, 0x6f, 0x6c, 0x76, 0x65, 0x50, 0x72, 0x6f, - 0x6a, 0x65, 0x63, 0x74, 0x45, 0x73, 0x74, 0x69, 0x6d, 0x61, 0x74, 0x65, 0x64, 0x44, 0x61, 0x79, - 0x73, 0x52, 0x65, 0x6d, 0x61, 0x69, 0x6e, 0x69, 0x6e, 0x67, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, - 0x74, 0x1a, 0x35, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x52, 0x65, 0x73, 0x6f, - 0x6c, 0x76, 0x65, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x45, 0x73, 0x74, 0x69, 0x6d, 0x61, - 0x74, 0x65, 0x64, 0x44, 0x61, 0x79, 0x73, 0x52, 0x65, 0x6d, 0x61, 0x69, 0x6e, 0x69, 0x6e, 0x67, - 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x7a, 0x0a, 0x1b, 0x52, 0x65, - 0x73, 0x6f, 0x6c, 0x76, 0x65, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x46, 0x69, 0x6c, 0x74, - 0x65, 0x72, 0x65, 0x64, 0x54, 0x61, 0x73, 0x6b, 0x73, 0x12, 0x2b, 0x2e, 0x73, 0x65, 0x72, 0x76, - 0x69, 0x63, 0x65, 0x2e, 0x52, 0x65, 0x73, 0x6f, 0x6c, 0x76, 0x65, 0x50, 0x72, 0x6f, 0x6a, 0x65, - 0x63, 0x74, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x65, 0x64, 0x54, 0x61, 0x73, 0x6b, 0x73, 0x52, - 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2c, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, - 0x2e, 0x52, 0x65, 0x73, 0x6f, 0x6c, 0x76, 0x65, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x46, - 0x69, 0x6c, 0x74, 0x65, 0x72, 0x65, 0x64, 0x54, 0x61, 0x73, 0x6b, 0x73, 0x52, 0x65, 0x73, 0x70, - 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x74, 0x0a, 0x19, 0x52, 0x65, 0x73, 0x6f, 0x6c, 0x76, - 0x65, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x53, 0x75, 0x62, 0x50, 0x72, 0x6f, 0x6a, 0x65, - 0x63, 0x74, 0x73, 0x12, 0x29, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x52, 0x65, - 0x73, 0x6f, 0x6c, 0x76, 0x65, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x53, 0x75, 0x62, 0x50, - 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2a, - 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x52, 0x65, 0x73, 0x6f, 0x6c, 0x76, 0x65, - 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x53, 0x75, 0x62, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, - 0x74, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x6e, 0x0a, 0x17, - 0x52, 0x65, 0x73, 0x6f, 0x6c, 0x76, 0x65, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x54, 0x61, - 0x73, 0x6b, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x27, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, - 0x65, 0x2e, 0x52, 0x65, 0x73, 0x6f, 0x6c, 0x76, 0x65, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, - 0x54, 0x61, 0x73, 0x6b, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, - 0x1a, 0x28, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x52, 0x65, 0x73, 0x6f, 0x6c, - 0x76, 0x65, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x54, 0x61, 0x73, 0x6b, 0x43, 0x6f, 0x75, - 0x6e, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x80, 0x01, 0x0a, - 0x1d, 0x52, 0x65, 0x73, 0x6f, 0x6c, 0x76, 0x65, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x54, - 0x6f, 0x70, 0x50, 0x72, 0x69, 0x6f, 0x72, 0x69, 0x74, 0x79, 0x49, 0x74, 0x65, 0x6d, 0x12, 0x2d, - 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x52, 0x65, 0x73, 0x6f, 0x6c, 0x76, 0x65, - 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x54, 0x6f, 0x70, 0x50, 0x72, 0x69, 0x6f, 0x72, 0x69, - 0x74, 0x79, 0x49, 0x74, 0x65, 0x6d, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2e, 0x2e, - 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x52, 0x65, 0x73, 0x6f, 0x6c, 0x76, 0x65, 0x50, - 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x54, 0x6f, 0x70, 0x50, 0x72, 0x69, 0x6f, 0x72, 0x69, 0x74, - 0x79, 0x49, 0x74, 0x65, 0x6d, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, - 0x65, 0x0a, 0x14, 0x52, 0x65, 0x73, 0x6f, 0x6c, 0x76, 0x65, 0x54, 0x61, 0x73, 0x6b, 0x49, 0x73, - 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x65, 0x64, 0x12, 0x24, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, - 0x65, 0x2e, 0x52, 0x65, 0x73, 0x6f, 0x6c, 0x76, 0x65, 0x54, 0x61, 0x73, 0x6b, 0x49, 0x73, 0x42, - 0x6c, 0x6f, 0x63, 0x6b, 0x65, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x25, 0x2e, - 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x52, 0x65, 0x73, 0x6f, 0x6c, 0x76, 0x65, 0x54, - 0x61, 0x73, 0x6b, 0x49, 0x73, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x65, 0x64, 0x52, 0x65, 0x73, 0x70, - 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x6b, 0x0a, 0x16, 0x52, 0x65, 0x73, 0x6f, 0x6c, 0x76, - 0x65, 0x54, 0x61, 0x73, 0x6b, 0x54, 0x6f, 0x74, 0x61, 0x6c, 0x45, 0x66, 0x66, 0x6f, 0x72, 0x74, - 0x12, 0x26, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x52, 0x65, 0x73, 0x6f, 0x6c, - 0x76, 0x65, 0x54, 0x61, 0x73, 0x6b, 0x54, 0x6f, 0x74, 0x61, 0x6c, 0x45, 0x66, 0x66, 0x6f, 0x72, - 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x27, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, - 0x63, 0x65, 0x2e, 0x52, 0x65, 0x73, 0x6f, 0x6c, 0x76, 0x65, 0x54, 0x61, 0x73, 0x6b, 0x54, 0x6f, - 0x74, 0x61, 0x6c, 0x45, 0x66, 0x66, 0x6f, 0x72, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, - 0x65, 0x22, 0x00, 0x42, 0x3a, 0x5a, 0x38, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, - 0x6d, 0x2f, 0x77, 0x75, 0x6e, 0x64, 0x65, 0x72, 0x67, 0x72, 0x61, 0x70, 0x68, 0x2f, 0x63, 0x6f, - 0x73, 0x6d, 0x6f, 0x2f, 0x64, 0x65, 0x6d, 0x6f, 0x2f, 0x70, 0x6b, 0x67, 0x2f, 0x73, 0x75, 0x62, - 0x67, 0x72, 0x61, 0x70, 0x68, 0x73, 0x2f, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x62, - 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, -} +var File_service_proto protoreflect.FileDescriptor + +const file_service_proto_rawDesc = "" + + "\n" + + "\rservice.proto\x12\aservice\x1a\x1egoogle/protobuf/wrappers.proto\"s\n" + + "\x0eListOfEmployee\x120\n" + + "\x04list\x18\x01 \x01(\v2\x1c.service.ListOfEmployee.ListR\x04list\x1a/\n" + + "\x04List\x12'\n" + + "\x05items\x18\x01 \x03(\v2\x11.service.EmployeeR\x05items\"V\n" + + "\tListOfInt\x12+\n" + + "\x04list\x18\x01 \x01(\v2\x17.service.ListOfInt.ListR\x04list\x1a\x1c\n" + + "\x04List\x12\x14\n" + + "\x05items\x18\x01 \x03(\x05R\x05items\"\x8b\x01\n" + + "\x16ListOfListOfListOfTask\x128\n" + + "\x04list\x18\x01 \x01(\v2$.service.ListOfListOfListOfTask.ListR\x04list\x1a7\n" + + "\x04List\x12/\n" + + "\x05items\x18\x01 \x03(\v2\x19.service.ListOfListOfTaskR\x05items\"\x88\x01\n" + + "\x15ListOfListOfMilestone\x127\n" + + "\x04list\x18\x01 \x01(\v2#.service.ListOfListOfMilestone.ListR\x04list\x1a6\n" + + "\x04List\x12.\n" + + "\x05items\x18\x01 \x03(\v2\x18.service.ListOfMilestoneR\x05items\"\x82\x01\n" + + "\x13ListOfListOfProject\x125\n" + + "\x04list\x18\x01 \x01(\v2!.service.ListOfListOfProject.ListR\x04list\x1a4\n" + + "\x04List\x12,\n" + + "\x05items\x18\x01 \x03(\v2\x16.service.ListOfProjectR\x05items\"\x9a\x01\n" + + "\x1bListOfListOfProjectResource\x12=\n" + + "\x04list\x18\x01 \x01(\v2).service.ListOfListOfProjectResource.ListR\x04list\x1a<\n" + + "\x04List\x124\n" + + "\x05items\x18\x01 \x03(\v2\x1e.service.ListOfProjectResourceR\x05items\"\x7f\n" + + "\x12ListOfListOfString\x124\n" + + "\x04list\x18\x01 \x01(\v2 .service.ListOfListOfString.ListR\x04list\x1a3\n" + + "\x04List\x12+\n" + + "\x05items\x18\x01 \x03(\v2\x15.service.ListOfStringR\x05items\"y\n" + + "\x10ListOfListOfTask\x122\n" + + "\x04list\x18\x01 \x01(\v2\x1e.service.ListOfListOfTask.ListR\x04list\x1a1\n" + + "\x04List\x12)\n" + + "\x05items\x18\x01 \x03(\v2\x13.service.ListOfTaskR\x05items\"v\n" + + "\x0fListOfMilestone\x121\n" + + "\x04list\x18\x01 \x01(\v2\x1d.service.ListOfMilestone.ListR\x04list\x1a0\n" + + "\x04List\x12(\n" + + "\x05items\x18\x01 \x03(\v2\x12.service.MilestoneR\x05items\"p\n" + + "\rListOfProject\x12/\n" + + "\x04list\x18\x01 \x01(\v2\x1b.service.ListOfProject.ListR\x04list\x1a.\n" + + "\x04List\x12&\n" + + "\x05items\x18\x01 \x03(\v2\x10.service.ProjectR\x05items\"\x88\x01\n" + + "\x15ListOfProjectResource\x127\n" + + "\x04list\x18\x01 \x01(\v2#.service.ListOfProjectResource.ListR\x04list\x1a6\n" + + "\x04List\x12.\n" + + "\x05items\x18\x01 \x03(\v2\x18.service.ProjectResourceR\x05items\"\\\n" + + "\fListOfString\x12.\n" + + "\x04list\x18\x01 \x01(\v2\x1a.service.ListOfString.ListR\x04list\x1a\x1c\n" + + "\x04List\x12\x14\n" + + "\x05items\x18\x01 \x03(\tR\x05items\"g\n" + + "\n" + + "ListOfTask\x12,\n" + + "\x04list\x18\x01 \x01(\v2\x18.service.ListOfTask.ListR\x04list\x1a+\n" + + "\x04List\x12#\n" + + "\x05items\x18\x01 \x03(\v2\r.service.TaskR\x05items\"-\n" + + "\x1bLookupProjectByIdRequestKey\x12\x0e\n" + + "\x02id\x18\x01 \x01(\tR\x02id\"T\n" + + "\x18LookupProjectByIdRequest\x128\n" + + "\x04keys\x18\x01 \x03(\v2$.service.LookupProjectByIdRequestKeyR\x04keys\"E\n" + + "\x19LookupProjectByIdResponse\x12(\n" + + "\x06result\x18\x01 \x03(\v2\x10.service.ProjectR\x06result\"/\n" + + "\x1dLookupMilestoneByIdRequestKey\x12\x0e\n" + + "\x02id\x18\x01 \x01(\tR\x02id\"X\n" + + "\x1aLookupMilestoneByIdRequest\x12:\n" + + "\x04keys\x18\x01 \x03(\v2&.service.LookupMilestoneByIdRequestKeyR\x04keys\"I\n" + + "\x1bLookupMilestoneByIdResponse\x12*\n" + + "\x06result\x18\x01 \x03(\v2\x12.service.MilestoneR\x06result\"*\n" + + "\x18LookupTaskByIdRequestKey\x12\x0e\n" + + "\x02id\x18\x01 \x01(\tR\x02id\"N\n" + + "\x15LookupTaskByIdRequest\x125\n" + + "\x04keys\x18\x01 \x03(\v2!.service.LookupTaskByIdRequestKeyR\x04keys\"?\n" + + "\x16LookupTaskByIdResponse\x12%\n" + + "\x06result\x18\x01 \x03(\v2\r.service.TaskR\x06result\".\n" + + "\x1cLookupEmployeeByIdRequestKey\x12\x0e\n" + + "\x02id\x18\x01 \x01(\tR\x02id\"V\n" + + "\x19LookupEmployeeByIdRequest\x129\n" + + "\x04keys\x18\x01 \x03(\v2%.service.LookupEmployeeByIdRequestKeyR\x04keys\"G\n" + + "\x1aLookupEmployeeByIdResponse\x12)\n" + + "\x06result\x18\x01 \x03(\v2\x11.service.EmployeeR\x06result\"0\n" + + "\x1cLookupProductByUpcRequestKey\x12\x10\n" + + "\x03upc\x18\x01 \x01(\tR\x03upc\"V\n" + + "\x19LookupProductByUpcRequest\x129\n" + + "\x04keys\x18\x01 \x03(\v2%.service.LookupProductByUpcRequestKeyR\x04keys\"F\n" + + "\x1aLookupProductByUpcResponse\x12(\n" + + "\x06result\x18\x01 \x03(\v2\x10.service.ProductR\x06result\"\x16\n" + + "\x14QueryProjectsRequest\"E\n" + + "\x15QueryProjectsResponse\x12,\n" + + "\bprojects\x18\x01 \x03(\v2\x10.service.ProjectR\bprojects\"%\n" + + "\x13QueryProjectRequest\x12\x0e\n" + + "\x02id\x18\x01 \x01(\tR\x02id\"B\n" + + "\x14QueryProjectResponse\x12*\n" + + "\aproject\x18\x01 \x01(\v2\x10.service.ProjectR\aproject\"\x1d\n" + + "\x1bQueryProjectStatusesRequest\"a\n" + + "\x1cQueryProjectStatusesResponse\x12A\n" + + "\x10project_statuses\x18\x01 \x03(\x0e2\x16.service.ProjectStatusR\x0fprojectStatuses\"N\n" + + "\x1cQueryProjectsByStatusRequest\x12.\n" + + "\x06status\x18\x01 \x01(\x0e2\x16.service.ProjectStatusR\x06status\"_\n" + + "\x1dQueryProjectsByStatusResponse\x12>\n" + + "\x12projects_by_status\x18\x01 \x03(\v2\x10.service.ProjectR\x10projectsByStatus\"=\n" + + "\x1cQueryProjectResourcesRequest\x12\x1d\n" + + "\n" + + "project_id\x18\x01 \x01(\tR\tprojectId\"f\n" + + "\x1dQueryProjectResourcesResponse\x12E\n" + + "\x11project_resources\x18\x01 \x03(\v2\x18.service.ProjectResourceR\x10projectResources\"2\n" + + "\x1aQuerySearchProjectsRequest\x12\x14\n" + + "\x05query\x18\x01 \x01(\tR\x05query\"d\n" + + "\x1bQuerySearchProjectsResponse\x12E\n" + + "\x0fsearch_projects\x18\x01 \x03(\v2\x1c.service.ProjectSearchResultR\x0esearchProjects\"7\n" + + "\x16QueryMilestonesRequest\x12\x1d\n" + + "\n" + + "project_id\x18\x01 \x01(\tR\tprojectId\"M\n" + + "\x17QueryMilestonesResponse\x122\n" + + "\n" + + "milestones\x18\x01 \x03(\v2\x12.service.MilestoneR\n" + + "milestones\"2\n" + + "\x11QueryTasksRequest\x12\x1d\n" + + "\n" + + "project_id\x18\x01 \x01(\tR\tprojectId\"9\n" + + "\x12QueryTasksResponse\x12#\n" + + "\x05tasks\x18\x01 \x03(\v2\r.service.TaskR\x05tasks\">\n" + + "\x1dQueryProjectActivitiesRequest\x12\x1d\n" + + "\n" + + "project_id\x18\x01 \x01(\tR\tprojectId\"i\n" + + "\x1eQueryProjectActivitiesResponse\x12G\n" + + "\x12project_activities\x18\x01 \x03(\v2\x18.service.ProjectActivityR\x11projectActivities\"\x19\n" + + "\x17QueryProjectTagsRequest\"T\n" + + "\x18QueryProjectTagsResponse\x128\n" + + "\fproject_tags\x18\x01 \x01(\v2\x15.service.ListOfStringR\vprojectTags\"\x1e\n" + + "\x1cQueryArchivedProjectsRequest\"^\n" + + "\x1dQueryArchivedProjectsResponse\x12=\n" + + "\x11archived_projects\x18\x01 \x03(\v2\x10.service.ProjectR\x10archivedProjects\"<\n" + + "\x1bQueryTasksByPriorityRequest\x12\x1d\n" + + "\n" + + "project_id\x18\x01 \x01(\tR\tprojectId\"e\n" + + "\x1cQueryTasksByPriorityResponse\x12E\n" + + "\x11tasks_by_priority\x18\x01 \x01(\v2\x19.service.ListOfListOfTaskR\x0ftasksByPriority\";\n" + + "\x1aQueryResourceMatrixRequest\x12\x1d\n" + + "\n" + + "project_id\x18\x01 \x01(\tR\tprojectId\"l\n" + + "\x1bQueryResourceMatrixResponse\x12M\n" + + "\x0fresource_matrix\x18\x01 \x01(\v2$.service.ListOfListOfProjectResourceR\x0eresourceMatrix\"\x19\n" + + "\x17QueryKillServiceRequest\"=\n" + + "\x18QueryKillServiceResponse\x12!\n" + + "\fkill_service\x18\x01 \x01(\bR\vkillService\"\x13\n" + + "\x11QueryPanicRequest\"*\n" + + "\x12QueryPanicResponse\x12\x14\n" + + "\x05panic\x18\x01 \x01(\bR\x05panic\"'\n" + + "\x15QueryNodesByIdRequest\x12\x0e\n" + + "\x02id\x18\x01 \x01(\tR\x02id\"G\n" + + "\x16QueryNodesByIdResponse\x12-\n" + + "\vnodes_by_id\x18\x01 \x03(\v2\r.service.NodeR\tnodesById\"L\n" + + "\x19MutationAddProjectRequest\x12/\n" + + "\aproject\x18\x01 \x01(\v2\x15.service.ProjectInputR\aproject\"O\n" + + "\x1aMutationAddProjectResponse\x121\n" + + "\vadd_project\x18\x01 \x01(\v2\x10.service.ProjectR\n" + + "addProject\"T\n" + + "\x1bMutationAddMilestoneRequest\x125\n" + + "\tmilestone\x18\x01 \x01(\v2\x17.service.MilestoneInputR\tmilestone\"W\n" + + "\x1cMutationAddMilestoneResponse\x127\n" + + "\radd_milestone\x18\x01 \x01(\v2\x12.service.MilestoneR\faddMilestone\"@\n" + + "\x16MutationAddTaskRequest\x12&\n" + + "\x04task\x18\x01 \x01(\v2\x12.service.TaskInputR\x04task\"C\n" + + "\x17MutationAddTaskResponse\x12(\n" + + "\badd_task\x18\x01 \x01(\v2\r.service.TaskR\aaddTask\"s\n" + + "\"MutationUpdateProjectStatusRequest\x12\x1d\n" + + "\n" + + "project_id\x18\x01 \x01(\tR\tprojectId\x12.\n" + + "\x06status\x18\x02 \x01(\x0e2\x16.service.ProjectStatusR\x06status\"q\n" + + "#MutationUpdateProjectStatusResponse\x12J\n" + + "\x15update_project_status\x18\x01 \x01(\v2\x16.service.ProjectUpdateR\x13updateProjectStatus\"f\n" + + "\x1dResolveProjectSubProjectsArgs\x12E\n" + + "\x10include_archived\x18\x01 \x01(\v2\x1a.google.protobuf.BoolValueR\x0fincludeArchived\"v\n" + + " ResolveProjectSubProjectsContext\x12\x0e\n" + + "\x02id\x18\x01 \x01(\tR\x02id\x12\x12\n" + + "\x04name\x18\x02 \x01(\tR\x04name\x12.\n" + + "\x06status\x18\x03 \x01(\x0e2\x16.service.ProjectStatusR\x06status\"\xae\x01\n" + + " ResolveProjectSubProjectsRequest\x12C\n" + + "\acontext\x18\x01 \x03(\v2).service.ResolveProjectSubProjectsContextR\acontext\x12E\n" + + "\n" + + "field_args\x18\x02 \x01(\v2&.service.ResolveProjectSubProjectsArgsR\tfieldArgs\"V\n" + + "\x1fResolveProjectSubProjectsResult\x123\n" + + "\fsub_projects\x18\x01 \x03(\v2\x10.service.ProjectR\vsubProjects\"e\n" + + "!ResolveProjectSubProjectsResponse\x12@\n" + + "\x06result\x18\x01 \x03(\v2(.service.ResolveProjectSubProjectsResultR\x06result\"\xb4\x01\n" + + "\x1fResolveProjectFilteredTasksArgs\x12+\n" + + "\x06status\x18\x01 \x01(\x0e2\x13.service.TaskStatusR\x06status\x121\n" + + "\bpriority\x18\x02 \x01(\x0e2\x15.service.TaskPriorityR\bpriority\x121\n" + + "\x05limit\x18\x03 \x01(\v2\x1b.google.protobuf.Int32ValueR\x05limit\"4\n" + + "\"ResolveProjectFilteredTasksContext\x12\x0e\n" + + "\x02id\x18\x01 \x01(\tR\x02id\"\xb4\x01\n" + + "\"ResolveProjectFilteredTasksRequest\x12E\n" + + "\acontext\x18\x01 \x03(\v2+.service.ResolveProjectFilteredTasksContextR\acontext\x12G\n" + + "\n" + + "field_args\x18\x02 \x01(\v2(.service.ResolveProjectFilteredTasksArgsR\tfieldArgs\"Y\n" + + "!ResolveProjectFilteredTasksResult\x124\n" + + "\x0efiltered_tasks\x18\x01 \x03(\v2\r.service.TaskR\rfilteredTasks\"i\n" + + "#ResolveProjectFilteredTasksResponse\x12B\n" + + "\x06result\x18\x01 \x03(\v2*.service.ResolveProjectFilteredTasksResultR\x06result\"i\n" + + " ResolveProjectCompletionRateArgs\x12E\n" + + "\x10include_subtasks\x18\x01 \x01(\v2\x1a.google.protobuf.BoolValueR\x0fincludeSubtasks\"\xdb\x01\n" + + "#ResolveProjectCompletionRateContext\x12\x0e\n" + + "\x02id\x18\x01 \x01(\tR\x02id\x12;\n" + + "\n" + + "start_date\x18\x02 \x01(\v2\x1c.google.protobuf.StringValueR\tstartDate\x127\n" + + "\bend_date\x18\x03 \x01(\v2\x1c.google.protobuf.StringValueR\aendDate\x12.\n" + + "\x06status\x18\x04 \x01(\x0e2\x16.service.ProjectStatusR\x06status\"\xb7\x01\n" + + "#ResolveProjectCompletionRateRequest\x12F\n" + + "\acontext\x18\x01 \x03(\v2,.service.ResolveProjectCompletionRateContextR\acontext\x12H\n" + + "\n" + + "field_args\x18\x02 \x01(\v2).service.ResolveProjectCompletionRateArgsR\tfieldArgs\"M\n" + + "\"ResolveProjectCompletionRateResult\x12'\n" + + "\x0fcompletion_rate\x18\x01 \x01(\x01R\x0ecompletionRate\"k\n" + + "$ResolveProjectCompletionRateResponse\x12C\n" + + "\x06result\x18\x01 \x03(\v2+.service.ResolveProjectCompletionRateResultR\x06result\"e\n" + + "(ResolveProjectEstimatedDaysRemainingArgs\x129\n" + + "\tfrom_date\x18\x01 \x01(\v2\x1c.google.protobuf.StringValueR\bfromDate\"\xa6\x01\n" + + "+ResolveProjectEstimatedDaysRemainingContext\x12\x0e\n" + + "\x02id\x18\x01 \x01(\tR\x02id\x127\n" + + "\bend_date\x18\x02 \x01(\v2\x1c.google.protobuf.StringValueR\aendDate\x12.\n" + + "\x06status\x18\x03 \x01(\x0e2\x16.service.ProjectStatusR\x06status\"\xcf\x01\n" + + "+ResolveProjectEstimatedDaysRemainingRequest\x12N\n" + + "\acontext\x18\x01 \x03(\v24.service.ResolveProjectEstimatedDaysRemainingContextR\acontext\x12P\n" + + "\n" + + "field_args\x18\x02 \x01(\v21.service.ResolveProjectEstimatedDaysRemainingArgsR\tfieldArgs\"\x83\x01\n" + + "*ResolveProjectEstimatedDaysRemainingResult\x12U\n" + + "\x18estimated_days_remaining\x18\x01 \x01(\v2\x1b.google.protobuf.Int32ValueR\x16estimatedDaysRemaining\"{\n" + + ",ResolveProjectEstimatedDaysRemainingResponse\x12K\n" + + "\x06result\x18\x01 \x03(\v23.service.ResolveProjectEstimatedDaysRemainingResultR\x06result\"b\n" + + "\"ResolveProjectCriticalDeadlineArgs\x12<\n" + + "\vwithin_days\x18\x01 \x01(\v2\x1b.google.protobuf.Int32ValueR\n" + + "withinDays\"\x9b\x01\n" + + "%ResolveProjectCriticalDeadlineContext\x12\x0e\n" + + "\x02id\x18\x01 \x01(\tR\x02id\x12.\n" + + "\x06status\x18\x02 \x01(\x0e2\x16.service.ProjectStatusR\x06status\x122\n" + + "\n" + + "milestones\x18\x03 \x03(\v2\x12.service.MilestoneR\n" + + "milestones\"\xbd\x01\n" + + "%ResolveProjectCriticalDeadlineRequest\x12H\n" + + "\acontext\x18\x01 \x03(\v2..service.ResolveProjectCriticalDeadlineContextR\acontext\x12J\n" + + "\n" + + "field_args\x18\x02 \x01(\v2+.service.ResolveProjectCriticalDeadlineArgsR\tfieldArgs\"i\n" + + "$ResolveProjectCriticalDeadlineResult\x12A\n" + + "\x11critical_deadline\x18\x01 \x01(\v2\x14.service.TimestampedR\x10criticalDeadline\"o\n" + + "&ResolveProjectCriticalDeadlineResponse\x12E\n" + + "\x06result\x18\x01 \x03(\v2-.service.ResolveProjectCriticalDeadlineResultR\x06result\"]\n" + + "!ResolveProjectTopPriorityItemArgs\x128\n" + + "\bcategory\x18\x01 \x01(\v2\x1c.google.protobuf.StringValueR\bcategory\"f\n" + + "$ResolveProjectTopPriorityItemContext\x12\x0e\n" + + "\x02id\x18\x01 \x01(\tR\x02id\x12.\n" + + "\x06status\x18\x02 \x01(\x0e2\x16.service.ProjectStatusR\x06status\"\xba\x01\n" + + "$ResolveProjectTopPriorityItemRequest\x12G\n" + + "\acontext\x18\x01 \x03(\v2-.service.ResolveProjectTopPriorityItemContextR\acontext\x12I\n" + + "\n" + + "field_args\x18\x02 \x01(\v2*.service.ResolveProjectTopPriorityItemArgsR\tfieldArgs\"o\n" + + "#ResolveProjectTopPriorityItemResult\x12H\n" + + "\x11top_priority_item\x18\x01 \x01(\v2\x1c.service.ProjectSearchResultR\x0ftopPriorityItem\"m\n" + + "%ResolveProjectTopPriorityItemResponse\x12D\n" + + "\x06result\x18\x01 \x03(\v2,.service.ResolveProjectTopPriorityItemResultR\x06result\"0\n" + + "\x1eResolveProjectTaskCountContext\x12\x0e\n" + + "\x02id\x18\x01 \x01(\tR\x02id\"c\n" + + "\x1eResolveProjectTaskCountRequest\x12A\n" + + "\acontext\x18\x01 \x03(\v2'.service.ResolveProjectTaskCountContextR\acontext\">\n" + + "\x1dResolveProjectTaskCountResult\x12\x1d\n" + + "\n" + + "task_count\x18\x01 \x01(\x05R\ttaskCount\"a\n" + + "\x1fResolveProjectTaskCountResponse\x12>\n" + + "\x06result\x18\x01 \x03(\v2&.service.ResolveProjectTaskCountResultR\x06result\";\n" + + ")ResolveProjectActiveMilestoneCountContext\x12\x0e\n" + + "\x02id\x18\x01 \x01(\tR\x02id\"y\n" + + ")ResolveProjectActiveMilestoneCountRequest\x12L\n" + + "\acontext\x18\x01 \x03(\v22.service.ResolveProjectActiveMilestoneCountContextR\acontext\"`\n" + + "(ResolveProjectActiveMilestoneCountResult\x124\n" + + "\x16active_milestone_count\x18\x01 \x01(\x05R\x14activeMilestoneCount\"w\n" + + "*ResolveProjectActiveMilestoneCountResponse\x12I\n" + + "\x06result\x18\x01 \x03(\v21.service.ResolveProjectActiveMilestoneCountResultR\x06result\"Z\n" + + "\x1cResolveMilestoneIsAtRiskArgs\x12:\n" + + "\tthreshold\x18\x01 \x01(\v2\x1c.google.protobuf.DoubleValueR\tthreshold\"\xef\x01\n" + + "\x1fResolveMilestoneIsAtRiskContext\x12\x0e\n" + + "\x02id\x18\x01 \x01(\tR\x02id\x127\n" + + "\bend_date\x18\x02 \x01(\v2\x1c.google.protobuf.StringValueR\aendDate\x120\n" + + "\x06status\x18\x03 \x01(\x0e2\x18.service.MilestoneStatusR\x06status\x12Q\n" + + "\x15completion_percentage\x18\x04 \x01(\v2\x1c.google.protobuf.DoubleValueR\x14completionPercentage\"\xab\x01\n" + + "\x1fResolveMilestoneIsAtRiskRequest\x12B\n" + + "\acontext\x18\x01 \x03(\v2(.service.ResolveMilestoneIsAtRiskContextR\acontext\x12D\n" + + "\n" + + "field_args\x18\x02 \x01(\v2%.service.ResolveMilestoneIsAtRiskArgsR\tfieldArgs\">\n" + + "\x1eResolveMilestoneIsAtRiskResult\x12\x1c\n" + + "\n" + + "is_at_risk\x18\x01 \x01(\bR\bisAtRisk\"c\n" + + " ResolveMilestoneIsAtRiskResponse\x12?\n" + + "\x06result\x18\x01 \x03(\v2'.service.ResolveMilestoneIsAtRiskResultR\x06result\"]\n" + + " ResolveMilestoneDaysUntilDueArgs\x129\n" + + "\tfrom_date\x18\x01 \x01(\v2\x1c.google.protobuf.StringValueR\bfromDate\"^\n" + + "#ResolveMilestoneDaysUntilDueContext\x127\n" + + "\bend_date\x18\x01 \x01(\v2\x1c.google.protobuf.StringValueR\aendDate\"\xb7\x01\n" + + "#ResolveMilestoneDaysUntilDueRequest\x12F\n" + + "\acontext\x18\x01 \x03(\v2,.service.ResolveMilestoneDaysUntilDueContextR\acontext\x12H\n" + + "\n" + + "field_args\x18\x02 \x01(\v2).service.ResolveMilestoneDaysUntilDueArgsR\tfieldArgs\"g\n" + + "\"ResolveMilestoneDaysUntilDueResult\x12A\n" + + "\x0edays_until_due\x18\x01 \x01(\v2\x1b.google.protobuf.Int32ValueR\fdaysUntilDue\"k\n" + + "$ResolveMilestoneDaysUntilDueResponse\x12C\n" + + "\x06result\x18\x01 \x03(\v2+.service.ResolveMilestoneDaysUntilDueResultR\x06result\"e\n" + + "\x18ResolveTaskIsBlockedArgs\x12I\n" + + "\x12check_dependencies\x18\x01 \x01(\v2\x1a.google.protobuf.BoolValueR\x11checkDependencies\"Z\n" + + "\x1bResolveTaskIsBlockedContext\x12\x0e\n" + + "\x02id\x18\x01 \x01(\tR\x02id\x12+\n" + + "\x06status\x18\x02 \x01(\x0e2\x13.service.TaskStatusR\x06status\"\x9f\x01\n" + + "\x1bResolveTaskIsBlockedRequest\x12>\n" + + "\acontext\x18\x01 \x03(\v2$.service.ResolveTaskIsBlockedContextR\acontext\x12@\n" + + "\n" + + "field_args\x18\x02 \x01(\v2!.service.ResolveTaskIsBlockedArgsR\tfieldArgs\";\n" + + "\x1aResolveTaskIsBlockedResult\x12\x1d\n" + + "\n" + + "is_blocked\x18\x01 \x01(\bR\tisBlocked\"[\n" + + "\x1cResolveTaskIsBlockedResponse\x12;\n" + + "\x06result\x18\x01 \x03(\v2#.service.ResolveTaskIsBlockedResultR\x06result\"c\n" + + "\x1aResolveTaskTotalEffortArgs\x12E\n" + + "\x10include_subtasks\x18\x01 \x01(\v2\x1a.google.protobuf.BoolValueR\x0fincludeSubtasks\"\xb7\x01\n" + + "\x1dResolveTaskTotalEffortContext\x12\x0e\n" + + "\x02id\x18\x01 \x01(\tR\x02id\x12E\n" + + "\x0festimated_hours\x18\x02 \x01(\v2\x1c.google.protobuf.DoubleValueR\x0eestimatedHours\x12?\n" + + "\factual_hours\x18\x03 \x01(\v2\x1c.google.protobuf.DoubleValueR\vactualHours\"\xa5\x01\n" + + "\x1dResolveTaskTotalEffortRequest\x12@\n" + + "\acontext\x18\x01 \x03(\v2&.service.ResolveTaskTotalEffortContextR\acontext\x12B\n" + + "\n" + + "field_args\x18\x02 \x01(\v2#.service.ResolveTaskTotalEffortArgsR\tfieldArgs\"_\n" + + "\x1cResolveTaskTotalEffortResult\x12?\n" + + "\ftotal_effort\x18\x01 \x01(\v2\x1c.google.protobuf.DoubleValueR\vtotalEffort\"_\n" + + "\x1eResolveTaskTotalEffortResponse\x12=\n" + + "\x06result\x18\x01 \x03(\v2%.service.ResolveTaskTotalEffortResultR\x06result\"\xaa\x01\n" + + "\"ResolveEmployeeCurrentWorkloadArgs\x12G\n" + + "\x11include_completed\x18\x01 \x01(\v2\x1a.google.protobuf.BoolValueR\x10includeCompleted\x12;\n" + + "\n" + + "project_id\x18\x02 \x01(\v2\x1c.google.protobuf.StringValueR\tprojectId\"7\n" + + "%ResolveEmployeeCurrentWorkloadContext\x12\x0e\n" + + "\x02id\x18\x01 \x01(\x05R\x02id\"\xbd\x01\n" + + "%ResolveEmployeeCurrentWorkloadRequest\x12H\n" + + "\acontext\x18\x01 \x03(\v2..service.ResolveEmployeeCurrentWorkloadContextR\acontext\x12J\n" + + "\n" + + "field_args\x18\x02 \x01(\v2+.service.ResolveEmployeeCurrentWorkloadArgsR\tfieldArgs\"Q\n" + + "$ResolveEmployeeCurrentWorkloadResult\x12)\n" + + "\x10current_workload\x18\x01 \x01(\x05R\x0fcurrentWorkload\"o\n" + + "&ResolveEmployeeCurrentWorkloadResponse\x12E\n" + + "\x06result\x18\x01 \x03(\v2-.service.ResolveEmployeeCurrentWorkloadResultR\x06result\"\x9e\x01\n" + + ",ResolveEmployeeAverageTaskCompletionDaysArgs\x12;\n" + + "\n" + + "project_id\x18\x01 \x01(\v2\x1c.google.protobuf.StringValueR\tprojectId\x121\n" + + "\bpriority\x18\x02 \x01(\x0e2\x15.service.TaskPriorityR\bpriority\"A\n" + + "/ResolveEmployeeAverageTaskCompletionDaysContext\x12\x0e\n" + + "\x02id\x18\x01 \x01(\x05R\x02id\"\xdb\x01\n" + + "/ResolveEmployeeAverageTaskCompletionDaysRequest\x12R\n" + + "\acontext\x18\x01 \x03(\v28.service.ResolveEmployeeAverageTaskCompletionDaysContextR\acontext\x12T\n" + + "\n" + + "field_args\x18\x02 \x01(\v25.service.ResolveEmployeeAverageTaskCompletionDaysArgsR\tfieldArgs\"\x8f\x01\n" + + ".ResolveEmployeeAverageTaskCompletionDaysResult\x12]\n" + + "\x1caverage_task_completion_days\x18\x01 \x01(\v2\x1c.google.protobuf.DoubleValueR\x19averageTaskCompletionDays\"\x83\x01\n" + + "0ResolveEmployeeAverageTaskCompletionDaysResponse\x12O\n" + + "\x06result\x18\x01 \x03(\v27.service.ResolveEmployeeAverageTaskCompletionDaysResultR\x06result\"9\n" + + "'ResolveEmployeeTotalProjectCountContext\x12\x0e\n" + + "\x02id\x18\x01 \x01(\x05R\x02id\"u\n" + + "'ResolveEmployeeTotalProjectCountRequest\x12J\n" + + "\acontext\x18\x01 \x03(\v20.service.ResolveEmployeeTotalProjectCountContextR\acontext\"X\n" + + "&ResolveEmployeeTotalProjectCountResult\x12.\n" + + "\x13total_project_count\x18\x01 \x01(\x05R\x11totalProjectCount\"s\n" + + "(ResolveEmployeeTotalProjectCountResponse\x12G\n" + + "\x06result\x18\x01 \x03(\v2/.service.ResolveEmployeeTotalProjectCountResultR\x06result\"\x83\x01\n" + + ".RequireEmployeeTaggedProjectSummaryByIdRequest\x12Q\n" + + "\acontext\x18\x01 \x03(\v27.service.RequireEmployeeTaggedProjectSummaryByIdContextR\acontext\"\xb9\x01\n" + + ".RequireEmployeeTaggedProjectSummaryByIdContext\x127\n" + + "\x03key\x18\x01 \x01(\v2%.service.LookupEmployeeByIdRequestKeyR\x03key\x12N\n" + + "\x06fields\x18\x02 \x01(\v26.service.RequireEmployeeTaggedProjectSummaryByIdFieldsR\x06fields\"\x81\x01\n" + + "/RequireEmployeeTaggedProjectSummaryByIdResponse\x12N\n" + + "\x06result\x18\x01 \x03(\v26.service.RequireEmployeeTaggedProjectSummaryByIdResultR\x06result\"e\n" + + "-RequireEmployeeTaggedProjectSummaryByIdResult\x124\n" + + "\x16tagged_project_summary\x18\x01 \x01(\tR\x14taggedProjectSummary\"M\n" + + "-RequireEmployeeTaggedProjectSummaryByIdFields\x12\x1c\n" + + "\texpertise\x18\x01 \x01(\tR\texpertise\"\xde\x01\n" + + "0RequireEmployeeFilteredProjectSummaryByIdRequest\x12S\n" + + "\acontext\x18\x01 \x03(\v29.service.RequireEmployeeFilteredProjectSummaryByIdContextR\acontext\x12U\n" + + "\n" + + "field_args\x18\x02 \x01(\v26.service.RequireEmployeeFilteredProjectSummaryByIdArgsR\tfieldArgs\"\xbd\x01\n" + + "0RequireEmployeeFilteredProjectSummaryByIdContext\x127\n" + + "\x03key\x18\x01 \x01(\v2%.service.LookupEmployeeByIdRequestKeyR\x03key\x12P\n" + + "\x06fields\x18\x02 \x01(\v28.service.RequireEmployeeFilteredProjectSummaryByIdFieldsR\x06fields\"A\n" + + "-RequireEmployeeFilteredProjectSummaryByIdArgs\x12\x10\n" + + "\x03tag\x18\x01 \x01(\tR\x03tag\"\x85\x01\n" + + "1RequireEmployeeFilteredProjectSummaryByIdResponse\x12P\n" + + "\x06result\x18\x01 \x03(\v28.service.RequireEmployeeFilteredProjectSummaryByIdResultR\x06result\"k\n" + + "/RequireEmployeeFilteredProjectSummaryByIdResult\x128\n" + + "\x18filtered_project_summary\x18\x01 \x01(\tR\x16filteredProjectSummary\"O\n" + + "/RequireEmployeeFilteredProjectSummaryByIdFields\x12\x1c\n" + + "\texpertise\x18\x01 \x01(\tR\texpertise\"s\n" + + "&RequireEmployeeWorkItemInfoByIdRequest\x12I\n" + + "\acontext\x18\x01 \x03(\v2/.service.RequireEmployeeWorkItemInfoByIdContextR\acontext\"\xa9\x01\n" + + "&RequireEmployeeWorkItemInfoByIdContext\x127\n" + + "\x03key\x18\x01 \x01(\v2%.service.LookupEmployeeByIdRequestKeyR\x03key\x12F\n" + + "\x06fields\x18\x02 \x01(\v2..service.RequireEmployeeWorkItemInfoByIdFieldsR\x06fields\"q\n" + + "'RequireEmployeeWorkItemInfoByIdResponse\x12F\n" + + "\x06result\x18\x01 \x03(\v2..service.RequireEmployeeWorkItemInfoByIdResultR\x06result\"M\n" + + "%RequireEmployeeWorkItemInfoByIdResult\x12$\n" + + "\x0ework_item_info\x18\x01 \x01(\tR\fworkItemInfo\"\xaf\x04\n" + + "%RequireEmployeeWorkItemInfoByIdFields\x12k\n" + + "\x11primary_work_item\x18\x01 \x01(\v2?.service.RequireEmployeeWorkItemInfoByIdFields.EmployeeWorkItemR\x0fprimaryWorkItem\x1aF\n" + + "\x11TechnicalWorkItem\x12\x12\n" + + "\x04name\x18\x01 \x01(\tR\x04name\x12\x1d\n" + + "\n" + + "code_count\x18\x02 \x01(\x05R\tcodeCount\x1aE\n" + + "\x12ManagementWorkItem\x12\x12\n" + + "\x04name\x18\x01 \x01(\tR\x04name\x12\x1b\n" + + "\tteam_size\x18\x02 \x01(\tR\bteamSize\x1a\x89\x02\n" + + "\x10EmployeeWorkItem\x12u\n" + + "\x14management_work_item\x18\x01 \x01(\v2A.service.RequireEmployeeWorkItemInfoByIdFields.ManagementWorkItemH\x00R\x12managementWorkItem\x12r\n" + + "\x13technical_work_item\x18\x02 \x01(\v2@.service.RequireEmployeeWorkItemInfoByIdFields.TechnicalWorkItemH\x00R\x11technicalWorkItemB\n" + + "\n" + + "\binstance\"s\n" + + "&RequireEmployeeReviewReportByIdRequest\x12I\n" + + "\acontext\x18\x01 \x03(\v2/.service.RequireEmployeeReviewReportByIdContextR\acontext\"\xa9\x01\n" + + "&RequireEmployeeReviewReportByIdContext\x127\n" + + "\x03key\x18\x01 \x01(\v2%.service.LookupEmployeeByIdRequestKeyR\x03key\x12F\n" + + "\x06fields\x18\x02 \x01(\v2..service.RequireEmployeeReviewReportByIdFieldsR\x06fields\"q\n" + + "'RequireEmployeeReviewReportByIdResponse\x12F\n" + + "\x06result\x18\x01 \x03(\v2..service.RequireEmployeeReviewReportByIdResultR\x06result\"L\n" + + "%RequireEmployeeReviewReportByIdResult\x12#\n" + + "\rreview_report\x18\x01 \x01(\tR\freviewReport\"\x96\x04\n" + + "%RequireEmployeeReviewReportByIdFields\x12i\n" + + "\x10last_work_review\x18\x01 \x01(\v2?.service.RequireEmployeeReviewReportByIdFields.WorkReviewResultR\x0elastWorkReview\x1aI\n" + + "\fWorkApproval\x12\x18\n" + + "\acomment\x18\x01 \x01(\tR\acomment\x12\x1f\n" + + "\vapproved_at\x18\x02 \x01(\tR\n" + + "approvedAt\x1aN\n" + + "\rWorkRejection\x12\x16\n" + + "\x06reason\x18\x01 \x01(\tR\x06reason\x12%\n" + + "\x0erejection_code\x18\x02 \x01(\tR\rrejectionCode\x1a\xe6\x01\n" + + "\x10WorkReviewResult\x12b\n" + + "\rwork_approval\x18\x01 \x01(\v2;.service.RequireEmployeeReviewReportByIdFields.WorkApprovalH\x00R\fworkApproval\x12e\n" + + "\x0ework_rejection\x18\x02 \x01(\v2<.service.RequireEmployeeReviewReportByIdFields.WorkRejectionH\x00R\rworkRejectionB\a\n" + + "\x05value\"{\n" + + "*RequireEmployeeWorkSetupSummaryByIdRequest\x12M\n" + + "\acontext\x18\x01 \x03(\v23.service.RequireEmployeeWorkSetupSummaryByIdContextR\acontext\"\xb1\x01\n" + + "*RequireEmployeeWorkSetupSummaryByIdContext\x127\n" + + "\x03key\x18\x01 \x01(\v2%.service.LookupEmployeeByIdRequestKeyR\x03key\x12J\n" + + "\x06fields\x18\x02 \x01(\v22.service.RequireEmployeeWorkSetupSummaryByIdFieldsR\x06fields\"y\n" + + "+RequireEmployeeWorkSetupSummaryByIdResponse\x12J\n" + + "\x06result\x18\x01 \x03(\v22.service.RequireEmployeeWorkSetupSummaryByIdResultR\x06result\"Y\n" + + ")RequireEmployeeWorkSetupSummaryByIdResult\x12,\n" + + "\x12work_setup_summary\x18\x01 \x01(\tR\x10workSetupSummary\"\xdd\x05\n" + + ")RequireEmployeeWorkSetupSummaryByIdFields\x12[\n" + + "\n" + + "work_setup\x18\x01 \x01(\v2<.service.RequireEmployeeWorkSetupSummaryByIdFields.WorkSetupR\tworkSetup\x1a\xd2\x04\n" + + "\tWorkSetup\x12\x1a\n" + + "\bpriority\x18\x01 \x01(\tR\bpriority\x12p\n" + + "\fprimary_item\x18\x02 \x01(\v2M.service.RequireEmployeeWorkSetupSummaryByIdFields.WorkSetup.EmployeeWorkItemR\vprimaryItem\x1aF\n" + + "\x11TechnicalWorkItem\x12\x12\n" + + "\x04name\x18\x01 \x01(\tR\x04name\x12\x1d\n" + + "\n" + + "code_count\x18\x02 \x01(\x05R\tcodeCount\x1aE\n" + + "\x12ManagementWorkItem\x12\x12\n" + + "\x04name\x18\x01 \x01(\tR\x04name\x12\x1b\n" + + "\tteam_size\x18\x02 \x01(\tR\bteamSize\x1a\xa7\x02\n" + + "\x10EmployeeWorkItem\x12\x83\x01\n" + + "\x14management_work_item\x18\x01 \x01(\v2O.service.RequireEmployeeWorkSetupSummaryByIdFields.WorkSetup.ManagementWorkItemH\x00R\x12managementWorkItem\x12\x80\x01\n" + + "\x13technical_work_item\x18\x02 \x01(\v2N.service.RequireEmployeeWorkSetupSummaryByIdFields.WorkSetup.TechnicalWorkItemH\x00R\x11technicalWorkItemB\n" + + "\n" + + "\binstance\"\x81\x01\n" + + "-RequireEmployeeWorkItemHandlerInfoByIdRequest\x12P\n" + + "\acontext\x18\x01 \x03(\v26.service.RequireEmployeeWorkItemHandlerInfoByIdContextR\acontext\"\xb7\x01\n" + + "-RequireEmployeeWorkItemHandlerInfoByIdContext\x127\n" + + "\x03key\x18\x01 \x01(\v2%.service.LookupEmployeeByIdRequestKeyR\x03key\x12M\n" + + "\x06fields\x18\x02 \x01(\v25.service.RequireEmployeeWorkItemHandlerInfoByIdFieldsR\x06fields\"\x7f\n" + + ".RequireEmployeeWorkItemHandlerInfoByIdResponse\x12M\n" + + "\x06result\x18\x01 \x03(\v25.service.RequireEmployeeWorkItemHandlerInfoByIdResultR\x06result\"c\n" + + ",RequireEmployeeWorkItemHandlerInfoByIdResult\x123\n" + + "\x16work_item_handler_info\x18\x01 \x01(\tR\x13workItemHandlerInfo\"\x9e\x06\n" + + ",RequireEmployeeWorkItemHandlerInfoByIdFields\x12r\n" + + "\x11primary_work_item\x18\x01 \x01(\v2F.service.RequireEmployeeWorkItemHandlerInfoByIdFields.EmployeeWorkItemR\x0fprimaryWorkItem\x1a\xad\x01\n" + + "\x11TechnicalWorkItem\x12q\n" + + "\ahandler\x18\x01 \x01(\v2W.service.RequireEmployeeWorkItemHandlerInfoByIdFields.TechnicalWorkItem.WorkItemHandlerR\ahandler\x1a%\n" + + "\x0fWorkItemHandler\x12\x12\n" + + "\x04name\x18\x01 \x01(\tR\x04name\x1a\xaf\x01\n" + + "\x12ManagementWorkItem\x12r\n" + + "\ahandler\x18\x01 \x01(\v2X.service.RequireEmployeeWorkItemHandlerInfoByIdFields.ManagementWorkItem.WorkItemHandlerR\ahandler\x1a%\n" + + "\x0fWorkItemHandler\x12\x12\n" + + "\x04name\x18\x01 \x01(\tR\x04name\x1a\x97\x02\n" + + "\x10EmployeeWorkItem\x12|\n" + + "\x14management_work_item\x18\x01 \x01(\v2H.service.RequireEmployeeWorkItemHandlerInfoByIdFields.ManagementWorkItemH\x00R\x12managementWorkItem\x12y\n" + + "\x13technical_work_item\x18\x02 \x01(\v2G.service.RequireEmployeeWorkItemHandlerInfoByIdFields.TechnicalWorkItemH\x00R\x11technicalWorkItemB\n" + + "\n" + + "\binstance\"}\n" + + "+RequireEmployeeWorkItemSpecsInfoByIdRequest\x12N\n" + + "\acontext\x18\x01 \x03(\v24.service.RequireEmployeeWorkItemSpecsInfoByIdContextR\acontext\"\xb3\x01\n" + + "+RequireEmployeeWorkItemSpecsInfoByIdContext\x127\n" + + "\x03key\x18\x01 \x01(\v2%.service.LookupEmployeeByIdRequestKeyR\x03key\x12K\n" + + "\x06fields\x18\x02 \x01(\v23.service.RequireEmployeeWorkItemSpecsInfoByIdFieldsR\x06fields\"{\n" + + ",RequireEmployeeWorkItemSpecsInfoByIdResponse\x12K\n" + + "\x06result\x18\x01 \x03(\v23.service.RequireEmployeeWorkItemSpecsInfoByIdResultR\x06result\"]\n" + + "*RequireEmployeeWorkItemSpecsInfoByIdResult\x12/\n" + + "\x14work_item_specs_info\x18\x01 \x01(\tR\x11workItemSpecsInfo\"\x8e\t\n" + + "*RequireEmployeeWorkItemSpecsInfoByIdFields\x12p\n" + + "\x11primary_work_item\x18\x01 \x01(\v2D.service.RequireEmployeeWorkItemSpecsInfoByIdFields.EmployeeWorkItemR\x0fprimaryWorkItem\x1a\xe7\x02\n" + + "\x11TechnicalWorkItem\x12j\n" + + "\x05specs\x18\x01 \x01(\v2T.service.RequireEmployeeWorkItemSpecsInfoByIdFields.TechnicalWorkItem.TechnicalSpecsR\x05specs\x1a\xe5\x01\n" + + "\x0eTechnicalSpecs\x12\x12\n" + + "\x04name\x18\x01 \x01(\tR\x04name\x12z\n" + + "\ametrics\x18\x02 \x01(\v2`.service.RequireEmployeeWorkItemSpecsInfoByIdFields.TechnicalWorkItem.TechnicalSpecs.WorkMetricsR\ametrics\x1aC\n" + + "\vWorkMetrics\x12\x14\n" + + "\x05score\x18\x01 \x01(\x01R\x05score\x12\x1e\n" + + "\n" + + "efficiency\x18\x02 \x01(\x01R\n" + + "efficiency\x1a\xed\x02\n" + + "\x12ManagementWorkItem\x12l\n" + + "\x05specs\x18\x01 \x01(\v2V.service.RequireEmployeeWorkItemSpecsInfoByIdFields.ManagementWorkItem.ManagementSpecsR\x05specs\x1a\xe8\x01\n" + + "\x0fManagementSpecs\x12\x12\n" + + "\x04name\x18\x01 \x01(\tR\x04name\x12|\n" + + "\ametrics\x18\x02 \x01(\v2b.service.RequireEmployeeWorkItemSpecsInfoByIdFields.ManagementWorkItem.ManagementSpecs.WorkMetricsR\ametrics\x1aC\n" + + "\vWorkMetrics\x12\x14\n" + + "\x05score\x18\x01 \x01(\x01R\x05score\x12\x1e\n" + + "\n" + + "efficiency\x18\x02 \x01(\x01R\n" + + "efficiency\x1a\x93\x02\n" + + "\x10EmployeeWorkItem\x12z\n" + + "\x14management_work_item\x18\x01 \x01(\v2F.service.RequireEmployeeWorkItemSpecsInfoByIdFields.ManagementWorkItemH\x00R\x12managementWorkItem\x12w\n" + + "\x13technical_work_item\x18\x02 \x01(\v2E.service.RequireEmployeeWorkItemSpecsInfoByIdFields.TechnicalWorkItemH\x00R\x11technicalWorkItemB\n" + + "\n" + + "\binstance\"{\n" + + "*RequireEmployeeDeepWorkItemInfoByIdRequest\x12M\n" + + "\acontext\x18\x01 \x03(\v23.service.RequireEmployeeDeepWorkItemInfoByIdContextR\acontext\"\xb1\x01\n" + + "*RequireEmployeeDeepWorkItemInfoByIdContext\x127\n" + + "\x03key\x18\x01 \x01(\v2%.service.LookupEmployeeByIdRequestKeyR\x03key\x12J\n" + + "\x06fields\x18\x02 \x01(\v22.service.RequireEmployeeDeepWorkItemInfoByIdFieldsR\x06fields\"y\n" + + "+RequireEmployeeDeepWorkItemInfoByIdResponse\x12J\n" + + "\x06result\x18\x01 \x03(\v22.service.RequireEmployeeDeepWorkItemInfoByIdResultR\x06result\"Z\n" + + ")RequireEmployeeDeepWorkItemInfoByIdResult\x12-\n" + + "\x13deep_work_item_info\x18\x01 \x01(\tR\x10deepWorkItemInfo\"\xef\n" + + "\n" + + ")RequireEmployeeDeepWorkItemInfoByIdFields\x12o\n" + + "\x11primary_work_item\x18\x01 \x01(\v2C.service.RequireEmployeeDeepWorkItemInfoByIdFields.EmployeeWorkItemR\x0fprimaryWorkItem\x1a\x8d\x06\n" + + "\x11TechnicalWorkItem\x12n\n" + + "\ahandler\x18\x01 \x01(\v2T.service.RequireEmployeeDeepWorkItemInfoByIdFields.TechnicalWorkItem.WorkItemHandlerR\ahandler\x1a\x87\x05\n" + + "\x0fWorkItemHandler\x12\x8a\x01\n" + + "\rassigned_item\x18\x01 \x01(\v2e.service.RequireEmployeeDeepWorkItemInfoByIdFields.TechnicalWorkItem.WorkItemHandler.EmployeeWorkItemR\fassignedItem\x1aE\n" + + "\x12ManagementWorkItem\x12\x12\n" + + "\x04name\x18\x01 \x01(\tR\x04name\x12\x1b\n" + + "\tteam_size\x18\x02 \x01(\tR\bteamSize\x1aF\n" + + "\x11TechnicalWorkItem\x12\x12\n" + + "\x04name\x18\x01 \x01(\tR\x04name\x12\x1d\n" + + "\n" + + "code_count\x18\x02 \x01(\x05R\tcodeCount\x1a\xd7\x02\n" + + "\x10EmployeeWorkItem\x12\x9b\x01\n" + + "\x14management_work_item\x18\x01 \x01(\v2g.service.RequireEmployeeDeepWorkItemInfoByIdFields.TechnicalWorkItem.WorkItemHandler.ManagementWorkItemH\x00R\x12managementWorkItem\x12\x98\x01\n" + + "\x13technical_work_item\x18\x02 \x01(\v2f.service.RequireEmployeeDeepWorkItemInfoByIdFields.TechnicalWorkItem.WorkItemHandler.TechnicalWorkItemH\x00R\x11technicalWorkItemB\n" + + "\n" + + "\binstance\x1a\xac\x01\n" + + "\x12ManagementWorkItem\x12o\n" + + "\ahandler\x18\x01 \x01(\v2U.service.RequireEmployeeDeepWorkItemInfoByIdFields.ManagementWorkItem.WorkItemHandlerR\ahandler\x1a%\n" + + "\x0fWorkItemHandler\x12\x12\n" + + "\x04name\x18\x01 \x01(\tR\x04name\x1a\x91\x02\n" + + "\x10EmployeeWorkItem\x12y\n" + + "\x14management_work_item\x18\x01 \x01(\v2E.service.RequireEmployeeDeepWorkItemInfoByIdFields.ManagementWorkItemH\x00R\x12managementWorkItem\x12v\n" + + "\x13technical_work_item\x18\x02 \x01(\v2D.service.RequireEmployeeDeepWorkItemInfoByIdFields.TechnicalWorkItemH\x00R\x11technicalWorkItemB\n" + + "\n" + + "\binstance\"\xac\b\n" + + "\aProject\x12\x0e\n" + + "\x02id\x18\x01 \x01(\tR\x02id\x12\x12\n" + + "\x04name\x18\x02 \x01(\tR\x04name\x12>\n" + + "\vdescription\x18\x03 \x01(\v2\x1c.google.protobuf.StringValueR\vdescription\x12;\n" + + "\n" + + "start_date\x18\x04 \x01(\v2\x1c.google.protobuf.StringValueR\tstartDate\x127\n" + + "\bend_date\x18\x05 \x01(\v2\x1c.google.protobuf.StringValueR\aendDate\x12.\n" + + "\x06status\x18\x06 \x01(\x0e2\x16.service.ProjectStatusR\x06status\x124\n" + + "\fteam_members\x18\a \x03(\v2\x11.service.EmployeeR\vteamMembers\x12;\n" + + "\x10related_products\x18\b \x03(\v2\x10.service.ProductR\x0frelatedProducts\x12:\n" + + "\rmilestone_ids\x18\t \x01(\v2\x15.service.ListOfStringR\fmilestoneIds\x122\n" + + "\n" + + "milestones\x18\n" + + " \x03(\v2\x12.service.MilestoneR\n" + + "milestones\x12#\n" + + "\x05tasks\x18\v \x03(\v2\r.service.TaskR\x05tasks\x128\n" + + "\bprogress\x18\f \x01(\v2\x1c.google.protobuf.DoubleValueR\bprogress\x12)\n" + + "\x04tags\x18\r \x01(\v2\x15.service.ListOfStringR\x04tags\x12I\n" + + "\x14alternative_projects\x18\x0e \x01(\v2\x16.service.ListOfProjectR\x13alternativeProjects\x12:\n" + + "\fdependencies\x18\x0f \x01(\v2\x16.service.ListOfProjectR\fdependencies\x12M\n" + + "\x0fresource_groups\x18\x10 \x01(\v2$.service.ListOfListOfProjectResourceR\x0eresourceGroups\x12?\n" + + "\x0etasks_by_phase\x18\x11 \x01(\v2\x19.service.ListOfListOfTaskR\ftasksByPhase\x12I\n" + + "\x10milestone_groups\x18\x12 \x01(\v2\x1e.service.ListOfListOfMilestoneR\x0fmilestoneGroups\x12H\n" + + "\x0fpriority_matrix\x18\x13 \x01(\v2\x1f.service.ListOfListOfListOfTaskR\x0epriorityMatrix\"\xa9\x04\n" + + "\tMilestone\x12\x0e\n" + + "\x02id\x18\x01 \x01(\tR\x02id\x12\x1d\n" + + "\n" + + "project_id\x18\x02 \x01(\tR\tprojectId\x12\x12\n" + + "\x04name\x18\x03 \x01(\tR\x04name\x12>\n" + + "\vdescription\x18\x04 \x01(\v2\x1c.google.protobuf.StringValueR\vdescription\x12;\n" + + "\n" + + "start_date\x18\x05 \x01(\v2\x1c.google.protobuf.StringValueR\tstartDate\x127\n" + + "\bend_date\x18\x06 \x01(\v2\x1c.google.protobuf.StringValueR\aendDate\x120\n" + + "\x06status\x18\a \x01(\x0e2\x18.service.MilestoneStatusR\x06status\x12Q\n" + + "\x15completion_percentage\x18\b \x01(\v2\x1c.google.protobuf.DoubleValueR\x14completionPercentage\x126\n" + + "\fdependencies\x18\t \x03(\v2\x12.service.MilestoneR\fdependencies\x12/\n" + + "\bsubtasks\x18\n" + + " \x01(\v2\x13.service.ListOfTaskR\bsubtasks\x125\n" + + "\treviewers\x18\v \x01(\v2\x17.service.ListOfEmployeeR\treviewers\"\xeb\x06\n" + + "\x04Task\x12\x0e\n" + + "\x02id\x18\x01 \x01(\tR\x02id\x12\x1d\n" + + "\n" + + "project_id\x18\x02 \x01(\tR\tprojectId\x12?\n" + + "\fmilestone_id\x18\x03 \x01(\v2\x1c.google.protobuf.StringValueR\vmilestoneId\x12<\n" + + "\vassignee_id\x18\x04 \x01(\v2\x1b.google.protobuf.Int32ValueR\n" + + "assigneeId\x12\x12\n" + + "\x04name\x18\x05 \x01(\tR\x04name\x12>\n" + + "\vdescription\x18\x06 \x01(\v2\x1c.google.protobuf.StringValueR\vdescription\x121\n" + + "\bpriority\x18\a \x01(\x0e2\x15.service.TaskPriorityR\bpriority\x12+\n" + + "\x06status\x18\b \x01(\x0e2\x13.service.TaskStatusR\x06status\x12I\n" + + "\x0festimated_hours\x18\t \x01(\v2\x1c.google.protobuf.DoubleValueB\x02\x18\x01R\x0eestimatedHours\x12?\n" + + "\factual_hours\x18\n" + + " \x01(\v2\x1c.google.protobuf.DoubleValueR\vactualHours\x12;\n" + + "\n" + + "created_at\x18\v \x01(\v2\x1c.google.protobuf.StringValueR\tcreatedAt\x12?\n" + + "\fcompleted_at\x18\f \x01(\v2\x1c.google.protobuf.StringValueR\vcompletedAt\x12-\n" + + "\x06labels\x18\r \x01(\v2\x15.service.ListOfStringR\x06labels\x12/\n" + + "\bsubtasks\x18\x0e \x01(\v2\x13.service.ListOfTaskR\bsubtasks\x121\n" + + "\fdependencies\x18\x0f \x03(\v2\r.service.TaskR\fdependencies\x12'\n" + + "\x0fattachment_urls\x18\x10 \x03(\tR\x0eattachmentUrls\x125\n" + + "\freviewer_ids\x18\x11 \x01(\v2\x12.service.ListOfIntR\vreviewerIdsJ\x04\b\x12\x10\x14\"\xf1\x02\n" + + "\bEmployee\x12\x0e\n" + + "\x02id\x18\x01 \x01(\x05R\x02id\x122\n" + + "\bprojects\x18\x02 \x01(\v2\x16.service.ListOfProjectR\bprojects\x124\n" + + "\x0eassigned_tasks\x18\x03 \x03(\v2\r.service.TaskR\rassignedTasks\x126\n" + + "\x0fcompleted_tasks\x18\x04 \x03(\v2\r.service.TaskR\x0ecompletedTasks\x12-\n" + + "\x06skills\x18\x05 \x01(\v2\x15.service.ListOfStringR\x06skills\x12=\n" + + "\x0ecertifications\x18\x06 \x01(\v2\x15.service.ListOfStringR\x0ecertifications\x12E\n" + + "\x0fproject_history\x18\a \x01(\v2\x1c.service.ListOfListOfProjectR\x0eprojectHistory\"\x93\x01\n" + + "\aProduct\x12\x10\n" + + "\x03upc\x18\x01 \x01(\tR\x03upc\x122\n" + + "\bprojects\x18\x02 \x01(\v2\x16.service.ListOfProjectR\bprojects\x12B\n" + + "\x0efeature_matrix\x18\x03 \x01(\v2\x1b.service.ListOfListOfStringR\rfeatureMatrix\"\xd2\x01\n" + + "\x0fProjectResource\x12/\n" + + "\bemployee\x18\x01 \x01(\v2\x11.service.EmployeeH\x00R\bemployee\x12,\n" + + "\aproduct\x18\x02 \x01(\v2\x10.service.ProductH\x00R\aproduct\x122\n" + + "\tmilestone\x18\x03 \x01(\v2\x12.service.MilestoneH\x00R\tmilestone\x12#\n" + + "\x04task\x18\x04 \x01(\v2\r.service.TaskH\x00R\x04taskB\a\n" + + "\x05value\"\xa5\x01\n" + + "\x13ProjectSearchResult\x12,\n" + + "\aproject\x18\x01 \x01(\v2\x10.service.ProjectH\x00R\aproject\x122\n" + + "\tmilestone\x18\x02 \x01(\v2\x12.service.MilestoneH\x00R\tmilestone\x12#\n" + + "\x04task\x18\x03 \x01(\v2\r.service.TaskH\x00R\x04taskB\a\n" + + "\x05value\"\xb4\x01\n" + + "\x0fProjectActivity\x12?\n" + + "\x0eproject_update\x18\x01 \x01(\v2\x16.service.ProjectUpdateH\x00R\rprojectUpdate\x122\n" + + "\tmilestone\x18\x02 \x01(\v2\x12.service.MilestoneH\x00R\tmilestone\x12#\n" + + "\x04task\x18\x03 \x01(\v2\r.service.TaskH\x00R\x04taskB\a\n" + + "\x05value\"\xda\x01\n" + + "\x04Node\x12,\n" + + "\aproject\x18\x01 \x01(\v2\x10.service.ProjectH\x00R\aproject\x122\n" + + "\tmilestone\x18\x02 \x01(\v2\x12.service.MilestoneH\x00R\tmilestone\x12#\n" + + "\x04task\x18\x03 \x01(\v2\r.service.TaskH\x00R\x04task\x12?\n" + + "\x0eproject_update\x18\x04 \x01(\v2\x16.service.ProjectUpdateH\x00R\rprojectUpdateB\n" + + "\n" + + "\binstance\"\x88\x02\n" + + "\fProjectInput\x12\x12\n" + + "\x04name\x18\x01 \x01(\tR\x04name\x12>\n" + + "\vdescription\x18\x02 \x01(\v2\x1c.google.protobuf.StringValueR\vdescription\x12;\n" + + "\n" + + "start_date\x18\x03 \x01(\v2\x1c.google.protobuf.StringValueR\tstartDate\x127\n" + + "\bend_date\x18\x04 \x01(\v2\x1c.google.protobuf.StringValueR\aendDate\x12.\n" + + "\x06status\x18\x05 \x01(\x0e2\x16.service.ProjectStatusR\x06status\"\xee\x01\n" + + "\x0eMilestoneInput\x12\x1d\n" + + "\n" + + "project_id\x18\x01 \x01(\tR\tprojectId\x12\x12\n" + + "\x04name\x18\x02 \x01(\tR\x04name\x12>\n" + + "\vdescription\x18\x03 \x01(\v2\x1c.google.protobuf.StringValueR\vdescription\x127\n" + + "\bdue_date\x18\x04 \x01(\v2\x1c.google.protobuf.StringValueR\adueDate\x120\n" + + "\x06status\x18\x05 \x01(\x0e2\x18.service.MilestoneStatusR\x06status\"\xe3\x02\n" + + "\tTaskInput\x12\x1d\n" + + "\n" + + "project_id\x18\x01 \x01(\tR\tprojectId\x12<\n" + + "\vassignee_id\x18\x02 \x01(\v2\x1b.google.protobuf.Int32ValueR\n" + + "assigneeId\x12\x12\n" + + "\x04name\x18\x03 \x01(\tR\x04name\x12>\n" + + "\vdescription\x18\x04 \x01(\v2\x1c.google.protobuf.StringValueR\vdescription\x121\n" + + "\bpriority\x18\x05 \x01(\x0e2\x15.service.TaskPriorityR\bpriority\x12+\n" + + "\x06status\x18\x06 \x01(\x0e2\x13.service.TaskStatusR\x06status\x12E\n" + + "\x0festimated_hours\x18\a \x01(\v2\x1c.google.protobuf.DoubleValueR\x0eestimatedHours\"\x99\x02\n" + + "\rProjectUpdate\x12\x0e\n" + + "\x02id\x18\x01 \x01(\tR\x02id\x12\x1d\n" + + "\n" + + "project_id\x18\x02 \x01(\tR\tprojectId\x12\"\n" + + "\rupdated_by_id\x18\x03 \x01(\x05R\vupdatedById\x12;\n" + + "\vupdate_type\x18\x04 \x01(\x0e2\x1a.service.ProjectUpdateTypeR\n" + + "updateType\x12 \n" + + "\vdescription\x18\x05 \x01(\tR\vdescription\x12\x1c\n" + + "\ttimestamp\x18\x06 \x01(\tR\ttimestamp\x128\n" + + "\bmetadata\x18\a \x01(\v2\x1c.google.protobuf.StringValueR\bmetadata\"{\n" + + "\vTimestamped\x12,\n" + + "\aproject\x18\x01 \x01(\v2\x10.service.ProjectH\x00R\aproject\x122\n" + + "\tmilestone\x18\x02 \x01(\v2\x12.service.MilestoneH\x00R\tmilestoneB\n" + + "\n" + + "\binstance\"=\n" + + "\n" + + "Assignable\x12#\n" + + "\x04task\x18\x01 \x01(\v2\r.service.TaskH\x00R\x04taskB\n" + + "\n" + + "\binstance\"\xbd\x01\n" + + "\x10EmployeeWorkItem\x12L\n" + + "\x13technical_work_item\x18\x01 \x01(\v2\x1a.service.TechnicalWorkItemH\x00R\x11technicalWorkItem\x12O\n" + + "\x14management_work_item\x18\x02 \x01(\v2\x1b.service.ManagementWorkItemH\x00R\x12managementWorkItemB\n" + + "\n" + + "\binstance\"\xc5\x01\n" + + "\x11TechnicalWorkItem\x12\x12\n" + + "\x04name\x18\x01 \x01(\tR\x04name\x12\x1a\n" + + "\bpriority\x18\x02 \x01(\x05R\bpriority\x12\x1d\n" + + "\n" + + "code_count\x18\x03 \x01(\x05R\tcodeCount\x122\n" + + "\ahandler\x18\x04 \x01(\v2\x18.service.WorkItemHandlerR\ahandler\x12-\n" + + "\x05specs\x18\x05 \x01(\v2\x17.service.TechnicalSpecsR\x05specs\"\xc5\x01\n" + + "\x12ManagementWorkItem\x12\x12\n" + + "\x04name\x18\x01 \x01(\tR\x04name\x12\x1a\n" + + "\bpriority\x18\x02 \x01(\x05R\bpriority\x12\x1b\n" + + "\tteam_size\x18\x03 \x01(\tR\bteamSize\x122\n" + + "\ahandler\x18\x04 \x01(\v2\x18.service.WorkItemHandlerR\ahandler\x12.\n" + + "\x05specs\x18\x05 \x01(\v2\x18.service.ManagementSpecsR\x05specs\"e\n" + + "\x0fWorkItemHandler\x12\x12\n" + + "\x04name\x18\x01 \x01(\tR\x04name\x12>\n" + + "\rassigned_item\x18\x02 \x01(\v2\x19.service.EmployeeWorkItemR\fassignedItem\"t\n" + + "\x0eTechnicalSpecs\x12\x12\n" + + "\x04name\x18\x01 \x01(\tR\x04name\x12\x1e\n" + + "\n" + + "complexity\x18\x02 \x01(\x01R\n" + + "complexity\x12.\n" + + "\ametrics\x18\x03 \x01(\v2\x14.service.WorkMetricsR\ametrics\"k\n" + + "\x0fManagementSpecs\x12\x12\n" + + "\x04name\x18\x01 \x01(\tR\x04name\x12\x14\n" + + "\x05scope\x18\x02 \x01(\x01R\x05scope\x12.\n" + + "\ametrics\x18\x03 \x01(\v2\x14.service.WorkMetricsR\ametrics\"C\n" + + "\vWorkMetrics\x12\x14\n" + + "\x05score\x18\x01 \x01(\x01R\x05score\x12\x1e\n" + + "\n" + + "efficiency\x18\x02 \x01(\x01R\n" + + "efficiency\"\x9a\x01\n" + + "\x10WorkReviewResult\x12<\n" + + "\rwork_approval\x18\x01 \x01(\v2\x15.service.WorkApprovalH\x00R\fworkApproval\x12?\n" + + "\x0ework_rejection\x18\x02 \x01(\v2\x16.service.WorkRejectionH\x00R\rworkRejectionB\a\n" + + "\x05value\"I\n" + + "\fWorkApproval\x12\x18\n" + + "\acomment\x18\x01 \x01(\tR\acomment\x12\x1f\n" + + "\vapproved_at\x18\x02 \x01(\tR\n" + + "approvedAt\"N\n" + + "\rWorkRejection\x12\x16\n" + + "\x06reason\x18\x01 \x01(\tR\x06reason\x12%\n" + + "\x0erejection_code\x18\x02 \x01(\tR\rrejectionCode\"e\n" + + "\tWorkSetup\x12\x1a\n" + + "\bpriority\x18\x01 \x01(\tR\bpriority\x12<\n" + + "\fprimary_item\x18\x02 \x01(\v2\x19.service.EmployeeWorkItemR\vprimaryItem*\xa1\x01\n" + + "\rProjectStatus\x12\x1e\n" + + "\x1aPROJECT_STATUS_UNSPECIFIED\x10\x00\x12\x1b\n" + + "\x17PROJECT_STATUS_PLANNING\x10\x01\x12\x19\n" + + "\x15PROJECT_STATUS_ACTIVE\x10\x02\x12\x1c\n" + + "\x18PROJECT_STATUS_COMPLETED\x10\x03\x12\x1a\n" + + "\x16PROJECT_STATUS_ON_HOLD\x10\x04*\xb1\x01\n" + + "\x0fMilestoneStatus\x12 \n" + + "\x1cMILESTONE_STATUS_UNSPECIFIED\x10\x00\x12\x1c\n" + + "\x18MILESTONE_STATUS_PENDING\x10\x01\x12 \n" + + "\x1cMILESTONE_STATUS_IN_PROGRESS\x10\x02\x12\x1e\n" + + "\x1aMILESTONE_STATUS_COMPLETED\x10\x03\x12\x1c\n" + + "\x18MILESTONE_STATUS_DELAYED\x10\x04*\xa8\x01\n" + + "\n" + + "TaskStatus\x12\x1b\n" + + "\x17TASK_STATUS_UNSPECIFIED\x10\x00\x12\x14\n" + + "\x10TASK_STATUS_TODO\x10\x01\x12\x1b\n" + + "\x17TASK_STATUS_IN_PROGRESS\x10\x02\x12\x16\n" + + "\x12TASK_STATUS_REVIEW\x10\x03\x12\x19\n" + + "\x15TASK_STATUS_COMPLETED\x10\x04\x12\x17\n" + + "\x13TASK_STATUS_BLOCKED\x10\x05*\x90\x01\n" + + "\fTaskPriority\x12\x1d\n" + + "\x19TASK_PRIORITY_UNSPECIFIED\x10\x00\x12\x15\n" + + "\x11TASK_PRIORITY_LOW\x10\x01\x12\x18\n" + + "\x14TASK_PRIORITY_MEDIUM\x10\x02\x12\x16\n" + + "\x12TASK_PRIORITY_HIGH\x10\x03\x12\x18\n" + + "\x14TASK_PRIORITY_URGENT\x10\x04*\xfd\x01\n" + + "\x11ProjectUpdateType\x12#\n" + + "\x1fPROJECT_UPDATE_TYPE_UNSPECIFIED\x10\x00\x12%\n" + + "!PROJECT_UPDATE_TYPE_STATUS_CHANGE\x10\x01\x12'\n" + + "#PROJECT_UPDATE_TYPE_MILESTONE_ADDED\x10\x02\x12%\n" + + "!PROJECT_UPDATE_TYPE_TASK_ASSIGNED\x10\x03\x12'\n" + + "#PROJECT_UPDATE_TYPE_PROGRESS_UPDATE\x10\x04\x12#\n" + + "\x1fPROJECT_UPDATE_TYPE_TEAM_CHANGE\x10\x052\xa7+\n" + + "\x0fProjectsService\x12_\n" + + "\x12LookupEmployeeById\x12\".service.LookupEmployeeByIdRequest\x1a#.service.LookupEmployeeByIdResponse\"\x00\x12b\n" + + "\x13LookupMilestoneById\x12#.service.LookupMilestoneByIdRequest\x1a$.service.LookupMilestoneByIdResponse\"\x00\x12_\n" + + "\x12LookupProductByUpc\x12\".service.LookupProductByUpcRequest\x1a#.service.LookupProductByUpcResponse\"\x00\x12\\\n" + + "\x11LookupProjectById\x12!.service.LookupProjectByIdRequest\x1a\".service.LookupProjectByIdResponse\"\x00\x12S\n" + + "\x0eLookupTaskById\x12\x1e.service.LookupTaskByIdRequest\x1a\x1f.service.LookupTaskByIdResponse\"\x00\x12e\n" + + "\x14MutationAddMilestone\x12$.service.MutationAddMilestoneRequest\x1a%.service.MutationAddMilestoneResponse\"\x00\x12_\n" + + "\x12MutationAddProject\x12\".service.MutationAddProjectRequest\x1a#.service.MutationAddProjectResponse\"\x00\x12V\n" + + "\x0fMutationAddTask\x12\x1f.service.MutationAddTaskRequest\x1a .service.MutationAddTaskResponse\"\x00\x12z\n" + + "\x1bMutationUpdateProjectStatus\x12+.service.MutationUpdateProjectStatusRequest\x1a,.service.MutationUpdateProjectStatusResponse\"\x00\x12h\n" + + "\x15QueryArchivedProjects\x12%.service.QueryArchivedProjectsRequest\x1a&.service.QueryArchivedProjectsResponse\"\x00\x12Y\n" + + "\x10QueryKillService\x12 .service.QueryKillServiceRequest\x1a!.service.QueryKillServiceResponse\"\x00\x12V\n" + + "\x0fQueryMilestones\x12\x1f.service.QueryMilestonesRequest\x1a .service.QueryMilestonesResponse\"\x00\x12S\n" + + "\x0eQueryNodesById\x12\x1e.service.QueryNodesByIdRequest\x1a\x1f.service.QueryNodesByIdResponse\"\x00\x12G\n" + + "\n" + + "QueryPanic\x12\x1a.service.QueryPanicRequest\x1a\x1b.service.QueryPanicResponse\"\x00\x12M\n" + + "\fQueryProject\x12\x1c.service.QueryProjectRequest\x1a\x1d.service.QueryProjectResponse\"\x00\x12k\n" + + "\x16QueryProjectActivities\x12&.service.QueryProjectActivitiesRequest\x1a'.service.QueryProjectActivitiesResponse\"\x00\x12h\n" + + "\x15QueryProjectResources\x12%.service.QueryProjectResourcesRequest\x1a&.service.QueryProjectResourcesResponse\"\x00\x12e\n" + + "\x14QueryProjectStatuses\x12$.service.QueryProjectStatusesRequest\x1a%.service.QueryProjectStatusesResponse\"\x00\x12Y\n" + + "\x10QueryProjectTags\x12 .service.QueryProjectTagsRequest\x1a!.service.QueryProjectTagsResponse\"\x00\x12P\n" + + "\rQueryProjects\x12\x1d.service.QueryProjectsRequest\x1a\x1e.service.QueryProjectsResponse\"\x00\x12h\n" + + "\x15QueryProjectsByStatus\x12%.service.QueryProjectsByStatusRequest\x1a&.service.QueryProjectsByStatusResponse\"\x00\x12b\n" + + "\x13QueryResourceMatrix\x12#.service.QueryResourceMatrixRequest\x1a$.service.QueryResourceMatrixResponse\"\x00\x12b\n" + + "\x13QuerySearchProjects\x12#.service.QuerySearchProjectsRequest\x1a$.service.QuerySearchProjectsResponse\"\x00\x12G\n" + + "\n" + + "QueryTasks\x12\x1a.service.QueryTasksRequest\x1a\x1b.service.QueryTasksResponse\"\x00\x12e\n" + + "\x14QueryTasksByPriority\x12$.service.QueryTasksByPriorityRequest\x1a%.service.QueryTasksByPriorityResponse\"\x00\x12\x92\x01\n" + + "#RequireEmployeeDeepWorkItemInfoById\x123.service.RequireEmployeeDeepWorkItemInfoByIdRequest\x1a4.service.RequireEmployeeDeepWorkItemInfoByIdResponse\"\x00\x12\xa4\x01\n" + + ")RequireEmployeeFilteredProjectSummaryById\x129.service.RequireEmployeeFilteredProjectSummaryByIdRequest\x1a:.service.RequireEmployeeFilteredProjectSummaryByIdResponse\"\x00\x12\x86\x01\n" + + "\x1fRequireEmployeeReviewReportById\x12/.service.RequireEmployeeReviewReportByIdRequest\x1a0.service.RequireEmployeeReviewReportByIdResponse\"\x00\x12\x9e\x01\n" + + "'RequireEmployeeTaggedProjectSummaryById\x127.service.RequireEmployeeTaggedProjectSummaryByIdRequest\x1a8.service.RequireEmployeeTaggedProjectSummaryByIdResponse\"\x00\x12\x9b\x01\n" + + "&RequireEmployeeWorkItemHandlerInfoById\x126.service.RequireEmployeeWorkItemHandlerInfoByIdRequest\x1a7.service.RequireEmployeeWorkItemHandlerInfoByIdResponse\"\x00\x12\x86\x01\n" + + "\x1fRequireEmployeeWorkItemInfoById\x12/.service.RequireEmployeeWorkItemInfoByIdRequest\x1a0.service.RequireEmployeeWorkItemInfoByIdResponse\"\x00\x12\x95\x01\n" + + "$RequireEmployeeWorkItemSpecsInfoById\x124.service.RequireEmployeeWorkItemSpecsInfoByIdRequest\x1a5.service.RequireEmployeeWorkItemSpecsInfoByIdResponse\"\x00\x12\x92\x01\n" + + "#RequireEmployeeWorkSetupSummaryById\x123.service.RequireEmployeeWorkSetupSummaryByIdRequest\x1a4.service.RequireEmployeeWorkSetupSummaryByIdResponse\"\x00\x12\xa1\x01\n" + + "(ResolveEmployeeAverageTaskCompletionDays\x128.service.ResolveEmployeeAverageTaskCompletionDaysRequest\x1a9.service.ResolveEmployeeAverageTaskCompletionDaysResponse\"\x00\x12\x83\x01\n" + + "\x1eResolveEmployeeCurrentWorkload\x12..service.ResolveEmployeeCurrentWorkloadRequest\x1a/.service.ResolveEmployeeCurrentWorkloadResponse\"\x00\x12\x89\x01\n" + + " ResolveEmployeeTotalProjectCount\x120.service.ResolveEmployeeTotalProjectCountRequest\x1a1.service.ResolveEmployeeTotalProjectCountResponse\"\x00\x12}\n" + + "\x1cResolveMilestoneDaysUntilDue\x12,.service.ResolveMilestoneDaysUntilDueRequest\x1a-.service.ResolveMilestoneDaysUntilDueResponse\"\x00\x12q\n" + + "\x18ResolveMilestoneIsAtRisk\x12(.service.ResolveMilestoneIsAtRiskRequest\x1a).service.ResolveMilestoneIsAtRiskResponse\"\x00\x12\x8f\x01\n" + + "\"ResolveProjectActiveMilestoneCount\x122.service.ResolveProjectActiveMilestoneCountRequest\x1a3.service.ResolveProjectActiveMilestoneCountResponse\"\x00\x12}\n" + + "\x1cResolveProjectCompletionRate\x12,.service.ResolveProjectCompletionRateRequest\x1a-.service.ResolveProjectCompletionRateResponse\"\x00\x12\x83\x01\n" + + "\x1eResolveProjectCriticalDeadline\x12..service.ResolveProjectCriticalDeadlineRequest\x1a/.service.ResolveProjectCriticalDeadlineResponse\"\x00\x12\x95\x01\n" + + "$ResolveProjectEstimatedDaysRemaining\x124.service.ResolveProjectEstimatedDaysRemainingRequest\x1a5.service.ResolveProjectEstimatedDaysRemainingResponse\"\x00\x12z\n" + + "\x1bResolveProjectFilteredTasks\x12+.service.ResolveProjectFilteredTasksRequest\x1a,.service.ResolveProjectFilteredTasksResponse\"\x00\x12t\n" + + "\x19ResolveProjectSubProjects\x12).service.ResolveProjectSubProjectsRequest\x1a*.service.ResolveProjectSubProjectsResponse\"\x00\x12n\n" + + "\x17ResolveProjectTaskCount\x12'.service.ResolveProjectTaskCountRequest\x1a(.service.ResolveProjectTaskCountResponse\"\x00\x12\x80\x01\n" + + "\x1dResolveProjectTopPriorityItem\x12-.service.ResolveProjectTopPriorityItemRequest\x1a..service.ResolveProjectTopPriorityItemResponse\"\x00\x12e\n" + + "\x14ResolveTaskIsBlocked\x12$.service.ResolveTaskIsBlockedRequest\x1a%.service.ResolveTaskIsBlockedResponse\"\x00\x12k\n" + + "\x16ResolveTaskTotalEffort\x12&.service.ResolveTaskTotalEffortRequest\x1a'.service.ResolveTaskTotalEffortResponse\"\x00B:Z8github.com/wundergraph/cosmo/demo/pkg/subgraphs/projectsb\x06proto3" var ( - file_generated_service_proto_rawDescOnce sync.Once - file_generated_service_proto_rawDescData = file_generated_service_proto_rawDesc + file_service_proto_rawDescOnce sync.Once + file_service_proto_rawDescData []byte ) -func file_generated_service_proto_rawDescGZIP() []byte { - file_generated_service_proto_rawDescOnce.Do(func() { - file_generated_service_proto_rawDescData = protoimpl.X.CompressGZIP(file_generated_service_proto_rawDescData) +func file_service_proto_rawDescGZIP() []byte { + file_service_proto_rawDescOnce.Do(func() { + file_service_proto_rawDescData = protoimpl.X.CompressGZIP(unsafe.Slice(unsafe.StringData(file_service_proto_rawDesc), len(file_service_proto_rawDesc))) }) - return file_generated_service_proto_rawDescData + return file_service_proto_rawDescData } -var file_generated_service_proto_enumTypes = make([]protoimpl.EnumInfo, 5) -var file_generated_service_proto_msgTypes = make([]protoimpl.MessageInfo, 250) -var file_generated_service_proto_goTypes = []any{ +var file_service_proto_enumTypes = make([]protoimpl.EnumInfo, 5) +var file_service_proto_msgTypes = make([]protoimpl.MessageInfo, 250) +var file_service_proto_goTypes = []any{ (ProjectStatus)(0), // 0: service.ProjectStatus (MilestoneStatus)(0), // 1: service.MilestoneStatus (TaskStatus)(0), // 2: service.TaskStatus @@ -16548,7 +14390,7 @@ var file_generated_service_proto_goTypes = []any{ (*wrapperspb.StringValue)(nil), // 257: google.protobuf.StringValue (*wrapperspb.DoubleValue)(nil), // 258: google.protobuf.DoubleValue } -var file_generated_service_proto_depIdxs = []int32{ +var file_service_proto_depIdxs = []int32{ 212, // 0: service.ListOfEmployee.list:type_name -> service.ListOfEmployee.List 213, // 1: service.ListOfInt.list:type_name -> service.ListOfInt.List 214, // 2: service.ListOfListOfListOfTask.list:type_name -> service.ListOfListOfListOfTask.List @@ -16943,3075 +14785,73 @@ var file_generated_service_proto_depIdxs = []int32{ 0, // [0:291] is the sub-list for field type_name } -func init() { file_generated_service_proto_init() } -func file_generated_service_proto_init() { - if File_generated_service_proto != nil { +func init() { file_service_proto_init() } +func file_service_proto_init() { + if File_service_proto != nil { return } - if !protoimpl.UnsafeEnabled { - file_generated_service_proto_msgTypes[0].Exporter = func(v any, i int) any { - switch v := v.(*ListOfEmployee); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_generated_service_proto_msgTypes[1].Exporter = func(v any, i int) any { - switch v := v.(*ListOfInt); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_generated_service_proto_msgTypes[2].Exporter = func(v any, i int) any { - switch v := v.(*ListOfListOfListOfTask); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_generated_service_proto_msgTypes[3].Exporter = func(v any, i int) any { - switch v := v.(*ListOfListOfMilestone); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_generated_service_proto_msgTypes[4].Exporter = func(v any, i int) any { - switch v := v.(*ListOfListOfProject); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_generated_service_proto_msgTypes[5].Exporter = func(v any, i int) any { - switch v := v.(*ListOfListOfProjectResource); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_generated_service_proto_msgTypes[6].Exporter = func(v any, i int) any { - switch v := v.(*ListOfListOfString); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_generated_service_proto_msgTypes[7].Exporter = func(v any, i int) any { - switch v := v.(*ListOfListOfTask); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_generated_service_proto_msgTypes[8].Exporter = func(v any, i int) any { - switch v := v.(*ListOfMilestone); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_generated_service_proto_msgTypes[9].Exporter = func(v any, i int) any { - switch v := v.(*ListOfProject); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_generated_service_proto_msgTypes[10].Exporter = func(v any, i int) any { - switch v := v.(*ListOfProjectResource); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_generated_service_proto_msgTypes[11].Exporter = func(v any, i int) any { - switch v := v.(*ListOfString); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_generated_service_proto_msgTypes[12].Exporter = func(v any, i int) any { - switch v := v.(*ListOfTask); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_generated_service_proto_msgTypes[13].Exporter = func(v any, i int) any { - switch v := v.(*LookupProjectByIdRequestKey); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_generated_service_proto_msgTypes[14].Exporter = func(v any, i int) any { - switch v := v.(*LookupProjectByIdRequest); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_generated_service_proto_msgTypes[15].Exporter = func(v any, i int) any { - switch v := v.(*LookupProjectByIdResponse); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_generated_service_proto_msgTypes[16].Exporter = func(v any, i int) any { - switch v := v.(*LookupMilestoneByIdRequestKey); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_generated_service_proto_msgTypes[17].Exporter = func(v any, i int) any { - switch v := v.(*LookupMilestoneByIdRequest); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_generated_service_proto_msgTypes[18].Exporter = func(v any, i int) any { - switch v := v.(*LookupMilestoneByIdResponse); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_generated_service_proto_msgTypes[19].Exporter = func(v any, i int) any { - switch v := v.(*LookupTaskByIdRequestKey); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_generated_service_proto_msgTypes[20].Exporter = func(v any, i int) any { - switch v := v.(*LookupTaskByIdRequest); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_generated_service_proto_msgTypes[21].Exporter = func(v any, i int) any { - switch v := v.(*LookupTaskByIdResponse); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_generated_service_proto_msgTypes[22].Exporter = func(v any, i int) any { - switch v := v.(*LookupEmployeeByIdRequestKey); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_generated_service_proto_msgTypes[23].Exporter = func(v any, i int) any { - switch v := v.(*LookupEmployeeByIdRequest); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_generated_service_proto_msgTypes[24].Exporter = func(v any, i int) any { - switch v := v.(*LookupEmployeeByIdResponse); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_generated_service_proto_msgTypes[25].Exporter = func(v any, i int) any { - switch v := v.(*LookupProductByUpcRequestKey); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_generated_service_proto_msgTypes[26].Exporter = func(v any, i int) any { - switch v := v.(*LookupProductByUpcRequest); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_generated_service_proto_msgTypes[27].Exporter = func(v any, i int) any { - switch v := v.(*LookupProductByUpcResponse); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_generated_service_proto_msgTypes[28].Exporter = func(v any, i int) any { - switch v := v.(*QueryProjectsRequest); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_generated_service_proto_msgTypes[29].Exporter = func(v any, i int) any { - switch v := v.(*QueryProjectsResponse); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_generated_service_proto_msgTypes[30].Exporter = func(v any, i int) any { - switch v := v.(*QueryProjectRequest); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_generated_service_proto_msgTypes[31].Exporter = func(v any, i int) any { - switch v := v.(*QueryProjectResponse); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_generated_service_proto_msgTypes[32].Exporter = func(v any, i int) any { - switch v := v.(*QueryProjectStatusesRequest); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_generated_service_proto_msgTypes[33].Exporter = func(v any, i int) any { - switch v := v.(*QueryProjectStatusesResponse); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_generated_service_proto_msgTypes[34].Exporter = func(v any, i int) any { - switch v := v.(*QueryProjectsByStatusRequest); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_generated_service_proto_msgTypes[35].Exporter = func(v any, i int) any { - switch v := v.(*QueryProjectsByStatusResponse); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_generated_service_proto_msgTypes[36].Exporter = func(v any, i int) any { - switch v := v.(*QueryProjectResourcesRequest); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_generated_service_proto_msgTypes[37].Exporter = func(v any, i int) any { - switch v := v.(*QueryProjectResourcesResponse); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_generated_service_proto_msgTypes[38].Exporter = func(v any, i int) any { - switch v := v.(*QuerySearchProjectsRequest); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_generated_service_proto_msgTypes[39].Exporter = func(v any, i int) any { - switch v := v.(*QuerySearchProjectsResponse); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_generated_service_proto_msgTypes[40].Exporter = func(v any, i int) any { - switch v := v.(*QueryMilestonesRequest); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_generated_service_proto_msgTypes[41].Exporter = func(v any, i int) any { - switch v := v.(*QueryMilestonesResponse); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_generated_service_proto_msgTypes[42].Exporter = func(v any, i int) any { - switch v := v.(*QueryTasksRequest); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_generated_service_proto_msgTypes[43].Exporter = func(v any, i int) any { - switch v := v.(*QueryTasksResponse); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_generated_service_proto_msgTypes[44].Exporter = func(v any, i int) any { - switch v := v.(*QueryProjectActivitiesRequest); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_generated_service_proto_msgTypes[45].Exporter = func(v any, i int) any { - switch v := v.(*QueryProjectActivitiesResponse); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_generated_service_proto_msgTypes[46].Exporter = func(v any, i int) any { - switch v := v.(*QueryProjectTagsRequest); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_generated_service_proto_msgTypes[47].Exporter = func(v any, i int) any { - switch v := v.(*QueryProjectTagsResponse); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_generated_service_proto_msgTypes[48].Exporter = func(v any, i int) any { - switch v := v.(*QueryArchivedProjectsRequest); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_generated_service_proto_msgTypes[49].Exporter = func(v any, i int) any { - switch v := v.(*QueryArchivedProjectsResponse); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_generated_service_proto_msgTypes[50].Exporter = func(v any, i int) any { - switch v := v.(*QueryTasksByPriorityRequest); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_generated_service_proto_msgTypes[51].Exporter = func(v any, i int) any { - switch v := v.(*QueryTasksByPriorityResponse); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_generated_service_proto_msgTypes[52].Exporter = func(v any, i int) any { - switch v := v.(*QueryResourceMatrixRequest); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_generated_service_proto_msgTypes[53].Exporter = func(v any, i int) any { - switch v := v.(*QueryResourceMatrixResponse); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_generated_service_proto_msgTypes[54].Exporter = func(v any, i int) any { - switch v := v.(*QueryKillServiceRequest); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_generated_service_proto_msgTypes[55].Exporter = func(v any, i int) any { - switch v := v.(*QueryKillServiceResponse); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_generated_service_proto_msgTypes[56].Exporter = func(v any, i int) any { - switch v := v.(*QueryPanicRequest); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_generated_service_proto_msgTypes[57].Exporter = func(v any, i int) any { - switch v := v.(*QueryPanicResponse); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_generated_service_proto_msgTypes[58].Exporter = func(v any, i int) any { - switch v := v.(*QueryNodesByIdRequest); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_generated_service_proto_msgTypes[59].Exporter = func(v any, i int) any { - switch v := v.(*QueryNodesByIdResponse); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_generated_service_proto_msgTypes[60].Exporter = func(v any, i int) any { - switch v := v.(*MutationAddProjectRequest); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_generated_service_proto_msgTypes[61].Exporter = func(v any, i int) any { - switch v := v.(*MutationAddProjectResponse); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_generated_service_proto_msgTypes[62].Exporter = func(v any, i int) any { - switch v := v.(*MutationAddMilestoneRequest); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_generated_service_proto_msgTypes[63].Exporter = func(v any, i int) any { - switch v := v.(*MutationAddMilestoneResponse); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_generated_service_proto_msgTypes[64].Exporter = func(v any, i int) any { - switch v := v.(*MutationAddTaskRequest); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_generated_service_proto_msgTypes[65].Exporter = func(v any, i int) any { - switch v := v.(*MutationAddTaskResponse); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_generated_service_proto_msgTypes[66].Exporter = func(v any, i int) any { - switch v := v.(*MutationUpdateProjectStatusRequest); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_generated_service_proto_msgTypes[67].Exporter = func(v any, i int) any { - switch v := v.(*MutationUpdateProjectStatusResponse); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_generated_service_proto_msgTypes[68].Exporter = func(v any, i int) any { - switch v := v.(*ResolveProjectSubProjectsArgs); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_generated_service_proto_msgTypes[69].Exporter = func(v any, i int) any { - switch v := v.(*ResolveProjectSubProjectsContext); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_generated_service_proto_msgTypes[70].Exporter = func(v any, i int) any { - switch v := v.(*ResolveProjectSubProjectsRequest); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_generated_service_proto_msgTypes[71].Exporter = func(v any, i int) any { - switch v := v.(*ResolveProjectSubProjectsResult); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_generated_service_proto_msgTypes[72].Exporter = func(v any, i int) any { - switch v := v.(*ResolveProjectSubProjectsResponse); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_generated_service_proto_msgTypes[73].Exporter = func(v any, i int) any { - switch v := v.(*ResolveProjectFilteredTasksArgs); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_generated_service_proto_msgTypes[74].Exporter = func(v any, i int) any { - switch v := v.(*ResolveProjectFilteredTasksContext); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_generated_service_proto_msgTypes[75].Exporter = func(v any, i int) any { - switch v := v.(*ResolveProjectFilteredTasksRequest); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_generated_service_proto_msgTypes[76].Exporter = func(v any, i int) any { - switch v := v.(*ResolveProjectFilteredTasksResult); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_generated_service_proto_msgTypes[77].Exporter = func(v any, i int) any { - switch v := v.(*ResolveProjectFilteredTasksResponse); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_generated_service_proto_msgTypes[78].Exporter = func(v any, i int) any { - switch v := v.(*ResolveProjectCompletionRateArgs); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_generated_service_proto_msgTypes[79].Exporter = func(v any, i int) any { - switch v := v.(*ResolveProjectCompletionRateContext); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_generated_service_proto_msgTypes[80].Exporter = func(v any, i int) any { - switch v := v.(*ResolveProjectCompletionRateRequest); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_generated_service_proto_msgTypes[81].Exporter = func(v any, i int) any { - switch v := v.(*ResolveProjectCompletionRateResult); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_generated_service_proto_msgTypes[82].Exporter = func(v any, i int) any { - switch v := v.(*ResolveProjectCompletionRateResponse); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_generated_service_proto_msgTypes[83].Exporter = func(v any, i int) any { - switch v := v.(*ResolveProjectEstimatedDaysRemainingArgs); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_generated_service_proto_msgTypes[84].Exporter = func(v any, i int) any { - switch v := v.(*ResolveProjectEstimatedDaysRemainingContext); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_generated_service_proto_msgTypes[85].Exporter = func(v any, i int) any { - switch v := v.(*ResolveProjectEstimatedDaysRemainingRequest); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_generated_service_proto_msgTypes[86].Exporter = func(v any, i int) any { - switch v := v.(*ResolveProjectEstimatedDaysRemainingResult); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_generated_service_proto_msgTypes[87].Exporter = func(v any, i int) any { - switch v := v.(*ResolveProjectEstimatedDaysRemainingResponse); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_generated_service_proto_msgTypes[88].Exporter = func(v any, i int) any { - switch v := v.(*ResolveProjectCriticalDeadlineArgs); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_generated_service_proto_msgTypes[89].Exporter = func(v any, i int) any { - switch v := v.(*ResolveProjectCriticalDeadlineContext); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_generated_service_proto_msgTypes[90].Exporter = func(v any, i int) any { - switch v := v.(*ResolveProjectCriticalDeadlineRequest); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_generated_service_proto_msgTypes[91].Exporter = func(v any, i int) any { - switch v := v.(*ResolveProjectCriticalDeadlineResult); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_generated_service_proto_msgTypes[92].Exporter = func(v any, i int) any { - switch v := v.(*ResolveProjectCriticalDeadlineResponse); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_generated_service_proto_msgTypes[93].Exporter = func(v any, i int) any { - switch v := v.(*ResolveProjectTopPriorityItemArgs); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_generated_service_proto_msgTypes[94].Exporter = func(v any, i int) any { - switch v := v.(*ResolveProjectTopPriorityItemContext); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_generated_service_proto_msgTypes[95].Exporter = func(v any, i int) any { - switch v := v.(*ResolveProjectTopPriorityItemRequest); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_generated_service_proto_msgTypes[96].Exporter = func(v any, i int) any { - switch v := v.(*ResolveProjectTopPriorityItemResult); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_generated_service_proto_msgTypes[97].Exporter = func(v any, i int) any { - switch v := v.(*ResolveProjectTopPriorityItemResponse); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_generated_service_proto_msgTypes[98].Exporter = func(v any, i int) any { - switch v := v.(*ResolveProjectTaskCountContext); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_generated_service_proto_msgTypes[99].Exporter = func(v any, i int) any { - switch v := v.(*ResolveProjectTaskCountRequest); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_generated_service_proto_msgTypes[100].Exporter = func(v any, i int) any { - switch v := v.(*ResolveProjectTaskCountResult); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_generated_service_proto_msgTypes[101].Exporter = func(v any, i int) any { - switch v := v.(*ResolveProjectTaskCountResponse); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_generated_service_proto_msgTypes[102].Exporter = func(v any, i int) any { - switch v := v.(*ResolveProjectActiveMilestoneCountContext); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_generated_service_proto_msgTypes[103].Exporter = func(v any, i int) any { - switch v := v.(*ResolveProjectActiveMilestoneCountRequest); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_generated_service_proto_msgTypes[104].Exporter = func(v any, i int) any { - switch v := v.(*ResolveProjectActiveMilestoneCountResult); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_generated_service_proto_msgTypes[105].Exporter = func(v any, i int) any { - switch v := v.(*ResolveProjectActiveMilestoneCountResponse); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_generated_service_proto_msgTypes[106].Exporter = func(v any, i int) any { - switch v := v.(*ResolveMilestoneIsAtRiskArgs); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_generated_service_proto_msgTypes[107].Exporter = func(v any, i int) any { - switch v := v.(*ResolveMilestoneIsAtRiskContext); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_generated_service_proto_msgTypes[108].Exporter = func(v any, i int) any { - switch v := v.(*ResolveMilestoneIsAtRiskRequest); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_generated_service_proto_msgTypes[109].Exporter = func(v any, i int) any { - switch v := v.(*ResolveMilestoneIsAtRiskResult); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_generated_service_proto_msgTypes[110].Exporter = func(v any, i int) any { - switch v := v.(*ResolveMilestoneIsAtRiskResponse); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_generated_service_proto_msgTypes[111].Exporter = func(v any, i int) any { - switch v := v.(*ResolveMilestoneDaysUntilDueArgs); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_generated_service_proto_msgTypes[112].Exporter = func(v any, i int) any { - switch v := v.(*ResolveMilestoneDaysUntilDueContext); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_generated_service_proto_msgTypes[113].Exporter = func(v any, i int) any { - switch v := v.(*ResolveMilestoneDaysUntilDueRequest); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_generated_service_proto_msgTypes[114].Exporter = func(v any, i int) any { - switch v := v.(*ResolveMilestoneDaysUntilDueResult); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_generated_service_proto_msgTypes[115].Exporter = func(v any, i int) any { - switch v := v.(*ResolveMilestoneDaysUntilDueResponse); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_generated_service_proto_msgTypes[116].Exporter = func(v any, i int) any { - switch v := v.(*ResolveTaskIsBlockedArgs); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_generated_service_proto_msgTypes[117].Exporter = func(v any, i int) any { - switch v := v.(*ResolveTaskIsBlockedContext); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_generated_service_proto_msgTypes[118].Exporter = func(v any, i int) any { - switch v := v.(*ResolveTaskIsBlockedRequest); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_generated_service_proto_msgTypes[119].Exporter = func(v any, i int) any { - switch v := v.(*ResolveTaskIsBlockedResult); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_generated_service_proto_msgTypes[120].Exporter = func(v any, i int) any { - switch v := v.(*ResolveTaskIsBlockedResponse); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_generated_service_proto_msgTypes[121].Exporter = func(v any, i int) any { - switch v := v.(*ResolveTaskTotalEffortArgs); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_generated_service_proto_msgTypes[122].Exporter = func(v any, i int) any { - switch v := v.(*ResolveTaskTotalEffortContext); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_generated_service_proto_msgTypes[123].Exporter = func(v any, i int) any { - switch v := v.(*ResolveTaskTotalEffortRequest); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_generated_service_proto_msgTypes[124].Exporter = func(v any, i int) any { - switch v := v.(*ResolveTaskTotalEffortResult); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_generated_service_proto_msgTypes[125].Exporter = func(v any, i int) any { - switch v := v.(*ResolveTaskTotalEffortResponse); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_generated_service_proto_msgTypes[126].Exporter = func(v any, i int) any { - switch v := v.(*ResolveEmployeeCurrentWorkloadArgs); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_generated_service_proto_msgTypes[127].Exporter = func(v any, i int) any { - switch v := v.(*ResolveEmployeeCurrentWorkloadContext); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_generated_service_proto_msgTypes[128].Exporter = func(v any, i int) any { - switch v := v.(*ResolveEmployeeCurrentWorkloadRequest); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_generated_service_proto_msgTypes[129].Exporter = func(v any, i int) any { - switch v := v.(*ResolveEmployeeCurrentWorkloadResult); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_generated_service_proto_msgTypes[130].Exporter = func(v any, i int) any { - switch v := v.(*ResolveEmployeeCurrentWorkloadResponse); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_generated_service_proto_msgTypes[131].Exporter = func(v any, i int) any { - switch v := v.(*ResolveEmployeeAverageTaskCompletionDaysArgs); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_generated_service_proto_msgTypes[132].Exporter = func(v any, i int) any { - switch v := v.(*ResolveEmployeeAverageTaskCompletionDaysContext); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_generated_service_proto_msgTypes[133].Exporter = func(v any, i int) any { - switch v := v.(*ResolveEmployeeAverageTaskCompletionDaysRequest); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_generated_service_proto_msgTypes[134].Exporter = func(v any, i int) any { - switch v := v.(*ResolveEmployeeAverageTaskCompletionDaysResult); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_generated_service_proto_msgTypes[135].Exporter = func(v any, i int) any { - switch v := v.(*ResolveEmployeeAverageTaskCompletionDaysResponse); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_generated_service_proto_msgTypes[136].Exporter = func(v any, i int) any { - switch v := v.(*ResolveEmployeeTotalProjectCountContext); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_generated_service_proto_msgTypes[137].Exporter = func(v any, i int) any { - switch v := v.(*ResolveEmployeeTotalProjectCountRequest); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_generated_service_proto_msgTypes[138].Exporter = func(v any, i int) any { - switch v := v.(*ResolveEmployeeTotalProjectCountResult); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_generated_service_proto_msgTypes[139].Exporter = func(v any, i int) any { - switch v := v.(*ResolveEmployeeTotalProjectCountResponse); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_generated_service_proto_msgTypes[140].Exporter = func(v any, i int) any { - switch v := v.(*RequireEmployeeTaggedProjectSummaryByIdRequest); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_generated_service_proto_msgTypes[141].Exporter = func(v any, i int) any { - switch v := v.(*RequireEmployeeTaggedProjectSummaryByIdContext); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_generated_service_proto_msgTypes[142].Exporter = func(v any, i int) any { - switch v := v.(*RequireEmployeeTaggedProjectSummaryByIdResponse); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_generated_service_proto_msgTypes[143].Exporter = func(v any, i int) any { - switch v := v.(*RequireEmployeeTaggedProjectSummaryByIdResult); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_generated_service_proto_msgTypes[144].Exporter = func(v any, i int) any { - switch v := v.(*RequireEmployeeTaggedProjectSummaryByIdFields); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_generated_service_proto_msgTypes[145].Exporter = func(v any, i int) any { - switch v := v.(*RequireEmployeeFilteredProjectSummaryByIdRequest); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_generated_service_proto_msgTypes[146].Exporter = func(v any, i int) any { - switch v := v.(*RequireEmployeeFilteredProjectSummaryByIdContext); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_generated_service_proto_msgTypes[147].Exporter = func(v any, i int) any { - switch v := v.(*RequireEmployeeFilteredProjectSummaryByIdArgs); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_generated_service_proto_msgTypes[148].Exporter = func(v any, i int) any { - switch v := v.(*RequireEmployeeFilteredProjectSummaryByIdResponse); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_generated_service_proto_msgTypes[149].Exporter = func(v any, i int) any { - switch v := v.(*RequireEmployeeFilteredProjectSummaryByIdResult); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_generated_service_proto_msgTypes[150].Exporter = func(v any, i int) any { - switch v := v.(*RequireEmployeeFilteredProjectSummaryByIdFields); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_generated_service_proto_msgTypes[151].Exporter = func(v any, i int) any { - switch v := v.(*RequireEmployeeWorkItemInfoByIdRequest); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_generated_service_proto_msgTypes[152].Exporter = func(v any, i int) any { - switch v := v.(*RequireEmployeeWorkItemInfoByIdContext); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_generated_service_proto_msgTypes[153].Exporter = func(v any, i int) any { - switch v := v.(*RequireEmployeeWorkItemInfoByIdResponse); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_generated_service_proto_msgTypes[154].Exporter = func(v any, i int) any { - switch v := v.(*RequireEmployeeWorkItemInfoByIdResult); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_generated_service_proto_msgTypes[155].Exporter = func(v any, i int) any { - switch v := v.(*RequireEmployeeWorkItemInfoByIdFields); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_generated_service_proto_msgTypes[156].Exporter = func(v any, i int) any { - switch v := v.(*RequireEmployeeReviewReportByIdRequest); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_generated_service_proto_msgTypes[157].Exporter = func(v any, i int) any { - switch v := v.(*RequireEmployeeReviewReportByIdContext); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_generated_service_proto_msgTypes[158].Exporter = func(v any, i int) any { - switch v := v.(*RequireEmployeeReviewReportByIdResponse); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_generated_service_proto_msgTypes[159].Exporter = func(v any, i int) any { - switch v := v.(*RequireEmployeeReviewReportByIdResult); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_generated_service_proto_msgTypes[160].Exporter = func(v any, i int) any { - switch v := v.(*RequireEmployeeReviewReportByIdFields); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_generated_service_proto_msgTypes[161].Exporter = func(v any, i int) any { - switch v := v.(*RequireEmployeeWorkSetupSummaryByIdRequest); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_generated_service_proto_msgTypes[162].Exporter = func(v any, i int) any { - switch v := v.(*RequireEmployeeWorkSetupSummaryByIdContext); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_generated_service_proto_msgTypes[163].Exporter = func(v any, i int) any { - switch v := v.(*RequireEmployeeWorkSetupSummaryByIdResponse); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_generated_service_proto_msgTypes[164].Exporter = func(v any, i int) any { - switch v := v.(*RequireEmployeeWorkSetupSummaryByIdResult); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_generated_service_proto_msgTypes[165].Exporter = func(v any, i int) any { - switch v := v.(*RequireEmployeeWorkSetupSummaryByIdFields); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_generated_service_proto_msgTypes[166].Exporter = func(v any, i int) any { - switch v := v.(*RequireEmployeeWorkItemHandlerInfoByIdRequest); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_generated_service_proto_msgTypes[167].Exporter = func(v any, i int) any { - switch v := v.(*RequireEmployeeWorkItemHandlerInfoByIdContext); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_generated_service_proto_msgTypes[168].Exporter = func(v any, i int) any { - switch v := v.(*RequireEmployeeWorkItemHandlerInfoByIdResponse); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_generated_service_proto_msgTypes[169].Exporter = func(v any, i int) any { - switch v := v.(*RequireEmployeeWorkItemHandlerInfoByIdResult); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_generated_service_proto_msgTypes[170].Exporter = func(v any, i int) any { - switch v := v.(*RequireEmployeeWorkItemHandlerInfoByIdFields); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_generated_service_proto_msgTypes[171].Exporter = func(v any, i int) any { - switch v := v.(*RequireEmployeeWorkItemSpecsInfoByIdRequest); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_generated_service_proto_msgTypes[172].Exporter = func(v any, i int) any { - switch v := v.(*RequireEmployeeWorkItemSpecsInfoByIdContext); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_generated_service_proto_msgTypes[173].Exporter = func(v any, i int) any { - switch v := v.(*RequireEmployeeWorkItemSpecsInfoByIdResponse); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_generated_service_proto_msgTypes[174].Exporter = func(v any, i int) any { - switch v := v.(*RequireEmployeeWorkItemSpecsInfoByIdResult); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_generated_service_proto_msgTypes[175].Exporter = func(v any, i int) any { - switch v := v.(*RequireEmployeeWorkItemSpecsInfoByIdFields); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_generated_service_proto_msgTypes[176].Exporter = func(v any, i int) any { - switch v := v.(*RequireEmployeeDeepWorkItemInfoByIdRequest); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_generated_service_proto_msgTypes[177].Exporter = func(v any, i int) any { - switch v := v.(*RequireEmployeeDeepWorkItemInfoByIdContext); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_generated_service_proto_msgTypes[178].Exporter = func(v any, i int) any { - switch v := v.(*RequireEmployeeDeepWorkItemInfoByIdResponse); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_generated_service_proto_msgTypes[179].Exporter = func(v any, i int) any { - switch v := v.(*RequireEmployeeDeepWorkItemInfoByIdResult); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_generated_service_proto_msgTypes[180].Exporter = func(v any, i int) any { - switch v := v.(*RequireEmployeeDeepWorkItemInfoByIdFields); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_generated_service_proto_msgTypes[181].Exporter = func(v any, i int) any { - switch v := v.(*Project); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_generated_service_proto_msgTypes[182].Exporter = func(v any, i int) any { - switch v := v.(*Milestone); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_generated_service_proto_msgTypes[183].Exporter = func(v any, i int) any { - switch v := v.(*Task); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_generated_service_proto_msgTypes[184].Exporter = func(v any, i int) any { - switch v := v.(*Employee); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_generated_service_proto_msgTypes[185].Exporter = func(v any, i int) any { - switch v := v.(*Product); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_generated_service_proto_msgTypes[186].Exporter = func(v any, i int) any { - switch v := v.(*ProjectResource); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_generated_service_proto_msgTypes[187].Exporter = func(v any, i int) any { - switch v := v.(*ProjectSearchResult); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_generated_service_proto_msgTypes[188].Exporter = func(v any, i int) any { - switch v := v.(*ProjectActivity); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_generated_service_proto_msgTypes[189].Exporter = func(v any, i int) any { - switch v := v.(*Node); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_generated_service_proto_msgTypes[190].Exporter = func(v any, i int) any { - switch v := v.(*ProjectInput); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_generated_service_proto_msgTypes[191].Exporter = func(v any, i int) any { - switch v := v.(*MilestoneInput); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_generated_service_proto_msgTypes[192].Exporter = func(v any, i int) any { - switch v := v.(*TaskInput); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_generated_service_proto_msgTypes[193].Exporter = func(v any, i int) any { - switch v := v.(*ProjectUpdate); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_generated_service_proto_msgTypes[194].Exporter = func(v any, i int) any { - switch v := v.(*Timestamped); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_generated_service_proto_msgTypes[195].Exporter = func(v any, i int) any { - switch v := v.(*Assignable); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_generated_service_proto_msgTypes[196].Exporter = func(v any, i int) any { - switch v := v.(*EmployeeWorkItem); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_generated_service_proto_msgTypes[197].Exporter = func(v any, i int) any { - switch v := v.(*TechnicalWorkItem); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_generated_service_proto_msgTypes[198].Exporter = func(v any, i int) any { - switch v := v.(*ManagementWorkItem); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_generated_service_proto_msgTypes[199].Exporter = func(v any, i int) any { - switch v := v.(*WorkItemHandler); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_generated_service_proto_msgTypes[200].Exporter = func(v any, i int) any { - switch v := v.(*TechnicalSpecs); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_generated_service_proto_msgTypes[201].Exporter = func(v any, i int) any { - switch v := v.(*ManagementSpecs); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_generated_service_proto_msgTypes[202].Exporter = func(v any, i int) any { - switch v := v.(*WorkMetrics); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_generated_service_proto_msgTypes[203].Exporter = func(v any, i int) any { - switch v := v.(*WorkReviewResult); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_generated_service_proto_msgTypes[204].Exporter = func(v any, i int) any { - switch v := v.(*WorkApproval); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_generated_service_proto_msgTypes[205].Exporter = func(v any, i int) any { - switch v := v.(*WorkRejection); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_generated_service_proto_msgTypes[206].Exporter = func(v any, i int) any { - switch v := v.(*WorkSetup); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_generated_service_proto_msgTypes[207].Exporter = func(v any, i int) any { - switch v := v.(*ListOfEmployee_List); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_generated_service_proto_msgTypes[208].Exporter = func(v any, i int) any { - switch v := v.(*ListOfInt_List); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_generated_service_proto_msgTypes[209].Exporter = func(v any, i int) any { - switch v := v.(*ListOfListOfListOfTask_List); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_generated_service_proto_msgTypes[210].Exporter = func(v any, i int) any { - switch v := v.(*ListOfListOfMilestone_List); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_generated_service_proto_msgTypes[211].Exporter = func(v any, i int) any { - switch v := v.(*ListOfListOfProject_List); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_generated_service_proto_msgTypes[212].Exporter = func(v any, i int) any { - switch v := v.(*ListOfListOfProjectResource_List); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_generated_service_proto_msgTypes[213].Exporter = func(v any, i int) any { - switch v := v.(*ListOfListOfString_List); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_generated_service_proto_msgTypes[214].Exporter = func(v any, i int) any { - switch v := v.(*ListOfListOfTask_List); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_generated_service_proto_msgTypes[215].Exporter = func(v any, i int) any { - switch v := v.(*ListOfMilestone_List); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_generated_service_proto_msgTypes[216].Exporter = func(v any, i int) any { - switch v := v.(*ListOfProject_List); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_generated_service_proto_msgTypes[217].Exporter = func(v any, i int) any { - switch v := v.(*ListOfProjectResource_List); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_generated_service_proto_msgTypes[218].Exporter = func(v any, i int) any { - switch v := v.(*ListOfString_List); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_generated_service_proto_msgTypes[219].Exporter = func(v any, i int) any { - switch v := v.(*ListOfTask_List); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_generated_service_proto_msgTypes[220].Exporter = func(v any, i int) any { - switch v := v.(*RequireEmployeeWorkItemInfoByIdFields_TechnicalWorkItem); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_generated_service_proto_msgTypes[221].Exporter = func(v any, i int) any { - switch v := v.(*RequireEmployeeWorkItemInfoByIdFields_ManagementWorkItem); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_generated_service_proto_msgTypes[222].Exporter = func(v any, i int) any { - switch v := v.(*RequireEmployeeWorkItemInfoByIdFields_EmployeeWorkItem); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_generated_service_proto_msgTypes[223].Exporter = func(v any, i int) any { - switch v := v.(*RequireEmployeeReviewReportByIdFields_WorkApproval); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_generated_service_proto_msgTypes[224].Exporter = func(v any, i int) any { - switch v := v.(*RequireEmployeeReviewReportByIdFields_WorkRejection); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_generated_service_proto_msgTypes[225].Exporter = func(v any, i int) any { - switch v := v.(*RequireEmployeeReviewReportByIdFields_WorkReviewResult); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_generated_service_proto_msgTypes[226].Exporter = func(v any, i int) any { - switch v := v.(*RequireEmployeeWorkSetupSummaryByIdFields_WorkSetup); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_generated_service_proto_msgTypes[227].Exporter = func(v any, i int) any { - switch v := v.(*RequireEmployeeWorkSetupSummaryByIdFields_WorkSetup_TechnicalWorkItem); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_generated_service_proto_msgTypes[228].Exporter = func(v any, i int) any { - switch v := v.(*RequireEmployeeWorkSetupSummaryByIdFields_WorkSetup_ManagementWorkItem); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_generated_service_proto_msgTypes[229].Exporter = func(v any, i int) any { - switch v := v.(*RequireEmployeeWorkSetupSummaryByIdFields_WorkSetup_EmployeeWorkItem); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_generated_service_proto_msgTypes[230].Exporter = func(v any, i int) any { - switch v := v.(*RequireEmployeeWorkItemHandlerInfoByIdFields_TechnicalWorkItem); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_generated_service_proto_msgTypes[231].Exporter = func(v any, i int) any { - switch v := v.(*RequireEmployeeWorkItemHandlerInfoByIdFields_ManagementWorkItem); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_generated_service_proto_msgTypes[232].Exporter = func(v any, i int) any { - switch v := v.(*RequireEmployeeWorkItemHandlerInfoByIdFields_EmployeeWorkItem); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_generated_service_proto_msgTypes[233].Exporter = func(v any, i int) any { - switch v := v.(*RequireEmployeeWorkItemHandlerInfoByIdFields_TechnicalWorkItem_WorkItemHandler); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_generated_service_proto_msgTypes[234].Exporter = func(v any, i int) any { - switch v := v.(*RequireEmployeeWorkItemHandlerInfoByIdFields_ManagementWorkItem_WorkItemHandler); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_generated_service_proto_msgTypes[235].Exporter = func(v any, i int) any { - switch v := v.(*RequireEmployeeWorkItemSpecsInfoByIdFields_TechnicalWorkItem); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_generated_service_proto_msgTypes[236].Exporter = func(v any, i int) any { - switch v := v.(*RequireEmployeeWorkItemSpecsInfoByIdFields_ManagementWorkItem); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_generated_service_proto_msgTypes[237].Exporter = func(v any, i int) any { - switch v := v.(*RequireEmployeeWorkItemSpecsInfoByIdFields_EmployeeWorkItem); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_generated_service_proto_msgTypes[238].Exporter = func(v any, i int) any { - switch v := v.(*RequireEmployeeWorkItemSpecsInfoByIdFields_TechnicalWorkItem_TechnicalSpecs); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_generated_service_proto_msgTypes[239].Exporter = func(v any, i int) any { - switch v := v.(*RequireEmployeeWorkItemSpecsInfoByIdFields_TechnicalWorkItem_TechnicalSpecs_WorkMetrics); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_generated_service_proto_msgTypes[240].Exporter = func(v any, i int) any { - switch v := v.(*RequireEmployeeWorkItemSpecsInfoByIdFields_ManagementWorkItem_ManagementSpecs); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_generated_service_proto_msgTypes[241].Exporter = func(v any, i int) any { - switch v := v.(*RequireEmployeeWorkItemSpecsInfoByIdFields_ManagementWorkItem_ManagementSpecs_WorkMetrics); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_generated_service_proto_msgTypes[242].Exporter = func(v any, i int) any { - switch v := v.(*RequireEmployeeDeepWorkItemInfoByIdFields_TechnicalWorkItem); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_generated_service_proto_msgTypes[243].Exporter = func(v any, i int) any { - switch v := v.(*RequireEmployeeDeepWorkItemInfoByIdFields_ManagementWorkItem); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_generated_service_proto_msgTypes[244].Exporter = func(v any, i int) any { - switch v := v.(*RequireEmployeeDeepWorkItemInfoByIdFields_EmployeeWorkItem); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_generated_service_proto_msgTypes[245].Exporter = func(v any, i int) any { - switch v := v.(*RequireEmployeeDeepWorkItemInfoByIdFields_TechnicalWorkItem_WorkItemHandler); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_generated_service_proto_msgTypes[246].Exporter = func(v any, i int) any { - switch v := v.(*RequireEmployeeDeepWorkItemInfoByIdFields_TechnicalWorkItem_WorkItemHandler_ManagementWorkItem); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_generated_service_proto_msgTypes[247].Exporter = func(v any, i int) any { - switch v := v.(*RequireEmployeeDeepWorkItemInfoByIdFields_TechnicalWorkItem_WorkItemHandler_TechnicalWorkItem); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_generated_service_proto_msgTypes[248].Exporter = func(v any, i int) any { - switch v := v.(*RequireEmployeeDeepWorkItemInfoByIdFields_TechnicalWorkItem_WorkItemHandler_EmployeeWorkItem); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_generated_service_proto_msgTypes[249].Exporter = func(v any, i int) any { - switch v := v.(*RequireEmployeeDeepWorkItemInfoByIdFields_ManagementWorkItem_WorkItemHandler); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - } - file_generated_service_proto_msgTypes[186].OneofWrappers = []any{ + file_service_proto_msgTypes[186].OneofWrappers = []any{ (*ProjectResource_Employee)(nil), (*ProjectResource_Product)(nil), (*ProjectResource_Milestone)(nil), (*ProjectResource_Task)(nil), } - file_generated_service_proto_msgTypes[187].OneofWrappers = []any{ + file_service_proto_msgTypes[187].OneofWrappers = []any{ (*ProjectSearchResult_Project)(nil), (*ProjectSearchResult_Milestone)(nil), (*ProjectSearchResult_Task)(nil), } - file_generated_service_proto_msgTypes[188].OneofWrappers = []any{ + file_service_proto_msgTypes[188].OneofWrappers = []any{ (*ProjectActivity_ProjectUpdate)(nil), (*ProjectActivity_Milestone)(nil), (*ProjectActivity_Task)(nil), } - file_generated_service_proto_msgTypes[189].OneofWrappers = []any{ + file_service_proto_msgTypes[189].OneofWrappers = []any{ (*Node_Project)(nil), (*Node_Milestone)(nil), (*Node_Task)(nil), (*Node_ProjectUpdate)(nil), } - file_generated_service_proto_msgTypes[194].OneofWrappers = []any{ + file_service_proto_msgTypes[194].OneofWrappers = []any{ (*Timestamped_Project)(nil), (*Timestamped_Milestone)(nil), } - file_generated_service_proto_msgTypes[195].OneofWrappers = []any{ + file_service_proto_msgTypes[195].OneofWrappers = []any{ (*Assignable_Task)(nil), } - file_generated_service_proto_msgTypes[196].OneofWrappers = []any{ + file_service_proto_msgTypes[196].OneofWrappers = []any{ (*EmployeeWorkItem_TechnicalWorkItem)(nil), (*EmployeeWorkItem_ManagementWorkItem)(nil), } - file_generated_service_proto_msgTypes[203].OneofWrappers = []any{ + file_service_proto_msgTypes[203].OneofWrappers = []any{ (*WorkReviewResult_WorkApproval)(nil), (*WorkReviewResult_WorkRejection)(nil), } - file_generated_service_proto_msgTypes[222].OneofWrappers = []any{ + file_service_proto_msgTypes[222].OneofWrappers = []any{ (*RequireEmployeeWorkItemInfoByIdFields_EmployeeWorkItem_ManagementWorkItem)(nil), (*RequireEmployeeWorkItemInfoByIdFields_EmployeeWorkItem_TechnicalWorkItem)(nil), } - file_generated_service_proto_msgTypes[225].OneofWrappers = []any{ + file_service_proto_msgTypes[225].OneofWrappers = []any{ (*RequireEmployeeReviewReportByIdFields_WorkReviewResult_WorkApproval)(nil), (*RequireEmployeeReviewReportByIdFields_WorkReviewResult_WorkRejection)(nil), } - file_generated_service_proto_msgTypes[229].OneofWrappers = []any{ + file_service_proto_msgTypes[229].OneofWrappers = []any{ (*RequireEmployeeWorkSetupSummaryByIdFields_WorkSetup_EmployeeWorkItem_ManagementWorkItem)(nil), (*RequireEmployeeWorkSetupSummaryByIdFields_WorkSetup_EmployeeWorkItem_TechnicalWorkItem)(nil), } - file_generated_service_proto_msgTypes[232].OneofWrappers = []any{ + file_service_proto_msgTypes[232].OneofWrappers = []any{ (*RequireEmployeeWorkItemHandlerInfoByIdFields_EmployeeWorkItem_ManagementWorkItem)(nil), (*RequireEmployeeWorkItemHandlerInfoByIdFields_EmployeeWorkItem_TechnicalWorkItem)(nil), } - file_generated_service_proto_msgTypes[237].OneofWrappers = []any{ + file_service_proto_msgTypes[237].OneofWrappers = []any{ (*RequireEmployeeWorkItemSpecsInfoByIdFields_EmployeeWorkItem_ManagementWorkItem)(nil), (*RequireEmployeeWorkItemSpecsInfoByIdFields_EmployeeWorkItem_TechnicalWorkItem)(nil), } - file_generated_service_proto_msgTypes[244].OneofWrappers = []any{ + file_service_proto_msgTypes[244].OneofWrappers = []any{ (*RequireEmployeeDeepWorkItemInfoByIdFields_EmployeeWorkItem_ManagementWorkItem)(nil), (*RequireEmployeeDeepWorkItemInfoByIdFields_EmployeeWorkItem_TechnicalWorkItem)(nil), } - file_generated_service_proto_msgTypes[248].OneofWrappers = []any{ + file_service_proto_msgTypes[248].OneofWrappers = []any{ (*RequireEmployeeDeepWorkItemInfoByIdFields_TechnicalWorkItem_WorkItemHandler_EmployeeWorkItem_ManagementWorkItem)(nil), (*RequireEmployeeDeepWorkItemInfoByIdFields_TechnicalWorkItem_WorkItemHandler_EmployeeWorkItem_TechnicalWorkItem)(nil), } @@ -20019,19 +14859,18 @@ func file_generated_service_proto_init() { out := protoimpl.TypeBuilder{ File: protoimpl.DescBuilder{ GoPackagePath: reflect.TypeOf(x{}).PkgPath(), - RawDescriptor: file_generated_service_proto_rawDesc, + RawDescriptor: unsafe.Slice(unsafe.StringData(file_service_proto_rawDesc), len(file_service_proto_rawDesc)), NumEnums: 5, NumMessages: 250, NumExtensions: 0, NumServices: 1, }, - GoTypes: file_generated_service_proto_goTypes, - DependencyIndexes: file_generated_service_proto_depIdxs, - EnumInfos: file_generated_service_proto_enumTypes, - MessageInfos: file_generated_service_proto_msgTypes, + GoTypes: file_service_proto_goTypes, + DependencyIndexes: file_service_proto_depIdxs, + EnumInfos: file_service_proto_enumTypes, + MessageInfos: file_service_proto_msgTypes, }.Build() - File_generated_service_proto = out.File - file_generated_service_proto_rawDesc = nil - file_generated_service_proto_goTypes = nil - file_generated_service_proto_depIdxs = nil + File_service_proto = out.File + file_service_proto_goTypes = nil + file_service_proto_depIdxs = nil } diff --git a/demo/pkg/subgraphs/projects/generated/service_grpc.pb.go b/demo/pkg/subgraphs/projects/generated/service_grpc.pb.go index 9ed376fc33..312ac4248c 100644 --- a/demo/pkg/subgraphs/projects/generated/service_grpc.pb.go +++ b/demo/pkg/subgraphs/projects/generated/service_grpc.pb.go @@ -1,8 +1,8 @@ // Code generated by protoc-gen-go-grpc. DO NOT EDIT. // versions: -// - protoc-gen-go-grpc v1.5.1 -// - protoc v5.29.3 -// source: generated/service.proto +// - protoc-gen-go-grpc v1.6.1 +// - protoc (unknown) +// source: service.proto package projects @@ -688,148 +688,148 @@ type ProjectsServiceServer interface { type UnimplementedProjectsServiceServer struct{} func (UnimplementedProjectsServiceServer) LookupEmployeeById(context.Context, *LookupEmployeeByIdRequest) (*LookupEmployeeByIdResponse, error) { - return nil, status.Errorf(codes.Unimplemented, "method LookupEmployeeById not implemented") + return nil, status.Error(codes.Unimplemented, "method LookupEmployeeById not implemented") } func (UnimplementedProjectsServiceServer) LookupMilestoneById(context.Context, *LookupMilestoneByIdRequest) (*LookupMilestoneByIdResponse, error) { - return nil, status.Errorf(codes.Unimplemented, "method LookupMilestoneById not implemented") + return nil, status.Error(codes.Unimplemented, "method LookupMilestoneById not implemented") } func (UnimplementedProjectsServiceServer) LookupProductByUpc(context.Context, *LookupProductByUpcRequest) (*LookupProductByUpcResponse, error) { - return nil, status.Errorf(codes.Unimplemented, "method LookupProductByUpc not implemented") + return nil, status.Error(codes.Unimplemented, "method LookupProductByUpc not implemented") } func (UnimplementedProjectsServiceServer) LookupProjectById(context.Context, *LookupProjectByIdRequest) (*LookupProjectByIdResponse, error) { - return nil, status.Errorf(codes.Unimplemented, "method LookupProjectById not implemented") + return nil, status.Error(codes.Unimplemented, "method LookupProjectById not implemented") } func (UnimplementedProjectsServiceServer) LookupTaskById(context.Context, *LookupTaskByIdRequest) (*LookupTaskByIdResponse, error) { - return nil, status.Errorf(codes.Unimplemented, "method LookupTaskById not implemented") + return nil, status.Error(codes.Unimplemented, "method LookupTaskById not implemented") } func (UnimplementedProjectsServiceServer) MutationAddMilestone(context.Context, *MutationAddMilestoneRequest) (*MutationAddMilestoneResponse, error) { - return nil, status.Errorf(codes.Unimplemented, "method MutationAddMilestone not implemented") + return nil, status.Error(codes.Unimplemented, "method MutationAddMilestone not implemented") } func (UnimplementedProjectsServiceServer) MutationAddProject(context.Context, *MutationAddProjectRequest) (*MutationAddProjectResponse, error) { - return nil, status.Errorf(codes.Unimplemented, "method MutationAddProject not implemented") + return nil, status.Error(codes.Unimplemented, "method MutationAddProject not implemented") } func (UnimplementedProjectsServiceServer) MutationAddTask(context.Context, *MutationAddTaskRequest) (*MutationAddTaskResponse, error) { - return nil, status.Errorf(codes.Unimplemented, "method MutationAddTask not implemented") + return nil, status.Error(codes.Unimplemented, "method MutationAddTask not implemented") } func (UnimplementedProjectsServiceServer) MutationUpdateProjectStatus(context.Context, *MutationUpdateProjectStatusRequest) (*MutationUpdateProjectStatusResponse, error) { - return nil, status.Errorf(codes.Unimplemented, "method MutationUpdateProjectStatus not implemented") + return nil, status.Error(codes.Unimplemented, "method MutationUpdateProjectStatus not implemented") } func (UnimplementedProjectsServiceServer) QueryArchivedProjects(context.Context, *QueryArchivedProjectsRequest) (*QueryArchivedProjectsResponse, error) { - return nil, status.Errorf(codes.Unimplemented, "method QueryArchivedProjects not implemented") + return nil, status.Error(codes.Unimplemented, "method QueryArchivedProjects not implemented") } func (UnimplementedProjectsServiceServer) QueryKillService(context.Context, *QueryKillServiceRequest) (*QueryKillServiceResponse, error) { - return nil, status.Errorf(codes.Unimplemented, "method QueryKillService not implemented") + return nil, status.Error(codes.Unimplemented, "method QueryKillService not implemented") } func (UnimplementedProjectsServiceServer) QueryMilestones(context.Context, *QueryMilestonesRequest) (*QueryMilestonesResponse, error) { - return nil, status.Errorf(codes.Unimplemented, "method QueryMilestones not implemented") + return nil, status.Error(codes.Unimplemented, "method QueryMilestones not implemented") } func (UnimplementedProjectsServiceServer) QueryNodesById(context.Context, *QueryNodesByIdRequest) (*QueryNodesByIdResponse, error) { - return nil, status.Errorf(codes.Unimplemented, "method QueryNodesById not implemented") + return nil, status.Error(codes.Unimplemented, "method QueryNodesById not implemented") } func (UnimplementedProjectsServiceServer) QueryPanic(context.Context, *QueryPanicRequest) (*QueryPanicResponse, error) { - return nil, status.Errorf(codes.Unimplemented, "method QueryPanic not implemented") + return nil, status.Error(codes.Unimplemented, "method QueryPanic not implemented") } func (UnimplementedProjectsServiceServer) QueryProject(context.Context, *QueryProjectRequest) (*QueryProjectResponse, error) { - return nil, status.Errorf(codes.Unimplemented, "method QueryProject not implemented") + return nil, status.Error(codes.Unimplemented, "method QueryProject not implemented") } func (UnimplementedProjectsServiceServer) QueryProjectActivities(context.Context, *QueryProjectActivitiesRequest) (*QueryProjectActivitiesResponse, error) { - return nil, status.Errorf(codes.Unimplemented, "method QueryProjectActivities not implemented") + return nil, status.Error(codes.Unimplemented, "method QueryProjectActivities not implemented") } func (UnimplementedProjectsServiceServer) QueryProjectResources(context.Context, *QueryProjectResourcesRequest) (*QueryProjectResourcesResponse, error) { - return nil, status.Errorf(codes.Unimplemented, "method QueryProjectResources not implemented") + return nil, status.Error(codes.Unimplemented, "method QueryProjectResources not implemented") } func (UnimplementedProjectsServiceServer) QueryProjectStatuses(context.Context, *QueryProjectStatusesRequest) (*QueryProjectStatusesResponse, error) { - return nil, status.Errorf(codes.Unimplemented, "method QueryProjectStatuses not implemented") + return nil, status.Error(codes.Unimplemented, "method QueryProjectStatuses not implemented") } func (UnimplementedProjectsServiceServer) QueryProjectTags(context.Context, *QueryProjectTagsRequest) (*QueryProjectTagsResponse, error) { - return nil, status.Errorf(codes.Unimplemented, "method QueryProjectTags not implemented") + return nil, status.Error(codes.Unimplemented, "method QueryProjectTags not implemented") } func (UnimplementedProjectsServiceServer) QueryProjects(context.Context, *QueryProjectsRequest) (*QueryProjectsResponse, error) { - return nil, status.Errorf(codes.Unimplemented, "method QueryProjects not implemented") + return nil, status.Error(codes.Unimplemented, "method QueryProjects not implemented") } func (UnimplementedProjectsServiceServer) QueryProjectsByStatus(context.Context, *QueryProjectsByStatusRequest) (*QueryProjectsByStatusResponse, error) { - return nil, status.Errorf(codes.Unimplemented, "method QueryProjectsByStatus not implemented") + return nil, status.Error(codes.Unimplemented, "method QueryProjectsByStatus not implemented") } func (UnimplementedProjectsServiceServer) QueryResourceMatrix(context.Context, *QueryResourceMatrixRequest) (*QueryResourceMatrixResponse, error) { - return nil, status.Errorf(codes.Unimplemented, "method QueryResourceMatrix not implemented") + return nil, status.Error(codes.Unimplemented, "method QueryResourceMatrix not implemented") } func (UnimplementedProjectsServiceServer) QuerySearchProjects(context.Context, *QuerySearchProjectsRequest) (*QuerySearchProjectsResponse, error) { - return nil, status.Errorf(codes.Unimplemented, "method QuerySearchProjects not implemented") + return nil, status.Error(codes.Unimplemented, "method QuerySearchProjects not implemented") } func (UnimplementedProjectsServiceServer) QueryTasks(context.Context, *QueryTasksRequest) (*QueryTasksResponse, error) { - return nil, status.Errorf(codes.Unimplemented, "method QueryTasks not implemented") + return nil, status.Error(codes.Unimplemented, "method QueryTasks not implemented") } func (UnimplementedProjectsServiceServer) QueryTasksByPriority(context.Context, *QueryTasksByPriorityRequest) (*QueryTasksByPriorityResponse, error) { - return nil, status.Errorf(codes.Unimplemented, "method QueryTasksByPriority not implemented") + return nil, status.Error(codes.Unimplemented, "method QueryTasksByPriority not implemented") } func (UnimplementedProjectsServiceServer) RequireEmployeeDeepWorkItemInfoById(context.Context, *RequireEmployeeDeepWorkItemInfoByIdRequest) (*RequireEmployeeDeepWorkItemInfoByIdResponse, error) { - return nil, status.Errorf(codes.Unimplemented, "method RequireEmployeeDeepWorkItemInfoById not implemented") + return nil, status.Error(codes.Unimplemented, "method RequireEmployeeDeepWorkItemInfoById not implemented") } func (UnimplementedProjectsServiceServer) RequireEmployeeFilteredProjectSummaryById(context.Context, *RequireEmployeeFilteredProjectSummaryByIdRequest) (*RequireEmployeeFilteredProjectSummaryByIdResponse, error) { - return nil, status.Errorf(codes.Unimplemented, "method RequireEmployeeFilteredProjectSummaryById not implemented") + return nil, status.Error(codes.Unimplemented, "method RequireEmployeeFilteredProjectSummaryById not implemented") } func (UnimplementedProjectsServiceServer) RequireEmployeeReviewReportById(context.Context, *RequireEmployeeReviewReportByIdRequest) (*RequireEmployeeReviewReportByIdResponse, error) { - return nil, status.Errorf(codes.Unimplemented, "method RequireEmployeeReviewReportById not implemented") + return nil, status.Error(codes.Unimplemented, "method RequireEmployeeReviewReportById not implemented") } func (UnimplementedProjectsServiceServer) RequireEmployeeTaggedProjectSummaryById(context.Context, *RequireEmployeeTaggedProjectSummaryByIdRequest) (*RequireEmployeeTaggedProjectSummaryByIdResponse, error) { - return nil, status.Errorf(codes.Unimplemented, "method RequireEmployeeTaggedProjectSummaryById not implemented") + return nil, status.Error(codes.Unimplemented, "method RequireEmployeeTaggedProjectSummaryById not implemented") } func (UnimplementedProjectsServiceServer) RequireEmployeeWorkItemHandlerInfoById(context.Context, *RequireEmployeeWorkItemHandlerInfoByIdRequest) (*RequireEmployeeWorkItemHandlerInfoByIdResponse, error) { - return nil, status.Errorf(codes.Unimplemented, "method RequireEmployeeWorkItemHandlerInfoById not implemented") + return nil, status.Error(codes.Unimplemented, "method RequireEmployeeWorkItemHandlerInfoById not implemented") } func (UnimplementedProjectsServiceServer) RequireEmployeeWorkItemInfoById(context.Context, *RequireEmployeeWorkItemInfoByIdRequest) (*RequireEmployeeWorkItemInfoByIdResponse, error) { - return nil, status.Errorf(codes.Unimplemented, "method RequireEmployeeWorkItemInfoById not implemented") + return nil, status.Error(codes.Unimplemented, "method RequireEmployeeWorkItemInfoById not implemented") } func (UnimplementedProjectsServiceServer) RequireEmployeeWorkItemSpecsInfoById(context.Context, *RequireEmployeeWorkItemSpecsInfoByIdRequest) (*RequireEmployeeWorkItemSpecsInfoByIdResponse, error) { - return nil, status.Errorf(codes.Unimplemented, "method RequireEmployeeWorkItemSpecsInfoById not implemented") + return nil, status.Error(codes.Unimplemented, "method RequireEmployeeWorkItemSpecsInfoById not implemented") } func (UnimplementedProjectsServiceServer) RequireEmployeeWorkSetupSummaryById(context.Context, *RequireEmployeeWorkSetupSummaryByIdRequest) (*RequireEmployeeWorkSetupSummaryByIdResponse, error) { - return nil, status.Errorf(codes.Unimplemented, "method RequireEmployeeWorkSetupSummaryById not implemented") + return nil, status.Error(codes.Unimplemented, "method RequireEmployeeWorkSetupSummaryById not implemented") } func (UnimplementedProjectsServiceServer) ResolveEmployeeAverageTaskCompletionDays(context.Context, *ResolveEmployeeAverageTaskCompletionDaysRequest) (*ResolveEmployeeAverageTaskCompletionDaysResponse, error) { - return nil, status.Errorf(codes.Unimplemented, "method ResolveEmployeeAverageTaskCompletionDays not implemented") + return nil, status.Error(codes.Unimplemented, "method ResolveEmployeeAverageTaskCompletionDays not implemented") } func (UnimplementedProjectsServiceServer) ResolveEmployeeCurrentWorkload(context.Context, *ResolveEmployeeCurrentWorkloadRequest) (*ResolveEmployeeCurrentWorkloadResponse, error) { - return nil, status.Errorf(codes.Unimplemented, "method ResolveEmployeeCurrentWorkload not implemented") + return nil, status.Error(codes.Unimplemented, "method ResolveEmployeeCurrentWorkload not implemented") } func (UnimplementedProjectsServiceServer) ResolveEmployeeTotalProjectCount(context.Context, *ResolveEmployeeTotalProjectCountRequest) (*ResolveEmployeeTotalProjectCountResponse, error) { - return nil, status.Errorf(codes.Unimplemented, "method ResolveEmployeeTotalProjectCount not implemented") + return nil, status.Error(codes.Unimplemented, "method ResolveEmployeeTotalProjectCount not implemented") } func (UnimplementedProjectsServiceServer) ResolveMilestoneDaysUntilDue(context.Context, *ResolveMilestoneDaysUntilDueRequest) (*ResolveMilestoneDaysUntilDueResponse, error) { - return nil, status.Errorf(codes.Unimplemented, "method ResolveMilestoneDaysUntilDue not implemented") + return nil, status.Error(codes.Unimplemented, "method ResolveMilestoneDaysUntilDue not implemented") } func (UnimplementedProjectsServiceServer) ResolveMilestoneIsAtRisk(context.Context, *ResolveMilestoneIsAtRiskRequest) (*ResolveMilestoneIsAtRiskResponse, error) { - return nil, status.Errorf(codes.Unimplemented, "method ResolveMilestoneIsAtRisk not implemented") + return nil, status.Error(codes.Unimplemented, "method ResolveMilestoneIsAtRisk not implemented") } func (UnimplementedProjectsServiceServer) ResolveProjectActiveMilestoneCount(context.Context, *ResolveProjectActiveMilestoneCountRequest) (*ResolveProjectActiveMilestoneCountResponse, error) { - return nil, status.Errorf(codes.Unimplemented, "method ResolveProjectActiveMilestoneCount not implemented") + return nil, status.Error(codes.Unimplemented, "method ResolveProjectActiveMilestoneCount not implemented") } func (UnimplementedProjectsServiceServer) ResolveProjectCompletionRate(context.Context, *ResolveProjectCompletionRateRequest) (*ResolveProjectCompletionRateResponse, error) { - return nil, status.Errorf(codes.Unimplemented, "method ResolveProjectCompletionRate not implemented") + return nil, status.Error(codes.Unimplemented, "method ResolveProjectCompletionRate not implemented") } func (UnimplementedProjectsServiceServer) ResolveProjectCriticalDeadline(context.Context, *ResolveProjectCriticalDeadlineRequest) (*ResolveProjectCriticalDeadlineResponse, error) { - return nil, status.Errorf(codes.Unimplemented, "method ResolveProjectCriticalDeadline not implemented") + return nil, status.Error(codes.Unimplemented, "method ResolveProjectCriticalDeadline not implemented") } func (UnimplementedProjectsServiceServer) ResolveProjectEstimatedDaysRemaining(context.Context, *ResolveProjectEstimatedDaysRemainingRequest) (*ResolveProjectEstimatedDaysRemainingResponse, error) { - return nil, status.Errorf(codes.Unimplemented, "method ResolveProjectEstimatedDaysRemaining not implemented") + return nil, status.Error(codes.Unimplemented, "method ResolveProjectEstimatedDaysRemaining not implemented") } func (UnimplementedProjectsServiceServer) ResolveProjectFilteredTasks(context.Context, *ResolveProjectFilteredTasksRequest) (*ResolveProjectFilteredTasksResponse, error) { - return nil, status.Errorf(codes.Unimplemented, "method ResolveProjectFilteredTasks not implemented") + return nil, status.Error(codes.Unimplemented, "method ResolveProjectFilteredTasks not implemented") } func (UnimplementedProjectsServiceServer) ResolveProjectSubProjects(context.Context, *ResolveProjectSubProjectsRequest) (*ResolveProjectSubProjectsResponse, error) { - return nil, status.Errorf(codes.Unimplemented, "method ResolveProjectSubProjects not implemented") + return nil, status.Error(codes.Unimplemented, "method ResolveProjectSubProjects not implemented") } func (UnimplementedProjectsServiceServer) ResolveProjectTaskCount(context.Context, *ResolveProjectTaskCountRequest) (*ResolveProjectTaskCountResponse, error) { - return nil, status.Errorf(codes.Unimplemented, "method ResolveProjectTaskCount not implemented") + return nil, status.Error(codes.Unimplemented, "method ResolveProjectTaskCount not implemented") } func (UnimplementedProjectsServiceServer) ResolveProjectTopPriorityItem(context.Context, *ResolveProjectTopPriorityItemRequest) (*ResolveProjectTopPriorityItemResponse, error) { - return nil, status.Errorf(codes.Unimplemented, "method ResolveProjectTopPriorityItem not implemented") + return nil, status.Error(codes.Unimplemented, "method ResolveProjectTopPriorityItem not implemented") } func (UnimplementedProjectsServiceServer) ResolveTaskIsBlocked(context.Context, *ResolveTaskIsBlockedRequest) (*ResolveTaskIsBlockedResponse, error) { - return nil, status.Errorf(codes.Unimplemented, "method ResolveTaskIsBlocked not implemented") + return nil, status.Error(codes.Unimplemented, "method ResolveTaskIsBlocked not implemented") } func (UnimplementedProjectsServiceServer) ResolveTaskTotalEffort(context.Context, *ResolveTaskTotalEffortRequest) (*ResolveTaskTotalEffortResponse, error) { - return nil, status.Errorf(codes.Unimplemented, "method ResolveTaskTotalEffort not implemented") + return nil, status.Error(codes.Unimplemented, "method ResolveTaskTotalEffort not implemented") } func (UnimplementedProjectsServiceServer) mustEmbedUnimplementedProjectsServiceServer() {} func (UnimplementedProjectsServiceServer) testEmbeddedByValue() {} @@ -842,7 +842,7 @@ type UnsafeProjectsServiceServer interface { } func RegisterProjectsServiceServer(s grpc.ServiceRegistrar, srv ProjectsServiceServer) { - // If the following call pancis, it indicates UnimplementedProjectsServiceServer was + // If the following call panics, it indicates UnimplementedProjectsServiceServer was // embedded by pointer and is nil. This will cause panics if an // unimplemented method is ever invoked, so we test this at initialization // time to prevent it from happening at runtime later due to I/O. @@ -1917,5 +1917,5 @@ var ProjectsService_ServiceDesc = grpc.ServiceDesc{ }, }, Streams: []grpc.StreamDesc{}, - Metadata: "generated/service.proto", + Metadata: "service.proto", } diff --git a/demo/pkg/subgraphs/projects/go.mod b/demo/pkg/subgraphs/projects/go.mod index 53c0a3235a..6b95a44cb7 100644 --- a/demo/pkg/subgraphs/projects/go.mod +++ b/demo/pkg/subgraphs/projects/go.mod @@ -3,11 +3,13 @@ module github.com/wundergraph/cosmo/demo/pkg/subgraphs/projects go 1.25 require ( + connectrpc.com/connect v1.19.2 github.com/hashicorp/go-hclog v1.6.3 github.com/stretchr/testify v1.10.0 github.com/wundergraph/cosmo/router-plugin v0.0.0-20250808194725-de123ba1c65e + golang.org/x/net v0.38.0 google.golang.org/grpc v1.68.1 - google.golang.org/protobuf v1.36.5 + google.golang.org/protobuf v1.36.9 ) require ( @@ -36,7 +38,6 @@ require ( go.opentelemetry.io/otel/sdk v1.28.0 // indirect go.opentelemetry.io/otel/trace v1.28.0 // indirect go.opentelemetry.io/proto/otlp v1.1.0 // indirect - golang.org/x/net v0.38.0 // indirect golang.org/x/sys v0.31.0 // indirect golang.org/x/text v0.23.0 // indirect google.golang.org/genproto/googleapis/api v0.0.0-20250106144421-5f5ef82da422 // indirect diff --git a/demo/pkg/subgraphs/projects/go.sum b/demo/pkg/subgraphs/projects/go.sum index d9f7217abd..9b952bad5d 100644 --- a/demo/pkg/subgraphs/projects/go.sum +++ b/demo/pkg/subgraphs/projects/go.sum @@ -1,3 +1,5 @@ +connectrpc.com/connect v1.19.2 h1:McQ83FGdzL+t60peksi0gXC7MQ/iLKgLduAnThbM0mo= +connectrpc.com/connect v1.19.2/go.mod h1:tN20fjdGlewnSFeZxLKb0xwIZ6ozc3OQs2hTXy4du9w= github.com/bufbuild/protocompile v0.4.0 h1:LbFKd2XowZvQ/kajzguUp2DC9UEIQhIq77fZZlaQsNA= github.com/bufbuild/protocompile v0.4.0/go.mod h1:3v93+mbWn/v3xzN+31nwkJfrEpAUwp+BagBSZWx+TP8= github.com/cenkalti/backoff/v4 v4.2.1 h1:y4OZtCnogmCPw98Zjyt5a6+QwPLGkiQsYW5oUqylYbM= @@ -95,8 +97,8 @@ google.golang.org/genproto/googleapis/rpc v0.0.0-20250218202821-56aae31c358a h1: google.golang.org/genproto/googleapis/rpc v0.0.0-20250218202821-56aae31c358a/go.mod h1:uRxBH1mhmO8PGhU89cMcHaXKZqO+OfakD8QQO0oYwlQ= google.golang.org/grpc v1.68.1 h1:oI5oTa11+ng8r8XMMN7jAOmWfPZWbYpCFaMUTACxkM0= google.golang.org/grpc v1.68.1/go.mod h1:+q1XYFJjShcqn0QZHvCyeR4CXPA+llXIeUIfIe00waw= -google.golang.org/protobuf v1.36.5 h1:tPhr+woSbjfYvY6/GPufUoYizxw1cF/yFoxJ2fmpwlM= -google.golang.org/protobuf v1.36.5/go.mod h1:9fA7Ob0pmnwhb644+1+CVWFRbNajQ6iRojtC/QF5bRE= +google.golang.org/protobuf v1.36.9 h1:w2gp2mA27hUeUzj9Ex9FBjsBm40zfaDtEWow293U7Iw= +google.golang.org/protobuf v1.36.9/go.mod h1:fuxRtAxBytpl4zzqUh6/eyUujkJdNiuEkXntxiD/uRU= gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c h1:Hei/4ADfdWqJk1ZMxUNpqntNwaWcugrBjAiHlqqRiVk= gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c/go.mod h1:JHkPIbrfpd72SG/EVd6muEfDQjcINNoR0C8j2r3qZ4Q= diff --git a/demo/pkg/subgraphs/projects/src/service/service_connect.go b/demo/pkg/subgraphs/projects/src/service/service_connect.go new file mode 100644 index 0000000000..c1e110f02c --- /dev/null +++ b/demo/pkg/subgraphs/projects/src/service/service_connect.go @@ -0,0 +1,464 @@ +// This file is auto-generated by `python3 generate_connect_adapter.py`. +// It bridges ProjectsService (the gRPC implementation) onto the +// ConnectRPC handler interface so the same backing implementation can +// serve Connect, gRPC, and gRPC-Web from a single HTTP handler. +// +// To regenerate after editing service.go or service_resolve.go run: +// make generate-connect-adapter + +package service + +import ( + "context" + + "connectrpc.com/connect" + + service "github.com/wundergraph/cosmo/demo/pkg/subgraphs/projects/generated" + "github.com/wundergraph/cosmo/demo/pkg/subgraphs/projects/generated/projectsconnect" +) + +// ProjectsConnectService adapts ProjectsService to the ConnectRPC +// handler interface defined in projectsconnect. +type ProjectsConnectService struct { + projectsconnect.UnimplementedProjectsServiceHandler + inner *ProjectsService +} + +// NewProjectsConnectService wraps an existing ProjectsService. +func NewProjectsConnectService(inner *ProjectsService) *ProjectsConnectService { + return &ProjectsConnectService{inner: inner} +} + +var _ projectsconnect.ProjectsServiceHandler = (*ProjectsConnectService)(nil) + +// LookupEmployeeById forwards the Connect call to the gRPC implementation. +func (p *ProjectsConnectService) LookupEmployeeById(ctx context.Context, req *connect.Request[service.LookupEmployeeByIdRequest]) (*connect.Response[service.LookupEmployeeByIdResponse], error) { + resp, err := p.inner.LookupEmployeeById(ctx, req.Msg) + if err != nil { + return nil, err + } + return connect.NewResponse(resp), nil +} + +// LookupMilestoneById forwards the Connect call to the gRPC implementation. +func (p *ProjectsConnectService) LookupMilestoneById(ctx context.Context, req *connect.Request[service.LookupMilestoneByIdRequest]) (*connect.Response[service.LookupMilestoneByIdResponse], error) { + resp, err := p.inner.LookupMilestoneById(ctx, req.Msg) + if err != nil { + return nil, err + } + return connect.NewResponse(resp), nil +} + +// LookupProductByUpc forwards the Connect call to the gRPC implementation. +func (p *ProjectsConnectService) LookupProductByUpc(ctx context.Context, req *connect.Request[service.LookupProductByUpcRequest]) (*connect.Response[service.LookupProductByUpcResponse], error) { + resp, err := p.inner.LookupProductByUpc(ctx, req.Msg) + if err != nil { + return nil, err + } + return connect.NewResponse(resp), nil +} + +// LookupProjectById forwards the Connect call to the gRPC implementation. +func (p *ProjectsConnectService) LookupProjectById(ctx context.Context, req *connect.Request[service.LookupProjectByIdRequest]) (*connect.Response[service.LookupProjectByIdResponse], error) { + resp, err := p.inner.LookupProjectById(ctx, req.Msg) + if err != nil { + return nil, err + } + return connect.NewResponse(resp), nil +} + +// LookupTaskById forwards the Connect call to the gRPC implementation. +func (p *ProjectsConnectService) LookupTaskById(ctx context.Context, req *connect.Request[service.LookupTaskByIdRequest]) (*connect.Response[service.LookupTaskByIdResponse], error) { + resp, err := p.inner.LookupTaskById(ctx, req.Msg) + if err != nil { + return nil, err + } + return connect.NewResponse(resp), nil +} + +// MutationAddMilestone forwards the Connect call to the gRPC implementation. +func (p *ProjectsConnectService) MutationAddMilestone(ctx context.Context, req *connect.Request[service.MutationAddMilestoneRequest]) (*connect.Response[service.MutationAddMilestoneResponse], error) { + resp, err := p.inner.MutationAddMilestone(ctx, req.Msg) + if err != nil { + return nil, err + } + return connect.NewResponse(resp), nil +} + +// MutationAddProject forwards the Connect call to the gRPC implementation. +func (p *ProjectsConnectService) MutationAddProject(ctx context.Context, req *connect.Request[service.MutationAddProjectRequest]) (*connect.Response[service.MutationAddProjectResponse], error) { + resp, err := p.inner.MutationAddProject(ctx, req.Msg) + if err != nil { + return nil, err + } + return connect.NewResponse(resp), nil +} + +// MutationAddTask forwards the Connect call to the gRPC implementation. +func (p *ProjectsConnectService) MutationAddTask(ctx context.Context, req *connect.Request[service.MutationAddTaskRequest]) (*connect.Response[service.MutationAddTaskResponse], error) { + resp, err := p.inner.MutationAddTask(ctx, req.Msg) + if err != nil { + return nil, err + } + return connect.NewResponse(resp), nil +} + +// MutationUpdateProjectStatus forwards the Connect call to the gRPC implementation. +func (p *ProjectsConnectService) MutationUpdateProjectStatus(ctx context.Context, req *connect.Request[service.MutationUpdateProjectStatusRequest]) (*connect.Response[service.MutationUpdateProjectStatusResponse], error) { + resp, err := p.inner.MutationUpdateProjectStatus(ctx, req.Msg) + if err != nil { + return nil, err + } + return connect.NewResponse(resp), nil +} + +// QueryArchivedProjects forwards the Connect call to the gRPC implementation. +func (p *ProjectsConnectService) QueryArchivedProjects(ctx context.Context, req *connect.Request[service.QueryArchivedProjectsRequest]) (*connect.Response[service.QueryArchivedProjectsResponse], error) { + resp, err := p.inner.QueryArchivedProjects(ctx, req.Msg) + if err != nil { + return nil, err + } + return connect.NewResponse(resp), nil +} + +// QueryKillService forwards the Connect call to the gRPC implementation. +func (p *ProjectsConnectService) QueryKillService(ctx context.Context, req *connect.Request[service.QueryKillServiceRequest]) (*connect.Response[service.QueryKillServiceResponse], error) { + resp, err := p.inner.QueryKillService(ctx, req.Msg) + if err != nil { + return nil, err + } + return connect.NewResponse(resp), nil +} + +// QueryMilestones forwards the Connect call to the gRPC implementation. +func (p *ProjectsConnectService) QueryMilestones(ctx context.Context, req *connect.Request[service.QueryMilestonesRequest]) (*connect.Response[service.QueryMilestonesResponse], error) { + resp, err := p.inner.QueryMilestones(ctx, req.Msg) + if err != nil { + return nil, err + } + return connect.NewResponse(resp), nil +} + +// QueryNodesById forwards the Connect call to the gRPC implementation. +func (p *ProjectsConnectService) QueryNodesById(ctx context.Context, req *connect.Request[service.QueryNodesByIdRequest]) (*connect.Response[service.QueryNodesByIdResponse], error) { + resp, err := p.inner.QueryNodesById(ctx, req.Msg) + if err != nil { + return nil, err + } + return connect.NewResponse(resp), nil +} + +// QueryPanic forwards the Connect call to the gRPC implementation. +func (p *ProjectsConnectService) QueryPanic(ctx context.Context, req *connect.Request[service.QueryPanicRequest]) (*connect.Response[service.QueryPanicResponse], error) { + resp, err := p.inner.QueryPanic(ctx, req.Msg) + if err != nil { + return nil, err + } + return connect.NewResponse(resp), nil +} + +// QueryProject forwards the Connect call to the gRPC implementation. +func (p *ProjectsConnectService) QueryProject(ctx context.Context, req *connect.Request[service.QueryProjectRequest]) (*connect.Response[service.QueryProjectResponse], error) { + resp, err := p.inner.QueryProject(ctx, req.Msg) + if err != nil { + return nil, err + } + return connect.NewResponse(resp), nil +} + +// QueryProjectActivities forwards the Connect call to the gRPC implementation. +func (p *ProjectsConnectService) QueryProjectActivities(ctx context.Context, req *connect.Request[service.QueryProjectActivitiesRequest]) (*connect.Response[service.QueryProjectActivitiesResponse], error) { + resp, err := p.inner.QueryProjectActivities(ctx, req.Msg) + if err != nil { + return nil, err + } + return connect.NewResponse(resp), nil +} + +// QueryProjectResources forwards the Connect call to the gRPC implementation. +func (p *ProjectsConnectService) QueryProjectResources(ctx context.Context, req *connect.Request[service.QueryProjectResourcesRequest]) (*connect.Response[service.QueryProjectResourcesResponse], error) { + resp, err := p.inner.QueryProjectResources(ctx, req.Msg) + if err != nil { + return nil, err + } + return connect.NewResponse(resp), nil +} + +// QueryProjectStatuses forwards the Connect call to the gRPC implementation. +func (p *ProjectsConnectService) QueryProjectStatuses(ctx context.Context, req *connect.Request[service.QueryProjectStatusesRequest]) (*connect.Response[service.QueryProjectStatusesResponse], error) { + resp, err := p.inner.QueryProjectStatuses(ctx, req.Msg) + if err != nil { + return nil, err + } + return connect.NewResponse(resp), nil +} + +// QueryProjectTags forwards the Connect call to the gRPC implementation. +func (p *ProjectsConnectService) QueryProjectTags(ctx context.Context, req *connect.Request[service.QueryProjectTagsRequest]) (*connect.Response[service.QueryProjectTagsResponse], error) { + resp, err := p.inner.QueryProjectTags(ctx, req.Msg) + if err != nil { + return nil, err + } + return connect.NewResponse(resp), nil +} + +// QueryProjects forwards the Connect call to the gRPC implementation. +func (p *ProjectsConnectService) QueryProjects(ctx context.Context, req *connect.Request[service.QueryProjectsRequest]) (*connect.Response[service.QueryProjectsResponse], error) { + resp, err := p.inner.QueryProjects(ctx, req.Msg) + if err != nil { + return nil, err + } + return connect.NewResponse(resp), nil +} + +// QueryProjectsByStatus forwards the Connect call to the gRPC implementation. +func (p *ProjectsConnectService) QueryProjectsByStatus(ctx context.Context, req *connect.Request[service.QueryProjectsByStatusRequest]) (*connect.Response[service.QueryProjectsByStatusResponse], error) { + resp, err := p.inner.QueryProjectsByStatus(ctx, req.Msg) + if err != nil { + return nil, err + } + return connect.NewResponse(resp), nil +} + +// QueryResourceMatrix forwards the Connect call to the gRPC implementation. +func (p *ProjectsConnectService) QueryResourceMatrix(ctx context.Context, req *connect.Request[service.QueryResourceMatrixRequest]) (*connect.Response[service.QueryResourceMatrixResponse], error) { + resp, err := p.inner.QueryResourceMatrix(ctx, req.Msg) + if err != nil { + return nil, err + } + return connect.NewResponse(resp), nil +} + +// QuerySearchProjects forwards the Connect call to the gRPC implementation. +func (p *ProjectsConnectService) QuerySearchProjects(ctx context.Context, req *connect.Request[service.QuerySearchProjectsRequest]) (*connect.Response[service.QuerySearchProjectsResponse], error) { + resp, err := p.inner.QuerySearchProjects(ctx, req.Msg) + if err != nil { + return nil, err + } + return connect.NewResponse(resp), nil +} + +// QueryTasks forwards the Connect call to the gRPC implementation. +func (p *ProjectsConnectService) QueryTasks(ctx context.Context, req *connect.Request[service.QueryTasksRequest]) (*connect.Response[service.QueryTasksResponse], error) { + resp, err := p.inner.QueryTasks(ctx, req.Msg) + if err != nil { + return nil, err + } + return connect.NewResponse(resp), nil +} + +// QueryTasksByPriority forwards the Connect call to the gRPC implementation. +func (p *ProjectsConnectService) QueryTasksByPriority(ctx context.Context, req *connect.Request[service.QueryTasksByPriorityRequest]) (*connect.Response[service.QueryTasksByPriorityResponse], error) { + resp, err := p.inner.QueryTasksByPriority(ctx, req.Msg) + if err != nil { + return nil, err + } + return connect.NewResponse(resp), nil +} + +// RequireEmployeeDeepWorkItemInfoById forwards the Connect call to the gRPC implementation. +func (p *ProjectsConnectService) RequireEmployeeDeepWorkItemInfoById(ctx context.Context, req *connect.Request[service.RequireEmployeeDeepWorkItemInfoByIdRequest]) (*connect.Response[service.RequireEmployeeDeepWorkItemInfoByIdResponse], error) { + resp, err := p.inner.RequireEmployeeDeepWorkItemInfoById(ctx, req.Msg) + if err != nil { + return nil, err + } + return connect.NewResponse(resp), nil +} + +// RequireEmployeeFilteredProjectSummaryById forwards the Connect call to the gRPC implementation. +func (p *ProjectsConnectService) RequireEmployeeFilteredProjectSummaryById(ctx context.Context, req *connect.Request[service.RequireEmployeeFilteredProjectSummaryByIdRequest]) (*connect.Response[service.RequireEmployeeFilteredProjectSummaryByIdResponse], error) { + resp, err := p.inner.RequireEmployeeFilteredProjectSummaryById(ctx, req.Msg) + if err != nil { + return nil, err + } + return connect.NewResponse(resp), nil +} + +// RequireEmployeeReviewReportById forwards the Connect call to the gRPC implementation. +func (p *ProjectsConnectService) RequireEmployeeReviewReportById(ctx context.Context, req *connect.Request[service.RequireEmployeeReviewReportByIdRequest]) (*connect.Response[service.RequireEmployeeReviewReportByIdResponse], error) { + resp, err := p.inner.RequireEmployeeReviewReportById(ctx, req.Msg) + if err != nil { + return nil, err + } + return connect.NewResponse(resp), nil +} + +// RequireEmployeeTaggedProjectSummaryById forwards the Connect call to the gRPC implementation. +func (p *ProjectsConnectService) RequireEmployeeTaggedProjectSummaryById(ctx context.Context, req *connect.Request[service.RequireEmployeeTaggedProjectSummaryByIdRequest]) (*connect.Response[service.RequireEmployeeTaggedProjectSummaryByIdResponse], error) { + resp, err := p.inner.RequireEmployeeTaggedProjectSummaryById(ctx, req.Msg) + if err != nil { + return nil, err + } + return connect.NewResponse(resp), nil +} + +// RequireEmployeeWorkItemHandlerInfoById forwards the Connect call to the gRPC implementation. +func (p *ProjectsConnectService) RequireEmployeeWorkItemHandlerInfoById(ctx context.Context, req *connect.Request[service.RequireEmployeeWorkItemHandlerInfoByIdRequest]) (*connect.Response[service.RequireEmployeeWorkItemHandlerInfoByIdResponse], error) { + resp, err := p.inner.RequireEmployeeWorkItemHandlerInfoById(ctx, req.Msg) + if err != nil { + return nil, err + } + return connect.NewResponse(resp), nil +} + +// RequireEmployeeWorkItemInfoById forwards the Connect call to the gRPC implementation. +func (p *ProjectsConnectService) RequireEmployeeWorkItemInfoById(ctx context.Context, req *connect.Request[service.RequireEmployeeWorkItemInfoByIdRequest]) (*connect.Response[service.RequireEmployeeWorkItemInfoByIdResponse], error) { + resp, err := p.inner.RequireEmployeeWorkItemInfoById(ctx, req.Msg) + if err != nil { + return nil, err + } + return connect.NewResponse(resp), nil +} + +// RequireEmployeeWorkItemSpecsInfoById forwards the Connect call to the gRPC implementation. +func (p *ProjectsConnectService) RequireEmployeeWorkItemSpecsInfoById(ctx context.Context, req *connect.Request[service.RequireEmployeeWorkItemSpecsInfoByIdRequest]) (*connect.Response[service.RequireEmployeeWorkItemSpecsInfoByIdResponse], error) { + resp, err := p.inner.RequireEmployeeWorkItemSpecsInfoById(ctx, req.Msg) + if err != nil { + return nil, err + } + return connect.NewResponse(resp), nil +} + +// RequireEmployeeWorkSetupSummaryById forwards the Connect call to the gRPC implementation. +func (p *ProjectsConnectService) RequireEmployeeWorkSetupSummaryById(ctx context.Context, req *connect.Request[service.RequireEmployeeWorkSetupSummaryByIdRequest]) (*connect.Response[service.RequireEmployeeWorkSetupSummaryByIdResponse], error) { + resp, err := p.inner.RequireEmployeeWorkSetupSummaryById(ctx, req.Msg) + if err != nil { + return nil, err + } + return connect.NewResponse(resp), nil +} + +// ResolveEmployeeAverageTaskCompletionDays forwards the Connect call to the gRPC implementation. +func (p *ProjectsConnectService) ResolveEmployeeAverageTaskCompletionDays(ctx context.Context, req *connect.Request[service.ResolveEmployeeAverageTaskCompletionDaysRequest]) (*connect.Response[service.ResolveEmployeeAverageTaskCompletionDaysResponse], error) { + resp, err := p.inner.ResolveEmployeeAverageTaskCompletionDays(ctx, req.Msg) + if err != nil { + return nil, err + } + return connect.NewResponse(resp), nil +} + +// ResolveEmployeeCurrentWorkload forwards the Connect call to the gRPC implementation. +func (p *ProjectsConnectService) ResolveEmployeeCurrentWorkload(ctx context.Context, req *connect.Request[service.ResolveEmployeeCurrentWorkloadRequest]) (*connect.Response[service.ResolveEmployeeCurrentWorkloadResponse], error) { + resp, err := p.inner.ResolveEmployeeCurrentWorkload(ctx, req.Msg) + if err != nil { + return nil, err + } + return connect.NewResponse(resp), nil +} + +// ResolveEmployeeTotalProjectCount forwards the Connect call to the gRPC implementation. +func (p *ProjectsConnectService) ResolveEmployeeTotalProjectCount(ctx context.Context, req *connect.Request[service.ResolveEmployeeTotalProjectCountRequest]) (*connect.Response[service.ResolveEmployeeTotalProjectCountResponse], error) { + resp, err := p.inner.ResolveEmployeeTotalProjectCount(ctx, req.Msg) + if err != nil { + return nil, err + } + return connect.NewResponse(resp), nil +} + +// ResolveMilestoneDaysUntilDue forwards the Connect call to the gRPC implementation. +func (p *ProjectsConnectService) ResolveMilestoneDaysUntilDue(ctx context.Context, req *connect.Request[service.ResolveMilestoneDaysUntilDueRequest]) (*connect.Response[service.ResolveMilestoneDaysUntilDueResponse], error) { + resp, err := p.inner.ResolveMilestoneDaysUntilDue(ctx, req.Msg) + if err != nil { + return nil, err + } + return connect.NewResponse(resp), nil +} + +// ResolveMilestoneIsAtRisk forwards the Connect call to the gRPC implementation. +func (p *ProjectsConnectService) ResolveMilestoneIsAtRisk(ctx context.Context, req *connect.Request[service.ResolveMilestoneIsAtRiskRequest]) (*connect.Response[service.ResolveMilestoneIsAtRiskResponse], error) { + resp, err := p.inner.ResolveMilestoneIsAtRisk(ctx, req.Msg) + if err != nil { + return nil, err + } + return connect.NewResponse(resp), nil +} + +// ResolveProjectActiveMilestoneCount forwards the Connect call to the gRPC implementation. +func (p *ProjectsConnectService) ResolveProjectActiveMilestoneCount(ctx context.Context, req *connect.Request[service.ResolveProjectActiveMilestoneCountRequest]) (*connect.Response[service.ResolveProjectActiveMilestoneCountResponse], error) { + resp, err := p.inner.ResolveProjectActiveMilestoneCount(ctx, req.Msg) + if err != nil { + return nil, err + } + return connect.NewResponse(resp), nil +} + +// ResolveProjectCompletionRate forwards the Connect call to the gRPC implementation. +func (p *ProjectsConnectService) ResolveProjectCompletionRate(ctx context.Context, req *connect.Request[service.ResolveProjectCompletionRateRequest]) (*connect.Response[service.ResolveProjectCompletionRateResponse], error) { + resp, err := p.inner.ResolveProjectCompletionRate(ctx, req.Msg) + if err != nil { + return nil, err + } + return connect.NewResponse(resp), nil +} + +// ResolveProjectCriticalDeadline forwards the Connect call to the gRPC implementation. +func (p *ProjectsConnectService) ResolveProjectCriticalDeadline(ctx context.Context, req *connect.Request[service.ResolveProjectCriticalDeadlineRequest]) (*connect.Response[service.ResolveProjectCriticalDeadlineResponse], error) { + resp, err := p.inner.ResolveProjectCriticalDeadline(ctx, req.Msg) + if err != nil { + return nil, err + } + return connect.NewResponse(resp), nil +} + +// ResolveProjectEstimatedDaysRemaining forwards the Connect call to the gRPC implementation. +func (p *ProjectsConnectService) ResolveProjectEstimatedDaysRemaining(ctx context.Context, req *connect.Request[service.ResolveProjectEstimatedDaysRemainingRequest]) (*connect.Response[service.ResolveProjectEstimatedDaysRemainingResponse], error) { + resp, err := p.inner.ResolveProjectEstimatedDaysRemaining(ctx, req.Msg) + if err != nil { + return nil, err + } + return connect.NewResponse(resp), nil +} + +// ResolveProjectFilteredTasks forwards the Connect call to the gRPC implementation. +func (p *ProjectsConnectService) ResolveProjectFilteredTasks(ctx context.Context, req *connect.Request[service.ResolveProjectFilteredTasksRequest]) (*connect.Response[service.ResolveProjectFilteredTasksResponse], error) { + resp, err := p.inner.ResolveProjectFilteredTasks(ctx, req.Msg) + if err != nil { + return nil, err + } + return connect.NewResponse(resp), nil +} + +// ResolveProjectSubProjects forwards the Connect call to the gRPC implementation. +func (p *ProjectsConnectService) ResolveProjectSubProjects(ctx context.Context, req *connect.Request[service.ResolveProjectSubProjectsRequest]) (*connect.Response[service.ResolveProjectSubProjectsResponse], error) { + resp, err := p.inner.ResolveProjectSubProjects(ctx, req.Msg) + if err != nil { + return nil, err + } + return connect.NewResponse(resp), nil +} + +// ResolveProjectTaskCount forwards the Connect call to the gRPC implementation. +func (p *ProjectsConnectService) ResolveProjectTaskCount(ctx context.Context, req *connect.Request[service.ResolveProjectTaskCountRequest]) (*connect.Response[service.ResolveProjectTaskCountResponse], error) { + resp, err := p.inner.ResolveProjectTaskCount(ctx, req.Msg) + if err != nil { + return nil, err + } + return connect.NewResponse(resp), nil +} + +// ResolveProjectTopPriorityItem forwards the Connect call to the gRPC implementation. +func (p *ProjectsConnectService) ResolveProjectTopPriorityItem(ctx context.Context, req *connect.Request[service.ResolveProjectTopPriorityItemRequest]) (*connect.Response[service.ResolveProjectTopPriorityItemResponse], error) { + resp, err := p.inner.ResolveProjectTopPriorityItem(ctx, req.Msg) + if err != nil { + return nil, err + } + return connect.NewResponse(resp), nil +} + +// ResolveTaskIsBlocked forwards the Connect call to the gRPC implementation. +func (p *ProjectsConnectService) ResolveTaskIsBlocked(ctx context.Context, req *connect.Request[service.ResolveTaskIsBlockedRequest]) (*connect.Response[service.ResolveTaskIsBlockedResponse], error) { + resp, err := p.inner.ResolveTaskIsBlocked(ctx, req.Msg) + if err != nil { + return nil, err + } + return connect.NewResponse(resp), nil +} + +// ResolveTaskTotalEffort forwards the Connect call to the gRPC implementation. +func (p *ProjectsConnectService) ResolveTaskTotalEffort(ctx context.Context, req *connect.Request[service.ResolveTaskTotalEffortRequest]) (*connect.Response[service.ResolveTaskTotalEffortResponse], error) { + resp, err := p.inner.ResolveTaskTotalEffort(ctx, req.Msg) + if err != nil { + return nil, err + } + return connect.NewResponse(resp), nil +} diff --git a/docs-website/connect/grpc-services.mdx b/docs-website/connect/grpc-services.mdx index 9922cd00bf..a2314490f5 100644 --- a/docs-website/connect/grpc-services.mdx +++ b/docs-website/connect/grpc-services.mdx @@ -22,6 +22,12 @@ For protocol details and shared concepts, see the [gRPC Concepts](/router/gRPC/c Services expose gRPC endpoints that the router calls over the network and integrate as subgraphs in your federated graph. They are deployed, scaled, monitored, and released independently. +## Transport Protocols + +A gRPC service can be reached by the router over either native gRPC (HTTP/2 + Protobuf) or [ConnectRPC](https://connectrpc.com/) (HTTP/1.1 with Protobuf or JSON). ConnectRPC is useful when end-to-end HTTP/2 to the subgraph is not available, for example when a proxy or load balancer in front of the subgraph does not forward gRPC. + +The protocol is selected per subgraph in the router configuration via the `grpc_protocol` block. See [gRPC Subgraph Protocol](/router/configuration#grpc-subgraph-protocol) in the router configuration reference for the schema and examples, and [gRPC Concepts](/router/gRPC/concepts#connectrpc-support) for the conceptual overview. + ## Choosing Between gRPC Services and Plugins - **Use [gRPC Services](/router/gRPC/grpc-services)** when you need language flexibility, independent scaling, or distributed deployments diff --git a/docs-website/router/configuration.mdx b/docs-website/router/configuration.mdx index 1c157274a0..1c78f48a21 100644 --- a/docs-website/router/configuration.mdx +++ b/docs-website/router/configuration.mdx @@ -2412,3 +2412,45 @@ cache_warmup: filesystem: path: "./cache-warmer/operations" ``` + +## gRPC Subgraph Protocol + +Selects the transport protocol used to talk to gRPC subgraphs. By default +all gRPC subgraphs use native gRPC over HTTP/2 with Protobuf encoding. +Setting the protocol to `connectrpc` switches a subgraph to the +[ConnectRPC](https://connectrpc.com/) protocol over HTTP/1.1, which is +useful when end-to-end HTTP/2 is unavailable (for example when a proxy or +load balancer in front of the subgraph does not forward gRPC). + +ConnectRPC services typically expose both gRPC and HTTP/1.1 endpoints from +the same handler, so the same subgraph implementation can be reached over +either transport. The router picks the wire format on a per-subgraph basis +based on the configuration below. + +| Environment Variable | YAML | Required | Description | Default Value | +| --------------------------------------------------- | ------------------------------------------ | ---------------------- | -------------------------------------------------------------------------------------------------------------------------------------------- | ------------- | +| GRPC_PROTOCOL_DEFAULT_PROTOCOL | grpc_protocol.default_protocol | | The transport protocol applied to every gRPC subgraph that does not have a per-subgraph override. Allowed values: `grpc`, `connectrpc`. | grpc | +| GRPC_PROTOCOL_DEFAULT_ENCODING | grpc_protocol.default_encoding | | The wire format applied to ConnectRPC subgraphs without a per-subgraph override. Ignored when the resolved protocol is `grpc`. Allowed: `proto`, `json`. | proto | +| | grpc_protocol.subgraphs.\.protocol | | Overrides the transport protocol for a single subgraph. When omitted, `default_protocol` is used. | | +| | grpc_protocol.subgraphs.\.encoding | | Overrides the ConnectRPC wire format for a single subgraph. Ignored when the resolved protocol is `grpc`. | | + +### Example YAML config: + +```yaml config.yaml +version: "1" + +# Switch all gRPC subgraphs to ConnectRPC over HTTP/1.1 +grpc_protocol: + default_protocol: connectrpc + default_encoding: proto + +# Or mix protocols on a per-subgraph basis +grpc_protocol: + default_protocol: grpc + subgraphs: + employees: + protocol: connectrpc + encoding: json + products: + protocol: grpc +``` diff --git a/docs-website/router/gRPC/concepts.mdx b/docs-website/router/gRPC/concepts.mdx index 2de06d9273..81821c41ff 100644 --- a/docs-website/router/gRPC/concepts.mdx +++ b/docs-website/router/gRPC/concepts.mdx @@ -247,6 +247,33 @@ When implementing gRPC integration in your GraphQL Federation, you have two main | **Operational Complexity** | Higher - distributed ops | Lower - unified ops | +## ConnectRPC Support + +The router can talk to gRPC subgraphs over either native gRPC (HTTP/2 + +Protobuf) or [ConnectRPC](https://connectrpc.com/) (HTTP/1.1 with Protobuf +or JSON). ConnectRPC is useful when end-to-end HTTP/2 to the subgraph is +not possible — for example when a proxy or load balancer in front of the +subgraph does not forward gRPC. + +A ConnectRPC subgraph implementation usually serves both gRPC and HTTP/1.1 +from the same handler (the [`connect-go`](https://connectrpc.com/docs/go) +runtime does this by default), so the same subgraph can be reached over +either transport without code changes. + +The transport protocol is selected per subgraph via the `grpc_protocol` +section in the router configuration. See +[gRPC Subgraph Protocol](/router/configuration#grpc-subgraph-protocol) in +the configuration reference for the complete schema and examples. + +```yaml config.yaml +grpc_protocol: + default_protocol: connectrpc + default_encoding: proto + subgraphs: + products: + protocol: grpc +``` + ## Roadmap We're actively working on addressing these limitations. Future releases will include: diff --git a/examples/router-grpc-connect/README.md b/examples/router-grpc-connect/README.md new file mode 100644 index 0000000000..33d451a4f2 --- /dev/null +++ b/examples/router-grpc-connect/README.md @@ -0,0 +1,86 @@ +# Router gRPC Subgraph over ConnectRPC + +This example demonstrates how to run the Cosmo Router against a gRPC +subgraph using the [ConnectRPC](https://connectrpc.com/) protocol over +plain HTTP/1.1, instead of native gRPC over HTTP/2. ConnectRPC is useful +when end-to-end HTTP/2 to the subgraph is not available, for example when +a proxy or load balancer in front of the subgraph does not forward gRPC. + +The same subgraph implementation works for both transports because the +[`connect-go`](https://connectrpc.com/docs/go) runtime serves Connect, +gRPC, and gRPC-Web on the same HTTP endpoint. + +## Prerequisites + +- [Go 1.23+](https://go.dev/dl/) (for the demo subgraph) +- [Node.js & NPM (LTS)](https://nodejs.org/en/download/) (for `wgc`) +- The `cosmo` repository checked out alongside this example so that the + `../../demo/pkg/subgraphs/projects` paths in [graph.yaml](graph.yaml) + resolve. + +## Getting started + +```bash +./start.sh +``` + +`start.sh` will: + +1. Install `wgc` and download the latest router binary. +2. Build and start the standalone projects subgraph from + `cosmo/demo/pkg/subgraphs/projects` on `:4011` over H2C. +3. Compose the federated schema from [graph.yaml](graph.yaml) into + `config.json`. +4. Start the router. The router reads [config.yaml](config.yaml), which + sets `grpc_protocol.default_protocol: connectrpc`, so every gRPC + subgraph is reached over plain HTTP/1.1. + +Open the GraphQL Playground at +[http://localhost:3002](http://localhost:3002) and run: + +```graphql +query { + projects { + id + name + description + status + } +} +``` + +## Configuration reference + +```yaml +grpc_protocol: + default_protocol: connectrpc # or "grpc" + default_encoding: proto # or "json" + subgraphs: + projects: + protocol: connectrpc + encoding: json + inventory: + protocol: grpc +``` + +See +[gRPC Subgraph Protocol](https://cosmo-docs.wundergraph.com/router/configuration#grpc-subgraph-protocol) +in the router configuration reference for the full schema and +[gRPC Concepts](https://cosmo-docs.wundergraph.com/router/grpc/concepts#connectrpc-support) +for the conceptual overview. + +## Registering a ConnectRPC subgraph in the control plane + +When deploying through the Cosmo control plane, register the subgraph +with an `http://` or `https://` routing URL: + +```bash +wgc grpc-service create projects \ + --routing-url http://projects.internal:4011 \ + --label team=projects +``` + +The control plane accepts both gRPC name resolver schemes +(`dns:///host:port`, `unix:/...`, etc.) and `http(s)://` URLs for +GRPC_SERVICE subgraphs. Pick whichever matches the protocol you intend +to use at runtime. diff --git a/examples/router-grpc-connect/config.yaml b/examples/router-grpc-connect/config.yaml new file mode 100644 index 0000000000..734d2c9c00 --- /dev/null +++ b/examples/router-grpc-connect/config.yaml @@ -0,0 +1,34 @@ +# yaml-language-server: $schema=../../router/pkg/config/config.schema.json + +version: "1" + +dev_mode: true +execution_config: + file: + watch: true + path: config.json + +# Configure how the router talks to gRPC subgraphs. Setting the default +# protocol to "connectrpc" makes every gRPC subgraph reachable over plain +# HTTP/1.1 with Protobuf or JSON encoding instead of native gRPC over +# HTTP/2. This is useful when end-to-end HTTP/2 is unavailable, for +# example because a proxy or load balancer in front of the subgraph does +# not forward gRPC. +# +# A ConnectRPC handler (the runtime emitted by `protoc-gen-connect-go`) +# serves Connect, gRPC, and gRPC-Web on the same HTTP endpoint, so no +# changes are required on the subgraph implementation. +grpc_protocol: + default_protocol: connectrpc + default_encoding: proto + + # Per-subgraph overrides are applied on top of the defaults above. + # Uncomment to mix protocols on a federated graph that has both ConnectRPC + # subgraphs and native-gRPC subgraphs: + # + # subgraphs: + # projects: + # protocol: connectrpc + # encoding: json + # inventory: + # protocol: grpc diff --git a/examples/router-grpc-connect/graph.yaml b/examples/router-grpc-connect/graph.yaml new file mode 100644 index 0000000000..a880e4f106 --- /dev/null +++ b/examples/router-grpc-connect/graph.yaml @@ -0,0 +1,20 @@ +# Single-subgraph federation pointing at the projects gRPC service from +# cosmo/demo. The routing URL uses the http:// scheme so the router (with +# `grpc_protocol.default_protocol: connectrpc`) reaches it over plain +# HTTP/1.1. Build and start the standalone subgraph first: +# +# cd ../../demo/pkg/subgraphs/projects +# go run ./cmd/service +# +# This serves the Connect handler on :4011 over H2C, which accepts +# Connect, gRPC, and gRPC-Web from the same endpoint. + +version: 1 +subgraphs: + - name: projects + routing_url: http://localhost:4011 + schema: + file: ../../demo/pkg/subgraphs/projects/src/schema.graphql + grpc: + protoFile: ../../demo/pkg/subgraphs/projects/generated/service.proto + mappingFile: ../../demo/pkg/subgraphs/projects/mapping.json diff --git a/examples/router-grpc-connect/start.sh b/examples/router-grpc-connect/start.sh new file mode 100755 index 0000000000..72c634e132 --- /dev/null +++ b/examples/router-grpc-connect/start.sh @@ -0,0 +1,27 @@ +#!/bin/bash +set -e + +# Install WunderGraph CLI +npm install -g wgc@latest + +# Download the latest router binary into the current directory +if [ ! -f router ]; then + wgc router download-binary -o . +fi + +# Start the demo projects subgraph in the background. It serves the +# Connect handler on :4011 over H2C, which accepts Connect, gRPC, and +# gRPC-Web from the same endpoint. +( + cd ../../demo/pkg/subgraphs/projects + go run ./cmd/service +) & +PROJECTS_PID=$! +trap 'kill $PROJECTS_PID 2>/dev/null || true' EXIT + +# Compose the federated schema from graph.yaml. +wgc router compose -i graph.yaml -o config.json + +# Start the router. The grpc_protocol.default_protocol=connectrpc setting +# in config.yaml routes traffic to the projects subgraph over HTTP/1.1. +./router diff --git a/router-tests/protocol/connectrpc_subgraph_test.go b/router-tests/protocol/connectrpc_subgraph_test.go new file mode 100644 index 0000000000..02451864ef --- /dev/null +++ b/router-tests/protocol/connectrpc_subgraph_test.go @@ -0,0 +1,182 @@ +package integration + +import ( + "testing" + + "github.com/stretchr/testify/require" + + "github.com/wundergraph/cosmo/router-tests/testenv" + "github.com/wundergraph/cosmo/router/core" + "github.com/wundergraph/cosmo/router/pkg/config" +) + +// TestConnectRPCSubgraph exercises the projects subgraph over the ConnectRPC +// protocol. The same gRPC implementation is reused, but the testenv switches +// the underlying server to a ConnectRPC handler running over H2C, and the +// router is configured to talk to it via Connect with `grpc_protocol`. +// +// Each subtest covers one of the four categories called out in the meeting +// notes (queries, mutations, entity lookups, federation field resolvers) so +// that the new transport is exercised end-to-end against representative +// shapes of the data source. +func TestConnectRPCSubgraph(t *testing.T) { + t.Parallel() + + connectProtocolOption := core.WithGRPCProtocol(&config.GRPCProtocolConfiguration{ + DefaultProtocol: "connectrpc", + DefaultEncoding: "proto", + }) + + t.Run("query - simple list", func(t *testing.T) { + t.Parallel() + + testenv.Run(t, &testenv.Config{ + RouterConfigJSONTemplate: testenv.ConfigWithGRPCJSONTemplate, + EnableGRPC: true, + EnableConnectRPC: true, + RouterOptions: []core.Option{connectProtocolOption}, + }, func(t *testing.T, xEnv *testenv.Environment) { + res := xEnv.MakeGraphQLRequestOK(testenv.GraphQLRequest{ + Query: `query { projects { id name } }`, + }) + require.JSONEq(t, + `{"data":{"projects":[{"id":"1","name":"Cloud Migration Overhaul"},{"id":"2","name":"Microservices Revolution"},{"id":"3","name":"AI-Powered Analytics"},{"id":"4","name":"DevOps Transformation"},{"id":"5","name":"Security Overhaul"},{"id":"6","name":"Mobile App Development"},{"id":"7","name":"Data Lake Implementation"}]}}`, + res.Body, + ) + }) + }) + + t.Run("query - argument and nested fields", func(t *testing.T) { + t.Parallel() + + testenv.Run(t, &testenv.Config{ + RouterConfigJSONTemplate: testenv.ConfigWithGRPCJSONTemplate, + EnableGRPC: true, + EnableConnectRPC: true, + RouterOptions: []core.Option{connectProtocolOption}, + }, func(t *testing.T, xEnv *testenv.Environment) { + // Status is omitted because the mutation subtest may run first and + // flip it to COMPLETED on the shared in-memory mock store. + res := xEnv.MakeGraphQLRequestOK(testenv.GraphQLRequest{ + Query: `query { project(id: 1) { id name description } }`, + }) + require.JSONEq(t, + `{"data":{"project":{"id":"1","name":"Cloud Migration Overhaul","description":"Migrate legacy systems to cloud-native architecture"}}}`, + res.Body, + ) + }) + }) + + t.Run("mutation - update project status", func(t *testing.T) { + t.Parallel() + + testenv.Run(t, &testenv.Config{ + RouterConfigJSONTemplate: testenv.ConfigWithGRPCJSONTemplate, + EnableGRPC: true, + EnableConnectRPC: true, + RouterOptions: []core.Option{connectProtocolOption}, + }, func(t *testing.T, xEnv *testenv.Environment) { + // updateProjectStatus(projectId, status) returns a ProjectUpdate. + // We check the projectId echoes back so we know the request body + // was marshalled, sent over Connect, and parsed by the subgraph. + res := xEnv.MakeGraphQLRequestOK(testenv.GraphQLRequest{ + Query: `mutation { updateProjectStatus(projectId: "1", status: COMPLETED) { projectId updateType } }`, + }) + require.NotContains(t, res.Body, `"errors"`) + require.Contains(t, res.Body, `"projectId":"1"`) + }) + }) + + t.Run("entity lookup - federation _entities", func(t *testing.T) { + t.Parallel() + + testenv.Run(t, &testenv.Config{ + RouterConfigJSONTemplate: testenv.ConfigWithGRPCJSONTemplate, + EnableGRPC: true, + EnableConnectRPC: true, + RouterOptions: []core.Option{connectProtocolOption}, + }, func(t *testing.T, xEnv *testenv.Environment) { + // Selecting an Employee field that is owned by the projects subgraph + // triggers a federation entity lookup (LookupEmployeeById) over the + // Connect transport. + res := xEnv.MakeGraphQLRequestOK(testenv.GraphQLRequest{ + Query: `query { employees { id projects { id name } } }`, + }) + // We assert on the shape rather than every employee to keep the test + // resilient to seed-data changes; the important thing is that the + // nested entity lookup populated the projects array. + require.Contains(t, res.Body, `"projects":[{"id":"1"`) + require.Contains(t, res.Body, `"name":"Cloud Migration Overhaul"`) + }) + }) + + t.Run("field resolver - filtered tasks", func(t *testing.T) { + t.Parallel() + + testenv.Run(t, &testenv.Config{ + RouterConfigJSONTemplate: testenv.ConfigWithGRPCJSONTemplate, + EnableGRPC: true, + EnableConnectRPC: true, + RouterOptions: []core.Option{connectProtocolOption}, + }, func(t *testing.T, xEnv *testenv.Environment) { + // `filteredTasks` is resolved by a separate ResolveProjectFilteredTasks + // RPC call after the parent project is loaded. The Connect transport + // must therefore handle a request triggered from a nested resolver. + res := xEnv.MakeGraphQLRequestOK(testenv.GraphQLRequest{ + Query: `query { project(id: 1) { filteredTasks(limit: 3) { name status } } }`, + }) + require.JSONEq(t, + `{"data":{"project":{"filteredTasks":[{"name":"Current Infrastructure Audit","status":"COMPLETED"},{"name":"Cloud Provider Selection","status":"COMPLETED"},{"name":"Network Setup","status":"IN_PROGRESS"}]}}}`, + res.Body, + ) + }) + }) + + t.Run("per-subgraph override - protocol", func(t *testing.T) { + t.Parallel() + + testenv.Run(t, &testenv.Config{ + RouterConfigJSONTemplate: testenv.ConfigWithGRPCJSONTemplate, + EnableGRPC: true, + EnableConnectRPC: true, + RouterOptions: []core.Option{ + core.WithGRPCProtocol(&config.GRPCProtocolConfiguration{ + // Defaults to gRPC, but override the projects subgraph to Connect. + DefaultProtocol: "grpc", + Subgraphs: map[string]config.GRPCProtocolSubgraph{ + "projects": {Protocol: "connectrpc"}, + }, + }), + }, + }, func(t *testing.T, xEnv *testenv.Environment) { + res := xEnv.MakeGraphQLRequestOK(testenv.GraphQLRequest{ + Query: `query { projects { id } }`, + }) + require.Contains(t, res.Body, `"projects":[{"id":"1"`) + }) + }) + + t.Run("encoding - json", func(t *testing.T) { + t.Parallel() + + testenv.Run(t, &testenv.Config{ + RouterConfigJSONTemplate: testenv.ConfigWithGRPCJSONTemplate, + EnableGRPC: true, + EnableConnectRPC: true, + RouterOptions: []core.Option{ + core.WithGRPCProtocol(&config.GRPCProtocolConfiguration{ + DefaultProtocol: "connectrpc", + DefaultEncoding: "json", + }), + }, + }, func(t *testing.T, xEnv *testenv.Environment) { + res := xEnv.MakeGraphQLRequestOK(testenv.GraphQLRequest{ + Query: `query { project(id: 1) { id name } }`, + }) + require.JSONEq(t, + `{"data":{"project":{"id":"1","name":"Cloud Migration Overhaul"}}}`, + res.Body, + ) + }) + }) +} diff --git a/router-tests/testenv/testenv.go b/router-tests/testenv/testenv.go index 0702ec6243..4dc43223c3 100644 --- a/router-tests/testenv/testenv.go +++ b/router-tests/testenv/testenv.go @@ -52,11 +52,14 @@ import ( "go.uber.org/zap" "go.uber.org/zap/zapcore" "go.uber.org/zap/zaptest/observer" + "golang.org/x/net/http2" + "golang.org/x/net/http2/h2c" "google.golang.org/grpc" "google.golang.org/protobuf/encoding/protojson" "github.com/wundergraph/cosmo/demo/pkg/subgraphs" projects "github.com/wundergraph/cosmo/demo/pkg/subgraphs/projects/generated" + "github.com/wundergraph/cosmo/demo/pkg/subgraphs/projects/generated/projectsconnect" "github.com/wundergraph/cosmo/demo/pkg/subgraphs/projects/src/service" "github.com/wundergraph/cosmo/router-tests/freeport" "github.com/wundergraph/cosmo/router/core" @@ -371,6 +374,12 @@ type Config struct { EnableRedisCluster bool Plugins PluginConfig EnableGRPC bool + // EnableConnectRPC turns the projects subgraph into a ConnectRPC HTTP/2 + // (h2c) endpoint that natively serves Connect, gRPC, and gRPC-Web. When + // false (the default), the projects subgraph runs as a plain *grpc.Server, + // which preserves the historical behaviour for existing tests. Requires + // EnableGRPC. + EnableConnectRPC bool IgnoreQueryParamsList []string } @@ -627,8 +636,13 @@ func CreateTestSupervisorEnv(t testing.TB, cfg *Config) (*Environment, error) { endpoint string ) + var connectHTTPServer *httptest.Server if cfg.EnableGRPC { - projectServer, endpoint = makeSafeGRPCServer(t, &projects.ProjectsService_ServiceDesc, &service.ProjectsService{}, cfg.Subgraphs.Projects.GRPCInterceptor) + if cfg.EnableConnectRPC { + connectHTTPServer, endpoint = makeSafeConnectRPCServer(t) + } else { + projectServer, endpoint = makeSafeGRPCServer(t, &projects.ProjectsService_ServiceDesc, &service.ProjectsService{}, cfg.Subgraphs.Projects.GRPCInterceptor) + } } replacements := map[string]string{ @@ -787,7 +801,12 @@ func CreateTestSupervisorEnv(t testing.TB, cfg *Config) (*Environment, error) { productFgServer.Close() } if cfg.EnableGRPC && cfg.Subgraphs.Projects.CloseOnStart { - projectServer.Stop() + if connectHTTPServer != nil { + connectHTTPServer.Close() + } + if projectServer != nil { + projectServer.Stop() + } } if cfg.ShutdownDelay == 0 { @@ -1070,8 +1089,13 @@ func CreateTestEnv(t testing.TB, cfg *Config) (*Environment, error) { endpoint string ) + var connectHTTPServer *httptest.Server if cfg.EnableGRPC { - projectServer, endpoint = makeSafeGRPCServer(t, &projects.ProjectsService_ServiceDesc, &service.ProjectsService{}, cfg.Subgraphs.Projects.GRPCInterceptor) + if cfg.EnableConnectRPC { + connectHTTPServer, endpoint = makeSafeConnectRPCServer(t) + } else { + projectServer, endpoint = makeSafeGRPCServer(t, &projects.ProjectsService_ServiceDesc, &service.ProjectsService{}, cfg.Subgraphs.Projects.GRPCInterceptor) + } } replacements := map[string]string{ @@ -1224,7 +1248,12 @@ func CreateTestEnv(t testing.TB, cfg *Config) (*Environment, error) { } if cfg.EnableGRPC && cfg.Subgraphs.Projects.CloseOnStart { - projectServer.Stop() + if connectHTTPServer != nil { + connectHTTPServer.Close() + } + if projectServer != nil { + projectServer.Stop() + } } if cfg.ShutdownDelay == 0 { @@ -1767,6 +1796,34 @@ func makeSubgraphTestServer(_ testing.TB, handler http.Handler, tlsConfig *tls.C return s } +// makeSafeConnectRPCServer starts the projects subgraph as a ConnectRPC +// handler running over HTTP/2 cleartext (h2c). The handler natively serves +// Connect, gRPC, and gRPC-Web on the same endpoint, so the router can be +// pointed at the returned address using either transport (selected via the +// `grpc_protocol` configuration block). +// +// The endpoint format matches makeSafeGRPCServer (host:port without a +// scheme); call sites continue to wrap it with grpcURL for the routing URL +// in the router config, and BuildConnectTransports normalises that back to +// http:// when ConnectRPC is the resolved protocol for a subgraph. +func makeSafeConnectRPCServer(t testing.TB) (*httptest.Server, string) { + t.Helper() + + grpcImpl := &service.ProjectsService{} + connectImpl := service.NewProjectsConnectService(grpcImpl) + + mux := http.NewServeMux() + mux.Handle(projectsconnect.NewProjectsServiceHandler(connectImpl)) + + srv := httptest.NewUnstartedServer(h2c.NewHandler(mux, &http2.Server{})) + srv.EnableHTTP2 = true + srv.Start() + t.Cleanup(srv.Close) + + endpoint := strings.TrimPrefix(srv.URL, "http://") + return srv, endpoint +} + func makeSafeGRPCServer(t testing.TB, sd *grpc.ServiceDesc, service any, interceptor grpc.UnaryServerInterceptor) (*grpc.Server, string) { t.Helper() diff --git a/router/core/executor.go b/router/core/executor.go index 71bb08432c..0774531b9d 100644 --- a/router/core/executor.go +++ b/router/core/executor.go @@ -13,6 +13,8 @@ import ( "github.com/wundergraph/cosmo/router/pkg/grpcconnector" pubsub_datasource "github.com/wundergraph/cosmo/router/pkg/pubsub/datasource" + grpcdatasource "github.com/wundergraph/graphql-go-tools/v2/pkg/engine/datasource/grpc_datasource" + "github.com/wundergraph/graphql-go-tools/v2/pkg/ast" "github.com/wundergraph/graphql-go-tools/v2/pkg/astparser" "github.com/wundergraph/graphql-go-tools/v2/pkg/asttransform" @@ -37,6 +39,7 @@ type ExecutorConfigurationBuilder struct { instanceData InstanceData subscriptionHooks subscriptionHooks + connectTransports map[string]grpcdatasource.RPCTransport } type Executor struct { @@ -218,6 +221,7 @@ func (b *ExecutorConfigurationBuilder) buildPlannerConfiguration(ctx context.Con b.logger, routerEngineCfg.Execution.EnableNetPoll, b.instanceData, + b.connectTransports, ), b.logger, b.subscriptionHooks) // this generates the plan config using the data source factories from the config package diff --git a/router/core/factoryresolver.go b/router/core/factoryresolver.go index c2a547c35c..46612fb526 100644 --- a/router/core/factoryresolver.go +++ b/router/core/factoryresolver.go @@ -77,6 +77,7 @@ type DefaultFactoryResolver struct { transportFactory ApiTransportFactory defaultSubgraphRequestTimeout time.Duration subscriptionClientOptions []graphql_datasource.Options + connectTransports map[string]grpcdatasource.RPCTransport } func NewDefaultFactoryResolver( @@ -89,6 +90,7 @@ func NewDefaultFactoryResolver( log *zap.Logger, enableNetPoll bool, instanceData InstanceData, + connectTransports map[string]grpcdatasource.RPCTransport, ) *DefaultFactoryResolver { transportFactory := NewTransport(transportOptions) @@ -164,10 +166,19 @@ func NewDefaultFactoryResolver( transportFactory: transportFactory, defaultSubgraphRequestTimeout: transportOptions.SubgraphTransportOptions.RequestTimeout, subscriptionClientOptions: options, + connectTransports: connectTransports, } } func (d *DefaultFactoryResolver) ResolveGraphqlFactory(subgraphName string) (plan.PlannerFactory[graphql_datasource.Configuration], error) { + // Check Connect transports first — they use HTTP via the Connect protocol + // instead of native gRPC, so they bypass the gRPC connector entirely. + if d.connectTransports != nil { + if ct, ok := d.connectTransports[subgraphName]; ok { + return graphql_datasource.NewFactoryConnect(d.engineCtx, ct) + } + } + if d.connector != nil { // If the connector is not nil, we try to get the provider for the subgraph. // In case of a provider, we use the gRPC client provider to create the factory. diff --git a/router/core/graph_server.go b/router/core/graph_server.go index 23812b8fe4..50aa673482 100644 --- a/router/core/graph_server.go +++ b/router/core/graph_server.go @@ -45,6 +45,7 @@ import ( "github.com/wundergraph/cosmo/router/pkg/cors" "github.com/wundergraph/cosmo/router/pkg/execution_config" "github.com/wundergraph/cosmo/router/pkg/grpcconnector" + "github.com/wundergraph/cosmo/router/pkg/grpcprotocol" "github.com/wundergraph/cosmo/router/pkg/grpcconnector/grpccommon" "github.com/wundergraph/cosmo/router/pkg/grpcconnector/grpcplugin" "github.com/wundergraph/cosmo/router/pkg/grpcconnector/grpcpluginoci" @@ -58,6 +59,7 @@ import ( "github.com/wundergraph/cosmo/router/pkg/statistics" rtrace "github.com/wundergraph/cosmo/router/pkg/trace" + grpcdatasource "github.com/wundergraph/graphql-go-tools/v2/pkg/engine/datasource/grpc_datasource" "github.com/wundergraph/graphql-go-tools/v2/pkg/astparser" ) @@ -105,6 +107,7 @@ type ( connector *grpcconnector.Connector circuitBreakerManager *circuit.Manager headerPropagation *HeaderPropagation + grpcProtocolConfig *config.GRPCProtocolConfiguration } ) @@ -176,6 +179,10 @@ func newGraphServer(ctx context.Context, r *Router, routerConfig *nodev1.RouterC } } + if err := grpcprotocol.Validate(r.grpcProtocol); err != nil { + return nil, fmt.Errorf("invalid grpc_protocol configuration: %w", err) + } + ctx, cancel := context.WithCancel(ctx) s := &graphServer{ context: ctx, @@ -193,8 +200,9 @@ func newGraphServer(ctx context.Context, r *Router, routerConfig *nodev1.RouterC HostName: r.hostName, ListenAddress: r.listenAddr, }, - storageProviders: &r.storageProviders, - headerPropagation: r.headerPropagation, + storageProviders: &r.storageProviders, + headerPropagation: r.headerPropagation, + grpcProtocolConfig: r.grpcProtocol, } baseOtelAttributes := []attribute.KeyValue{ @@ -1279,7 +1287,42 @@ func (s *graphServer) buildGraphMux( subgraphTippers[subgraph] = subgraphTransport } - if err := s.setupConnector(ctx, opts.EngineConfig, opts.ConfigSubgraphs, telemetryAttExpressions, tracingAttExpressions); err != nil { + // Build HTTP clients for Connect subgraphs, matching the timeout and transport + // configuration applied to regular GraphQL subgraph clients. + connectDefaultHTTPClient := &http.Client{ + Transport: s.baseTransport, + Timeout: s.subgraphTransportOptions.RequestTimeout, + } + connectSubgraphHTTPClients := map[string]*http.Client{} + for subgraph, subgraphOpts := range s.subgraphTransportOptions.SubgraphMap { + transport, ok := s.subgraphTransports[subgraph] + if !ok { + transport = s.baseTransport + } + connectSubgraphHTTPClients[subgraph] = &http.Client{ + Transport: transport, + Timeout: subgraphOpts.RequestTimeout, + } + } + // Include subgraphs with per-subgraph TLS but no traffic shaping overrides. + for subgraph, transport := range s.subgraphTransports { + if _, exists := connectSubgraphHTTPClients[subgraph]; !exists { + connectSubgraphHTTPClients[subgraph] = &http.Client{ + Transport: transport, + Timeout: s.subgraphTransportOptions.RequestTimeout, + } + } + } + + // Build Connect transports for subgraphs configured to use ConnectRPC protocol. + connectTransports := grpcprotocol.BuildConnectTransports( + s.grpcProtocolConfig, + collectGRPCSubgraphURLs(opts.EngineConfig, opts.ConfigSubgraphs), + connectSubgraphHTTPClients, + connectDefaultHTTPClient, + ) + + if err := s.setupConnector(ctx, opts.EngineConfig, opts.ConfigSubgraphs, telemetryAttExpressions, tracingAttExpressions, connectTransports); err != nil { return nil, fmt.Errorf("failed to setup plugin host: %w", err) } @@ -1325,6 +1368,7 @@ func (s *graphServer) buildGraphMux( CircuitBreaker: s.circuitBreakerManager, }, subscriptionHooks: s.subscriptionHooks, + connectTransports: connectTransports, } executor, providers, err := ecb.Build( @@ -1745,6 +1789,7 @@ func (s *graphServer) setupConnector( configSubgraphs []*nodev1.Subgraph, telemetryAttributeExpressions *attributeExpressions, tracingAttributeExpressions *attributeExpressions, + connectTransports map[string]grpcdatasource.RPCTransport, ) error { s.connector = grpcconnector.NewConnector() @@ -1767,6 +1812,14 @@ func (s *graphServer) setupConnector( return fmt.Errorf("subgraph %s not found", dsConfig.Id) } + // Skip gRPC connector registration for Connect subgraphs — + // they use HTTP via the Connect protocol instead of native gRPC. + if connectTransports != nil { + if _, isConnect := connectTransports[sg.Name]; isConnect { + continue + } + } + pluginConfig := grpcConfig.GetPlugin() if pluginConfig == nil { remoteProvider, err := grpcremote.NewRemoteGRPCProvider(grpcremote.RemoteGRPCProviderConfig{ @@ -2171,3 +2224,24 @@ func configureSubgraphOverwrites( return subgraphs, nil } + +// collectGRPCSubgraphURLs returns a map of subgraphName → routingUrl +// for all subgraphs that have gRPC configuration in the engine config. +func collectGRPCSubgraphURLs( + engineConfig *nodev1.EngineConfiguration, + configSubgraphs []*nodev1.Subgraph, +) map[string]string { + urls := map[string]string{} + for _, dsConfig := range engineConfig.DatasourceConfigurations { + if dsConfig.GetCustomGraphql().GetGrpc() == nil { + continue + } + for _, sg := range configSubgraphs { + if sg.Id == dsConfig.Id { + urls[sg.Name] = sg.RoutingUrl + break + } + } + } + return urls +} diff --git a/router/core/router.go b/router/core/router.go index cb173417d3..c8435ca1f2 100644 --- a/router/core/router.go +++ b/router/core/router.go @@ -2414,6 +2414,12 @@ func WithConnectRPC(cfg config.ConnectRPCConfiguration) Option { } } +func WithGRPCProtocol(cfg *config.GRPCProtocolConfiguration) Option { + return func(r *Router) { + r.grpcProtocol = cfg + } +} + func WithDemoMode(demoMode bool) Option { return func(r *Router) { r.demoMode = demoMode diff --git a/router/core/router_config.go b/router/core/router_config.go index 9f4b0bf84c..46ded9c235 100644 --- a/router/core/router_config.go +++ b/router/core/router_config.go @@ -149,6 +149,7 @@ type Config struct { mcp config.MCPConfiguration connectRPC config.ConnectRPCConfiguration plugins config.PluginsConfiguration + grpcProtocol *config.GRPCProtocolConfiguration tracingAttributes []config.CustomAttribute subscriptionHooks subscriptionHooks } diff --git a/router/core/supervisor_instance.go b/router/core/supervisor_instance.go index 1fd8eb8acb..f72f448ec5 100644 --- a/router/core/supervisor_instance.go +++ b/router/core/supervisor_instance.go @@ -272,6 +272,7 @@ func optionsFromResources(logger *zap.Logger, config *config.Config, reloadPersi WithMCP(config.MCP), WithConnectRPC(config.ConnectRPC), WithPlugins(config.Plugins), + WithGRPCProtocol(config.GRPCProtocol), WithDemoMode(config.DemoMode), WithStreamsHandlerConfiguration(config.Events.Handlers), WithReloadPersistentState(reloadPersistentState), diff --git a/router/pkg/config/config.go b/router/pkg/config/config.go index 225f68c6b4..d32bc2b9e7 100644 --- a/router/pkg/config/config.go +++ b/router/pkg/config/config.go @@ -1206,6 +1206,39 @@ type MCPServer struct { BaseURL string `yaml:"base_url,omitempty" env:"MCP_SERVER_BASE_URL"` } +// GRPCProtocolConfiguration configures the transport protocol used to talk +// to gRPC subgraphs. By default all gRPC subgraphs use native gRPC over +// HTTP/2 with Protobuf encoding. Setting the protocol to "connectrpc" +// switches a subgraph to the Connect protocol over HTTP/1.1, which is +// useful when end-to-end HTTP/2 is unavailable (e.g. proxies or load +// balancers that do not support gRPC). +type GRPCProtocolConfiguration struct { + // DefaultProtocol selects the transport protocol for every gRPC subgraph + // that does not have a per-subgraph override. Allowed values: "grpc", + // "connectrpc". Defaults to "grpc". + DefaultProtocol string `yaml:"default_protocol,omitempty" json:"default_protocol,omitempty" envDefault:"grpc" env:"DEFAULT_PROTOCOL"` + // DefaultEncoding selects the wire format for Connect subgraphs that do + // not have a per-subgraph override. Allowed values: "proto", "json". + // Ignored when the resolved protocol is "grpc". Defaults to "proto". + DefaultEncoding string `yaml:"default_encoding,omitempty" json:"default_encoding,omitempty" envDefault:"proto" env:"DEFAULT_ENCODING"` + // Subgraphs holds per-subgraph protocol and encoding overrides keyed by + // subgraph name. An empty entry inherits the defaults above. + Subgraphs map[string]GRPCProtocolSubgraph `yaml:"subgraphs,omitempty" json:"subgraphs,omitempty"` +} + +// GRPCProtocolSubgraph configures the transport protocol and encoding for a +// single gRPC subgraph, overriding the defaults declared in +// GRPCProtocolConfiguration. +type GRPCProtocolSubgraph struct { + // Protocol overrides the transport protocol for this subgraph. + // Allowed values: "grpc", "connectrpc". Empty inherits default_protocol. + Protocol string `yaml:"protocol,omitempty" json:"protocol,omitempty"` + // Encoding overrides the Connect wire format for this subgraph. + // Allowed values: "proto", "json". Empty inherits default_encoding. + // Ignored when the resolved protocol is "grpc". + Encoding string `yaml:"encoding,omitempty" json:"encoding,omitempty"` +} + type ConnectRPCConfiguration struct { Enabled bool `yaml:"enabled" envDefault:"false" env:"CONNECT_RPC_ENABLED"` Server ConnectRPCServer `yaml:"server,omitempty" envPrefix:"CONNECT_RPC_SERVER_"` @@ -1314,6 +1347,8 @@ type Config struct { Plugins PluginsConfiguration `yaml:"plugins" envPrefix:"PLUGINS_"` WatchConfig WatchConfig `yaml:"watch_config" envPrefix:"WATCH_CONFIG_"` + + GRPCProtocol *GRPCProtocolConfiguration `yaml:"grpc_protocol,omitempty" envPrefix:"GRPC_PROTOCOL_"` } type WatchConfig struct { diff --git a/router/pkg/config/config.schema.json b/router/pkg/config/config.schema.json index 54fa556e93..f2d0242ac7 100644 --- a/router/pkg/config/config.schema.json +++ b/router/pkg/config/config.schema.json @@ -3993,6 +3993,45 @@ } } } + }, + "grpc_protocol": { + "type": "object", + "description": "Selects the transport protocol used to talk to gRPC subgraphs. By default all gRPC subgraphs use native gRPC over HTTP/2 with Protobuf encoding. Setting the protocol to 'connectrpc' switches a subgraph to the Connect protocol over HTTP/1.1, which is useful when end-to-end HTTP/2 is unavailable (for example when proxies or load balancers do not forward gRPC).", + "additionalProperties": false, + "properties": { + "default_protocol": { + "type": "string", + "description": "The transport protocol applied to every gRPC subgraph that does not have a per-subgraph override.", + "enum": ["grpc", "connectrpc"], + "default": "grpc" + }, + "default_encoding": { + "type": "string", + "description": "The wire format applied to ConnectRPC subgraphs that do not have a per-subgraph override. Ignored when the resolved protocol is 'grpc'.", + "enum": ["proto", "json"], + "default": "proto" + }, + "subgraphs": { + "type": "object", + "description": "Per-subgraph overrides keyed by subgraph name. Each entry can override the protocol and/or the encoding chosen by the defaults above.", + "additionalProperties": { + "type": "object", + "additionalProperties": false, + "properties": { + "protocol": { + "type": "string", + "description": "Overrides the transport protocol for this subgraph. When omitted, default_protocol is used.", + "enum": ["grpc", "connectrpc"] + }, + "encoding": { + "type": "string", + "description": "Overrides the ConnectRPC wire format for this subgraph. Ignored when the resolved protocol is 'grpc'. When omitted, default_encoding is used.", + "enum": ["proto", "json"] + } + } + } + } + } } }, "$defs": { diff --git a/router/pkg/config/testdata/config_defaults.json b/router/pkg/config/testdata/config_defaults.json index d64a0b40fb..37c28ce66c 100644 --- a/router/pkg/config/testdata/config_defaults.json +++ b/router/pkg/config/testdata/config_defaults.json @@ -638,5 +638,6 @@ "Enabled": false, "Maximum": 10000000000 } - } + }, + "GRPCProtocol": null } \ No newline at end of file diff --git a/router/pkg/config/testdata/config_full.json b/router/pkg/config/testdata/config_full.json index fbc42cf002..a5221a60d5 100644 --- a/router/pkg/config/testdata/config_full.json +++ b/router/pkg/config/testdata/config_full.json @@ -1083,5 +1083,6 @@ "Enabled": true, "Maximum": 10000000000 } - } + }, + "GRPCProtocol": null } \ No newline at end of file diff --git a/router/pkg/grpcprotocol/config.go b/router/pkg/grpcprotocol/config.go new file mode 100644 index 0000000000..25bee80457 --- /dev/null +++ b/router/pkg/grpcprotocol/config.go @@ -0,0 +1,65 @@ +package grpcprotocol + +import ( + "fmt" + + "github.com/wundergraph/cosmo/router/pkg/config" +) + +const ( + ProtocolGRPC = "grpc" + ProtocolConnectRPC = "connectrpc" + + EncodingProto = "proto" + EncodingJSON = "json" +) + +// Validate checks that all config values in a GRPCProtocolConfiguration are valid. +func Validate(cfg *config.GRPCProtocolConfiguration) error { + if cfg == nil { + return nil + } + if cfg.DefaultProtocol != "" && cfg.DefaultProtocol != ProtocolGRPC && cfg.DefaultProtocol != ProtocolConnectRPC { + return fmt.Errorf("grpc_protocol.default_protocol: invalid value %q, must be %q or %q", cfg.DefaultProtocol, ProtocolGRPC, ProtocolConnectRPC) + } + if cfg.DefaultEncoding != "" && cfg.DefaultEncoding != EncodingProto && cfg.DefaultEncoding != EncodingJSON { + return fmt.Errorf("grpc_protocol.default_encoding: invalid value %q, must be %q or %q", cfg.DefaultEncoding, EncodingProto, EncodingJSON) + } + for name, sg := range cfg.Subgraphs { + if sg.Protocol != "" && sg.Protocol != ProtocolGRPC && sg.Protocol != ProtocolConnectRPC { + return fmt.Errorf("grpc_protocol.subgraphs.%s.protocol: invalid value %q", name, sg.Protocol) + } + if sg.Encoding != "" && sg.Encoding != EncodingProto && sg.Encoding != EncodingJSON { + return fmt.Errorf("grpc_protocol.subgraphs.%s.encoding: invalid value %q", name, sg.Encoding) + } + } + return nil +} + +// ResolveProtocol returns the effective protocol for a subgraph. +func ResolveProtocol(cfg *config.GRPCProtocolConfiguration, subgraphName string) string { + if cfg == nil { + return ProtocolGRPC + } + if sg, ok := cfg.Subgraphs[subgraphName]; ok && sg.Protocol != "" { + return sg.Protocol + } + if cfg.DefaultProtocol != "" { + return cfg.DefaultProtocol + } + return ProtocolGRPC +} + +// ResolveEncoding returns the effective encoding for a subgraph. +func ResolveEncoding(cfg *config.GRPCProtocolConfiguration, subgraphName string) string { + if cfg == nil { + return EncodingProto + } + if sg, ok := cfg.Subgraphs[subgraphName]; ok && sg.Encoding != "" { + return sg.Encoding + } + if cfg.DefaultEncoding != "" { + return cfg.DefaultEncoding + } + return EncodingProto +} diff --git a/router/pkg/grpcprotocol/config_test.go b/router/pkg/grpcprotocol/config_test.go new file mode 100644 index 0000000000..076c8d3cd4 --- /dev/null +++ b/router/pkg/grpcprotocol/config_test.go @@ -0,0 +1,94 @@ +package grpcprotocol + +import ( + "testing" + + "github.com/stretchr/testify/assert" + "github.com/stretchr/testify/require" + "github.com/wundergraph/cosmo/router/pkg/config" +) + +func TestResolveProtocol_Default(t *testing.T) { + assert.Equal(t, ProtocolGRPC, ResolveProtocol(&config.GRPCProtocolConfiguration{}, "any")) +} + +func TestResolveProtocol_Nil(t *testing.T) { + assert.Equal(t, ProtocolGRPC, ResolveProtocol(nil, "any")) +} + +func TestResolveProtocol_GlobalDefault(t *testing.T) { + cfg := &config.GRPCProtocolConfiguration{DefaultProtocol: ProtocolConnectRPC} + assert.Equal(t, ProtocolConnectRPC, ResolveProtocol(cfg, "any")) +} + +func TestResolveProtocol_PerSubgraphOverride(t *testing.T) { + cfg := &config.GRPCProtocolConfiguration{ + DefaultProtocol: ProtocolGRPC, + Subgraphs: map[string]config.GRPCProtocolSubgraph{ + "rpc-a": {Protocol: ProtocolConnectRPC}, + }, + } + assert.Equal(t, ProtocolConnectRPC, ResolveProtocol(cfg, "rpc-a")) + assert.Equal(t, ProtocolGRPC, ResolveProtocol(cfg, "rpc-b")) +} + +func TestResolveEncoding_Default(t *testing.T) { + assert.Equal(t, EncodingProto, ResolveEncoding(&config.GRPCProtocolConfiguration{}, "any")) +} + +func TestResolveEncoding_GlobalDefault(t *testing.T) { + cfg := &config.GRPCProtocolConfiguration{DefaultEncoding: EncodingJSON} + assert.Equal(t, EncodingJSON, ResolveEncoding(cfg, "any")) +} + +func TestResolveEncoding_PerSubgraphOverride(t *testing.T) { + cfg := &config.GRPCProtocolConfiguration{ + DefaultEncoding: EncodingProto, + Subgraphs: map[string]config.GRPCProtocolSubgraph{ + "rpc-a": {Encoding: EncodingJSON}, + }, + } + assert.Equal(t, EncodingJSON, ResolveEncoding(cfg, "rpc-a")) + assert.Equal(t, EncodingProto, ResolveEncoding(cfg, "rpc-b")) +} + +func TestValidate_Valid(t *testing.T) { + cfg := &config.GRPCProtocolConfiguration{ + DefaultProtocol: ProtocolConnectRPC, + DefaultEncoding: EncodingJSON, + Subgraphs: map[string]config.GRPCProtocolSubgraph{ + "rpc-a": {Protocol: ProtocolGRPC, Encoding: EncodingProto}, + }, + } + require.NoError(t, Validate(cfg)) +} + +func TestValidate_Nil(t *testing.T) { + require.NoError(t, Validate(nil)) +} + +func TestValidate_Empty(t *testing.T) { + require.NoError(t, Validate(&config.GRPCProtocolConfiguration{})) +} + +func TestValidate_InvalidDefault(t *testing.T) { + err := Validate(&config.GRPCProtocolConfiguration{DefaultProtocol: "invalid"}) + require.Error(t, err) + assert.Contains(t, err.Error(), "grpc_protocol.default") +} + +func TestValidate_InvalidEncoding(t *testing.T) { + err := Validate(&config.GRPCProtocolConfiguration{DefaultEncoding: "xml"}) + require.Error(t, err) + assert.Contains(t, err.Error(), "grpc_protocol.default_encoding") +} + +func TestValidate_InvalidSubgraphProtocol(t *testing.T) { + err := Validate(&config.GRPCProtocolConfiguration{ + Subgraphs: map[string]config.GRPCProtocolSubgraph{ + "rpc-a": {Protocol: "http2"}, + }, + }) + require.Error(t, err) + assert.Contains(t, err.Error(), "grpc_protocol.subgraphs.rpc-a.protocol") +} diff --git a/router/pkg/grpcprotocol/transport_builder.go b/router/pkg/grpcprotocol/transport_builder.go new file mode 100644 index 0000000000..52f5755441 --- /dev/null +++ b/router/pkg/grpcprotocol/transport_builder.go @@ -0,0 +1,99 @@ +package grpcprotocol + +import ( + "net/http" + "strings" + + "github.com/wundergraph/cosmo/router/pkg/config" + grpcdatasource "github.com/wundergraph/graphql-go-tools/v2/pkg/engine/datasource/grpc_datasource" +) + +// BuildConnectTransports creates a map of subgraphName → RPCTransport +// for all subgraphs configured to use ConnectRPC. +// Returns nil if no subgraphs are configured for Connect. +func BuildConnectTransports( + cfg *config.GRPCProtocolConfiguration, + grpcSubgraphURLs map[string]string, + subgraphHTTPClients map[string]*http.Client, + defaultHTTPClient *http.Client, +) map[string]grpcdatasource.RPCTransport { + if cfg == nil { + return nil + } + + transports := make(map[string]grpcdatasource.RPCTransport) + + for subgraphName, routingURL := range grpcSubgraphURLs { + if ResolveProtocol(cfg, subgraphName) != ProtocolConnectRPC { + continue + } + + httpClient := defaultHTTPClient + if sgClient, ok := subgraphHTTPClients[subgraphName]; ok { + httpClient = sgClient + } + + var connectEncoding grpcdatasource.ConnectEncoding + if ResolveEncoding(cfg, subgraphName) == EncodingJSON { + connectEncoding = grpcdatasource.ConnectEncodingJSON + } else { + connectEncoding = grpcdatasource.ConnectEncodingProtobuf + } + + transports[subgraphName] = grpcdatasource.NewConnectTransport( + grpcdatasource.ConnectTransportConfig{ + BaseURL: normalizeConnectBaseURL(routingURL), + HTTPClient: httpClient, + Encoding: connectEncoding, + }, + ) + } + + if len(transports) == 0 { + return nil + } + return transports +} + +// normalizeConnectBaseURL converts a routing URL declared in the federated +// graph - which may use the gRPC name resolver conventions like +// "dns:///host:port" or "dns:host:port", or a bare host:port - into the +// http URL that the ConnectRPC HTTP client expects. URLs that already use +// http or https are returned as-is. +// +// The set of supported source schemes mirrors isValidGrpcNamingScheme on +// the control plane (dns, ipv4, ipv6, vsock, unix, unix-abstract, +// passthrough). For schemes that wrap an authority component +// (`scheme://authority/endpoint`) the authority is dropped because Connect +// targets the endpoint directly. +func normalizeConnectBaseURL(routingURL string) string { + if routingURL == "" { + return routingURL + } + if strings.HasPrefix(routingURL, "http://") || strings.HasPrefix(routingURL, "https://") { + return routingURL + } + + // Order matters: longer prefixes must be checked before their shorter + // substrings (`unix-abstract:` before `unix:`). + grpcSchemes := []string{"unix-abstract:", "passthrough:", "dns:", "ipv4:", "ipv6:", "vsock:", "unix:"} + for _, prefix := range grpcSchemes { + if !strings.HasPrefix(routingURL, prefix) { + continue + } + rest := routingURL[len(prefix):] + // `scheme://authority/endpoint` and `scheme:///endpoint` both end up + // with a leading `//`; strip the authority and the path separator so + // only the endpoint survives. + if strings.HasPrefix(rest, "//") { + after := rest[2:] + if i := strings.Index(after, "/"); i >= 0 { + rest = after[i+1:] + } else { + rest = after + } + } + return "http://" + rest + } + return "http://" + routingURL +} diff --git a/router/pkg/grpcprotocol/transport_builder_test.go b/router/pkg/grpcprotocol/transport_builder_test.go new file mode 100644 index 0000000000..dcd422a345 --- /dev/null +++ b/router/pkg/grpcprotocol/transport_builder_test.go @@ -0,0 +1,93 @@ +package grpcprotocol + +import ( + "net/http" + "testing" + + "github.com/stretchr/testify/assert" + "github.com/wundergraph/cosmo/router/pkg/config" +) + +func TestBuildConnectTransports_NilConfig(t *testing.T) { + result := BuildConnectTransports(nil, map[string]string{"rpc": "http://localhost"}, nil, http.DefaultClient) + assert.Nil(t, result) +} + +func TestBuildConnectTransports_AllGRPC(t *testing.T) { + cfg := &config.GRPCProtocolConfiguration{DefaultProtocol: ProtocolGRPC} + urls := map[string]string{"rpc-a": "http://localhost:3000"} + result := BuildConnectTransports(cfg, urls, nil, http.DefaultClient) + assert.Nil(t, result) +} + +func TestBuildConnectTransports_ConnectSubgraph(t *testing.T) { + cfg := &config.GRPCProtocolConfiguration{DefaultProtocol: ProtocolConnectRPC} + urls := map[string]string{"rpc-a": "http://localhost:3000"} + result := BuildConnectTransports(cfg, urls, nil, http.DefaultClient) + assert.NotNil(t, result) + assert.Contains(t, result, "rpc-a") +} + +func TestBuildConnectTransports_MixedProtocols(t *testing.T) { + cfg := &config.GRPCProtocolConfiguration{ + DefaultProtocol: ProtocolGRPC, + Subgraphs: map[string]config.GRPCProtocolSubgraph{ + "rpc-connect": {Protocol: ProtocolConnectRPC}, + }, + } + urls := map[string]string{ + "rpc-grpc": "http://localhost:3001", + "rpc-connect": "http://localhost:3002", + } + result := BuildConnectTransports(cfg, urls, nil, http.DefaultClient) + assert.NotNil(t, result) + assert.Contains(t, result, "rpc-connect") + assert.NotContains(t, result, "rpc-grpc") +} + +func TestBuildConnectTransports_UsesPerSubgraphHTTPClient(t *testing.T) { + customClient := &http.Client{} + cfg := &config.GRPCProtocolConfiguration{DefaultProtocol: ProtocolConnectRPC} + urls := map[string]string{"rpc-a": "http://localhost:3000"} + sgClients := map[string]*http.Client{"rpc-a": customClient} + + result := BuildConnectTransports(cfg, urls, sgClients, http.DefaultClient) + assert.NotNil(t, result) + assert.Contains(t, result, "rpc-a") +} + +func TestBuildConnectTransports_EmptyURLs(t *testing.T) { + cfg := &config.GRPCProtocolConfiguration{DefaultProtocol: ProtocolConnectRPC} + result := BuildConnectTransports(cfg, map[string]string{}, nil, http.DefaultClient) + assert.Nil(t, result) +} + +func TestNormalizeConnectBaseURL(t *testing.T) { + // The federated graph stores routing URLs in whichever scheme the user + // registered them with: gRPC name resolver schemes (dns:///, ipv4://...), + // the bare host:port form, or http(s):// for ConnectRPC. The Connect + // HTTP client only understands http(s)://, so this test pins down the + // translation between the two worlds. + tests := []struct { + name string + in string + want string + }{ + {name: "empty input passes through", in: "", want: ""}, + {name: "http URL pass-through", in: "http://localhost:8080", want: "http://localhost:8080"}, + {name: "https URL pass-through", in: "https://api.example.com:8443/v1", want: "https://api.example.com:8443/v1"}, + {name: "dns scheme triple slash", in: "dns:///localhost:8080", want: "http://localhost:8080"}, + {name: "dns scheme with authority host:port", in: "dns://8.8.8.8/example.com:9000", want: "http://example.com:9000"}, + {name: "dns scheme single colon (no slashes)", in: "dns:localhost:8080", want: "http://localhost:8080"}, + {name: "plain host:port (defaults to dns)", in: "localhost:8080", want: "http://localhost:8080"}, + {name: "ipv4 scheme single endpoint", in: "ipv4:127.0.0.1:8080", want: "http://127.0.0.1:8080"}, + {name: "unix scheme triple slash", in: "unix:///tmp/grpc.sock", want: "http://tmp/grpc.sock"}, + } + + for _, tt := range tests { + t.Run(tt.name, func(t *testing.T) { + got := normalizeConnectBaseURL(tt.in) + assert.Equal(t, tt.want, got) + }) + } +}