add screen api

This commit is contained in:
2026-09-10 02:19:51 +07:00
parent 27b7a8acdf
commit 79bd3e2cf8
7 changed files with 2715 additions and 460 deletions
+167
View File
@@ -498,6 +498,84 @@ service EveningDetectiveServer {
};
}
// Создать сессию экрана. Экран получает токен и показывает QR для привязки.
rpc CreateScreenSession(CreateScreenSessionReq) returns (CreateScreenSessionRsp) {
option (google.api.http) = {
post: "/api/screens"
body: "*"
};
option (grpc.gateway.protoc_gen_openapiv2.options.openapiv2_operation) = {
security: {
security_requirement: {}
}
tags : "Экраны";
summary: "Создать сессию экрана";
};
}
// Получить состояние экрана по его токену. Вызывается самим экраном.
rpc GetScreenState(GetScreenStateReq) returns (GetScreenStateRsp) {
option (google.api.http) = {
post: "/api/screens/state"
body: "*"
};
option (grpc.gateway.protoc_gen_openapiv2.options.openapiv2_operation) = {
security: {
security_requirement: {}
}
tags : "Экраны";
summary: "Получить состояние экрана";
};
}
// Привязать экран к игре. Требует авторизацию организатора, автора или администратора.
rpc BindScreen(BindScreenReq) returns (BindScreenRsp) {
option (google.api.http) = {
post: "/api/screens/{screenId}/bind"
body: "*"
};
option (grpc.gateway.protoc_gen_openapiv2.options.openapiv2_operation) = {
tags : "Экраны";
summary: "Привязать экран к игре";
};
}
// Отвязать экран от игры. Требует авторизацию организатора, автора или администратора.
rpc UnbindScreen(UnbindScreenReq) returns (UnbindScreenRsp) {
option (google.api.http) = {
post: "/api/screens/{screenId}/unbind"
body: "*"
};
option (grpc.gateway.protoc_gen_openapiv2.options.openapiv2_operation) = {
tags : "Экраны";
summary: "Отвязать экран от игры";
};
}
// Изменить общий режим показа всех экранов игры.
rpc SetScreenMode(SetScreenModeReq) returns (SetScreenModeRsp) {
option (google.api.http) = {
post: "/api/games/{gameId}/screens/mode"
body: "*"
};
option (grpc.gateway.protoc_gen_openapiv2.options.openapiv2_operation) = {
tags : "Экраны";
summary: "Изменить режим показа экранов";
};
}
// Отправить общую команду экранам игры.
rpc SendScreenCommand(SendScreenCommandReq) returns (SendScreenCommandRsp) {
option (google.api.http) = {
post: "/api/games/{gameId}/screens/command"
body: "*"
};
option (grpc.gateway.protoc_gen_openapiv2.options.openapiv2_operation) = {
tags : "Экраны";
summary: "Отправить команду экранам";
};
}
rpc DownloadTeamQR(GetGameReq) returns (google.api.HttpBody) {
option (google.api.http) = {
get: "/api/games/{id}/teams/qr.pdf"
@@ -1168,6 +1246,95 @@ message Game {
optional google.protobuf.Timestamp ended_at = 9;
}
enum ScreenMode {
SCREEN_MODE_UNSPECIFIED = 0;
SCREEN_MODE_COVER = 1;
SCREEN_MODE_INTRO = 2;
SCREEN_MODE_INTRO_DONE = 3;
SCREEN_MODE_CONCLUSION = 4;
SCREEN_MODE_CONCLUSION_DONE = 5;
SCREEN_MODE_RESULTS = 6;
}
enum ScreenCommand {
SCREEN_COMMAND_UNSPECIFIED = 0;
SCREEN_COMMAND_PLAY = 1;
SCREEN_COMMAND_PAUSE = 2;
SCREEN_COMMAND_RESUME = 3;
SCREEN_COMMAND_STOP = 4;
SCREEN_COMMAND_REPLAY = 5;
SCREEN_COMMAND_SEEK = 6;
SCREEN_COMMAND_VOLUME = 7;
}
message ScreenState {
string id = 1;
string status = 2;
optional int32 game_id = 3;
ScreenMode mode = 4;
bool sound_enabled = 5;
string error = 6;
int64 state_version = 7;
int64 position_ms = 8;
}
message CreateScreenSessionReq {}
message CreateScreenSessionRsp {
string error = 1;
string screen_id = 2;
string access_token = 3;
}
message GetScreenStateReq {
string screenId = 1;
string accessToken = 2;
}
message GetScreenStateRsp {
string error = 1;
ScreenState state = 2;
}
message BindScreenReq {
string screenId = 1;
string accessToken = 2;
int32 gameId = 3;
}
message BindScreenRsp {
string error = 1;
ScreenState state = 2;
}
message UnbindScreenReq {
string screenId = 1;
}
message UnbindScreenRsp {
string error = 1;
}
message SetScreenModeReq {
int32 gameId = 1;
ScreenMode mode = 2;
}
message SetScreenModeRsp {
string error = 1;
}
message SendScreenCommandReq {
int32 gameId = 1;
ScreenCommand command = 2;
int64 position_ms = 3;
int32 volume = 4;
}
message SendScreenCommandRsp {
string error = 1;
}
message Team {
int32 id = 1;
string name = 2;
Binary file not shown.
@@ -420,6 +420,86 @@
]
}
},
"/api/games/{gameId}/screens/command": {
"post": {
"summary": "Отправить команду экранам",
"operationId": "EveningDetectiveServer_SendScreenCommand",
"responses": {
"200": {
"description": "A successful response.",
"schema": {
"$ref": "#/definitions/evening_detective_serverSendScreenCommandRsp"
}
},
"default": {
"description": "An unexpected error response.",
"schema": {
"$ref": "#/definitions/rpcStatus"
}
}
},
"parameters": [
{
"name": "gameId",
"in": "path",
"required": true,
"type": "integer",
"format": "int32"
},
{
"name": "body",
"in": "body",
"required": true,
"schema": {
"$ref": "#/definitions/EveningDetectiveServerSendScreenCommandBody"
}
}
],
"tags": [
"Экраны"
]
}
},
"/api/games/{gameId}/screens/mode": {
"post": {
"summary": "Изменить режим показа экранов",
"operationId": "EveningDetectiveServer_SetScreenMode",
"responses": {
"200": {
"description": "A successful response.",
"schema": {
"$ref": "#/definitions/evening_detective_serverSetScreenModeRsp"
}
},
"default": {
"description": "An unexpected error response.",
"schema": {
"$ref": "#/definitions/rpcStatus"
}
}
},
"parameters": [
{
"name": "gameId",
"in": "path",
"required": true,
"type": "integer",
"format": "int32"
},
{
"name": "body",
"in": "body",
"required": true,
"schema": {
"$ref": "#/definitions/EveningDetectiveServerSetScreenModeBody"
}
}
],
"tags": [
"Экраны"
]
}
},
"/api/games/{id}": {
"get": {
"summary": "Получить игру",
@@ -1473,6 +1553,160 @@
]
}
},
"/api/screens": {
"post": {
"summary": "Создать сессию экрана",
"operationId": "EveningDetectiveServer_CreateScreenSession",
"responses": {
"200": {
"description": "A successful response.",
"schema": {
"$ref": "#/definitions/evening_detective_serverCreateScreenSessionRsp"
}
},
"default": {
"description": "An unexpected error response.",
"schema": {
"$ref": "#/definitions/rpcStatus"
}
}
},
"parameters": [
{
"name": "body",
"in": "body",
"required": true,
"schema": {
"$ref": "#/definitions/evening_detective_serverCreateScreenSessionReq"
}
}
],
"tags": [
"Экраны"
],
"security": [
{
"": []
}
]
}
},
"/api/screens/state": {
"post": {
"summary": "Получить состояние экрана",
"operationId": "EveningDetectiveServer_GetScreenState",
"responses": {
"200": {
"description": "A successful response.",
"schema": {
"$ref": "#/definitions/evening_detective_serverGetScreenStateRsp"
}
},
"default": {
"description": "An unexpected error response.",
"schema": {
"$ref": "#/definitions/rpcStatus"
}
}
},
"parameters": [
{
"name": "body",
"in": "body",
"required": true,
"schema": {
"$ref": "#/definitions/evening_detective_serverGetScreenStateReq"
}
}
],
"tags": [
"Экраны"
],
"security": [
{
"": []
}
]
}
},
"/api/screens/{screenId}/bind": {
"post": {
"summary": "Привязать экран к игре",
"operationId": "EveningDetectiveServer_BindScreen",
"responses": {
"200": {
"description": "A successful response.",
"schema": {
"$ref": "#/definitions/evening_detective_serverBindScreenRsp"
}
},
"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/EveningDetectiveServerBindScreenBody"
}
}
],
"tags": [
"Экраны"
]
}
},
"/api/screens/{screenId}/unbind": {
"post": {
"summary": "Отвязать экран от игры",
"operationId": "EveningDetectiveServer_UnbindScreen",
"responses": {
"200": {
"description": "A successful response.",
"schema": {
"$ref": "#/definitions/evening_detective_serverUnbindScreenRsp"
}
},
"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/EveningDetectiveServerUnbindScreenBody"
}
}
],
"tags": [
"Экраны"
]
}
},
"/api/teams": {
"post": {
"summary": "Создать команду",
@@ -2214,6 +2448,18 @@
}
}
},
"EveningDetectiveServerBindScreenBody": {
"type": "object",
"properties": {
"accessToken": {
"type": "string"
},
"gameId": {
"type": "integer",
"format": "int32"
}
}
},
"EveningDetectiveServerChangeUserPasswordBody": {
"type": "object",
"properties": {
@@ -2256,6 +2502,30 @@
"EveningDetectiveServerResetGameBody": {
"type": "object"
},
"EveningDetectiveServerSendScreenCommandBody": {
"type": "object",
"properties": {
"command": {
"$ref": "#/definitions/evening_detective_serverScreenCommand"
},
"positionMs": {
"type": "string",
"format": "int64"
},
"volume": {
"type": "integer",
"format": "int32"
}
}
},
"EveningDetectiveServerSetScreenModeBody": {
"type": "object",
"properties": {
"mode": {
"$ref": "#/definitions/evening_detective_serverScreenMode"
}
}
},
"EveningDetectiveServerSetTeamAnswerScoreBody": {
"type": "object",
"properties": {
@@ -2284,6 +2554,9 @@
}
}
},
"EveningDetectiveServerUnbindScreenBody": {
"type": "object"
},
"EveningDetectiveServerUpdateGameBody": {
"type": "object",
"properties": {
@@ -2544,6 +2817,17 @@
}
}
},
"evening_detective_serverBindScreenRsp": {
"type": "object",
"properties": {
"error": {
"type": "string"
},
"state": {
"$ref": "#/definitions/evening_detective_serverScreenState"
}
}
},
"evening_detective_serverChangeUserPasswordRsp": {
"type": "object"
},
@@ -2558,6 +2842,23 @@
}
}
},
"evening_detective_serverCreateScreenSessionReq": {
"type": "object"
},
"evening_detective_serverCreateScreenSessionRsp": {
"type": "object",
"properties": {
"error": {
"type": "string"
},
"screenId": {
"type": "string"
},
"accessToken": {
"type": "string"
}
}
},
"evening_detective_serverDeleteAccountRsp": {
"type": "object",
"properties": {
@@ -2862,6 +3163,28 @@
}
}
},
"evening_detective_serverGetScreenStateReq": {
"type": "object",
"properties": {
"screenId": {
"type": "string"
},
"accessToken": {
"type": "string"
}
}
},
"evening_detective_serverGetScreenStateRsp": {
"type": "object",
"properties": {
"error": {
"type": "string"
},
"state": {
"$ref": "#/definitions/evening_detective_serverScreenState"
}
}
},
"evening_detective_serverGetTeamAnswersRsp": {
"type": "object",
"properties": {
@@ -3170,6 +3493,81 @@
}
}
},
"evening_detective_serverScreenCommand": {
"type": "string",
"enum": [
"SCREEN_COMMAND_UNSPECIFIED",
"SCREEN_COMMAND_PLAY",
"SCREEN_COMMAND_PAUSE",
"SCREEN_COMMAND_RESUME",
"SCREEN_COMMAND_STOP",
"SCREEN_COMMAND_REPLAY",
"SCREEN_COMMAND_SEEK",
"SCREEN_COMMAND_VOLUME"
],
"default": "SCREEN_COMMAND_UNSPECIFIED"
},
"evening_detective_serverScreenMode": {
"type": "string",
"enum": [
"SCREEN_MODE_UNSPECIFIED",
"SCREEN_MODE_COVER",
"SCREEN_MODE_INTRO",
"SCREEN_MODE_INTRO_DONE",
"SCREEN_MODE_CONCLUSION",
"SCREEN_MODE_CONCLUSION_DONE",
"SCREEN_MODE_RESULTS"
],
"default": "SCREEN_MODE_UNSPECIFIED"
},
"evening_detective_serverScreenState": {
"type": "object",
"properties": {
"id": {
"type": "string"
},
"status": {
"type": "string"
},
"gameId": {
"type": "integer",
"format": "int32"
},
"mode": {
"$ref": "#/definitions/evening_detective_serverScreenMode"
},
"soundEnabled": {
"type": "boolean"
},
"error": {
"type": "string"
},
"stateVersion": {
"type": "string",
"format": "int64"
},
"positionMs": {
"type": "string",
"format": "int64"
}
}
},
"evening_detective_serverSendScreenCommandRsp": {
"type": "object",
"properties": {
"error": {
"type": "string"
}
}
},
"evening_detective_serverSetScreenModeRsp": {
"type": "object",
"properties": {
"error": {
"type": "string"
}
}
},
"evening_detective_serverSetTeamAnswerScoreRsp": {
"type": "object",
"properties": {
@@ -3335,6 +3733,14 @@
},
"description": "Строка итоговой таблицы: команда, баллы по вопросам, сумма и место."
},
"evening_detective_serverUnbindScreenRsp": {
"type": "object",
"properties": {
"error": {
"type": "string"
}
}
},
"evening_detective_serverUpdateGameRsp": {
"type": "object",
"properties": {
+24
View File
@@ -58,6 +58,30 @@ func NewServer(
}
}
func (s *server) CreateScreenSession(context.Context, *proto.CreateScreenSessionReq) (*proto.CreateScreenSessionRsp, error) {
panic("CreateScreenSession is not implemented")
}
func (s *server) GetScreenState(context.Context, *proto.GetScreenStateReq) (*proto.GetScreenStateRsp, error) {
panic("GetScreenState is not implemented")
}
func (s *server) BindScreen(context.Context, *proto.BindScreenReq) (*proto.BindScreenRsp, error) {
panic("BindScreen is not implemented")
}
func (s *server) UnbindScreen(context.Context, *proto.UnbindScreenReq) (*proto.UnbindScreenRsp, error) {
panic("UnbindScreen is not implemented")
}
func (s *server) SetScreenMode(context.Context, *proto.SetScreenModeReq) (*proto.SetScreenModeRsp, error) {
panic("SetScreenMode is not implemented")
}
func (s *server) SendScreenCommand(context.Context, *proto.SendScreenCommandReq) (*proto.SendScreenCommandRsp, error) {
panic("SendScreenCommand is not implemented")
}
func (s *server) Ping(_ context.Context, _ *proto.PingReq) (*proto.PingRsp, error) {
return &proto.PingRsp{}, nil
}
+1410 -460
View File
File diff suppressed because it is too large Load Diff
+468
View File
@@ -1518,6 +1518,240 @@ func local_request_EveningDetectiveServer_GetGame_0(ctx context.Context, marshal
return msg, metadata, err
}
func request_EveningDetectiveServer_CreateScreenSession_0(ctx context.Context, marshaler runtime.Marshaler, client EveningDetectiveServerClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) {
var (
protoReq CreateScreenSessionReq
metadata runtime.ServerMetadata
)
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)
}
msg, err := client.CreateScreenSession(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD))
return msg, metadata, err
}
func local_request_EveningDetectiveServer_CreateScreenSession_0(ctx context.Context, marshaler runtime.Marshaler, server EveningDetectiveServerServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) {
var (
protoReq CreateScreenSessionReq
metadata runtime.ServerMetadata
)
if err := marshaler.NewDecoder(req.Body).Decode(&protoReq); err != nil && !errors.Is(err, io.EOF) {
return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err)
}
msg, err := server.CreateScreenSession(ctx, &protoReq)
return msg, metadata, err
}
func request_EveningDetectiveServer_GetScreenState_0(ctx context.Context, marshaler runtime.Marshaler, client EveningDetectiveServerClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) {
var (
protoReq GetScreenStateReq
metadata runtime.ServerMetadata
)
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)
}
msg, err := client.GetScreenState(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD))
return msg, metadata, err
}
func local_request_EveningDetectiveServer_GetScreenState_0(ctx context.Context, marshaler runtime.Marshaler, server EveningDetectiveServerServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) {
var (
protoReq GetScreenStateReq
metadata runtime.ServerMetadata
)
if err := marshaler.NewDecoder(req.Body).Decode(&protoReq); err != nil && !errors.Is(err, io.EOF) {
return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err)
}
msg, err := server.GetScreenState(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
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.BindScreen(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD))
return msg, metadata, err
}
func local_request_EveningDetectiveServer_BindScreen_0(ctx context.Context, marshaler runtime.Marshaler, server EveningDetectiveServerServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) {
var (
protoReq BindScreenReq
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.BindScreen(ctx, &protoReq)
return msg, metadata, err
}
func request_EveningDetectiveServer_UnbindScreen_0(ctx context.Context, marshaler runtime.Marshaler, client EveningDetectiveServerClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) {
var (
protoReq UnbindScreenReq
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.UnbindScreen(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD))
return msg, metadata, err
}
func local_request_EveningDetectiveServer_UnbindScreen_0(ctx context.Context, marshaler runtime.Marshaler, server EveningDetectiveServerServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) {
var (
protoReq UnbindScreenReq
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.UnbindScreen(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
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["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.SetScreenMode(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD))
return msg, metadata, err
}
func local_request_EveningDetectiveServer_SetScreenMode_0(ctx context.Context, marshaler runtime.Marshaler, server EveningDetectiveServerServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) {
var (
protoReq SetScreenModeReq
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["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.SetScreenMode(ctx, &protoReq)
return msg, metadata, err
}
func request_EveningDetectiveServer_SendScreenCommand_0(ctx context.Context, marshaler runtime.Marshaler, client EveningDetectiveServerClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) {
var (
protoReq SendScreenCommandReq
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["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.SendScreenCommand(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD))
return msg, metadata, err
}
func local_request_EveningDetectiveServer_SendScreenCommand_0(ctx context.Context, marshaler runtime.Marshaler, server EveningDetectiveServerServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) {
var (
protoReq SendScreenCommandReq
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["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.SendScreenCommand(ctx, &protoReq)
return msg, metadata, err
}
func request_EveningDetectiveServer_DownloadTeamQR_0(ctx context.Context, marshaler runtime.Marshaler, client EveningDetectiveServerClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) {
var (
protoReq GetGameReq
@@ -3242,6 +3476,126 @@ func RegisterEveningDetectiveServerHandlerServer(ctx context.Context, mux *runti
}
forward_EveningDetectiveServer_GetGame_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...)
})
mux.Handle(http.MethodPost, pattern_EveningDetectiveServer_CreateScreenSession_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/CreateScreenSession", runtime.WithHTTPPathPattern("/api/screens"))
if err != nil {
runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err)
return
}
resp, md, err := local_request_EveningDetectiveServer_CreateScreenSession_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_CreateScreenSession_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...)
})
mux.Handle(http.MethodPost, pattern_EveningDetectiveServer_GetScreenState_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/GetScreenState", runtime.WithHTTPPathPattern("/api/screens/state"))
if err != nil {
runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err)
return
}
resp, md, err := local_request_EveningDetectiveServer_GetScreenState_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_GetScreenState_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()
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/BindScreen", runtime.WithHTTPPathPattern("/api/screens/{screenId}/bind"))
if err != nil {
runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err)
return
}
resp, md, err := local_request_EveningDetectiveServer_BindScreen_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_BindScreen_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...)
})
mux.Handle(http.MethodPost, pattern_EveningDetectiveServer_UnbindScreen_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/UnbindScreen", runtime.WithHTTPPathPattern("/api/screens/{screenId}/unbind"))
if err != nil {
runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err)
return
}
resp, md, err := local_request_EveningDetectiveServer_UnbindScreen_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_UnbindScreen_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()
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/SetScreenMode", runtime.WithHTTPPathPattern("/api/games/{gameId}/screens/mode"))
if err != nil {
runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err)
return
}
resp, md, err := local_request_EveningDetectiveServer_SetScreenMode_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_SetScreenMode_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...)
})
mux.Handle(http.MethodPost, pattern_EveningDetectiveServer_SendScreenCommand_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/SendScreenCommand", runtime.WithHTTPPathPattern("/api/games/{gameId}/screens/command"))
if err != nil {
runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err)
return
}
resp, md, err := local_request_EveningDetectiveServer_SendScreenCommand_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_SendScreenCommand_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...)
})
mux.Handle(http.MethodGet, pattern_EveningDetectiveServer_DownloadTeamQR_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) {
ctx, cancel := context.WithCancel(req.Context())
defer cancel()
@@ -4396,6 +4750,108 @@ func RegisterEveningDetectiveServerHandlerClient(ctx context.Context, mux *runti
}
forward_EveningDetectiveServer_GetGame_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...)
})
mux.Handle(http.MethodPost, pattern_EveningDetectiveServer_CreateScreenSession_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/CreateScreenSession", runtime.WithHTTPPathPattern("/api/screens"))
if err != nil {
runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err)
return
}
resp, md, err := request_EveningDetectiveServer_CreateScreenSession_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_CreateScreenSession_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...)
})
mux.Handle(http.MethodPost, pattern_EveningDetectiveServer_GetScreenState_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/GetScreenState", runtime.WithHTTPPathPattern("/api/screens/state"))
if err != nil {
runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err)
return
}
resp, md, err := request_EveningDetectiveServer_GetScreenState_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_GetScreenState_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()
inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req)
annotatedContext, err := runtime.AnnotateContext(ctx, mux, req, "/crabs.evening_detective_server.EveningDetectiveServer/BindScreen", runtime.WithHTTPPathPattern("/api/screens/{screenId}/bind"))
if err != nil {
runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err)
return
}
resp, md, err := request_EveningDetectiveServer_BindScreen_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_BindScreen_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...)
})
mux.Handle(http.MethodPost, pattern_EveningDetectiveServer_UnbindScreen_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/UnbindScreen", runtime.WithHTTPPathPattern("/api/screens/{screenId}/unbind"))
if err != nil {
runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err)
return
}
resp, md, err := request_EveningDetectiveServer_UnbindScreen_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_UnbindScreen_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()
inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req)
annotatedContext, err := runtime.AnnotateContext(ctx, mux, req, "/crabs.evening_detective_server.EveningDetectiveServer/SetScreenMode", runtime.WithHTTPPathPattern("/api/games/{gameId}/screens/mode"))
if err != nil {
runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err)
return
}
resp, md, err := request_EveningDetectiveServer_SetScreenMode_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_SetScreenMode_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...)
})
mux.Handle(http.MethodPost, pattern_EveningDetectiveServer_SendScreenCommand_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/SendScreenCommand", runtime.WithHTTPPathPattern("/api/games/{gameId}/screens/command"))
if err != nil {
runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err)
return
}
resp, md, err := request_EveningDetectiveServer_SendScreenCommand_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_SendScreenCommand_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...)
})
mux.Handle(http.MethodGet, pattern_EveningDetectiveServer_DownloadTeamQR_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) {
ctx, cancel := context.WithCancel(req.Context())
defer cancel()
@@ -4782,6 +5238,12 @@ var (
pattern_EveningDetectiveServer_AddGame_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1}, []string{"api", "games"}, ""))
pattern_EveningDetectiveServer_GetGames_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1}, []string{"api", "games"}, ""))
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_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_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"}, ""))
pattern_EveningDetectiveServer_GetGameAnswers_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 1, 0, 4, 1, 5, 2, 2, 3}, []string{"api", "games", "gameId", "answers"}, ""))
pattern_EveningDetectiveServer_GetGameResults_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 1, 0, 4, 1, 5, 2, 2, 3}, []string{"api", "games", "gameId", "results"}, ""))
@@ -4847,6 +5309,12 @@ var (
forward_EveningDetectiveServer_AddGame_0 = runtime.ForwardResponseMessage
forward_EveningDetectiveServer_GetGames_0 = runtime.ForwardResponseMessage
forward_EveningDetectiveServer_GetGame_0 = runtime.ForwardResponseMessage
forward_EveningDetectiveServer_CreateScreenSession_0 = runtime.ForwardResponseMessage
forward_EveningDetectiveServer_GetScreenState_0 = runtime.ForwardResponseMessage
forward_EveningDetectiveServer_BindScreen_0 = runtime.ForwardResponseMessage
forward_EveningDetectiveServer_UnbindScreen_0 = runtime.ForwardResponseMessage
forward_EveningDetectiveServer_SetScreenMode_0 = runtime.ForwardResponseMessage
forward_EveningDetectiveServer_SendScreenCommand_0 = runtime.ForwardResponseMessage
forward_EveningDetectiveServer_DownloadTeamQR_0 = runtime.ForwardResponseMessage
forward_EveningDetectiveServer_GetGameAnswers_0 = runtime.ForwardResponseMessage
forward_EveningDetectiveServer_GetGameResults_0 = runtime.ForwardResponseMessage
+240
View File
@@ -62,6 +62,12 @@ const (
EveningDetectiveServer_AddGame_FullMethodName = "/crabs.evening_detective_server.EveningDetectiveServer/AddGame"
EveningDetectiveServer_GetGames_FullMethodName = "/crabs.evening_detective_server.EveningDetectiveServer/GetGames"
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_BindScreen_FullMethodName = "/crabs.evening_detective_server.EveningDetectiveServer/BindScreen"
EveningDetectiveServer_UnbindScreen_FullMethodName = "/crabs.evening_detective_server.EveningDetectiveServer/UnbindScreen"
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"
EveningDetectiveServer_GetGameAnswers_FullMethodName = "/crabs.evening_detective_server.EveningDetectiveServer/GetGameAnswers"
EveningDetectiveServer_GetGameResults_FullMethodName = "/crabs.evening_detective_server.EveningDetectiveServer/GetGameResults"
@@ -134,6 +140,18 @@ type EveningDetectiveServerClient interface {
AddGame(ctx context.Context, in *AddGameReq, opts ...grpc.CallOption) (*AddGameRsp, error)
GetGames(ctx context.Context, in *GetGamesReq, opts ...grpc.CallOption) (*GetGamesRsp, error)
GetGame(ctx context.Context, in *GetGameReq, opts ...grpc.CallOption) (*GetGameRsp, error)
// Создать сессию экрана. Экран получает токен и показывает QR для привязки.
CreateScreenSession(ctx context.Context, in *CreateScreenSessionReq, opts ...grpc.CallOption) (*CreateScreenSessionRsp, error)
// Получить состояние экрана по его токену. Вызывается самим экраном.
GetScreenState(ctx context.Context, in *GetScreenStateReq, opts ...grpc.CallOption) (*GetScreenStateRsp, error)
// Привязать экран к игре. Требует авторизацию организатора, автора или администратора.
BindScreen(ctx context.Context, in *BindScreenReq, opts ...grpc.CallOption) (*BindScreenRsp, error)
// Отвязать экран от игры. Требует авторизацию организатора, автора или администратора.
UnbindScreen(ctx context.Context, in *UnbindScreenReq, opts ...grpc.CallOption) (*UnbindScreenRsp, error)
// Изменить общий режим показа всех экранов игры.
SetScreenMode(ctx context.Context, in *SetScreenModeReq, opts ...grpc.CallOption) (*SetScreenModeRsp, error)
// Отправить общую команду экранам игры.
SendScreenCommand(ctx context.Context, in *SendScreenCommandReq, opts ...grpc.CallOption) (*SendScreenCommandRsp, error)
DownloadTeamQR(ctx context.Context, in *GetGameReq, opts ...grpc.CallOption) (*httpbody.HttpBody, error)
GetGameAnswers(ctx context.Context, in *GetGameAnswersReq, opts ...grpc.CallOption) (*GetGameAnswersRsp, error)
GetGameResults(ctx context.Context, in *GetGameResultsReq, opts ...grpc.CallOption) (*GetGameResultsRsp, error)
@@ -584,6 +602,66 @@ func (c *eveningDetectiveServerClient) GetGame(ctx context.Context, in *GetGameR
return out, nil
}
func (c *eveningDetectiveServerClient) CreateScreenSession(ctx context.Context, in *CreateScreenSessionReq, opts ...grpc.CallOption) (*CreateScreenSessionRsp, error) {
cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...)
out := new(CreateScreenSessionRsp)
err := c.cc.Invoke(ctx, EveningDetectiveServer_CreateScreenSession_FullMethodName, in, out, cOpts...)
if err != nil {
return nil, err
}
return out, nil
}
func (c *eveningDetectiveServerClient) GetScreenState(ctx context.Context, in *GetScreenStateReq, opts ...grpc.CallOption) (*GetScreenStateRsp, error) {
cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...)
out := new(GetScreenStateRsp)
err := c.cc.Invoke(ctx, EveningDetectiveServer_GetScreenState_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)
err := c.cc.Invoke(ctx, EveningDetectiveServer_BindScreen_FullMethodName, in, out, cOpts...)
if err != nil {
return nil, err
}
return out, nil
}
func (c *eveningDetectiveServerClient) UnbindScreen(ctx context.Context, in *UnbindScreenReq, opts ...grpc.CallOption) (*UnbindScreenRsp, error) {
cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...)
out := new(UnbindScreenRsp)
err := c.cc.Invoke(ctx, EveningDetectiveServer_UnbindScreen_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)
err := c.cc.Invoke(ctx, EveningDetectiveServer_SetScreenMode_FullMethodName, in, out, cOpts...)
if err != nil {
return nil, err
}
return out, nil
}
func (c *eveningDetectiveServerClient) SendScreenCommand(ctx context.Context, in *SendScreenCommandReq, opts ...grpc.CallOption) (*SendScreenCommandRsp, error) {
cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...)
out := new(SendScreenCommandRsp)
err := c.cc.Invoke(ctx, EveningDetectiveServer_SendScreenCommand_FullMethodName, in, out, cOpts...)
if err != nil {
return nil, err
}
return out, nil
}
func (c *eveningDetectiveServerClient) DownloadTeamQR(ctx context.Context, in *GetGameReq, opts ...grpc.CallOption) (*httpbody.HttpBody, error) {
cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...)
out := new(httpbody.HttpBody)
@@ -834,6 +912,18 @@ type EveningDetectiveServerServer interface {
AddGame(context.Context, *AddGameReq) (*AddGameRsp, error)
GetGames(context.Context, *GetGamesReq) (*GetGamesRsp, error)
GetGame(context.Context, *GetGameReq) (*GetGameRsp, error)
// Создать сессию экрана. Экран получает токен и показывает QR для привязки.
CreateScreenSession(context.Context, *CreateScreenSessionReq) (*CreateScreenSessionRsp, error)
// Получить состояние экрана по его токену. Вызывается самим экраном.
GetScreenState(context.Context, *GetScreenStateReq) (*GetScreenStateRsp, error)
// Привязать экран к игре. Требует авторизацию организатора, автора или администратора.
BindScreen(context.Context, *BindScreenReq) (*BindScreenRsp, error)
// Отвязать экран от игры. Требует авторизацию организатора, автора или администратора.
UnbindScreen(context.Context, *UnbindScreenReq) (*UnbindScreenRsp, error)
// Изменить общий режим показа всех экранов игры.
SetScreenMode(context.Context, *SetScreenModeReq) (*SetScreenModeRsp, error)
// Отправить общую команду экранам игры.
SendScreenCommand(context.Context, *SendScreenCommandReq) (*SendScreenCommandRsp, error)
DownloadTeamQR(context.Context, *GetGameReq) (*httpbody.HttpBody, error)
GetGameAnswers(context.Context, *GetGameAnswersReq) (*GetGameAnswersRsp, error)
GetGameResults(context.Context, *GetGameResultsReq) (*GetGameResultsRsp, error)
@@ -990,6 +1080,24 @@ func (UnimplementedEveningDetectiveServerServer) GetGames(context.Context, *GetG
func (UnimplementedEveningDetectiveServerServer) GetGame(context.Context, *GetGameReq) (*GetGameRsp, error) {
return nil, status.Error(codes.Unimplemented, "method GetGame not implemented")
}
func (UnimplementedEveningDetectiveServerServer) CreateScreenSession(context.Context, *CreateScreenSessionReq) (*CreateScreenSessionRsp, error) {
return nil, status.Error(codes.Unimplemented, "method CreateScreenSession not implemented")
}
func (UnimplementedEveningDetectiveServerServer) GetScreenState(context.Context, *GetScreenStateReq) (*GetScreenStateRsp, error) {
return nil, status.Error(codes.Unimplemented, "method GetScreenState 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) SetScreenMode(context.Context, *SetScreenModeReq) (*SetScreenModeRsp, error) {
return nil, status.Error(codes.Unimplemented, "method SetScreenMode not implemented")
}
func (UnimplementedEveningDetectiveServerServer) SendScreenCommand(context.Context, *SendScreenCommandReq) (*SendScreenCommandRsp, error) {
return nil, status.Error(codes.Unimplemented, "method SendScreenCommand not implemented")
}
func (UnimplementedEveningDetectiveServerServer) DownloadTeamQR(context.Context, *GetGameReq) (*httpbody.HttpBody, error) {
return nil, status.Error(codes.Unimplemented, "method DownloadTeamQR not implemented")
}
@@ -1828,6 +1936,114 @@ func _EveningDetectiveServer_GetGame_Handler(srv interface{}, ctx context.Contex
return interceptor(ctx, in, info, handler)
}
func _EveningDetectiveServer_CreateScreenSession_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
in := new(CreateScreenSessionReq)
if err := dec(in); err != nil {
return nil, err
}
if interceptor == nil {
return srv.(EveningDetectiveServerServer).CreateScreenSession(ctx, in)
}
info := &grpc.UnaryServerInfo{
Server: srv,
FullMethod: EveningDetectiveServer_CreateScreenSession_FullMethodName,
}
handler := func(ctx context.Context, req interface{}) (interface{}, error) {
return srv.(EveningDetectiveServerServer).CreateScreenSession(ctx, req.(*CreateScreenSessionReq))
}
return interceptor(ctx, in, info, handler)
}
func _EveningDetectiveServer_GetScreenState_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
in := new(GetScreenStateReq)
if err := dec(in); err != nil {
return nil, err
}
if interceptor == nil {
return srv.(EveningDetectiveServerServer).GetScreenState(ctx, in)
}
info := &grpc.UnaryServerInfo{
Server: srv,
FullMethod: EveningDetectiveServer_GetScreenState_FullMethodName,
}
handler := func(ctx context.Context, req interface{}) (interface{}, error) {
return srv.(EveningDetectiveServerServer).GetScreenState(ctx, req.(*GetScreenStateReq))
}
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 {
return nil, err
}
if interceptor == nil {
return srv.(EveningDetectiveServerServer).BindScreen(ctx, in)
}
info := &grpc.UnaryServerInfo{
Server: srv,
FullMethod: EveningDetectiveServer_BindScreen_FullMethodName,
}
handler := func(ctx context.Context, req interface{}) (interface{}, error) {
return srv.(EveningDetectiveServerServer).BindScreen(ctx, req.(*BindScreenReq))
}
return interceptor(ctx, in, info, handler)
}
func _EveningDetectiveServer_UnbindScreen_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
in := new(UnbindScreenReq)
if err := dec(in); err != nil {
return nil, err
}
if interceptor == nil {
return srv.(EveningDetectiveServerServer).UnbindScreen(ctx, in)
}
info := &grpc.UnaryServerInfo{
Server: srv,
FullMethod: EveningDetectiveServer_UnbindScreen_FullMethodName,
}
handler := func(ctx context.Context, req interface{}) (interface{}, error) {
return srv.(EveningDetectiveServerServer).UnbindScreen(ctx, req.(*UnbindScreenReq))
}
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 {
return nil, err
}
if interceptor == nil {
return srv.(EveningDetectiveServerServer).SetScreenMode(ctx, in)
}
info := &grpc.UnaryServerInfo{
Server: srv,
FullMethod: EveningDetectiveServer_SetScreenMode_FullMethodName,
}
handler := func(ctx context.Context, req interface{}) (interface{}, error) {
return srv.(EveningDetectiveServerServer).SetScreenMode(ctx, req.(*SetScreenModeReq))
}
return interceptor(ctx, in, info, handler)
}
func _EveningDetectiveServer_SendScreenCommand_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
in := new(SendScreenCommandReq)
if err := dec(in); err != nil {
return nil, err
}
if interceptor == nil {
return srv.(EveningDetectiveServerServer).SendScreenCommand(ctx, in)
}
info := &grpc.UnaryServerInfo{
Server: srv,
FullMethod: EveningDetectiveServer_SendScreenCommand_FullMethodName,
}
handler := func(ctx context.Context, req interface{}) (interface{}, error) {
return srv.(EveningDetectiveServerServer).SendScreenCommand(ctx, req.(*SendScreenCommandReq))
}
return interceptor(ctx, in, info, handler)
}
func _EveningDetectiveServer_DownloadTeamQR_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
in := new(GetGameReq)
if err := dec(in); err != nil {
@@ -2363,6 +2579,30 @@ var EveningDetectiveServer_ServiceDesc = grpc.ServiceDesc{
MethodName: "GetGame",
Handler: _EveningDetectiveServer_GetGame_Handler,
},
{
MethodName: "CreateScreenSession",
Handler: _EveningDetectiveServer_CreateScreenSession_Handler,
},
{
MethodName: "GetScreenState",
Handler: _EveningDetectiveServer_GetScreenState_Handler,
},
{
MethodName: "BindScreen",
Handler: _EveningDetectiveServer_BindScreen_Handler,
},
{
MethodName: "UnbindScreen",
Handler: _EveningDetectiveServer_UnbindScreen_Handler,
},
{
MethodName: "SetScreenMode",
Handler: _EveningDetectiveServer_SetScreenMode_Handler,
},
{
MethodName: "SendScreenCommand",
Handler: _EveningDetectiveServer_SendScreenCommand_Handler,
},
{
MethodName: "DownloadTeamQR",
Handler: _EveningDetectiveServer_DownloadTeamQR_Handler,