generated from VLADIMIR/template
add cover
This commit is contained in:
+20
-2
@@ -95,7 +95,9 @@ func (s *server) GetScreenState(ctx context.Context, req *proto.GetScreenStateRe
|
||||
if err != nil {
|
||||
return nil, status.Error(codes.Internal, "не удалось получить состояние экрана")
|
||||
}
|
||||
return &proto.GetScreenStateRsp{State: screenState(session)}, nil
|
||||
state := screenState(session)
|
||||
s.enrichScreenState(ctx, session, state)
|
||||
return &proto.GetScreenStateRsp{State: state}, nil
|
||||
}
|
||||
|
||||
func (s *server) GetGameScreens(ctx context.Context, req *proto.GetGameScreensReq) (*proto.GetGameScreensRsp, error) {
|
||||
@@ -144,7 +146,9 @@ func (s *server) BindScreen(ctx context.Context, req *proto.BindScreenReq) (*pro
|
||||
if err != nil {
|
||||
return nil, status.Error(codes.Internal, "не удалось получить состояние экрана")
|
||||
}
|
||||
return &proto.BindScreenRsp{State: screenState(session)}, nil
|
||||
state := screenState(session)
|
||||
s.enrichScreenState(ctx, session, state)
|
||||
return &proto.BindScreenRsp{State: state}, nil
|
||||
}
|
||||
|
||||
func (s *server) UnbindScreen(ctx context.Context, req *proto.UnbindScreenReq) (*proto.UnbindScreenRsp, error) {
|
||||
@@ -291,6 +295,20 @@ func screenState(session *screen_sessions_repo.ScreenSession) *proto.ScreenState
|
||||
return state
|
||||
}
|
||||
|
||||
func (s *server) enrichScreenState(ctx context.Context, session *screen_sessions_repo.ScreenSession, state *proto.ScreenState) {
|
||||
if session.GameID == nil {
|
||||
return
|
||||
}
|
||||
game, err := s.gameService.GetFullGame(ctx, *session.GameID)
|
||||
if err != nil {
|
||||
return
|
||||
}
|
||||
state.GameName = game.Name
|
||||
if game.Scenario != nil && game.Scenario.Image != nil {
|
||||
state.CoverImage = *game.Scenario.Image
|
||||
}
|
||||
}
|
||||
|
||||
func (s *server) SetScreenMode(ctx context.Context, req *proto.SetScreenModeReq) (*proto.SetScreenModeRsp, error) {
|
||||
if !canManageScreens(ctx) {
|
||||
return nil, status.Error(codes.PermissionDenied, "permission denied")
|
||||
|
||||
Reference in New Issue
Block a user