diff --git a/api/main.proto b/api/main.proto index 910759a..cd2fc7e 100644 --- a/api/main.proto +++ b/api/main.proto @@ -186,6 +186,20 @@ service EveningDetectiveServer { }; } + // Только администратор; сеансы пользователя сохраняются. + // Ошибки: 401, 403, 400, 404, 500. + rpc ChangeUserPassword(ChangeUserPasswordReq) returns (ChangeUserPasswordRsp) { + option (google.api.http) = { + post: "/api/users/{id}/password" + body: "*" + }; + option (grpc.gateway.protoc_gen_openapiv2.options.openapiv2_operation) = { + tags : "Пользователи"; + summary : "Изменить чужой пароль (только администратор)"; + description: "Пароль вводится вручную: минимум 12 символов, максимум 72 байта. Сеансы сохраняются. Ошибки: 401 — нет авторизации, 403 — нет прав, 400 — неверные данные или собственный ID, 404 — пользователь не найден, 500 — ошибка сохранения."; + }; + } + rpc AddUserRole(AddUserRoleReq) returns (AddUserRoleRsp) { option (google.api.http) = { post: "/api/users/{id}/role/add" @@ -423,11 +437,11 @@ service EveningDetectiveServer { // Видео загружается через UploadFile (MP4/WebM). Пустая conclusion удаляет закрывашку. rpc UpdateScenarioConclusion(UpdateScenarioConclusionReq) returns (UpdateScenarioConclusionRsp) { option (google.api.http) = { - put: "/api/scenarios/{id}/conclusion" + put : "/api/scenarios/{id}/conclusion" body: "*" }; option (grpc.gateway.protoc_gen_openapiv2.options.openapiv2_operation) = { - tags: "Сценарии"; + tags : "Сценарии"; summary: "Обновить закрывашку сценария (игрокам не передаётся)"; }; } @@ -826,6 +840,13 @@ message GetMeRsp { User user = 2; } +message ChangeUserPasswordReq { + int32 id = 1; + string new_password = 2; +} + +message ChangeUserPasswordRsp {} + message AddUserRoleReq { int32 id = 1; string role = 2; @@ -922,7 +943,7 @@ message Story { } message Conclusion { - string text = 1; + string text = 1; string video = 2; } @@ -1062,7 +1083,7 @@ message DeleteScenarioPlaceRsp { } message UpdateScenarioConclusionReq { - int32 id = 1; + int32 id = 1; Conclusion conclusion = 2; } @@ -1309,9 +1330,9 @@ message GetTeamStoryReq { } message GetTeamStoryRsp { - string error = 1; - Story story = 2; - Game game = 3; + string error = 1; + Story story = 2; + Game game = 3; repeated TeamAction actions = 4; } diff --git a/bin/evening_detective_server b/bin/evening_detective_server index 64f9a1f..a36a71c 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 bc391e6..eb4c324 100644 --- a/cmd/evening_detective_server/main.swagger.json +++ b/cmd/evening_detective_server/main.swagger.json @@ -2056,6 +2056,47 @@ ] } }, + "/api/users/{id}/password": { + "post": { + "summary": "Изменить чужой пароль (только администратор)", + "description": "Пароль вводится вручную: минимум 12 символов, максимум 72 байта. Сеансы сохраняются. Ошибки: 401 — нет авторизации, 403 — нет прав, 400 — неверные данные или собственный ID, 404 — пользователь не найден, 500 — ошибка сохранения.", + "operationId": "EveningDetectiveServer_ChangeUserPassword", + "responses": { + "200": { + "description": "A successful response.", + "schema": { + "$ref": "#/definitions/evening_detective_serverChangeUserPasswordRsp" + } + }, + "default": { + "description": "An unexpected error response.", + "schema": { + "$ref": "#/definitions/rpcStatus" + } + } + }, + "parameters": [ + { + "name": "id", + "in": "path", + "required": true, + "type": "integer", + "format": "int32" + }, + { + "name": "body", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/EveningDetectiveServerChangeUserPasswordBody" + } + } + ], + "tags": [ + "Пользователи" + ] + } + }, "/api/users/{id}/role/add": { "post": { "summary": "Добавить пользователю роль", @@ -2173,6 +2214,14 @@ } } }, + "EveningDetectiveServerChangeUserPasswordBody": { + "type": "object", + "properties": { + "newPassword": { + "type": "string" + } + } + }, "EveningDetectiveServerDeleteUserRoleBody": { "type": "object", "properties": { @@ -2495,6 +2544,9 @@ } } }, + "evening_detective_serverChangeUserPasswordRsp": { + "type": "object" + }, "evening_detective_serverConclusion": { "type": "object", "properties": { diff --git a/internal/app/change_password_test.go b/internal/app/change_password_test.go new file mode 100644 index 0000000..a6f3a7b --- /dev/null +++ b/internal/app/change_password_test.go @@ -0,0 +1,148 @@ +package app + +import ( + "context" + "errors" + "evening_detective_server/internal/modules/processor_jwt" + "evening_detective_server/internal/repos" + "evening_detective_server/internal/repos/users_repo" + "evening_detective_server/internal/services/users_service" + "evening_detective_server/proto" + "fmt" + "github.com/grpc-ecosystem/grpc-gateway/v2/runtime" + "golang.org/x/crypto/bcrypt" + "google.golang.org/grpc" + "google.golang.org/grpc/codes" + "google.golang.org/grpc/credentials/insecure" + "google.golang.org/grpc/metadata" + "google.golang.org/grpc/status" + "google.golang.org/grpc/test/bufconn" + "net" + "net/http/httptest" + "strings" + "testing" +) + +func TestChangeUserPasswordAccess(t *testing.T) { + s := &server{} + for _, tc := range []struct { + ctx context.Context + want codes.Code + }{ + {context.Background(), codes.Unauthenticated}, + {ctxWithClaims(), codes.PermissionDenied}, + {ctxWithClaims("user"), codes.PermissionDenied}, + {ctxWithClaims("author"), codes.PermissionDenied}, + {ctxWithClaims("organizer"), codes.PermissionDenied}, + } { + _, err := s.ChangeUserPassword(tc.ctx, &proto.ChangeUserPasswordReq{Id: 2, NewPassword: "123456789012"}) + if status.Code(err) != tc.want { + t.Errorf("code = %v, want %v", status.Code(err), tc.want) + } + } +} + +// Embed the real repository so unexpected calls fail rather than silently pass. +type passwordRepo struct { + *users_repo.UsersRepo + role string + saveErr error + hash string +} + +func (r *passwordRepo) GetUserByID(_ context.Context, id int) (*repos.User, error) { + if id == 1 { + return &repos.User{ID: 1, Roles: []string{r.role}}, nil + } + if id == 2 { + return &repos.User{ID: 2, Email: "target@example.org"}, nil + } + return nil, users_repo.ErrUserNotFound +} +func (r *passwordRepo) UpdateUserPassword(_ context.Context, email, hash string) error { + if r.saveErr != nil { + return r.saveErr + } + r.hash = hash + return nil +} + +func TestChangeUserPasswordTransports(t *testing.T) { + ctx := context.Background() + jwt := processor_jwt.NewProcessor("test-secret") + repo := &passwordRepo{role: "admin"} + svc := users_service.NewUsersService(repo, nil, nil, nil, nil, "") + listener := bufconn.Listen(1024 * 1024) + defer listener.Close() + gs := grpc.NewServer(grpc.UnaryInterceptor(processor_jwt.NewAuthorizationInterceptor(nil, jwt))) + proto.RegisterEveningDetectiveServerServer(gs, &server{usersService: svc}) + go gs.Serve(listener) + defer gs.Stop() + conn, err := grpc.NewClient("passthrough:///test", grpc.WithTransportCredentials(insecure.NewCredentials()), grpc.WithContextDialer(func(context.Context, string) (net.Conn, error) { return listener.Dial() })) + if err != nil { + t.Fatal(err) + } + defer conn.Close() + mux := runtime.NewServeMux() + if err := proto.RegisterEveningDetectiveServerHandler(ctx, mux, conn); err != nil { + t.Fatal(err) + } + client := proto.NewEveningDetectiveServerClient(conn) + for _, tc := range []struct { + name, tokenRole, dbRole string + id int32 + password string + saveErr error + code codes.Code + httpCode int + }{ + {"anonymous", "", "admin", 2, "123456789012", nil, codes.Unauthenticated, 401}, + {"user", "user", "admin", 2, "123456789012", nil, codes.PermissionDenied, 403}, + {"removed admin", "admin", "user", 2, "123456789012", nil, codes.PermissionDenied, 403}, + {"invalid", "admin", "admin", 2, "short", nil, codes.InvalidArgument, 400}, + {"missing", "admin", "admin", 3, "123456789012", nil, codes.NotFound, 404}, + {"save failure", "admin", "admin", 2, "123456789012", errors.New("private database detail"), codes.Internal, 500}, + {"deleted during save", "admin", "admin", 2, "123456789012", users_repo.ErrUserNotFound, codes.NotFound, 404}, + {"success", "admin", "admin", 2, "123456789012", nil, codes.OK, 200}, + } { + t.Run(tc.name, func(t *testing.T) { + repo.role, repo.saveErr, repo.hash = tc.dbRole, tc.saveErr, "" + token := "" + rpcCtx := ctx + if tc.tokenRole != "" { + token, err = jwt.GenerateAccessToken(1, "admin@example.org", []string{tc.tokenRole}) + if err != nil { + t.Fatal(err) + } + rpcCtx = metadata.NewOutgoingContext(ctx, metadata.Pairs("authorization", "Bearer "+token)) + } + _, err := client.ChangeUserPassword(rpcCtx, &proto.ChangeUserPasswordReq{Id: tc.id, NewPassword: tc.password}) + if status.Code(err) != tc.code { + t.Fatalf("gRPC = %v, want %v", err, tc.code) + } + req := httptest.NewRequest("POST", fmt.Sprintf("/api/users/%d/password", tc.id), strings.NewReader(fmt.Sprintf(`{"new_password":%q}`, tc.password))) + req.Header.Set("Content-Type", "application/json") + if token != "" { + req.Header.Set("Authorization", "Bearer "+token) + } + rsp := httptest.NewRecorder() + mux.ServeHTTP(rsp, req) + if rsp.Code != tc.httpCode { + t.Fatalf("HTTP = %d: %s", rsp.Code, rsp.Body.String()) + } + if strings.Contains(rsp.Body.String(), tc.password) || strings.Contains(rsp.Body.String(), "private database detail") { + t.Fatal("sensitive response") + } + if tc.code == codes.OK { + if bcrypt.CompareHashAndPassword([]byte(repo.hash), []byte(tc.password)) != nil { + t.Fatal("password not saved") + } + if _, err := jwt.GetClaims(token); err != nil { + t.Fatal("existing token rejected") + } + } else if repo.hash != "" { + t.Fatal("unauthorized or failed write") + } + }) + } +} diff --git a/internal/app/server.go b/internal/app/server.go index a2b020d..597809f 100644 --- a/internal/app/server.go +++ b/internal/app/server.go @@ -14,6 +14,7 @@ import ( "evening_detective_server/internal/modules/scenario_archive" "evening_detective_server/internal/modules/string_tools" "evening_detective_server/internal/repos/scenarios_repo" + "evening_detective_server/internal/repos/users_repo" "evening_detective_server/internal/services/file_service" "evening_detective_server/internal/services/game_service" "evening_detective_server/internal/services/scenarios_service" @@ -1226,3 +1227,25 @@ func (s *server) SetTeamAnswerScore(ctx context.Context, req *proto.SetTeamAnswe return &proto.SetTeamAnswerScoreRsp{}, nil } + +func (s *server) ChangeUserPassword(ctx context.Context, req *proto.ChangeUserPasswordReq) (*proto.ChangeUserPasswordRsp, error) { + claims, ok := ctx.Value("claims").(*processor_jwt.JWTClaims) + if !ok || claims == nil { + return nil, status.Error(codes.Unauthenticated, "Требуется авторизация") + } + if !roles.HasRole(claims, roles.Admin) { + return nil, status.Error(codes.PermissionDenied, "Недостаточно прав") + } + err := s.usersService.ChangeUserPassword(ctx, claims.UserID, int(req.GetId()), req.GetNewPassword()) + switch { + case errors.Is(err, users_service.ErrPasswordChangeForbidden): + return nil, status.Error(codes.PermissionDenied, err.Error()) + case errors.Is(err, users_service.ErrInvalidPasswordChange): + return nil, status.Error(codes.InvalidArgument, err.Error()) + case errors.Is(err, users_repo.ErrUserNotFound): + return nil, status.Error(codes.NotFound, err.Error()) + case err != nil: + return nil, status.Error(codes.Internal, "Не удалось изменить пароль") + } + return &proto.ChangeUserPasswordRsp{}, nil +} diff --git a/internal/services/users_service/change_password_test.go b/internal/services/users_service/change_password_test.go new file mode 100644 index 0000000..5009cba --- /dev/null +++ b/internal/services/users_service/change_password_test.go @@ -0,0 +1,63 @@ +package users_service + +import ( + "context" + "errors" + "strings" + "testing" + + "evening_detective_server/internal/repos" + "evening_detective_server/internal/repos/users_repo" + "golang.org/x/crypto/bcrypt" +) + +func TestChangeUserPassword(t *testing.T) { + for _, tc := range []struct { + name, role, password string + actor, target int + want error + }{ + {"success", "admin", " новый пароль ", 1, 2, nil}, + {"other admin", "admin", "123456789012", 1, 3, nil}, + {"removed role", "user", "123456789012", 1, 2, ErrPasswordChangeForbidden}, + {"missing actor", "admin", "123456789012", 4, 2, ErrPasswordChangeForbidden}, + {"self", "admin", "123456789012", 1, 1, ErrInvalidPasswordChange}, + {"bad id", "admin", "123456789012", 1, -1, ErrInvalidPasswordChange}, + {"missing target", "admin", "123456789012", 1, 4, users_repo.ErrUserNotFound}, + {"empty", "admin", "", 1, 2, ErrInvalidPasswordChange}, + {"short unicode", "admin", "яяббввггдде", 1, 2, ErrInvalidPasswordChange}, + {"too many bytes", "admin", strings.Repeat("я", 37), 1, 2, ErrInvalidPasswordChange}, + {"72 bytes", "admin", strings.Repeat("я", 36), 1, 2, nil}, + } { + t.Run(tc.name, func(t *testing.T) { + r := newFakeRepo() + old, err := bcrypt.GenerateFromPassword([]byte("old password"), bcrypt.MinCost) + if err != nil { + t.Fatal(err) + } + for id, role := range []string{tc.role, "user", "admin"} { + u := &repos.User{ID: id + 1, Email: role + string(rune('0'+id)), Roles: []string{role}, PasswordHash: string(old)} + r.byID[u.ID] = u + r.users[u.Email] = u + } + // Nil JWT, token repository and mail sender ensure this operation does not use them. + s := &UsersService{usersRepo: r} + err = s.ChangeUserPassword(context.Background(), tc.actor, tc.target, tc.password) + if !errors.Is(err, tc.want) { + t.Fatalf("error = %v, want %v", err, tc.want) + } + for id, u := range r.byID { + if tc.want == nil && id == tc.target { + if bcrypt.CompareHashAndPassword([]byte(u.PasswordHash), []byte(tc.password)) != nil { + t.Fatal("new password rejected") + } + if bcrypt.CompareHashAndPassword([]byte(u.PasswordHash), []byte("old password")) == nil { + t.Fatal("old password accepted") + } + } else if u.PasswordHash != string(old) { + t.Fatal("unrelated or rejected update") + } + } + }) + } +} diff --git a/internal/services/users_service/service.go b/internal/services/users_service/service.go index 34bce5f..ef3c44f 100644 --- a/internal/services/users_service/service.go +++ b/internal/services/users_service/service.go @@ -17,6 +17,7 @@ import ( "slices" "strings" "time" + "unicode/utf8" "golang.org/x/crypto/bcrypt" ) @@ -372,3 +373,34 @@ func (s *UsersService) DeleteUserRole( } return s.usersRepo.DeleteUserRole(ctx, userId, role) } + +var ( + ErrPasswordChangeForbidden = errors.New("Изменять чужой пароль может только администратор") + ErrInvalidPasswordChange = errors.New("Укажите чужой положительный ID и пароль от 12 символов до 72 байт") +) + +// ChangeUserPassword сохраняет только хеш; действующие сеансы не изменяются. +func (s *UsersService) ChangeUserPassword(ctx context.Context, actorID, userID int, password string) error { + actor, err := s.usersRepo.GetUserByID(ctx, actorID) + if errors.Is(err, users_repo.ErrUserNotFound) { + return ErrPasswordChangeForbidden + } + if err != nil { + return err + } + if !slices.Contains(actor.Roles, roles.Admin) { + return ErrPasswordChangeForbidden + } + if userID <= 0 || userID == actorID || !utf8.ValidString(password) || utf8.RuneCountInString(password) < 12 || len(password) > 72 { + return ErrInvalidPasswordChange + } + user, err := s.usersRepo.GetUserByID(ctx, userID) + if err != nil { + return err + } + hash, err := bcrypt.GenerateFromPassword([]byte(password), bcrypt.DefaultCost) + if err != nil { + return err + } + return s.usersRepo.UpdateUserPassword(ctx, user.Email, string(hash)) +} diff --git a/proto/main.pb.go b/proto/main.pb.go index 56cc110..ae3d6ac 100644 --- a/proto/main.pb.go +++ b/proto/main.pb.go @@ -1307,6 +1307,94 @@ func (x *GetMeRsp) GetUser() *User { return nil } +type ChangeUserPasswordReq struct { + state protoimpl.MessageState `protogen:"open.v1"` + Id int32 `protobuf:"varint,1,opt,name=id,proto3" json:"id,omitempty"` + NewPassword string `protobuf:"bytes,2,opt,name=new_password,json=newPassword,proto3" json:"new_password,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *ChangeUserPasswordReq) Reset() { + *x = ChangeUserPasswordReq{} + mi := &file_main_proto_msgTypes[27] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *ChangeUserPasswordReq) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ChangeUserPasswordReq) ProtoMessage() {} + +func (x *ChangeUserPasswordReq) ProtoReflect() protoreflect.Message { + mi := &file_main_proto_msgTypes[27] + 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 ChangeUserPasswordReq.ProtoReflect.Descriptor instead. +func (*ChangeUserPasswordReq) Descriptor() ([]byte, []int) { + return file_main_proto_rawDescGZIP(), []int{27} +} + +func (x *ChangeUserPasswordReq) GetId() int32 { + if x != nil { + return x.Id + } + return 0 +} + +func (x *ChangeUserPasswordReq) GetNewPassword() string { + if x != nil { + return x.NewPassword + } + return "" +} + +type ChangeUserPasswordRsp struct { + state protoimpl.MessageState `protogen:"open.v1"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *ChangeUserPasswordRsp) Reset() { + *x = ChangeUserPasswordRsp{} + mi := &file_main_proto_msgTypes[28] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *ChangeUserPasswordRsp) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ChangeUserPasswordRsp) ProtoMessage() {} + +func (x *ChangeUserPasswordRsp) ProtoReflect() protoreflect.Message { + mi := &file_main_proto_msgTypes[28] + 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 ChangeUserPasswordRsp.ProtoReflect.Descriptor instead. +func (*ChangeUserPasswordRsp) Descriptor() ([]byte, []int) { + return file_main_proto_rawDescGZIP(), []int{28} +} + type AddUserRoleReq struct { state protoimpl.MessageState `protogen:"open.v1"` Id int32 `protobuf:"varint,1,opt,name=id,proto3" json:"id,omitempty"` @@ -1317,7 +1405,7 @@ type AddUserRoleReq struct { func (x *AddUserRoleReq) Reset() { *x = AddUserRoleReq{} - mi := &file_main_proto_msgTypes[27] + mi := &file_main_proto_msgTypes[29] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1329,7 +1417,7 @@ func (x *AddUserRoleReq) String() string { func (*AddUserRoleReq) ProtoMessage() {} func (x *AddUserRoleReq) ProtoReflect() protoreflect.Message { - mi := &file_main_proto_msgTypes[27] + mi := &file_main_proto_msgTypes[29] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1342,7 +1430,7 @@ func (x *AddUserRoleReq) ProtoReflect() protoreflect.Message { // Deprecated: Use AddUserRoleReq.ProtoReflect.Descriptor instead. func (*AddUserRoleReq) Descriptor() ([]byte, []int) { - return file_main_proto_rawDescGZIP(), []int{27} + return file_main_proto_rawDescGZIP(), []int{29} } func (x *AddUserRoleReq) GetId() int32 { @@ -1368,7 +1456,7 @@ type AddUserRoleRsp struct { func (x *AddUserRoleRsp) Reset() { *x = AddUserRoleRsp{} - mi := &file_main_proto_msgTypes[28] + mi := &file_main_proto_msgTypes[30] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1380,7 +1468,7 @@ func (x *AddUserRoleRsp) String() string { func (*AddUserRoleRsp) ProtoMessage() {} func (x *AddUserRoleRsp) ProtoReflect() protoreflect.Message { - mi := &file_main_proto_msgTypes[28] + mi := &file_main_proto_msgTypes[30] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1393,7 +1481,7 @@ func (x *AddUserRoleRsp) ProtoReflect() protoreflect.Message { // Deprecated: Use AddUserRoleRsp.ProtoReflect.Descriptor instead. func (*AddUserRoleRsp) Descriptor() ([]byte, []int) { - return file_main_proto_rawDescGZIP(), []int{28} + return file_main_proto_rawDescGZIP(), []int{30} } func (x *AddUserRoleRsp) GetError() string { @@ -1413,7 +1501,7 @@ type DeleteUserRoleReq struct { func (x *DeleteUserRoleReq) Reset() { *x = DeleteUserRoleReq{} - mi := &file_main_proto_msgTypes[29] + mi := &file_main_proto_msgTypes[31] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1425,7 +1513,7 @@ func (x *DeleteUserRoleReq) String() string { func (*DeleteUserRoleReq) ProtoMessage() {} func (x *DeleteUserRoleReq) ProtoReflect() protoreflect.Message { - mi := &file_main_proto_msgTypes[29] + mi := &file_main_proto_msgTypes[31] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1438,7 +1526,7 @@ func (x *DeleteUserRoleReq) ProtoReflect() protoreflect.Message { // Deprecated: Use DeleteUserRoleReq.ProtoReflect.Descriptor instead. func (*DeleteUserRoleReq) Descriptor() ([]byte, []int) { - return file_main_proto_rawDescGZIP(), []int{29} + return file_main_proto_rawDescGZIP(), []int{31} } func (x *DeleteUserRoleReq) GetId() int32 { @@ -1464,7 +1552,7 @@ type DeleteUserRoleRsp struct { func (x *DeleteUserRoleRsp) Reset() { *x = DeleteUserRoleRsp{} - mi := &file_main_proto_msgTypes[30] + mi := &file_main_proto_msgTypes[32] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1476,7 +1564,7 @@ func (x *DeleteUserRoleRsp) String() string { func (*DeleteUserRoleRsp) ProtoMessage() {} func (x *DeleteUserRoleRsp) ProtoReflect() protoreflect.Message { - mi := &file_main_proto_msgTypes[30] + mi := &file_main_proto_msgTypes[32] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1489,7 +1577,7 @@ func (x *DeleteUserRoleRsp) ProtoReflect() protoreflect.Message { // Deprecated: Use DeleteUserRoleRsp.ProtoReflect.Descriptor instead. func (*DeleteUserRoleRsp) Descriptor() ([]byte, []int) { - return file_main_proto_rawDescGZIP(), []int{30} + return file_main_proto_rawDescGZIP(), []int{32} } func (x *DeleteUserRoleRsp) GetError() string { @@ -1507,7 +1595,7 @@ type GetPermissionsReq struct { func (x *GetPermissionsReq) Reset() { *x = GetPermissionsReq{} - mi := &file_main_proto_msgTypes[31] + mi := &file_main_proto_msgTypes[33] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1519,7 +1607,7 @@ func (x *GetPermissionsReq) String() string { func (*GetPermissionsReq) ProtoMessage() {} func (x *GetPermissionsReq) ProtoReflect() protoreflect.Message { - mi := &file_main_proto_msgTypes[31] + mi := &file_main_proto_msgTypes[33] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1532,7 +1620,7 @@ func (x *GetPermissionsReq) ProtoReflect() protoreflect.Message { // Deprecated: Use GetPermissionsReq.ProtoReflect.Descriptor instead. func (*GetPermissionsReq) Descriptor() ([]byte, []int) { - return file_main_proto_rawDescGZIP(), []int{31} + return file_main_proto_rawDescGZIP(), []int{33} } type GetPermissionsRsp struct { @@ -1545,7 +1633,7 @@ type GetPermissionsRsp struct { func (x *GetPermissionsRsp) Reset() { *x = GetPermissionsRsp{} - mi := &file_main_proto_msgTypes[32] + mi := &file_main_proto_msgTypes[34] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1557,7 +1645,7 @@ func (x *GetPermissionsRsp) String() string { func (*GetPermissionsRsp) ProtoMessage() {} func (x *GetPermissionsRsp) ProtoReflect() protoreflect.Message { - mi := &file_main_proto_msgTypes[32] + mi := &file_main_proto_msgTypes[34] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1570,7 +1658,7 @@ func (x *GetPermissionsRsp) ProtoReflect() protoreflect.Message { // Deprecated: Use GetPermissionsRsp.ProtoReflect.Descriptor instead. func (*GetPermissionsRsp) Descriptor() ([]byte, []int) { - return file_main_proto_rawDescGZIP(), []int{32} + return file_main_proto_rawDescGZIP(), []int{34} } func (x *GetPermissionsRsp) GetError() string { @@ -1597,7 +1685,7 @@ type UploadFileReq struct { func (x *UploadFileReq) Reset() { *x = UploadFileReq{} - mi := &file_main_proto_msgTypes[33] + mi := &file_main_proto_msgTypes[35] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1609,7 +1697,7 @@ func (x *UploadFileReq) String() string { func (*UploadFileReq) ProtoMessage() {} func (x *UploadFileReq) ProtoReflect() protoreflect.Message { - mi := &file_main_proto_msgTypes[33] + mi := &file_main_proto_msgTypes[35] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1622,7 +1710,7 @@ func (x *UploadFileReq) ProtoReflect() protoreflect.Message { // Deprecated: Use UploadFileReq.ProtoReflect.Descriptor instead. func (*UploadFileReq) Descriptor() ([]byte, []int) { - return file_main_proto_rawDescGZIP(), []int{33} + return file_main_proto_rawDescGZIP(), []int{35} } func (x *UploadFileReq) GetFilename() string { @@ -1652,7 +1740,7 @@ type UploadFileRsp struct { func (x *UploadFileRsp) Reset() { *x = UploadFileRsp{} - mi := &file_main_proto_msgTypes[34] + mi := &file_main_proto_msgTypes[36] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1664,7 +1752,7 @@ func (x *UploadFileRsp) String() string { func (*UploadFileRsp) ProtoMessage() {} func (x *UploadFileRsp) ProtoReflect() protoreflect.Message { - mi := &file_main_proto_msgTypes[34] + mi := &file_main_proto_msgTypes[36] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1677,7 +1765,7 @@ func (x *UploadFileRsp) ProtoReflect() protoreflect.Message { // Deprecated: Use UploadFileRsp.ProtoReflect.Descriptor instead. func (*UploadFileRsp) Descriptor() ([]byte, []int) { - return file_main_proto_rawDescGZIP(), []int{34} + return file_main_proto_rawDescGZIP(), []int{36} } func (x *UploadFileRsp) GetError() string { @@ -1710,7 +1798,7 @@ type DownloadFileReq struct { func (x *DownloadFileReq) Reset() { *x = DownloadFileReq{} - mi := &file_main_proto_msgTypes[35] + mi := &file_main_proto_msgTypes[37] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1722,7 +1810,7 @@ func (x *DownloadFileReq) String() string { func (*DownloadFileReq) ProtoMessage() {} func (x *DownloadFileReq) ProtoReflect() protoreflect.Message { - mi := &file_main_proto_msgTypes[35] + mi := &file_main_proto_msgTypes[37] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1735,7 +1823,7 @@ func (x *DownloadFileReq) ProtoReflect() protoreflect.Message { // Deprecated: Use DownloadFileReq.ProtoReflect.Descriptor instead. func (*DownloadFileReq) Descriptor() ([]byte, []int) { - return file_main_proto_rawDescGZIP(), []int{35} + return file_main_proto_rawDescGZIP(), []int{37} } func (x *DownloadFileReq) GetFilename() string { @@ -1754,7 +1842,7 @@ type AddScenarioReq struct { func (x *AddScenarioReq) Reset() { *x = AddScenarioReq{} - mi := &file_main_proto_msgTypes[36] + mi := &file_main_proto_msgTypes[38] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1766,7 +1854,7 @@ func (x *AddScenarioReq) String() string { func (*AddScenarioReq) ProtoMessage() {} func (x *AddScenarioReq) ProtoReflect() protoreflect.Message { - mi := &file_main_proto_msgTypes[36] + mi := &file_main_proto_msgTypes[38] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1779,7 +1867,7 @@ func (x *AddScenarioReq) ProtoReflect() protoreflect.Message { // Deprecated: Use AddScenarioReq.ProtoReflect.Descriptor instead. func (*AddScenarioReq) Descriptor() ([]byte, []int) { - return file_main_proto_rawDescGZIP(), []int{36} + return file_main_proto_rawDescGZIP(), []int{38} } func (x *AddScenarioReq) GetName() string { @@ -1799,7 +1887,7 @@ type AddScenarioRsp struct { func (x *AddScenarioRsp) Reset() { *x = AddScenarioRsp{} - mi := &file_main_proto_msgTypes[37] + mi := &file_main_proto_msgTypes[39] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1811,7 +1899,7 @@ func (x *AddScenarioRsp) String() string { func (*AddScenarioRsp) ProtoMessage() {} func (x *AddScenarioRsp) ProtoReflect() protoreflect.Message { - mi := &file_main_proto_msgTypes[37] + mi := &file_main_proto_msgTypes[39] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1824,7 +1912,7 @@ func (x *AddScenarioRsp) ProtoReflect() protoreflect.Message { // Deprecated: Use AddScenarioRsp.ProtoReflect.Descriptor instead. func (*AddScenarioRsp) Descriptor() ([]byte, []int) { - return file_main_proto_rawDescGZIP(), []int{37} + return file_main_proto_rawDescGZIP(), []int{39} } func (x *AddScenarioRsp) GetError() string { @@ -1849,7 +1937,7 @@ type GetMyScenariosReq struct { func (x *GetMyScenariosReq) Reset() { *x = GetMyScenariosReq{} - mi := &file_main_proto_msgTypes[38] + mi := &file_main_proto_msgTypes[40] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1861,7 +1949,7 @@ func (x *GetMyScenariosReq) String() string { func (*GetMyScenariosReq) ProtoMessage() {} func (x *GetMyScenariosReq) ProtoReflect() protoreflect.Message { - mi := &file_main_proto_msgTypes[38] + mi := &file_main_proto_msgTypes[40] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1874,7 +1962,7 @@ func (x *GetMyScenariosReq) ProtoReflect() protoreflect.Message { // Deprecated: Use GetMyScenariosReq.ProtoReflect.Descriptor instead. func (*GetMyScenariosReq) Descriptor() ([]byte, []int) { - return file_main_proto_rawDescGZIP(), []int{38} + return file_main_proto_rawDescGZIP(), []int{40} } type GetMyScenariosRsp struct { @@ -1887,7 +1975,7 @@ type GetMyScenariosRsp struct { func (x *GetMyScenariosRsp) Reset() { *x = GetMyScenariosRsp{} - mi := &file_main_proto_msgTypes[39] + mi := &file_main_proto_msgTypes[41] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1899,7 +1987,7 @@ func (x *GetMyScenariosRsp) String() string { func (*GetMyScenariosRsp) ProtoMessage() {} func (x *GetMyScenariosRsp) ProtoReflect() protoreflect.Message { - mi := &file_main_proto_msgTypes[39] + mi := &file_main_proto_msgTypes[41] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1912,7 +2000,7 @@ func (x *GetMyScenariosRsp) ProtoReflect() protoreflect.Message { // Deprecated: Use GetMyScenariosRsp.ProtoReflect.Descriptor instead. func (*GetMyScenariosRsp) Descriptor() ([]byte, []int) { - return file_main_proto_rawDescGZIP(), []int{39} + return file_main_proto_rawDescGZIP(), []int{41} } func (x *GetMyScenariosRsp) GetError() string { @@ -1937,7 +2025,7 @@ type GetScenariosCatalogReq struct { func (x *GetScenariosCatalogReq) Reset() { *x = GetScenariosCatalogReq{} - mi := &file_main_proto_msgTypes[40] + mi := &file_main_proto_msgTypes[42] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1949,7 +2037,7 @@ func (x *GetScenariosCatalogReq) String() string { func (*GetScenariosCatalogReq) ProtoMessage() {} func (x *GetScenariosCatalogReq) ProtoReflect() protoreflect.Message { - mi := &file_main_proto_msgTypes[40] + mi := &file_main_proto_msgTypes[42] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1962,7 +2050,7 @@ func (x *GetScenariosCatalogReq) ProtoReflect() protoreflect.Message { // Deprecated: Use GetScenariosCatalogReq.ProtoReflect.Descriptor instead. func (*GetScenariosCatalogReq) Descriptor() ([]byte, []int) { - return file_main_proto_rawDescGZIP(), []int{40} + return file_main_proto_rawDescGZIP(), []int{42} } type GetScenariosCatalogRsp struct { @@ -1975,7 +2063,7 @@ type GetScenariosCatalogRsp struct { func (x *GetScenariosCatalogRsp) Reset() { *x = GetScenariosCatalogRsp{} - mi := &file_main_proto_msgTypes[41] + mi := &file_main_proto_msgTypes[43] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1987,7 +2075,7 @@ func (x *GetScenariosCatalogRsp) String() string { func (*GetScenariosCatalogRsp) ProtoMessage() {} func (x *GetScenariosCatalogRsp) ProtoReflect() protoreflect.Message { - mi := &file_main_proto_msgTypes[41] + mi := &file_main_proto_msgTypes[43] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -2000,7 +2088,7 @@ func (x *GetScenariosCatalogRsp) ProtoReflect() protoreflect.Message { // Deprecated: Use GetScenariosCatalogRsp.ProtoReflect.Descriptor instead. func (*GetScenariosCatalogRsp) Descriptor() ([]byte, []int) { - return file_main_proto_rawDescGZIP(), []int{41} + return file_main_proto_rawDescGZIP(), []int{43} } func (x *GetScenariosCatalogRsp) GetError() string { @@ -2026,7 +2114,7 @@ type GetScenarioReq struct { func (x *GetScenarioReq) Reset() { *x = GetScenarioReq{} - mi := &file_main_proto_msgTypes[42] + mi := &file_main_proto_msgTypes[44] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -2038,7 +2126,7 @@ func (x *GetScenarioReq) String() string { func (*GetScenarioReq) ProtoMessage() {} func (x *GetScenarioReq) ProtoReflect() protoreflect.Message { - mi := &file_main_proto_msgTypes[42] + mi := &file_main_proto_msgTypes[44] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -2051,7 +2139,7 @@ func (x *GetScenarioReq) ProtoReflect() protoreflect.Message { // Deprecated: Use GetScenarioReq.ProtoReflect.Descriptor instead. func (*GetScenarioReq) Descriptor() ([]byte, []int) { - return file_main_proto_rawDescGZIP(), []int{42} + return file_main_proto_rawDescGZIP(), []int{44} } func (x *GetScenarioReq) GetId() int32 { @@ -2071,7 +2159,7 @@ type GetScenarioRsp struct { func (x *GetScenarioRsp) Reset() { *x = GetScenarioRsp{} - mi := &file_main_proto_msgTypes[43] + mi := &file_main_proto_msgTypes[45] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -2083,7 +2171,7 @@ func (x *GetScenarioRsp) String() string { func (*GetScenarioRsp) ProtoMessage() {} func (x *GetScenarioRsp) ProtoReflect() protoreflect.Message { - mi := &file_main_proto_msgTypes[43] + mi := &file_main_proto_msgTypes[45] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -2096,7 +2184,7 @@ func (x *GetScenarioRsp) ProtoReflect() protoreflect.Message { // Deprecated: Use GetScenarioRsp.ProtoReflect.Descriptor instead. func (*GetScenarioRsp) Descriptor() ([]byte, []int) { - return file_main_proto_rawDescGZIP(), []int{43} + return file_main_proto_rawDescGZIP(), []int{45} } func (x *GetScenarioRsp) GetError() string { @@ -2131,7 +2219,7 @@ type Scenario struct { func (x *Scenario) Reset() { *x = Scenario{} - mi := &file_main_proto_msgTypes[44] + mi := &file_main_proto_msgTypes[46] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -2143,7 +2231,7 @@ func (x *Scenario) String() string { func (*Scenario) ProtoMessage() {} func (x *Scenario) ProtoReflect() protoreflect.Message { - mi := &file_main_proto_msgTypes[44] + mi := &file_main_proto_msgTypes[46] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -2156,7 +2244,7 @@ func (x *Scenario) ProtoReflect() protoreflect.Message { // Deprecated: Use Scenario.ProtoReflect.Descriptor instead. func (*Scenario) Descriptor() ([]byte, []int) { - return file_main_proto_rawDescGZIP(), []int{44} + return file_main_proto_rawDescGZIP(), []int{46} } func (x *Scenario) GetId() int32 { @@ -2242,7 +2330,7 @@ type Story struct { func (x *Story) Reset() { *x = Story{} - mi := &file_main_proto_msgTypes[45] + mi := &file_main_proto_msgTypes[47] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -2254,7 +2342,7 @@ func (x *Story) String() string { func (*Story) ProtoMessage() {} func (x *Story) ProtoReflect() protoreflect.Message { - mi := &file_main_proto_msgTypes[45] + mi := &file_main_proto_msgTypes[47] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -2267,7 +2355,7 @@ func (x *Story) ProtoReflect() protoreflect.Message { // Deprecated: Use Story.ProtoReflect.Descriptor instead. func (*Story) Descriptor() ([]byte, []int) { - return file_main_proto_rawDescGZIP(), []int{45} + return file_main_proto_rawDescGZIP(), []int{47} } func (x *Story) GetConclusion() *Conclusion { @@ -2315,7 +2403,7 @@ type Conclusion struct { func (x *Conclusion) Reset() { *x = Conclusion{} - mi := &file_main_proto_msgTypes[46] + mi := &file_main_proto_msgTypes[48] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -2327,7 +2415,7 @@ func (x *Conclusion) String() string { func (*Conclusion) ProtoMessage() {} func (x *Conclusion) ProtoReflect() protoreflect.Message { - mi := &file_main_proto_msgTypes[46] + mi := &file_main_proto_msgTypes[48] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -2340,7 +2428,7 @@ func (x *Conclusion) ProtoReflect() protoreflect.Message { // Deprecated: Use Conclusion.ProtoReflect.Descriptor instead. func (*Conclusion) Descriptor() ([]byte, []int) { - return file_main_proto_rawDescGZIP(), []int{46} + return file_main_proto_rawDescGZIP(), []int{48} } func (x *Conclusion) GetText() string { @@ -2367,7 +2455,7 @@ type Introduction struct { func (x *Introduction) Reset() { *x = Introduction{} - mi := &file_main_proto_msgTypes[47] + mi := &file_main_proto_msgTypes[49] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -2379,7 +2467,7 @@ func (x *Introduction) String() string { func (*Introduction) ProtoMessage() {} func (x *Introduction) ProtoReflect() protoreflect.Message { - mi := &file_main_proto_msgTypes[47] + mi := &file_main_proto_msgTypes[49] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -2392,7 +2480,7 @@ func (x *Introduction) ProtoReflect() protoreflect.Message { // Deprecated: Use Introduction.ProtoReflect.Descriptor instead. func (*Introduction) Descriptor() ([]byte, []int) { - return file_main_proto_rawDescGZIP(), []int{47} + return file_main_proto_rawDescGZIP(), []int{49} } func (x *Introduction) GetText() string { @@ -2425,7 +2513,7 @@ type Place struct { func (x *Place) Reset() { *x = Place{} - mi := &file_main_proto_msgTypes[48] + mi := &file_main_proto_msgTypes[50] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -2437,7 +2525,7 @@ func (x *Place) String() string { func (*Place) ProtoMessage() {} func (x *Place) ProtoReflect() protoreflect.Message { - mi := &file_main_proto_msgTypes[48] + mi := &file_main_proto_msgTypes[50] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -2450,7 +2538,7 @@ func (x *Place) ProtoReflect() protoreflect.Message { // Deprecated: Use Place.ProtoReflect.Descriptor instead. func (*Place) Descriptor() ([]byte, []int) { - return file_main_proto_rawDescGZIP(), []int{48} + return file_main_proto_rawDescGZIP(), []int{50} } func (x *Place) GetCode() string { @@ -2523,7 +2611,7 @@ type Application struct { func (x *Application) Reset() { *x = Application{} - mi := &file_main_proto_msgTypes[49] + mi := &file_main_proto_msgTypes[51] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -2535,7 +2623,7 @@ func (x *Application) String() string { func (*Application) ProtoMessage() {} func (x *Application) ProtoReflect() protoreflect.Message { - mi := &file_main_proto_msgTypes[49] + mi := &file_main_proto_msgTypes[51] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -2548,7 +2636,7 @@ func (x *Application) ProtoReflect() protoreflect.Message { // Deprecated: Use Application.ProtoReflect.Descriptor instead. func (*Application) Descriptor() ([]byte, []int) { - return file_main_proto_rawDescGZIP(), []int{49} + return file_main_proto_rawDescGZIP(), []int{51} } func (x *Application) GetName() string { @@ -2583,7 +2671,7 @@ type Door struct { func (x *Door) Reset() { *x = Door{} - mi := &file_main_proto_msgTypes[50] + mi := &file_main_proto_msgTypes[52] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -2595,7 +2683,7 @@ func (x *Door) String() string { func (*Door) ProtoMessage() {} func (x *Door) ProtoReflect() protoreflect.Message { - mi := &file_main_proto_msgTypes[50] + mi := &file_main_proto_msgTypes[52] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -2608,7 +2696,7 @@ func (x *Door) ProtoReflect() protoreflect.Message { // Deprecated: Use Door.ProtoReflect.Descriptor instead. func (*Door) Descriptor() ([]byte, []int) { - return file_main_proto_rawDescGZIP(), []int{50} + return file_main_proto_rawDescGZIP(), []int{52} } func (x *Door) GetCode() string { @@ -2641,7 +2729,7 @@ type Key struct { func (x *Key) Reset() { *x = Key{} - mi := &file_main_proto_msgTypes[51] + mi := &file_main_proto_msgTypes[53] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -2653,7 +2741,7 @@ func (x *Key) String() string { func (*Key) ProtoMessage() {} func (x *Key) ProtoReflect() protoreflect.Message { - mi := &file_main_proto_msgTypes[51] + mi := &file_main_proto_msgTypes[53] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -2666,7 +2754,7 @@ func (x *Key) ProtoReflect() protoreflect.Message { // Deprecated: Use Key.ProtoReflect.Descriptor instead. func (*Key) Descriptor() ([]byte, []int) { - return file_main_proto_rawDescGZIP(), []int{51} + return file_main_proto_rawDescGZIP(), []int{53} } func (x *Key) GetName() string { @@ -2693,7 +2781,7 @@ type Question struct { func (x *Question) Reset() { *x = Question{} - mi := &file_main_proto_msgTypes[52] + mi := &file_main_proto_msgTypes[54] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -2705,7 +2793,7 @@ func (x *Question) String() string { func (*Question) ProtoMessage() {} func (x *Question) ProtoReflect() protoreflect.Message { - mi := &file_main_proto_msgTypes[52] + mi := &file_main_proto_msgTypes[54] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -2718,7 +2806,7 @@ func (x *Question) ProtoReflect() protoreflect.Message { // Deprecated: Use Question.ProtoReflect.Descriptor instead. func (*Question) Descriptor() ([]byte, []int) { - return file_main_proto_rawDescGZIP(), []int{52} + return file_main_proto_rawDescGZIP(), []int{54} } func (x *Question) GetCode() string { @@ -2755,7 +2843,7 @@ type Answer struct { func (x *Answer) Reset() { *x = Answer{} - mi := &file_main_proto_msgTypes[53] + mi := &file_main_proto_msgTypes[55] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -2767,7 +2855,7 @@ func (x *Answer) String() string { func (*Answer) ProtoMessage() {} func (x *Answer) ProtoReflect() protoreflect.Message { - mi := &file_main_proto_msgTypes[53] + mi := &file_main_proto_msgTypes[55] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -2780,7 +2868,7 @@ func (x *Answer) ProtoReflect() protoreflect.Message { // Deprecated: Use Answer.ProtoReflect.Descriptor instead. func (*Answer) Descriptor() ([]byte, []int) { - return file_main_proto_rawDescGZIP(), []int{53} + return file_main_proto_rawDescGZIP(), []int{55} } func (x *Answer) GetQuestionCode() string { @@ -2810,7 +2898,7 @@ type AnswerScore struct { func (x *AnswerScore) Reset() { *x = AnswerScore{} - mi := &file_main_proto_msgTypes[54] + mi := &file_main_proto_msgTypes[56] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -2822,7 +2910,7 @@ func (x *AnswerScore) String() string { func (*AnswerScore) ProtoMessage() {} func (x *AnswerScore) ProtoReflect() protoreflect.Message { - mi := &file_main_proto_msgTypes[54] + mi := &file_main_proto_msgTypes[56] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -2835,7 +2923,7 @@ func (x *AnswerScore) ProtoReflect() protoreflect.Message { // Deprecated: Use AnswerScore.ProtoReflect.Descriptor instead. func (*AnswerScore) Descriptor() ([]byte, []int) { - return file_main_proto_rawDescGZIP(), []int{54} + return file_main_proto_rawDescGZIP(), []int{56} } func (x *AnswerScore) GetQuestionCode() string { @@ -2870,7 +2958,7 @@ type TeamAnswers struct { func (x *TeamAnswers) Reset() { *x = TeamAnswers{} - mi := &file_main_proto_msgTypes[55] + mi := &file_main_proto_msgTypes[57] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -2882,7 +2970,7 @@ func (x *TeamAnswers) String() string { func (*TeamAnswers) ProtoMessage() {} func (x *TeamAnswers) ProtoReflect() protoreflect.Message { - mi := &file_main_proto_msgTypes[55] + mi := &file_main_proto_msgTypes[57] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -2895,7 +2983,7 @@ func (x *TeamAnswers) ProtoReflect() protoreflect.Message { // Deprecated: Use TeamAnswers.ProtoReflect.Descriptor instead. func (*TeamAnswers) Descriptor() ([]byte, []int) { - return file_main_proto_rawDescGZIP(), []int{55} + return file_main_proto_rawDescGZIP(), []int{57} } func (x *TeamAnswers) GetTeam() *Team { @@ -2924,7 +3012,7 @@ type UpdateScenarioReq struct { func (x *UpdateScenarioReq) Reset() { *x = UpdateScenarioReq{} - mi := &file_main_proto_msgTypes[56] + mi := &file_main_proto_msgTypes[58] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -2936,7 +3024,7 @@ func (x *UpdateScenarioReq) String() string { func (*UpdateScenarioReq) ProtoMessage() {} func (x *UpdateScenarioReq) ProtoReflect() protoreflect.Message { - mi := &file_main_proto_msgTypes[56] + mi := &file_main_proto_msgTypes[58] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -2949,7 +3037,7 @@ func (x *UpdateScenarioReq) ProtoReflect() protoreflect.Message { // Deprecated: Use UpdateScenarioReq.ProtoReflect.Descriptor instead. func (*UpdateScenarioReq) Descriptor() ([]byte, []int) { - return file_main_proto_rawDescGZIP(), []int{56} + return file_main_proto_rawDescGZIP(), []int{58} } func (x *UpdateScenarioReq) GetId() int32 { @@ -2989,7 +3077,7 @@ type UpdateScenarioRsp struct { func (x *UpdateScenarioRsp) Reset() { *x = UpdateScenarioRsp{} - mi := &file_main_proto_msgTypes[57] + mi := &file_main_proto_msgTypes[59] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -3001,7 +3089,7 @@ func (x *UpdateScenarioRsp) String() string { func (*UpdateScenarioRsp) ProtoMessage() {} func (x *UpdateScenarioRsp) ProtoReflect() protoreflect.Message { - mi := &file_main_proto_msgTypes[57] + mi := &file_main_proto_msgTypes[59] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -3014,7 +3102,7 @@ func (x *UpdateScenarioRsp) ProtoReflect() protoreflect.Message { // Deprecated: Use UpdateScenarioRsp.ProtoReflect.Descriptor instead. func (*UpdateScenarioRsp) Descriptor() ([]byte, []int) { - return file_main_proto_rawDescGZIP(), []int{57} + return file_main_proto_rawDescGZIP(), []int{59} } func (x *UpdateScenarioRsp) GetError() string { @@ -3033,7 +3121,7 @@ type PublicScenarioReq struct { func (x *PublicScenarioReq) Reset() { *x = PublicScenarioReq{} - mi := &file_main_proto_msgTypes[58] + mi := &file_main_proto_msgTypes[60] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -3045,7 +3133,7 @@ func (x *PublicScenarioReq) String() string { func (*PublicScenarioReq) ProtoMessage() {} func (x *PublicScenarioReq) ProtoReflect() protoreflect.Message { - mi := &file_main_proto_msgTypes[58] + mi := &file_main_proto_msgTypes[60] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -3058,7 +3146,7 @@ func (x *PublicScenarioReq) ProtoReflect() protoreflect.Message { // Deprecated: Use PublicScenarioReq.ProtoReflect.Descriptor instead. func (*PublicScenarioReq) Descriptor() ([]byte, []int) { - return file_main_proto_rawDescGZIP(), []int{58} + return file_main_proto_rawDescGZIP(), []int{60} } func (x *PublicScenarioReq) GetId() int32 { @@ -3077,7 +3165,7 @@ type PublicScenarioRsp struct { func (x *PublicScenarioRsp) Reset() { *x = PublicScenarioRsp{} - mi := &file_main_proto_msgTypes[59] + mi := &file_main_proto_msgTypes[61] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -3089,7 +3177,7 @@ func (x *PublicScenarioRsp) String() string { func (*PublicScenarioRsp) ProtoMessage() {} func (x *PublicScenarioRsp) ProtoReflect() protoreflect.Message { - mi := &file_main_proto_msgTypes[59] + mi := &file_main_proto_msgTypes[61] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -3102,7 +3190,7 @@ func (x *PublicScenarioRsp) ProtoReflect() protoreflect.Message { // Deprecated: Use PublicScenarioRsp.ProtoReflect.Descriptor instead. func (*PublicScenarioRsp) Descriptor() ([]byte, []int) { - return file_main_proto_rawDescGZIP(), []int{59} + return file_main_proto_rawDescGZIP(), []int{61} } func (x *PublicScenarioRsp) GetError() string { @@ -3121,7 +3209,7 @@ type DraftScenarioReq struct { func (x *DraftScenarioReq) Reset() { *x = DraftScenarioReq{} - mi := &file_main_proto_msgTypes[60] + mi := &file_main_proto_msgTypes[62] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -3133,7 +3221,7 @@ func (x *DraftScenarioReq) String() string { func (*DraftScenarioReq) ProtoMessage() {} func (x *DraftScenarioReq) ProtoReflect() protoreflect.Message { - mi := &file_main_proto_msgTypes[60] + mi := &file_main_proto_msgTypes[62] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -3146,7 +3234,7 @@ func (x *DraftScenarioReq) ProtoReflect() protoreflect.Message { // Deprecated: Use DraftScenarioReq.ProtoReflect.Descriptor instead. func (*DraftScenarioReq) Descriptor() ([]byte, []int) { - return file_main_proto_rawDescGZIP(), []int{60} + return file_main_proto_rawDescGZIP(), []int{62} } func (x *DraftScenarioReq) GetId() int32 { @@ -3165,7 +3253,7 @@ type DraftScenarioRsp struct { func (x *DraftScenarioRsp) Reset() { *x = DraftScenarioRsp{} - mi := &file_main_proto_msgTypes[61] + mi := &file_main_proto_msgTypes[63] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -3177,7 +3265,7 @@ func (x *DraftScenarioRsp) String() string { func (*DraftScenarioRsp) ProtoMessage() {} func (x *DraftScenarioRsp) ProtoReflect() protoreflect.Message { - mi := &file_main_proto_msgTypes[61] + mi := &file_main_proto_msgTypes[63] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -3190,7 +3278,7 @@ func (x *DraftScenarioRsp) ProtoReflect() protoreflect.Message { // Deprecated: Use DraftScenarioRsp.ProtoReflect.Descriptor instead. func (*DraftScenarioRsp) Descriptor() ([]byte, []int) { - return file_main_proto_rawDescGZIP(), []int{61} + return file_main_proto_rawDescGZIP(), []int{63} } func (x *DraftScenarioRsp) GetError() string { @@ -3209,7 +3297,7 @@ type DeleteScenarioReq struct { func (x *DeleteScenarioReq) Reset() { *x = DeleteScenarioReq{} - mi := &file_main_proto_msgTypes[62] + mi := &file_main_proto_msgTypes[64] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -3221,7 +3309,7 @@ func (x *DeleteScenarioReq) String() string { func (*DeleteScenarioReq) ProtoMessage() {} func (x *DeleteScenarioReq) ProtoReflect() protoreflect.Message { - mi := &file_main_proto_msgTypes[62] + mi := &file_main_proto_msgTypes[64] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -3234,7 +3322,7 @@ func (x *DeleteScenarioReq) ProtoReflect() protoreflect.Message { // Deprecated: Use DeleteScenarioReq.ProtoReflect.Descriptor instead. func (*DeleteScenarioReq) Descriptor() ([]byte, []int) { - return file_main_proto_rawDescGZIP(), []int{62} + return file_main_proto_rawDescGZIP(), []int{64} } func (x *DeleteScenarioReq) GetId() int32 { @@ -3253,7 +3341,7 @@ type DeleteScenarioRsp struct { func (x *DeleteScenarioRsp) Reset() { *x = DeleteScenarioRsp{} - mi := &file_main_proto_msgTypes[63] + mi := &file_main_proto_msgTypes[65] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -3265,7 +3353,7 @@ func (x *DeleteScenarioRsp) String() string { func (*DeleteScenarioRsp) ProtoMessage() {} func (x *DeleteScenarioRsp) ProtoReflect() protoreflect.Message { - mi := &file_main_proto_msgTypes[63] + mi := &file_main_proto_msgTypes[65] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -3278,7 +3366,7 @@ func (x *DeleteScenarioRsp) ProtoReflect() protoreflect.Message { // Deprecated: Use DeleteScenarioRsp.ProtoReflect.Descriptor instead. func (*DeleteScenarioRsp) Descriptor() ([]byte, []int) { - return file_main_proto_rawDescGZIP(), []int{63} + return file_main_proto_rawDescGZIP(), []int{65} } func (x *DeleteScenarioRsp) GetError() string { @@ -3298,7 +3386,7 @@ type AddScenarioPlaceReq struct { func (x *AddScenarioPlaceReq) Reset() { *x = AddScenarioPlaceReq{} - mi := &file_main_proto_msgTypes[64] + mi := &file_main_proto_msgTypes[66] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -3310,7 +3398,7 @@ func (x *AddScenarioPlaceReq) String() string { func (*AddScenarioPlaceReq) ProtoMessage() {} func (x *AddScenarioPlaceReq) ProtoReflect() protoreflect.Message { - mi := &file_main_proto_msgTypes[64] + mi := &file_main_proto_msgTypes[66] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -3323,7 +3411,7 @@ func (x *AddScenarioPlaceReq) ProtoReflect() protoreflect.Message { // Deprecated: Use AddScenarioPlaceReq.ProtoReflect.Descriptor instead. func (*AddScenarioPlaceReq) Descriptor() ([]byte, []int) { - return file_main_proto_rawDescGZIP(), []int{64} + return file_main_proto_rawDescGZIP(), []int{66} } func (x *AddScenarioPlaceReq) GetId() int32 { @@ -3349,7 +3437,7 @@ type AddScenarioPlaceRsp struct { func (x *AddScenarioPlaceRsp) Reset() { *x = AddScenarioPlaceRsp{} - mi := &file_main_proto_msgTypes[65] + mi := &file_main_proto_msgTypes[67] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -3361,7 +3449,7 @@ func (x *AddScenarioPlaceRsp) String() string { func (*AddScenarioPlaceRsp) ProtoMessage() {} func (x *AddScenarioPlaceRsp) ProtoReflect() protoreflect.Message { - mi := &file_main_proto_msgTypes[65] + mi := &file_main_proto_msgTypes[67] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -3374,7 +3462,7 @@ func (x *AddScenarioPlaceRsp) ProtoReflect() protoreflect.Message { // Deprecated: Use AddScenarioPlaceRsp.ProtoReflect.Descriptor instead. func (*AddScenarioPlaceRsp) Descriptor() ([]byte, []int) { - return file_main_proto_rawDescGZIP(), []int{65} + return file_main_proto_rawDescGZIP(), []int{67} } func (x *AddScenarioPlaceRsp) GetError() string { @@ -3395,7 +3483,7 @@ type UpdateScenarioPlaceReq struct { func (x *UpdateScenarioPlaceReq) Reset() { *x = UpdateScenarioPlaceReq{} - mi := &file_main_proto_msgTypes[66] + mi := &file_main_proto_msgTypes[68] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -3407,7 +3495,7 @@ func (x *UpdateScenarioPlaceReq) String() string { func (*UpdateScenarioPlaceReq) ProtoMessage() {} func (x *UpdateScenarioPlaceReq) ProtoReflect() protoreflect.Message { - mi := &file_main_proto_msgTypes[66] + mi := &file_main_proto_msgTypes[68] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -3420,7 +3508,7 @@ func (x *UpdateScenarioPlaceReq) ProtoReflect() protoreflect.Message { // Deprecated: Use UpdateScenarioPlaceReq.ProtoReflect.Descriptor instead. func (*UpdateScenarioPlaceReq) Descriptor() ([]byte, []int) { - return file_main_proto_rawDescGZIP(), []int{66} + return file_main_proto_rawDescGZIP(), []int{68} } func (x *UpdateScenarioPlaceReq) GetId() int32 { @@ -3453,7 +3541,7 @@ type UpdateScenarioPlaceRsp struct { func (x *UpdateScenarioPlaceRsp) Reset() { *x = UpdateScenarioPlaceRsp{} - mi := &file_main_proto_msgTypes[67] + mi := &file_main_proto_msgTypes[69] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -3465,7 +3553,7 @@ func (x *UpdateScenarioPlaceRsp) String() string { func (*UpdateScenarioPlaceRsp) ProtoMessage() {} func (x *UpdateScenarioPlaceRsp) ProtoReflect() protoreflect.Message { - mi := &file_main_proto_msgTypes[67] + mi := &file_main_proto_msgTypes[69] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -3478,7 +3566,7 @@ func (x *UpdateScenarioPlaceRsp) ProtoReflect() protoreflect.Message { // Deprecated: Use UpdateScenarioPlaceRsp.ProtoReflect.Descriptor instead. func (*UpdateScenarioPlaceRsp) Descriptor() ([]byte, []int) { - return file_main_proto_rawDescGZIP(), []int{67} + return file_main_proto_rawDescGZIP(), []int{69} } func (x *UpdateScenarioPlaceRsp) GetError() string { @@ -3498,7 +3586,7 @@ type DeleteScenarioPlaceReq struct { func (x *DeleteScenarioPlaceReq) Reset() { *x = DeleteScenarioPlaceReq{} - mi := &file_main_proto_msgTypes[68] + mi := &file_main_proto_msgTypes[70] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -3510,7 +3598,7 @@ func (x *DeleteScenarioPlaceReq) String() string { func (*DeleteScenarioPlaceReq) ProtoMessage() {} func (x *DeleteScenarioPlaceReq) ProtoReflect() protoreflect.Message { - mi := &file_main_proto_msgTypes[68] + mi := &file_main_proto_msgTypes[70] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -3523,7 +3611,7 @@ func (x *DeleteScenarioPlaceReq) ProtoReflect() protoreflect.Message { // Deprecated: Use DeleteScenarioPlaceReq.ProtoReflect.Descriptor instead. func (*DeleteScenarioPlaceReq) Descriptor() ([]byte, []int) { - return file_main_proto_rawDescGZIP(), []int{68} + return file_main_proto_rawDescGZIP(), []int{70} } func (x *DeleteScenarioPlaceReq) GetId() int32 { @@ -3549,7 +3637,7 @@ type DeleteScenarioPlaceRsp struct { func (x *DeleteScenarioPlaceRsp) Reset() { *x = DeleteScenarioPlaceRsp{} - mi := &file_main_proto_msgTypes[69] + mi := &file_main_proto_msgTypes[71] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -3561,7 +3649,7 @@ func (x *DeleteScenarioPlaceRsp) String() string { func (*DeleteScenarioPlaceRsp) ProtoMessage() {} func (x *DeleteScenarioPlaceRsp) ProtoReflect() protoreflect.Message { - mi := &file_main_proto_msgTypes[69] + mi := &file_main_proto_msgTypes[71] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -3574,7 +3662,7 @@ func (x *DeleteScenarioPlaceRsp) ProtoReflect() protoreflect.Message { // Deprecated: Use DeleteScenarioPlaceRsp.ProtoReflect.Descriptor instead. func (*DeleteScenarioPlaceRsp) Descriptor() ([]byte, []int) { - return file_main_proto_rawDescGZIP(), []int{69} + return file_main_proto_rawDescGZIP(), []int{71} } func (x *DeleteScenarioPlaceRsp) GetError() string { @@ -3594,7 +3682,7 @@ type UpdateScenarioConclusionReq struct { func (x *UpdateScenarioConclusionReq) Reset() { *x = UpdateScenarioConclusionReq{} - mi := &file_main_proto_msgTypes[70] + mi := &file_main_proto_msgTypes[72] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -3606,7 +3694,7 @@ func (x *UpdateScenarioConclusionReq) String() string { func (*UpdateScenarioConclusionReq) ProtoMessage() {} func (x *UpdateScenarioConclusionReq) ProtoReflect() protoreflect.Message { - mi := &file_main_proto_msgTypes[70] + mi := &file_main_proto_msgTypes[72] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -3619,7 +3707,7 @@ func (x *UpdateScenarioConclusionReq) ProtoReflect() protoreflect.Message { // Deprecated: Use UpdateScenarioConclusionReq.ProtoReflect.Descriptor instead. func (*UpdateScenarioConclusionReq) Descriptor() ([]byte, []int) { - return file_main_proto_rawDescGZIP(), []int{70} + return file_main_proto_rawDescGZIP(), []int{72} } func (x *UpdateScenarioConclusionReq) GetId() int32 { @@ -3645,7 +3733,7 @@ type UpdateScenarioConclusionRsp struct { func (x *UpdateScenarioConclusionRsp) Reset() { *x = UpdateScenarioConclusionRsp{} - mi := &file_main_proto_msgTypes[71] + mi := &file_main_proto_msgTypes[73] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -3657,7 +3745,7 @@ func (x *UpdateScenarioConclusionRsp) String() string { func (*UpdateScenarioConclusionRsp) ProtoMessage() {} func (x *UpdateScenarioConclusionRsp) ProtoReflect() protoreflect.Message { - mi := &file_main_proto_msgTypes[71] + mi := &file_main_proto_msgTypes[73] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -3670,7 +3758,7 @@ func (x *UpdateScenarioConclusionRsp) ProtoReflect() protoreflect.Message { // Deprecated: Use UpdateScenarioConclusionRsp.ProtoReflect.Descriptor instead. func (*UpdateScenarioConclusionRsp) Descriptor() ([]byte, []int) { - return file_main_proto_rawDescGZIP(), []int{71} + return file_main_proto_rawDescGZIP(), []int{73} } func (x *UpdateScenarioConclusionRsp) GetError() string { @@ -3690,7 +3778,7 @@ type UpdateScenarioIntroReq struct { func (x *UpdateScenarioIntroReq) Reset() { *x = UpdateScenarioIntroReq{} - mi := &file_main_proto_msgTypes[72] + mi := &file_main_proto_msgTypes[74] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -3702,7 +3790,7 @@ func (x *UpdateScenarioIntroReq) String() string { func (*UpdateScenarioIntroReq) ProtoMessage() {} func (x *UpdateScenarioIntroReq) ProtoReflect() protoreflect.Message { - mi := &file_main_proto_msgTypes[72] + mi := &file_main_proto_msgTypes[74] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -3715,7 +3803,7 @@ func (x *UpdateScenarioIntroReq) ProtoReflect() protoreflect.Message { // Deprecated: Use UpdateScenarioIntroReq.ProtoReflect.Descriptor instead. func (*UpdateScenarioIntroReq) Descriptor() ([]byte, []int) { - return file_main_proto_rawDescGZIP(), []int{72} + return file_main_proto_rawDescGZIP(), []int{74} } func (x *UpdateScenarioIntroReq) GetId() int32 { @@ -3741,7 +3829,7 @@ type UpdateScenarioIntroRsp struct { func (x *UpdateScenarioIntroRsp) Reset() { *x = UpdateScenarioIntroRsp{} - mi := &file_main_proto_msgTypes[73] + mi := &file_main_proto_msgTypes[75] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -3753,7 +3841,7 @@ func (x *UpdateScenarioIntroRsp) String() string { func (*UpdateScenarioIntroRsp) ProtoMessage() {} func (x *UpdateScenarioIntroRsp) ProtoReflect() protoreflect.Message { - mi := &file_main_proto_msgTypes[73] + mi := &file_main_proto_msgTypes[75] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -3766,7 +3854,7 @@ func (x *UpdateScenarioIntroRsp) ProtoReflect() protoreflect.Message { // Deprecated: Use UpdateScenarioIntroRsp.ProtoReflect.Descriptor instead. func (*UpdateScenarioIntroRsp) Descriptor() ([]byte, []int) { - return file_main_proto_rawDescGZIP(), []int{73} + return file_main_proto_rawDescGZIP(), []int{75} } func (x *UpdateScenarioIntroRsp) GetError() string { @@ -3786,7 +3874,7 @@ type AddScenarioQuestionReq struct { func (x *AddScenarioQuestionReq) Reset() { *x = AddScenarioQuestionReq{} - mi := &file_main_proto_msgTypes[74] + mi := &file_main_proto_msgTypes[76] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -3798,7 +3886,7 @@ func (x *AddScenarioQuestionReq) String() string { func (*AddScenarioQuestionReq) ProtoMessage() {} func (x *AddScenarioQuestionReq) ProtoReflect() protoreflect.Message { - mi := &file_main_proto_msgTypes[74] + mi := &file_main_proto_msgTypes[76] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -3811,7 +3899,7 @@ func (x *AddScenarioQuestionReq) ProtoReflect() protoreflect.Message { // Deprecated: Use AddScenarioQuestionReq.ProtoReflect.Descriptor instead. func (*AddScenarioQuestionReq) Descriptor() ([]byte, []int) { - return file_main_proto_rawDescGZIP(), []int{74} + return file_main_proto_rawDescGZIP(), []int{76} } func (x *AddScenarioQuestionReq) GetId() int32 { @@ -3837,7 +3925,7 @@ type AddScenarioQuestionRsp struct { func (x *AddScenarioQuestionRsp) Reset() { *x = AddScenarioQuestionRsp{} - mi := &file_main_proto_msgTypes[75] + mi := &file_main_proto_msgTypes[77] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -3849,7 +3937,7 @@ func (x *AddScenarioQuestionRsp) String() string { func (*AddScenarioQuestionRsp) ProtoMessage() {} func (x *AddScenarioQuestionRsp) ProtoReflect() protoreflect.Message { - mi := &file_main_proto_msgTypes[75] + mi := &file_main_proto_msgTypes[77] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -3862,7 +3950,7 @@ func (x *AddScenarioQuestionRsp) ProtoReflect() protoreflect.Message { // Deprecated: Use AddScenarioQuestionRsp.ProtoReflect.Descriptor instead. func (*AddScenarioQuestionRsp) Descriptor() ([]byte, []int) { - return file_main_proto_rawDescGZIP(), []int{75} + return file_main_proto_rawDescGZIP(), []int{77} } func (x *AddScenarioQuestionRsp) GetError() string { @@ -3883,7 +3971,7 @@ type UpdateScenarioQuestionReq struct { func (x *UpdateScenarioQuestionReq) Reset() { *x = UpdateScenarioQuestionReq{} - mi := &file_main_proto_msgTypes[76] + mi := &file_main_proto_msgTypes[78] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -3895,7 +3983,7 @@ func (x *UpdateScenarioQuestionReq) String() string { func (*UpdateScenarioQuestionReq) ProtoMessage() {} func (x *UpdateScenarioQuestionReq) ProtoReflect() protoreflect.Message { - mi := &file_main_proto_msgTypes[76] + mi := &file_main_proto_msgTypes[78] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -3908,7 +3996,7 @@ func (x *UpdateScenarioQuestionReq) ProtoReflect() protoreflect.Message { // Deprecated: Use UpdateScenarioQuestionReq.ProtoReflect.Descriptor instead. func (*UpdateScenarioQuestionReq) Descriptor() ([]byte, []int) { - return file_main_proto_rawDescGZIP(), []int{76} + return file_main_proto_rawDescGZIP(), []int{78} } func (x *UpdateScenarioQuestionReq) GetId() int32 { @@ -3941,7 +4029,7 @@ type UpdateScenarioQuestionRsp struct { func (x *UpdateScenarioQuestionRsp) Reset() { *x = UpdateScenarioQuestionRsp{} - mi := &file_main_proto_msgTypes[77] + mi := &file_main_proto_msgTypes[79] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -3953,7 +4041,7 @@ func (x *UpdateScenarioQuestionRsp) String() string { func (*UpdateScenarioQuestionRsp) ProtoMessage() {} func (x *UpdateScenarioQuestionRsp) ProtoReflect() protoreflect.Message { - mi := &file_main_proto_msgTypes[77] + mi := &file_main_proto_msgTypes[79] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -3966,7 +4054,7 @@ func (x *UpdateScenarioQuestionRsp) ProtoReflect() protoreflect.Message { // Deprecated: Use UpdateScenarioQuestionRsp.ProtoReflect.Descriptor instead. func (*UpdateScenarioQuestionRsp) Descriptor() ([]byte, []int) { - return file_main_proto_rawDescGZIP(), []int{77} + return file_main_proto_rawDescGZIP(), []int{79} } func (x *UpdateScenarioQuestionRsp) GetError() string { @@ -3986,7 +4074,7 @@ type DeleteScenarioQuestionReq struct { func (x *DeleteScenarioQuestionReq) Reset() { *x = DeleteScenarioQuestionReq{} - mi := &file_main_proto_msgTypes[78] + mi := &file_main_proto_msgTypes[80] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -3998,7 +4086,7 @@ func (x *DeleteScenarioQuestionReq) String() string { func (*DeleteScenarioQuestionReq) ProtoMessage() {} func (x *DeleteScenarioQuestionReq) ProtoReflect() protoreflect.Message { - mi := &file_main_proto_msgTypes[78] + mi := &file_main_proto_msgTypes[80] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -4011,7 +4099,7 @@ func (x *DeleteScenarioQuestionReq) ProtoReflect() protoreflect.Message { // Deprecated: Use DeleteScenarioQuestionReq.ProtoReflect.Descriptor instead. func (*DeleteScenarioQuestionReq) Descriptor() ([]byte, []int) { - return file_main_proto_rawDescGZIP(), []int{78} + return file_main_proto_rawDescGZIP(), []int{80} } func (x *DeleteScenarioQuestionReq) GetId() int32 { @@ -4037,7 +4125,7 @@ type DeleteScenarioQuestionRsp struct { func (x *DeleteScenarioQuestionRsp) Reset() { *x = DeleteScenarioQuestionRsp{} - mi := &file_main_proto_msgTypes[79] + mi := &file_main_proto_msgTypes[81] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -4049,7 +4137,7 @@ func (x *DeleteScenarioQuestionRsp) String() string { func (*DeleteScenarioQuestionRsp) ProtoMessage() {} func (x *DeleteScenarioQuestionRsp) ProtoReflect() protoreflect.Message { - mi := &file_main_proto_msgTypes[79] + mi := &file_main_proto_msgTypes[81] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -4062,7 +4150,7 @@ func (x *DeleteScenarioQuestionRsp) ProtoReflect() protoreflect.Message { // Deprecated: Use DeleteScenarioQuestionRsp.ProtoReflect.Descriptor instead. func (*DeleteScenarioQuestionRsp) Descriptor() ([]byte, []int) { - return file_main_proto_rawDescGZIP(), []int{79} + return file_main_proto_rawDescGZIP(), []int{81} } func (x *DeleteScenarioQuestionRsp) GetError() string { @@ -4081,7 +4169,7 @@ type DownloadScenarioArchiveReq struct { func (x *DownloadScenarioArchiveReq) Reset() { *x = DownloadScenarioArchiveReq{} - mi := &file_main_proto_msgTypes[80] + mi := &file_main_proto_msgTypes[82] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -4093,7 +4181,7 @@ func (x *DownloadScenarioArchiveReq) String() string { func (*DownloadScenarioArchiveReq) ProtoMessage() {} func (x *DownloadScenarioArchiveReq) ProtoReflect() protoreflect.Message { - mi := &file_main_proto_msgTypes[80] + mi := &file_main_proto_msgTypes[82] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -4106,7 +4194,7 @@ func (x *DownloadScenarioArchiveReq) ProtoReflect() protoreflect.Message { // Deprecated: Use DownloadScenarioArchiveReq.ProtoReflect.Descriptor instead. func (*DownloadScenarioArchiveReq) Descriptor() ([]byte, []int) { - return file_main_proto_rawDescGZIP(), []int{80} + return file_main_proto_rawDescGZIP(), []int{82} } func (x *DownloadScenarioArchiveReq) GetId() int32 { @@ -4126,7 +4214,7 @@ type UploadScenarioArchiveRsp struct { func (x *UploadScenarioArchiveRsp) Reset() { *x = UploadScenarioArchiveRsp{} - mi := &file_main_proto_msgTypes[81] + mi := &file_main_proto_msgTypes[83] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -4138,7 +4226,7 @@ func (x *UploadScenarioArchiveRsp) String() string { func (*UploadScenarioArchiveRsp) ProtoMessage() {} func (x *UploadScenarioArchiveRsp) ProtoReflect() protoreflect.Message { - mi := &file_main_proto_msgTypes[81] + mi := &file_main_proto_msgTypes[83] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -4151,7 +4239,7 @@ func (x *UploadScenarioArchiveRsp) ProtoReflect() protoreflect.Message { // Deprecated: Use UploadScenarioArchiveRsp.ProtoReflect.Descriptor instead. func (*UploadScenarioArchiveRsp) Descriptor() ([]byte, []int) { - return file_main_proto_rawDescGZIP(), []int{81} + return file_main_proto_rawDescGZIP(), []int{83} } func (x *UploadScenarioArchiveRsp) GetError() string { @@ -4180,7 +4268,7 @@ type AddGameReq struct { func (x *AddGameReq) Reset() { *x = AddGameReq{} - mi := &file_main_proto_msgTypes[82] + mi := &file_main_proto_msgTypes[84] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -4192,7 +4280,7 @@ func (x *AddGameReq) String() string { func (*AddGameReq) ProtoMessage() {} func (x *AddGameReq) ProtoReflect() protoreflect.Message { - mi := &file_main_proto_msgTypes[82] + mi := &file_main_proto_msgTypes[84] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -4205,7 +4293,7 @@ func (x *AddGameReq) ProtoReflect() protoreflect.Message { // Deprecated: Use AddGameReq.ProtoReflect.Descriptor instead. func (*AddGameReq) Descriptor() ([]byte, []int) { - return file_main_proto_rawDescGZIP(), []int{82} + return file_main_proto_rawDescGZIP(), []int{84} } func (x *AddGameReq) GetName() string { @@ -4246,7 +4334,7 @@ type AddGameRsp struct { func (x *AddGameRsp) Reset() { *x = AddGameRsp{} - mi := &file_main_proto_msgTypes[83] + mi := &file_main_proto_msgTypes[85] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -4258,7 +4346,7 @@ func (x *AddGameRsp) String() string { func (*AddGameRsp) ProtoMessage() {} func (x *AddGameRsp) ProtoReflect() protoreflect.Message { - mi := &file_main_proto_msgTypes[83] + mi := &file_main_proto_msgTypes[85] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -4271,7 +4359,7 @@ func (x *AddGameRsp) ProtoReflect() protoreflect.Message { // Deprecated: Use AddGameRsp.ProtoReflect.Descriptor instead. func (*AddGameRsp) Descriptor() ([]byte, []int) { - return file_main_proto_rawDescGZIP(), []int{83} + return file_main_proto_rawDescGZIP(), []int{85} } func (x *AddGameRsp) GetError() string { @@ -4296,7 +4384,7 @@ type GetGamesReq struct { func (x *GetGamesReq) Reset() { *x = GetGamesReq{} - mi := &file_main_proto_msgTypes[84] + mi := &file_main_proto_msgTypes[86] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -4308,7 +4396,7 @@ func (x *GetGamesReq) String() string { func (*GetGamesReq) ProtoMessage() {} func (x *GetGamesReq) ProtoReflect() protoreflect.Message { - mi := &file_main_proto_msgTypes[84] + mi := &file_main_proto_msgTypes[86] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -4321,7 +4409,7 @@ func (x *GetGamesReq) ProtoReflect() protoreflect.Message { // Deprecated: Use GetGamesReq.ProtoReflect.Descriptor instead. func (*GetGamesReq) Descriptor() ([]byte, []int) { - return file_main_proto_rawDescGZIP(), []int{84} + return file_main_proto_rawDescGZIP(), []int{86} } type GetGamesRsp struct { @@ -4334,7 +4422,7 @@ type GetGamesRsp struct { func (x *GetGamesRsp) Reset() { *x = GetGamesRsp{} - mi := &file_main_proto_msgTypes[85] + mi := &file_main_proto_msgTypes[87] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -4346,7 +4434,7 @@ func (x *GetGamesRsp) String() string { func (*GetGamesRsp) ProtoMessage() {} func (x *GetGamesRsp) ProtoReflect() protoreflect.Message { - mi := &file_main_proto_msgTypes[85] + mi := &file_main_proto_msgTypes[87] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -4359,7 +4447,7 @@ func (x *GetGamesRsp) ProtoReflect() protoreflect.Message { // Deprecated: Use GetGamesRsp.ProtoReflect.Descriptor instead. func (*GetGamesRsp) Descriptor() ([]byte, []int) { - return file_main_proto_rawDescGZIP(), []int{85} + return file_main_proto_rawDescGZIP(), []int{87} } func (x *GetGamesRsp) GetError() string { @@ -4393,7 +4481,7 @@ type Game struct { func (x *Game) Reset() { *x = Game{} - mi := &file_main_proto_msgTypes[86] + mi := &file_main_proto_msgTypes[88] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -4405,7 +4493,7 @@ func (x *Game) String() string { func (*Game) ProtoMessage() {} func (x *Game) ProtoReflect() protoreflect.Message { - mi := &file_main_proto_msgTypes[86] + mi := &file_main_proto_msgTypes[88] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -4418,7 +4506,7 @@ func (x *Game) ProtoReflect() protoreflect.Message { // Deprecated: Use Game.ProtoReflect.Descriptor instead. func (*Game) Descriptor() ([]byte, []int) { - return file_main_proto_rawDescGZIP(), []int{86} + return file_main_proto_rawDescGZIP(), []int{88} } func (x *Game) GetId() int32 { @@ -4498,7 +4586,7 @@ type Team struct { func (x *Team) Reset() { *x = Team{} - mi := &file_main_proto_msgTypes[87] + mi := &file_main_proto_msgTypes[89] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -4510,7 +4598,7 @@ func (x *Team) String() string { func (*Team) ProtoMessage() {} func (x *Team) ProtoReflect() protoreflect.Message { - mi := &file_main_proto_msgTypes[87] + mi := &file_main_proto_msgTypes[89] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -4523,7 +4611,7 @@ func (x *Team) ProtoReflect() protoreflect.Message { // Deprecated: Use Team.ProtoReflect.Descriptor instead. func (*Team) Descriptor() ([]byte, []int) { - return file_main_proto_rawDescGZIP(), []int{87} + return file_main_proto_rawDescGZIP(), []int{89} } func (x *Team) GetId() int32 { @@ -4577,7 +4665,7 @@ type GetGameReq struct { func (x *GetGameReq) Reset() { *x = GetGameReq{} - mi := &file_main_proto_msgTypes[88] + mi := &file_main_proto_msgTypes[90] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -4589,7 +4677,7 @@ func (x *GetGameReq) String() string { func (*GetGameReq) ProtoMessage() {} func (x *GetGameReq) ProtoReflect() protoreflect.Message { - mi := &file_main_proto_msgTypes[88] + mi := &file_main_proto_msgTypes[90] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -4602,7 +4690,7 @@ func (x *GetGameReq) ProtoReflect() protoreflect.Message { // Deprecated: Use GetGameReq.ProtoReflect.Descriptor instead. func (*GetGameReq) Descriptor() ([]byte, []int) { - return file_main_proto_rawDescGZIP(), []int{88} + return file_main_proto_rawDescGZIP(), []int{90} } func (x *GetGameReq) GetId() int32 { @@ -4622,7 +4710,7 @@ type GetGameRsp struct { func (x *GetGameRsp) Reset() { *x = GetGameRsp{} - mi := &file_main_proto_msgTypes[89] + mi := &file_main_proto_msgTypes[91] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -4634,7 +4722,7 @@ func (x *GetGameRsp) String() string { func (*GetGameRsp) ProtoMessage() {} func (x *GetGameRsp) ProtoReflect() protoreflect.Message { - mi := &file_main_proto_msgTypes[89] + mi := &file_main_proto_msgTypes[91] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -4647,7 +4735,7 @@ func (x *GetGameRsp) ProtoReflect() protoreflect.Message { // Deprecated: Use GetGameRsp.ProtoReflect.Descriptor instead. func (*GetGameRsp) Descriptor() ([]byte, []int) { - return file_main_proto_rawDescGZIP(), []int{89} + return file_main_proto_rawDescGZIP(), []int{91} } func (x *GetGameRsp) GetError() string { @@ -4673,7 +4761,7 @@ type GetGameAnswersReq struct { func (x *GetGameAnswersReq) Reset() { *x = GetGameAnswersReq{} - mi := &file_main_proto_msgTypes[90] + mi := &file_main_proto_msgTypes[92] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -4685,7 +4773,7 @@ func (x *GetGameAnswersReq) String() string { func (*GetGameAnswersReq) ProtoMessage() {} func (x *GetGameAnswersReq) ProtoReflect() protoreflect.Message { - mi := &file_main_proto_msgTypes[90] + mi := &file_main_proto_msgTypes[92] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -4698,7 +4786,7 @@ func (x *GetGameAnswersReq) ProtoReflect() protoreflect.Message { // Deprecated: Use GetGameAnswersReq.ProtoReflect.Descriptor instead. func (*GetGameAnswersReq) Descriptor() ([]byte, []int) { - return file_main_proto_rawDescGZIP(), []int{90} + return file_main_proto_rawDescGZIP(), []int{92} } func (x *GetGameAnswersReq) GetGameId() int32 { @@ -4719,7 +4807,7 @@ type GetGameAnswersRsp struct { func (x *GetGameAnswersRsp) Reset() { *x = GetGameAnswersRsp{} - mi := &file_main_proto_msgTypes[91] + mi := &file_main_proto_msgTypes[93] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -4731,7 +4819,7 @@ func (x *GetGameAnswersRsp) String() string { func (*GetGameAnswersRsp) ProtoMessage() {} func (x *GetGameAnswersRsp) ProtoReflect() protoreflect.Message { - mi := &file_main_proto_msgTypes[91] + mi := &file_main_proto_msgTypes[93] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -4744,7 +4832,7 @@ func (x *GetGameAnswersRsp) ProtoReflect() protoreflect.Message { // Deprecated: Use GetGameAnswersRsp.ProtoReflect.Descriptor instead. func (*GetGameAnswersRsp) Descriptor() ([]byte, []int) { - return file_main_proto_rawDescGZIP(), []int{91} + return file_main_proto_rawDescGZIP(), []int{93} } func (x *GetGameAnswersRsp) GetError() string { @@ -4777,7 +4865,7 @@ type GetGameResultsReq struct { func (x *GetGameResultsReq) Reset() { *x = GetGameResultsReq{} - mi := &file_main_proto_msgTypes[92] + mi := &file_main_proto_msgTypes[94] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -4789,7 +4877,7 @@ func (x *GetGameResultsReq) String() string { func (*GetGameResultsReq) ProtoMessage() {} func (x *GetGameResultsReq) ProtoReflect() protoreflect.Message { - mi := &file_main_proto_msgTypes[92] + mi := &file_main_proto_msgTypes[94] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -4802,7 +4890,7 @@ func (x *GetGameResultsReq) ProtoReflect() protoreflect.Message { // Deprecated: Use GetGameResultsReq.ProtoReflect.Descriptor instead. func (*GetGameResultsReq) Descriptor() ([]byte, []int) { - return file_main_proto_rawDescGZIP(), []int{92} + return file_main_proto_rawDescGZIP(), []int{94} } func (x *GetGameResultsReq) GetGameId() int32 { @@ -4824,7 +4912,7 @@ type ResultsQuestion struct { func (x *ResultsQuestion) Reset() { *x = ResultsQuestion{} - mi := &file_main_proto_msgTypes[93] + mi := &file_main_proto_msgTypes[95] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -4836,7 +4924,7 @@ func (x *ResultsQuestion) String() string { func (*ResultsQuestion) ProtoMessage() {} func (x *ResultsQuestion) ProtoReflect() protoreflect.Message { - mi := &file_main_proto_msgTypes[93] + mi := &file_main_proto_msgTypes[95] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -4849,7 +4937,7 @@ func (x *ResultsQuestion) ProtoReflect() protoreflect.Message { // Deprecated: Use ResultsQuestion.ProtoReflect.Descriptor instead. func (*ResultsQuestion) Descriptor() ([]byte, []int) { - return file_main_proto_rawDescGZIP(), []int{93} + return file_main_proto_rawDescGZIP(), []int{95} } func (x *ResultsQuestion) GetCode() string { @@ -4885,7 +4973,7 @@ type TeamResult struct { func (x *TeamResult) Reset() { *x = TeamResult{} - mi := &file_main_proto_msgTypes[94] + mi := &file_main_proto_msgTypes[96] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -4897,7 +4985,7 @@ func (x *TeamResult) String() string { func (*TeamResult) ProtoMessage() {} func (x *TeamResult) ProtoReflect() protoreflect.Message { - mi := &file_main_proto_msgTypes[94] + mi := &file_main_proto_msgTypes[96] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -4910,7 +4998,7 @@ func (x *TeamResult) ProtoReflect() protoreflect.Message { // Deprecated: Use TeamResult.ProtoReflect.Descriptor instead. func (*TeamResult) Descriptor() ([]byte, []int) { - return file_main_proto_rawDescGZIP(), []int{94} + return file_main_proto_rawDescGZIP(), []int{96} } func (x *TeamResult) GetTeam() *Team { @@ -4959,7 +5047,7 @@ type GetGameResultsRsp struct { func (x *GetGameResultsRsp) Reset() { *x = GetGameResultsRsp{} - mi := &file_main_proto_msgTypes[95] + mi := &file_main_proto_msgTypes[97] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -4971,7 +5059,7 @@ func (x *GetGameResultsRsp) String() string { func (*GetGameResultsRsp) ProtoMessage() {} func (x *GetGameResultsRsp) ProtoReflect() protoreflect.Message { - mi := &file_main_proto_msgTypes[95] + mi := &file_main_proto_msgTypes[97] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -4984,7 +5072,7 @@ func (x *GetGameResultsRsp) ProtoReflect() protoreflect.Message { // Deprecated: Use GetGameResultsRsp.ProtoReflect.Descriptor instead. func (*GetGameResultsRsp) Descriptor() ([]byte, []int) { - return file_main_proto_rawDescGZIP(), []int{95} + return file_main_proto_rawDescGZIP(), []int{97} } func (x *GetGameResultsRsp) GetError() string { @@ -5021,7 +5109,7 @@ type UpdateGameReq struct { func (x *UpdateGameReq) Reset() { *x = UpdateGameReq{} - mi := &file_main_proto_msgTypes[96] + mi := &file_main_proto_msgTypes[98] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -5033,7 +5121,7 @@ func (x *UpdateGameReq) String() string { func (*UpdateGameReq) ProtoMessage() {} func (x *UpdateGameReq) ProtoReflect() protoreflect.Message { - mi := &file_main_proto_msgTypes[96] + mi := &file_main_proto_msgTypes[98] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -5046,7 +5134,7 @@ func (x *UpdateGameReq) ProtoReflect() protoreflect.Message { // Deprecated: Use UpdateGameReq.ProtoReflect.Descriptor instead. func (*UpdateGameReq) Descriptor() ([]byte, []int) { - return file_main_proto_rawDescGZIP(), []int{96} + return file_main_proto_rawDescGZIP(), []int{98} } func (x *UpdateGameReq) GetId() int32 { @@ -5093,7 +5181,7 @@ type UpdateGameRsp struct { func (x *UpdateGameRsp) Reset() { *x = UpdateGameRsp{} - mi := &file_main_proto_msgTypes[97] + mi := &file_main_proto_msgTypes[99] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -5105,7 +5193,7 @@ func (x *UpdateGameRsp) String() string { func (*UpdateGameRsp) ProtoMessage() {} func (x *UpdateGameRsp) ProtoReflect() protoreflect.Message { - mi := &file_main_proto_msgTypes[97] + mi := &file_main_proto_msgTypes[99] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -5118,7 +5206,7 @@ func (x *UpdateGameRsp) ProtoReflect() protoreflect.Message { // Deprecated: Use UpdateGameRsp.ProtoReflect.Descriptor instead. func (*UpdateGameRsp) Descriptor() ([]byte, []int) { - return file_main_proto_rawDescGZIP(), []int{97} + return file_main_proto_rawDescGZIP(), []int{99} } func (x *UpdateGameRsp) GetError() string { @@ -5137,7 +5225,7 @@ type StartGameReq struct { func (x *StartGameReq) Reset() { *x = StartGameReq{} - mi := &file_main_proto_msgTypes[98] + mi := &file_main_proto_msgTypes[100] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -5149,7 +5237,7 @@ func (x *StartGameReq) String() string { func (*StartGameReq) ProtoMessage() {} func (x *StartGameReq) ProtoReflect() protoreflect.Message { - mi := &file_main_proto_msgTypes[98] + mi := &file_main_proto_msgTypes[100] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -5162,7 +5250,7 @@ func (x *StartGameReq) ProtoReflect() protoreflect.Message { // Deprecated: Use StartGameReq.ProtoReflect.Descriptor instead. func (*StartGameReq) Descriptor() ([]byte, []int) { - return file_main_proto_rawDescGZIP(), []int{98} + return file_main_proto_rawDescGZIP(), []int{100} } func (x *StartGameReq) GetId() int32 { @@ -5181,7 +5269,7 @@ type StartGameRsp struct { func (x *StartGameRsp) Reset() { *x = StartGameRsp{} - mi := &file_main_proto_msgTypes[99] + mi := &file_main_proto_msgTypes[101] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -5193,7 +5281,7 @@ func (x *StartGameRsp) String() string { func (*StartGameRsp) ProtoMessage() {} func (x *StartGameRsp) ProtoReflect() protoreflect.Message { - mi := &file_main_proto_msgTypes[99] + mi := &file_main_proto_msgTypes[101] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -5206,7 +5294,7 @@ func (x *StartGameRsp) ProtoReflect() protoreflect.Message { // Deprecated: Use StartGameRsp.ProtoReflect.Descriptor instead. func (*StartGameRsp) Descriptor() ([]byte, []int) { - return file_main_proto_rawDescGZIP(), []int{99} + return file_main_proto_rawDescGZIP(), []int{101} } func (x *StartGameRsp) GetError() string { @@ -5225,7 +5313,7 @@ type PauseGameReq struct { func (x *PauseGameReq) Reset() { *x = PauseGameReq{} - mi := &file_main_proto_msgTypes[100] + mi := &file_main_proto_msgTypes[102] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -5237,7 +5325,7 @@ func (x *PauseGameReq) String() string { func (*PauseGameReq) ProtoMessage() {} func (x *PauseGameReq) ProtoReflect() protoreflect.Message { - mi := &file_main_proto_msgTypes[100] + mi := &file_main_proto_msgTypes[102] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -5250,7 +5338,7 @@ func (x *PauseGameReq) ProtoReflect() protoreflect.Message { // Deprecated: Use PauseGameReq.ProtoReflect.Descriptor instead. func (*PauseGameReq) Descriptor() ([]byte, []int) { - return file_main_proto_rawDescGZIP(), []int{100} + return file_main_proto_rawDescGZIP(), []int{102} } func (x *PauseGameReq) GetId() int32 { @@ -5269,7 +5357,7 @@ type PauseGameRsp struct { func (x *PauseGameRsp) Reset() { *x = PauseGameRsp{} - mi := &file_main_proto_msgTypes[101] + mi := &file_main_proto_msgTypes[103] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -5281,7 +5369,7 @@ func (x *PauseGameRsp) String() string { func (*PauseGameRsp) ProtoMessage() {} func (x *PauseGameRsp) ProtoReflect() protoreflect.Message { - mi := &file_main_proto_msgTypes[101] + mi := &file_main_proto_msgTypes[103] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -5294,7 +5382,7 @@ func (x *PauseGameRsp) ProtoReflect() protoreflect.Message { // Deprecated: Use PauseGameRsp.ProtoReflect.Descriptor instead. func (*PauseGameRsp) Descriptor() ([]byte, []int) { - return file_main_proto_rawDescGZIP(), []int{101} + return file_main_proto_rawDescGZIP(), []int{103} } func (x *PauseGameRsp) GetError() string { @@ -5313,7 +5401,7 @@ type PlayGameReq struct { func (x *PlayGameReq) Reset() { *x = PlayGameReq{} - mi := &file_main_proto_msgTypes[102] + mi := &file_main_proto_msgTypes[104] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -5325,7 +5413,7 @@ func (x *PlayGameReq) String() string { func (*PlayGameReq) ProtoMessage() {} func (x *PlayGameReq) ProtoReflect() protoreflect.Message { - mi := &file_main_proto_msgTypes[102] + mi := &file_main_proto_msgTypes[104] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -5338,7 +5426,7 @@ func (x *PlayGameReq) ProtoReflect() protoreflect.Message { // Deprecated: Use PlayGameReq.ProtoReflect.Descriptor instead. func (*PlayGameReq) Descriptor() ([]byte, []int) { - return file_main_proto_rawDescGZIP(), []int{102} + return file_main_proto_rawDescGZIP(), []int{104} } func (x *PlayGameReq) GetId() int32 { @@ -5357,7 +5445,7 @@ type PlayGameRsp struct { func (x *PlayGameRsp) Reset() { *x = PlayGameRsp{} - mi := &file_main_proto_msgTypes[103] + mi := &file_main_proto_msgTypes[105] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -5369,7 +5457,7 @@ func (x *PlayGameRsp) String() string { func (*PlayGameRsp) ProtoMessage() {} func (x *PlayGameRsp) ProtoReflect() protoreflect.Message { - mi := &file_main_proto_msgTypes[103] + mi := &file_main_proto_msgTypes[105] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -5382,7 +5470,7 @@ func (x *PlayGameRsp) ProtoReflect() protoreflect.Message { // Deprecated: Use PlayGameRsp.ProtoReflect.Descriptor instead. func (*PlayGameRsp) Descriptor() ([]byte, []int) { - return file_main_proto_rawDescGZIP(), []int{103} + return file_main_proto_rawDescGZIP(), []int{105} } func (x *PlayGameRsp) GetError() string { @@ -5401,7 +5489,7 @@ type FinishGameReq struct { func (x *FinishGameReq) Reset() { *x = FinishGameReq{} - mi := &file_main_proto_msgTypes[104] + mi := &file_main_proto_msgTypes[106] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -5413,7 +5501,7 @@ func (x *FinishGameReq) String() string { func (*FinishGameReq) ProtoMessage() {} func (x *FinishGameReq) ProtoReflect() protoreflect.Message { - mi := &file_main_proto_msgTypes[104] + mi := &file_main_proto_msgTypes[106] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -5426,7 +5514,7 @@ func (x *FinishGameReq) ProtoReflect() protoreflect.Message { // Deprecated: Use FinishGameReq.ProtoReflect.Descriptor instead. func (*FinishGameReq) Descriptor() ([]byte, []int) { - return file_main_proto_rawDescGZIP(), []int{104} + return file_main_proto_rawDescGZIP(), []int{106} } func (x *FinishGameReq) GetId() int32 { @@ -5445,7 +5533,7 @@ type FinishGameRsp struct { func (x *FinishGameRsp) Reset() { *x = FinishGameRsp{} - mi := &file_main_proto_msgTypes[105] + mi := &file_main_proto_msgTypes[107] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -5457,7 +5545,7 @@ func (x *FinishGameRsp) String() string { func (*FinishGameRsp) ProtoMessage() {} func (x *FinishGameRsp) ProtoReflect() protoreflect.Message { - mi := &file_main_proto_msgTypes[105] + mi := &file_main_proto_msgTypes[107] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -5470,7 +5558,7 @@ func (x *FinishGameRsp) ProtoReflect() protoreflect.Message { // Deprecated: Use FinishGameRsp.ProtoReflect.Descriptor instead. func (*FinishGameRsp) Descriptor() ([]byte, []int) { - return file_main_proto_rawDescGZIP(), []int{105} + return file_main_proto_rawDescGZIP(), []int{107} } func (x *FinishGameRsp) GetError() string { @@ -5489,7 +5577,7 @@ type ResetGameReq struct { func (x *ResetGameReq) Reset() { *x = ResetGameReq{} - mi := &file_main_proto_msgTypes[106] + mi := &file_main_proto_msgTypes[108] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -5501,7 +5589,7 @@ func (x *ResetGameReq) String() string { func (*ResetGameReq) ProtoMessage() {} func (x *ResetGameReq) ProtoReflect() protoreflect.Message { - mi := &file_main_proto_msgTypes[106] + mi := &file_main_proto_msgTypes[108] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -5514,7 +5602,7 @@ func (x *ResetGameReq) ProtoReflect() protoreflect.Message { // Deprecated: Use ResetGameReq.ProtoReflect.Descriptor instead. func (*ResetGameReq) Descriptor() ([]byte, []int) { - return file_main_proto_rawDescGZIP(), []int{106} + return file_main_proto_rawDescGZIP(), []int{108} } func (x *ResetGameReq) GetId() int32 { @@ -5533,7 +5621,7 @@ type ResetGameRsp struct { func (x *ResetGameRsp) Reset() { *x = ResetGameRsp{} - mi := &file_main_proto_msgTypes[107] + mi := &file_main_proto_msgTypes[109] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -5545,7 +5633,7 @@ func (x *ResetGameRsp) String() string { func (*ResetGameRsp) ProtoMessage() {} func (x *ResetGameRsp) ProtoReflect() protoreflect.Message { - mi := &file_main_proto_msgTypes[107] + mi := &file_main_proto_msgTypes[109] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -5558,7 +5646,7 @@ func (x *ResetGameRsp) ProtoReflect() protoreflect.Message { // Deprecated: Use ResetGameRsp.ProtoReflect.Descriptor instead. func (*ResetGameRsp) Descriptor() ([]byte, []int) { - return file_main_proto_rawDescGZIP(), []int{107} + return file_main_proto_rawDescGZIP(), []int{109} } func (x *ResetGameRsp) GetError() string { @@ -5577,7 +5665,7 @@ type DeleteGameReq struct { func (x *DeleteGameReq) Reset() { *x = DeleteGameReq{} - mi := &file_main_proto_msgTypes[108] + mi := &file_main_proto_msgTypes[110] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -5589,7 +5677,7 @@ func (x *DeleteGameReq) String() string { func (*DeleteGameReq) ProtoMessage() {} func (x *DeleteGameReq) ProtoReflect() protoreflect.Message { - mi := &file_main_proto_msgTypes[108] + mi := &file_main_proto_msgTypes[110] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -5602,7 +5690,7 @@ func (x *DeleteGameReq) ProtoReflect() protoreflect.Message { // Deprecated: Use DeleteGameReq.ProtoReflect.Descriptor instead. func (*DeleteGameReq) Descriptor() ([]byte, []int) { - return file_main_proto_rawDescGZIP(), []int{108} + return file_main_proto_rawDescGZIP(), []int{110} } func (x *DeleteGameReq) GetId() int32 { @@ -5621,7 +5709,7 @@ type DeleteGameRsp struct { func (x *DeleteGameRsp) Reset() { *x = DeleteGameRsp{} - mi := &file_main_proto_msgTypes[109] + mi := &file_main_proto_msgTypes[111] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -5633,7 +5721,7 @@ func (x *DeleteGameRsp) String() string { func (*DeleteGameRsp) ProtoMessage() {} func (x *DeleteGameRsp) ProtoReflect() protoreflect.Message { - mi := &file_main_proto_msgTypes[109] + mi := &file_main_proto_msgTypes[111] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -5646,7 +5734,7 @@ func (x *DeleteGameRsp) ProtoReflect() protoreflect.Message { // Deprecated: Use DeleteGameRsp.ProtoReflect.Descriptor instead. func (*DeleteGameRsp) Descriptor() ([]byte, []int) { - return file_main_proto_rawDescGZIP(), []int{109} + return file_main_proto_rawDescGZIP(), []int{111} } func (x *DeleteGameRsp) GetError() string { @@ -5666,7 +5754,7 @@ type AddTeamReq struct { func (x *AddTeamReq) Reset() { *x = AddTeamReq{} - mi := &file_main_proto_msgTypes[110] + mi := &file_main_proto_msgTypes[112] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -5678,7 +5766,7 @@ func (x *AddTeamReq) String() string { func (*AddTeamReq) ProtoMessage() {} func (x *AddTeamReq) ProtoReflect() protoreflect.Message { - mi := &file_main_proto_msgTypes[110] + mi := &file_main_proto_msgTypes[112] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -5691,7 +5779,7 @@ func (x *AddTeamReq) ProtoReflect() protoreflect.Message { // Deprecated: Use AddTeamReq.ProtoReflect.Descriptor instead. func (*AddTeamReq) Descriptor() ([]byte, []int) { - return file_main_proto_rawDescGZIP(), []int{110} + return file_main_proto_rawDescGZIP(), []int{112} } func (x *AddTeamReq) GetGameId() int32 { @@ -5719,7 +5807,7 @@ type AddTeamRsp struct { func (x *AddTeamRsp) Reset() { *x = AddTeamRsp{} - mi := &file_main_proto_msgTypes[111] + mi := &file_main_proto_msgTypes[113] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -5731,7 +5819,7 @@ func (x *AddTeamRsp) String() string { func (*AddTeamRsp) ProtoMessage() {} func (x *AddTeamRsp) ProtoReflect() protoreflect.Message { - mi := &file_main_proto_msgTypes[111] + mi := &file_main_proto_msgTypes[113] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -5744,7 +5832,7 @@ func (x *AddTeamRsp) ProtoReflect() protoreflect.Message { // Deprecated: Use AddTeamRsp.ProtoReflect.Descriptor instead. func (*AddTeamRsp) Descriptor() ([]byte, []int) { - return file_main_proto_rawDescGZIP(), []int{111} + return file_main_proto_rawDescGZIP(), []int{113} } func (x *AddTeamRsp) GetError() string { @@ -5778,7 +5866,7 @@ type UpdateTeamReq struct { func (x *UpdateTeamReq) Reset() { *x = UpdateTeamReq{} - mi := &file_main_proto_msgTypes[112] + mi := &file_main_proto_msgTypes[114] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -5790,7 +5878,7 @@ func (x *UpdateTeamReq) String() string { func (*UpdateTeamReq) ProtoMessage() {} func (x *UpdateTeamReq) ProtoReflect() protoreflect.Message { - mi := &file_main_proto_msgTypes[112] + mi := &file_main_proto_msgTypes[114] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -5803,7 +5891,7 @@ func (x *UpdateTeamReq) ProtoReflect() protoreflect.Message { // Deprecated: Use UpdateTeamReq.ProtoReflect.Descriptor instead. func (*UpdateTeamReq) Descriptor() ([]byte, []int) { - return file_main_proto_rawDescGZIP(), []int{112} + return file_main_proto_rawDescGZIP(), []int{114} } func (x *UpdateTeamReq) GetId() int32 { @@ -5829,7 +5917,7 @@ type UpdateTeamRsp struct { func (x *UpdateTeamRsp) Reset() { *x = UpdateTeamRsp{} - mi := &file_main_proto_msgTypes[113] + mi := &file_main_proto_msgTypes[115] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -5841,7 +5929,7 @@ func (x *UpdateTeamRsp) String() string { func (*UpdateTeamRsp) ProtoMessage() {} func (x *UpdateTeamRsp) ProtoReflect() protoreflect.Message { - mi := &file_main_proto_msgTypes[113] + mi := &file_main_proto_msgTypes[115] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -5854,7 +5942,7 @@ func (x *UpdateTeamRsp) ProtoReflect() protoreflect.Message { // Deprecated: Use UpdateTeamRsp.ProtoReflect.Descriptor instead. func (*UpdateTeamRsp) Descriptor() ([]byte, []int) { - return file_main_proto_rawDescGZIP(), []int{113} + return file_main_proto_rawDescGZIP(), []int{115} } func (x *UpdateTeamRsp) GetError() string { @@ -5873,7 +5961,7 @@ type DeleteTeamReq struct { func (x *DeleteTeamReq) Reset() { *x = DeleteTeamReq{} - mi := &file_main_proto_msgTypes[114] + mi := &file_main_proto_msgTypes[116] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -5885,7 +5973,7 @@ func (x *DeleteTeamReq) String() string { func (*DeleteTeamReq) ProtoMessage() {} func (x *DeleteTeamReq) ProtoReflect() protoreflect.Message { - mi := &file_main_proto_msgTypes[114] + mi := &file_main_proto_msgTypes[116] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -5898,7 +5986,7 @@ func (x *DeleteTeamReq) ProtoReflect() protoreflect.Message { // Deprecated: Use DeleteTeamReq.ProtoReflect.Descriptor instead. func (*DeleteTeamReq) Descriptor() ([]byte, []int) { - return file_main_proto_rawDescGZIP(), []int{114} + return file_main_proto_rawDescGZIP(), []int{116} } func (x *DeleteTeamReq) GetId() int64 { @@ -5917,7 +6005,7 @@ type DeleteTeamRsp struct { func (x *DeleteTeamRsp) Reset() { *x = DeleteTeamRsp{} - mi := &file_main_proto_msgTypes[115] + mi := &file_main_proto_msgTypes[117] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -5929,7 +6017,7 @@ func (x *DeleteTeamRsp) String() string { func (*DeleteTeamRsp) ProtoMessage() {} func (x *DeleteTeamRsp) ProtoReflect() protoreflect.Message { - mi := &file_main_proto_msgTypes[115] + mi := &file_main_proto_msgTypes[117] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -5942,7 +6030,7 @@ func (x *DeleteTeamRsp) ProtoReflect() protoreflect.Message { // Deprecated: Use DeleteTeamRsp.ProtoReflect.Descriptor instead. func (*DeleteTeamRsp) Descriptor() ([]byte, []int) { - return file_main_proto_rawDescGZIP(), []int{115} + return file_main_proto_rawDescGZIP(), []int{117} } func (x *DeleteTeamRsp) GetError() string { @@ -5962,7 +6050,7 @@ type GiveTeamApplicationsReq struct { func (x *GiveTeamApplicationsReq) Reset() { *x = GiveTeamApplicationsReq{} - mi := &file_main_proto_msgTypes[116] + mi := &file_main_proto_msgTypes[118] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -5974,7 +6062,7 @@ func (x *GiveTeamApplicationsReq) String() string { func (*GiveTeamApplicationsReq) ProtoMessage() {} func (x *GiveTeamApplicationsReq) ProtoReflect() protoreflect.Message { - mi := &file_main_proto_msgTypes[116] + mi := &file_main_proto_msgTypes[118] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -5987,7 +6075,7 @@ func (x *GiveTeamApplicationsReq) ProtoReflect() protoreflect.Message { // Deprecated: Use GiveTeamApplicationsReq.ProtoReflect.Descriptor instead. func (*GiveTeamApplicationsReq) Descriptor() ([]byte, []int) { - return file_main_proto_rawDescGZIP(), []int{116} + return file_main_proto_rawDescGZIP(), []int{118} } func (x *GiveTeamApplicationsReq) GetId() int64 { @@ -6013,7 +6101,7 @@ type GiveTeamApplicationsRsp struct { func (x *GiveTeamApplicationsRsp) Reset() { *x = GiveTeamApplicationsRsp{} - mi := &file_main_proto_msgTypes[117] + mi := &file_main_proto_msgTypes[119] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -6025,7 +6113,7 @@ func (x *GiveTeamApplicationsRsp) String() string { func (*GiveTeamApplicationsRsp) ProtoMessage() {} func (x *GiveTeamApplicationsRsp) ProtoReflect() protoreflect.Message { - mi := &file_main_proto_msgTypes[117] + mi := &file_main_proto_msgTypes[119] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -6038,7 +6126,7 @@ func (x *GiveTeamApplicationsRsp) ProtoReflect() protoreflect.Message { // Deprecated: Use GiveTeamApplicationsRsp.ProtoReflect.Descriptor instead. func (*GiveTeamApplicationsRsp) Descriptor() ([]byte, []int) { - return file_main_proto_rawDescGZIP(), []int{117} + return file_main_proto_rawDescGZIP(), []int{119} } func (x *GiveTeamApplicationsRsp) GetError() string { @@ -6058,7 +6146,7 @@ type GetTeamStoryReq struct { func (x *GetTeamStoryReq) Reset() { *x = GetTeamStoryReq{} - mi := &file_main_proto_msgTypes[118] + mi := &file_main_proto_msgTypes[120] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -6070,7 +6158,7 @@ func (x *GetTeamStoryReq) String() string { func (*GetTeamStoryReq) ProtoMessage() {} func (x *GetTeamStoryReq) ProtoReflect() protoreflect.Message { - mi := &file_main_proto_msgTypes[118] + mi := &file_main_proto_msgTypes[120] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -6083,7 +6171,7 @@ func (x *GetTeamStoryReq) ProtoReflect() protoreflect.Message { // Deprecated: Use GetTeamStoryReq.ProtoReflect.Descriptor instead. func (*GetTeamStoryReq) Descriptor() ([]byte, []int) { - return file_main_proto_rawDescGZIP(), []int{118} + return file_main_proto_rawDescGZIP(), []int{120} } func (x *GetTeamStoryReq) GetId() int64 { @@ -6112,7 +6200,7 @@ type GetTeamStoryRsp struct { func (x *GetTeamStoryRsp) Reset() { *x = GetTeamStoryRsp{} - mi := &file_main_proto_msgTypes[119] + mi := &file_main_proto_msgTypes[121] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -6124,7 +6212,7 @@ func (x *GetTeamStoryRsp) String() string { func (*GetTeamStoryRsp) ProtoMessage() {} func (x *GetTeamStoryRsp) ProtoReflect() protoreflect.Message { - mi := &file_main_proto_msgTypes[119] + mi := &file_main_proto_msgTypes[121] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -6137,7 +6225,7 @@ func (x *GetTeamStoryRsp) ProtoReflect() protoreflect.Message { // Deprecated: Use GetTeamStoryRsp.ProtoReflect.Descriptor instead. func (*GetTeamStoryRsp) Descriptor() ([]byte, []int) { - return file_main_proto_rawDescGZIP(), []int{119} + return file_main_proto_rawDescGZIP(), []int{121} } func (x *GetTeamStoryRsp) GetError() string { @@ -6178,7 +6266,7 @@ type TeamAction struct { func (x *TeamAction) Reset() { *x = TeamAction{} - mi := &file_main_proto_msgTypes[120] + mi := &file_main_proto_msgTypes[122] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -6190,7 +6278,7 @@ func (x *TeamAction) String() string { func (*TeamAction) ProtoMessage() {} func (x *TeamAction) ProtoReflect() protoreflect.Message { - mi := &file_main_proto_msgTypes[120] + mi := &file_main_proto_msgTypes[122] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -6203,7 +6291,7 @@ func (x *TeamAction) ProtoReflect() protoreflect.Message { // Deprecated: Use TeamAction.ProtoReflect.Descriptor instead. func (*TeamAction) Descriptor() ([]byte, []int) { - return file_main_proto_rawDescGZIP(), []int{120} + return file_main_proto_rawDescGZIP(), []int{122} } func (x *TeamAction) GetCode() string { @@ -6231,7 +6319,7 @@ type AddTeamActionReq struct { func (x *AddTeamActionReq) Reset() { *x = AddTeamActionReq{} - mi := &file_main_proto_msgTypes[121] + mi := &file_main_proto_msgTypes[123] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -6243,7 +6331,7 @@ func (x *AddTeamActionReq) String() string { func (*AddTeamActionReq) ProtoMessage() {} func (x *AddTeamActionReq) ProtoReflect() protoreflect.Message { - mi := &file_main_proto_msgTypes[121] + mi := &file_main_proto_msgTypes[123] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -6256,7 +6344,7 @@ func (x *AddTeamActionReq) ProtoReflect() protoreflect.Message { // Deprecated: Use AddTeamActionReq.ProtoReflect.Descriptor instead. func (*AddTeamActionReq) Descriptor() ([]byte, []int) { - return file_main_proto_rawDescGZIP(), []int{121} + return file_main_proto_rawDescGZIP(), []int{123} } func (x *AddTeamActionReq) GetId() int64 { @@ -6289,7 +6377,7 @@ type AddTeamActionRsp struct { func (x *AddTeamActionRsp) Reset() { *x = AddTeamActionRsp{} - mi := &file_main_proto_msgTypes[122] + mi := &file_main_proto_msgTypes[124] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -6301,7 +6389,7 @@ func (x *AddTeamActionRsp) String() string { func (*AddTeamActionRsp) ProtoMessage() {} func (x *AddTeamActionRsp) ProtoReflect() protoreflect.Message { - mi := &file_main_proto_msgTypes[122] + mi := &file_main_proto_msgTypes[124] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -6314,7 +6402,7 @@ func (x *AddTeamActionRsp) ProtoReflect() protoreflect.Message { // Deprecated: Use AddTeamActionRsp.ProtoReflect.Descriptor instead. func (*AddTeamActionRsp) Descriptor() ([]byte, []int) { - return file_main_proto_rawDescGZIP(), []int{122} + return file_main_proto_rawDescGZIP(), []int{124} } func (x *AddTeamActionRsp) GetError() string { @@ -6333,7 +6421,7 @@ type DeleteLastTeamActionReq struct { func (x *DeleteLastTeamActionReq) Reset() { *x = DeleteLastTeamActionReq{} - mi := &file_main_proto_msgTypes[123] + mi := &file_main_proto_msgTypes[125] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -6345,7 +6433,7 @@ func (x *DeleteLastTeamActionReq) String() string { func (*DeleteLastTeamActionReq) ProtoMessage() {} func (x *DeleteLastTeamActionReq) ProtoReflect() protoreflect.Message { - mi := &file_main_proto_msgTypes[123] + mi := &file_main_proto_msgTypes[125] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -6358,7 +6446,7 @@ func (x *DeleteLastTeamActionReq) ProtoReflect() protoreflect.Message { // Deprecated: Use DeleteLastTeamActionReq.ProtoReflect.Descriptor instead. func (*DeleteLastTeamActionReq) Descriptor() ([]byte, []int) { - return file_main_proto_rawDescGZIP(), []int{123} + return file_main_proto_rawDescGZIP(), []int{125} } func (x *DeleteLastTeamActionReq) GetId() int64 { @@ -6377,7 +6465,7 @@ type DeleteLastTeamActionRsp struct { func (x *DeleteLastTeamActionRsp) Reset() { *x = DeleteLastTeamActionRsp{} - mi := &file_main_proto_msgTypes[124] + mi := &file_main_proto_msgTypes[126] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -6389,7 +6477,7 @@ func (x *DeleteLastTeamActionRsp) String() string { func (*DeleteLastTeamActionRsp) ProtoMessage() {} func (x *DeleteLastTeamActionRsp) ProtoReflect() protoreflect.Message { - mi := &file_main_proto_msgTypes[124] + mi := &file_main_proto_msgTypes[126] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -6402,7 +6490,7 @@ func (x *DeleteLastTeamActionRsp) ProtoReflect() protoreflect.Message { // Deprecated: Use DeleteLastTeamActionRsp.ProtoReflect.Descriptor instead. func (*DeleteLastTeamActionRsp) Descriptor() ([]byte, []int) { - return file_main_proto_rawDescGZIP(), []int{124} + return file_main_proto_rawDescGZIP(), []int{126} } func (x *DeleteLastTeamActionRsp) GetError() string { @@ -6422,7 +6510,7 @@ type GetTeamAnswersReq struct { func (x *GetTeamAnswersReq) Reset() { *x = GetTeamAnswersReq{} - mi := &file_main_proto_msgTypes[125] + mi := &file_main_proto_msgTypes[127] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -6434,7 +6522,7 @@ func (x *GetTeamAnswersReq) String() string { func (*GetTeamAnswersReq) ProtoMessage() {} func (x *GetTeamAnswersReq) ProtoReflect() protoreflect.Message { - mi := &file_main_proto_msgTypes[125] + mi := &file_main_proto_msgTypes[127] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -6447,7 +6535,7 @@ func (x *GetTeamAnswersReq) ProtoReflect() protoreflect.Message { // Deprecated: Use GetTeamAnswersReq.ProtoReflect.Descriptor instead. func (*GetTeamAnswersReq) Descriptor() ([]byte, []int) { - return file_main_proto_rawDescGZIP(), []int{125} + return file_main_proto_rawDescGZIP(), []int{127} } func (x *GetTeamAnswersReq) GetId() int64 { @@ -6474,7 +6562,7 @@ type GetTeamAnswersRsp struct { func (x *GetTeamAnswersRsp) Reset() { *x = GetTeamAnswersRsp{} - mi := &file_main_proto_msgTypes[126] + mi := &file_main_proto_msgTypes[128] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -6486,7 +6574,7 @@ func (x *GetTeamAnswersRsp) String() string { func (*GetTeamAnswersRsp) ProtoMessage() {} func (x *GetTeamAnswersRsp) ProtoReflect() protoreflect.Message { - mi := &file_main_proto_msgTypes[126] + mi := &file_main_proto_msgTypes[128] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -6499,7 +6587,7 @@ func (x *GetTeamAnswersRsp) ProtoReflect() protoreflect.Message { // Deprecated: Use GetTeamAnswersRsp.ProtoReflect.Descriptor instead. func (*GetTeamAnswersRsp) Descriptor() ([]byte, []int) { - return file_main_proto_rawDescGZIP(), []int{126} + return file_main_proto_rawDescGZIP(), []int{128} } func (x *GetTeamAnswersRsp) GetError() string { @@ -6527,7 +6615,7 @@ type SubmitTeamAnswersReq struct { func (x *SubmitTeamAnswersReq) Reset() { *x = SubmitTeamAnswersReq{} - mi := &file_main_proto_msgTypes[127] + mi := &file_main_proto_msgTypes[129] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -6539,7 +6627,7 @@ func (x *SubmitTeamAnswersReq) String() string { func (*SubmitTeamAnswersReq) ProtoMessage() {} func (x *SubmitTeamAnswersReq) ProtoReflect() protoreflect.Message { - mi := &file_main_proto_msgTypes[127] + mi := &file_main_proto_msgTypes[129] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -6552,7 +6640,7 @@ func (x *SubmitTeamAnswersReq) ProtoReflect() protoreflect.Message { // Deprecated: Use SubmitTeamAnswersReq.ProtoReflect.Descriptor instead. func (*SubmitTeamAnswersReq) Descriptor() ([]byte, []int) { - return file_main_proto_rawDescGZIP(), []int{127} + return file_main_proto_rawDescGZIP(), []int{129} } func (x *SubmitTeamAnswersReq) GetId() int64 { @@ -6585,7 +6673,7 @@ type SubmitTeamAnswersRsp struct { func (x *SubmitTeamAnswersRsp) Reset() { *x = SubmitTeamAnswersRsp{} - mi := &file_main_proto_msgTypes[128] + mi := &file_main_proto_msgTypes[130] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -6597,7 +6685,7 @@ func (x *SubmitTeamAnswersRsp) String() string { func (*SubmitTeamAnswersRsp) ProtoMessage() {} func (x *SubmitTeamAnswersRsp) ProtoReflect() protoreflect.Message { - mi := &file_main_proto_msgTypes[128] + mi := &file_main_proto_msgTypes[130] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -6610,7 +6698,7 @@ func (x *SubmitTeamAnswersRsp) ProtoReflect() protoreflect.Message { // Deprecated: Use SubmitTeamAnswersRsp.ProtoReflect.Descriptor instead. func (*SubmitTeamAnswersRsp) Descriptor() ([]byte, []int) { - return file_main_proto_rawDescGZIP(), []int{128} + return file_main_proto_rawDescGZIP(), []int{130} } func (x *SubmitTeamAnswersRsp) GetError() string { @@ -6632,7 +6720,7 @@ type SetTeamAnswerScoreReq struct { func (x *SetTeamAnswerScoreReq) Reset() { *x = SetTeamAnswerScoreReq{} - mi := &file_main_proto_msgTypes[129] + mi := &file_main_proto_msgTypes[131] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -6644,7 +6732,7 @@ func (x *SetTeamAnswerScoreReq) String() string { func (*SetTeamAnswerScoreReq) ProtoMessage() {} func (x *SetTeamAnswerScoreReq) ProtoReflect() protoreflect.Message { - mi := &file_main_proto_msgTypes[129] + mi := &file_main_proto_msgTypes[131] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -6657,7 +6745,7 @@ func (x *SetTeamAnswerScoreReq) ProtoReflect() protoreflect.Message { // Deprecated: Use SetTeamAnswerScoreReq.ProtoReflect.Descriptor instead. func (*SetTeamAnswerScoreReq) Descriptor() ([]byte, []int) { - return file_main_proto_rawDescGZIP(), []int{129} + return file_main_proto_rawDescGZIP(), []int{131} } func (x *SetTeamAnswerScoreReq) GetId() int64 { @@ -6690,7 +6778,7 @@ type SetTeamAnswerScoreRsp struct { func (x *SetTeamAnswerScoreRsp) Reset() { *x = SetTeamAnswerScoreRsp{} - mi := &file_main_proto_msgTypes[130] + mi := &file_main_proto_msgTypes[132] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -6702,7 +6790,7 @@ func (x *SetTeamAnswerScoreRsp) String() string { func (*SetTeamAnswerScoreRsp) ProtoMessage() {} func (x *SetTeamAnswerScoreRsp) ProtoReflect() protoreflect.Message { - mi := &file_main_proto_msgTypes[130] + mi := &file_main_proto_msgTypes[132] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -6715,7 +6803,7 @@ func (x *SetTeamAnswerScoreRsp) ProtoReflect() protoreflect.Message { // Deprecated: Use SetTeamAnswerScoreRsp.ProtoReflect.Descriptor instead. func (*SetTeamAnswerScoreRsp) Descriptor() ([]byte, []int) { - return file_main_proto_rawDescGZIP(), []int{130} + return file_main_proto_rawDescGZIP(), []int{132} } func (x *SetTeamAnswerScoreRsp) GetError() string { @@ -6735,7 +6823,7 @@ type UpdateScenarioBackgroundReq struct { func (x *UpdateScenarioBackgroundReq) Reset() { *x = UpdateScenarioBackgroundReq{} - mi := &file_main_proto_msgTypes[131] + mi := &file_main_proto_msgTypes[133] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -6747,7 +6835,7 @@ func (x *UpdateScenarioBackgroundReq) String() string { func (*UpdateScenarioBackgroundReq) ProtoMessage() {} func (x *UpdateScenarioBackgroundReq) ProtoReflect() protoreflect.Message { - mi := &file_main_proto_msgTypes[131] + mi := &file_main_proto_msgTypes[133] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -6760,7 +6848,7 @@ func (x *UpdateScenarioBackgroundReq) ProtoReflect() protoreflect.Message { // Deprecated: Use UpdateScenarioBackgroundReq.ProtoReflect.Descriptor instead. func (*UpdateScenarioBackgroundReq) Descriptor() ([]byte, []int) { - return file_main_proto_rawDescGZIP(), []int{131} + return file_main_proto_rawDescGZIP(), []int{133} } func (x *UpdateScenarioBackgroundReq) GetId() int32 { @@ -6786,7 +6874,7 @@ type UpdateScenarioBackgroundRsp struct { func (x *UpdateScenarioBackgroundRsp) Reset() { *x = UpdateScenarioBackgroundRsp{} - mi := &file_main_proto_msgTypes[132] + mi := &file_main_proto_msgTypes[134] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -6798,7 +6886,7 @@ func (x *UpdateScenarioBackgroundRsp) String() string { func (*UpdateScenarioBackgroundRsp) ProtoMessage() {} func (x *UpdateScenarioBackgroundRsp) ProtoReflect() protoreflect.Message { - mi := &file_main_proto_msgTypes[132] + mi := &file_main_proto_msgTypes[134] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -6811,7 +6899,7 @@ func (x *UpdateScenarioBackgroundRsp) ProtoReflect() protoreflect.Message { // Deprecated: Use UpdateScenarioBackgroundRsp.ProtoReflect.Descriptor instead. func (*UpdateScenarioBackgroundRsp) Descriptor() ([]byte, []int) { - return file_main_proto_rawDescGZIP(), []int{132} + return file_main_proto_rawDescGZIP(), []int{134} } func (x *UpdateScenarioBackgroundRsp) GetError() string { @@ -6895,7 +6983,11 @@ const file_main_proto_rawDesc = "" + "\bGetMeReq\"Z\n" + "\bGetMeRsp\x12\x14\n" + "\x05error\x18\x01 \x01(\tR\x05error\x128\n" + - "\x04user\x18\x02 \x01(\v2$.crabs.evening_detective_server.UserR\x04user\"4\n" + + "\x04user\x18\x02 \x01(\v2$.crabs.evening_detective_server.UserR\x04user\"J\n" + + "\x15ChangeUserPasswordReq\x12\x0e\n" + + "\x02id\x18\x01 \x01(\x05R\x02id\x12!\n" + + "\fnew_password\x18\x02 \x01(\tR\vnewPassword\"\x17\n" + + "\x15ChangeUserPasswordRsp\"4\n" + "\x0eAddUserRoleReq\x12\x0e\n" + "\x02id\x18\x01 \x01(\x05R\x02id\x12\x12\n" + "\x04role\x18\x02 \x01(\tR\x04role\"&\n" + @@ -7240,7 +7332,7 @@ const file_main_proto_rawDesc = "" + "background\x18\x02 \x01(\tR\n" + "background\"3\n" + "\x1bUpdateScenarioBackgroundRsp\x12\x14\n" + - "\x05error\x18\x01 \x01(\tR\x05error2\xc7l\n" + + "\x05error\x18\x01 \x01(\tR\x05error2\xf2q\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" + @@ -7281,7 +7373,9 @@ const file_main_proto_rawDesc = "" + "\vGetUserById\x12..crabs.evening_detective_server.GetUserByIdReq\x1a..crabs.evening_detective_server.GetUserByIdRsp\"g\x92AM\n" + "\x18Пользователи\x121Получить пользователя по id\x82\xd3\xe4\x93\x02\x11\x12\x0f/api/users/{id}\x12\xc2\x01\n" + "\x05GetMe\x12(.crabs.evening_detective_server.GetMeReq\x1a(.crabs.evening_detective_server.GetMeRsp\"e\x92AM\n" + - "\x18Пользователи\x121Получить информацию о себе\x82\xd3\xe4\x93\x02\x0f\x12\r/api/users/me\x12\xe3\x01\n" + + "\x18Пользователи\x121Получить информацию о себе\x82\xd3\xe4\x93\x02\x0f\x12\r/api/users/me\x12\xa8\x05\n" + + "\x12ChangeUserPassword\x125.crabs.evening_detective_server.ChangeUserPasswordReq\x1a5.crabs.evening_detective_server.ChangeUserPasswordRsp\"\xa3\x04\x92A\xfc\x03\n" + + "\x18Пользователи\x12RИзменить чужой пароль (только администратор)\x1a\x8b\x03Пароль вводится вручную: минимум 12 символов, максимум 72 байта. Сеансы сохраняются. Ошибки: 401 — нет авторизации, 403 — нет прав, 400 — неверные данные или собственный ID, 404 — пользователь не найден, 500 — ошибка сохранения.\x82\xd3\xe4\x93\x02\x1d:\x01*\"\x18/api/users/{id}/password\x12\xe3\x01\n" + "\vAddUserRole\x12..crabs.evening_detective_server.AddUserRoleReq\x1a..crabs.evening_detective_server.AddUserRoleRsp\"t\x92AN\n" + "\x18Пользователи\x122Добавить пользователю роль\x82\xd3\xe4\x93\x02\x1d:\x01*\"\x18/api/users/{id}/role/add\x12\xf0\x01\n" + "\x0eDeleteUserRole\x121.crabs.evening_detective_server.DeleteUserRoleReq\x1a1.crabs.evening_detective_server.DeleteUserRoleRsp\"x\x92AO\n" + @@ -7417,7 +7511,7 @@ func file_main_proto_rawDescGZIP() []byte { return file_main_proto_rawDescData } -var file_main_proto_msgTypes = make([]protoimpl.MessageInfo, 133) +var file_main_proto_msgTypes = make([]protoimpl.MessageInfo, 135) var file_main_proto_goTypes = []any{ (*PingReq)(nil), // 0: crabs.evening_detective_server.PingReq (*PingRsp)(nil), // 1: crabs.evening_detective_server.PingRsp @@ -7446,165 +7540,167 @@ var file_main_proto_goTypes = []any{ (*GetUserByIdRsp)(nil), // 24: crabs.evening_detective_server.GetUserByIdRsp (*GetMeReq)(nil), // 25: crabs.evening_detective_server.GetMeReq (*GetMeRsp)(nil), // 26: crabs.evening_detective_server.GetMeRsp - (*AddUserRoleReq)(nil), // 27: crabs.evening_detective_server.AddUserRoleReq - (*AddUserRoleRsp)(nil), // 28: crabs.evening_detective_server.AddUserRoleRsp - (*DeleteUserRoleReq)(nil), // 29: crabs.evening_detective_server.DeleteUserRoleReq - (*DeleteUserRoleRsp)(nil), // 30: crabs.evening_detective_server.DeleteUserRoleRsp - (*GetPermissionsReq)(nil), // 31: crabs.evening_detective_server.GetPermissionsReq - (*GetPermissionsRsp)(nil), // 32: crabs.evening_detective_server.GetPermissionsRsp - (*UploadFileReq)(nil), // 33: crabs.evening_detective_server.UploadFileReq - (*UploadFileRsp)(nil), // 34: crabs.evening_detective_server.UploadFileRsp - (*DownloadFileReq)(nil), // 35: crabs.evening_detective_server.DownloadFileReq - (*AddScenarioReq)(nil), // 36: crabs.evening_detective_server.AddScenarioReq - (*AddScenarioRsp)(nil), // 37: crabs.evening_detective_server.AddScenarioRsp - (*GetMyScenariosReq)(nil), // 38: crabs.evening_detective_server.GetMyScenariosReq - (*GetMyScenariosRsp)(nil), // 39: crabs.evening_detective_server.GetMyScenariosRsp - (*GetScenariosCatalogReq)(nil), // 40: crabs.evening_detective_server.GetScenariosCatalogReq - (*GetScenariosCatalogRsp)(nil), // 41: crabs.evening_detective_server.GetScenariosCatalogRsp - (*GetScenarioReq)(nil), // 42: crabs.evening_detective_server.GetScenarioReq - (*GetScenarioRsp)(nil), // 43: crabs.evening_detective_server.GetScenarioRsp - (*Scenario)(nil), // 44: crabs.evening_detective_server.Scenario - (*Story)(nil), // 45: crabs.evening_detective_server.Story - (*Conclusion)(nil), // 46: crabs.evening_detective_server.Conclusion - (*Introduction)(nil), // 47: crabs.evening_detective_server.Introduction - (*Place)(nil), // 48: crabs.evening_detective_server.Place - (*Application)(nil), // 49: crabs.evening_detective_server.Application - (*Door)(nil), // 50: crabs.evening_detective_server.Door - (*Key)(nil), // 51: crabs.evening_detective_server.Key - (*Question)(nil), // 52: crabs.evening_detective_server.Question - (*Answer)(nil), // 53: crabs.evening_detective_server.Answer - (*AnswerScore)(nil), // 54: crabs.evening_detective_server.AnswerScore - (*TeamAnswers)(nil), // 55: crabs.evening_detective_server.TeamAnswers - (*UpdateScenarioReq)(nil), // 56: crabs.evening_detective_server.UpdateScenarioReq - (*UpdateScenarioRsp)(nil), // 57: crabs.evening_detective_server.UpdateScenarioRsp - (*PublicScenarioReq)(nil), // 58: crabs.evening_detective_server.PublicScenarioReq - (*PublicScenarioRsp)(nil), // 59: crabs.evening_detective_server.PublicScenarioRsp - (*DraftScenarioReq)(nil), // 60: crabs.evening_detective_server.DraftScenarioReq - (*DraftScenarioRsp)(nil), // 61: crabs.evening_detective_server.DraftScenarioRsp - (*DeleteScenarioReq)(nil), // 62: crabs.evening_detective_server.DeleteScenarioReq - (*DeleteScenarioRsp)(nil), // 63: crabs.evening_detective_server.DeleteScenarioRsp - (*AddScenarioPlaceReq)(nil), // 64: crabs.evening_detective_server.AddScenarioPlaceReq - (*AddScenarioPlaceRsp)(nil), // 65: crabs.evening_detective_server.AddScenarioPlaceRsp - (*UpdateScenarioPlaceReq)(nil), // 66: crabs.evening_detective_server.UpdateScenarioPlaceReq - (*UpdateScenarioPlaceRsp)(nil), // 67: crabs.evening_detective_server.UpdateScenarioPlaceRsp - (*DeleteScenarioPlaceReq)(nil), // 68: crabs.evening_detective_server.DeleteScenarioPlaceReq - (*DeleteScenarioPlaceRsp)(nil), // 69: crabs.evening_detective_server.DeleteScenarioPlaceRsp - (*UpdateScenarioConclusionReq)(nil), // 70: crabs.evening_detective_server.UpdateScenarioConclusionReq - (*UpdateScenarioConclusionRsp)(nil), // 71: crabs.evening_detective_server.UpdateScenarioConclusionRsp - (*UpdateScenarioIntroReq)(nil), // 72: crabs.evening_detective_server.UpdateScenarioIntroReq - (*UpdateScenarioIntroRsp)(nil), // 73: crabs.evening_detective_server.UpdateScenarioIntroRsp - (*AddScenarioQuestionReq)(nil), // 74: crabs.evening_detective_server.AddScenarioQuestionReq - (*AddScenarioQuestionRsp)(nil), // 75: crabs.evening_detective_server.AddScenarioQuestionRsp - (*UpdateScenarioQuestionReq)(nil), // 76: crabs.evening_detective_server.UpdateScenarioQuestionReq - (*UpdateScenarioQuestionRsp)(nil), // 77: crabs.evening_detective_server.UpdateScenarioQuestionRsp - (*DeleteScenarioQuestionReq)(nil), // 78: crabs.evening_detective_server.DeleteScenarioQuestionReq - (*DeleteScenarioQuestionRsp)(nil), // 79: crabs.evening_detective_server.DeleteScenarioQuestionRsp - (*DownloadScenarioArchiveReq)(nil), // 80: crabs.evening_detective_server.DownloadScenarioArchiveReq - (*UploadScenarioArchiveRsp)(nil), // 81: crabs.evening_detective_server.UploadScenarioArchiveRsp - (*AddGameReq)(nil), // 82: crabs.evening_detective_server.AddGameReq - (*AddGameRsp)(nil), // 83: crabs.evening_detective_server.AddGameRsp - (*GetGamesReq)(nil), // 84: crabs.evening_detective_server.GetGamesReq - (*GetGamesRsp)(nil), // 85: crabs.evening_detective_server.GetGamesRsp - (*Game)(nil), // 86: crabs.evening_detective_server.Game - (*Team)(nil), // 87: crabs.evening_detective_server.Team - (*GetGameReq)(nil), // 88: crabs.evening_detective_server.GetGameReq - (*GetGameRsp)(nil), // 89: crabs.evening_detective_server.GetGameRsp - (*GetGameAnswersReq)(nil), // 90: crabs.evening_detective_server.GetGameAnswersReq - (*GetGameAnswersRsp)(nil), // 91: crabs.evening_detective_server.GetGameAnswersRsp - (*GetGameResultsReq)(nil), // 92: crabs.evening_detective_server.GetGameResultsReq - (*ResultsQuestion)(nil), // 93: crabs.evening_detective_server.ResultsQuestion - (*TeamResult)(nil), // 94: crabs.evening_detective_server.TeamResult - (*GetGameResultsRsp)(nil), // 95: crabs.evening_detective_server.GetGameResultsRsp - (*UpdateGameReq)(nil), // 96: crabs.evening_detective_server.UpdateGameReq - (*UpdateGameRsp)(nil), // 97: crabs.evening_detective_server.UpdateGameRsp - (*StartGameReq)(nil), // 98: crabs.evening_detective_server.StartGameReq - (*StartGameRsp)(nil), // 99: crabs.evening_detective_server.StartGameRsp - (*PauseGameReq)(nil), // 100: crabs.evening_detective_server.PauseGameReq - (*PauseGameRsp)(nil), // 101: crabs.evening_detective_server.PauseGameRsp - (*PlayGameReq)(nil), // 102: crabs.evening_detective_server.PlayGameReq - (*PlayGameRsp)(nil), // 103: crabs.evening_detective_server.PlayGameRsp - (*FinishGameReq)(nil), // 104: crabs.evening_detective_server.FinishGameReq - (*FinishGameRsp)(nil), // 105: crabs.evening_detective_server.FinishGameRsp - (*ResetGameReq)(nil), // 106: crabs.evening_detective_server.ResetGameReq - (*ResetGameRsp)(nil), // 107: crabs.evening_detective_server.ResetGameRsp - (*DeleteGameReq)(nil), // 108: crabs.evening_detective_server.DeleteGameReq - (*DeleteGameRsp)(nil), // 109: crabs.evening_detective_server.DeleteGameRsp - (*AddTeamReq)(nil), // 110: crabs.evening_detective_server.AddTeamReq - (*AddTeamRsp)(nil), // 111: crabs.evening_detective_server.AddTeamRsp - (*UpdateTeamReq)(nil), // 112: crabs.evening_detective_server.UpdateTeamReq - (*UpdateTeamRsp)(nil), // 113: crabs.evening_detective_server.UpdateTeamRsp - (*DeleteTeamReq)(nil), // 114: crabs.evening_detective_server.DeleteTeamReq - (*DeleteTeamRsp)(nil), // 115: crabs.evening_detective_server.DeleteTeamRsp - (*GiveTeamApplicationsReq)(nil), // 116: crabs.evening_detective_server.GiveTeamApplicationsReq - (*GiveTeamApplicationsRsp)(nil), // 117: crabs.evening_detective_server.GiveTeamApplicationsRsp - (*GetTeamStoryReq)(nil), // 118: crabs.evening_detective_server.GetTeamStoryReq - (*GetTeamStoryRsp)(nil), // 119: crabs.evening_detective_server.GetTeamStoryRsp - (*TeamAction)(nil), // 120: crabs.evening_detective_server.TeamAction - (*AddTeamActionReq)(nil), // 121: crabs.evening_detective_server.AddTeamActionReq - (*AddTeamActionRsp)(nil), // 122: crabs.evening_detective_server.AddTeamActionRsp - (*DeleteLastTeamActionReq)(nil), // 123: crabs.evening_detective_server.DeleteLastTeamActionReq - (*DeleteLastTeamActionRsp)(nil), // 124: crabs.evening_detective_server.DeleteLastTeamActionRsp - (*GetTeamAnswersReq)(nil), // 125: crabs.evening_detective_server.GetTeamAnswersReq - (*GetTeamAnswersRsp)(nil), // 126: crabs.evening_detective_server.GetTeamAnswersRsp - (*SubmitTeamAnswersReq)(nil), // 127: crabs.evening_detective_server.SubmitTeamAnswersReq - (*SubmitTeamAnswersRsp)(nil), // 128: crabs.evening_detective_server.SubmitTeamAnswersRsp - (*SetTeamAnswerScoreReq)(nil), // 129: crabs.evening_detective_server.SetTeamAnswerScoreReq - (*SetTeamAnswerScoreRsp)(nil), // 130: crabs.evening_detective_server.SetTeamAnswerScoreRsp - (*UpdateScenarioBackgroundReq)(nil), // 131: crabs.evening_detective_server.UpdateScenarioBackgroundReq - (*UpdateScenarioBackgroundRsp)(nil), // 132: crabs.evening_detective_server.UpdateScenarioBackgroundRsp - (*timestamppb.Timestamp)(nil), // 133: google.protobuf.Timestamp - (*httpbody.HttpBody)(nil), // 134: google.api.HttpBody + (*ChangeUserPasswordReq)(nil), // 27: crabs.evening_detective_server.ChangeUserPasswordReq + (*ChangeUserPasswordRsp)(nil), // 28: crabs.evening_detective_server.ChangeUserPasswordRsp + (*AddUserRoleReq)(nil), // 29: crabs.evening_detective_server.AddUserRoleReq + (*AddUserRoleRsp)(nil), // 30: crabs.evening_detective_server.AddUserRoleRsp + (*DeleteUserRoleReq)(nil), // 31: crabs.evening_detective_server.DeleteUserRoleReq + (*DeleteUserRoleRsp)(nil), // 32: crabs.evening_detective_server.DeleteUserRoleRsp + (*GetPermissionsReq)(nil), // 33: crabs.evening_detective_server.GetPermissionsReq + (*GetPermissionsRsp)(nil), // 34: crabs.evening_detective_server.GetPermissionsRsp + (*UploadFileReq)(nil), // 35: crabs.evening_detective_server.UploadFileReq + (*UploadFileRsp)(nil), // 36: crabs.evening_detective_server.UploadFileRsp + (*DownloadFileReq)(nil), // 37: crabs.evening_detective_server.DownloadFileReq + (*AddScenarioReq)(nil), // 38: crabs.evening_detective_server.AddScenarioReq + (*AddScenarioRsp)(nil), // 39: crabs.evening_detective_server.AddScenarioRsp + (*GetMyScenariosReq)(nil), // 40: crabs.evening_detective_server.GetMyScenariosReq + (*GetMyScenariosRsp)(nil), // 41: crabs.evening_detective_server.GetMyScenariosRsp + (*GetScenariosCatalogReq)(nil), // 42: crabs.evening_detective_server.GetScenariosCatalogReq + (*GetScenariosCatalogRsp)(nil), // 43: crabs.evening_detective_server.GetScenariosCatalogRsp + (*GetScenarioReq)(nil), // 44: crabs.evening_detective_server.GetScenarioReq + (*GetScenarioRsp)(nil), // 45: crabs.evening_detective_server.GetScenarioRsp + (*Scenario)(nil), // 46: crabs.evening_detective_server.Scenario + (*Story)(nil), // 47: crabs.evening_detective_server.Story + (*Conclusion)(nil), // 48: crabs.evening_detective_server.Conclusion + (*Introduction)(nil), // 49: crabs.evening_detective_server.Introduction + (*Place)(nil), // 50: crabs.evening_detective_server.Place + (*Application)(nil), // 51: crabs.evening_detective_server.Application + (*Door)(nil), // 52: crabs.evening_detective_server.Door + (*Key)(nil), // 53: crabs.evening_detective_server.Key + (*Question)(nil), // 54: crabs.evening_detective_server.Question + (*Answer)(nil), // 55: crabs.evening_detective_server.Answer + (*AnswerScore)(nil), // 56: crabs.evening_detective_server.AnswerScore + (*TeamAnswers)(nil), // 57: crabs.evening_detective_server.TeamAnswers + (*UpdateScenarioReq)(nil), // 58: crabs.evening_detective_server.UpdateScenarioReq + (*UpdateScenarioRsp)(nil), // 59: crabs.evening_detective_server.UpdateScenarioRsp + (*PublicScenarioReq)(nil), // 60: crabs.evening_detective_server.PublicScenarioReq + (*PublicScenarioRsp)(nil), // 61: crabs.evening_detective_server.PublicScenarioRsp + (*DraftScenarioReq)(nil), // 62: crabs.evening_detective_server.DraftScenarioReq + (*DraftScenarioRsp)(nil), // 63: crabs.evening_detective_server.DraftScenarioRsp + (*DeleteScenarioReq)(nil), // 64: crabs.evening_detective_server.DeleteScenarioReq + (*DeleteScenarioRsp)(nil), // 65: crabs.evening_detective_server.DeleteScenarioRsp + (*AddScenarioPlaceReq)(nil), // 66: crabs.evening_detective_server.AddScenarioPlaceReq + (*AddScenarioPlaceRsp)(nil), // 67: crabs.evening_detective_server.AddScenarioPlaceRsp + (*UpdateScenarioPlaceReq)(nil), // 68: crabs.evening_detective_server.UpdateScenarioPlaceReq + (*UpdateScenarioPlaceRsp)(nil), // 69: crabs.evening_detective_server.UpdateScenarioPlaceRsp + (*DeleteScenarioPlaceReq)(nil), // 70: crabs.evening_detective_server.DeleteScenarioPlaceReq + (*DeleteScenarioPlaceRsp)(nil), // 71: crabs.evening_detective_server.DeleteScenarioPlaceRsp + (*UpdateScenarioConclusionReq)(nil), // 72: crabs.evening_detective_server.UpdateScenarioConclusionReq + (*UpdateScenarioConclusionRsp)(nil), // 73: crabs.evening_detective_server.UpdateScenarioConclusionRsp + (*UpdateScenarioIntroReq)(nil), // 74: crabs.evening_detective_server.UpdateScenarioIntroReq + (*UpdateScenarioIntroRsp)(nil), // 75: crabs.evening_detective_server.UpdateScenarioIntroRsp + (*AddScenarioQuestionReq)(nil), // 76: crabs.evening_detective_server.AddScenarioQuestionReq + (*AddScenarioQuestionRsp)(nil), // 77: crabs.evening_detective_server.AddScenarioQuestionRsp + (*UpdateScenarioQuestionReq)(nil), // 78: crabs.evening_detective_server.UpdateScenarioQuestionReq + (*UpdateScenarioQuestionRsp)(nil), // 79: crabs.evening_detective_server.UpdateScenarioQuestionRsp + (*DeleteScenarioQuestionReq)(nil), // 80: crabs.evening_detective_server.DeleteScenarioQuestionReq + (*DeleteScenarioQuestionRsp)(nil), // 81: crabs.evening_detective_server.DeleteScenarioQuestionRsp + (*DownloadScenarioArchiveReq)(nil), // 82: crabs.evening_detective_server.DownloadScenarioArchiveReq + (*UploadScenarioArchiveRsp)(nil), // 83: crabs.evening_detective_server.UploadScenarioArchiveRsp + (*AddGameReq)(nil), // 84: crabs.evening_detective_server.AddGameReq + (*AddGameRsp)(nil), // 85: crabs.evening_detective_server.AddGameRsp + (*GetGamesReq)(nil), // 86: crabs.evening_detective_server.GetGamesReq + (*GetGamesRsp)(nil), // 87: crabs.evening_detective_server.GetGamesRsp + (*Game)(nil), // 88: crabs.evening_detective_server.Game + (*Team)(nil), // 89: crabs.evening_detective_server.Team + (*GetGameReq)(nil), // 90: crabs.evening_detective_server.GetGameReq + (*GetGameRsp)(nil), // 91: crabs.evening_detective_server.GetGameRsp + (*GetGameAnswersReq)(nil), // 92: crabs.evening_detective_server.GetGameAnswersReq + (*GetGameAnswersRsp)(nil), // 93: crabs.evening_detective_server.GetGameAnswersRsp + (*GetGameResultsReq)(nil), // 94: crabs.evening_detective_server.GetGameResultsReq + (*ResultsQuestion)(nil), // 95: crabs.evening_detective_server.ResultsQuestion + (*TeamResult)(nil), // 96: crabs.evening_detective_server.TeamResult + (*GetGameResultsRsp)(nil), // 97: crabs.evening_detective_server.GetGameResultsRsp + (*UpdateGameReq)(nil), // 98: crabs.evening_detective_server.UpdateGameReq + (*UpdateGameRsp)(nil), // 99: crabs.evening_detective_server.UpdateGameRsp + (*StartGameReq)(nil), // 100: crabs.evening_detective_server.StartGameReq + (*StartGameRsp)(nil), // 101: crabs.evening_detective_server.StartGameRsp + (*PauseGameReq)(nil), // 102: crabs.evening_detective_server.PauseGameReq + (*PauseGameRsp)(nil), // 103: crabs.evening_detective_server.PauseGameRsp + (*PlayGameReq)(nil), // 104: crabs.evening_detective_server.PlayGameReq + (*PlayGameRsp)(nil), // 105: crabs.evening_detective_server.PlayGameRsp + (*FinishGameReq)(nil), // 106: crabs.evening_detective_server.FinishGameReq + (*FinishGameRsp)(nil), // 107: crabs.evening_detective_server.FinishGameRsp + (*ResetGameReq)(nil), // 108: crabs.evening_detective_server.ResetGameReq + (*ResetGameRsp)(nil), // 109: crabs.evening_detective_server.ResetGameRsp + (*DeleteGameReq)(nil), // 110: crabs.evening_detective_server.DeleteGameReq + (*DeleteGameRsp)(nil), // 111: crabs.evening_detective_server.DeleteGameRsp + (*AddTeamReq)(nil), // 112: crabs.evening_detective_server.AddTeamReq + (*AddTeamRsp)(nil), // 113: crabs.evening_detective_server.AddTeamRsp + (*UpdateTeamReq)(nil), // 114: crabs.evening_detective_server.UpdateTeamReq + (*UpdateTeamRsp)(nil), // 115: crabs.evening_detective_server.UpdateTeamRsp + (*DeleteTeamReq)(nil), // 116: crabs.evening_detective_server.DeleteTeamReq + (*DeleteTeamRsp)(nil), // 117: crabs.evening_detective_server.DeleteTeamRsp + (*GiveTeamApplicationsReq)(nil), // 118: crabs.evening_detective_server.GiveTeamApplicationsReq + (*GiveTeamApplicationsRsp)(nil), // 119: crabs.evening_detective_server.GiveTeamApplicationsRsp + (*GetTeamStoryReq)(nil), // 120: crabs.evening_detective_server.GetTeamStoryReq + (*GetTeamStoryRsp)(nil), // 121: crabs.evening_detective_server.GetTeamStoryRsp + (*TeamAction)(nil), // 122: crabs.evening_detective_server.TeamAction + (*AddTeamActionReq)(nil), // 123: crabs.evening_detective_server.AddTeamActionReq + (*AddTeamActionRsp)(nil), // 124: crabs.evening_detective_server.AddTeamActionRsp + (*DeleteLastTeamActionReq)(nil), // 125: crabs.evening_detective_server.DeleteLastTeamActionReq + (*DeleteLastTeamActionRsp)(nil), // 126: crabs.evening_detective_server.DeleteLastTeamActionRsp + (*GetTeamAnswersReq)(nil), // 127: crabs.evening_detective_server.GetTeamAnswersReq + (*GetTeamAnswersRsp)(nil), // 128: crabs.evening_detective_server.GetTeamAnswersRsp + (*SubmitTeamAnswersReq)(nil), // 129: crabs.evening_detective_server.SubmitTeamAnswersReq + (*SubmitTeamAnswersRsp)(nil), // 130: crabs.evening_detective_server.SubmitTeamAnswersRsp + (*SetTeamAnswerScoreReq)(nil), // 131: crabs.evening_detective_server.SetTeamAnswerScoreReq + (*SetTeamAnswerScoreRsp)(nil), // 132: crabs.evening_detective_server.SetTeamAnswerScoreRsp + (*UpdateScenarioBackgroundReq)(nil), // 133: crabs.evening_detective_server.UpdateScenarioBackgroundReq + (*UpdateScenarioBackgroundRsp)(nil), // 134: crabs.evening_detective_server.UpdateScenarioBackgroundRsp + (*timestamppb.Timestamp)(nil), // 135: google.protobuf.Timestamp + (*httpbody.HttpBody)(nil), // 136: google.api.HttpBody } var file_main_proto_depIdxs = []int32{ 22, // 0: crabs.evening_detective_server.GetUsersRsp.users:type_name -> crabs.evening_detective_server.User - 133, // 1: crabs.evening_detective_server.User.created_at:type_name -> google.protobuf.Timestamp + 135, // 1: crabs.evening_detective_server.User.created_at:type_name -> google.protobuf.Timestamp 22, // 2: crabs.evening_detective_server.GetUserByIdRsp.user:type_name -> crabs.evening_detective_server.User 22, // 3: crabs.evening_detective_server.GetMeRsp.user:type_name -> crabs.evening_detective_server.User - 44, // 4: crabs.evening_detective_server.GetMyScenariosRsp.scenarios:type_name -> crabs.evening_detective_server.Scenario - 44, // 5: crabs.evening_detective_server.GetScenariosCatalogRsp.scenarios:type_name -> crabs.evening_detective_server.Scenario - 44, // 6: crabs.evening_detective_server.GetScenarioRsp.scenario:type_name -> crabs.evening_detective_server.Scenario - 45, // 7: crabs.evening_detective_server.Scenario.story:type_name -> crabs.evening_detective_server.Story + 46, // 4: crabs.evening_detective_server.GetMyScenariosRsp.scenarios:type_name -> crabs.evening_detective_server.Scenario + 46, // 5: crabs.evening_detective_server.GetScenariosCatalogRsp.scenarios:type_name -> crabs.evening_detective_server.Scenario + 46, // 6: crabs.evening_detective_server.GetScenarioRsp.scenario:type_name -> crabs.evening_detective_server.Scenario + 47, // 7: crabs.evening_detective_server.Scenario.story:type_name -> crabs.evening_detective_server.Story 22, // 8: crabs.evening_detective_server.Scenario.author:type_name -> crabs.evening_detective_server.User - 133, // 9: crabs.evening_detective_server.Scenario.updated_at:type_name -> google.protobuf.Timestamp - 133, // 10: crabs.evening_detective_server.Scenario.created_at:type_name -> google.protobuf.Timestamp - 133, // 11: crabs.evening_detective_server.Scenario.published_at:type_name -> google.protobuf.Timestamp - 46, // 12: crabs.evening_detective_server.Story.conclusion:type_name -> crabs.evening_detective_server.Conclusion - 47, // 13: crabs.evening_detective_server.Story.introduction:type_name -> crabs.evening_detective_server.Introduction - 48, // 14: crabs.evening_detective_server.Story.places:type_name -> crabs.evening_detective_server.Place - 52, // 15: crabs.evening_detective_server.Story.questions:type_name -> crabs.evening_detective_server.Question - 49, // 16: crabs.evening_detective_server.Place.applications:type_name -> crabs.evening_detective_server.Application - 50, // 17: crabs.evening_detective_server.Place.doors:type_name -> crabs.evening_detective_server.Door - 51, // 18: crabs.evening_detective_server.Place.keys:type_name -> crabs.evening_detective_server.Key - 51, // 19: crabs.evening_detective_server.Door.keys:type_name -> crabs.evening_detective_server.Key - 87, // 20: crabs.evening_detective_server.TeamAnswers.team:type_name -> crabs.evening_detective_server.Team - 54, // 21: crabs.evening_detective_server.TeamAnswers.answers:type_name -> crabs.evening_detective_server.AnswerScore - 48, // 22: crabs.evening_detective_server.AddScenarioPlaceReq.place:type_name -> crabs.evening_detective_server.Place - 48, // 23: crabs.evening_detective_server.UpdateScenarioPlaceReq.place:type_name -> crabs.evening_detective_server.Place - 46, // 24: crabs.evening_detective_server.UpdateScenarioConclusionReq.conclusion:type_name -> crabs.evening_detective_server.Conclusion - 47, // 25: crabs.evening_detective_server.UpdateScenarioIntroReq.introduction:type_name -> crabs.evening_detective_server.Introduction - 52, // 26: crabs.evening_detective_server.AddScenarioQuestionReq.question:type_name -> crabs.evening_detective_server.Question - 52, // 27: crabs.evening_detective_server.UpdateScenarioQuestionReq.question:type_name -> crabs.evening_detective_server.Question - 133, // 28: crabs.evening_detective_server.AddGameReq.start_at:type_name -> google.protobuf.Timestamp - 86, // 29: crabs.evening_detective_server.GetGamesRsp.games:type_name -> crabs.evening_detective_server.Game - 133, // 30: crabs.evening_detective_server.Game.start_at:type_name -> google.protobuf.Timestamp - 44, // 31: crabs.evening_detective_server.Game.scenario:type_name -> crabs.evening_detective_server.Scenario - 87, // 32: crabs.evening_detective_server.Game.teams:type_name -> crabs.evening_detective_server.Team - 133, // 33: crabs.evening_detective_server.Game.started_at:type_name -> google.protobuf.Timestamp - 133, // 34: crabs.evening_detective_server.Game.ended_at:type_name -> google.protobuf.Timestamp - 49, // 35: crabs.evening_detective_server.Team.applications:type_name -> crabs.evening_detective_server.Application - 86, // 36: crabs.evening_detective_server.GetGameRsp.game:type_name -> crabs.evening_detective_server.Game - 52, // 37: crabs.evening_detective_server.GetGameAnswersRsp.questions:type_name -> crabs.evening_detective_server.Question - 55, // 38: crabs.evening_detective_server.GetGameAnswersRsp.teams:type_name -> crabs.evening_detective_server.TeamAnswers - 87, // 39: crabs.evening_detective_server.TeamResult.team:type_name -> crabs.evening_detective_server.Team - 54, // 40: crabs.evening_detective_server.TeamResult.answers:type_name -> crabs.evening_detective_server.AnswerScore - 93, // 41: crabs.evening_detective_server.GetGameResultsRsp.questions:type_name -> crabs.evening_detective_server.ResultsQuestion - 94, // 42: crabs.evening_detective_server.GetGameResultsRsp.teams:type_name -> crabs.evening_detective_server.TeamResult - 133, // 43: crabs.evening_detective_server.UpdateGameReq.start_at:type_name -> google.protobuf.Timestamp - 45, // 44: crabs.evening_detective_server.GetTeamStoryRsp.story:type_name -> crabs.evening_detective_server.Story - 86, // 45: crabs.evening_detective_server.GetTeamStoryRsp.game:type_name -> crabs.evening_detective_server.Game - 120, // 46: crabs.evening_detective_server.GetTeamStoryRsp.actions:type_name -> crabs.evening_detective_server.TeamAction - 53, // 47: crabs.evening_detective_server.GetTeamAnswersRsp.answers:type_name -> crabs.evening_detective_server.Answer - 53, // 48: crabs.evening_detective_server.SubmitTeamAnswersReq.answers:type_name -> crabs.evening_detective_server.Answer + 135, // 9: crabs.evening_detective_server.Scenario.updated_at:type_name -> google.protobuf.Timestamp + 135, // 10: crabs.evening_detective_server.Scenario.created_at:type_name -> google.protobuf.Timestamp + 135, // 11: crabs.evening_detective_server.Scenario.published_at:type_name -> google.protobuf.Timestamp + 48, // 12: crabs.evening_detective_server.Story.conclusion:type_name -> crabs.evening_detective_server.Conclusion + 49, // 13: crabs.evening_detective_server.Story.introduction:type_name -> crabs.evening_detective_server.Introduction + 50, // 14: crabs.evening_detective_server.Story.places:type_name -> crabs.evening_detective_server.Place + 54, // 15: crabs.evening_detective_server.Story.questions:type_name -> crabs.evening_detective_server.Question + 51, // 16: crabs.evening_detective_server.Place.applications:type_name -> crabs.evening_detective_server.Application + 52, // 17: crabs.evening_detective_server.Place.doors:type_name -> crabs.evening_detective_server.Door + 53, // 18: crabs.evening_detective_server.Place.keys:type_name -> crabs.evening_detective_server.Key + 53, // 19: crabs.evening_detective_server.Door.keys:type_name -> crabs.evening_detective_server.Key + 89, // 20: crabs.evening_detective_server.TeamAnswers.team:type_name -> crabs.evening_detective_server.Team + 56, // 21: crabs.evening_detective_server.TeamAnswers.answers:type_name -> crabs.evening_detective_server.AnswerScore + 50, // 22: crabs.evening_detective_server.AddScenarioPlaceReq.place:type_name -> crabs.evening_detective_server.Place + 50, // 23: crabs.evening_detective_server.UpdateScenarioPlaceReq.place:type_name -> crabs.evening_detective_server.Place + 48, // 24: crabs.evening_detective_server.UpdateScenarioConclusionReq.conclusion:type_name -> crabs.evening_detective_server.Conclusion + 49, // 25: crabs.evening_detective_server.UpdateScenarioIntroReq.introduction:type_name -> crabs.evening_detective_server.Introduction + 54, // 26: crabs.evening_detective_server.AddScenarioQuestionReq.question:type_name -> crabs.evening_detective_server.Question + 54, // 27: crabs.evening_detective_server.UpdateScenarioQuestionReq.question:type_name -> crabs.evening_detective_server.Question + 135, // 28: crabs.evening_detective_server.AddGameReq.start_at:type_name -> google.protobuf.Timestamp + 88, // 29: crabs.evening_detective_server.GetGamesRsp.games:type_name -> crabs.evening_detective_server.Game + 135, // 30: crabs.evening_detective_server.Game.start_at:type_name -> google.protobuf.Timestamp + 46, // 31: crabs.evening_detective_server.Game.scenario:type_name -> crabs.evening_detective_server.Scenario + 89, // 32: crabs.evening_detective_server.Game.teams:type_name -> crabs.evening_detective_server.Team + 135, // 33: crabs.evening_detective_server.Game.started_at:type_name -> google.protobuf.Timestamp + 135, // 34: crabs.evening_detective_server.Game.ended_at:type_name -> google.protobuf.Timestamp + 51, // 35: crabs.evening_detective_server.Team.applications:type_name -> crabs.evening_detective_server.Application + 88, // 36: crabs.evening_detective_server.GetGameRsp.game:type_name -> crabs.evening_detective_server.Game + 54, // 37: crabs.evening_detective_server.GetGameAnswersRsp.questions:type_name -> crabs.evening_detective_server.Question + 57, // 38: crabs.evening_detective_server.GetGameAnswersRsp.teams:type_name -> crabs.evening_detective_server.TeamAnswers + 89, // 39: crabs.evening_detective_server.TeamResult.team:type_name -> crabs.evening_detective_server.Team + 56, // 40: crabs.evening_detective_server.TeamResult.answers:type_name -> crabs.evening_detective_server.AnswerScore + 95, // 41: crabs.evening_detective_server.GetGameResultsRsp.questions:type_name -> crabs.evening_detective_server.ResultsQuestion + 96, // 42: crabs.evening_detective_server.GetGameResultsRsp.teams:type_name -> crabs.evening_detective_server.TeamResult + 135, // 43: crabs.evening_detective_server.UpdateGameReq.start_at:type_name -> google.protobuf.Timestamp + 47, // 44: crabs.evening_detective_server.GetTeamStoryRsp.story:type_name -> crabs.evening_detective_server.Story + 88, // 45: crabs.evening_detective_server.GetTeamStoryRsp.game:type_name -> crabs.evening_detective_server.Game + 122, // 46: crabs.evening_detective_server.GetTeamStoryRsp.actions:type_name -> crabs.evening_detective_server.TeamAction + 55, // 47: crabs.evening_detective_server.GetTeamAnswersRsp.answers:type_name -> crabs.evening_detective_server.Answer + 55, // 48: crabs.evening_detective_server.SubmitTeamAnswersReq.answers:type_name -> crabs.evening_detective_server.Answer 0, // 49: crabs.evening_detective_server.EveningDetectiveServer.Ping:input_type -> crabs.evening_detective_server.PingReq 2, // 50: crabs.evening_detective_server.EveningDetectiveServer.Echo:input_type -> crabs.evening_detective_server.EchoReq 4, // 51: crabs.evening_detective_server.EveningDetectiveServer.Signup:input_type -> crabs.evening_detective_server.SignupReq @@ -7618,117 +7714,119 @@ var file_main_proto_depIdxs = []int32{ 20, // 59: crabs.evening_detective_server.EveningDetectiveServer.GetUsers:input_type -> crabs.evening_detective_server.GetUsersReq 23, // 60: crabs.evening_detective_server.EveningDetectiveServer.GetUserById:input_type -> crabs.evening_detective_server.GetUserByIdReq 25, // 61: crabs.evening_detective_server.EveningDetectiveServer.GetMe:input_type -> crabs.evening_detective_server.GetMeReq - 27, // 62: crabs.evening_detective_server.EveningDetectiveServer.AddUserRole:input_type -> crabs.evening_detective_server.AddUserRoleReq - 29, // 63: crabs.evening_detective_server.EveningDetectiveServer.DeleteUserRole:input_type -> crabs.evening_detective_server.DeleteUserRoleReq - 31, // 64: crabs.evening_detective_server.EveningDetectiveServer.GetPermissions:input_type -> crabs.evening_detective_server.GetPermissionsReq - 33, // 65: crabs.evening_detective_server.EveningDetectiveServer.UploadFile:input_type -> crabs.evening_detective_server.UploadFileReq - 35, // 66: crabs.evening_detective_server.EveningDetectiveServer.DownloadFile:input_type -> crabs.evening_detective_server.DownloadFileReq - 36, // 67: crabs.evening_detective_server.EveningDetectiveServer.AddScenario:input_type -> crabs.evening_detective_server.AddScenarioReq - 38, // 68: crabs.evening_detective_server.EveningDetectiveServer.GetMyScenarios:input_type -> crabs.evening_detective_server.GetMyScenariosReq - 40, // 69: crabs.evening_detective_server.EveningDetectiveServer.GetScenariosCatalog:input_type -> crabs.evening_detective_server.GetScenariosCatalogReq - 42, // 70: crabs.evening_detective_server.EveningDetectiveServer.GetFullScenario:input_type -> crabs.evening_detective_server.GetScenarioReq - 42, // 71: crabs.evening_detective_server.EveningDetectiveServer.GetScenario:input_type -> crabs.evening_detective_server.GetScenarioReq - 56, // 72: crabs.evening_detective_server.EveningDetectiveServer.UpdateScenario:input_type -> crabs.evening_detective_server.UpdateScenarioReq - 58, // 73: crabs.evening_detective_server.EveningDetectiveServer.PublicScenario:input_type -> crabs.evening_detective_server.PublicScenarioReq - 60, // 74: crabs.evening_detective_server.EveningDetectiveServer.DraftScenario:input_type -> crabs.evening_detective_server.DraftScenarioReq - 62, // 75: crabs.evening_detective_server.EveningDetectiveServer.DeleteScenario:input_type -> crabs.evening_detective_server.DeleteScenarioReq - 64, // 76: crabs.evening_detective_server.EveningDetectiveServer.AddScenarioPlace:input_type -> crabs.evening_detective_server.AddScenarioPlaceReq - 66, // 77: crabs.evening_detective_server.EveningDetectiveServer.UpdateScenarioPlace:input_type -> crabs.evening_detective_server.UpdateScenarioPlaceReq - 68, // 78: crabs.evening_detective_server.EveningDetectiveServer.DeleteScenarioPlace:input_type -> crabs.evening_detective_server.DeleteScenarioPlaceReq - 74, // 79: crabs.evening_detective_server.EveningDetectiveServer.AddScenarioQuestion:input_type -> crabs.evening_detective_server.AddScenarioQuestionReq - 76, // 80: crabs.evening_detective_server.EveningDetectiveServer.UpdateScenarioQuestion:input_type -> crabs.evening_detective_server.UpdateScenarioQuestionReq - 78, // 81: crabs.evening_detective_server.EveningDetectiveServer.DeleteScenarioQuestion:input_type -> crabs.evening_detective_server.DeleteScenarioQuestionReq - 131, // 82: crabs.evening_detective_server.EveningDetectiveServer.UpdateScenarioBackground:input_type -> crabs.evening_detective_server.UpdateScenarioBackgroundReq - 72, // 83: crabs.evening_detective_server.EveningDetectiveServer.UpdateScenarioIntro:input_type -> crabs.evening_detective_server.UpdateScenarioIntroReq - 70, // 84: crabs.evening_detective_server.EveningDetectiveServer.UpdateScenarioConclusion:input_type -> crabs.evening_detective_server.UpdateScenarioConclusionReq - 80, // 85: crabs.evening_detective_server.EveningDetectiveServer.DownloadScenarioArchive:input_type -> crabs.evening_detective_server.DownloadScenarioArchiveReq - 134, // 86: crabs.evening_detective_server.EveningDetectiveServer.UploadScenarioArchive:input_type -> google.api.HttpBody - 82, // 87: crabs.evening_detective_server.EveningDetectiveServer.AddGame:input_type -> crabs.evening_detective_server.AddGameReq - 84, // 88: crabs.evening_detective_server.EveningDetectiveServer.GetGames:input_type -> crabs.evening_detective_server.GetGamesReq - 88, // 89: crabs.evening_detective_server.EveningDetectiveServer.GetGame:input_type -> crabs.evening_detective_server.GetGameReq - 88, // 90: crabs.evening_detective_server.EveningDetectiveServer.DownloadTeamQR:input_type -> crabs.evening_detective_server.GetGameReq - 90, // 91: crabs.evening_detective_server.EveningDetectiveServer.GetGameAnswers:input_type -> crabs.evening_detective_server.GetGameAnswersReq - 92, // 92: crabs.evening_detective_server.EveningDetectiveServer.GetGameResults:input_type -> crabs.evening_detective_server.GetGameResultsReq - 96, // 93: crabs.evening_detective_server.EveningDetectiveServer.UpdateGame:input_type -> crabs.evening_detective_server.UpdateGameReq - 98, // 94: crabs.evening_detective_server.EveningDetectiveServer.StartGame:input_type -> crabs.evening_detective_server.StartGameReq - 100, // 95: crabs.evening_detective_server.EveningDetectiveServer.PauseGame:input_type -> crabs.evening_detective_server.PauseGameReq - 102, // 96: crabs.evening_detective_server.EveningDetectiveServer.PlayGame:input_type -> crabs.evening_detective_server.PlayGameReq - 104, // 97: crabs.evening_detective_server.EveningDetectiveServer.FinishGame:input_type -> crabs.evening_detective_server.FinishGameReq - 106, // 98: crabs.evening_detective_server.EveningDetectiveServer.ResetGame:input_type -> crabs.evening_detective_server.ResetGameReq - 108, // 99: crabs.evening_detective_server.EveningDetectiveServer.DeleteGame:input_type -> crabs.evening_detective_server.DeleteGameReq - 110, // 100: crabs.evening_detective_server.EveningDetectiveServer.AddTeam:input_type -> crabs.evening_detective_server.AddTeamReq - 112, // 101: crabs.evening_detective_server.EveningDetectiveServer.UpdateTeam:input_type -> crabs.evening_detective_server.UpdateTeamReq - 114, // 102: crabs.evening_detective_server.EveningDetectiveServer.DeleteTeam:input_type -> crabs.evening_detective_server.DeleteTeamReq - 116, // 103: crabs.evening_detective_server.EveningDetectiveServer.GiveTeamApplications:input_type -> crabs.evening_detective_server.GiveTeamApplicationsReq - 118, // 104: crabs.evening_detective_server.EveningDetectiveServer.GetTeamStory:input_type -> crabs.evening_detective_server.GetTeamStoryReq - 121, // 105: crabs.evening_detective_server.EveningDetectiveServer.AddTeamAction:input_type -> crabs.evening_detective_server.AddTeamActionReq - 123, // 106: crabs.evening_detective_server.EveningDetectiveServer.DeleteLastTeamAction:input_type -> crabs.evening_detective_server.DeleteLastTeamActionReq - 125, // 107: crabs.evening_detective_server.EveningDetectiveServer.GetTeamAnswers:input_type -> crabs.evening_detective_server.GetTeamAnswersReq - 127, // 108: crabs.evening_detective_server.EveningDetectiveServer.SubmitTeamAnswers:input_type -> crabs.evening_detective_server.SubmitTeamAnswersReq - 129, // 109: crabs.evening_detective_server.EveningDetectiveServer.SetTeamAnswerScore:input_type -> crabs.evening_detective_server.SetTeamAnswerScoreReq - 1, // 110: crabs.evening_detective_server.EveningDetectiveServer.Ping:output_type -> crabs.evening_detective_server.PingRsp - 3, // 111: crabs.evening_detective_server.EveningDetectiveServer.Echo:output_type -> crabs.evening_detective_server.EchoRsp - 5, // 112: crabs.evening_detective_server.EveningDetectiveServer.Signup:output_type -> crabs.evening_detective_server.SignupRsp - 7, // 113: crabs.evening_detective_server.EveningDetectiveServer.RefreshPassword:output_type -> crabs.evening_detective_server.RefreshPasswordRsp - 9, // 114: crabs.evening_detective_server.EveningDetectiveServer.Login:output_type -> crabs.evening_detective_server.LoginRsp - 11, // 115: crabs.evening_detective_server.EveningDetectiveServer.Refresh:output_type -> crabs.evening_detective_server.RefreshRsp - 13, // 116: crabs.evening_detective_server.EveningDetectiveServer.DeleteAccount:output_type -> crabs.evening_detective_server.DeleteAccountRsp - 15, // 117: crabs.evening_detective_server.EveningDetectiveServer.GetTerms:output_type -> crabs.evening_detective_server.GetTermsRsp - 17, // 118: crabs.evening_detective_server.EveningDetectiveServer.GetPrivacy:output_type -> crabs.evening_detective_server.GetPrivacyRsp - 19, // 119: crabs.evening_detective_server.EveningDetectiveServer.GetConsent:output_type -> crabs.evening_detective_server.GetConsentRsp - 21, // 120: crabs.evening_detective_server.EveningDetectiveServer.GetUsers:output_type -> crabs.evening_detective_server.GetUsersRsp - 24, // 121: crabs.evening_detective_server.EveningDetectiveServer.GetUserById:output_type -> crabs.evening_detective_server.GetUserByIdRsp - 26, // 122: crabs.evening_detective_server.EveningDetectiveServer.GetMe:output_type -> crabs.evening_detective_server.GetMeRsp - 28, // 123: crabs.evening_detective_server.EveningDetectiveServer.AddUserRole:output_type -> crabs.evening_detective_server.AddUserRoleRsp - 30, // 124: crabs.evening_detective_server.EveningDetectiveServer.DeleteUserRole:output_type -> crabs.evening_detective_server.DeleteUserRoleRsp - 32, // 125: crabs.evening_detective_server.EveningDetectiveServer.GetPermissions:output_type -> crabs.evening_detective_server.GetPermissionsRsp - 34, // 126: crabs.evening_detective_server.EveningDetectiveServer.UploadFile:output_type -> crabs.evening_detective_server.UploadFileRsp - 134, // 127: crabs.evening_detective_server.EveningDetectiveServer.DownloadFile:output_type -> google.api.HttpBody - 37, // 128: crabs.evening_detective_server.EveningDetectiveServer.AddScenario:output_type -> crabs.evening_detective_server.AddScenarioRsp - 39, // 129: crabs.evening_detective_server.EveningDetectiveServer.GetMyScenarios:output_type -> crabs.evening_detective_server.GetMyScenariosRsp - 41, // 130: crabs.evening_detective_server.EveningDetectiveServer.GetScenariosCatalog:output_type -> crabs.evening_detective_server.GetScenariosCatalogRsp - 43, // 131: crabs.evening_detective_server.EveningDetectiveServer.GetFullScenario:output_type -> crabs.evening_detective_server.GetScenarioRsp - 43, // 132: crabs.evening_detective_server.EveningDetectiveServer.GetScenario:output_type -> crabs.evening_detective_server.GetScenarioRsp - 57, // 133: crabs.evening_detective_server.EveningDetectiveServer.UpdateScenario:output_type -> crabs.evening_detective_server.UpdateScenarioRsp - 59, // 134: crabs.evening_detective_server.EveningDetectiveServer.PublicScenario:output_type -> crabs.evening_detective_server.PublicScenarioRsp - 61, // 135: crabs.evening_detective_server.EveningDetectiveServer.DraftScenario:output_type -> crabs.evening_detective_server.DraftScenarioRsp - 63, // 136: crabs.evening_detective_server.EveningDetectiveServer.DeleteScenario:output_type -> crabs.evening_detective_server.DeleteScenarioRsp - 65, // 137: crabs.evening_detective_server.EveningDetectiveServer.AddScenarioPlace:output_type -> crabs.evening_detective_server.AddScenarioPlaceRsp - 67, // 138: crabs.evening_detective_server.EveningDetectiveServer.UpdateScenarioPlace:output_type -> crabs.evening_detective_server.UpdateScenarioPlaceRsp - 69, // 139: crabs.evening_detective_server.EveningDetectiveServer.DeleteScenarioPlace:output_type -> crabs.evening_detective_server.DeleteScenarioPlaceRsp - 75, // 140: crabs.evening_detective_server.EveningDetectiveServer.AddScenarioQuestion:output_type -> crabs.evening_detective_server.AddScenarioQuestionRsp - 77, // 141: crabs.evening_detective_server.EveningDetectiveServer.UpdateScenarioQuestion:output_type -> crabs.evening_detective_server.UpdateScenarioQuestionRsp - 79, // 142: crabs.evening_detective_server.EveningDetectiveServer.DeleteScenarioQuestion:output_type -> crabs.evening_detective_server.DeleteScenarioQuestionRsp - 132, // 143: crabs.evening_detective_server.EveningDetectiveServer.UpdateScenarioBackground:output_type -> crabs.evening_detective_server.UpdateScenarioBackgroundRsp - 73, // 144: crabs.evening_detective_server.EveningDetectiveServer.UpdateScenarioIntro:output_type -> crabs.evening_detective_server.UpdateScenarioIntroRsp - 71, // 145: crabs.evening_detective_server.EveningDetectiveServer.UpdateScenarioConclusion:output_type -> crabs.evening_detective_server.UpdateScenarioConclusionRsp - 134, // 146: crabs.evening_detective_server.EveningDetectiveServer.DownloadScenarioArchive:output_type -> google.api.HttpBody - 81, // 147: crabs.evening_detective_server.EveningDetectiveServer.UploadScenarioArchive:output_type -> crabs.evening_detective_server.UploadScenarioArchiveRsp - 83, // 148: crabs.evening_detective_server.EveningDetectiveServer.AddGame:output_type -> crabs.evening_detective_server.AddGameRsp - 85, // 149: crabs.evening_detective_server.EveningDetectiveServer.GetGames:output_type -> crabs.evening_detective_server.GetGamesRsp - 89, // 150: crabs.evening_detective_server.EveningDetectiveServer.GetGame:output_type -> crabs.evening_detective_server.GetGameRsp - 134, // 151: crabs.evening_detective_server.EveningDetectiveServer.DownloadTeamQR:output_type -> google.api.HttpBody - 91, // 152: crabs.evening_detective_server.EveningDetectiveServer.GetGameAnswers:output_type -> crabs.evening_detective_server.GetGameAnswersRsp - 95, // 153: crabs.evening_detective_server.EveningDetectiveServer.GetGameResults:output_type -> crabs.evening_detective_server.GetGameResultsRsp - 97, // 154: crabs.evening_detective_server.EveningDetectiveServer.UpdateGame:output_type -> crabs.evening_detective_server.UpdateGameRsp - 99, // 155: crabs.evening_detective_server.EveningDetectiveServer.StartGame:output_type -> crabs.evening_detective_server.StartGameRsp - 101, // 156: crabs.evening_detective_server.EveningDetectiveServer.PauseGame:output_type -> crabs.evening_detective_server.PauseGameRsp - 103, // 157: crabs.evening_detective_server.EveningDetectiveServer.PlayGame:output_type -> crabs.evening_detective_server.PlayGameRsp - 105, // 158: crabs.evening_detective_server.EveningDetectiveServer.FinishGame:output_type -> crabs.evening_detective_server.FinishGameRsp - 107, // 159: crabs.evening_detective_server.EveningDetectiveServer.ResetGame:output_type -> crabs.evening_detective_server.ResetGameRsp - 109, // 160: crabs.evening_detective_server.EveningDetectiveServer.DeleteGame:output_type -> crabs.evening_detective_server.DeleteGameRsp - 111, // 161: crabs.evening_detective_server.EveningDetectiveServer.AddTeam:output_type -> crabs.evening_detective_server.AddTeamRsp - 113, // 162: crabs.evening_detective_server.EveningDetectiveServer.UpdateTeam:output_type -> crabs.evening_detective_server.UpdateTeamRsp - 115, // 163: crabs.evening_detective_server.EveningDetectiveServer.DeleteTeam:output_type -> crabs.evening_detective_server.DeleteTeamRsp - 117, // 164: crabs.evening_detective_server.EveningDetectiveServer.GiveTeamApplications:output_type -> crabs.evening_detective_server.GiveTeamApplicationsRsp - 119, // 165: crabs.evening_detective_server.EveningDetectiveServer.GetTeamStory:output_type -> crabs.evening_detective_server.GetTeamStoryRsp - 122, // 166: crabs.evening_detective_server.EveningDetectiveServer.AddTeamAction:output_type -> crabs.evening_detective_server.AddTeamActionRsp - 124, // 167: crabs.evening_detective_server.EveningDetectiveServer.DeleteLastTeamAction:output_type -> crabs.evening_detective_server.DeleteLastTeamActionRsp - 126, // 168: crabs.evening_detective_server.EveningDetectiveServer.GetTeamAnswers:output_type -> crabs.evening_detective_server.GetTeamAnswersRsp - 128, // 169: crabs.evening_detective_server.EveningDetectiveServer.SubmitTeamAnswers:output_type -> crabs.evening_detective_server.SubmitTeamAnswersRsp - 130, // 170: crabs.evening_detective_server.EveningDetectiveServer.SetTeamAnswerScore:output_type -> crabs.evening_detective_server.SetTeamAnswerScoreRsp - 110, // [110:171] is the sub-list for method output_type - 49, // [49:110] is the sub-list for method input_type + 27, // 62: crabs.evening_detective_server.EveningDetectiveServer.ChangeUserPassword:input_type -> crabs.evening_detective_server.ChangeUserPasswordReq + 29, // 63: crabs.evening_detective_server.EveningDetectiveServer.AddUserRole:input_type -> crabs.evening_detective_server.AddUserRoleReq + 31, // 64: crabs.evening_detective_server.EveningDetectiveServer.DeleteUserRole:input_type -> crabs.evening_detective_server.DeleteUserRoleReq + 33, // 65: crabs.evening_detective_server.EveningDetectiveServer.GetPermissions:input_type -> crabs.evening_detective_server.GetPermissionsReq + 35, // 66: crabs.evening_detective_server.EveningDetectiveServer.UploadFile:input_type -> crabs.evening_detective_server.UploadFileReq + 37, // 67: crabs.evening_detective_server.EveningDetectiveServer.DownloadFile:input_type -> crabs.evening_detective_server.DownloadFileReq + 38, // 68: crabs.evening_detective_server.EveningDetectiveServer.AddScenario:input_type -> crabs.evening_detective_server.AddScenarioReq + 40, // 69: crabs.evening_detective_server.EveningDetectiveServer.GetMyScenarios:input_type -> crabs.evening_detective_server.GetMyScenariosReq + 42, // 70: crabs.evening_detective_server.EveningDetectiveServer.GetScenariosCatalog:input_type -> crabs.evening_detective_server.GetScenariosCatalogReq + 44, // 71: crabs.evening_detective_server.EveningDetectiveServer.GetFullScenario:input_type -> crabs.evening_detective_server.GetScenarioReq + 44, // 72: crabs.evening_detective_server.EveningDetectiveServer.GetScenario:input_type -> crabs.evening_detective_server.GetScenarioReq + 58, // 73: crabs.evening_detective_server.EveningDetectiveServer.UpdateScenario:input_type -> crabs.evening_detective_server.UpdateScenarioReq + 60, // 74: crabs.evening_detective_server.EveningDetectiveServer.PublicScenario:input_type -> crabs.evening_detective_server.PublicScenarioReq + 62, // 75: crabs.evening_detective_server.EveningDetectiveServer.DraftScenario:input_type -> crabs.evening_detective_server.DraftScenarioReq + 64, // 76: crabs.evening_detective_server.EveningDetectiveServer.DeleteScenario:input_type -> crabs.evening_detective_server.DeleteScenarioReq + 66, // 77: crabs.evening_detective_server.EveningDetectiveServer.AddScenarioPlace:input_type -> crabs.evening_detective_server.AddScenarioPlaceReq + 68, // 78: crabs.evening_detective_server.EveningDetectiveServer.UpdateScenarioPlace:input_type -> crabs.evening_detective_server.UpdateScenarioPlaceReq + 70, // 79: crabs.evening_detective_server.EveningDetectiveServer.DeleteScenarioPlace:input_type -> crabs.evening_detective_server.DeleteScenarioPlaceReq + 76, // 80: crabs.evening_detective_server.EveningDetectiveServer.AddScenarioQuestion:input_type -> crabs.evening_detective_server.AddScenarioQuestionReq + 78, // 81: crabs.evening_detective_server.EveningDetectiveServer.UpdateScenarioQuestion:input_type -> crabs.evening_detective_server.UpdateScenarioQuestionReq + 80, // 82: crabs.evening_detective_server.EveningDetectiveServer.DeleteScenarioQuestion:input_type -> crabs.evening_detective_server.DeleteScenarioQuestionReq + 133, // 83: crabs.evening_detective_server.EveningDetectiveServer.UpdateScenarioBackground:input_type -> crabs.evening_detective_server.UpdateScenarioBackgroundReq + 74, // 84: crabs.evening_detective_server.EveningDetectiveServer.UpdateScenarioIntro:input_type -> crabs.evening_detective_server.UpdateScenarioIntroReq + 72, // 85: crabs.evening_detective_server.EveningDetectiveServer.UpdateScenarioConclusion:input_type -> crabs.evening_detective_server.UpdateScenarioConclusionReq + 82, // 86: crabs.evening_detective_server.EveningDetectiveServer.DownloadScenarioArchive:input_type -> crabs.evening_detective_server.DownloadScenarioArchiveReq + 136, // 87: crabs.evening_detective_server.EveningDetectiveServer.UploadScenarioArchive:input_type -> google.api.HttpBody + 84, // 88: crabs.evening_detective_server.EveningDetectiveServer.AddGame:input_type -> crabs.evening_detective_server.AddGameReq + 86, // 89: crabs.evening_detective_server.EveningDetectiveServer.GetGames:input_type -> crabs.evening_detective_server.GetGamesReq + 90, // 90: crabs.evening_detective_server.EveningDetectiveServer.GetGame:input_type -> crabs.evening_detective_server.GetGameReq + 90, // 91: crabs.evening_detective_server.EveningDetectiveServer.DownloadTeamQR:input_type -> crabs.evening_detective_server.GetGameReq + 92, // 92: crabs.evening_detective_server.EveningDetectiveServer.GetGameAnswers:input_type -> crabs.evening_detective_server.GetGameAnswersReq + 94, // 93: crabs.evening_detective_server.EveningDetectiveServer.GetGameResults:input_type -> crabs.evening_detective_server.GetGameResultsReq + 98, // 94: crabs.evening_detective_server.EveningDetectiveServer.UpdateGame:input_type -> crabs.evening_detective_server.UpdateGameReq + 100, // 95: crabs.evening_detective_server.EveningDetectiveServer.StartGame:input_type -> crabs.evening_detective_server.StartGameReq + 102, // 96: crabs.evening_detective_server.EveningDetectiveServer.PauseGame:input_type -> crabs.evening_detective_server.PauseGameReq + 104, // 97: crabs.evening_detective_server.EveningDetectiveServer.PlayGame:input_type -> crabs.evening_detective_server.PlayGameReq + 106, // 98: crabs.evening_detective_server.EveningDetectiveServer.FinishGame:input_type -> crabs.evening_detective_server.FinishGameReq + 108, // 99: crabs.evening_detective_server.EveningDetectiveServer.ResetGame:input_type -> crabs.evening_detective_server.ResetGameReq + 110, // 100: crabs.evening_detective_server.EveningDetectiveServer.DeleteGame:input_type -> crabs.evening_detective_server.DeleteGameReq + 112, // 101: crabs.evening_detective_server.EveningDetectiveServer.AddTeam:input_type -> crabs.evening_detective_server.AddTeamReq + 114, // 102: crabs.evening_detective_server.EveningDetectiveServer.UpdateTeam:input_type -> crabs.evening_detective_server.UpdateTeamReq + 116, // 103: crabs.evening_detective_server.EveningDetectiveServer.DeleteTeam:input_type -> crabs.evening_detective_server.DeleteTeamReq + 118, // 104: crabs.evening_detective_server.EveningDetectiveServer.GiveTeamApplications:input_type -> crabs.evening_detective_server.GiveTeamApplicationsReq + 120, // 105: crabs.evening_detective_server.EveningDetectiveServer.GetTeamStory:input_type -> crabs.evening_detective_server.GetTeamStoryReq + 123, // 106: crabs.evening_detective_server.EveningDetectiveServer.AddTeamAction:input_type -> crabs.evening_detective_server.AddTeamActionReq + 125, // 107: crabs.evening_detective_server.EveningDetectiveServer.DeleteLastTeamAction:input_type -> crabs.evening_detective_server.DeleteLastTeamActionReq + 127, // 108: crabs.evening_detective_server.EveningDetectiveServer.GetTeamAnswers:input_type -> crabs.evening_detective_server.GetTeamAnswersReq + 129, // 109: crabs.evening_detective_server.EveningDetectiveServer.SubmitTeamAnswers:input_type -> crabs.evening_detective_server.SubmitTeamAnswersReq + 131, // 110: crabs.evening_detective_server.EveningDetectiveServer.SetTeamAnswerScore:input_type -> crabs.evening_detective_server.SetTeamAnswerScoreReq + 1, // 111: crabs.evening_detective_server.EveningDetectiveServer.Ping:output_type -> crabs.evening_detective_server.PingRsp + 3, // 112: crabs.evening_detective_server.EveningDetectiveServer.Echo:output_type -> crabs.evening_detective_server.EchoRsp + 5, // 113: crabs.evening_detective_server.EveningDetectiveServer.Signup:output_type -> crabs.evening_detective_server.SignupRsp + 7, // 114: crabs.evening_detective_server.EveningDetectiveServer.RefreshPassword:output_type -> crabs.evening_detective_server.RefreshPasswordRsp + 9, // 115: crabs.evening_detective_server.EveningDetectiveServer.Login:output_type -> crabs.evening_detective_server.LoginRsp + 11, // 116: crabs.evening_detective_server.EveningDetectiveServer.Refresh:output_type -> crabs.evening_detective_server.RefreshRsp + 13, // 117: crabs.evening_detective_server.EveningDetectiveServer.DeleteAccount:output_type -> crabs.evening_detective_server.DeleteAccountRsp + 15, // 118: crabs.evening_detective_server.EveningDetectiveServer.GetTerms:output_type -> crabs.evening_detective_server.GetTermsRsp + 17, // 119: crabs.evening_detective_server.EveningDetectiveServer.GetPrivacy:output_type -> crabs.evening_detective_server.GetPrivacyRsp + 19, // 120: crabs.evening_detective_server.EveningDetectiveServer.GetConsent:output_type -> crabs.evening_detective_server.GetConsentRsp + 21, // 121: crabs.evening_detective_server.EveningDetectiveServer.GetUsers:output_type -> crabs.evening_detective_server.GetUsersRsp + 24, // 122: crabs.evening_detective_server.EveningDetectiveServer.GetUserById:output_type -> crabs.evening_detective_server.GetUserByIdRsp + 26, // 123: crabs.evening_detective_server.EveningDetectiveServer.GetMe:output_type -> crabs.evening_detective_server.GetMeRsp + 28, // 124: crabs.evening_detective_server.EveningDetectiveServer.ChangeUserPassword:output_type -> crabs.evening_detective_server.ChangeUserPasswordRsp + 30, // 125: crabs.evening_detective_server.EveningDetectiveServer.AddUserRole:output_type -> crabs.evening_detective_server.AddUserRoleRsp + 32, // 126: crabs.evening_detective_server.EveningDetectiveServer.DeleteUserRole:output_type -> crabs.evening_detective_server.DeleteUserRoleRsp + 34, // 127: crabs.evening_detective_server.EveningDetectiveServer.GetPermissions:output_type -> crabs.evening_detective_server.GetPermissionsRsp + 36, // 128: crabs.evening_detective_server.EveningDetectiveServer.UploadFile:output_type -> crabs.evening_detective_server.UploadFileRsp + 136, // 129: crabs.evening_detective_server.EveningDetectiveServer.DownloadFile:output_type -> google.api.HttpBody + 39, // 130: crabs.evening_detective_server.EveningDetectiveServer.AddScenario:output_type -> crabs.evening_detective_server.AddScenarioRsp + 41, // 131: crabs.evening_detective_server.EveningDetectiveServer.GetMyScenarios:output_type -> crabs.evening_detective_server.GetMyScenariosRsp + 43, // 132: crabs.evening_detective_server.EveningDetectiveServer.GetScenariosCatalog:output_type -> crabs.evening_detective_server.GetScenariosCatalogRsp + 45, // 133: crabs.evening_detective_server.EveningDetectiveServer.GetFullScenario:output_type -> crabs.evening_detective_server.GetScenarioRsp + 45, // 134: crabs.evening_detective_server.EveningDetectiveServer.GetScenario:output_type -> crabs.evening_detective_server.GetScenarioRsp + 59, // 135: crabs.evening_detective_server.EveningDetectiveServer.UpdateScenario:output_type -> crabs.evening_detective_server.UpdateScenarioRsp + 61, // 136: crabs.evening_detective_server.EveningDetectiveServer.PublicScenario:output_type -> crabs.evening_detective_server.PublicScenarioRsp + 63, // 137: crabs.evening_detective_server.EveningDetectiveServer.DraftScenario:output_type -> crabs.evening_detective_server.DraftScenarioRsp + 65, // 138: crabs.evening_detective_server.EveningDetectiveServer.DeleteScenario:output_type -> crabs.evening_detective_server.DeleteScenarioRsp + 67, // 139: crabs.evening_detective_server.EveningDetectiveServer.AddScenarioPlace:output_type -> crabs.evening_detective_server.AddScenarioPlaceRsp + 69, // 140: crabs.evening_detective_server.EveningDetectiveServer.UpdateScenarioPlace:output_type -> crabs.evening_detective_server.UpdateScenarioPlaceRsp + 71, // 141: crabs.evening_detective_server.EveningDetectiveServer.DeleteScenarioPlace:output_type -> crabs.evening_detective_server.DeleteScenarioPlaceRsp + 77, // 142: crabs.evening_detective_server.EveningDetectiveServer.AddScenarioQuestion:output_type -> crabs.evening_detective_server.AddScenarioQuestionRsp + 79, // 143: crabs.evening_detective_server.EveningDetectiveServer.UpdateScenarioQuestion:output_type -> crabs.evening_detective_server.UpdateScenarioQuestionRsp + 81, // 144: crabs.evening_detective_server.EveningDetectiveServer.DeleteScenarioQuestion:output_type -> crabs.evening_detective_server.DeleteScenarioQuestionRsp + 134, // 145: crabs.evening_detective_server.EveningDetectiveServer.UpdateScenarioBackground:output_type -> crabs.evening_detective_server.UpdateScenarioBackgroundRsp + 75, // 146: crabs.evening_detective_server.EveningDetectiveServer.UpdateScenarioIntro:output_type -> crabs.evening_detective_server.UpdateScenarioIntroRsp + 73, // 147: crabs.evening_detective_server.EveningDetectiveServer.UpdateScenarioConclusion:output_type -> crabs.evening_detective_server.UpdateScenarioConclusionRsp + 136, // 148: crabs.evening_detective_server.EveningDetectiveServer.DownloadScenarioArchive:output_type -> google.api.HttpBody + 83, // 149: crabs.evening_detective_server.EveningDetectiveServer.UploadScenarioArchive:output_type -> crabs.evening_detective_server.UploadScenarioArchiveRsp + 85, // 150: crabs.evening_detective_server.EveningDetectiveServer.AddGame:output_type -> crabs.evening_detective_server.AddGameRsp + 87, // 151: crabs.evening_detective_server.EveningDetectiveServer.GetGames:output_type -> crabs.evening_detective_server.GetGamesRsp + 91, // 152: crabs.evening_detective_server.EveningDetectiveServer.GetGame:output_type -> crabs.evening_detective_server.GetGameRsp + 136, // 153: crabs.evening_detective_server.EveningDetectiveServer.DownloadTeamQR:output_type -> google.api.HttpBody + 93, // 154: crabs.evening_detective_server.EveningDetectiveServer.GetGameAnswers:output_type -> crabs.evening_detective_server.GetGameAnswersRsp + 97, // 155: crabs.evening_detective_server.EveningDetectiveServer.GetGameResults:output_type -> crabs.evening_detective_server.GetGameResultsRsp + 99, // 156: crabs.evening_detective_server.EveningDetectiveServer.UpdateGame:output_type -> crabs.evening_detective_server.UpdateGameRsp + 101, // 157: crabs.evening_detective_server.EveningDetectiveServer.StartGame:output_type -> crabs.evening_detective_server.StartGameRsp + 103, // 158: crabs.evening_detective_server.EveningDetectiveServer.PauseGame:output_type -> crabs.evening_detective_server.PauseGameRsp + 105, // 159: crabs.evening_detective_server.EveningDetectiveServer.PlayGame:output_type -> crabs.evening_detective_server.PlayGameRsp + 107, // 160: crabs.evening_detective_server.EveningDetectiveServer.FinishGame:output_type -> crabs.evening_detective_server.FinishGameRsp + 109, // 161: crabs.evening_detective_server.EveningDetectiveServer.ResetGame:output_type -> crabs.evening_detective_server.ResetGameRsp + 111, // 162: crabs.evening_detective_server.EveningDetectiveServer.DeleteGame:output_type -> crabs.evening_detective_server.DeleteGameRsp + 113, // 163: crabs.evening_detective_server.EveningDetectiveServer.AddTeam:output_type -> crabs.evening_detective_server.AddTeamRsp + 115, // 164: crabs.evening_detective_server.EveningDetectiveServer.UpdateTeam:output_type -> crabs.evening_detective_server.UpdateTeamRsp + 117, // 165: crabs.evening_detective_server.EveningDetectiveServer.DeleteTeam:output_type -> crabs.evening_detective_server.DeleteTeamRsp + 119, // 166: crabs.evening_detective_server.EveningDetectiveServer.GiveTeamApplications:output_type -> crabs.evening_detective_server.GiveTeamApplicationsRsp + 121, // 167: crabs.evening_detective_server.EveningDetectiveServer.GetTeamStory:output_type -> crabs.evening_detective_server.GetTeamStoryRsp + 124, // 168: crabs.evening_detective_server.EveningDetectiveServer.AddTeamAction:output_type -> crabs.evening_detective_server.AddTeamActionRsp + 126, // 169: crabs.evening_detective_server.EveningDetectiveServer.DeleteLastTeamAction:output_type -> crabs.evening_detective_server.DeleteLastTeamActionRsp + 128, // 170: crabs.evening_detective_server.EveningDetectiveServer.GetTeamAnswers:output_type -> crabs.evening_detective_server.GetTeamAnswersRsp + 130, // 171: crabs.evening_detective_server.EveningDetectiveServer.SubmitTeamAnswers:output_type -> crabs.evening_detective_server.SubmitTeamAnswersRsp + 132, // 172: crabs.evening_detective_server.EveningDetectiveServer.SetTeamAnswerScore:output_type -> crabs.evening_detective_server.SetTeamAnswerScoreRsp + 111, // [111:173] is the sub-list for method output_type + 49, // [49:111] is the sub-list for method input_type 49, // [49:49] is the sub-list for extension type_name 49, // [49:49] is the sub-list for extension extendee 0, // [0:49] is the sub-list for field type_name @@ -7739,17 +7837,17 @@ func file_main_proto_init() { if File_main_proto != nil { return } - file_main_proto_msgTypes[44].OneofWrappers = []any{} - file_main_proto_msgTypes[54].OneofWrappers = []any{} - file_main_proto_msgTypes[86].OneofWrappers = []any{} - file_main_proto_msgTypes[129].OneofWrappers = []any{} + file_main_proto_msgTypes[46].OneofWrappers = []any{} + file_main_proto_msgTypes[56].OneofWrappers = []any{} + file_main_proto_msgTypes[88].OneofWrappers = []any{} + file_main_proto_msgTypes[131].OneofWrappers = []any{} type x struct{} out := protoimpl.TypeBuilder{ File: protoimpl.DescBuilder{ GoPackagePath: reflect.TypeOf(x{}).PkgPath(), RawDescriptor: unsafe.Slice(unsafe.StringData(file_main_proto_rawDesc), len(file_main_proto_rawDesc)), NumEnums: 0, - NumMessages: 133, + NumMessages: 135, NumExtensions: 0, NumServices: 1, }, diff --git a/proto/main.pb.gw.go b/proto/main.pb.gw.go index da0cc06..306055a 100644 --- a/proto/main.pb.gw.go +++ b/proto/main.pb.gw.go @@ -365,6 +365,51 @@ func local_request_EveningDetectiveServer_GetMe_0(ctx context.Context, marshaler return msg, metadata, err } +func request_EveningDetectiveServer_ChangeUserPassword_0(ctx context.Context, marshaler runtime.Marshaler, client EveningDetectiveServerClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var ( + protoReq ChangeUserPasswordReq + metadata runtime.ServerMetadata + err error + ) + if err := marshaler.NewDecoder(req.Body).Decode(&protoReq); err != nil && !errors.Is(err, io.EOF) { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + 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.ChangeUserPassword(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) + return msg, metadata, err +} + +func local_request_EveningDetectiveServer_ChangeUserPassword_0(ctx context.Context, marshaler runtime.Marshaler, server EveningDetectiveServerServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var ( + protoReq ChangeUserPasswordReq + metadata runtime.ServerMetadata + err error + ) + if err := marshaler.NewDecoder(req.Body).Decode(&protoReq); err != nil && !errors.Is(err, io.EOF) { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + 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.ChangeUserPassword(ctx, &protoReq) + return msg, metadata, err +} + func request_EveningDetectiveServer_AddUserRole_0(ctx context.Context, marshaler runtime.Marshaler, client EveningDetectiveServerClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { var ( protoReq AddUserRoleReq @@ -2617,6 +2662,26 @@ func RegisterEveningDetectiveServerHandlerServer(ctx context.Context, mux *runti } forward_EveningDetectiveServer_GetMe_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) }) + mux.Handle(http.MethodPost, pattern_EveningDetectiveServer_ChangeUserPassword_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/ChangeUserPassword", runtime.WithHTTPPathPattern("/api/users/{id}/password")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := local_request_EveningDetectiveServer_ChangeUserPassword_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_ChangeUserPassword_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + }) mux.Handle(http.MethodPost, pattern_EveningDetectiveServer_AddUserRole_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { ctx, cancel := context.WithCancel(req.Context()) defer cancel() @@ -3838,6 +3903,23 @@ func RegisterEveningDetectiveServerHandlerClient(ctx context.Context, mux *runti } forward_EveningDetectiveServer_GetMe_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) }) + mux.Handle(http.MethodPost, pattern_EveningDetectiveServer_ChangeUserPassword_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/ChangeUserPassword", runtime.WithHTTPPathPattern("/api/users/{id}/password")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := request_EveningDetectiveServer_ChangeUserPassword_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_ChangeUserPassword_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + }) mux.Handle(http.MethodPost, pattern_EveningDetectiveServer_AddUserRole_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { ctx, cancel := context.WithCancel(req.Context()) defer cancel() @@ -4671,6 +4753,7 @@ var ( pattern_EveningDetectiveServer_GetUsers_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1}, []string{"api", "users"}, "")) pattern_EveningDetectiveServer_GetUserById_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 1, 0, 4, 1, 5, 2}, []string{"api", "users", "id"}, "")) pattern_EveningDetectiveServer_GetMe_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 2, 2}, []string{"api", "users", "me"}, "")) + pattern_EveningDetectiveServer_ChangeUserPassword_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 1, 0, 4, 1, 5, 2, 2, 3}, []string{"api", "users", "id", "password"}, "")) pattern_EveningDetectiveServer_AddUserRole_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 1, 0, 4, 1, 5, 2, 2, 3, 2, 4}, []string{"api", "users", "id", "role", "add"}, "")) pattern_EveningDetectiveServer_DeleteUserRole_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 1, 0, 4, 1, 5, 2, 2, 3, 2, 4}, []string{"api", "users", "id", "role", "delete"}, "")) pattern_EveningDetectiveServer_GetPermissions_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 2, 2}, []string{"api", "ui", "permissions"}, "")) @@ -4735,6 +4818,7 @@ var ( forward_EveningDetectiveServer_GetUsers_0 = runtime.ForwardResponseMessage forward_EveningDetectiveServer_GetUserById_0 = runtime.ForwardResponseMessage forward_EveningDetectiveServer_GetMe_0 = runtime.ForwardResponseMessage + forward_EveningDetectiveServer_ChangeUserPassword_0 = runtime.ForwardResponseMessage forward_EveningDetectiveServer_AddUserRole_0 = runtime.ForwardResponseMessage forward_EveningDetectiveServer_DeleteUserRole_0 = runtime.ForwardResponseMessage forward_EveningDetectiveServer_GetPermissions_0 = runtime.ForwardResponseMessage diff --git a/proto/main_grpc.pb.go b/proto/main_grpc.pb.go index 287008a..0d44d14 100644 --- a/proto/main_grpc.pb.go +++ b/proto/main_grpc.pb.go @@ -33,6 +33,7 @@ const ( EveningDetectiveServer_GetUsers_FullMethodName = "/crabs.evening_detective_server.EveningDetectiveServer/GetUsers" EveningDetectiveServer_GetUserById_FullMethodName = "/crabs.evening_detective_server.EveningDetectiveServer/GetUserById" EveningDetectiveServer_GetMe_FullMethodName = "/crabs.evening_detective_server.EveningDetectiveServer/GetMe" + EveningDetectiveServer_ChangeUserPassword_FullMethodName = "/crabs.evening_detective_server.EveningDetectiveServer/ChangeUserPassword" EveningDetectiveServer_AddUserRole_FullMethodName = "/crabs.evening_detective_server.EveningDetectiveServer/AddUserRole" EveningDetectiveServer_DeleteUserRole_FullMethodName = "/crabs.evening_detective_server.EveningDetectiveServer/DeleteUserRole" EveningDetectiveServer_GetPermissions_FullMethodName = "/crabs.evening_detective_server.EveningDetectiveServer/GetPermissions" @@ -100,6 +101,9 @@ type EveningDetectiveServerClient interface { GetUsers(ctx context.Context, in *GetUsersReq, opts ...grpc.CallOption) (*GetUsersRsp, error) GetUserById(ctx context.Context, in *GetUserByIdReq, opts ...grpc.CallOption) (*GetUserByIdRsp, error) GetMe(ctx context.Context, in *GetMeReq, opts ...grpc.CallOption) (*GetMeRsp, error) + // Только администратор; сеансы пользователя сохраняются. + // Ошибки: 401, 403, 400, 404, 500. + ChangeUserPassword(ctx context.Context, in *ChangeUserPasswordReq, opts ...grpc.CallOption) (*ChangeUserPasswordRsp, error) AddUserRole(ctx context.Context, in *AddUserRoleReq, opts ...grpc.CallOption) (*AddUserRoleRsp, error) DeleteUserRole(ctx context.Context, in *DeleteUserRoleReq, opts ...grpc.CallOption) (*DeleteUserRoleRsp, error) GetPermissions(ctx context.Context, in *GetPermissionsReq, opts ...grpc.CallOption) (*GetPermissionsRsp, error) @@ -290,6 +294,16 @@ func (c *eveningDetectiveServerClient) GetMe(ctx context.Context, in *GetMeReq, return out, nil } +func (c *eveningDetectiveServerClient) ChangeUserPassword(ctx context.Context, in *ChangeUserPasswordReq, opts ...grpc.CallOption) (*ChangeUserPasswordRsp, error) { + cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...) + out := new(ChangeUserPasswordRsp) + err := c.cc.Invoke(ctx, EveningDetectiveServer_ChangeUserPassword_FullMethodName, in, out, cOpts...) + if err != nil { + return nil, err + } + return out, nil +} + func (c *eveningDetectiveServerClient) AddUserRole(ctx context.Context, in *AddUserRoleReq, opts ...grpc.CallOption) (*AddUserRoleRsp, error) { cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...) out := new(AddUserRoleRsp) @@ -787,6 +801,9 @@ type EveningDetectiveServerServer interface { GetUsers(context.Context, *GetUsersReq) (*GetUsersRsp, error) GetUserById(context.Context, *GetUserByIdReq) (*GetUserByIdRsp, error) GetMe(context.Context, *GetMeReq) (*GetMeRsp, error) + // Только администратор; сеансы пользователя сохраняются. + // Ошибки: 401, 403, 400, 404, 500. + ChangeUserPassword(context.Context, *ChangeUserPasswordReq) (*ChangeUserPasswordRsp, error) AddUserRole(context.Context, *AddUserRoleReq) (*AddUserRoleRsp, error) DeleteUserRole(context.Context, *DeleteUserRoleReq) (*DeleteUserRoleRsp, error) GetPermissions(context.Context, *GetPermissionsReq) (*GetPermissionsRsp, error) @@ -886,6 +903,9 @@ func (UnimplementedEveningDetectiveServerServer) GetUserById(context.Context, *G func (UnimplementedEveningDetectiveServerServer) GetMe(context.Context, *GetMeReq) (*GetMeRsp, error) { return nil, status.Error(codes.Unimplemented, "method GetMe not implemented") } +func (UnimplementedEveningDetectiveServerServer) ChangeUserPassword(context.Context, *ChangeUserPasswordReq) (*ChangeUserPasswordRsp, error) { + return nil, status.Error(codes.Unimplemented, "method ChangeUserPassword not implemented") +} func (UnimplementedEveningDetectiveServerServer) AddUserRole(context.Context, *AddUserRoleReq) (*AddUserRoleRsp, error) { return nil, status.Error(codes.Unimplemented, "method AddUserRole not implemented") } @@ -1286,6 +1306,24 @@ func _EveningDetectiveServer_GetMe_Handler(srv interface{}, ctx context.Context, return interceptor(ctx, in, info, handler) } +func _EveningDetectiveServer_ChangeUserPassword_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(ChangeUserPasswordReq) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(EveningDetectiveServerServer).ChangeUserPassword(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: EveningDetectiveServer_ChangeUserPassword_FullMethodName, + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(EveningDetectiveServerServer).ChangeUserPassword(ctx, req.(*ChangeUserPasswordReq)) + } + return interceptor(ctx, in, info, handler) +} + func _EveningDetectiveServer_AddUserRole_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { in := new(AddUserRoleReq) if err := dec(in); err != nil { @@ -2209,6 +2247,10 @@ var EveningDetectiveServer_ServiceDesc = grpc.ServiceDesc{ MethodName: "GetMe", Handler: _EveningDetectiveServer_GetMe_Handler, }, + { + MethodName: "ChangeUserPassword", + Handler: _EveningDetectiveServer_ChangeUserPassword_Handler, + }, { MethodName: "AddUserRole", Handler: _EveningDetectiveServer_AddUserRole_Handler,