diff --git a/api/main.proto b/api/main.proto index 04d74a0..d282dff 100644 --- a/api/main.proto +++ b/api/main.proto @@ -229,6 +229,16 @@ service EveningDetectiveServer { }; } + rpc GetFullScenario(GetScenarioReq) returns (GetScenarioRsp) { + option (google.api.http) = { + get: "/api/scenarios/{id}/full" + }; + option (grpc.gateway.protoc_gen_openapiv2.options.openapiv2_operation) = { + tags : "Сценарии"; + summary: "Получить сценарий со всеми деталями по id"; + }; + } + rpc GetScenario(GetScenarioReq) returns (GetScenarioRsp) { option (google.api.http) = { get: "/api/scenarios/{id}" diff --git a/bin/evening_detective_server b/bin/evening_detective_server index 46d047e..8e1814e 100755 Binary files a/bin/evening_detective_server and b/bin/evening_detective_server differ diff --git a/cmd/evening_detective_server/main.swagger.json b/cmd/evening_detective_server/main.swagger.json index 04a2051..fc4652d 100644 --- a/cmd/evening_detective_server/main.swagger.json +++ b/cmd/evening_detective_server/main.swagger.json @@ -451,6 +451,38 @@ ] } }, + "/api/scenarios/{id}/full": { + "get": { + "summary": "Получить сценарий со всеми деталями по id", + "operationId": "EveningDetectiveServer_GetFullScenario", + "responses": { + "200": { + "description": "A successful response.", + "schema": { + "$ref": "#/definitions/evening_detective_serverGetScenarioRsp" + } + }, + "default": { + "description": "An unexpected error response.", + "schema": { + "$ref": "#/definitions/rpcStatus" + } + } + }, + "parameters": [ + { + "name": "id", + "in": "path", + "required": true, + "type": "integer", + "format": "int32" + } + ], + "tags": [ + "Сценарии" + ] + } + }, "/api/scenarios/{id}/places": { "post": { "summary": "Создать точку сценария", diff --git a/internal/app/server.go b/internal/app/server.go index b0a9464..3db4dd4 100644 --- a/internal/app/server.go +++ b/internal/app/server.go @@ -255,12 +255,25 @@ func (s *server) GetScenariosCatalog(ctx context.Context, req *proto.GetScenario }, nil } -func (s *server) GetScenario(ctx context.Context, req *proto.GetScenarioReq) (*proto.GetScenarioRsp, error) { +func (s *server) GetFullScenario(ctx context.Context, req *proto.GetScenarioReq) (*proto.GetScenarioRsp, error) { claims := ctx.Value("claims").(*processor_jwt.JWTClaims) if !roles.HasRole(claims, roles.Author) { return nil, status.Errorf(codes.PermissionDenied, "permission denied") } + scenario, err := s.scenarioService.GetFullScenarioByID(ctx, int(req.Id)) + if err != nil { + return &proto.GetScenarioRsp{ + Error: err.Error(), + }, nil + } + + return &proto.GetScenarioRsp{ + Scenario: mapScenario(scenario), + }, nil +} + +func (s *server) GetScenario(ctx context.Context, req *proto.GetScenarioReq) (*proto.GetScenarioRsp, error) { scenario, err := s.scenarioService.GetScenarioByID(ctx, int(req.Id)) if err != nil { return &proto.GetScenarioRsp{ diff --git a/internal/services/scenarios_service/service.go b/internal/services/scenarios_service/service.go index ab5803f..1461abe 100644 --- a/internal/services/scenarios_service/service.go +++ b/internal/services/scenarios_service/service.go @@ -56,7 +56,7 @@ func (s *ScenarioService) GetScenariosCatalog( return mapScenariosLight(scenarios, s.domain), nil } -func (s *ScenarioService) GetScenarioByID( +func (s *ScenarioService) GetFullScenarioByID( ctx context.Context, id int, ) (*Scenario, error) { @@ -67,6 +67,17 @@ func (s *ScenarioService) GetScenarioByID( return mapScenario(scenario, s.domain) } +func (s *ScenarioService) GetScenarioByID( + ctx context.Context, + id int, +) (*Scenario, error) { + scenario, err := s.scenariosRepo.GetScenarioByID(ctx, id) + if err != nil { + return nil, err + } + return mapScenarioLight(scenario, s.domain), nil +} + func (s *ScenarioService) UpdateScenarioByID( ctx context.Context, id int, diff --git a/proto/main.pb.go b/proto/main.pb.go index 38dc4d0..f7ecd80 100644 --- a/proto/main.pb.go +++ b/proto/main.pb.go @@ -2993,7 +2993,7 @@ const file_main_proto_rawDesc = "" + "\x02id\x18\x01 \x01(\x05R\x02id\x12\x12\n" + "\x04code\x18\x02 \x01(\tR\x04code\".\n" + "\x16DeleteScenarioPlaceRsp\x12\x14\n" + - "\x05error\x18\x01 \x01(\tR\x05error2\xc8*\n" + + "\x05error\x18\x01 \x01(\tR\x05error2\xc0,\n" + "\x16EveningDetectiveServer\x12\xa6\x01\n" + "\x04Ping\x12'.crabs.evening_detective_server.PingReq\x1a'.crabs.evening_detective_server.PingRsp\"L\x92A3\x12)Проверить доступностьb\x06\n" + "\x04\n" + @@ -3042,7 +3042,9 @@ const file_main_proto_rawDesc = "" + "\x0eGetMyScenarios\x121.crabs.evening_detective_server.GetMyScenariosReq\x1a1.crabs.evening_detective_server.GetMyScenariosRsp\"Z\x92A>\n" + "\x10Сценарии\x12*Получить свои сценарии\x82\xd3\xe4\x93\x02\x13\x12\x11/api/my-scenarios\x12\xe4\x01\n" + "\x13GetScenariosCatalog\x126.crabs.evening_detective_server.GetScenariosCatalogReq\x1a6.crabs.evening_detective_server.GetScenariosCatalogRsp\"]\x92AF\n" + - "\x10Сценарии\x122Получить каталог сценариев\x82\xd3\xe4\x93\x02\x0e\x12\f/api/catalog\x12\xca\x01\n" + + "\x10Сценарии\x122Получить каталог сценариев\x82\xd3\xe4\x93\x02\x0e\x12\f/api/catalog\x12\xf5\x01\n" + + "\x0fGetFullScenario\x12..crabs.evening_detective_server.GetScenarioReq\x1a..crabs.evening_detective_server.GetScenarioRsp\"\x81\x01\x92A^\n" + + "\x10Сценарии\x12JПолучить сценарий со всеми деталями по id\x82\xd3\xe4\x93\x02\x1a\x12\x18/api/scenarios/{id}/full\x12\xca\x01\n" + "\vGetScenario\x12..crabs.evening_detective_server.GetScenarioReq\x1a..crabs.evening_detective_server.GetScenarioRsp\"[\x92A=\n" + "\x10Сценарии\x12)Получить сценарий по id\x82\xd3\xe4\x93\x02\x15\x12\x13/api/scenarios/{id}\x12\xd8\x01\n" + "\x0eUpdateScenario\x121.crabs.evening_detective_server.UpdateScenarioReq\x1a1.crabs.evening_detective_server.UpdateScenarioRsp\"`\x92A?\n" + @@ -3177,41 +3179,43 @@ var file_main_proto_depIdxs = []int32{ 28, // 33: crabs.evening_detective_server.EveningDetectiveServer.AddScenario:input_type -> crabs.evening_detective_server.AddScenarioReq 30, // 34: crabs.evening_detective_server.EveningDetectiveServer.GetMyScenarios:input_type -> crabs.evening_detective_server.GetMyScenariosReq 32, // 35: crabs.evening_detective_server.EveningDetectiveServer.GetScenariosCatalog:input_type -> crabs.evening_detective_server.GetScenariosCatalogReq - 34, // 36: crabs.evening_detective_server.EveningDetectiveServer.GetScenario:input_type -> crabs.evening_detective_server.GetScenarioReq - 42, // 37: crabs.evening_detective_server.EveningDetectiveServer.UpdateScenario:input_type -> crabs.evening_detective_server.UpdateScenarioReq - 44, // 38: crabs.evening_detective_server.EveningDetectiveServer.PublicScenario:input_type -> crabs.evening_detective_server.PublicScenarioReq - 46, // 39: crabs.evening_detective_server.EveningDetectiveServer.DraftScenario:input_type -> crabs.evening_detective_server.DraftScenarioReq - 48, // 40: crabs.evening_detective_server.EveningDetectiveServer.DeleteScenario:input_type -> crabs.evening_detective_server.DeleteScenarioReq - 50, // 41: crabs.evening_detective_server.EveningDetectiveServer.AddScenarioPlace:input_type -> crabs.evening_detective_server.AddScenarioPlaceReq - 52, // 42: crabs.evening_detective_server.EveningDetectiveServer.UpdateScenarioPlace:input_type -> crabs.evening_detective_server.UpdateScenarioPlaceReq - 54, // 43: crabs.evening_detective_server.EveningDetectiveServer.DeleteScenarioPlace:input_type -> crabs.evening_detective_server.DeleteScenarioPlaceReq - 1, // 44: crabs.evening_detective_server.EveningDetectiveServer.Ping:output_type -> crabs.evening_detective_server.PingRsp - 3, // 45: crabs.evening_detective_server.EveningDetectiveServer.Echo:output_type -> crabs.evening_detective_server.EchoRsp - 5, // 46: crabs.evening_detective_server.EveningDetectiveServer.Signup:output_type -> crabs.evening_detective_server.SignupRsp - 7, // 47: crabs.evening_detective_server.EveningDetectiveServer.RefreshPassword:output_type -> crabs.evening_detective_server.RefreshPasswordRsp - 9, // 48: crabs.evening_detective_server.EveningDetectiveServer.Login:output_type -> crabs.evening_detective_server.LoginRsp - 11, // 49: crabs.evening_detective_server.EveningDetectiveServer.Refresh:output_type -> crabs.evening_detective_server.RefreshRsp - 13, // 50: crabs.evening_detective_server.EveningDetectiveServer.GetUsers:output_type -> crabs.evening_detective_server.GetUsersRsp - 16, // 51: crabs.evening_detective_server.EveningDetectiveServer.GetUserById:output_type -> crabs.evening_detective_server.GetUserByIdRsp - 18, // 52: crabs.evening_detective_server.EveningDetectiveServer.GetMe:output_type -> crabs.evening_detective_server.GetMeRsp - 20, // 53: crabs.evening_detective_server.EveningDetectiveServer.AddUserRole:output_type -> crabs.evening_detective_server.AddUserRoleRsp - 22, // 54: crabs.evening_detective_server.EveningDetectiveServer.DeleteUserRole:output_type -> crabs.evening_detective_server.DeleteUserRoleRsp - 24, // 55: crabs.evening_detective_server.EveningDetectiveServer.GetPermissions:output_type -> crabs.evening_detective_server.GetPermissionsRsp - 26, // 56: crabs.evening_detective_server.EveningDetectiveServer.UploadFile:output_type -> crabs.evening_detective_server.UploadFileRsp - 57, // 57: crabs.evening_detective_server.EveningDetectiveServer.DownloadFile:output_type -> google.api.HttpBody - 29, // 58: crabs.evening_detective_server.EveningDetectiveServer.AddScenario:output_type -> crabs.evening_detective_server.AddScenarioRsp - 31, // 59: crabs.evening_detective_server.EveningDetectiveServer.GetMyScenarios:output_type -> crabs.evening_detective_server.GetMyScenariosRsp - 33, // 60: crabs.evening_detective_server.EveningDetectiveServer.GetScenariosCatalog:output_type -> crabs.evening_detective_server.GetScenariosCatalogRsp - 35, // 61: crabs.evening_detective_server.EveningDetectiveServer.GetScenario:output_type -> crabs.evening_detective_server.GetScenarioRsp - 43, // 62: crabs.evening_detective_server.EveningDetectiveServer.UpdateScenario:output_type -> crabs.evening_detective_server.UpdateScenarioRsp - 45, // 63: crabs.evening_detective_server.EveningDetectiveServer.PublicScenario:output_type -> crabs.evening_detective_server.PublicScenarioRsp - 47, // 64: crabs.evening_detective_server.EveningDetectiveServer.DraftScenario:output_type -> crabs.evening_detective_server.DraftScenarioRsp - 49, // 65: crabs.evening_detective_server.EveningDetectiveServer.DeleteScenario:output_type -> crabs.evening_detective_server.DeleteScenarioRsp - 51, // 66: crabs.evening_detective_server.EveningDetectiveServer.AddScenarioPlace:output_type -> crabs.evening_detective_server.AddScenarioPlaceRsp - 53, // 67: crabs.evening_detective_server.EveningDetectiveServer.UpdateScenarioPlace:output_type -> crabs.evening_detective_server.UpdateScenarioPlaceRsp - 55, // 68: crabs.evening_detective_server.EveningDetectiveServer.DeleteScenarioPlace:output_type -> crabs.evening_detective_server.DeleteScenarioPlaceRsp - 44, // [44:69] is the sub-list for method output_type - 19, // [19:44] is the sub-list for method input_type + 34, // 36: crabs.evening_detective_server.EveningDetectiveServer.GetFullScenario:input_type -> crabs.evening_detective_server.GetScenarioReq + 34, // 37: crabs.evening_detective_server.EveningDetectiveServer.GetScenario:input_type -> crabs.evening_detective_server.GetScenarioReq + 42, // 38: crabs.evening_detective_server.EveningDetectiveServer.UpdateScenario:input_type -> crabs.evening_detective_server.UpdateScenarioReq + 44, // 39: crabs.evening_detective_server.EveningDetectiveServer.PublicScenario:input_type -> crabs.evening_detective_server.PublicScenarioReq + 46, // 40: crabs.evening_detective_server.EveningDetectiveServer.DraftScenario:input_type -> crabs.evening_detective_server.DraftScenarioReq + 48, // 41: crabs.evening_detective_server.EveningDetectiveServer.DeleteScenario:input_type -> crabs.evening_detective_server.DeleteScenarioReq + 50, // 42: crabs.evening_detective_server.EveningDetectiveServer.AddScenarioPlace:input_type -> crabs.evening_detective_server.AddScenarioPlaceReq + 52, // 43: crabs.evening_detective_server.EveningDetectiveServer.UpdateScenarioPlace:input_type -> crabs.evening_detective_server.UpdateScenarioPlaceReq + 54, // 44: crabs.evening_detective_server.EveningDetectiveServer.DeleteScenarioPlace:input_type -> crabs.evening_detective_server.DeleteScenarioPlaceReq + 1, // 45: crabs.evening_detective_server.EveningDetectiveServer.Ping:output_type -> crabs.evening_detective_server.PingRsp + 3, // 46: crabs.evening_detective_server.EveningDetectiveServer.Echo:output_type -> crabs.evening_detective_server.EchoRsp + 5, // 47: crabs.evening_detective_server.EveningDetectiveServer.Signup:output_type -> crabs.evening_detective_server.SignupRsp + 7, // 48: crabs.evening_detective_server.EveningDetectiveServer.RefreshPassword:output_type -> crabs.evening_detective_server.RefreshPasswordRsp + 9, // 49: crabs.evening_detective_server.EveningDetectiveServer.Login:output_type -> crabs.evening_detective_server.LoginRsp + 11, // 50: crabs.evening_detective_server.EveningDetectiveServer.Refresh:output_type -> crabs.evening_detective_server.RefreshRsp + 13, // 51: crabs.evening_detective_server.EveningDetectiveServer.GetUsers:output_type -> crabs.evening_detective_server.GetUsersRsp + 16, // 52: crabs.evening_detective_server.EveningDetectiveServer.GetUserById:output_type -> crabs.evening_detective_server.GetUserByIdRsp + 18, // 53: crabs.evening_detective_server.EveningDetectiveServer.GetMe:output_type -> crabs.evening_detective_server.GetMeRsp + 20, // 54: crabs.evening_detective_server.EveningDetectiveServer.AddUserRole:output_type -> crabs.evening_detective_server.AddUserRoleRsp + 22, // 55: crabs.evening_detective_server.EveningDetectiveServer.DeleteUserRole:output_type -> crabs.evening_detective_server.DeleteUserRoleRsp + 24, // 56: crabs.evening_detective_server.EveningDetectiveServer.GetPermissions:output_type -> crabs.evening_detective_server.GetPermissionsRsp + 26, // 57: crabs.evening_detective_server.EveningDetectiveServer.UploadFile:output_type -> crabs.evening_detective_server.UploadFileRsp + 57, // 58: crabs.evening_detective_server.EveningDetectiveServer.DownloadFile:output_type -> google.api.HttpBody + 29, // 59: crabs.evening_detective_server.EveningDetectiveServer.AddScenario:output_type -> crabs.evening_detective_server.AddScenarioRsp + 31, // 60: crabs.evening_detective_server.EveningDetectiveServer.GetMyScenarios:output_type -> crabs.evening_detective_server.GetMyScenariosRsp + 33, // 61: crabs.evening_detective_server.EveningDetectiveServer.GetScenariosCatalog:output_type -> crabs.evening_detective_server.GetScenariosCatalogRsp + 35, // 62: crabs.evening_detective_server.EveningDetectiveServer.GetFullScenario:output_type -> crabs.evening_detective_server.GetScenarioRsp + 35, // 63: crabs.evening_detective_server.EveningDetectiveServer.GetScenario:output_type -> crabs.evening_detective_server.GetScenarioRsp + 43, // 64: crabs.evening_detective_server.EveningDetectiveServer.UpdateScenario:output_type -> crabs.evening_detective_server.UpdateScenarioRsp + 45, // 65: crabs.evening_detective_server.EveningDetectiveServer.PublicScenario:output_type -> crabs.evening_detective_server.PublicScenarioRsp + 47, // 66: crabs.evening_detective_server.EveningDetectiveServer.DraftScenario:output_type -> crabs.evening_detective_server.DraftScenarioRsp + 49, // 67: crabs.evening_detective_server.EveningDetectiveServer.DeleteScenario:output_type -> crabs.evening_detective_server.DeleteScenarioRsp + 51, // 68: crabs.evening_detective_server.EveningDetectiveServer.AddScenarioPlace:output_type -> crabs.evening_detective_server.AddScenarioPlaceRsp + 53, // 69: crabs.evening_detective_server.EveningDetectiveServer.UpdateScenarioPlace:output_type -> crabs.evening_detective_server.UpdateScenarioPlaceRsp + 55, // 70: crabs.evening_detective_server.EveningDetectiveServer.DeleteScenarioPlace:output_type -> crabs.evening_detective_server.DeleteScenarioPlaceRsp + 45, // [45:71] is the sub-list for method output_type + 19, // [19:45] is the sub-list for method input_type 19, // [19:19] is the sub-list for extension type_name 19, // [19:19] is the sub-list for extension extendee 0, // [0:19] is the sub-list for field type_name diff --git a/proto/main.pb.gw.go b/proto/main.pb.gw.go index 5b3b85d..af350cc 100644 --- a/proto/main.pb.gw.go +++ b/proto/main.pb.gw.go @@ -526,6 +526,45 @@ func local_request_EveningDetectiveServer_GetScenariosCatalog_0(ctx context.Cont return msg, metadata, err } +func request_EveningDetectiveServer_GetFullScenario_0(ctx context.Context, marshaler runtime.Marshaler, client EveningDetectiveServerClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var ( + protoReq GetScenarioReq + metadata runtime.ServerMetadata + err error + ) + if req.Body != nil { + _, _ = io.Copy(io.Discard, req.Body) + } + val, ok := pathParams["id"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "id") + } + protoReq.Id, err = runtime.Int32(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "id", err) + } + msg, err := client.GetFullScenario(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) + return msg, metadata, err +} + +func local_request_EveningDetectiveServer_GetFullScenario_0(ctx context.Context, marshaler runtime.Marshaler, server EveningDetectiveServerServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var ( + protoReq GetScenarioReq + metadata runtime.ServerMetadata + err error + ) + val, ok := pathParams["id"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "id") + } + protoReq.Id, err = runtime.Int32(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "id", err) + } + msg, err := server.GetFullScenario(ctx, &protoReq) + return msg, metadata, err +} + func request_EveningDetectiveServer_GetScenario_0(ctx context.Context, marshaler runtime.Marshaler, client EveningDetectiveServerClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { var ( protoReq GetScenarioReq @@ -1246,6 +1285,26 @@ func RegisterEveningDetectiveServerHandlerServer(ctx context.Context, mux *runti } forward_EveningDetectiveServer_GetScenariosCatalog_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) }) + mux.Handle(http.MethodGet, pattern_EveningDetectiveServer_GetFullScenario_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + var stream runtime.ServerTransportStream + ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + annotatedContext, err := runtime.AnnotateIncomingContext(ctx, mux, req, "/crabs.evening_detective_server.EveningDetectiveServer/GetFullScenario", runtime.WithHTTPPathPattern("/api/scenarios/{id}/full")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := local_request_EveningDetectiveServer_GetFullScenario_0(annotatedContext, inboundMarshaler, server, req, pathParams) + md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + forward_EveningDetectiveServer_GetFullScenario_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + }) mux.Handle(http.MethodGet, pattern_EveningDetectiveServer_GetScenario_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { ctx, cancel := context.WithCancel(req.Context()) defer cancel() @@ -1735,6 +1794,23 @@ func RegisterEveningDetectiveServerHandlerClient(ctx context.Context, mux *runti } forward_EveningDetectiveServer_GetScenariosCatalog_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) }) + mux.Handle(http.MethodGet, pattern_EveningDetectiveServer_GetFullScenario_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + annotatedContext, err := runtime.AnnotateContext(ctx, mux, req, "/crabs.evening_detective_server.EveningDetectiveServer/GetFullScenario", runtime.WithHTTPPathPattern("/api/scenarios/{id}/full")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := request_EveningDetectiveServer_GetFullScenario_0(annotatedContext, inboundMarshaler, client, req, pathParams) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + forward_EveningDetectiveServer_GetFullScenario_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + }) mux.Handle(http.MethodGet, pattern_EveningDetectiveServer_GetScenario_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { ctx, cancel := context.WithCancel(req.Context()) defer cancel() @@ -1892,6 +1968,7 @@ var ( pattern_EveningDetectiveServer_AddScenario_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1}, []string{"api", "scenario"}, "")) pattern_EveningDetectiveServer_GetMyScenarios_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1}, []string{"api", "my-scenarios"}, "")) pattern_EveningDetectiveServer_GetScenariosCatalog_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1}, []string{"api", "catalog"}, "")) + pattern_EveningDetectiveServer_GetFullScenario_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 1, 0, 4, 1, 5, 2, 2, 3}, []string{"api", "scenarios", "id", "full"}, "")) pattern_EveningDetectiveServer_GetScenario_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 1, 0, 4, 1, 5, 2}, []string{"api", "scenarios", "id"}, "")) pattern_EveningDetectiveServer_UpdateScenario_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 1, 0, 4, 1, 5, 2}, []string{"api", "scenarios", "id"}, "")) pattern_EveningDetectiveServer_PublicScenario_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 1, 0, 4, 1, 5, 2, 2, 3}, []string{"api", "scenarios", "id", "public"}, "")) @@ -1920,6 +1997,7 @@ var ( forward_EveningDetectiveServer_AddScenario_0 = runtime.ForwardResponseMessage forward_EveningDetectiveServer_GetMyScenarios_0 = runtime.ForwardResponseMessage forward_EveningDetectiveServer_GetScenariosCatalog_0 = runtime.ForwardResponseMessage + forward_EveningDetectiveServer_GetFullScenario_0 = runtime.ForwardResponseMessage forward_EveningDetectiveServer_GetScenario_0 = runtime.ForwardResponseMessage forward_EveningDetectiveServer_UpdateScenario_0 = runtime.ForwardResponseMessage forward_EveningDetectiveServer_PublicScenario_0 = runtime.ForwardResponseMessage diff --git a/proto/main_grpc.pb.go b/proto/main_grpc.pb.go index 368ccbd..5d68238 100644 --- a/proto/main_grpc.pb.go +++ b/proto/main_grpc.pb.go @@ -37,6 +37,7 @@ const ( EveningDetectiveServer_AddScenario_FullMethodName = "/crabs.evening_detective_server.EveningDetectiveServer/AddScenario" EveningDetectiveServer_GetMyScenarios_FullMethodName = "/crabs.evening_detective_server.EveningDetectiveServer/GetMyScenarios" EveningDetectiveServer_GetScenariosCatalog_FullMethodName = "/crabs.evening_detective_server.EveningDetectiveServer/GetScenariosCatalog" + EveningDetectiveServer_GetFullScenario_FullMethodName = "/crabs.evening_detective_server.EveningDetectiveServer/GetFullScenario" EveningDetectiveServer_GetScenario_FullMethodName = "/crabs.evening_detective_server.EveningDetectiveServer/GetScenario" EveningDetectiveServer_UpdateScenario_FullMethodName = "/crabs.evening_detective_server.EveningDetectiveServer/UpdateScenario" EveningDetectiveServer_PublicScenario_FullMethodName = "/crabs.evening_detective_server.EveningDetectiveServer/PublicScenario" @@ -68,6 +69,7 @@ type EveningDetectiveServerClient interface { AddScenario(ctx context.Context, in *AddScenarioReq, opts ...grpc.CallOption) (*AddScenarioRsp, error) GetMyScenarios(ctx context.Context, in *GetMyScenariosReq, opts ...grpc.CallOption) (*GetMyScenariosRsp, error) GetScenariosCatalog(ctx context.Context, in *GetScenariosCatalogReq, opts ...grpc.CallOption) (*GetScenariosCatalogRsp, error) + GetFullScenario(ctx context.Context, in *GetScenarioReq, opts ...grpc.CallOption) (*GetScenarioRsp, error) GetScenario(ctx context.Context, in *GetScenarioReq, opts ...grpc.CallOption) (*GetScenarioRsp, error) UpdateScenario(ctx context.Context, in *UpdateScenarioReq, opts ...grpc.CallOption) (*UpdateScenarioRsp, error) PublicScenario(ctx context.Context, in *PublicScenarioReq, opts ...grpc.CallOption) (*PublicScenarioRsp, error) @@ -256,6 +258,16 @@ func (c *eveningDetectiveServerClient) GetScenariosCatalog(ctx context.Context, return out, nil } +func (c *eveningDetectiveServerClient) GetFullScenario(ctx context.Context, in *GetScenarioReq, opts ...grpc.CallOption) (*GetScenarioRsp, error) { + cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...) + out := new(GetScenarioRsp) + err := c.cc.Invoke(ctx, EveningDetectiveServer_GetFullScenario_FullMethodName, in, out, cOpts...) + if err != nil { + return nil, err + } + return out, nil +} + func (c *eveningDetectiveServerClient) GetScenario(ctx context.Context, in *GetScenarioReq, opts ...grpc.CallOption) (*GetScenarioRsp, error) { cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...) out := new(GetScenarioRsp) @@ -357,6 +369,7 @@ type EveningDetectiveServerServer interface { AddScenario(context.Context, *AddScenarioReq) (*AddScenarioRsp, error) GetMyScenarios(context.Context, *GetMyScenariosReq) (*GetMyScenariosRsp, error) GetScenariosCatalog(context.Context, *GetScenariosCatalogReq) (*GetScenariosCatalogRsp, error) + GetFullScenario(context.Context, *GetScenarioReq) (*GetScenarioRsp, error) GetScenario(context.Context, *GetScenarioReq) (*GetScenarioRsp, error) UpdateScenario(context.Context, *UpdateScenarioReq) (*UpdateScenarioRsp, error) PublicScenario(context.Context, *PublicScenarioReq) (*PublicScenarioRsp, error) @@ -426,6 +439,9 @@ func (UnimplementedEveningDetectiveServerServer) GetMyScenarios(context.Context, func (UnimplementedEveningDetectiveServerServer) GetScenariosCatalog(context.Context, *GetScenariosCatalogReq) (*GetScenariosCatalogRsp, error) { return nil, status.Error(codes.Unimplemented, "method GetScenariosCatalog not implemented") } +func (UnimplementedEveningDetectiveServerServer) GetFullScenario(context.Context, *GetScenarioReq) (*GetScenarioRsp, error) { + return nil, status.Error(codes.Unimplemented, "method GetFullScenario not implemented") +} func (UnimplementedEveningDetectiveServerServer) GetScenario(context.Context, *GetScenarioReq) (*GetScenarioRsp, error) { return nil, status.Error(codes.Unimplemented, "method GetScenario not implemented") } @@ -778,6 +794,24 @@ func _EveningDetectiveServer_GetScenariosCatalog_Handler(srv interface{}, ctx co return interceptor(ctx, in, info, handler) } +func _EveningDetectiveServer_GetFullScenario_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(GetScenarioReq) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(EveningDetectiveServerServer).GetFullScenario(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: EveningDetectiveServer_GetFullScenario_FullMethodName, + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(EveningDetectiveServerServer).GetFullScenario(ctx, req.(*GetScenarioReq)) + } + return interceptor(ctx, in, info, handler) +} + func _EveningDetectiveServer_GetScenario_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { in := new(GetScenarioReq) if err := dec(in); err != nil { @@ -997,6 +1031,10 @@ var EveningDetectiveServer_ServiceDesc = grpc.ServiceDesc{ MethodName: "GetScenariosCatalog", Handler: _EveningDetectiveServer_GetScenariosCatalog_Handler, }, + { + MethodName: "GetFullScenario", + Handler: _EveningDetectiveServer_GetFullScenario_Handler, + }, { MethodName: "GetScenario", Handler: _EveningDetectiveServer_GetScenario_Handler,