diff --git a/api/main.proto b/api/main.proto index 3b305fb..5d36de2 100644 --- a/api/main.proto +++ b/api/main.proto @@ -528,6 +528,16 @@ service EveningDetectiveServer { }; } + rpc GetGameScreens(GetGameScreensReq) returns (GetGameScreensRsp) { + option (google.api.http) = { + get: "/api/games/{gameId}/screens" + }; + option (grpc.gateway.protoc_gen_openapiv2.options.openapiv2_operation) = { + tags : "Экраны"; + summary: "Получить экраны игры"; + }; + } + // Привязать экран к игре. Требует авторизацию организатора, автора или администратора. rpc BindScreen(BindScreenReq) returns (BindScreenRsp) { option (google.api.http) = { @@ -552,6 +562,17 @@ service EveningDetectiveServer { }; } + rpc SetScreenSound(SetScreenSoundReq) returns (SetScreenSoundRsp) { + option (google.api.http) = { + post: "/api/screens/{screenId}/sound" + body: "*" + }; + option (grpc.gateway.protoc_gen_openapiv2.options.openapiv2_operation) = { + tags : "Экраны"; + summary: "Назначить экран со звуком"; + }; + } + // Изменить общий режим показа всех экранов игры. rpc SetScreenMode(SetScreenModeReq) returns (SetScreenModeRsp) { option (google.api.http) = { @@ -1296,6 +1317,15 @@ message GetScreenStateRsp { ScreenState state = 2; } +message GetGameScreensReq { + int32 gameId = 1; +} + +message GetGameScreensRsp { + string error = 1; + repeated ScreenState screens = 2; +} + message BindScreenReq { string screenId = 1; string accessToken = 2; @@ -1315,6 +1345,15 @@ message UnbindScreenRsp { string error = 1; } +message SetScreenSoundReq { + string screenId = 1; + bool soundEnabled = 2; +} + +message SetScreenSoundRsp { + string error = 1; +} + message SetScreenModeReq { int32 gameId = 1; ScreenMode mode = 2; diff --git a/bin/evening_detective_server b/bin/evening_detective_server index 5706bbf..4826e1f 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 e083e04..78c9f69 100644 --- a/cmd/evening_detective_server/main.swagger.json +++ b/cmd/evening_detective_server/main.swagger.json @@ -420,6 +420,38 @@ ] } }, + "/api/games/{gameId}/screens": { + "get": { + "summary": "Получить экраны игры", + "operationId": "EveningDetectiveServer_GetGameScreens", + "responses": { + "200": { + "description": "A successful response.", + "schema": { + "$ref": "#/definitions/evening_detective_serverGetGameScreensRsp" + } + }, + "default": { + "description": "An unexpected error response.", + "schema": { + "$ref": "#/definitions/rpcStatus" + } + } + }, + "parameters": [ + { + "name": "gameId", + "in": "path", + "required": true, + "type": "integer", + "format": "int32" + } + ], + "tags": [ + "Экраны" + ] + } + }, "/api/games/{gameId}/screens/command": { "post": { "summary": "Отправить команду экранам", @@ -1668,6 +1700,45 @@ ] } }, + "/api/screens/{screenId}/sound": { + "post": { + "summary": "Назначить экран со звуком", + "operationId": "EveningDetectiveServer_SetScreenSound", + "responses": { + "200": { + "description": "A successful response.", + "schema": { + "$ref": "#/definitions/evening_detective_serverSetScreenSoundRsp" + } + }, + "default": { + "description": "An unexpected error response.", + "schema": { + "$ref": "#/definitions/rpcStatus" + } + } + }, + "parameters": [ + { + "name": "screenId", + "in": "path", + "required": true, + "type": "string" + }, + { + "name": "body", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/EveningDetectiveServerSetScreenSoundBody" + } + } + ], + "tags": [ + "Экраны" + ] + } + }, "/api/screens/{screenId}/unbind": { "post": { "summary": "Отвязать экран от игры", @@ -2526,6 +2597,14 @@ } } }, + "EveningDetectiveServerSetScreenSoundBody": { + "type": "object", + "properties": { + "soundEnabled": { + "type": "boolean" + } + } + }, "EveningDetectiveServerSetTeamAnswerScoreBody": { "type": "object", "properties": { @@ -3071,6 +3150,21 @@ } } }, + "evening_detective_serverGetGameScreensRsp": { + "type": "object", + "properties": { + "error": { + "type": "string" + }, + "screens": { + "type": "array", + "items": { + "type": "object", + "$ref": "#/definitions/evening_detective_serverScreenState" + } + } + } + }, "evening_detective_serverGetGamesRsp": { "type": "object", "properties": { @@ -3568,6 +3662,14 @@ } } }, + "evening_detective_serverSetScreenSoundRsp": { + "type": "object", + "properties": { + "error": { + "type": "string" + } + } + }, "evening_detective_serverSetTeamAnswerScoreRsp": { "type": "object", "properties": { diff --git a/internal/app/server.go b/internal/app/server.go index a188432..60578e0 100644 --- a/internal/app/server.go +++ b/internal/app/server.go @@ -9,6 +9,7 @@ import ( "net/netip" "strconv" "strings" + "time" "evening_detective_server/docs" "evening_detective_server/internal/modules/file_storage" @@ -93,6 +94,27 @@ func (s *server) GetScreenState(ctx context.Context, req *proto.GetScreenStateRe return &proto.GetScreenStateRsp{State: screenState(session)}, nil } +func (s *server) GetGameScreens(ctx context.Context, req *proto.GetGameScreensReq) (*proto.GetGameScreensRsp, error) { + if !canManageScreens(ctx) { + return nil, status.Error(codes.PermissionDenied, "permission denied") + } + if req == nil || req.GameId <= 0 { + return nil, status.Error(codes.InvalidArgument, "некорректный идентификатор игры") + } + if _, err := s.gameService.GetGame(ctx, int(req.GameId)); err != nil { + return nil, status.Error(codes.NotFound, "игра не найдена") + } + sessions, err := s.screenRepo.ListByGame(ctx, int(req.GameId)) + if err != nil { + return nil, status.Error(codes.Internal, "не удалось получить экраны игры") + } + states := make([]*proto.ScreenState, 0, len(sessions)) + for _, session := range sessions { + states = append(states, screenState(session)) + } + return &proto.GetGameScreensRsp{Screens: states}, nil +} + func (s *server) BindScreen(ctx context.Context, req *proto.BindScreenReq) (*proto.BindScreenRsp, error) { if !canManageScreens(ctx) { return nil, status.Error(codes.PermissionDenied, "permission denied") @@ -141,6 +163,26 @@ func (s *server) UnbindScreen(ctx context.Context, req *proto.UnbindScreenReq) ( return &proto.UnbindScreenRsp{}, nil } +func (s *server) SetScreenSound(ctx context.Context, req *proto.SetScreenSoundReq) (*proto.SetScreenSoundRsp, error) { + if !canManageScreens(ctx) { + return nil, status.Error(codes.PermissionDenied, "permission denied") + } + if req == nil || req.ScreenId == "" { + return nil, status.Error(codes.InvalidArgument, "некорректный идентификатор экрана") + } + id, err := strconv.Atoi(req.ScreenId) + if err != nil || id <= 0 { + return nil, status.Error(codes.InvalidArgument, "некорректный идентификатор экрана") + } + if err = s.screenRepo.SetSound(ctx, id, req.SoundEnabled); err != nil { + if errors.Is(err, screen_sessions_repo.ErrScreenNotFound) { + return nil, status.Error(codes.NotFound, "экран не найден") + } + return nil, status.Error(codes.Internal, "не удалось назначить экран со звуком") + } + return &proto.SetScreenSoundRsp{}, nil +} + func canManageScreens(ctx context.Context) bool { claims, ok := ctx.Value("claims").(*processor_jwt.JWTClaims) if !ok || claims == nil { @@ -156,14 +198,17 @@ func hashScreenToken(token string) string { func screenState(session *screen_sessions_repo.ScreenSession) *proto.ScreenState { state := &proto.ScreenState{ - Id: fmt.Sprint(session.ID), - Status: "waiting", - Mode: proto.ScreenMode_SCREEN_MODE_UNSPECIFIED, + Id: fmt.Sprint(session.ID), + Status: "disconnected", + SoundEnabled: session.Sound, + Mode: proto.ScreenMode_SCREEN_MODE_UNSPECIFIED, + } + if time.Since(session.LastSeen) <= 5*time.Second { + state.Status = "connected" } if session.GameID != nil { gameID := int32(*session.GameID) state.GameId = &gameID - state.Status = "bound" state.Mode = proto.ScreenMode_SCREEN_MODE_COVER } return state diff --git a/internal/repos/screen_sessions_repo/repo.go b/internal/repos/screen_sessions_repo/repo.go index 7edc319..5b4eed9 100644 --- a/internal/repos/screen_sessions_repo/repo.go +++ b/internal/repos/screen_sessions_repo/repo.go @@ -3,6 +3,7 @@ package screen_sessions_repo import ( "context" "errors" + "time" "github.com/jackc/pgx/v5" "github.com/jackc/pgx/v5/pgxpool" @@ -11,8 +12,10 @@ import ( var ErrScreenNotFound = errors.New("Экран не найден") type ScreenSession struct { - ID int - GameID *int + ID int + GameID *int + Sound bool + LastSeen time.Time } type ScreenSessionsRepo struct { @@ -35,19 +38,46 @@ func (r *ScreenSessionsRepo) Create(ctx context.Context, tokenHash string) (int, func (r *ScreenSessionsRepo) Get(ctx context.Context, id int, tokenHash string) (*ScreenSession, error) { session := &ScreenSession{ID: id} err := r.pool.QueryRow(ctx, ` - SELECT game_id + SELECT game_id, sound_enabled, last_seen_at FROM screen_sessions WHERE id = $1 AND access_token_hash = $2`, id, tokenHash). - Scan(&session.GameID) + Scan(&session.GameID, &session.Sound, &session.LastSeen) if errors.Is(err, pgx.ErrNoRows) { return nil, ErrScreenNotFound } if err != nil { return nil, err } + _, err = r.pool.Exec(ctx, `UPDATE screen_sessions SET last_seen_at = NOW() WHERE id = $1`, id) + if err != nil { + return nil, err + } + session.LastSeen = time.Now() return session, nil } +func (r *ScreenSessionsRepo) ListByGame(ctx context.Context, gameID int) ([]*ScreenSession, error) { + rows, err := r.pool.Query(ctx, ` + SELECT id, game_id, sound_enabled, last_seen_at + FROM screen_sessions + WHERE game_id = $1 + ORDER BY id`, gameID) + if err != nil { + return nil, err + } + defer rows.Close() + + var sessions []*ScreenSession + for rows.Next() { + session := &ScreenSession{} + if err := rows.Scan(&session.ID, &session.GameID, &session.Sound, &session.LastSeen); err != nil { + return nil, err + } + sessions = append(sessions, session) + } + return sessions, rows.Err() +} + func (r *ScreenSessionsRepo) Bind(ctx context.Context, id, gameID int, tokenHash string) error { result, err := r.pool.Exec(ctx, ` UPDATE screen_sessions @@ -75,3 +105,21 @@ func (r *ScreenSessionsRepo) Unbind(ctx context.Context, id int) error { } return nil } + +func (r *ScreenSessionsRepo) SetSound(ctx context.Context, id int, enabled bool) error { + query := `UPDATE screen_sessions SET sound_enabled = FALSE, updated_at = NOW() WHERE id = $1` + args := []any{id} + if enabled { + query = `UPDATE screen_sessions + SET sound_enabled = (id = $1), updated_at = NOW() + WHERE game_id = (SELECT game_id FROM screen_sessions WHERE id = $1)` + } + result, err := r.pool.Exec(ctx, query, args...) + if err != nil { + return err + } + if result.RowsAffected() == 0 { + return ErrScreenNotFound + } + return nil +} diff --git a/migrations/20260910130000_add_screen_status.sql b/migrations/20260910130000_add_screen_status.sql new file mode 100644 index 0000000..aa51951 --- /dev/null +++ b/migrations/20260910130000_add_screen_status.sql @@ -0,0 +1,9 @@ +-- +goose Up +ALTER TABLE screen_sessions + ADD COLUMN IF NOT EXISTS sound_enabled BOOLEAN NOT NULL DEFAULT FALSE, + ADD COLUMN IF NOT EXISTS last_seen_at TIMESTAMP NOT NULL DEFAULT NOW(); + +-- +goose Down +ALTER TABLE screen_sessions + DROP COLUMN IF EXISTS last_seen_at, + DROP COLUMN IF EXISTS sound_enabled; diff --git a/proto/main.pb.go b/proto/main.pb.go index 675285c..35062bd 100644 --- a/proto/main.pb.go +++ b/proto/main.pb.go @@ -4997,6 +4997,102 @@ func (x *GetScreenStateRsp) GetState() *ScreenState { return nil } +type GetGameScreensReq struct { + state protoimpl.MessageState `protogen:"open.v1"` + GameId int32 `protobuf:"varint,1,opt,name=gameId,proto3" json:"gameId,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *GetGameScreensReq) Reset() { + *x = GetGameScreensReq{} + mi := &file_main_proto_msgTypes[94] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *GetGameScreensReq) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*GetGameScreensReq) ProtoMessage() {} + +func (x *GetGameScreensReq) ProtoReflect() protoreflect.Message { + mi := &file_main_proto_msgTypes[94] + 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 GetGameScreensReq.ProtoReflect.Descriptor instead. +func (*GetGameScreensReq) Descriptor() ([]byte, []int) { + return file_main_proto_rawDescGZIP(), []int{94} +} + +func (x *GetGameScreensReq) GetGameId() int32 { + if x != nil { + return x.GameId + } + return 0 +} + +type GetGameScreensRsp struct { + state protoimpl.MessageState `protogen:"open.v1"` + Error string `protobuf:"bytes,1,opt,name=error,proto3" json:"error,omitempty"` + Screens []*ScreenState `protobuf:"bytes,2,rep,name=screens,proto3" json:"screens,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *GetGameScreensRsp) Reset() { + *x = GetGameScreensRsp{} + mi := &file_main_proto_msgTypes[95] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *GetGameScreensRsp) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*GetGameScreensRsp) ProtoMessage() {} + +func (x *GetGameScreensRsp) ProtoReflect() protoreflect.Message { + mi := &file_main_proto_msgTypes[95] + 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 GetGameScreensRsp.ProtoReflect.Descriptor instead. +func (*GetGameScreensRsp) Descriptor() ([]byte, []int) { + return file_main_proto_rawDescGZIP(), []int{95} +} + +func (x *GetGameScreensRsp) GetError() string { + if x != nil { + return x.Error + } + return "" +} + +func (x *GetGameScreensRsp) GetScreens() []*ScreenState { + if x != nil { + return x.Screens + } + return nil +} + type BindScreenReq struct { state protoimpl.MessageState `protogen:"open.v1"` ScreenId string `protobuf:"bytes,1,opt,name=screenId,proto3" json:"screenId,omitempty"` @@ -5008,7 +5104,7 @@ type BindScreenReq struct { func (x *BindScreenReq) Reset() { *x = BindScreenReq{} - mi := &file_main_proto_msgTypes[94] + mi := &file_main_proto_msgTypes[96] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -5020,7 +5116,7 @@ func (x *BindScreenReq) String() string { func (*BindScreenReq) ProtoMessage() {} func (x *BindScreenReq) 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 { @@ -5033,7 +5129,7 @@ func (x *BindScreenReq) ProtoReflect() protoreflect.Message { // Deprecated: Use BindScreenReq.ProtoReflect.Descriptor instead. func (*BindScreenReq) Descriptor() ([]byte, []int) { - return file_main_proto_rawDescGZIP(), []int{94} + return file_main_proto_rawDescGZIP(), []int{96} } func (x *BindScreenReq) GetScreenId() string { @@ -5067,7 +5163,7 @@ type BindScreenRsp struct { func (x *BindScreenRsp) Reset() { *x = BindScreenRsp{} - mi := &file_main_proto_msgTypes[95] + mi := &file_main_proto_msgTypes[97] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -5079,7 +5175,7 @@ func (x *BindScreenRsp) String() string { func (*BindScreenRsp) ProtoMessage() {} func (x *BindScreenRsp) 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 { @@ -5092,7 +5188,7 @@ func (x *BindScreenRsp) ProtoReflect() protoreflect.Message { // Deprecated: Use BindScreenRsp.ProtoReflect.Descriptor instead. func (*BindScreenRsp) Descriptor() ([]byte, []int) { - return file_main_proto_rawDescGZIP(), []int{95} + return file_main_proto_rawDescGZIP(), []int{97} } func (x *BindScreenRsp) GetError() string { @@ -5118,7 +5214,7 @@ type UnbindScreenReq struct { func (x *UnbindScreenReq) Reset() { *x = UnbindScreenReq{} - mi := &file_main_proto_msgTypes[96] + mi := &file_main_proto_msgTypes[98] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -5130,7 +5226,7 @@ func (x *UnbindScreenReq) String() string { func (*UnbindScreenReq) ProtoMessage() {} func (x *UnbindScreenReq) 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 { @@ -5143,7 +5239,7 @@ func (x *UnbindScreenReq) ProtoReflect() protoreflect.Message { // Deprecated: Use UnbindScreenReq.ProtoReflect.Descriptor instead. func (*UnbindScreenReq) Descriptor() ([]byte, []int) { - return file_main_proto_rawDescGZIP(), []int{96} + return file_main_proto_rawDescGZIP(), []int{98} } func (x *UnbindScreenReq) GetScreenId() string { @@ -5162,7 +5258,7 @@ type UnbindScreenRsp struct { func (x *UnbindScreenRsp) Reset() { *x = UnbindScreenRsp{} - mi := &file_main_proto_msgTypes[97] + mi := &file_main_proto_msgTypes[99] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -5174,7 +5270,7 @@ func (x *UnbindScreenRsp) String() string { func (*UnbindScreenRsp) ProtoMessage() {} func (x *UnbindScreenRsp) 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 { @@ -5187,7 +5283,7 @@ func (x *UnbindScreenRsp) ProtoReflect() protoreflect.Message { // Deprecated: Use UnbindScreenRsp.ProtoReflect.Descriptor instead. func (*UnbindScreenRsp) Descriptor() ([]byte, []int) { - return file_main_proto_rawDescGZIP(), []int{97} + return file_main_proto_rawDescGZIP(), []int{99} } func (x *UnbindScreenRsp) GetError() string { @@ -5197,6 +5293,102 @@ func (x *UnbindScreenRsp) GetError() string { return "" } +type SetScreenSoundReq struct { + state protoimpl.MessageState `protogen:"open.v1"` + ScreenId string `protobuf:"bytes,1,opt,name=screenId,proto3" json:"screenId,omitempty"` + SoundEnabled bool `protobuf:"varint,2,opt,name=soundEnabled,proto3" json:"soundEnabled,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *SetScreenSoundReq) Reset() { + *x = SetScreenSoundReq{} + mi := &file_main_proto_msgTypes[100] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *SetScreenSoundReq) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*SetScreenSoundReq) ProtoMessage() {} + +func (x *SetScreenSoundReq) ProtoReflect() protoreflect.Message { + mi := &file_main_proto_msgTypes[100] + 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 SetScreenSoundReq.ProtoReflect.Descriptor instead. +func (*SetScreenSoundReq) Descriptor() ([]byte, []int) { + return file_main_proto_rawDescGZIP(), []int{100} +} + +func (x *SetScreenSoundReq) GetScreenId() string { + if x != nil { + return x.ScreenId + } + return "" +} + +func (x *SetScreenSoundReq) GetSoundEnabled() bool { + if x != nil { + return x.SoundEnabled + } + return false +} + +type SetScreenSoundRsp struct { + state protoimpl.MessageState `protogen:"open.v1"` + Error string `protobuf:"bytes,1,opt,name=error,proto3" json:"error,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *SetScreenSoundRsp) Reset() { + *x = SetScreenSoundRsp{} + mi := &file_main_proto_msgTypes[101] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *SetScreenSoundRsp) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*SetScreenSoundRsp) ProtoMessage() {} + +func (x *SetScreenSoundRsp) ProtoReflect() protoreflect.Message { + mi := &file_main_proto_msgTypes[101] + 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 SetScreenSoundRsp.ProtoReflect.Descriptor instead. +func (*SetScreenSoundRsp) Descriptor() ([]byte, []int) { + return file_main_proto_rawDescGZIP(), []int{101} +} + +func (x *SetScreenSoundRsp) GetError() string { + if x != nil { + return x.Error + } + return "" +} + type SetScreenModeReq struct { state protoimpl.MessageState `protogen:"open.v1"` GameId int32 `protobuf:"varint,1,opt,name=gameId,proto3" json:"gameId,omitempty"` @@ -5207,7 +5399,7 @@ type SetScreenModeReq struct { func (x *SetScreenModeReq) Reset() { *x = SetScreenModeReq{} - mi := &file_main_proto_msgTypes[98] + mi := &file_main_proto_msgTypes[102] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -5219,7 +5411,7 @@ func (x *SetScreenModeReq) String() string { func (*SetScreenModeReq) ProtoMessage() {} func (x *SetScreenModeReq) ProtoReflect() protoreflect.Message { - mi := &file_main_proto_msgTypes[98] + mi := &file_main_proto_msgTypes[102] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -5232,7 +5424,7 @@ func (x *SetScreenModeReq) ProtoReflect() protoreflect.Message { // Deprecated: Use SetScreenModeReq.ProtoReflect.Descriptor instead. func (*SetScreenModeReq) Descriptor() ([]byte, []int) { - return file_main_proto_rawDescGZIP(), []int{98} + return file_main_proto_rawDescGZIP(), []int{102} } func (x *SetScreenModeReq) GetGameId() int32 { @@ -5258,7 +5450,7 @@ type SetScreenModeRsp struct { func (x *SetScreenModeRsp) Reset() { *x = SetScreenModeRsp{} - mi := &file_main_proto_msgTypes[99] + mi := &file_main_proto_msgTypes[103] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -5270,7 +5462,7 @@ func (x *SetScreenModeRsp) String() string { func (*SetScreenModeRsp) ProtoMessage() {} func (x *SetScreenModeRsp) ProtoReflect() protoreflect.Message { - mi := &file_main_proto_msgTypes[99] + mi := &file_main_proto_msgTypes[103] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -5283,7 +5475,7 @@ func (x *SetScreenModeRsp) ProtoReflect() protoreflect.Message { // Deprecated: Use SetScreenModeRsp.ProtoReflect.Descriptor instead. func (*SetScreenModeRsp) Descriptor() ([]byte, []int) { - return file_main_proto_rawDescGZIP(), []int{99} + return file_main_proto_rawDescGZIP(), []int{103} } func (x *SetScreenModeRsp) GetError() string { @@ -5305,7 +5497,7 @@ type SendScreenCommandReq struct { func (x *SendScreenCommandReq) Reset() { *x = SendScreenCommandReq{} - mi := &file_main_proto_msgTypes[100] + mi := &file_main_proto_msgTypes[104] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -5317,7 +5509,7 @@ func (x *SendScreenCommandReq) String() string { func (*SendScreenCommandReq) ProtoMessage() {} func (x *SendScreenCommandReq) ProtoReflect() protoreflect.Message { - mi := &file_main_proto_msgTypes[100] + mi := &file_main_proto_msgTypes[104] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -5330,7 +5522,7 @@ func (x *SendScreenCommandReq) ProtoReflect() protoreflect.Message { // Deprecated: Use SendScreenCommandReq.ProtoReflect.Descriptor instead. func (*SendScreenCommandReq) Descriptor() ([]byte, []int) { - return file_main_proto_rawDescGZIP(), []int{100} + return file_main_proto_rawDescGZIP(), []int{104} } func (x *SendScreenCommandReq) GetGameId() int32 { @@ -5370,7 +5562,7 @@ type SendScreenCommandRsp struct { func (x *SendScreenCommandRsp) Reset() { *x = SendScreenCommandRsp{} - mi := &file_main_proto_msgTypes[101] + mi := &file_main_proto_msgTypes[105] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -5382,7 +5574,7 @@ func (x *SendScreenCommandRsp) String() string { func (*SendScreenCommandRsp) ProtoMessage() {} func (x *SendScreenCommandRsp) ProtoReflect() protoreflect.Message { - mi := &file_main_proto_msgTypes[101] + mi := &file_main_proto_msgTypes[105] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -5395,7 +5587,7 @@ func (x *SendScreenCommandRsp) ProtoReflect() protoreflect.Message { // Deprecated: Use SendScreenCommandRsp.ProtoReflect.Descriptor instead. func (*SendScreenCommandRsp) Descriptor() ([]byte, []int) { - return file_main_proto_rawDescGZIP(), []int{101} + return file_main_proto_rawDescGZIP(), []int{105} } func (x *SendScreenCommandRsp) GetError() string { @@ -5419,7 +5611,7 @@ type Team struct { func (x *Team) Reset() { *x = Team{} - mi := &file_main_proto_msgTypes[102] + mi := &file_main_proto_msgTypes[106] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -5431,7 +5623,7 @@ func (x *Team) String() string { func (*Team) ProtoMessage() {} func (x *Team) ProtoReflect() protoreflect.Message { - mi := &file_main_proto_msgTypes[102] + mi := &file_main_proto_msgTypes[106] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -5444,7 +5636,7 @@ func (x *Team) ProtoReflect() protoreflect.Message { // Deprecated: Use Team.ProtoReflect.Descriptor instead. func (*Team) Descriptor() ([]byte, []int) { - return file_main_proto_rawDescGZIP(), []int{102} + return file_main_proto_rawDescGZIP(), []int{106} } func (x *Team) GetId() int32 { @@ -5498,7 +5690,7 @@ type GetGameReq struct { func (x *GetGameReq) Reset() { *x = GetGameReq{} - mi := &file_main_proto_msgTypes[103] + mi := &file_main_proto_msgTypes[107] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -5510,7 +5702,7 @@ func (x *GetGameReq) String() string { func (*GetGameReq) ProtoMessage() {} func (x *GetGameReq) ProtoReflect() protoreflect.Message { - mi := &file_main_proto_msgTypes[103] + mi := &file_main_proto_msgTypes[107] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -5523,7 +5715,7 @@ func (x *GetGameReq) ProtoReflect() protoreflect.Message { // Deprecated: Use GetGameReq.ProtoReflect.Descriptor instead. func (*GetGameReq) Descriptor() ([]byte, []int) { - return file_main_proto_rawDescGZIP(), []int{103} + return file_main_proto_rawDescGZIP(), []int{107} } func (x *GetGameReq) GetId() int32 { @@ -5543,7 +5735,7 @@ type GetGameRsp struct { func (x *GetGameRsp) Reset() { *x = GetGameRsp{} - mi := &file_main_proto_msgTypes[104] + mi := &file_main_proto_msgTypes[108] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -5555,7 +5747,7 @@ func (x *GetGameRsp) String() string { func (*GetGameRsp) ProtoMessage() {} func (x *GetGameRsp) ProtoReflect() protoreflect.Message { - mi := &file_main_proto_msgTypes[104] + mi := &file_main_proto_msgTypes[108] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -5568,7 +5760,7 @@ func (x *GetGameRsp) ProtoReflect() protoreflect.Message { // Deprecated: Use GetGameRsp.ProtoReflect.Descriptor instead. func (*GetGameRsp) Descriptor() ([]byte, []int) { - return file_main_proto_rawDescGZIP(), []int{104} + return file_main_proto_rawDescGZIP(), []int{108} } func (x *GetGameRsp) GetError() string { @@ -5594,7 +5786,7 @@ type GetGameAnswersReq struct { func (x *GetGameAnswersReq) Reset() { *x = GetGameAnswersReq{} - mi := &file_main_proto_msgTypes[105] + mi := &file_main_proto_msgTypes[109] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -5606,7 +5798,7 @@ func (x *GetGameAnswersReq) String() string { func (*GetGameAnswersReq) ProtoMessage() {} func (x *GetGameAnswersReq) ProtoReflect() protoreflect.Message { - mi := &file_main_proto_msgTypes[105] + mi := &file_main_proto_msgTypes[109] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -5619,7 +5811,7 @@ func (x *GetGameAnswersReq) ProtoReflect() protoreflect.Message { // Deprecated: Use GetGameAnswersReq.ProtoReflect.Descriptor instead. func (*GetGameAnswersReq) Descriptor() ([]byte, []int) { - return file_main_proto_rawDescGZIP(), []int{105} + return file_main_proto_rawDescGZIP(), []int{109} } func (x *GetGameAnswersReq) GetGameId() int32 { @@ -5640,7 +5832,7 @@ type GetGameAnswersRsp struct { func (x *GetGameAnswersRsp) Reset() { *x = GetGameAnswersRsp{} - mi := &file_main_proto_msgTypes[106] + mi := &file_main_proto_msgTypes[110] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -5652,7 +5844,7 @@ func (x *GetGameAnswersRsp) String() string { func (*GetGameAnswersRsp) ProtoMessage() {} func (x *GetGameAnswersRsp) ProtoReflect() protoreflect.Message { - mi := &file_main_proto_msgTypes[106] + mi := &file_main_proto_msgTypes[110] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -5665,7 +5857,7 @@ func (x *GetGameAnswersRsp) ProtoReflect() protoreflect.Message { // Deprecated: Use GetGameAnswersRsp.ProtoReflect.Descriptor instead. func (*GetGameAnswersRsp) Descriptor() ([]byte, []int) { - return file_main_proto_rawDescGZIP(), []int{106} + return file_main_proto_rawDescGZIP(), []int{110} } func (x *GetGameAnswersRsp) GetError() string { @@ -5698,7 +5890,7 @@ type GetGameResultsReq struct { func (x *GetGameResultsReq) Reset() { *x = GetGameResultsReq{} - mi := &file_main_proto_msgTypes[107] + mi := &file_main_proto_msgTypes[111] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -5710,7 +5902,7 @@ func (x *GetGameResultsReq) String() string { func (*GetGameResultsReq) ProtoMessage() {} func (x *GetGameResultsReq) ProtoReflect() protoreflect.Message { - mi := &file_main_proto_msgTypes[107] + mi := &file_main_proto_msgTypes[111] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -5723,7 +5915,7 @@ func (x *GetGameResultsReq) ProtoReflect() protoreflect.Message { // Deprecated: Use GetGameResultsReq.ProtoReflect.Descriptor instead. func (*GetGameResultsReq) Descriptor() ([]byte, []int) { - return file_main_proto_rawDescGZIP(), []int{107} + return file_main_proto_rawDescGZIP(), []int{111} } func (x *GetGameResultsReq) GetGameId() int32 { @@ -5745,7 +5937,7 @@ type ResultsQuestion struct { func (x *ResultsQuestion) Reset() { *x = ResultsQuestion{} - mi := &file_main_proto_msgTypes[108] + mi := &file_main_proto_msgTypes[112] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -5757,7 +5949,7 @@ func (x *ResultsQuestion) String() string { func (*ResultsQuestion) ProtoMessage() {} func (x *ResultsQuestion) ProtoReflect() protoreflect.Message { - mi := &file_main_proto_msgTypes[108] + mi := &file_main_proto_msgTypes[112] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -5770,7 +5962,7 @@ func (x *ResultsQuestion) ProtoReflect() protoreflect.Message { // Deprecated: Use ResultsQuestion.ProtoReflect.Descriptor instead. func (*ResultsQuestion) Descriptor() ([]byte, []int) { - return file_main_proto_rawDescGZIP(), []int{108} + return file_main_proto_rawDescGZIP(), []int{112} } func (x *ResultsQuestion) GetCode() string { @@ -5806,7 +5998,7 @@ type TeamResult struct { func (x *TeamResult) Reset() { *x = TeamResult{} - mi := &file_main_proto_msgTypes[109] + mi := &file_main_proto_msgTypes[113] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -5818,7 +6010,7 @@ func (x *TeamResult) String() string { func (*TeamResult) ProtoMessage() {} func (x *TeamResult) ProtoReflect() protoreflect.Message { - mi := &file_main_proto_msgTypes[109] + mi := &file_main_proto_msgTypes[113] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -5831,7 +6023,7 @@ func (x *TeamResult) ProtoReflect() protoreflect.Message { // Deprecated: Use TeamResult.ProtoReflect.Descriptor instead. func (*TeamResult) Descriptor() ([]byte, []int) { - return file_main_proto_rawDescGZIP(), []int{109} + return file_main_proto_rawDescGZIP(), []int{113} } func (x *TeamResult) GetTeam() *Team { @@ -5880,7 +6072,7 @@ type GetGameResultsRsp struct { func (x *GetGameResultsRsp) Reset() { *x = GetGameResultsRsp{} - mi := &file_main_proto_msgTypes[110] + mi := &file_main_proto_msgTypes[114] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -5892,7 +6084,7 @@ func (x *GetGameResultsRsp) String() string { func (*GetGameResultsRsp) ProtoMessage() {} func (x *GetGameResultsRsp) ProtoReflect() protoreflect.Message { - mi := &file_main_proto_msgTypes[110] + mi := &file_main_proto_msgTypes[114] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -5905,7 +6097,7 @@ func (x *GetGameResultsRsp) ProtoReflect() protoreflect.Message { // Deprecated: Use GetGameResultsRsp.ProtoReflect.Descriptor instead. func (*GetGameResultsRsp) Descriptor() ([]byte, []int) { - return file_main_proto_rawDescGZIP(), []int{110} + return file_main_proto_rawDescGZIP(), []int{114} } func (x *GetGameResultsRsp) GetError() string { @@ -5942,7 +6134,7 @@ type UpdateGameReq struct { func (x *UpdateGameReq) Reset() { *x = UpdateGameReq{} - mi := &file_main_proto_msgTypes[111] + mi := &file_main_proto_msgTypes[115] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -5954,7 +6146,7 @@ func (x *UpdateGameReq) String() string { func (*UpdateGameReq) ProtoMessage() {} func (x *UpdateGameReq) ProtoReflect() protoreflect.Message { - mi := &file_main_proto_msgTypes[111] + mi := &file_main_proto_msgTypes[115] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -5967,7 +6159,7 @@ func (x *UpdateGameReq) ProtoReflect() protoreflect.Message { // Deprecated: Use UpdateGameReq.ProtoReflect.Descriptor instead. func (*UpdateGameReq) Descriptor() ([]byte, []int) { - return file_main_proto_rawDescGZIP(), []int{111} + return file_main_proto_rawDescGZIP(), []int{115} } func (x *UpdateGameReq) GetId() int32 { @@ -6014,7 +6206,7 @@ type UpdateGameRsp struct { func (x *UpdateGameRsp) Reset() { *x = UpdateGameRsp{} - mi := &file_main_proto_msgTypes[112] + mi := &file_main_proto_msgTypes[116] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -6026,7 +6218,7 @@ func (x *UpdateGameRsp) String() string { func (*UpdateGameRsp) ProtoMessage() {} func (x *UpdateGameRsp) ProtoReflect() protoreflect.Message { - mi := &file_main_proto_msgTypes[112] + mi := &file_main_proto_msgTypes[116] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -6039,7 +6231,7 @@ func (x *UpdateGameRsp) ProtoReflect() protoreflect.Message { // Deprecated: Use UpdateGameRsp.ProtoReflect.Descriptor instead. func (*UpdateGameRsp) Descriptor() ([]byte, []int) { - return file_main_proto_rawDescGZIP(), []int{112} + return file_main_proto_rawDescGZIP(), []int{116} } func (x *UpdateGameRsp) GetError() string { @@ -6058,7 +6250,7 @@ type StartGameReq struct { func (x *StartGameReq) Reset() { *x = StartGameReq{} - mi := &file_main_proto_msgTypes[113] + mi := &file_main_proto_msgTypes[117] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -6070,7 +6262,7 @@ func (x *StartGameReq) String() string { func (*StartGameReq) ProtoMessage() {} func (x *StartGameReq) ProtoReflect() protoreflect.Message { - mi := &file_main_proto_msgTypes[113] + mi := &file_main_proto_msgTypes[117] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -6083,7 +6275,7 @@ func (x *StartGameReq) ProtoReflect() protoreflect.Message { // Deprecated: Use StartGameReq.ProtoReflect.Descriptor instead. func (*StartGameReq) Descriptor() ([]byte, []int) { - return file_main_proto_rawDescGZIP(), []int{113} + return file_main_proto_rawDescGZIP(), []int{117} } func (x *StartGameReq) GetId() int32 { @@ -6102,7 +6294,7 @@ type StartGameRsp struct { func (x *StartGameRsp) Reset() { *x = StartGameRsp{} - mi := &file_main_proto_msgTypes[114] + mi := &file_main_proto_msgTypes[118] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -6114,7 +6306,7 @@ func (x *StartGameRsp) String() string { func (*StartGameRsp) ProtoMessage() {} func (x *StartGameRsp) ProtoReflect() protoreflect.Message { - mi := &file_main_proto_msgTypes[114] + mi := &file_main_proto_msgTypes[118] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -6127,7 +6319,7 @@ func (x *StartGameRsp) ProtoReflect() protoreflect.Message { // Deprecated: Use StartGameRsp.ProtoReflect.Descriptor instead. func (*StartGameRsp) Descriptor() ([]byte, []int) { - return file_main_proto_rawDescGZIP(), []int{114} + return file_main_proto_rawDescGZIP(), []int{118} } func (x *StartGameRsp) GetError() string { @@ -6146,7 +6338,7 @@ type PauseGameReq struct { func (x *PauseGameReq) Reset() { *x = PauseGameReq{} - mi := &file_main_proto_msgTypes[115] + mi := &file_main_proto_msgTypes[119] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -6158,7 +6350,7 @@ func (x *PauseGameReq) String() string { func (*PauseGameReq) ProtoMessage() {} func (x *PauseGameReq) ProtoReflect() protoreflect.Message { - mi := &file_main_proto_msgTypes[115] + mi := &file_main_proto_msgTypes[119] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -6171,7 +6363,7 @@ func (x *PauseGameReq) ProtoReflect() protoreflect.Message { // Deprecated: Use PauseGameReq.ProtoReflect.Descriptor instead. func (*PauseGameReq) Descriptor() ([]byte, []int) { - return file_main_proto_rawDescGZIP(), []int{115} + return file_main_proto_rawDescGZIP(), []int{119} } func (x *PauseGameReq) GetId() int32 { @@ -6190,7 +6382,7 @@ type PauseGameRsp struct { func (x *PauseGameRsp) Reset() { *x = PauseGameRsp{} - mi := &file_main_proto_msgTypes[116] + mi := &file_main_proto_msgTypes[120] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -6202,7 +6394,7 @@ func (x *PauseGameRsp) String() string { func (*PauseGameRsp) ProtoMessage() {} func (x *PauseGameRsp) ProtoReflect() protoreflect.Message { - mi := &file_main_proto_msgTypes[116] + mi := &file_main_proto_msgTypes[120] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -6215,7 +6407,7 @@ func (x *PauseGameRsp) ProtoReflect() protoreflect.Message { // Deprecated: Use PauseGameRsp.ProtoReflect.Descriptor instead. func (*PauseGameRsp) Descriptor() ([]byte, []int) { - return file_main_proto_rawDescGZIP(), []int{116} + return file_main_proto_rawDescGZIP(), []int{120} } func (x *PauseGameRsp) GetError() string { @@ -6234,7 +6426,7 @@ type PlayGameReq struct { func (x *PlayGameReq) Reset() { *x = PlayGameReq{} - mi := &file_main_proto_msgTypes[117] + mi := &file_main_proto_msgTypes[121] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -6246,7 +6438,7 @@ func (x *PlayGameReq) String() string { func (*PlayGameReq) ProtoMessage() {} func (x *PlayGameReq) ProtoReflect() protoreflect.Message { - mi := &file_main_proto_msgTypes[117] + mi := &file_main_proto_msgTypes[121] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -6259,7 +6451,7 @@ func (x *PlayGameReq) ProtoReflect() protoreflect.Message { // Deprecated: Use PlayGameReq.ProtoReflect.Descriptor instead. func (*PlayGameReq) Descriptor() ([]byte, []int) { - return file_main_proto_rawDescGZIP(), []int{117} + return file_main_proto_rawDescGZIP(), []int{121} } func (x *PlayGameReq) GetId() int32 { @@ -6278,7 +6470,7 @@ type PlayGameRsp struct { func (x *PlayGameRsp) Reset() { *x = PlayGameRsp{} - mi := &file_main_proto_msgTypes[118] + mi := &file_main_proto_msgTypes[122] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -6290,7 +6482,7 @@ func (x *PlayGameRsp) String() string { func (*PlayGameRsp) ProtoMessage() {} func (x *PlayGameRsp) ProtoReflect() protoreflect.Message { - mi := &file_main_proto_msgTypes[118] + mi := &file_main_proto_msgTypes[122] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -6303,7 +6495,7 @@ func (x *PlayGameRsp) ProtoReflect() protoreflect.Message { // Deprecated: Use PlayGameRsp.ProtoReflect.Descriptor instead. func (*PlayGameRsp) Descriptor() ([]byte, []int) { - return file_main_proto_rawDescGZIP(), []int{118} + return file_main_proto_rawDescGZIP(), []int{122} } func (x *PlayGameRsp) GetError() string { @@ -6322,7 +6514,7 @@ type FinishGameReq struct { func (x *FinishGameReq) Reset() { *x = FinishGameReq{} - mi := &file_main_proto_msgTypes[119] + mi := &file_main_proto_msgTypes[123] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -6334,7 +6526,7 @@ func (x *FinishGameReq) String() string { func (*FinishGameReq) ProtoMessage() {} func (x *FinishGameReq) ProtoReflect() protoreflect.Message { - mi := &file_main_proto_msgTypes[119] + mi := &file_main_proto_msgTypes[123] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -6347,7 +6539,7 @@ func (x *FinishGameReq) ProtoReflect() protoreflect.Message { // Deprecated: Use FinishGameReq.ProtoReflect.Descriptor instead. func (*FinishGameReq) Descriptor() ([]byte, []int) { - return file_main_proto_rawDescGZIP(), []int{119} + return file_main_proto_rawDescGZIP(), []int{123} } func (x *FinishGameReq) GetId() int32 { @@ -6366,7 +6558,7 @@ type FinishGameRsp struct { func (x *FinishGameRsp) Reset() { *x = FinishGameRsp{} - mi := &file_main_proto_msgTypes[120] + mi := &file_main_proto_msgTypes[124] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -6378,7 +6570,7 @@ func (x *FinishGameRsp) String() string { func (*FinishGameRsp) ProtoMessage() {} func (x *FinishGameRsp) ProtoReflect() protoreflect.Message { - mi := &file_main_proto_msgTypes[120] + mi := &file_main_proto_msgTypes[124] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -6391,7 +6583,7 @@ func (x *FinishGameRsp) ProtoReflect() protoreflect.Message { // Deprecated: Use FinishGameRsp.ProtoReflect.Descriptor instead. func (*FinishGameRsp) Descriptor() ([]byte, []int) { - return file_main_proto_rawDescGZIP(), []int{120} + return file_main_proto_rawDescGZIP(), []int{124} } func (x *FinishGameRsp) GetError() string { @@ -6410,7 +6602,7 @@ type ResetGameReq struct { func (x *ResetGameReq) Reset() { *x = ResetGameReq{} - mi := &file_main_proto_msgTypes[121] + mi := &file_main_proto_msgTypes[125] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -6422,7 +6614,7 @@ func (x *ResetGameReq) String() string { func (*ResetGameReq) ProtoMessage() {} func (x *ResetGameReq) ProtoReflect() protoreflect.Message { - mi := &file_main_proto_msgTypes[121] + mi := &file_main_proto_msgTypes[125] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -6435,7 +6627,7 @@ func (x *ResetGameReq) ProtoReflect() protoreflect.Message { // Deprecated: Use ResetGameReq.ProtoReflect.Descriptor instead. func (*ResetGameReq) Descriptor() ([]byte, []int) { - return file_main_proto_rawDescGZIP(), []int{121} + return file_main_proto_rawDescGZIP(), []int{125} } func (x *ResetGameReq) GetId() int32 { @@ -6454,7 +6646,7 @@ type ResetGameRsp struct { func (x *ResetGameRsp) Reset() { *x = ResetGameRsp{} - mi := &file_main_proto_msgTypes[122] + mi := &file_main_proto_msgTypes[126] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -6466,7 +6658,7 @@ func (x *ResetGameRsp) String() string { func (*ResetGameRsp) ProtoMessage() {} func (x *ResetGameRsp) ProtoReflect() protoreflect.Message { - mi := &file_main_proto_msgTypes[122] + mi := &file_main_proto_msgTypes[126] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -6479,7 +6671,7 @@ func (x *ResetGameRsp) ProtoReflect() protoreflect.Message { // Deprecated: Use ResetGameRsp.ProtoReflect.Descriptor instead. func (*ResetGameRsp) Descriptor() ([]byte, []int) { - return file_main_proto_rawDescGZIP(), []int{122} + return file_main_proto_rawDescGZIP(), []int{126} } func (x *ResetGameRsp) GetError() string { @@ -6498,7 +6690,7 @@ type DeleteGameReq struct { func (x *DeleteGameReq) Reset() { *x = DeleteGameReq{} - mi := &file_main_proto_msgTypes[123] + mi := &file_main_proto_msgTypes[127] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -6510,7 +6702,7 @@ func (x *DeleteGameReq) String() string { func (*DeleteGameReq) ProtoMessage() {} func (x *DeleteGameReq) ProtoReflect() protoreflect.Message { - mi := &file_main_proto_msgTypes[123] + mi := &file_main_proto_msgTypes[127] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -6523,7 +6715,7 @@ func (x *DeleteGameReq) ProtoReflect() protoreflect.Message { // Deprecated: Use DeleteGameReq.ProtoReflect.Descriptor instead. func (*DeleteGameReq) Descriptor() ([]byte, []int) { - return file_main_proto_rawDescGZIP(), []int{123} + return file_main_proto_rawDescGZIP(), []int{127} } func (x *DeleteGameReq) GetId() int32 { @@ -6542,7 +6734,7 @@ type DeleteGameRsp struct { func (x *DeleteGameRsp) Reset() { *x = DeleteGameRsp{} - mi := &file_main_proto_msgTypes[124] + mi := &file_main_proto_msgTypes[128] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -6554,7 +6746,7 @@ func (x *DeleteGameRsp) String() string { func (*DeleteGameRsp) ProtoMessage() {} func (x *DeleteGameRsp) ProtoReflect() protoreflect.Message { - mi := &file_main_proto_msgTypes[124] + mi := &file_main_proto_msgTypes[128] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -6567,7 +6759,7 @@ func (x *DeleteGameRsp) ProtoReflect() protoreflect.Message { // Deprecated: Use DeleteGameRsp.ProtoReflect.Descriptor instead. func (*DeleteGameRsp) Descriptor() ([]byte, []int) { - return file_main_proto_rawDescGZIP(), []int{124} + return file_main_proto_rawDescGZIP(), []int{128} } func (x *DeleteGameRsp) GetError() string { @@ -6587,7 +6779,7 @@ type AddTeamReq struct { func (x *AddTeamReq) Reset() { *x = AddTeamReq{} - mi := &file_main_proto_msgTypes[125] + mi := &file_main_proto_msgTypes[129] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -6599,7 +6791,7 @@ func (x *AddTeamReq) String() string { func (*AddTeamReq) ProtoMessage() {} func (x *AddTeamReq) ProtoReflect() protoreflect.Message { - mi := &file_main_proto_msgTypes[125] + mi := &file_main_proto_msgTypes[129] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -6612,7 +6804,7 @@ func (x *AddTeamReq) ProtoReflect() protoreflect.Message { // Deprecated: Use AddTeamReq.ProtoReflect.Descriptor instead. func (*AddTeamReq) Descriptor() ([]byte, []int) { - return file_main_proto_rawDescGZIP(), []int{125} + return file_main_proto_rawDescGZIP(), []int{129} } func (x *AddTeamReq) GetGameId() int32 { @@ -6640,7 +6832,7 @@ type AddTeamRsp struct { func (x *AddTeamRsp) Reset() { *x = AddTeamRsp{} - mi := &file_main_proto_msgTypes[126] + mi := &file_main_proto_msgTypes[130] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -6652,7 +6844,7 @@ func (x *AddTeamRsp) String() string { func (*AddTeamRsp) ProtoMessage() {} func (x *AddTeamRsp) ProtoReflect() protoreflect.Message { - mi := &file_main_proto_msgTypes[126] + mi := &file_main_proto_msgTypes[130] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -6665,7 +6857,7 @@ func (x *AddTeamRsp) ProtoReflect() protoreflect.Message { // Deprecated: Use AddTeamRsp.ProtoReflect.Descriptor instead. func (*AddTeamRsp) Descriptor() ([]byte, []int) { - return file_main_proto_rawDescGZIP(), []int{126} + return file_main_proto_rawDescGZIP(), []int{130} } func (x *AddTeamRsp) GetError() string { @@ -6699,7 +6891,7 @@ type UpdateTeamReq struct { func (x *UpdateTeamReq) Reset() { *x = UpdateTeamReq{} - mi := &file_main_proto_msgTypes[127] + mi := &file_main_proto_msgTypes[131] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -6711,7 +6903,7 @@ func (x *UpdateTeamReq) String() string { func (*UpdateTeamReq) ProtoMessage() {} func (x *UpdateTeamReq) ProtoReflect() protoreflect.Message { - mi := &file_main_proto_msgTypes[127] + mi := &file_main_proto_msgTypes[131] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -6724,7 +6916,7 @@ func (x *UpdateTeamReq) ProtoReflect() protoreflect.Message { // Deprecated: Use UpdateTeamReq.ProtoReflect.Descriptor instead. func (*UpdateTeamReq) Descriptor() ([]byte, []int) { - return file_main_proto_rawDescGZIP(), []int{127} + return file_main_proto_rawDescGZIP(), []int{131} } func (x *UpdateTeamReq) GetId() int32 { @@ -6750,7 +6942,7 @@ type UpdateTeamRsp struct { func (x *UpdateTeamRsp) Reset() { *x = UpdateTeamRsp{} - mi := &file_main_proto_msgTypes[128] + mi := &file_main_proto_msgTypes[132] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -6762,7 +6954,7 @@ func (x *UpdateTeamRsp) String() string { func (*UpdateTeamRsp) ProtoMessage() {} func (x *UpdateTeamRsp) ProtoReflect() protoreflect.Message { - mi := &file_main_proto_msgTypes[128] + mi := &file_main_proto_msgTypes[132] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -6775,7 +6967,7 @@ func (x *UpdateTeamRsp) ProtoReflect() protoreflect.Message { // Deprecated: Use UpdateTeamRsp.ProtoReflect.Descriptor instead. func (*UpdateTeamRsp) Descriptor() ([]byte, []int) { - return file_main_proto_rawDescGZIP(), []int{128} + return file_main_proto_rawDescGZIP(), []int{132} } func (x *UpdateTeamRsp) GetError() string { @@ -6794,7 +6986,7 @@ type DeleteTeamReq struct { func (x *DeleteTeamReq) Reset() { *x = DeleteTeamReq{} - mi := &file_main_proto_msgTypes[129] + mi := &file_main_proto_msgTypes[133] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -6806,7 +6998,7 @@ func (x *DeleteTeamReq) String() string { func (*DeleteTeamReq) ProtoMessage() {} func (x *DeleteTeamReq) ProtoReflect() protoreflect.Message { - mi := &file_main_proto_msgTypes[129] + mi := &file_main_proto_msgTypes[133] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -6819,7 +7011,7 @@ func (x *DeleteTeamReq) ProtoReflect() protoreflect.Message { // Deprecated: Use DeleteTeamReq.ProtoReflect.Descriptor instead. func (*DeleteTeamReq) Descriptor() ([]byte, []int) { - return file_main_proto_rawDescGZIP(), []int{129} + return file_main_proto_rawDescGZIP(), []int{133} } func (x *DeleteTeamReq) GetId() int64 { @@ -6838,7 +7030,7 @@ type DeleteTeamRsp struct { func (x *DeleteTeamRsp) Reset() { *x = DeleteTeamRsp{} - mi := &file_main_proto_msgTypes[130] + mi := &file_main_proto_msgTypes[134] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -6850,7 +7042,7 @@ func (x *DeleteTeamRsp) String() string { func (*DeleteTeamRsp) ProtoMessage() {} func (x *DeleteTeamRsp) ProtoReflect() protoreflect.Message { - mi := &file_main_proto_msgTypes[130] + mi := &file_main_proto_msgTypes[134] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -6863,7 +7055,7 @@ func (x *DeleteTeamRsp) ProtoReflect() protoreflect.Message { // Deprecated: Use DeleteTeamRsp.ProtoReflect.Descriptor instead. func (*DeleteTeamRsp) Descriptor() ([]byte, []int) { - return file_main_proto_rawDescGZIP(), []int{130} + return file_main_proto_rawDescGZIP(), []int{134} } func (x *DeleteTeamRsp) GetError() string { @@ -6883,7 +7075,7 @@ type GiveTeamApplicationsReq struct { func (x *GiveTeamApplicationsReq) Reset() { *x = GiveTeamApplicationsReq{} - mi := &file_main_proto_msgTypes[131] + mi := &file_main_proto_msgTypes[135] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -6895,7 +7087,7 @@ func (x *GiveTeamApplicationsReq) String() string { func (*GiveTeamApplicationsReq) ProtoMessage() {} func (x *GiveTeamApplicationsReq) ProtoReflect() protoreflect.Message { - mi := &file_main_proto_msgTypes[131] + mi := &file_main_proto_msgTypes[135] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -6908,7 +7100,7 @@ func (x *GiveTeamApplicationsReq) ProtoReflect() protoreflect.Message { // Deprecated: Use GiveTeamApplicationsReq.ProtoReflect.Descriptor instead. func (*GiveTeamApplicationsReq) Descriptor() ([]byte, []int) { - return file_main_proto_rawDescGZIP(), []int{131} + return file_main_proto_rawDescGZIP(), []int{135} } func (x *GiveTeamApplicationsReq) GetId() int64 { @@ -6934,7 +7126,7 @@ type GiveTeamApplicationsRsp struct { func (x *GiveTeamApplicationsRsp) Reset() { *x = GiveTeamApplicationsRsp{} - mi := &file_main_proto_msgTypes[132] + mi := &file_main_proto_msgTypes[136] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -6946,7 +7138,7 @@ func (x *GiveTeamApplicationsRsp) String() string { func (*GiveTeamApplicationsRsp) ProtoMessage() {} func (x *GiveTeamApplicationsRsp) ProtoReflect() protoreflect.Message { - mi := &file_main_proto_msgTypes[132] + mi := &file_main_proto_msgTypes[136] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -6959,7 +7151,7 @@ func (x *GiveTeamApplicationsRsp) ProtoReflect() protoreflect.Message { // Deprecated: Use GiveTeamApplicationsRsp.ProtoReflect.Descriptor instead. func (*GiveTeamApplicationsRsp) Descriptor() ([]byte, []int) { - return file_main_proto_rawDescGZIP(), []int{132} + return file_main_proto_rawDescGZIP(), []int{136} } func (x *GiveTeamApplicationsRsp) GetError() string { @@ -6979,7 +7171,7 @@ type GetTeamStoryReq struct { func (x *GetTeamStoryReq) Reset() { *x = GetTeamStoryReq{} - mi := &file_main_proto_msgTypes[133] + mi := &file_main_proto_msgTypes[137] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -6991,7 +7183,7 @@ func (x *GetTeamStoryReq) String() string { func (*GetTeamStoryReq) ProtoMessage() {} func (x *GetTeamStoryReq) ProtoReflect() protoreflect.Message { - mi := &file_main_proto_msgTypes[133] + mi := &file_main_proto_msgTypes[137] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -7004,7 +7196,7 @@ func (x *GetTeamStoryReq) ProtoReflect() protoreflect.Message { // Deprecated: Use GetTeamStoryReq.ProtoReflect.Descriptor instead. func (*GetTeamStoryReq) Descriptor() ([]byte, []int) { - return file_main_proto_rawDescGZIP(), []int{133} + return file_main_proto_rawDescGZIP(), []int{137} } func (x *GetTeamStoryReq) GetId() int64 { @@ -7033,7 +7225,7 @@ type GetTeamStoryRsp struct { func (x *GetTeamStoryRsp) Reset() { *x = GetTeamStoryRsp{} - mi := &file_main_proto_msgTypes[134] + mi := &file_main_proto_msgTypes[138] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -7045,7 +7237,7 @@ func (x *GetTeamStoryRsp) String() string { func (*GetTeamStoryRsp) ProtoMessage() {} func (x *GetTeamStoryRsp) ProtoReflect() protoreflect.Message { - mi := &file_main_proto_msgTypes[134] + mi := &file_main_proto_msgTypes[138] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -7058,7 +7250,7 @@ func (x *GetTeamStoryRsp) ProtoReflect() protoreflect.Message { // Deprecated: Use GetTeamStoryRsp.ProtoReflect.Descriptor instead. func (*GetTeamStoryRsp) Descriptor() ([]byte, []int) { - return file_main_proto_rawDescGZIP(), []int{134} + return file_main_proto_rawDescGZIP(), []int{138} } func (x *GetTeamStoryRsp) GetError() string { @@ -7099,7 +7291,7 @@ type TeamAction struct { func (x *TeamAction) Reset() { *x = TeamAction{} - mi := &file_main_proto_msgTypes[135] + mi := &file_main_proto_msgTypes[139] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -7111,7 +7303,7 @@ func (x *TeamAction) String() string { func (*TeamAction) ProtoMessage() {} func (x *TeamAction) ProtoReflect() protoreflect.Message { - mi := &file_main_proto_msgTypes[135] + mi := &file_main_proto_msgTypes[139] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -7124,7 +7316,7 @@ func (x *TeamAction) ProtoReflect() protoreflect.Message { // Deprecated: Use TeamAction.ProtoReflect.Descriptor instead. func (*TeamAction) Descriptor() ([]byte, []int) { - return file_main_proto_rawDescGZIP(), []int{135} + return file_main_proto_rawDescGZIP(), []int{139} } func (x *TeamAction) GetCode() string { @@ -7152,7 +7344,7 @@ type AddTeamActionReq struct { func (x *AddTeamActionReq) Reset() { *x = AddTeamActionReq{} - mi := &file_main_proto_msgTypes[136] + mi := &file_main_proto_msgTypes[140] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -7164,7 +7356,7 @@ func (x *AddTeamActionReq) String() string { func (*AddTeamActionReq) ProtoMessage() {} func (x *AddTeamActionReq) ProtoReflect() protoreflect.Message { - mi := &file_main_proto_msgTypes[136] + mi := &file_main_proto_msgTypes[140] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -7177,7 +7369,7 @@ func (x *AddTeamActionReq) ProtoReflect() protoreflect.Message { // Deprecated: Use AddTeamActionReq.ProtoReflect.Descriptor instead. func (*AddTeamActionReq) Descriptor() ([]byte, []int) { - return file_main_proto_rawDescGZIP(), []int{136} + return file_main_proto_rawDescGZIP(), []int{140} } func (x *AddTeamActionReq) GetId() int64 { @@ -7210,7 +7402,7 @@ type AddTeamActionRsp struct { func (x *AddTeamActionRsp) Reset() { *x = AddTeamActionRsp{} - mi := &file_main_proto_msgTypes[137] + mi := &file_main_proto_msgTypes[141] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -7222,7 +7414,7 @@ func (x *AddTeamActionRsp) String() string { func (*AddTeamActionRsp) ProtoMessage() {} func (x *AddTeamActionRsp) ProtoReflect() protoreflect.Message { - mi := &file_main_proto_msgTypes[137] + mi := &file_main_proto_msgTypes[141] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -7235,7 +7427,7 @@ func (x *AddTeamActionRsp) ProtoReflect() protoreflect.Message { // Deprecated: Use AddTeamActionRsp.ProtoReflect.Descriptor instead. func (*AddTeamActionRsp) Descriptor() ([]byte, []int) { - return file_main_proto_rawDescGZIP(), []int{137} + return file_main_proto_rawDescGZIP(), []int{141} } func (x *AddTeamActionRsp) GetError() string { @@ -7254,7 +7446,7 @@ type DeleteLastTeamActionReq struct { func (x *DeleteLastTeamActionReq) Reset() { *x = DeleteLastTeamActionReq{} - mi := &file_main_proto_msgTypes[138] + mi := &file_main_proto_msgTypes[142] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -7266,7 +7458,7 @@ func (x *DeleteLastTeamActionReq) String() string { func (*DeleteLastTeamActionReq) ProtoMessage() {} func (x *DeleteLastTeamActionReq) ProtoReflect() protoreflect.Message { - mi := &file_main_proto_msgTypes[138] + mi := &file_main_proto_msgTypes[142] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -7279,7 +7471,7 @@ func (x *DeleteLastTeamActionReq) ProtoReflect() protoreflect.Message { // Deprecated: Use DeleteLastTeamActionReq.ProtoReflect.Descriptor instead. func (*DeleteLastTeamActionReq) Descriptor() ([]byte, []int) { - return file_main_proto_rawDescGZIP(), []int{138} + return file_main_proto_rawDescGZIP(), []int{142} } func (x *DeleteLastTeamActionReq) GetId() int64 { @@ -7298,7 +7490,7 @@ type DeleteLastTeamActionRsp struct { func (x *DeleteLastTeamActionRsp) Reset() { *x = DeleteLastTeamActionRsp{} - mi := &file_main_proto_msgTypes[139] + mi := &file_main_proto_msgTypes[143] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -7310,7 +7502,7 @@ func (x *DeleteLastTeamActionRsp) String() string { func (*DeleteLastTeamActionRsp) ProtoMessage() {} func (x *DeleteLastTeamActionRsp) ProtoReflect() protoreflect.Message { - mi := &file_main_proto_msgTypes[139] + mi := &file_main_proto_msgTypes[143] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -7323,7 +7515,7 @@ func (x *DeleteLastTeamActionRsp) ProtoReflect() protoreflect.Message { // Deprecated: Use DeleteLastTeamActionRsp.ProtoReflect.Descriptor instead. func (*DeleteLastTeamActionRsp) Descriptor() ([]byte, []int) { - return file_main_proto_rawDescGZIP(), []int{139} + return file_main_proto_rawDescGZIP(), []int{143} } func (x *DeleteLastTeamActionRsp) GetError() string { @@ -7343,7 +7535,7 @@ type GetTeamAnswersReq struct { func (x *GetTeamAnswersReq) Reset() { *x = GetTeamAnswersReq{} - mi := &file_main_proto_msgTypes[140] + mi := &file_main_proto_msgTypes[144] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -7355,7 +7547,7 @@ func (x *GetTeamAnswersReq) String() string { func (*GetTeamAnswersReq) ProtoMessage() {} func (x *GetTeamAnswersReq) ProtoReflect() protoreflect.Message { - mi := &file_main_proto_msgTypes[140] + mi := &file_main_proto_msgTypes[144] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -7368,7 +7560,7 @@ func (x *GetTeamAnswersReq) ProtoReflect() protoreflect.Message { // Deprecated: Use GetTeamAnswersReq.ProtoReflect.Descriptor instead. func (*GetTeamAnswersReq) Descriptor() ([]byte, []int) { - return file_main_proto_rawDescGZIP(), []int{140} + return file_main_proto_rawDescGZIP(), []int{144} } func (x *GetTeamAnswersReq) GetId() int64 { @@ -7395,7 +7587,7 @@ type GetTeamAnswersRsp struct { func (x *GetTeamAnswersRsp) Reset() { *x = GetTeamAnswersRsp{} - mi := &file_main_proto_msgTypes[141] + mi := &file_main_proto_msgTypes[145] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -7407,7 +7599,7 @@ func (x *GetTeamAnswersRsp) String() string { func (*GetTeamAnswersRsp) ProtoMessage() {} func (x *GetTeamAnswersRsp) ProtoReflect() protoreflect.Message { - mi := &file_main_proto_msgTypes[141] + mi := &file_main_proto_msgTypes[145] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -7420,7 +7612,7 @@ func (x *GetTeamAnswersRsp) ProtoReflect() protoreflect.Message { // Deprecated: Use GetTeamAnswersRsp.ProtoReflect.Descriptor instead. func (*GetTeamAnswersRsp) Descriptor() ([]byte, []int) { - return file_main_proto_rawDescGZIP(), []int{141} + return file_main_proto_rawDescGZIP(), []int{145} } func (x *GetTeamAnswersRsp) GetError() string { @@ -7448,7 +7640,7 @@ type SubmitTeamAnswersReq struct { func (x *SubmitTeamAnswersReq) Reset() { *x = SubmitTeamAnswersReq{} - mi := &file_main_proto_msgTypes[142] + mi := &file_main_proto_msgTypes[146] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -7460,7 +7652,7 @@ func (x *SubmitTeamAnswersReq) String() string { func (*SubmitTeamAnswersReq) ProtoMessage() {} func (x *SubmitTeamAnswersReq) ProtoReflect() protoreflect.Message { - mi := &file_main_proto_msgTypes[142] + mi := &file_main_proto_msgTypes[146] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -7473,7 +7665,7 @@ func (x *SubmitTeamAnswersReq) ProtoReflect() protoreflect.Message { // Deprecated: Use SubmitTeamAnswersReq.ProtoReflect.Descriptor instead. func (*SubmitTeamAnswersReq) Descriptor() ([]byte, []int) { - return file_main_proto_rawDescGZIP(), []int{142} + return file_main_proto_rawDescGZIP(), []int{146} } func (x *SubmitTeamAnswersReq) GetId() int64 { @@ -7506,7 +7698,7 @@ type SubmitTeamAnswersRsp struct { func (x *SubmitTeamAnswersRsp) Reset() { *x = SubmitTeamAnswersRsp{} - mi := &file_main_proto_msgTypes[143] + mi := &file_main_proto_msgTypes[147] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -7518,7 +7710,7 @@ func (x *SubmitTeamAnswersRsp) String() string { func (*SubmitTeamAnswersRsp) ProtoMessage() {} func (x *SubmitTeamAnswersRsp) ProtoReflect() protoreflect.Message { - mi := &file_main_proto_msgTypes[143] + mi := &file_main_proto_msgTypes[147] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -7531,7 +7723,7 @@ func (x *SubmitTeamAnswersRsp) ProtoReflect() protoreflect.Message { // Deprecated: Use SubmitTeamAnswersRsp.ProtoReflect.Descriptor instead. func (*SubmitTeamAnswersRsp) Descriptor() ([]byte, []int) { - return file_main_proto_rawDescGZIP(), []int{143} + return file_main_proto_rawDescGZIP(), []int{147} } func (x *SubmitTeamAnswersRsp) GetError() string { @@ -7553,7 +7745,7 @@ type SetTeamAnswerScoreReq struct { func (x *SetTeamAnswerScoreReq) Reset() { *x = SetTeamAnswerScoreReq{} - mi := &file_main_proto_msgTypes[144] + mi := &file_main_proto_msgTypes[148] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -7565,7 +7757,7 @@ func (x *SetTeamAnswerScoreReq) String() string { func (*SetTeamAnswerScoreReq) ProtoMessage() {} func (x *SetTeamAnswerScoreReq) ProtoReflect() protoreflect.Message { - mi := &file_main_proto_msgTypes[144] + mi := &file_main_proto_msgTypes[148] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -7578,7 +7770,7 @@ func (x *SetTeamAnswerScoreReq) ProtoReflect() protoreflect.Message { // Deprecated: Use SetTeamAnswerScoreReq.ProtoReflect.Descriptor instead. func (*SetTeamAnswerScoreReq) Descriptor() ([]byte, []int) { - return file_main_proto_rawDescGZIP(), []int{144} + return file_main_proto_rawDescGZIP(), []int{148} } func (x *SetTeamAnswerScoreReq) GetId() int64 { @@ -7611,7 +7803,7 @@ type SetTeamAnswerScoreRsp struct { func (x *SetTeamAnswerScoreRsp) Reset() { *x = SetTeamAnswerScoreRsp{} - mi := &file_main_proto_msgTypes[145] + mi := &file_main_proto_msgTypes[149] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -7623,7 +7815,7 @@ func (x *SetTeamAnswerScoreRsp) String() string { func (*SetTeamAnswerScoreRsp) ProtoMessage() {} func (x *SetTeamAnswerScoreRsp) ProtoReflect() protoreflect.Message { - mi := &file_main_proto_msgTypes[145] + mi := &file_main_proto_msgTypes[149] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -7636,7 +7828,7 @@ func (x *SetTeamAnswerScoreRsp) ProtoReflect() protoreflect.Message { // Deprecated: Use SetTeamAnswerScoreRsp.ProtoReflect.Descriptor instead. func (*SetTeamAnswerScoreRsp) Descriptor() ([]byte, []int) { - return file_main_proto_rawDescGZIP(), []int{145} + return file_main_proto_rawDescGZIP(), []int{149} } func (x *SetTeamAnswerScoreRsp) GetError() string { @@ -7656,7 +7848,7 @@ type UpdateScenarioBackgroundReq struct { func (x *UpdateScenarioBackgroundReq) Reset() { *x = UpdateScenarioBackgroundReq{} - mi := &file_main_proto_msgTypes[146] + mi := &file_main_proto_msgTypes[150] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -7668,7 +7860,7 @@ func (x *UpdateScenarioBackgroundReq) String() string { func (*UpdateScenarioBackgroundReq) ProtoMessage() {} func (x *UpdateScenarioBackgroundReq) ProtoReflect() protoreflect.Message { - mi := &file_main_proto_msgTypes[146] + mi := &file_main_proto_msgTypes[150] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -7681,7 +7873,7 @@ func (x *UpdateScenarioBackgroundReq) ProtoReflect() protoreflect.Message { // Deprecated: Use UpdateScenarioBackgroundReq.ProtoReflect.Descriptor instead. func (*UpdateScenarioBackgroundReq) Descriptor() ([]byte, []int) { - return file_main_proto_rawDescGZIP(), []int{146} + return file_main_proto_rawDescGZIP(), []int{150} } func (x *UpdateScenarioBackgroundReq) GetId() int32 { @@ -7707,7 +7899,7 @@ type UpdateScenarioBackgroundRsp struct { func (x *UpdateScenarioBackgroundRsp) Reset() { *x = UpdateScenarioBackgroundRsp{} - mi := &file_main_proto_msgTypes[147] + mi := &file_main_proto_msgTypes[151] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -7719,7 +7911,7 @@ func (x *UpdateScenarioBackgroundRsp) String() string { func (*UpdateScenarioBackgroundRsp) ProtoMessage() {} func (x *UpdateScenarioBackgroundRsp) ProtoReflect() protoreflect.Message { - mi := &file_main_proto_msgTypes[147] + mi := &file_main_proto_msgTypes[151] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -7732,7 +7924,7 @@ func (x *UpdateScenarioBackgroundRsp) ProtoReflect() protoreflect.Message { // Deprecated: Use UpdateScenarioBackgroundRsp.ProtoReflect.Descriptor instead. func (*UpdateScenarioBackgroundRsp) Descriptor() ([]byte, []int) { - return file_main_proto_rawDescGZIP(), []int{147} + return file_main_proto_rawDescGZIP(), []int{151} } func (x *UpdateScenarioBackgroundRsp) GetError() string { @@ -8047,7 +8239,12 @@ const file_main_proto_rawDesc = "" + "\vaccessToken\x18\x02 \x01(\tR\vaccessToken\"l\n" + "\x11GetScreenStateRsp\x12\x14\n" + "\x05error\x18\x01 \x01(\tR\x05error\x12A\n" + - "\x05state\x18\x02 \x01(\v2+.crabs.evening_detective_server.ScreenStateR\x05state\"e\n" + + "\x05state\x18\x02 \x01(\v2+.crabs.evening_detective_server.ScreenStateR\x05state\"+\n" + + "\x11GetGameScreensReq\x12\x16\n" + + "\x06gameId\x18\x01 \x01(\x05R\x06gameId\"p\n" + + "\x11GetGameScreensRsp\x12\x14\n" + + "\x05error\x18\x01 \x01(\tR\x05error\x12E\n" + + "\ascreens\x18\x02 \x03(\v2+.crabs.evening_detective_server.ScreenStateR\ascreens\"e\n" + "\rBindScreenReq\x12\x1a\n" + "\bscreenId\x18\x01 \x01(\tR\bscreenId\x12 \n" + "\vaccessToken\x18\x02 \x01(\tR\vaccessToken\x12\x16\n" + @@ -8058,6 +8255,11 @@ const file_main_proto_rawDesc = "" + "\x0fUnbindScreenReq\x12\x1a\n" + "\bscreenId\x18\x01 \x01(\tR\bscreenId\"'\n" + "\x0fUnbindScreenRsp\x12\x14\n" + + "\x05error\x18\x01 \x01(\tR\x05error\"S\n" + + "\x11SetScreenSoundReq\x12\x1a\n" + + "\bscreenId\x18\x01 \x01(\tR\bscreenId\x12\"\n" + + "\fsoundEnabled\x18\x02 \x01(\bR\fsoundEnabled\")\n" + + "\x11SetScreenSoundRsp\x12\x14\n" + "\x05error\x18\x01 \x01(\tR\x05error\"j\n" + "\x10SetScreenModeReq\x12\x16\n" + "\x06gameId\x18\x01 \x01(\x05R\x06gameId\x12>\n" + @@ -8230,7 +8432,7 @@ const file_main_proto_rawDesc = "" + "\x13SCREEN_COMMAND_STOP\x10\x04\x12\x19\n" + "\x15SCREEN_COMMAND_REPLAY\x10\x05\x12\x17\n" + "\x13SCREEN_COMMAND_SEEK\x10\x06\x12\x19\n" + - "\x15SCREEN_COMMAND_VOLUME\x10\a2\xc7|\n" + + "\x15SCREEN_COMMAND_VOLUME\x10\a2\x83\x80\x01\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" + @@ -8342,12 +8544,16 @@ const file_main_proto_rawDesc = "" + "\x0eGetScreenState\x121.crabs.evening_detective_server.GetScreenStateReq\x1a1.crabs.evening_detective_server.GetScreenStateRsp\"h\x92AH\n" + "\fЭкраны\x120Получить состояние экранаb\x06\n" + "\x04\n" + - "\x00\x12\x00\x82\xd3\xe4\x93\x02\x17:\x01*\"\x12/api/screens/state\x12\xcf\x01\n" + + "\x00\x12\x00\x82\xd3\xe4\x93\x02\x17:\x01*\"\x12/api/screens/state\x12\xd4\x01\n" + + "\x0eGetGameScreens\x121.crabs.evening_detective_server.GetGameScreensReq\x1a1.crabs.evening_detective_server.GetGameScreensRsp\"\\\x92A6\n" + + "\fЭкраны\x12&Получить экраны игры\x82\xd3\xe4\x93\x02\x1d\x12\x1b/api/games/{gameId}/screens\x12\xcf\x01\n" + "\n" + "BindScreen\x12-.crabs.evening_detective_server.BindScreenReq\x1a-.crabs.evening_detective_server.BindScreenRsp\"c\x92A9\n" + "\fЭкраны\x12)Привязать экран к игре\x82\xd3\xe4\x93\x02!:\x01*\"\x1c/api/screens/{screenId}/bind\x12\xd7\x01\n" + "\fUnbindScreen\x12/.crabs.evening_detective_server.UnbindScreenReq\x1a/.crabs.evening_detective_server.UnbindScreenRsp\"e\x92A9\n" + - "\fЭкраны\x12)Отвязать экран от игры\x82\xd3\xe4\x93\x02#:\x01*\"\x1e/api/screens/{screenId}/unbind\x12\xea\x01\n" + + "\fЭкраны\x12)Отвязать экран от игры\x82\xd3\xe4\x93\x02#:\x01*\"\x1e/api/screens/{screenId}/unbind\x12\xe2\x01\n" + + "\x0eSetScreenSound\x121.crabs.evening_detective_server.SetScreenSoundReq\x1a1.crabs.evening_detective_server.SetScreenSoundRsp\"j\x92A?\n" + + "\fЭкраны\x12/Назначить экран со звуком\x82\xd3\xe4\x93\x02\":\x01*\"\x1d/api/screens/{screenId}/sound\x12\xea\x01\n" + "\rSetScreenMode\x120.crabs.evening_detective_server.SetScreenModeReq\x1a0.crabs.evening_detective_server.SetScreenModeRsp\"u\x92AG\n" + "\fЭкраны\x127Изменить режим показа экранов\x82\xd3\xe4\x93\x02%:\x01*\" /api/games/{gameId}/screens/mode\x12\xf2\x01\n" + "\x11SendScreenCommand\x124.crabs.evening_detective_server.SendScreenCommandReq\x1a4.crabs.evening_detective_server.SendScreenCommandRsp\"q\x92A@\n" + @@ -8427,7 +8633,7 @@ func file_main_proto_rawDescGZIP() []byte { } var file_main_proto_enumTypes = make([]protoimpl.EnumInfo, 2) -var file_main_proto_msgTypes = make([]protoimpl.MessageInfo, 148) +var file_main_proto_msgTypes = make([]protoimpl.MessageInfo, 152) var file_main_proto_goTypes = []any{ (ScreenMode)(0), // 0: crabs.evening_detective_server.ScreenMode (ScreenCommand)(0), // 1: crabs.evening_detective_server.ScreenCommand @@ -8525,66 +8731,70 @@ var file_main_proto_goTypes = []any{ (*CreateScreenSessionRsp)(nil), // 93: crabs.evening_detective_server.CreateScreenSessionRsp (*GetScreenStateReq)(nil), // 94: crabs.evening_detective_server.GetScreenStateReq (*GetScreenStateRsp)(nil), // 95: crabs.evening_detective_server.GetScreenStateRsp - (*BindScreenReq)(nil), // 96: crabs.evening_detective_server.BindScreenReq - (*BindScreenRsp)(nil), // 97: crabs.evening_detective_server.BindScreenRsp - (*UnbindScreenReq)(nil), // 98: crabs.evening_detective_server.UnbindScreenReq - (*UnbindScreenRsp)(nil), // 99: crabs.evening_detective_server.UnbindScreenRsp - (*SetScreenModeReq)(nil), // 100: crabs.evening_detective_server.SetScreenModeReq - (*SetScreenModeRsp)(nil), // 101: crabs.evening_detective_server.SetScreenModeRsp - (*SendScreenCommandReq)(nil), // 102: crabs.evening_detective_server.SendScreenCommandReq - (*SendScreenCommandRsp)(nil), // 103: crabs.evening_detective_server.SendScreenCommandRsp - (*Team)(nil), // 104: crabs.evening_detective_server.Team - (*GetGameReq)(nil), // 105: crabs.evening_detective_server.GetGameReq - (*GetGameRsp)(nil), // 106: crabs.evening_detective_server.GetGameRsp - (*GetGameAnswersReq)(nil), // 107: crabs.evening_detective_server.GetGameAnswersReq - (*GetGameAnswersRsp)(nil), // 108: crabs.evening_detective_server.GetGameAnswersRsp - (*GetGameResultsReq)(nil), // 109: crabs.evening_detective_server.GetGameResultsReq - (*ResultsQuestion)(nil), // 110: crabs.evening_detective_server.ResultsQuestion - (*TeamResult)(nil), // 111: crabs.evening_detective_server.TeamResult - (*GetGameResultsRsp)(nil), // 112: crabs.evening_detective_server.GetGameResultsRsp - (*UpdateGameReq)(nil), // 113: crabs.evening_detective_server.UpdateGameReq - (*UpdateGameRsp)(nil), // 114: crabs.evening_detective_server.UpdateGameRsp - (*StartGameReq)(nil), // 115: crabs.evening_detective_server.StartGameReq - (*StartGameRsp)(nil), // 116: crabs.evening_detective_server.StartGameRsp - (*PauseGameReq)(nil), // 117: crabs.evening_detective_server.PauseGameReq - (*PauseGameRsp)(nil), // 118: crabs.evening_detective_server.PauseGameRsp - (*PlayGameReq)(nil), // 119: crabs.evening_detective_server.PlayGameReq - (*PlayGameRsp)(nil), // 120: crabs.evening_detective_server.PlayGameRsp - (*FinishGameReq)(nil), // 121: crabs.evening_detective_server.FinishGameReq - (*FinishGameRsp)(nil), // 122: crabs.evening_detective_server.FinishGameRsp - (*ResetGameReq)(nil), // 123: crabs.evening_detective_server.ResetGameReq - (*ResetGameRsp)(nil), // 124: crabs.evening_detective_server.ResetGameRsp - (*DeleteGameReq)(nil), // 125: crabs.evening_detective_server.DeleteGameReq - (*DeleteGameRsp)(nil), // 126: crabs.evening_detective_server.DeleteGameRsp - (*AddTeamReq)(nil), // 127: crabs.evening_detective_server.AddTeamReq - (*AddTeamRsp)(nil), // 128: crabs.evening_detective_server.AddTeamRsp - (*UpdateTeamReq)(nil), // 129: crabs.evening_detective_server.UpdateTeamReq - (*UpdateTeamRsp)(nil), // 130: crabs.evening_detective_server.UpdateTeamRsp - (*DeleteTeamReq)(nil), // 131: crabs.evening_detective_server.DeleteTeamReq - (*DeleteTeamRsp)(nil), // 132: crabs.evening_detective_server.DeleteTeamRsp - (*GiveTeamApplicationsReq)(nil), // 133: crabs.evening_detective_server.GiveTeamApplicationsReq - (*GiveTeamApplicationsRsp)(nil), // 134: crabs.evening_detective_server.GiveTeamApplicationsRsp - (*GetTeamStoryReq)(nil), // 135: crabs.evening_detective_server.GetTeamStoryReq - (*GetTeamStoryRsp)(nil), // 136: crabs.evening_detective_server.GetTeamStoryRsp - (*TeamAction)(nil), // 137: crabs.evening_detective_server.TeamAction - (*AddTeamActionReq)(nil), // 138: crabs.evening_detective_server.AddTeamActionReq - (*AddTeamActionRsp)(nil), // 139: crabs.evening_detective_server.AddTeamActionRsp - (*DeleteLastTeamActionReq)(nil), // 140: crabs.evening_detective_server.DeleteLastTeamActionReq - (*DeleteLastTeamActionRsp)(nil), // 141: crabs.evening_detective_server.DeleteLastTeamActionRsp - (*GetTeamAnswersReq)(nil), // 142: crabs.evening_detective_server.GetTeamAnswersReq - (*GetTeamAnswersRsp)(nil), // 143: crabs.evening_detective_server.GetTeamAnswersRsp - (*SubmitTeamAnswersReq)(nil), // 144: crabs.evening_detective_server.SubmitTeamAnswersReq - (*SubmitTeamAnswersRsp)(nil), // 145: crabs.evening_detective_server.SubmitTeamAnswersRsp - (*SetTeamAnswerScoreReq)(nil), // 146: crabs.evening_detective_server.SetTeamAnswerScoreReq - (*SetTeamAnswerScoreRsp)(nil), // 147: crabs.evening_detective_server.SetTeamAnswerScoreRsp - (*UpdateScenarioBackgroundReq)(nil), // 148: crabs.evening_detective_server.UpdateScenarioBackgroundReq - (*UpdateScenarioBackgroundRsp)(nil), // 149: crabs.evening_detective_server.UpdateScenarioBackgroundRsp - (*timestamppb.Timestamp)(nil), // 150: google.protobuf.Timestamp - (*httpbody.HttpBody)(nil), // 151: google.api.HttpBody + (*GetGameScreensReq)(nil), // 96: crabs.evening_detective_server.GetGameScreensReq + (*GetGameScreensRsp)(nil), // 97: crabs.evening_detective_server.GetGameScreensRsp + (*BindScreenReq)(nil), // 98: crabs.evening_detective_server.BindScreenReq + (*BindScreenRsp)(nil), // 99: crabs.evening_detective_server.BindScreenRsp + (*UnbindScreenReq)(nil), // 100: crabs.evening_detective_server.UnbindScreenReq + (*UnbindScreenRsp)(nil), // 101: crabs.evening_detective_server.UnbindScreenRsp + (*SetScreenSoundReq)(nil), // 102: crabs.evening_detective_server.SetScreenSoundReq + (*SetScreenSoundRsp)(nil), // 103: crabs.evening_detective_server.SetScreenSoundRsp + (*SetScreenModeReq)(nil), // 104: crabs.evening_detective_server.SetScreenModeReq + (*SetScreenModeRsp)(nil), // 105: crabs.evening_detective_server.SetScreenModeRsp + (*SendScreenCommandReq)(nil), // 106: crabs.evening_detective_server.SendScreenCommandReq + (*SendScreenCommandRsp)(nil), // 107: crabs.evening_detective_server.SendScreenCommandRsp + (*Team)(nil), // 108: crabs.evening_detective_server.Team + (*GetGameReq)(nil), // 109: crabs.evening_detective_server.GetGameReq + (*GetGameRsp)(nil), // 110: crabs.evening_detective_server.GetGameRsp + (*GetGameAnswersReq)(nil), // 111: crabs.evening_detective_server.GetGameAnswersReq + (*GetGameAnswersRsp)(nil), // 112: crabs.evening_detective_server.GetGameAnswersRsp + (*GetGameResultsReq)(nil), // 113: crabs.evening_detective_server.GetGameResultsReq + (*ResultsQuestion)(nil), // 114: crabs.evening_detective_server.ResultsQuestion + (*TeamResult)(nil), // 115: crabs.evening_detective_server.TeamResult + (*GetGameResultsRsp)(nil), // 116: crabs.evening_detective_server.GetGameResultsRsp + (*UpdateGameReq)(nil), // 117: crabs.evening_detective_server.UpdateGameReq + (*UpdateGameRsp)(nil), // 118: crabs.evening_detective_server.UpdateGameRsp + (*StartGameReq)(nil), // 119: crabs.evening_detective_server.StartGameReq + (*StartGameRsp)(nil), // 120: crabs.evening_detective_server.StartGameRsp + (*PauseGameReq)(nil), // 121: crabs.evening_detective_server.PauseGameReq + (*PauseGameRsp)(nil), // 122: crabs.evening_detective_server.PauseGameRsp + (*PlayGameReq)(nil), // 123: crabs.evening_detective_server.PlayGameReq + (*PlayGameRsp)(nil), // 124: crabs.evening_detective_server.PlayGameRsp + (*FinishGameReq)(nil), // 125: crabs.evening_detective_server.FinishGameReq + (*FinishGameRsp)(nil), // 126: crabs.evening_detective_server.FinishGameRsp + (*ResetGameReq)(nil), // 127: crabs.evening_detective_server.ResetGameReq + (*ResetGameRsp)(nil), // 128: crabs.evening_detective_server.ResetGameRsp + (*DeleteGameReq)(nil), // 129: crabs.evening_detective_server.DeleteGameReq + (*DeleteGameRsp)(nil), // 130: crabs.evening_detective_server.DeleteGameRsp + (*AddTeamReq)(nil), // 131: crabs.evening_detective_server.AddTeamReq + (*AddTeamRsp)(nil), // 132: crabs.evening_detective_server.AddTeamRsp + (*UpdateTeamReq)(nil), // 133: crabs.evening_detective_server.UpdateTeamReq + (*UpdateTeamRsp)(nil), // 134: crabs.evening_detective_server.UpdateTeamRsp + (*DeleteTeamReq)(nil), // 135: crabs.evening_detective_server.DeleteTeamReq + (*DeleteTeamRsp)(nil), // 136: crabs.evening_detective_server.DeleteTeamRsp + (*GiveTeamApplicationsReq)(nil), // 137: crabs.evening_detective_server.GiveTeamApplicationsReq + (*GiveTeamApplicationsRsp)(nil), // 138: crabs.evening_detective_server.GiveTeamApplicationsRsp + (*GetTeamStoryReq)(nil), // 139: crabs.evening_detective_server.GetTeamStoryReq + (*GetTeamStoryRsp)(nil), // 140: crabs.evening_detective_server.GetTeamStoryRsp + (*TeamAction)(nil), // 141: crabs.evening_detective_server.TeamAction + (*AddTeamActionReq)(nil), // 142: crabs.evening_detective_server.AddTeamActionReq + (*AddTeamActionRsp)(nil), // 143: crabs.evening_detective_server.AddTeamActionRsp + (*DeleteLastTeamActionReq)(nil), // 144: crabs.evening_detective_server.DeleteLastTeamActionReq + (*DeleteLastTeamActionRsp)(nil), // 145: crabs.evening_detective_server.DeleteLastTeamActionRsp + (*GetTeamAnswersReq)(nil), // 146: crabs.evening_detective_server.GetTeamAnswersReq + (*GetTeamAnswersRsp)(nil), // 147: crabs.evening_detective_server.GetTeamAnswersRsp + (*SubmitTeamAnswersReq)(nil), // 148: crabs.evening_detective_server.SubmitTeamAnswersReq + (*SubmitTeamAnswersRsp)(nil), // 149: crabs.evening_detective_server.SubmitTeamAnswersRsp + (*SetTeamAnswerScoreReq)(nil), // 150: crabs.evening_detective_server.SetTeamAnswerScoreReq + (*SetTeamAnswerScoreRsp)(nil), // 151: crabs.evening_detective_server.SetTeamAnswerScoreRsp + (*UpdateScenarioBackgroundReq)(nil), // 152: crabs.evening_detective_server.UpdateScenarioBackgroundReq + (*UpdateScenarioBackgroundRsp)(nil), // 153: crabs.evening_detective_server.UpdateScenarioBackgroundRsp + (*timestamppb.Timestamp)(nil), // 154: google.protobuf.Timestamp + (*httpbody.HttpBody)(nil), // 155: google.api.HttpBody } var file_main_proto_depIdxs = []int32{ 24, // 0: crabs.evening_detective_server.GetUsersRsp.users:type_name -> crabs.evening_detective_server.User - 150, // 1: crabs.evening_detective_server.User.created_at:type_name -> google.protobuf.Timestamp + 154, // 1: crabs.evening_detective_server.User.created_at:type_name -> google.protobuf.Timestamp 24, // 2: crabs.evening_detective_server.GetUserByIdRsp.user:type_name -> crabs.evening_detective_server.User 24, // 3: crabs.evening_detective_server.GetMeRsp.user:type_name -> crabs.evening_detective_server.User 48, // 4: crabs.evening_detective_server.GetMyScenariosRsp.scenarios:type_name -> crabs.evening_detective_server.Scenario @@ -8592,9 +8802,9 @@ var file_main_proto_depIdxs = []int32{ 48, // 6: crabs.evening_detective_server.GetScenarioRsp.scenario:type_name -> crabs.evening_detective_server.Scenario 49, // 7: crabs.evening_detective_server.Scenario.story:type_name -> crabs.evening_detective_server.Story 24, // 8: crabs.evening_detective_server.Scenario.author:type_name -> crabs.evening_detective_server.User - 150, // 9: crabs.evening_detective_server.Scenario.updated_at:type_name -> google.protobuf.Timestamp - 150, // 10: crabs.evening_detective_server.Scenario.created_at:type_name -> google.protobuf.Timestamp - 150, // 11: crabs.evening_detective_server.Scenario.published_at:type_name -> google.protobuf.Timestamp + 154, // 9: crabs.evening_detective_server.Scenario.updated_at:type_name -> google.protobuf.Timestamp + 154, // 10: crabs.evening_detective_server.Scenario.created_at:type_name -> google.protobuf.Timestamp + 154, // 11: crabs.evening_detective_server.Scenario.published_at:type_name -> google.protobuf.Timestamp 50, // 12: crabs.evening_detective_server.Story.conclusion:type_name -> crabs.evening_detective_server.Conclusion 51, // 13: crabs.evening_detective_server.Story.introduction:type_name -> crabs.evening_detective_server.Introduction 52, // 14: crabs.evening_detective_server.Story.places:type_name -> crabs.evening_detective_server.Place @@ -8603,7 +8813,7 @@ var file_main_proto_depIdxs = []int32{ 54, // 17: crabs.evening_detective_server.Place.doors:type_name -> crabs.evening_detective_server.Door 55, // 18: crabs.evening_detective_server.Place.keys:type_name -> crabs.evening_detective_server.Key 55, // 19: crabs.evening_detective_server.Door.keys:type_name -> crabs.evening_detective_server.Key - 104, // 20: crabs.evening_detective_server.TeamAnswers.team:type_name -> crabs.evening_detective_server.Team + 108, // 20: crabs.evening_detective_server.TeamAnswers.team:type_name -> crabs.evening_detective_server.Team 58, // 21: crabs.evening_detective_server.TeamAnswers.answers:type_name -> crabs.evening_detective_server.AnswerScore 52, // 22: crabs.evening_detective_server.AddScenarioPlaceReq.place:type_name -> crabs.evening_detective_server.Place 52, // 23: crabs.evening_detective_server.UpdateScenarioPlaceReq.place:type_name -> crabs.evening_detective_server.Place @@ -8611,173 +8821,178 @@ var file_main_proto_depIdxs = []int32{ 51, // 25: crabs.evening_detective_server.UpdateScenarioIntroReq.introduction:type_name -> crabs.evening_detective_server.Introduction 56, // 26: crabs.evening_detective_server.AddScenarioQuestionReq.question:type_name -> crabs.evening_detective_server.Question 56, // 27: crabs.evening_detective_server.UpdateScenarioQuestionReq.question:type_name -> crabs.evening_detective_server.Question - 150, // 28: crabs.evening_detective_server.AddGameReq.start_at:type_name -> google.protobuf.Timestamp + 154, // 28: crabs.evening_detective_server.AddGameReq.start_at:type_name -> google.protobuf.Timestamp 90, // 29: crabs.evening_detective_server.GetGamesRsp.games:type_name -> crabs.evening_detective_server.Game - 150, // 30: crabs.evening_detective_server.Game.start_at:type_name -> google.protobuf.Timestamp + 154, // 30: crabs.evening_detective_server.Game.start_at:type_name -> google.protobuf.Timestamp 48, // 31: crabs.evening_detective_server.Game.scenario:type_name -> crabs.evening_detective_server.Scenario - 104, // 32: crabs.evening_detective_server.Game.teams:type_name -> crabs.evening_detective_server.Team - 150, // 33: crabs.evening_detective_server.Game.started_at:type_name -> google.protobuf.Timestamp - 150, // 34: crabs.evening_detective_server.Game.ended_at:type_name -> google.protobuf.Timestamp + 108, // 32: crabs.evening_detective_server.Game.teams:type_name -> crabs.evening_detective_server.Team + 154, // 33: crabs.evening_detective_server.Game.started_at:type_name -> google.protobuf.Timestamp + 154, // 34: crabs.evening_detective_server.Game.ended_at:type_name -> google.protobuf.Timestamp 0, // 35: crabs.evening_detective_server.ScreenState.mode:type_name -> crabs.evening_detective_server.ScreenMode 91, // 36: crabs.evening_detective_server.GetScreenStateRsp.state:type_name -> crabs.evening_detective_server.ScreenState - 91, // 37: crabs.evening_detective_server.BindScreenRsp.state:type_name -> crabs.evening_detective_server.ScreenState - 0, // 38: crabs.evening_detective_server.SetScreenModeReq.mode:type_name -> crabs.evening_detective_server.ScreenMode - 1, // 39: crabs.evening_detective_server.SendScreenCommandReq.command:type_name -> crabs.evening_detective_server.ScreenCommand - 53, // 40: crabs.evening_detective_server.Team.applications:type_name -> crabs.evening_detective_server.Application - 90, // 41: crabs.evening_detective_server.GetGameRsp.game:type_name -> crabs.evening_detective_server.Game - 56, // 42: crabs.evening_detective_server.GetGameAnswersRsp.questions:type_name -> crabs.evening_detective_server.Question - 59, // 43: crabs.evening_detective_server.GetGameAnswersRsp.teams:type_name -> crabs.evening_detective_server.TeamAnswers - 104, // 44: crabs.evening_detective_server.TeamResult.team:type_name -> crabs.evening_detective_server.Team - 58, // 45: crabs.evening_detective_server.TeamResult.answers:type_name -> crabs.evening_detective_server.AnswerScore - 110, // 46: crabs.evening_detective_server.GetGameResultsRsp.questions:type_name -> crabs.evening_detective_server.ResultsQuestion - 111, // 47: crabs.evening_detective_server.GetGameResultsRsp.teams:type_name -> crabs.evening_detective_server.TeamResult - 150, // 48: crabs.evening_detective_server.UpdateGameReq.start_at:type_name -> google.protobuf.Timestamp - 49, // 49: crabs.evening_detective_server.GetTeamStoryRsp.story:type_name -> crabs.evening_detective_server.Story - 90, // 50: crabs.evening_detective_server.GetTeamStoryRsp.game:type_name -> crabs.evening_detective_server.Game - 137, // 51: crabs.evening_detective_server.GetTeamStoryRsp.actions:type_name -> crabs.evening_detective_server.TeamAction - 57, // 52: crabs.evening_detective_server.GetTeamAnswersRsp.answers:type_name -> crabs.evening_detective_server.Answer - 57, // 53: crabs.evening_detective_server.SubmitTeamAnswersReq.answers:type_name -> crabs.evening_detective_server.Answer - 2, // 54: crabs.evening_detective_server.EveningDetectiveServer.Ping:input_type -> crabs.evening_detective_server.PingReq - 4, // 55: crabs.evening_detective_server.EveningDetectiveServer.Echo:input_type -> crabs.evening_detective_server.EchoReq - 6, // 56: crabs.evening_detective_server.EveningDetectiveServer.Signup:input_type -> crabs.evening_detective_server.SignupReq - 8, // 57: crabs.evening_detective_server.EveningDetectiveServer.RefreshPassword:input_type -> crabs.evening_detective_server.RefreshPasswordReq - 10, // 58: crabs.evening_detective_server.EveningDetectiveServer.Login:input_type -> crabs.evening_detective_server.LoginReq - 12, // 59: crabs.evening_detective_server.EveningDetectiveServer.Refresh:input_type -> crabs.evening_detective_server.RefreshReq - 14, // 60: crabs.evening_detective_server.EveningDetectiveServer.DeleteAccount:input_type -> crabs.evening_detective_server.DeleteAccountReq - 16, // 61: crabs.evening_detective_server.EveningDetectiveServer.GetTerms:input_type -> crabs.evening_detective_server.GetTermsReq - 18, // 62: crabs.evening_detective_server.EveningDetectiveServer.GetPrivacy:input_type -> crabs.evening_detective_server.GetPrivacyReq - 20, // 63: crabs.evening_detective_server.EveningDetectiveServer.GetConsent:input_type -> crabs.evening_detective_server.GetConsentReq - 22, // 64: crabs.evening_detective_server.EveningDetectiveServer.GetUsers:input_type -> crabs.evening_detective_server.GetUsersReq - 25, // 65: crabs.evening_detective_server.EveningDetectiveServer.GetUserById:input_type -> crabs.evening_detective_server.GetUserByIdReq - 27, // 66: crabs.evening_detective_server.EveningDetectiveServer.GetMe:input_type -> crabs.evening_detective_server.GetMeReq - 29, // 67: crabs.evening_detective_server.EveningDetectiveServer.ChangeUserPassword:input_type -> crabs.evening_detective_server.ChangeUserPasswordReq - 31, // 68: crabs.evening_detective_server.EveningDetectiveServer.AddUserRole:input_type -> crabs.evening_detective_server.AddUserRoleReq - 33, // 69: crabs.evening_detective_server.EveningDetectiveServer.DeleteUserRole:input_type -> crabs.evening_detective_server.DeleteUserRoleReq - 35, // 70: crabs.evening_detective_server.EveningDetectiveServer.GetPermissions:input_type -> crabs.evening_detective_server.GetPermissionsReq - 37, // 71: crabs.evening_detective_server.EveningDetectiveServer.UploadFile:input_type -> crabs.evening_detective_server.UploadFileReq - 39, // 72: crabs.evening_detective_server.EveningDetectiveServer.DownloadFile:input_type -> crabs.evening_detective_server.DownloadFileReq - 40, // 73: crabs.evening_detective_server.EveningDetectiveServer.AddScenario:input_type -> crabs.evening_detective_server.AddScenarioReq - 42, // 74: crabs.evening_detective_server.EveningDetectiveServer.GetMyScenarios:input_type -> crabs.evening_detective_server.GetMyScenariosReq - 44, // 75: crabs.evening_detective_server.EveningDetectiveServer.GetScenariosCatalog:input_type -> crabs.evening_detective_server.GetScenariosCatalogReq - 46, // 76: crabs.evening_detective_server.EveningDetectiveServer.GetFullScenario:input_type -> crabs.evening_detective_server.GetScenarioReq - 46, // 77: crabs.evening_detective_server.EveningDetectiveServer.GetScenario:input_type -> crabs.evening_detective_server.GetScenarioReq - 60, // 78: crabs.evening_detective_server.EveningDetectiveServer.UpdateScenario:input_type -> crabs.evening_detective_server.UpdateScenarioReq - 62, // 79: crabs.evening_detective_server.EveningDetectiveServer.PublicScenario:input_type -> crabs.evening_detective_server.PublicScenarioReq - 64, // 80: crabs.evening_detective_server.EveningDetectiveServer.DraftScenario:input_type -> crabs.evening_detective_server.DraftScenarioReq - 66, // 81: crabs.evening_detective_server.EveningDetectiveServer.DeleteScenario:input_type -> crabs.evening_detective_server.DeleteScenarioReq - 68, // 82: crabs.evening_detective_server.EveningDetectiveServer.AddScenarioPlace:input_type -> crabs.evening_detective_server.AddScenarioPlaceReq - 70, // 83: crabs.evening_detective_server.EveningDetectiveServer.UpdateScenarioPlace:input_type -> crabs.evening_detective_server.UpdateScenarioPlaceReq - 72, // 84: crabs.evening_detective_server.EveningDetectiveServer.DeleteScenarioPlace:input_type -> crabs.evening_detective_server.DeleteScenarioPlaceReq - 78, // 85: crabs.evening_detective_server.EveningDetectiveServer.AddScenarioQuestion:input_type -> crabs.evening_detective_server.AddScenarioQuestionReq - 80, // 86: crabs.evening_detective_server.EveningDetectiveServer.UpdateScenarioQuestion:input_type -> crabs.evening_detective_server.UpdateScenarioQuestionReq - 82, // 87: crabs.evening_detective_server.EveningDetectiveServer.DeleteScenarioQuestion:input_type -> crabs.evening_detective_server.DeleteScenarioQuestionReq - 148, // 88: crabs.evening_detective_server.EveningDetectiveServer.UpdateScenarioBackground:input_type -> crabs.evening_detective_server.UpdateScenarioBackgroundReq - 76, // 89: crabs.evening_detective_server.EveningDetectiveServer.UpdateScenarioIntro:input_type -> crabs.evening_detective_server.UpdateScenarioIntroReq - 74, // 90: crabs.evening_detective_server.EveningDetectiveServer.UpdateScenarioConclusion:input_type -> crabs.evening_detective_server.UpdateScenarioConclusionReq - 84, // 91: crabs.evening_detective_server.EveningDetectiveServer.DownloadScenarioArchive:input_type -> crabs.evening_detective_server.DownloadScenarioArchiveReq - 151, // 92: crabs.evening_detective_server.EveningDetectiveServer.UploadScenarioArchive:input_type -> google.api.HttpBody - 86, // 93: crabs.evening_detective_server.EveningDetectiveServer.AddGame:input_type -> crabs.evening_detective_server.AddGameReq - 88, // 94: crabs.evening_detective_server.EveningDetectiveServer.GetGames:input_type -> crabs.evening_detective_server.GetGamesReq - 105, // 95: crabs.evening_detective_server.EveningDetectiveServer.GetGame:input_type -> crabs.evening_detective_server.GetGameReq - 92, // 96: crabs.evening_detective_server.EveningDetectiveServer.CreateScreenSession:input_type -> crabs.evening_detective_server.CreateScreenSessionReq - 94, // 97: crabs.evening_detective_server.EveningDetectiveServer.GetScreenState:input_type -> crabs.evening_detective_server.GetScreenStateReq - 96, // 98: crabs.evening_detective_server.EveningDetectiveServer.BindScreen:input_type -> crabs.evening_detective_server.BindScreenReq - 98, // 99: crabs.evening_detective_server.EveningDetectiveServer.UnbindScreen:input_type -> crabs.evening_detective_server.UnbindScreenReq - 100, // 100: crabs.evening_detective_server.EveningDetectiveServer.SetScreenMode:input_type -> crabs.evening_detective_server.SetScreenModeReq - 102, // 101: crabs.evening_detective_server.EveningDetectiveServer.SendScreenCommand:input_type -> crabs.evening_detective_server.SendScreenCommandReq - 105, // 102: crabs.evening_detective_server.EveningDetectiveServer.DownloadTeamQR:input_type -> crabs.evening_detective_server.GetGameReq - 107, // 103: crabs.evening_detective_server.EveningDetectiveServer.GetGameAnswers:input_type -> crabs.evening_detective_server.GetGameAnswersReq - 109, // 104: crabs.evening_detective_server.EveningDetectiveServer.GetGameResults:input_type -> crabs.evening_detective_server.GetGameResultsReq - 113, // 105: crabs.evening_detective_server.EveningDetectiveServer.UpdateGame:input_type -> crabs.evening_detective_server.UpdateGameReq - 115, // 106: crabs.evening_detective_server.EveningDetectiveServer.StartGame:input_type -> crabs.evening_detective_server.StartGameReq - 117, // 107: crabs.evening_detective_server.EveningDetectiveServer.PauseGame:input_type -> crabs.evening_detective_server.PauseGameReq - 119, // 108: crabs.evening_detective_server.EveningDetectiveServer.PlayGame:input_type -> crabs.evening_detective_server.PlayGameReq - 121, // 109: crabs.evening_detective_server.EveningDetectiveServer.FinishGame:input_type -> crabs.evening_detective_server.FinishGameReq - 123, // 110: crabs.evening_detective_server.EveningDetectiveServer.ResetGame:input_type -> crabs.evening_detective_server.ResetGameReq - 125, // 111: crabs.evening_detective_server.EveningDetectiveServer.DeleteGame:input_type -> crabs.evening_detective_server.DeleteGameReq - 127, // 112: crabs.evening_detective_server.EveningDetectiveServer.AddTeam:input_type -> crabs.evening_detective_server.AddTeamReq - 129, // 113: crabs.evening_detective_server.EveningDetectiveServer.UpdateTeam:input_type -> crabs.evening_detective_server.UpdateTeamReq - 131, // 114: crabs.evening_detective_server.EveningDetectiveServer.DeleteTeam:input_type -> crabs.evening_detective_server.DeleteTeamReq - 133, // 115: crabs.evening_detective_server.EveningDetectiveServer.GiveTeamApplications:input_type -> crabs.evening_detective_server.GiveTeamApplicationsReq - 135, // 116: crabs.evening_detective_server.EveningDetectiveServer.GetTeamStory:input_type -> crabs.evening_detective_server.GetTeamStoryReq - 138, // 117: crabs.evening_detective_server.EveningDetectiveServer.AddTeamAction:input_type -> crabs.evening_detective_server.AddTeamActionReq - 140, // 118: crabs.evening_detective_server.EveningDetectiveServer.DeleteLastTeamAction:input_type -> crabs.evening_detective_server.DeleteLastTeamActionReq - 142, // 119: crabs.evening_detective_server.EveningDetectiveServer.GetTeamAnswers:input_type -> crabs.evening_detective_server.GetTeamAnswersReq - 144, // 120: crabs.evening_detective_server.EveningDetectiveServer.SubmitTeamAnswers:input_type -> crabs.evening_detective_server.SubmitTeamAnswersReq - 146, // 121: crabs.evening_detective_server.EveningDetectiveServer.SetTeamAnswerScore:input_type -> crabs.evening_detective_server.SetTeamAnswerScoreReq - 3, // 122: crabs.evening_detective_server.EveningDetectiveServer.Ping:output_type -> crabs.evening_detective_server.PingRsp - 5, // 123: crabs.evening_detective_server.EveningDetectiveServer.Echo:output_type -> crabs.evening_detective_server.EchoRsp - 7, // 124: crabs.evening_detective_server.EveningDetectiveServer.Signup:output_type -> crabs.evening_detective_server.SignupRsp - 9, // 125: crabs.evening_detective_server.EveningDetectiveServer.RefreshPassword:output_type -> crabs.evening_detective_server.RefreshPasswordRsp - 11, // 126: crabs.evening_detective_server.EveningDetectiveServer.Login:output_type -> crabs.evening_detective_server.LoginRsp - 13, // 127: crabs.evening_detective_server.EveningDetectiveServer.Refresh:output_type -> crabs.evening_detective_server.RefreshRsp - 15, // 128: crabs.evening_detective_server.EveningDetectiveServer.DeleteAccount:output_type -> crabs.evening_detective_server.DeleteAccountRsp - 17, // 129: crabs.evening_detective_server.EveningDetectiveServer.GetTerms:output_type -> crabs.evening_detective_server.GetTermsRsp - 19, // 130: crabs.evening_detective_server.EveningDetectiveServer.GetPrivacy:output_type -> crabs.evening_detective_server.GetPrivacyRsp - 21, // 131: crabs.evening_detective_server.EveningDetectiveServer.GetConsent:output_type -> crabs.evening_detective_server.GetConsentRsp - 23, // 132: crabs.evening_detective_server.EveningDetectiveServer.GetUsers:output_type -> crabs.evening_detective_server.GetUsersRsp - 26, // 133: crabs.evening_detective_server.EveningDetectiveServer.GetUserById:output_type -> crabs.evening_detective_server.GetUserByIdRsp - 28, // 134: crabs.evening_detective_server.EveningDetectiveServer.GetMe:output_type -> crabs.evening_detective_server.GetMeRsp - 30, // 135: crabs.evening_detective_server.EveningDetectiveServer.ChangeUserPassword:output_type -> crabs.evening_detective_server.ChangeUserPasswordRsp - 32, // 136: crabs.evening_detective_server.EveningDetectiveServer.AddUserRole:output_type -> crabs.evening_detective_server.AddUserRoleRsp - 34, // 137: crabs.evening_detective_server.EveningDetectiveServer.DeleteUserRole:output_type -> crabs.evening_detective_server.DeleteUserRoleRsp - 36, // 138: crabs.evening_detective_server.EveningDetectiveServer.GetPermissions:output_type -> crabs.evening_detective_server.GetPermissionsRsp - 38, // 139: crabs.evening_detective_server.EveningDetectiveServer.UploadFile:output_type -> crabs.evening_detective_server.UploadFileRsp - 151, // 140: crabs.evening_detective_server.EveningDetectiveServer.DownloadFile:output_type -> google.api.HttpBody - 41, // 141: crabs.evening_detective_server.EveningDetectiveServer.AddScenario:output_type -> crabs.evening_detective_server.AddScenarioRsp - 43, // 142: crabs.evening_detective_server.EveningDetectiveServer.GetMyScenarios:output_type -> crabs.evening_detective_server.GetMyScenariosRsp - 45, // 143: crabs.evening_detective_server.EveningDetectiveServer.GetScenariosCatalog:output_type -> crabs.evening_detective_server.GetScenariosCatalogRsp - 47, // 144: crabs.evening_detective_server.EveningDetectiveServer.GetFullScenario:output_type -> crabs.evening_detective_server.GetScenarioRsp - 47, // 145: crabs.evening_detective_server.EveningDetectiveServer.GetScenario:output_type -> crabs.evening_detective_server.GetScenarioRsp - 61, // 146: crabs.evening_detective_server.EveningDetectiveServer.UpdateScenario:output_type -> crabs.evening_detective_server.UpdateScenarioRsp - 63, // 147: crabs.evening_detective_server.EveningDetectiveServer.PublicScenario:output_type -> crabs.evening_detective_server.PublicScenarioRsp - 65, // 148: crabs.evening_detective_server.EveningDetectiveServer.DraftScenario:output_type -> crabs.evening_detective_server.DraftScenarioRsp - 67, // 149: crabs.evening_detective_server.EveningDetectiveServer.DeleteScenario:output_type -> crabs.evening_detective_server.DeleteScenarioRsp - 69, // 150: crabs.evening_detective_server.EveningDetectiveServer.AddScenarioPlace:output_type -> crabs.evening_detective_server.AddScenarioPlaceRsp - 71, // 151: crabs.evening_detective_server.EveningDetectiveServer.UpdateScenarioPlace:output_type -> crabs.evening_detective_server.UpdateScenarioPlaceRsp - 73, // 152: crabs.evening_detective_server.EveningDetectiveServer.DeleteScenarioPlace:output_type -> crabs.evening_detective_server.DeleteScenarioPlaceRsp - 79, // 153: crabs.evening_detective_server.EveningDetectiveServer.AddScenarioQuestion:output_type -> crabs.evening_detective_server.AddScenarioQuestionRsp - 81, // 154: crabs.evening_detective_server.EveningDetectiveServer.UpdateScenarioQuestion:output_type -> crabs.evening_detective_server.UpdateScenarioQuestionRsp - 83, // 155: crabs.evening_detective_server.EveningDetectiveServer.DeleteScenarioQuestion:output_type -> crabs.evening_detective_server.DeleteScenarioQuestionRsp - 149, // 156: crabs.evening_detective_server.EveningDetectiveServer.UpdateScenarioBackground:output_type -> crabs.evening_detective_server.UpdateScenarioBackgroundRsp - 77, // 157: crabs.evening_detective_server.EveningDetectiveServer.UpdateScenarioIntro:output_type -> crabs.evening_detective_server.UpdateScenarioIntroRsp - 75, // 158: crabs.evening_detective_server.EveningDetectiveServer.UpdateScenarioConclusion:output_type -> crabs.evening_detective_server.UpdateScenarioConclusionRsp - 151, // 159: crabs.evening_detective_server.EveningDetectiveServer.DownloadScenarioArchive:output_type -> google.api.HttpBody - 85, // 160: crabs.evening_detective_server.EveningDetectiveServer.UploadScenarioArchive:output_type -> crabs.evening_detective_server.UploadScenarioArchiveRsp - 87, // 161: crabs.evening_detective_server.EveningDetectiveServer.AddGame:output_type -> crabs.evening_detective_server.AddGameRsp - 89, // 162: crabs.evening_detective_server.EveningDetectiveServer.GetGames:output_type -> crabs.evening_detective_server.GetGamesRsp - 106, // 163: crabs.evening_detective_server.EveningDetectiveServer.GetGame:output_type -> crabs.evening_detective_server.GetGameRsp - 93, // 164: crabs.evening_detective_server.EveningDetectiveServer.CreateScreenSession:output_type -> crabs.evening_detective_server.CreateScreenSessionRsp - 95, // 165: crabs.evening_detective_server.EveningDetectiveServer.GetScreenState:output_type -> crabs.evening_detective_server.GetScreenStateRsp - 97, // 166: crabs.evening_detective_server.EveningDetectiveServer.BindScreen:output_type -> crabs.evening_detective_server.BindScreenRsp - 99, // 167: crabs.evening_detective_server.EveningDetectiveServer.UnbindScreen:output_type -> crabs.evening_detective_server.UnbindScreenRsp - 101, // 168: crabs.evening_detective_server.EveningDetectiveServer.SetScreenMode:output_type -> crabs.evening_detective_server.SetScreenModeRsp - 103, // 169: crabs.evening_detective_server.EveningDetectiveServer.SendScreenCommand:output_type -> crabs.evening_detective_server.SendScreenCommandRsp - 151, // 170: crabs.evening_detective_server.EveningDetectiveServer.DownloadTeamQR:output_type -> google.api.HttpBody - 108, // 171: crabs.evening_detective_server.EveningDetectiveServer.GetGameAnswers:output_type -> crabs.evening_detective_server.GetGameAnswersRsp - 112, // 172: crabs.evening_detective_server.EveningDetectiveServer.GetGameResults:output_type -> crabs.evening_detective_server.GetGameResultsRsp - 114, // 173: crabs.evening_detective_server.EveningDetectiveServer.UpdateGame:output_type -> crabs.evening_detective_server.UpdateGameRsp - 116, // 174: crabs.evening_detective_server.EveningDetectiveServer.StartGame:output_type -> crabs.evening_detective_server.StartGameRsp - 118, // 175: crabs.evening_detective_server.EveningDetectiveServer.PauseGame:output_type -> crabs.evening_detective_server.PauseGameRsp - 120, // 176: crabs.evening_detective_server.EveningDetectiveServer.PlayGame:output_type -> crabs.evening_detective_server.PlayGameRsp - 122, // 177: crabs.evening_detective_server.EveningDetectiveServer.FinishGame:output_type -> crabs.evening_detective_server.FinishGameRsp - 124, // 178: crabs.evening_detective_server.EveningDetectiveServer.ResetGame:output_type -> crabs.evening_detective_server.ResetGameRsp - 126, // 179: crabs.evening_detective_server.EveningDetectiveServer.DeleteGame:output_type -> crabs.evening_detective_server.DeleteGameRsp - 128, // 180: crabs.evening_detective_server.EveningDetectiveServer.AddTeam:output_type -> crabs.evening_detective_server.AddTeamRsp - 130, // 181: crabs.evening_detective_server.EveningDetectiveServer.UpdateTeam:output_type -> crabs.evening_detective_server.UpdateTeamRsp - 132, // 182: crabs.evening_detective_server.EveningDetectiveServer.DeleteTeam:output_type -> crabs.evening_detective_server.DeleteTeamRsp - 134, // 183: crabs.evening_detective_server.EveningDetectiveServer.GiveTeamApplications:output_type -> crabs.evening_detective_server.GiveTeamApplicationsRsp - 136, // 184: crabs.evening_detective_server.EveningDetectiveServer.GetTeamStory:output_type -> crabs.evening_detective_server.GetTeamStoryRsp - 139, // 185: crabs.evening_detective_server.EveningDetectiveServer.AddTeamAction:output_type -> crabs.evening_detective_server.AddTeamActionRsp - 141, // 186: crabs.evening_detective_server.EveningDetectiveServer.DeleteLastTeamAction:output_type -> crabs.evening_detective_server.DeleteLastTeamActionRsp - 143, // 187: crabs.evening_detective_server.EveningDetectiveServer.GetTeamAnswers:output_type -> crabs.evening_detective_server.GetTeamAnswersRsp - 145, // 188: crabs.evening_detective_server.EveningDetectiveServer.SubmitTeamAnswers:output_type -> crabs.evening_detective_server.SubmitTeamAnswersRsp - 147, // 189: crabs.evening_detective_server.EveningDetectiveServer.SetTeamAnswerScore:output_type -> crabs.evening_detective_server.SetTeamAnswerScoreRsp - 122, // [122:190] is the sub-list for method output_type - 54, // [54:122] is the sub-list for method input_type - 54, // [54:54] is the sub-list for extension type_name - 54, // [54:54] is the sub-list for extension extendee - 0, // [0:54] is the sub-list for field type_name + 91, // 37: crabs.evening_detective_server.GetGameScreensRsp.screens:type_name -> crabs.evening_detective_server.ScreenState + 91, // 38: crabs.evening_detective_server.BindScreenRsp.state:type_name -> crabs.evening_detective_server.ScreenState + 0, // 39: crabs.evening_detective_server.SetScreenModeReq.mode:type_name -> crabs.evening_detective_server.ScreenMode + 1, // 40: crabs.evening_detective_server.SendScreenCommandReq.command:type_name -> crabs.evening_detective_server.ScreenCommand + 53, // 41: crabs.evening_detective_server.Team.applications:type_name -> crabs.evening_detective_server.Application + 90, // 42: crabs.evening_detective_server.GetGameRsp.game:type_name -> crabs.evening_detective_server.Game + 56, // 43: crabs.evening_detective_server.GetGameAnswersRsp.questions:type_name -> crabs.evening_detective_server.Question + 59, // 44: crabs.evening_detective_server.GetGameAnswersRsp.teams:type_name -> crabs.evening_detective_server.TeamAnswers + 108, // 45: crabs.evening_detective_server.TeamResult.team:type_name -> crabs.evening_detective_server.Team + 58, // 46: crabs.evening_detective_server.TeamResult.answers:type_name -> crabs.evening_detective_server.AnswerScore + 114, // 47: crabs.evening_detective_server.GetGameResultsRsp.questions:type_name -> crabs.evening_detective_server.ResultsQuestion + 115, // 48: crabs.evening_detective_server.GetGameResultsRsp.teams:type_name -> crabs.evening_detective_server.TeamResult + 154, // 49: crabs.evening_detective_server.UpdateGameReq.start_at:type_name -> google.protobuf.Timestamp + 49, // 50: crabs.evening_detective_server.GetTeamStoryRsp.story:type_name -> crabs.evening_detective_server.Story + 90, // 51: crabs.evening_detective_server.GetTeamStoryRsp.game:type_name -> crabs.evening_detective_server.Game + 141, // 52: crabs.evening_detective_server.GetTeamStoryRsp.actions:type_name -> crabs.evening_detective_server.TeamAction + 57, // 53: crabs.evening_detective_server.GetTeamAnswersRsp.answers:type_name -> crabs.evening_detective_server.Answer + 57, // 54: crabs.evening_detective_server.SubmitTeamAnswersReq.answers:type_name -> crabs.evening_detective_server.Answer + 2, // 55: crabs.evening_detective_server.EveningDetectiveServer.Ping:input_type -> crabs.evening_detective_server.PingReq + 4, // 56: crabs.evening_detective_server.EveningDetectiveServer.Echo:input_type -> crabs.evening_detective_server.EchoReq + 6, // 57: crabs.evening_detective_server.EveningDetectiveServer.Signup:input_type -> crabs.evening_detective_server.SignupReq + 8, // 58: crabs.evening_detective_server.EveningDetectiveServer.RefreshPassword:input_type -> crabs.evening_detective_server.RefreshPasswordReq + 10, // 59: crabs.evening_detective_server.EveningDetectiveServer.Login:input_type -> crabs.evening_detective_server.LoginReq + 12, // 60: crabs.evening_detective_server.EveningDetectiveServer.Refresh:input_type -> crabs.evening_detective_server.RefreshReq + 14, // 61: crabs.evening_detective_server.EveningDetectiveServer.DeleteAccount:input_type -> crabs.evening_detective_server.DeleteAccountReq + 16, // 62: crabs.evening_detective_server.EveningDetectiveServer.GetTerms:input_type -> crabs.evening_detective_server.GetTermsReq + 18, // 63: crabs.evening_detective_server.EveningDetectiveServer.GetPrivacy:input_type -> crabs.evening_detective_server.GetPrivacyReq + 20, // 64: crabs.evening_detective_server.EveningDetectiveServer.GetConsent:input_type -> crabs.evening_detective_server.GetConsentReq + 22, // 65: crabs.evening_detective_server.EveningDetectiveServer.GetUsers:input_type -> crabs.evening_detective_server.GetUsersReq + 25, // 66: crabs.evening_detective_server.EveningDetectiveServer.GetUserById:input_type -> crabs.evening_detective_server.GetUserByIdReq + 27, // 67: crabs.evening_detective_server.EveningDetectiveServer.GetMe:input_type -> crabs.evening_detective_server.GetMeReq + 29, // 68: crabs.evening_detective_server.EveningDetectiveServer.ChangeUserPassword:input_type -> crabs.evening_detective_server.ChangeUserPasswordReq + 31, // 69: crabs.evening_detective_server.EveningDetectiveServer.AddUserRole:input_type -> crabs.evening_detective_server.AddUserRoleReq + 33, // 70: crabs.evening_detective_server.EveningDetectiveServer.DeleteUserRole:input_type -> crabs.evening_detective_server.DeleteUserRoleReq + 35, // 71: crabs.evening_detective_server.EveningDetectiveServer.GetPermissions:input_type -> crabs.evening_detective_server.GetPermissionsReq + 37, // 72: crabs.evening_detective_server.EveningDetectiveServer.UploadFile:input_type -> crabs.evening_detective_server.UploadFileReq + 39, // 73: crabs.evening_detective_server.EveningDetectiveServer.DownloadFile:input_type -> crabs.evening_detective_server.DownloadFileReq + 40, // 74: crabs.evening_detective_server.EveningDetectiveServer.AddScenario:input_type -> crabs.evening_detective_server.AddScenarioReq + 42, // 75: crabs.evening_detective_server.EveningDetectiveServer.GetMyScenarios:input_type -> crabs.evening_detective_server.GetMyScenariosReq + 44, // 76: crabs.evening_detective_server.EveningDetectiveServer.GetScenariosCatalog:input_type -> crabs.evening_detective_server.GetScenariosCatalogReq + 46, // 77: crabs.evening_detective_server.EveningDetectiveServer.GetFullScenario:input_type -> crabs.evening_detective_server.GetScenarioReq + 46, // 78: crabs.evening_detective_server.EveningDetectiveServer.GetScenario:input_type -> crabs.evening_detective_server.GetScenarioReq + 60, // 79: crabs.evening_detective_server.EveningDetectiveServer.UpdateScenario:input_type -> crabs.evening_detective_server.UpdateScenarioReq + 62, // 80: crabs.evening_detective_server.EveningDetectiveServer.PublicScenario:input_type -> crabs.evening_detective_server.PublicScenarioReq + 64, // 81: crabs.evening_detective_server.EveningDetectiveServer.DraftScenario:input_type -> crabs.evening_detective_server.DraftScenarioReq + 66, // 82: crabs.evening_detective_server.EveningDetectiveServer.DeleteScenario:input_type -> crabs.evening_detective_server.DeleteScenarioReq + 68, // 83: crabs.evening_detective_server.EveningDetectiveServer.AddScenarioPlace:input_type -> crabs.evening_detective_server.AddScenarioPlaceReq + 70, // 84: crabs.evening_detective_server.EveningDetectiveServer.UpdateScenarioPlace:input_type -> crabs.evening_detective_server.UpdateScenarioPlaceReq + 72, // 85: crabs.evening_detective_server.EveningDetectiveServer.DeleteScenarioPlace:input_type -> crabs.evening_detective_server.DeleteScenarioPlaceReq + 78, // 86: crabs.evening_detective_server.EveningDetectiveServer.AddScenarioQuestion:input_type -> crabs.evening_detective_server.AddScenarioQuestionReq + 80, // 87: crabs.evening_detective_server.EveningDetectiveServer.UpdateScenarioQuestion:input_type -> crabs.evening_detective_server.UpdateScenarioQuestionReq + 82, // 88: crabs.evening_detective_server.EveningDetectiveServer.DeleteScenarioQuestion:input_type -> crabs.evening_detective_server.DeleteScenarioQuestionReq + 152, // 89: crabs.evening_detective_server.EveningDetectiveServer.UpdateScenarioBackground:input_type -> crabs.evening_detective_server.UpdateScenarioBackgroundReq + 76, // 90: crabs.evening_detective_server.EveningDetectiveServer.UpdateScenarioIntro:input_type -> crabs.evening_detective_server.UpdateScenarioIntroReq + 74, // 91: crabs.evening_detective_server.EveningDetectiveServer.UpdateScenarioConclusion:input_type -> crabs.evening_detective_server.UpdateScenarioConclusionReq + 84, // 92: crabs.evening_detective_server.EveningDetectiveServer.DownloadScenarioArchive:input_type -> crabs.evening_detective_server.DownloadScenarioArchiveReq + 155, // 93: crabs.evening_detective_server.EveningDetectiveServer.UploadScenarioArchive:input_type -> google.api.HttpBody + 86, // 94: crabs.evening_detective_server.EveningDetectiveServer.AddGame:input_type -> crabs.evening_detective_server.AddGameReq + 88, // 95: crabs.evening_detective_server.EveningDetectiveServer.GetGames:input_type -> crabs.evening_detective_server.GetGamesReq + 109, // 96: crabs.evening_detective_server.EveningDetectiveServer.GetGame:input_type -> crabs.evening_detective_server.GetGameReq + 92, // 97: crabs.evening_detective_server.EveningDetectiveServer.CreateScreenSession:input_type -> crabs.evening_detective_server.CreateScreenSessionReq + 94, // 98: crabs.evening_detective_server.EveningDetectiveServer.GetScreenState:input_type -> crabs.evening_detective_server.GetScreenStateReq + 96, // 99: crabs.evening_detective_server.EveningDetectiveServer.GetGameScreens:input_type -> crabs.evening_detective_server.GetGameScreensReq + 98, // 100: crabs.evening_detective_server.EveningDetectiveServer.BindScreen:input_type -> crabs.evening_detective_server.BindScreenReq + 100, // 101: crabs.evening_detective_server.EveningDetectiveServer.UnbindScreen:input_type -> crabs.evening_detective_server.UnbindScreenReq + 102, // 102: crabs.evening_detective_server.EveningDetectiveServer.SetScreenSound:input_type -> crabs.evening_detective_server.SetScreenSoundReq + 104, // 103: crabs.evening_detective_server.EveningDetectiveServer.SetScreenMode:input_type -> crabs.evening_detective_server.SetScreenModeReq + 106, // 104: crabs.evening_detective_server.EveningDetectiveServer.SendScreenCommand:input_type -> crabs.evening_detective_server.SendScreenCommandReq + 109, // 105: crabs.evening_detective_server.EveningDetectiveServer.DownloadTeamQR:input_type -> crabs.evening_detective_server.GetGameReq + 111, // 106: crabs.evening_detective_server.EveningDetectiveServer.GetGameAnswers:input_type -> crabs.evening_detective_server.GetGameAnswersReq + 113, // 107: crabs.evening_detective_server.EveningDetectiveServer.GetGameResults:input_type -> crabs.evening_detective_server.GetGameResultsReq + 117, // 108: crabs.evening_detective_server.EveningDetectiveServer.UpdateGame:input_type -> crabs.evening_detective_server.UpdateGameReq + 119, // 109: crabs.evening_detective_server.EveningDetectiveServer.StartGame:input_type -> crabs.evening_detective_server.StartGameReq + 121, // 110: crabs.evening_detective_server.EveningDetectiveServer.PauseGame:input_type -> crabs.evening_detective_server.PauseGameReq + 123, // 111: crabs.evening_detective_server.EveningDetectiveServer.PlayGame:input_type -> crabs.evening_detective_server.PlayGameReq + 125, // 112: crabs.evening_detective_server.EveningDetectiveServer.FinishGame:input_type -> crabs.evening_detective_server.FinishGameReq + 127, // 113: crabs.evening_detective_server.EveningDetectiveServer.ResetGame:input_type -> crabs.evening_detective_server.ResetGameReq + 129, // 114: crabs.evening_detective_server.EveningDetectiveServer.DeleteGame:input_type -> crabs.evening_detective_server.DeleteGameReq + 131, // 115: crabs.evening_detective_server.EveningDetectiveServer.AddTeam:input_type -> crabs.evening_detective_server.AddTeamReq + 133, // 116: crabs.evening_detective_server.EveningDetectiveServer.UpdateTeam:input_type -> crabs.evening_detective_server.UpdateTeamReq + 135, // 117: crabs.evening_detective_server.EveningDetectiveServer.DeleteTeam:input_type -> crabs.evening_detective_server.DeleteTeamReq + 137, // 118: crabs.evening_detective_server.EveningDetectiveServer.GiveTeamApplications:input_type -> crabs.evening_detective_server.GiveTeamApplicationsReq + 139, // 119: crabs.evening_detective_server.EveningDetectiveServer.GetTeamStory:input_type -> crabs.evening_detective_server.GetTeamStoryReq + 142, // 120: crabs.evening_detective_server.EveningDetectiveServer.AddTeamAction:input_type -> crabs.evening_detective_server.AddTeamActionReq + 144, // 121: crabs.evening_detective_server.EveningDetectiveServer.DeleteLastTeamAction:input_type -> crabs.evening_detective_server.DeleteLastTeamActionReq + 146, // 122: crabs.evening_detective_server.EveningDetectiveServer.GetTeamAnswers:input_type -> crabs.evening_detective_server.GetTeamAnswersReq + 148, // 123: crabs.evening_detective_server.EveningDetectiveServer.SubmitTeamAnswers:input_type -> crabs.evening_detective_server.SubmitTeamAnswersReq + 150, // 124: crabs.evening_detective_server.EveningDetectiveServer.SetTeamAnswerScore:input_type -> crabs.evening_detective_server.SetTeamAnswerScoreReq + 3, // 125: crabs.evening_detective_server.EveningDetectiveServer.Ping:output_type -> crabs.evening_detective_server.PingRsp + 5, // 126: crabs.evening_detective_server.EveningDetectiveServer.Echo:output_type -> crabs.evening_detective_server.EchoRsp + 7, // 127: crabs.evening_detective_server.EveningDetectiveServer.Signup:output_type -> crabs.evening_detective_server.SignupRsp + 9, // 128: crabs.evening_detective_server.EveningDetectiveServer.RefreshPassword:output_type -> crabs.evening_detective_server.RefreshPasswordRsp + 11, // 129: crabs.evening_detective_server.EveningDetectiveServer.Login:output_type -> crabs.evening_detective_server.LoginRsp + 13, // 130: crabs.evening_detective_server.EveningDetectiveServer.Refresh:output_type -> crabs.evening_detective_server.RefreshRsp + 15, // 131: crabs.evening_detective_server.EveningDetectiveServer.DeleteAccount:output_type -> crabs.evening_detective_server.DeleteAccountRsp + 17, // 132: crabs.evening_detective_server.EveningDetectiveServer.GetTerms:output_type -> crabs.evening_detective_server.GetTermsRsp + 19, // 133: crabs.evening_detective_server.EveningDetectiveServer.GetPrivacy:output_type -> crabs.evening_detective_server.GetPrivacyRsp + 21, // 134: crabs.evening_detective_server.EveningDetectiveServer.GetConsent:output_type -> crabs.evening_detective_server.GetConsentRsp + 23, // 135: crabs.evening_detective_server.EveningDetectiveServer.GetUsers:output_type -> crabs.evening_detective_server.GetUsersRsp + 26, // 136: crabs.evening_detective_server.EveningDetectiveServer.GetUserById:output_type -> crabs.evening_detective_server.GetUserByIdRsp + 28, // 137: crabs.evening_detective_server.EveningDetectiveServer.GetMe:output_type -> crabs.evening_detective_server.GetMeRsp + 30, // 138: crabs.evening_detective_server.EveningDetectiveServer.ChangeUserPassword:output_type -> crabs.evening_detective_server.ChangeUserPasswordRsp + 32, // 139: crabs.evening_detective_server.EveningDetectiveServer.AddUserRole:output_type -> crabs.evening_detective_server.AddUserRoleRsp + 34, // 140: crabs.evening_detective_server.EveningDetectiveServer.DeleteUserRole:output_type -> crabs.evening_detective_server.DeleteUserRoleRsp + 36, // 141: crabs.evening_detective_server.EveningDetectiveServer.GetPermissions:output_type -> crabs.evening_detective_server.GetPermissionsRsp + 38, // 142: crabs.evening_detective_server.EveningDetectiveServer.UploadFile:output_type -> crabs.evening_detective_server.UploadFileRsp + 155, // 143: crabs.evening_detective_server.EveningDetectiveServer.DownloadFile:output_type -> google.api.HttpBody + 41, // 144: crabs.evening_detective_server.EveningDetectiveServer.AddScenario:output_type -> crabs.evening_detective_server.AddScenarioRsp + 43, // 145: crabs.evening_detective_server.EveningDetectiveServer.GetMyScenarios:output_type -> crabs.evening_detective_server.GetMyScenariosRsp + 45, // 146: crabs.evening_detective_server.EveningDetectiveServer.GetScenariosCatalog:output_type -> crabs.evening_detective_server.GetScenariosCatalogRsp + 47, // 147: crabs.evening_detective_server.EveningDetectiveServer.GetFullScenario:output_type -> crabs.evening_detective_server.GetScenarioRsp + 47, // 148: crabs.evening_detective_server.EveningDetectiveServer.GetScenario:output_type -> crabs.evening_detective_server.GetScenarioRsp + 61, // 149: crabs.evening_detective_server.EveningDetectiveServer.UpdateScenario:output_type -> crabs.evening_detective_server.UpdateScenarioRsp + 63, // 150: crabs.evening_detective_server.EveningDetectiveServer.PublicScenario:output_type -> crabs.evening_detective_server.PublicScenarioRsp + 65, // 151: crabs.evening_detective_server.EveningDetectiveServer.DraftScenario:output_type -> crabs.evening_detective_server.DraftScenarioRsp + 67, // 152: crabs.evening_detective_server.EveningDetectiveServer.DeleteScenario:output_type -> crabs.evening_detective_server.DeleteScenarioRsp + 69, // 153: crabs.evening_detective_server.EveningDetectiveServer.AddScenarioPlace:output_type -> crabs.evening_detective_server.AddScenarioPlaceRsp + 71, // 154: crabs.evening_detective_server.EveningDetectiveServer.UpdateScenarioPlace:output_type -> crabs.evening_detective_server.UpdateScenarioPlaceRsp + 73, // 155: crabs.evening_detective_server.EveningDetectiveServer.DeleteScenarioPlace:output_type -> crabs.evening_detective_server.DeleteScenarioPlaceRsp + 79, // 156: crabs.evening_detective_server.EveningDetectiveServer.AddScenarioQuestion:output_type -> crabs.evening_detective_server.AddScenarioQuestionRsp + 81, // 157: crabs.evening_detective_server.EveningDetectiveServer.UpdateScenarioQuestion:output_type -> crabs.evening_detective_server.UpdateScenarioQuestionRsp + 83, // 158: crabs.evening_detective_server.EveningDetectiveServer.DeleteScenarioQuestion:output_type -> crabs.evening_detective_server.DeleteScenarioQuestionRsp + 153, // 159: crabs.evening_detective_server.EveningDetectiveServer.UpdateScenarioBackground:output_type -> crabs.evening_detective_server.UpdateScenarioBackgroundRsp + 77, // 160: crabs.evening_detective_server.EveningDetectiveServer.UpdateScenarioIntro:output_type -> crabs.evening_detective_server.UpdateScenarioIntroRsp + 75, // 161: crabs.evening_detective_server.EveningDetectiveServer.UpdateScenarioConclusion:output_type -> crabs.evening_detective_server.UpdateScenarioConclusionRsp + 155, // 162: crabs.evening_detective_server.EveningDetectiveServer.DownloadScenarioArchive:output_type -> google.api.HttpBody + 85, // 163: crabs.evening_detective_server.EveningDetectiveServer.UploadScenarioArchive:output_type -> crabs.evening_detective_server.UploadScenarioArchiveRsp + 87, // 164: crabs.evening_detective_server.EveningDetectiveServer.AddGame:output_type -> crabs.evening_detective_server.AddGameRsp + 89, // 165: crabs.evening_detective_server.EveningDetectiveServer.GetGames:output_type -> crabs.evening_detective_server.GetGamesRsp + 110, // 166: crabs.evening_detective_server.EveningDetectiveServer.GetGame:output_type -> crabs.evening_detective_server.GetGameRsp + 93, // 167: crabs.evening_detective_server.EveningDetectiveServer.CreateScreenSession:output_type -> crabs.evening_detective_server.CreateScreenSessionRsp + 95, // 168: crabs.evening_detective_server.EveningDetectiveServer.GetScreenState:output_type -> crabs.evening_detective_server.GetScreenStateRsp + 97, // 169: crabs.evening_detective_server.EveningDetectiveServer.GetGameScreens:output_type -> crabs.evening_detective_server.GetGameScreensRsp + 99, // 170: crabs.evening_detective_server.EveningDetectiveServer.BindScreen:output_type -> crabs.evening_detective_server.BindScreenRsp + 101, // 171: crabs.evening_detective_server.EveningDetectiveServer.UnbindScreen:output_type -> crabs.evening_detective_server.UnbindScreenRsp + 103, // 172: crabs.evening_detective_server.EveningDetectiveServer.SetScreenSound:output_type -> crabs.evening_detective_server.SetScreenSoundRsp + 105, // 173: crabs.evening_detective_server.EveningDetectiveServer.SetScreenMode:output_type -> crabs.evening_detective_server.SetScreenModeRsp + 107, // 174: crabs.evening_detective_server.EveningDetectiveServer.SendScreenCommand:output_type -> crabs.evening_detective_server.SendScreenCommandRsp + 155, // 175: crabs.evening_detective_server.EveningDetectiveServer.DownloadTeamQR:output_type -> google.api.HttpBody + 112, // 176: crabs.evening_detective_server.EveningDetectiveServer.GetGameAnswers:output_type -> crabs.evening_detective_server.GetGameAnswersRsp + 116, // 177: crabs.evening_detective_server.EveningDetectiveServer.GetGameResults:output_type -> crabs.evening_detective_server.GetGameResultsRsp + 118, // 178: crabs.evening_detective_server.EveningDetectiveServer.UpdateGame:output_type -> crabs.evening_detective_server.UpdateGameRsp + 120, // 179: crabs.evening_detective_server.EveningDetectiveServer.StartGame:output_type -> crabs.evening_detective_server.StartGameRsp + 122, // 180: crabs.evening_detective_server.EveningDetectiveServer.PauseGame:output_type -> crabs.evening_detective_server.PauseGameRsp + 124, // 181: crabs.evening_detective_server.EveningDetectiveServer.PlayGame:output_type -> crabs.evening_detective_server.PlayGameRsp + 126, // 182: crabs.evening_detective_server.EveningDetectiveServer.FinishGame:output_type -> crabs.evening_detective_server.FinishGameRsp + 128, // 183: crabs.evening_detective_server.EveningDetectiveServer.ResetGame:output_type -> crabs.evening_detective_server.ResetGameRsp + 130, // 184: crabs.evening_detective_server.EveningDetectiveServer.DeleteGame:output_type -> crabs.evening_detective_server.DeleteGameRsp + 132, // 185: crabs.evening_detective_server.EveningDetectiveServer.AddTeam:output_type -> crabs.evening_detective_server.AddTeamRsp + 134, // 186: crabs.evening_detective_server.EveningDetectiveServer.UpdateTeam:output_type -> crabs.evening_detective_server.UpdateTeamRsp + 136, // 187: crabs.evening_detective_server.EveningDetectiveServer.DeleteTeam:output_type -> crabs.evening_detective_server.DeleteTeamRsp + 138, // 188: crabs.evening_detective_server.EveningDetectiveServer.GiveTeamApplications:output_type -> crabs.evening_detective_server.GiveTeamApplicationsRsp + 140, // 189: crabs.evening_detective_server.EveningDetectiveServer.GetTeamStory:output_type -> crabs.evening_detective_server.GetTeamStoryRsp + 143, // 190: crabs.evening_detective_server.EveningDetectiveServer.AddTeamAction:output_type -> crabs.evening_detective_server.AddTeamActionRsp + 145, // 191: crabs.evening_detective_server.EveningDetectiveServer.DeleteLastTeamAction:output_type -> crabs.evening_detective_server.DeleteLastTeamActionRsp + 147, // 192: crabs.evening_detective_server.EveningDetectiveServer.GetTeamAnswers:output_type -> crabs.evening_detective_server.GetTeamAnswersRsp + 149, // 193: crabs.evening_detective_server.EveningDetectiveServer.SubmitTeamAnswers:output_type -> crabs.evening_detective_server.SubmitTeamAnswersRsp + 151, // 194: crabs.evening_detective_server.EveningDetectiveServer.SetTeamAnswerScore:output_type -> crabs.evening_detective_server.SetTeamAnswerScoreRsp + 125, // [125:195] is the sub-list for method output_type + 55, // [55:125] is the sub-list for method input_type + 55, // [55:55] is the sub-list for extension type_name + 55, // [55:55] is the sub-list for extension extendee + 0, // [0:55] is the sub-list for field type_name } func init() { file_main_proto_init() } @@ -8789,14 +9004,14 @@ func file_main_proto_init() { file_main_proto_msgTypes[56].OneofWrappers = []any{} file_main_proto_msgTypes[88].OneofWrappers = []any{} file_main_proto_msgTypes[89].OneofWrappers = []any{} - file_main_proto_msgTypes[144].OneofWrappers = []any{} + file_main_proto_msgTypes[148].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: 2, - NumMessages: 148, + NumMessages: 152, NumExtensions: 0, NumServices: 1, }, diff --git a/proto/main.pb.gw.go b/proto/main.pb.gw.go index e170da8..57dc2b2 100644 --- a/proto/main.pb.gw.go +++ b/proto/main.pb.gw.go @@ -1572,6 +1572,45 @@ func local_request_EveningDetectiveServer_GetScreenState_0(ctx context.Context, return msg, metadata, err } +func request_EveningDetectiveServer_GetGameScreens_0(ctx context.Context, marshaler runtime.Marshaler, client EveningDetectiveServerClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var ( + protoReq GetGameScreensReq + metadata runtime.ServerMetadata + err error + ) + if req.Body != nil { + _, _ = io.Copy(io.Discard, req.Body) + } + val, ok := pathParams["gameId"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "gameId") + } + protoReq.GameId, err = runtime.Int32(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "gameId", err) + } + msg, err := client.GetGameScreens(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) + return msg, metadata, err +} + +func local_request_EveningDetectiveServer_GetGameScreens_0(ctx context.Context, marshaler runtime.Marshaler, server EveningDetectiveServerServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var ( + protoReq GetGameScreensReq + metadata runtime.ServerMetadata + err error + ) + val, ok := pathParams["gameId"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "gameId") + } + protoReq.GameId, err = runtime.Int32(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "gameId", err) + } + msg, err := server.GetGameScreens(ctx, &protoReq) + return msg, metadata, err +} + func request_EveningDetectiveServer_BindScreen_0(ctx context.Context, marshaler runtime.Marshaler, client EveningDetectiveServerClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { var ( protoReq BindScreenReq @@ -1662,6 +1701,51 @@ func local_request_EveningDetectiveServer_UnbindScreen_0(ctx context.Context, ma return msg, metadata, err } +func request_EveningDetectiveServer_SetScreenSound_0(ctx context.Context, marshaler runtime.Marshaler, client EveningDetectiveServerClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var ( + protoReq SetScreenSoundReq + 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["screenId"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "screenId") + } + protoReq.ScreenId, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "screenId", err) + } + msg, err := client.SetScreenSound(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) + return msg, metadata, err +} + +func local_request_EveningDetectiveServer_SetScreenSound_0(ctx context.Context, marshaler runtime.Marshaler, server EveningDetectiveServerServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var ( + protoReq SetScreenSoundReq + 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["screenId"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "screenId") + } + protoReq.ScreenId, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "screenId", err) + } + msg, err := server.SetScreenSound(ctx, &protoReq) + return msg, metadata, err +} + func request_EveningDetectiveServer_SetScreenMode_0(ctx context.Context, marshaler runtime.Marshaler, client EveningDetectiveServerClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { var ( protoReq SetScreenModeReq @@ -3516,6 +3600,26 @@ func RegisterEveningDetectiveServerHandlerServer(ctx context.Context, mux *runti } forward_EveningDetectiveServer_GetScreenState_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) }) + mux.Handle(http.MethodGet, pattern_EveningDetectiveServer_GetGameScreens_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/GetGameScreens", runtime.WithHTTPPathPattern("/api/games/{gameId}/screens")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := local_request_EveningDetectiveServer_GetGameScreens_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_GetGameScreens_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + }) mux.Handle(http.MethodPost, pattern_EveningDetectiveServer_BindScreen_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { ctx, cancel := context.WithCancel(req.Context()) defer cancel() @@ -3556,6 +3660,26 @@ func RegisterEveningDetectiveServerHandlerServer(ctx context.Context, mux *runti } forward_EveningDetectiveServer_UnbindScreen_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) }) + mux.Handle(http.MethodPost, pattern_EveningDetectiveServer_SetScreenSound_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/SetScreenSound", runtime.WithHTTPPathPattern("/api/screens/{screenId}/sound")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := local_request_EveningDetectiveServer_SetScreenSound_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_SetScreenSound_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + }) mux.Handle(http.MethodPost, pattern_EveningDetectiveServer_SetScreenMode_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { ctx, cancel := context.WithCancel(req.Context()) defer cancel() @@ -4784,6 +4908,23 @@ func RegisterEveningDetectiveServerHandlerClient(ctx context.Context, mux *runti } forward_EveningDetectiveServer_GetScreenState_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) }) + mux.Handle(http.MethodGet, pattern_EveningDetectiveServer_GetGameScreens_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/GetGameScreens", runtime.WithHTTPPathPattern("/api/games/{gameId}/screens")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := request_EveningDetectiveServer_GetGameScreens_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_GetGameScreens_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + }) mux.Handle(http.MethodPost, pattern_EveningDetectiveServer_BindScreen_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { ctx, cancel := context.WithCancel(req.Context()) defer cancel() @@ -4818,6 +4959,23 @@ func RegisterEveningDetectiveServerHandlerClient(ctx context.Context, mux *runti } forward_EveningDetectiveServer_UnbindScreen_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) }) + mux.Handle(http.MethodPost, pattern_EveningDetectiveServer_SetScreenSound_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/SetScreenSound", runtime.WithHTTPPathPattern("/api/screens/{screenId}/sound")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := request_EveningDetectiveServer_SetScreenSound_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_SetScreenSound_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + }) mux.Handle(http.MethodPost, pattern_EveningDetectiveServer_SetScreenMode_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { ctx, cancel := context.WithCancel(req.Context()) defer cancel() @@ -5240,8 +5398,10 @@ var ( pattern_EveningDetectiveServer_GetGame_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 1, 0, 4, 1, 5, 2}, []string{"api", "games", "id"}, "")) pattern_EveningDetectiveServer_CreateScreenSession_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1}, []string{"api", "screens"}, "")) pattern_EveningDetectiveServer_GetScreenState_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 2, 2}, []string{"api", "screens", "state"}, "")) + pattern_EveningDetectiveServer_GetGameScreens_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 1, 0, 4, 1, 5, 2, 2, 3}, []string{"api", "games", "gameId", "screens"}, "")) pattern_EveningDetectiveServer_BindScreen_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 1, 0, 4, 1, 5, 2, 2, 3}, []string{"api", "screens", "screenId", "bind"}, "")) pattern_EveningDetectiveServer_UnbindScreen_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 1, 0, 4, 1, 5, 2, 2, 3}, []string{"api", "screens", "screenId", "unbind"}, "")) + pattern_EveningDetectiveServer_SetScreenSound_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 1, 0, 4, 1, 5, 2, 2, 3}, []string{"api", "screens", "screenId", "sound"}, "")) pattern_EveningDetectiveServer_SetScreenMode_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 1, 0, 4, 1, 5, 2, 2, 3, 2, 4}, []string{"api", "games", "gameId", "screens", "mode"}, "")) pattern_EveningDetectiveServer_SendScreenCommand_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 1, 0, 4, 1, 5, 2, 2, 3, 2, 4}, []string{"api", "games", "gameId", "screens", "command"}, "")) pattern_EveningDetectiveServer_DownloadTeamQR_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 1, 0, 4, 1, 5, 2, 2, 3, 2, 4}, []string{"api", "games", "id", "teams", "qr.pdf"}, "")) @@ -5311,8 +5471,10 @@ var ( forward_EveningDetectiveServer_GetGame_0 = runtime.ForwardResponseMessage forward_EveningDetectiveServer_CreateScreenSession_0 = runtime.ForwardResponseMessage forward_EveningDetectiveServer_GetScreenState_0 = runtime.ForwardResponseMessage + forward_EveningDetectiveServer_GetGameScreens_0 = runtime.ForwardResponseMessage forward_EveningDetectiveServer_BindScreen_0 = runtime.ForwardResponseMessage forward_EveningDetectiveServer_UnbindScreen_0 = runtime.ForwardResponseMessage + forward_EveningDetectiveServer_SetScreenSound_0 = runtime.ForwardResponseMessage forward_EveningDetectiveServer_SetScreenMode_0 = runtime.ForwardResponseMessage forward_EveningDetectiveServer_SendScreenCommand_0 = runtime.ForwardResponseMessage forward_EveningDetectiveServer_DownloadTeamQR_0 = runtime.ForwardResponseMessage diff --git a/proto/main_grpc.pb.go b/proto/main_grpc.pb.go index 0991300..416b236 100644 --- a/proto/main_grpc.pb.go +++ b/proto/main_grpc.pb.go @@ -64,8 +64,10 @@ const ( EveningDetectiveServer_GetGame_FullMethodName = "/crabs.evening_detective_server.EveningDetectiveServer/GetGame" EveningDetectiveServer_CreateScreenSession_FullMethodName = "/crabs.evening_detective_server.EveningDetectiveServer/CreateScreenSession" EveningDetectiveServer_GetScreenState_FullMethodName = "/crabs.evening_detective_server.EveningDetectiveServer/GetScreenState" + EveningDetectiveServer_GetGameScreens_FullMethodName = "/crabs.evening_detective_server.EveningDetectiveServer/GetGameScreens" EveningDetectiveServer_BindScreen_FullMethodName = "/crabs.evening_detective_server.EveningDetectiveServer/BindScreen" EveningDetectiveServer_UnbindScreen_FullMethodName = "/crabs.evening_detective_server.EveningDetectiveServer/UnbindScreen" + EveningDetectiveServer_SetScreenSound_FullMethodName = "/crabs.evening_detective_server.EveningDetectiveServer/SetScreenSound" EveningDetectiveServer_SetScreenMode_FullMethodName = "/crabs.evening_detective_server.EveningDetectiveServer/SetScreenMode" EveningDetectiveServer_SendScreenCommand_FullMethodName = "/crabs.evening_detective_server.EveningDetectiveServer/SendScreenCommand" EveningDetectiveServer_DownloadTeamQR_FullMethodName = "/crabs.evening_detective_server.EveningDetectiveServer/DownloadTeamQR" @@ -144,10 +146,12 @@ type EveningDetectiveServerClient interface { CreateScreenSession(ctx context.Context, in *CreateScreenSessionReq, opts ...grpc.CallOption) (*CreateScreenSessionRsp, error) // Получить состояние экрана по его токену. Вызывается самим экраном. GetScreenState(ctx context.Context, in *GetScreenStateReq, opts ...grpc.CallOption) (*GetScreenStateRsp, error) + GetGameScreens(ctx context.Context, in *GetGameScreensReq, opts ...grpc.CallOption) (*GetGameScreensRsp, error) // Привязать экран к игре. Требует авторизацию организатора, автора или администратора. BindScreen(ctx context.Context, in *BindScreenReq, opts ...grpc.CallOption) (*BindScreenRsp, error) // Отвязать экран от игры. Требует авторизацию организатора, автора или администратора. UnbindScreen(ctx context.Context, in *UnbindScreenReq, opts ...grpc.CallOption) (*UnbindScreenRsp, error) + SetScreenSound(ctx context.Context, in *SetScreenSoundReq, opts ...grpc.CallOption) (*SetScreenSoundRsp, error) // Изменить общий режим показа всех экранов игры. SetScreenMode(ctx context.Context, in *SetScreenModeReq, opts ...grpc.CallOption) (*SetScreenModeRsp, error) // Отправить общую команду экранам игры. @@ -622,6 +626,16 @@ func (c *eveningDetectiveServerClient) GetScreenState(ctx context.Context, in *G return out, nil } +func (c *eveningDetectiveServerClient) GetGameScreens(ctx context.Context, in *GetGameScreensReq, opts ...grpc.CallOption) (*GetGameScreensRsp, error) { + cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...) + out := new(GetGameScreensRsp) + err := c.cc.Invoke(ctx, EveningDetectiveServer_GetGameScreens_FullMethodName, in, out, cOpts...) + if err != nil { + return nil, err + } + return out, nil +} + func (c *eveningDetectiveServerClient) BindScreen(ctx context.Context, in *BindScreenReq, opts ...grpc.CallOption) (*BindScreenRsp, error) { cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...) out := new(BindScreenRsp) @@ -642,6 +656,16 @@ func (c *eveningDetectiveServerClient) UnbindScreen(ctx context.Context, in *Unb return out, nil } +func (c *eveningDetectiveServerClient) SetScreenSound(ctx context.Context, in *SetScreenSoundReq, opts ...grpc.CallOption) (*SetScreenSoundRsp, error) { + cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...) + out := new(SetScreenSoundRsp) + err := c.cc.Invoke(ctx, EveningDetectiveServer_SetScreenSound_FullMethodName, in, out, cOpts...) + if err != nil { + return nil, err + } + return out, nil +} + func (c *eveningDetectiveServerClient) SetScreenMode(ctx context.Context, in *SetScreenModeReq, opts ...grpc.CallOption) (*SetScreenModeRsp, error) { cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...) out := new(SetScreenModeRsp) @@ -916,10 +940,12 @@ type EveningDetectiveServerServer interface { CreateScreenSession(context.Context, *CreateScreenSessionReq) (*CreateScreenSessionRsp, error) // Получить состояние экрана по его токену. Вызывается самим экраном. GetScreenState(context.Context, *GetScreenStateReq) (*GetScreenStateRsp, error) + GetGameScreens(context.Context, *GetGameScreensReq) (*GetGameScreensRsp, error) // Привязать экран к игре. Требует авторизацию организатора, автора или администратора. BindScreen(context.Context, *BindScreenReq) (*BindScreenRsp, error) // Отвязать экран от игры. Требует авторизацию организатора, автора или администратора. UnbindScreen(context.Context, *UnbindScreenReq) (*UnbindScreenRsp, error) + SetScreenSound(context.Context, *SetScreenSoundReq) (*SetScreenSoundRsp, error) // Изменить общий режим показа всех экранов игры. SetScreenMode(context.Context, *SetScreenModeReq) (*SetScreenModeRsp, error) // Отправить общую команду экранам игры. @@ -1086,12 +1112,18 @@ func (UnimplementedEveningDetectiveServerServer) CreateScreenSession(context.Con func (UnimplementedEveningDetectiveServerServer) GetScreenState(context.Context, *GetScreenStateReq) (*GetScreenStateRsp, error) { return nil, status.Error(codes.Unimplemented, "method GetScreenState not implemented") } +func (UnimplementedEveningDetectiveServerServer) GetGameScreens(context.Context, *GetGameScreensReq) (*GetGameScreensRsp, error) { + return nil, status.Error(codes.Unimplemented, "method GetGameScreens not implemented") +} func (UnimplementedEveningDetectiveServerServer) BindScreen(context.Context, *BindScreenReq) (*BindScreenRsp, error) { return nil, status.Error(codes.Unimplemented, "method BindScreen not implemented") } func (UnimplementedEveningDetectiveServerServer) UnbindScreen(context.Context, *UnbindScreenReq) (*UnbindScreenRsp, error) { return nil, status.Error(codes.Unimplemented, "method UnbindScreen not implemented") } +func (UnimplementedEveningDetectiveServerServer) SetScreenSound(context.Context, *SetScreenSoundReq) (*SetScreenSoundRsp, error) { + return nil, status.Error(codes.Unimplemented, "method SetScreenSound not implemented") +} func (UnimplementedEveningDetectiveServerServer) SetScreenMode(context.Context, *SetScreenModeReq) (*SetScreenModeRsp, error) { return nil, status.Error(codes.Unimplemented, "method SetScreenMode not implemented") } @@ -1972,6 +2004,24 @@ func _EveningDetectiveServer_GetScreenState_Handler(srv interface{}, ctx context return interceptor(ctx, in, info, handler) } +func _EveningDetectiveServer_GetGameScreens_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(GetGameScreensReq) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(EveningDetectiveServerServer).GetGameScreens(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: EveningDetectiveServer_GetGameScreens_FullMethodName, + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(EveningDetectiveServerServer).GetGameScreens(ctx, req.(*GetGameScreensReq)) + } + return interceptor(ctx, in, info, handler) +} + func _EveningDetectiveServer_BindScreen_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { in := new(BindScreenReq) if err := dec(in); err != nil { @@ -2008,6 +2058,24 @@ func _EveningDetectiveServer_UnbindScreen_Handler(srv interface{}, ctx context.C return interceptor(ctx, in, info, handler) } +func _EveningDetectiveServer_SetScreenSound_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(SetScreenSoundReq) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(EveningDetectiveServerServer).SetScreenSound(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: EveningDetectiveServer_SetScreenSound_FullMethodName, + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(EveningDetectiveServerServer).SetScreenSound(ctx, req.(*SetScreenSoundReq)) + } + return interceptor(ctx, in, info, handler) +} + func _EveningDetectiveServer_SetScreenMode_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { in := new(SetScreenModeReq) if err := dec(in); err != nil { @@ -2587,6 +2655,10 @@ var EveningDetectiveServer_ServiceDesc = grpc.ServiceDesc{ MethodName: "GetScreenState", Handler: _EveningDetectiveServer_GetScreenState_Handler, }, + { + MethodName: "GetGameScreens", + Handler: _EveningDetectiveServer_GetGameScreens_Handler, + }, { MethodName: "BindScreen", Handler: _EveningDetectiveServer_BindScreen_Handler, @@ -2595,6 +2667,10 @@ var EveningDetectiveServer_ServiceDesc = grpc.ServiceDesc{ MethodName: "UnbindScreen", Handler: _EveningDetectiveServer_UnbindScreen_Handler, }, + { + MethodName: "SetScreenSound", + Handler: _EveningDetectiveServer_SetScreenSound_Handler, + }, { MethodName: "SetScreenMode", Handler: _EveningDetectiveServer_SetScreenMode_Handler,