diff --git a/api/main.proto b/api/main.proto index b341a00..c8274d3 100644 --- a/api/main.proto +++ b/api/main.proto @@ -445,6 +445,19 @@ service EveningDetectiveServer { summary: "Сделать ход"; }; } + + rpc DeleteLastTeamAction(DeleteLastTeamActionReq) returns (DeleteLastTeamActionRsp) { + option (google.api.http) = { + delete: "/api/teams/{id}/last-actions" + }; + option (grpc.gateway.protoc_gen_openapiv2.options.openapiv2_operation) = { + security: { + security_requirement: {} + } + tags : "Ходы"; + summary: "Удалить последний ход"; + }; + } } message PingReq {} @@ -823,3 +836,11 @@ message AddTeamActionReq { message AddTeamActionRsp { string error = 1; } + +message DeleteLastTeamActionReq { + int64 id = 1; +} + +message DeleteLastTeamActionRsp { + string error = 1; +} diff --git a/cmd/evening_detective_server/main.swagger.json b/cmd/evening_detective_server/main.swagger.json index c52933b..f6559d0 100644 --- a/cmd/evening_detective_server/main.swagger.json +++ b/cmd/evening_detective_server/main.swagger.json @@ -1028,6 +1028,43 @@ ] } }, + "/api/teams/{id}/last-actions": { + "delete": { + "summary": "Удалить последний ход", + "operationId": "EveningDetectiveServer_DeleteLastTeamAction", + "responses": { + "200": { + "description": "A successful response.", + "schema": { + "$ref": "#/definitions/evening_detective_serverDeleteLastTeamActionRsp" + } + }, + "default": { + "description": "An unexpected error response.", + "schema": { + "$ref": "#/definitions/rpcStatus" + } + } + }, + "parameters": [ + { + "name": "id", + "in": "path", + "required": true, + "type": "string", + "format": "int64" + } + ], + "tags": [ + "Ходы" + ], + "security": [ + { + "": [] + } + ] + } + }, "/api/test/echo": { "post": { "summary": "Проверить обработку данных", @@ -1510,6 +1547,14 @@ } } }, + "evening_detective_serverDeleteLastTeamActionRsp": { + "type": "object", + "properties": { + "error": { + "type": "string" + } + } + }, "evening_detective_serverDeleteScenarioPlaceRsp": { "type": "object", "properties": { diff --git a/proto/main.pb.go b/proto/main.pb.go index fbc3424..cc4ea9a 100644 --- a/proto/main.pb.go +++ b/proto/main.pb.go @@ -4065,6 +4065,94 @@ func (x *AddTeamActionRsp) GetError() string { return "" } +type DeleteLastTeamActionReq struct { + state protoimpl.MessageState `protogen:"open.v1"` + Id int64 `protobuf:"varint,1,opt,name=id,proto3" json:"id,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *DeleteLastTeamActionReq) Reset() { + *x = DeleteLastTeamActionReq{} + mi := &file_main_proto_msgTypes[80] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *DeleteLastTeamActionReq) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*DeleteLastTeamActionReq) ProtoMessage() {} + +func (x *DeleteLastTeamActionReq) ProtoReflect() protoreflect.Message { + mi := &file_main_proto_msgTypes[80] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use DeleteLastTeamActionReq.ProtoReflect.Descriptor instead. +func (*DeleteLastTeamActionReq) Descriptor() ([]byte, []int) { + return file_main_proto_rawDescGZIP(), []int{80} +} + +func (x *DeleteLastTeamActionReq) GetId() int64 { + if x != nil { + return x.Id + } + return 0 +} + +type DeleteLastTeamActionRsp struct { + state protoimpl.MessageState `protogen:"open.v1"` + Error string `protobuf:"bytes,1,opt,name=error,proto3" json:"error,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *DeleteLastTeamActionRsp) Reset() { + *x = DeleteLastTeamActionRsp{} + mi := &file_main_proto_msgTypes[81] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *DeleteLastTeamActionRsp) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*DeleteLastTeamActionRsp) ProtoMessage() {} + +func (x *DeleteLastTeamActionRsp) ProtoReflect() protoreflect.Message { + mi := &file_main_proto_msgTypes[81] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use DeleteLastTeamActionRsp.ProtoReflect.Descriptor instead. +func (*DeleteLastTeamActionRsp) Descriptor() ([]byte, []int) { + return file_main_proto_rawDescGZIP(), []int{81} +} + +func (x *DeleteLastTeamActionRsp) GetError() string { + if x != nil { + return x.Error + } + return "" +} + var File_main_proto protoreflect.FileDescriptor const file_main_proto_rawDesc = "" + @@ -4312,7 +4400,11 @@ const file_main_proto_rawDesc = "" + "\bpassword\x18\x02 \x01(\tR\bpassword\x12\x12\n" + "\x04code\x18\x03 \x01(\tR\x04code\"(\n" + "\x10AddTeamActionRsp\x12\x14\n" + - "\x05error\x18\x01 \x01(\tR\x05error2\x98<\n" + + "\x05error\x18\x01 \x01(\tR\x05error\")\n" + + "\x17DeleteLastTeamActionReq\x12\x0e\n" + + "\x02id\x18\x01 \x01(\x03R\x02id\"/\n" + + "\x17DeleteLastTeamActionRsp\x12\x14\n" + + "\x05error\x18\x01 \x01(\tR\x05error2\x88>\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" + @@ -4412,7 +4504,11 @@ const file_main_proto_rawDesc = "" + "\rAddTeamAction\x120.crabs.evening_detective_server.AddTeamActionReq\x1a0.crabs.evening_detective_server.AddTeamActionRsp\"N\x92A)\n" + "\bХоды\x12\x15Сделать ходb\x06\n" + "\x04\n" + - "\x00\x12\x00\x82\xd3\xe4\x93\x02\x1c:\x01*\"\x17/api/teams/{id}/actionsB\xd7\x01\x92A\xc8\x01\x12U\n" + + "\x00\x12\x00\x82\xd3\xe4\x93\x02\x1c:\x01*\"\x17/api/teams/{id}/actions\x12\xed\x01\n" + + "\x14DeleteLastTeamAction\x127.crabs.evening_detective_server.DeleteLastTeamActionReq\x1a7.crabs.evening_detective_server.DeleteLastTeamActionRsp\"c\x92A<\n" + + "\bХоды\x12(Удалить последний ходb\x06\n" + + "\x04\n" + + "\x00\x12\x00\x82\xd3\xe4\x93\x02\x1e*\x1c/api/teams/{id}/last-actionsB\xd7\x01\x92A\xc8\x01\x12U\n" + "KДокументация сервиса \"Вечерний детектив\"2\x06v0.1.0Z]\n" + "[\n" + "\n" + @@ -4433,7 +4529,7 @@ func file_main_proto_rawDescGZIP() []byte { return file_main_proto_rawDescData } -var file_main_proto_msgTypes = make([]protoimpl.MessageInfo, 80) +var file_main_proto_msgTypes = make([]protoimpl.MessageInfo, 82) var file_main_proto_goTypes = []any{ (*PingReq)(nil), // 0: crabs.evening_detective_server.PingReq (*PingRsp)(nil), // 1: crabs.evening_detective_server.PingRsp @@ -4515,12 +4611,14 @@ var file_main_proto_goTypes = []any{ (*GetTeamActionsRsp)(nil), // 77: crabs.evening_detective_server.GetTeamActionsRsp (*AddTeamActionReq)(nil), // 78: crabs.evening_detective_server.AddTeamActionReq (*AddTeamActionRsp)(nil), // 79: crabs.evening_detective_server.AddTeamActionRsp - (*timestamppb.Timestamp)(nil), // 80: google.protobuf.Timestamp - (*httpbody.HttpBody)(nil), // 81: google.api.HttpBody + (*DeleteLastTeamActionReq)(nil), // 80: crabs.evening_detective_server.DeleteLastTeamActionReq + (*DeleteLastTeamActionRsp)(nil), // 81: crabs.evening_detective_server.DeleteLastTeamActionRsp + (*timestamppb.Timestamp)(nil), // 82: google.protobuf.Timestamp + (*httpbody.HttpBody)(nil), // 83: google.api.HttpBody } var file_main_proto_depIdxs = []int32{ 14, // 0: crabs.evening_detective_server.GetUsersRsp.users:type_name -> crabs.evening_detective_server.User - 80, // 1: crabs.evening_detective_server.User.created_at:type_name -> google.protobuf.Timestamp + 82, // 1: crabs.evening_detective_server.User.created_at:type_name -> google.protobuf.Timestamp 14, // 2: crabs.evening_detective_server.GetUserByIdRsp.user:type_name -> crabs.evening_detective_server.User 14, // 3: crabs.evening_detective_server.GetMeRsp.user:type_name -> crabs.evening_detective_server.User 36, // 4: crabs.evening_detective_server.GetMyScenariosRsp.scenarios:type_name -> crabs.evening_detective_server.Scenario @@ -4528,9 +4626,9 @@ var file_main_proto_depIdxs = []int32{ 36, // 6: crabs.evening_detective_server.GetScenarioRsp.scenario:type_name -> crabs.evening_detective_server.Scenario 37, // 7: crabs.evening_detective_server.Scenario.story:type_name -> crabs.evening_detective_server.Story 14, // 8: crabs.evening_detective_server.Scenario.author:type_name -> crabs.evening_detective_server.User - 80, // 9: crabs.evening_detective_server.Scenario.updated_at:type_name -> google.protobuf.Timestamp - 80, // 10: crabs.evening_detective_server.Scenario.created_at:type_name -> google.protobuf.Timestamp - 80, // 11: crabs.evening_detective_server.Scenario.published_at:type_name -> google.protobuf.Timestamp + 82, // 9: crabs.evening_detective_server.Scenario.updated_at:type_name -> google.protobuf.Timestamp + 82, // 10: crabs.evening_detective_server.Scenario.created_at:type_name -> google.protobuf.Timestamp + 82, // 11: crabs.evening_detective_server.Scenario.published_at:type_name -> google.protobuf.Timestamp 38, // 12: crabs.evening_detective_server.Story.places:type_name -> crabs.evening_detective_server.Place 39, // 13: crabs.evening_detective_server.Place.applications:type_name -> crabs.evening_detective_server.Application 40, // 14: crabs.evening_detective_server.Place.doors:type_name -> crabs.evening_detective_server.Door @@ -4538,13 +4636,13 @@ var file_main_proto_depIdxs = []int32{ 41, // 16: crabs.evening_detective_server.Door.keys:type_name -> crabs.evening_detective_server.Key 38, // 17: crabs.evening_detective_server.AddScenarioPlaceReq.place:type_name -> crabs.evening_detective_server.Place 38, // 18: crabs.evening_detective_server.UpdateScenarioPlaceReq.place:type_name -> crabs.evening_detective_server.Place - 80, // 19: crabs.evening_detective_server.AddGameReq.start_at:type_name -> google.protobuf.Timestamp + 82, // 19: crabs.evening_detective_server.AddGameReq.start_at:type_name -> google.protobuf.Timestamp 60, // 20: crabs.evening_detective_server.GetGamesRsp.games:type_name -> crabs.evening_detective_server.Game - 80, // 21: crabs.evening_detective_server.Game.start_at:type_name -> google.protobuf.Timestamp + 82, // 21: crabs.evening_detective_server.Game.start_at:type_name -> google.protobuf.Timestamp 36, // 22: crabs.evening_detective_server.Game.scenario:type_name -> crabs.evening_detective_server.Scenario 61, // 23: crabs.evening_detective_server.Game.teams:type_name -> crabs.evening_detective_server.Team 60, // 24: crabs.evening_detective_server.GetGameRsp.game:type_name -> crabs.evening_detective_server.Game - 80, // 25: crabs.evening_detective_server.UpdateGameReq.start_at:type_name -> google.protobuf.Timestamp + 82, // 25: crabs.evening_detective_server.UpdateGameReq.start_at:type_name -> google.protobuf.Timestamp 38, // 26: crabs.evening_detective_server.GetTeamActionsRsp.places:type_name -> crabs.evening_detective_server.Place 0, // 27: crabs.evening_detective_server.EveningDetectiveServer.Ping:input_type -> crabs.evening_detective_server.PingReq 2, // 28: crabs.evening_detective_server.EveningDetectiveServer.Echo:input_type -> crabs.evening_detective_server.EchoReq @@ -4583,45 +4681,47 @@ var file_main_proto_depIdxs = []int32{ 74, // 61: crabs.evening_detective_server.EveningDetectiveServer.GiveTeamApplications:input_type -> crabs.evening_detective_server.GiveTeamApplicationsReq 76, // 62: crabs.evening_detective_server.EveningDetectiveServer.GetTeamActions:input_type -> crabs.evening_detective_server.GetTeamActionsReq 78, // 63: crabs.evening_detective_server.EveningDetectiveServer.AddTeamAction:input_type -> crabs.evening_detective_server.AddTeamActionReq - 1, // 64: crabs.evening_detective_server.EveningDetectiveServer.Ping:output_type -> crabs.evening_detective_server.PingRsp - 3, // 65: crabs.evening_detective_server.EveningDetectiveServer.Echo:output_type -> crabs.evening_detective_server.EchoRsp - 5, // 66: crabs.evening_detective_server.EveningDetectiveServer.Signup:output_type -> crabs.evening_detective_server.SignupRsp - 7, // 67: crabs.evening_detective_server.EveningDetectiveServer.RefreshPassword:output_type -> crabs.evening_detective_server.RefreshPasswordRsp - 9, // 68: crabs.evening_detective_server.EveningDetectiveServer.Login:output_type -> crabs.evening_detective_server.LoginRsp - 11, // 69: crabs.evening_detective_server.EveningDetectiveServer.Refresh:output_type -> crabs.evening_detective_server.RefreshRsp - 13, // 70: crabs.evening_detective_server.EveningDetectiveServer.GetUsers:output_type -> crabs.evening_detective_server.GetUsersRsp - 16, // 71: crabs.evening_detective_server.EveningDetectiveServer.GetUserById:output_type -> crabs.evening_detective_server.GetUserByIdRsp - 18, // 72: crabs.evening_detective_server.EveningDetectiveServer.GetMe:output_type -> crabs.evening_detective_server.GetMeRsp - 20, // 73: crabs.evening_detective_server.EveningDetectiveServer.AddUserRole:output_type -> crabs.evening_detective_server.AddUserRoleRsp - 22, // 74: crabs.evening_detective_server.EveningDetectiveServer.DeleteUserRole:output_type -> crabs.evening_detective_server.DeleteUserRoleRsp - 24, // 75: crabs.evening_detective_server.EveningDetectiveServer.GetPermissions:output_type -> crabs.evening_detective_server.GetPermissionsRsp - 26, // 76: crabs.evening_detective_server.EveningDetectiveServer.UploadFile:output_type -> crabs.evening_detective_server.UploadFileRsp - 81, // 77: crabs.evening_detective_server.EveningDetectiveServer.DownloadFile:output_type -> google.api.HttpBody - 29, // 78: crabs.evening_detective_server.EveningDetectiveServer.AddScenario:output_type -> crabs.evening_detective_server.AddScenarioRsp - 31, // 79: crabs.evening_detective_server.EveningDetectiveServer.GetMyScenarios:output_type -> crabs.evening_detective_server.GetMyScenariosRsp - 33, // 80: crabs.evening_detective_server.EveningDetectiveServer.GetScenariosCatalog:output_type -> crabs.evening_detective_server.GetScenariosCatalogRsp - 35, // 81: crabs.evening_detective_server.EveningDetectiveServer.GetFullScenario:output_type -> crabs.evening_detective_server.GetScenarioRsp - 35, // 82: crabs.evening_detective_server.EveningDetectiveServer.GetScenario:output_type -> crabs.evening_detective_server.GetScenarioRsp - 43, // 83: crabs.evening_detective_server.EveningDetectiveServer.UpdateScenario:output_type -> crabs.evening_detective_server.UpdateScenarioRsp - 45, // 84: crabs.evening_detective_server.EveningDetectiveServer.PublicScenario:output_type -> crabs.evening_detective_server.PublicScenarioRsp - 47, // 85: crabs.evening_detective_server.EveningDetectiveServer.DraftScenario:output_type -> crabs.evening_detective_server.DraftScenarioRsp - 49, // 86: crabs.evening_detective_server.EveningDetectiveServer.DeleteScenario:output_type -> crabs.evening_detective_server.DeleteScenarioRsp - 51, // 87: crabs.evening_detective_server.EveningDetectiveServer.AddScenarioPlace:output_type -> crabs.evening_detective_server.AddScenarioPlaceRsp - 53, // 88: crabs.evening_detective_server.EveningDetectiveServer.UpdateScenarioPlace:output_type -> crabs.evening_detective_server.UpdateScenarioPlaceRsp - 55, // 89: crabs.evening_detective_server.EveningDetectiveServer.DeleteScenarioPlace:output_type -> crabs.evening_detective_server.DeleteScenarioPlaceRsp - 57, // 90: crabs.evening_detective_server.EveningDetectiveServer.AddGame:output_type -> crabs.evening_detective_server.AddGameRsp - 59, // 91: crabs.evening_detective_server.EveningDetectiveServer.GetGames:output_type -> crabs.evening_detective_server.GetGamesRsp - 63, // 92: crabs.evening_detective_server.EveningDetectiveServer.GetGame:output_type -> crabs.evening_detective_server.GetGameRsp - 65, // 93: crabs.evening_detective_server.EveningDetectiveServer.UpdateGame:output_type -> crabs.evening_detective_server.UpdateGameRsp - 67, // 94: crabs.evening_detective_server.EveningDetectiveServer.DeleteGame:output_type -> crabs.evening_detective_server.DeleteGameRsp - 69, // 95: crabs.evening_detective_server.EveningDetectiveServer.AddTeam:output_type -> crabs.evening_detective_server.AddTeamRsp - 71, // 96: crabs.evening_detective_server.EveningDetectiveServer.UpdateTeam:output_type -> crabs.evening_detective_server.UpdateTeamRsp - 73, // 97: crabs.evening_detective_server.EveningDetectiveServer.DeleteTeam:output_type -> crabs.evening_detective_server.DeleteTeamRsp - 75, // 98: crabs.evening_detective_server.EveningDetectiveServer.GiveTeamApplications:output_type -> crabs.evening_detective_server.GiveTeamApplicationsRsp - 77, // 99: crabs.evening_detective_server.EveningDetectiveServer.GetTeamActions:output_type -> crabs.evening_detective_server.GetTeamActionsRsp - 79, // 100: crabs.evening_detective_server.EveningDetectiveServer.AddTeamAction:output_type -> crabs.evening_detective_server.AddTeamActionRsp - 64, // [64:101] is the sub-list for method output_type - 27, // [27:64] is the sub-list for method input_type + 80, // 64: crabs.evening_detective_server.EveningDetectiveServer.DeleteLastTeamAction:input_type -> crabs.evening_detective_server.DeleteLastTeamActionReq + 1, // 65: crabs.evening_detective_server.EveningDetectiveServer.Ping:output_type -> crabs.evening_detective_server.PingRsp + 3, // 66: crabs.evening_detective_server.EveningDetectiveServer.Echo:output_type -> crabs.evening_detective_server.EchoRsp + 5, // 67: crabs.evening_detective_server.EveningDetectiveServer.Signup:output_type -> crabs.evening_detective_server.SignupRsp + 7, // 68: crabs.evening_detective_server.EveningDetectiveServer.RefreshPassword:output_type -> crabs.evening_detective_server.RefreshPasswordRsp + 9, // 69: crabs.evening_detective_server.EveningDetectiveServer.Login:output_type -> crabs.evening_detective_server.LoginRsp + 11, // 70: crabs.evening_detective_server.EveningDetectiveServer.Refresh:output_type -> crabs.evening_detective_server.RefreshRsp + 13, // 71: crabs.evening_detective_server.EveningDetectiveServer.GetUsers:output_type -> crabs.evening_detective_server.GetUsersRsp + 16, // 72: crabs.evening_detective_server.EveningDetectiveServer.GetUserById:output_type -> crabs.evening_detective_server.GetUserByIdRsp + 18, // 73: crabs.evening_detective_server.EveningDetectiveServer.GetMe:output_type -> crabs.evening_detective_server.GetMeRsp + 20, // 74: crabs.evening_detective_server.EveningDetectiveServer.AddUserRole:output_type -> crabs.evening_detective_server.AddUserRoleRsp + 22, // 75: crabs.evening_detective_server.EveningDetectiveServer.DeleteUserRole:output_type -> crabs.evening_detective_server.DeleteUserRoleRsp + 24, // 76: crabs.evening_detective_server.EveningDetectiveServer.GetPermissions:output_type -> crabs.evening_detective_server.GetPermissionsRsp + 26, // 77: crabs.evening_detective_server.EveningDetectiveServer.UploadFile:output_type -> crabs.evening_detective_server.UploadFileRsp + 83, // 78: crabs.evening_detective_server.EveningDetectiveServer.DownloadFile:output_type -> google.api.HttpBody + 29, // 79: crabs.evening_detective_server.EveningDetectiveServer.AddScenario:output_type -> crabs.evening_detective_server.AddScenarioRsp + 31, // 80: crabs.evening_detective_server.EveningDetectiveServer.GetMyScenarios:output_type -> crabs.evening_detective_server.GetMyScenariosRsp + 33, // 81: crabs.evening_detective_server.EveningDetectiveServer.GetScenariosCatalog:output_type -> crabs.evening_detective_server.GetScenariosCatalogRsp + 35, // 82: crabs.evening_detective_server.EveningDetectiveServer.GetFullScenario:output_type -> crabs.evening_detective_server.GetScenarioRsp + 35, // 83: crabs.evening_detective_server.EveningDetectiveServer.GetScenario:output_type -> crabs.evening_detective_server.GetScenarioRsp + 43, // 84: crabs.evening_detective_server.EveningDetectiveServer.UpdateScenario:output_type -> crabs.evening_detective_server.UpdateScenarioRsp + 45, // 85: crabs.evening_detective_server.EveningDetectiveServer.PublicScenario:output_type -> crabs.evening_detective_server.PublicScenarioRsp + 47, // 86: crabs.evening_detective_server.EveningDetectiveServer.DraftScenario:output_type -> crabs.evening_detective_server.DraftScenarioRsp + 49, // 87: crabs.evening_detective_server.EveningDetectiveServer.DeleteScenario:output_type -> crabs.evening_detective_server.DeleteScenarioRsp + 51, // 88: crabs.evening_detective_server.EveningDetectiveServer.AddScenarioPlace:output_type -> crabs.evening_detective_server.AddScenarioPlaceRsp + 53, // 89: crabs.evening_detective_server.EveningDetectiveServer.UpdateScenarioPlace:output_type -> crabs.evening_detective_server.UpdateScenarioPlaceRsp + 55, // 90: crabs.evening_detective_server.EveningDetectiveServer.DeleteScenarioPlace:output_type -> crabs.evening_detective_server.DeleteScenarioPlaceRsp + 57, // 91: crabs.evening_detective_server.EveningDetectiveServer.AddGame:output_type -> crabs.evening_detective_server.AddGameRsp + 59, // 92: crabs.evening_detective_server.EveningDetectiveServer.GetGames:output_type -> crabs.evening_detective_server.GetGamesRsp + 63, // 93: crabs.evening_detective_server.EveningDetectiveServer.GetGame:output_type -> crabs.evening_detective_server.GetGameRsp + 65, // 94: crabs.evening_detective_server.EveningDetectiveServer.UpdateGame:output_type -> crabs.evening_detective_server.UpdateGameRsp + 67, // 95: crabs.evening_detective_server.EveningDetectiveServer.DeleteGame:output_type -> crabs.evening_detective_server.DeleteGameRsp + 69, // 96: crabs.evening_detective_server.EveningDetectiveServer.AddTeam:output_type -> crabs.evening_detective_server.AddTeamRsp + 71, // 97: crabs.evening_detective_server.EveningDetectiveServer.UpdateTeam:output_type -> crabs.evening_detective_server.UpdateTeamRsp + 73, // 98: crabs.evening_detective_server.EveningDetectiveServer.DeleteTeam:output_type -> crabs.evening_detective_server.DeleteTeamRsp + 75, // 99: crabs.evening_detective_server.EveningDetectiveServer.GiveTeamApplications:output_type -> crabs.evening_detective_server.GiveTeamApplicationsRsp + 77, // 100: crabs.evening_detective_server.EveningDetectiveServer.GetTeamActions:output_type -> crabs.evening_detective_server.GetTeamActionsRsp + 79, // 101: crabs.evening_detective_server.EveningDetectiveServer.AddTeamAction:output_type -> crabs.evening_detective_server.AddTeamActionRsp + 81, // 102: crabs.evening_detective_server.EveningDetectiveServer.DeleteLastTeamAction:output_type -> crabs.evening_detective_server.DeleteLastTeamActionRsp + 65, // [65:103] is the sub-list for method output_type + 27, // [27:65] is the sub-list for method input_type 27, // [27:27] is the sub-list for extension type_name 27, // [27:27] is the sub-list for extension extendee 0, // [0:27] is the sub-list for field type_name @@ -4639,7 +4739,7 @@ func file_main_proto_init() { GoPackagePath: reflect.TypeOf(x{}).PkgPath(), RawDescriptor: unsafe.Slice(unsafe.StringData(file_main_proto_rawDesc), len(file_main_proto_rawDesc)), NumEnums: 0, - NumMessages: 80, + NumMessages: 82, NumExtensions: 0, NumServices: 1, }, diff --git a/proto/main.pb.gw.go b/proto/main.pb.gw.go index 2ff271c..1abae76 100644 --- a/proto/main.pb.gw.go +++ b/proto/main.pb.gw.go @@ -1364,6 +1364,45 @@ func local_request_EveningDetectiveServer_AddTeamAction_0(ctx context.Context, m return msg, metadata, err } +func request_EveningDetectiveServer_DeleteLastTeamAction_0(ctx context.Context, marshaler runtime.Marshaler, client EveningDetectiveServerClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var ( + protoReq DeleteLastTeamActionReq + 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.Int64(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "id", err) + } + msg, err := client.DeleteLastTeamAction(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) + return msg, metadata, err +} + +func local_request_EveningDetectiveServer_DeleteLastTeamAction_0(ctx context.Context, marshaler runtime.Marshaler, server EveningDetectiveServerServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var ( + protoReq DeleteLastTeamActionReq + 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.Int64(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "id", err) + } + msg, err := server.DeleteLastTeamAction(ctx, &protoReq) + return msg, metadata, err +} + // RegisterEveningDetectiveServerHandlerServer registers the http handlers for service EveningDetectiveServer to "mux". // UnaryRPC :call EveningDetectiveServerServer directly. // StreamingRPC :currently unsupported pending https://github.com/grpc/grpc-go/issues/906. @@ -2110,6 +2149,26 @@ func RegisterEveningDetectiveServerHandlerServer(ctx context.Context, mux *runti } forward_EveningDetectiveServer_AddTeamAction_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) }) + mux.Handle(http.MethodDelete, pattern_EveningDetectiveServer_DeleteLastTeamAction_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/DeleteLastTeamAction", runtime.WithHTTPPathPattern("/api/teams/{id}/last-actions")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := local_request_EveningDetectiveServer_DeleteLastTeamAction_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_DeleteLastTeamAction_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + }) return nil } @@ -2779,6 +2838,23 @@ func RegisterEveningDetectiveServerHandlerClient(ctx context.Context, mux *runti } forward_EveningDetectiveServer_AddTeamAction_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) }) + mux.Handle(http.MethodDelete, pattern_EveningDetectiveServer_DeleteLastTeamAction_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/DeleteLastTeamAction", runtime.WithHTTPPathPattern("/api/teams/{id}/last-actions")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := request_EveningDetectiveServer_DeleteLastTeamAction_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_DeleteLastTeamAction_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + }) return nil } @@ -2820,6 +2896,7 @@ var ( pattern_EveningDetectiveServer_GiveTeamApplications_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 1, 0, 4, 1, 5, 2, 2, 3}, []string{"api", "teams", "id", "applications"}, "")) pattern_EveningDetectiveServer_GetTeamActions_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 1, 0, 4, 1, 5, 2, 2, 3}, []string{"api", "teams", "id", "actions"}, "")) pattern_EveningDetectiveServer_AddTeamAction_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 1, 0, 4, 1, 5, 2, 2, 3}, []string{"api", "teams", "id", "actions"}, "")) + pattern_EveningDetectiveServer_DeleteLastTeamAction_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 1, 0, 4, 1, 5, 2, 2, 3}, []string{"api", "teams", "id", "last-actions"}, "")) ) var ( @@ -2860,4 +2937,5 @@ var ( forward_EveningDetectiveServer_GiveTeamApplications_0 = runtime.ForwardResponseMessage forward_EveningDetectiveServer_GetTeamActions_0 = runtime.ForwardResponseMessage forward_EveningDetectiveServer_AddTeamAction_0 = runtime.ForwardResponseMessage + forward_EveningDetectiveServer_DeleteLastTeamAction_0 = runtime.ForwardResponseMessage ) diff --git a/proto/main_grpc.pb.go b/proto/main_grpc.pb.go index 53f9a7d..410280d 100644 --- a/proto/main_grpc.pb.go +++ b/proto/main_grpc.pb.go @@ -57,6 +57,7 @@ const ( EveningDetectiveServer_GiveTeamApplications_FullMethodName = "/crabs.evening_detective_server.EveningDetectiveServer/GiveTeamApplications" EveningDetectiveServer_GetTeamActions_FullMethodName = "/crabs.evening_detective_server.EveningDetectiveServer/GetTeamActions" EveningDetectiveServer_AddTeamAction_FullMethodName = "/crabs.evening_detective_server.EveningDetectiveServer/AddTeamAction" + EveningDetectiveServer_DeleteLastTeamAction_FullMethodName = "/crabs.evening_detective_server.EveningDetectiveServer/DeleteLastTeamAction" ) // EveningDetectiveServerClient is the client API for EveningDetectiveServer service. @@ -100,6 +101,7 @@ type EveningDetectiveServerClient interface { GiveTeamApplications(ctx context.Context, in *GiveTeamApplicationsReq, opts ...grpc.CallOption) (*GiveTeamApplicationsRsp, error) GetTeamActions(ctx context.Context, in *GetTeamActionsReq, opts ...grpc.CallOption) (*GetTeamActionsRsp, error) AddTeamAction(ctx context.Context, in *AddTeamActionReq, opts ...grpc.CallOption) (*AddTeamActionRsp, error) + DeleteLastTeamAction(ctx context.Context, in *DeleteLastTeamActionReq, opts ...grpc.CallOption) (*DeleteLastTeamActionRsp, error) } type eveningDetectiveServerClient struct { @@ -480,6 +482,16 @@ func (c *eveningDetectiveServerClient) AddTeamAction(ctx context.Context, in *Ad return out, nil } +func (c *eveningDetectiveServerClient) DeleteLastTeamAction(ctx context.Context, in *DeleteLastTeamActionReq, opts ...grpc.CallOption) (*DeleteLastTeamActionRsp, error) { + cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...) + out := new(DeleteLastTeamActionRsp) + err := c.cc.Invoke(ctx, EveningDetectiveServer_DeleteLastTeamAction_FullMethodName, in, out, cOpts...) + if err != nil { + return nil, err + } + return out, nil +} + // EveningDetectiveServerServer is the server API for EveningDetectiveServer service. // All implementations must embed UnimplementedEveningDetectiveServerServer // for forward compatibility. @@ -521,6 +533,7 @@ type EveningDetectiveServerServer interface { GiveTeamApplications(context.Context, *GiveTeamApplicationsReq) (*GiveTeamApplicationsRsp, error) GetTeamActions(context.Context, *GetTeamActionsReq) (*GetTeamActionsRsp, error) AddTeamAction(context.Context, *AddTeamActionReq) (*AddTeamActionRsp, error) + DeleteLastTeamAction(context.Context, *DeleteLastTeamActionReq) (*DeleteLastTeamActionRsp, error) mustEmbedUnimplementedEveningDetectiveServerServer() } @@ -642,6 +655,9 @@ func (UnimplementedEveningDetectiveServerServer) GetTeamActions(context.Context, func (UnimplementedEveningDetectiveServerServer) AddTeamAction(context.Context, *AddTeamActionReq) (*AddTeamActionRsp, error) { return nil, status.Error(codes.Unimplemented, "method AddTeamAction not implemented") } +func (UnimplementedEveningDetectiveServerServer) DeleteLastTeamAction(context.Context, *DeleteLastTeamActionReq) (*DeleteLastTeamActionRsp, error) { + return nil, status.Error(codes.Unimplemented, "method DeleteLastTeamAction not implemented") +} func (UnimplementedEveningDetectiveServerServer) mustEmbedUnimplementedEveningDetectiveServerServer() { } func (UnimplementedEveningDetectiveServerServer) testEmbeddedByValue() {} @@ -1330,6 +1346,24 @@ func _EveningDetectiveServer_AddTeamAction_Handler(srv interface{}, ctx context. return interceptor(ctx, in, info, handler) } +func _EveningDetectiveServer_DeleteLastTeamAction_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(DeleteLastTeamActionReq) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(EveningDetectiveServerServer).DeleteLastTeamAction(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: EveningDetectiveServer_DeleteLastTeamAction_FullMethodName, + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(EveningDetectiveServerServer).DeleteLastTeamAction(ctx, req.(*DeleteLastTeamActionReq)) + } + return interceptor(ctx, in, info, handler) +} + // EveningDetectiveServer_ServiceDesc is the grpc.ServiceDesc for EveningDetectiveServer service. // It's only intended for direct use with grpc.RegisterService, // and not to be introspected or modified (even as a copy) @@ -1485,6 +1519,10 @@ var EveningDetectiveServer_ServiceDesc = grpc.ServiceDesc{ MethodName: "AddTeamAction", Handler: _EveningDetectiveServer_AddTeamAction_Handler, }, + { + MethodName: "DeleteLastTeamAction", + Handler: _EveningDetectiveServer_DeleteLastTeamAction_Handler, + }, }, Streams: []grpc.StreamDesc{}, Metadata: "main.proto",