updates proto

This commit is contained in:
2026-10-01 14:19:43 +07:00
parent 1887b5b9a1
commit d9c5ca2956
27 changed files with 1897 additions and 1872 deletions
+28 -28
View File
@@ -26,14 +26,14 @@ func (s *server) CreateScreenSession(ctx context.Context, _ *proto.CreateScreenS
if err != nil {
return nil, status.Error(codes.Internal, "не удалось создать сессию экрана")
}
return &proto.CreateScreenSessionRsp{ScreenId: fmt.Sprint(id), AccessToken: token}, nil
return &proto.CreateScreenSessionRsp{ScreenID: fmt.Sprint(id), AccessToken: token}, nil
}
func (s *server) GetScreenState(ctx context.Context, req *proto.GetScreenStateReq) (*proto.GetScreenStateRsp, error) {
if req == nil || req.ScreenId == "" || req.AccessToken == "" {
if req == nil || req.ScreenID == "" || req.AccessToken == "" {
return nil, status.Error(codes.InvalidArgument, "некорректные данные экрана")
}
id, err := strconv.Atoi(req.ScreenId)
id, err := strconv.Atoi(req.ScreenID)
if err != nil || id <= 0 {
return nil, status.Error(codes.InvalidArgument, "некорректный идентификатор экрана")
}
@@ -53,13 +53,13 @@ func (s *server) GetGameScreens(ctx context.Context, req *proto.GetGameScreensRe
if !canManageScreens(ctx) {
return nil, status.Error(codes.PermissionDenied, "permission denied")
}
if req == nil || req.GameId <= 0 {
if req == nil || req.GameID <= 0 {
return nil, status.Error(codes.InvalidArgument, "некорректный идентификатор игры")
}
if _, err := s.gameService.GetGame(ctx, int(req.GameId)); err != nil {
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))
sessions, err := s.screenRepo.ListByGame(ctx, int(req.GameID))
if err != nil {
return nil, status.Error(codes.Internal, "не удалось получить экраны игры")
}
@@ -76,18 +76,18 @@ func (s *server) BindScreen(ctx context.Context, req *proto.BindScreenReq) (*pro
if !canManageScreens(ctx) {
return nil, status.Error(codes.PermissionDenied, "permission denied")
}
if req == nil || req.ScreenId == "" || req.AccessToken == "" || req.GameId <= 0 {
if req == nil || req.ScreenID == "" || req.AccessToken == "" || req.GameID <= 0 {
return nil, status.Error(codes.InvalidArgument, "некорректные данные привязки")
}
id, err := strconv.Atoi(req.ScreenId)
id, err := strconv.Atoi(req.ScreenID)
if err != nil || id <= 0 {
return nil, status.Error(codes.InvalidArgument, "некорректный идентификатор экрана")
}
if _, err = s.gameService.GetGame(ctx, int(req.GameId)); err != nil {
if _, err = s.gameService.GetGame(ctx, int(req.GameID)); err != nil {
return nil, status.Error(codes.NotFound, "игра не найдена")
}
hash := hashScreenToken(req.AccessToken)
if err = s.screenRepo.Bind(ctx, id, int(req.GameId), hash); err != nil {
if err = s.screenRepo.Bind(ctx, id, int(req.GameID), hash); err != nil {
if errors.Is(err, screen_sessions_repo.ErrScreenNotFound) {
return nil, status.Error(codes.Unauthenticated, "недействительная сессия экрана")
}
@@ -106,10 +106,10 @@ func (s *server) UnbindScreen(ctx context.Context, req *proto.UnbindScreenReq) (
if !canManageScreens(ctx) {
return nil, status.Error(codes.PermissionDenied, "permission denied")
}
if req == nil || req.ScreenId == "" {
if req == nil || req.ScreenID == "" {
return nil, status.Error(codes.InvalidArgument, "некорректный идентификатор экрана")
}
id, err := strconv.Atoi(req.ScreenId)
id, err := strconv.Atoi(req.ScreenID)
if err != nil || id <= 0 {
return nil, status.Error(codes.InvalidArgument, "некорректный идентификатор экрана")
}
@@ -126,10 +126,10 @@ func (s *server) SetScreenSound(ctx context.Context, req *proto.SetScreenSoundRe
if !canManageScreens(ctx) {
return nil, status.Error(codes.PermissionDenied, "permission denied")
}
if req == nil || req.ScreenId == "" {
if req == nil || req.ScreenID == "" {
return nil, status.Error(codes.InvalidArgument, "некорректный идентификатор экрана")
}
id, err := strconv.Atoi(req.ScreenId)
id, err := strconv.Atoi(req.ScreenID)
if err != nil || id <= 0 {
return nil, status.Error(codes.InvalidArgument, "некорректный идентификатор экрана")
}
@@ -167,7 +167,7 @@ func screenState(session *screen_sessions_repo.ScreenSession) *proto.ScreenState
}
}
state := &proto.ScreenState{
Id: fmt.Sprint(session.ID),
ID: fmt.Sprint(session.ID),
Status: "disconnected",
SoundEnabled: session.Sound,
Mode: proto.ScreenMode(session.Mode),
@@ -185,7 +185,7 @@ func screenState(session *screen_sessions_repo.ScreenSession) *proto.ScreenState
}
if session.GameID != nil {
gameID := int32(*session.GameID)
state.GameId = &gameID
state.GameID = &gameID
if state.Mode == proto.ScreenMode_SCREEN_MODE_UNSPECIFIED {
state.Mode = proto.ScreenMode_SCREEN_MODE_COVER
}
@@ -223,13 +223,13 @@ func (s *server) SetScreenMode(ctx context.Context, req *proto.SetScreenModeReq)
if !canManageScreens(ctx) {
return nil, status.Error(codes.PermissionDenied, "permission denied")
}
if req == nil || req.GameId <= 0 || req.Mode == proto.ScreenMode_SCREEN_MODE_UNSPECIFIED {
if req == nil || req.GameID <= 0 || req.Mode == proto.ScreenMode_SCREEN_MODE_UNSPECIFIED {
return nil, status.Error(codes.InvalidArgument, "некорректный режим экрана")
}
if _, err := s.gameService.GetGame(ctx, int(req.GameId)); err != nil {
if _, err := s.gameService.GetGame(ctx, int(req.GameID)); err != nil {
return nil, status.Error(codes.NotFound, "игра не найдена")
}
if err := s.screenRepo.SetMode(ctx, int(req.GameId), int32(req.Mode)); err != nil {
if err := s.screenRepo.SetMode(ctx, int(req.GameID), int32(req.Mode)); err != nil {
return nil, status.Error(codes.Internal, "не удалось изменить режим экранов")
}
return &proto.SetScreenModeRsp{}, nil
@@ -239,7 +239,7 @@ func (s *server) SetScreenTimer(ctx context.Context, req *proto.SetScreenTimerRe
if !canManageScreens(ctx) {
return nil, status.Error(codes.PermissionDenied, "permission denied")
}
if req == nil || req.GameId <= 0 || req.DurationSeconds <= 0 || req.DurationSeconds > 24*60*60 {
if req == nil || req.GameID <= 0 || req.DurationSeconds <= 0 || req.DurationSeconds > 24*60*60 {
return nil, status.Error(codes.InvalidArgument, "некорректные параметры таймера")
}
label := strings.TrimSpace(req.Label)
@@ -249,10 +249,10 @@ func (s *server) SetScreenTimer(ctx context.Context, req *proto.SetScreenTimerRe
if len(label) > 200 {
return nil, status.Error(codes.InvalidArgument, "слишком длинная надпись таймера")
}
if _, err := s.gameService.GetGame(ctx, int(req.GameId)); err != nil {
if _, err := s.gameService.GetGame(ctx, int(req.GameID)); err != nil {
return nil, status.Error(codes.NotFound, "игра не найдена")
}
if err := s.screenRepo.SetTimer(ctx, int(req.GameId), req.DurationSeconds, label); err != nil {
if err := s.screenRepo.SetTimer(ctx, int(req.GameID), req.DurationSeconds, label); err != nil {
return nil, status.Error(codes.Internal, "не удалось настроить таймер экранов")
}
return &proto.SetScreenTimerRsp{}, nil
@@ -262,14 +262,14 @@ func (s *server) SendScreenCommand(ctx context.Context, req *proto.SendScreenCom
if !canManageScreens(ctx) {
return nil, status.Error(codes.PermissionDenied, "permission denied")
}
if req == nil || req.GameId <= 0 || req.Command == proto.ScreenCommand_SCREEN_COMMAND_UNSPECIFIED {
if req == nil || req.GameID <= 0 || req.Command == proto.ScreenCommand_SCREEN_COMMAND_UNSPECIFIED {
return nil, status.Error(codes.InvalidArgument, "некорректная команда экрана")
}
if _, err := s.gameService.GetGame(ctx, int(req.GameId)); err != nil {
if _, err := s.gameService.GetGame(ctx, int(req.GameID)); err != nil {
return nil, status.Error(codes.NotFound, "игра не найдена")
}
if isTimerCommand(req.Command) {
if err := s.screenRepo.SetTimerCommand(ctx, int(req.GameId), int32(req.Command)); err != nil {
if err := s.screenRepo.SetTimerCommand(ctx, int(req.GameID), int32(req.Command)); err != nil {
return nil, status.Error(codes.Internal, "не удалось выполнить команду таймера")
}
return &proto.SendScreenCommandRsp{}, nil
@@ -280,7 +280,7 @@ func (s *server) SendScreenCommand(ctx context.Context, req *proto.SendScreenCom
if req.Volume < 0 || req.Volume > 100 {
return nil, status.Error(codes.InvalidArgument, "некорректная громкость")
}
if err := s.screenRepo.SetCommand(ctx, int(req.GameId), int32(req.Command), req.PositionMs, req.Volume); err != nil {
if err := s.screenRepo.SetCommand(ctx, int(req.GameID), int32(req.Command), req.PositionMs, req.Volume); err != nil {
return nil, status.Error(codes.Internal, "не удалось сохранить позицию экранов")
}
return &proto.SendScreenCommandRsp{}, nil
@@ -291,10 +291,10 @@ func isTimerCommand(command proto.ScreenCommand) bool {
}
func (s *server) GetScreenResults(ctx context.Context, req *proto.GetScreenResultsReq) (*proto.GetScreenResultsRsp, error) {
if req == nil || req.ScreenId == "" || req.AccessToken == "" {
if req == nil || req.ScreenID == "" || req.AccessToken == "" {
return nil, status.Error(codes.InvalidArgument, "некорректные данные экрана")
}
id, err := strconv.Atoi(req.ScreenId)
id, err := strconv.Atoi(req.ScreenID)
if err != nil || id <= 0 {
return nil, status.Error(codes.InvalidArgument, "некорректный идентификатор экрана")
}