generated from VLADIMIR/template
Compare commits
4 Commits
49999e9e70
...
6b60c4e533
Author | SHA1 | Date | |
---|---|---|---|
6b60c4e533 | |||
320273738d | |||
06f1128ad0 | |||
42dc516e29 |
@ -45,6 +45,12 @@ service EveningDetective {
|
|||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
||||||
|
rpc GetGame(GetGameReq) returns (GetGameRsp) {
|
||||||
|
option (google.api.http) = {
|
||||||
|
get: "/game"
|
||||||
|
};
|
||||||
|
}
|
||||||
|
|
||||||
rpc GameStart(GameStartReq) returns (GameStartRsp) {
|
rpc GameStart(GameStartReq) returns (GameStartRsp) {
|
||||||
option (google.api.http) = {
|
option (google.api.http) = {
|
||||||
post: "/game/start",
|
post: "/game/start",
|
||||||
@ -137,6 +143,12 @@ message Action {
|
|||||||
repeated Application applications = 5;
|
repeated Application applications = 5;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
message GetGameReq {}
|
||||||
|
|
||||||
|
message GetGameRsp {
|
||||||
|
string state = 1;
|
||||||
|
}
|
||||||
|
|
||||||
message GameStartReq {}
|
message GameStartReq {}
|
||||||
|
|
||||||
message GameStartRsp {}
|
message GameStartRsp {}
|
||||||
|
@ -1,3 +1,15 @@
|
|||||||
|
### Получение игры
|
||||||
|
|
||||||
|
GET http://localhost:8090/game
|
||||||
|
|
||||||
|
### Старт игры
|
||||||
|
|
||||||
|
POST http://localhost:8090/game/start
|
||||||
|
|
||||||
|
### Стоп игры
|
||||||
|
|
||||||
|
POST http://localhost:8090/game/stop
|
||||||
|
|
||||||
### Получение списка комад
|
### Получение списка комад
|
||||||
|
|
||||||
GET http://localhost:8090/teams
|
GET http://localhost:8090/teams
|
||||||
|
BIN
bin/evening_detective
Executable file
BIN
bin/evening_detective
Executable file
Binary file not shown.
@ -44,6 +44,10 @@ func (s *Server) AddAction(ctx context.Context, req *proto.AddActionReq) (*proto
|
|||||||
return s.services.AddAction(ctx, req)
|
return s.services.AddAction(ctx, req)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
func (s *Server) GetGame(ctx context.Context, req *proto.GetGameReq) (*proto.GetGameRsp, error) {
|
||||||
|
return s.services.GetGame(ctx, req)
|
||||||
|
}
|
||||||
|
|
||||||
func (s *Server) GameStart(ctx context.Context, req *proto.GameStartReq) (*proto.GameStartRsp, error) {
|
func (s *Server) GameStart(ctx context.Context, req *proto.GameStartReq) (*proto.GameStartRsp, error) {
|
||||||
return s.services.GameStart(ctx, req)
|
return s.services.GameStart(ctx, req)
|
||||||
}
|
}
|
||||||
|
@ -30,13 +30,17 @@ func NewRepository() (*Repository, error) {
|
|||||||
if err != nil {
|
if err != nil {
|
||||||
return nil, err
|
return nil, err
|
||||||
}
|
}
|
||||||
|
_, err = db.Exec("CREATE TABLE IF NOT EXISTS games (id INTEGER PRIMARY KEY AUTOINCREMENT, state TEXT, startAt TIMESTAMP, endAt TIMESTAMP);")
|
||||||
|
if err != nil {
|
||||||
|
return nil, err
|
||||||
|
}
|
||||||
return &Repository{db: db}, nil
|
return &Repository{db: db}, nil
|
||||||
}
|
}
|
||||||
|
|
||||||
func (r *Repository) GetTeams(ctx context.Context) ([]*models.Team, error) {
|
func (r *Repository) GetTeams(ctx context.Context) ([]*models.Team, error) {
|
||||||
rows, err := r.db.Query("select id, name, password from teams")
|
rows, err := r.db.Query("select id, name, password from teams")
|
||||||
if err != nil {
|
if err != nil {
|
||||||
panic(err)
|
return nil, err
|
||||||
}
|
}
|
||||||
defer rows.Close()
|
defer rows.Close()
|
||||||
teams := []*models.Team{}
|
teams := []*models.Team{}
|
||||||
@ -69,7 +73,7 @@ func (r *Repository) AddTeams(ctx context.Context, teams []*models.Team) ([]*mod
|
|||||||
func (r *Repository) GetActions(ctx context.Context, teamId int64) ([]*models.Action, error) {
|
func (r *Repository) GetActions(ctx context.Context, teamId int64) ([]*models.Action, error) {
|
||||||
rows, err := r.db.Query("select id, place from actions where teamId = $1", teamId)
|
rows, err := r.db.Query("select id, place from actions where teamId = $1", teamId)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
panic(err)
|
return nil, err
|
||||||
}
|
}
|
||||||
defer rows.Close()
|
defer rows.Close()
|
||||||
actions := []*models.Action{}
|
actions := []*models.Action{}
|
||||||
@ -132,7 +136,7 @@ func (r *Repository) AddApplications(ctx context.Context, actions []*models.Acti
|
|||||||
func (r *Repository) GetApplications(ctx context.Context, teamId int64, state string) ([]*models.Application, error) {
|
func (r *Repository) GetApplications(ctx context.Context, teamId int64, state string) ([]*models.Application, error) {
|
||||||
rows, err := r.db.Query("select id, name from applications where teamId = $1 and state = $2", teamId, state)
|
rows, err := r.db.Query("select id, name from applications where teamId = $1 and state = $2", teamId, state)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
panic(err)
|
return nil, err
|
||||||
}
|
}
|
||||||
defer rows.Close()
|
defer rows.Close()
|
||||||
applications := []*models.Application{}
|
applications := []*models.Application{}
|
||||||
@ -157,3 +161,32 @@ func (r *Repository) GiveApplications(ctx context.Context, teamId int64, applica
|
|||||||
}
|
}
|
||||||
return nil
|
return nil
|
||||||
}
|
}
|
||||||
|
|
||||||
|
func (r *Repository) GetGame(ctx context.Context) (string, error) {
|
||||||
|
rows, err := r.db.Query("select state from games limit 1")
|
||||||
|
if err != nil {
|
||||||
|
return "", err
|
||||||
|
}
|
||||||
|
defer rows.Close()
|
||||||
|
|
||||||
|
state := ""
|
||||||
|
if rows.Next() {
|
||||||
|
err := rows.Scan(&state)
|
||||||
|
if err != nil {
|
||||||
|
return "", err
|
||||||
|
}
|
||||||
|
return state, nil
|
||||||
|
}
|
||||||
|
|
||||||
|
state = "NEW"
|
||||||
|
_, err = r.db.Exec("insert into games (state) values ($1)", state)
|
||||||
|
if err != nil {
|
||||||
|
return "", err
|
||||||
|
}
|
||||||
|
return state, nil
|
||||||
|
}
|
||||||
|
|
||||||
|
func (r *Repository) GameUpdateState(ctx context.Context, state string) error {
|
||||||
|
_, err := r.db.Exec("update games set state = $1", state)
|
||||||
|
return err
|
||||||
|
}
|
||||||
|
@ -40,12 +40,26 @@ func (s *Services) GiveApplications(ctx context.Context, req *proto.GiveApplicat
|
|||||||
return &proto.GiveApplicationsRsp{}, nil
|
return &proto.GiveApplicationsRsp{}, nil
|
||||||
}
|
}
|
||||||
|
|
||||||
func (s *Services) GameStop(ctx context.Context, req *proto.GameStopReq) (*proto.GameStopRsp, error) {
|
func (s *Services) GetGame(ctx context.Context, _ *proto.GetGameReq) (*proto.GetGameRsp, error) {
|
||||||
panic("unimplemented")
|
state, err := s.repository.GetGame(ctx)
|
||||||
|
if err != nil {
|
||||||
|
return nil, status.Errorf(codes.Internal, err.Error())
|
||||||
|
}
|
||||||
|
return &proto.GetGameRsp{State: state}, nil
|
||||||
}
|
}
|
||||||
|
|
||||||
func (s *Services) GameStart(ctx context.Context, req *proto.GameStartReq) (*proto.GameStartRsp, error) {
|
func (s *Services) GameStart(ctx context.Context, _ *proto.GameStartReq) (*proto.GameStartRsp, error) {
|
||||||
panic("unimplemented")
|
if err := s.repository.GameUpdateState(ctx, "RUN"); err != nil {
|
||||||
|
return nil, status.Errorf(codes.Internal, err.Error())
|
||||||
|
}
|
||||||
|
return &proto.GameStartRsp{}, nil
|
||||||
|
}
|
||||||
|
|
||||||
|
func (s *Services) GameStop(ctx context.Context, req *proto.GameStopReq) (*proto.GameStopRsp, error) {
|
||||||
|
if err := s.repository.GameUpdateState(ctx, "STOP"); err != nil {
|
||||||
|
return nil, status.Errorf(codes.Internal, err.Error())
|
||||||
|
}
|
||||||
|
return &proto.GameStopRsp{}, nil
|
||||||
}
|
}
|
||||||
|
|
||||||
func (s *Services) AddAction(ctx context.Context, req *proto.AddActionReq) (*proto.AddActionRsp, error) {
|
func (s *Services) AddAction(ctx context.Context, req *proto.AddActionReq) (*proto.AddActionRsp, error) {
|
||||||
|
@ -71,6 +71,7 @@ func (s *StoryService) GetPlace(code string) *Place {
|
|||||||
|
|
||||||
func clearCode(code string) string {
|
func clearCode(code string) string {
|
||||||
code = strings.ToLower(code)
|
code = strings.ToLower(code)
|
||||||
|
code = strings.TrimSpace(code)
|
||||||
code = strings.ReplaceAll(code, "-", "")
|
code = strings.ReplaceAll(code, "-", "")
|
||||||
for latin, cyrillic := range replaceMap {
|
for latin, cyrillic := range replaceMap {
|
||||||
code = strings.ReplaceAll(code, latin, cyrillic)
|
code = strings.ReplaceAll(code, latin, cyrillic)
|
||||||
|
370
proto/main.pb.go
370
proto/main.pb.go
@ -878,6 +878,91 @@ func (x *Action) GetApplications() []*Application {
|
|||||||
return nil
|
return nil
|
||||||
}
|
}
|
||||||
|
|
||||||
|
type GetGameReq struct {
|
||||||
|
state protoimpl.MessageState
|
||||||
|
sizeCache protoimpl.SizeCache
|
||||||
|
unknownFields protoimpl.UnknownFields
|
||||||
|
}
|
||||||
|
|
||||||
|
func (x *GetGameReq) Reset() {
|
||||||
|
*x = GetGameReq{}
|
||||||
|
if protoimpl.UnsafeEnabled {
|
||||||
|
mi := &file_main_proto_msgTypes[17]
|
||||||
|
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
||||||
|
ms.StoreMessageInfo(mi)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
func (x *GetGameReq) String() string {
|
||||||
|
return protoimpl.X.MessageStringOf(x)
|
||||||
|
}
|
||||||
|
|
||||||
|
func (*GetGameReq) ProtoMessage() {}
|
||||||
|
|
||||||
|
func (x *GetGameReq) ProtoReflect() protoreflect.Message {
|
||||||
|
mi := &file_main_proto_msgTypes[17]
|
||||||
|
if protoimpl.UnsafeEnabled && x != nil {
|
||||||
|
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
||||||
|
if ms.LoadMessageInfo() == nil {
|
||||||
|
ms.StoreMessageInfo(mi)
|
||||||
|
}
|
||||||
|
return ms
|
||||||
|
}
|
||||||
|
return mi.MessageOf(x)
|
||||||
|
}
|
||||||
|
|
||||||
|
// Deprecated: Use GetGameReq.ProtoReflect.Descriptor instead.
|
||||||
|
func (*GetGameReq) Descriptor() ([]byte, []int) {
|
||||||
|
return file_main_proto_rawDescGZIP(), []int{17}
|
||||||
|
}
|
||||||
|
|
||||||
|
type GetGameRsp struct {
|
||||||
|
state protoimpl.MessageState
|
||||||
|
sizeCache protoimpl.SizeCache
|
||||||
|
unknownFields protoimpl.UnknownFields
|
||||||
|
|
||||||
|
State string `protobuf:"bytes,1,opt,name=state,proto3" json:"state,omitempty"`
|
||||||
|
}
|
||||||
|
|
||||||
|
func (x *GetGameRsp) Reset() {
|
||||||
|
*x = GetGameRsp{}
|
||||||
|
if protoimpl.UnsafeEnabled {
|
||||||
|
mi := &file_main_proto_msgTypes[18]
|
||||||
|
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
||||||
|
ms.StoreMessageInfo(mi)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
func (x *GetGameRsp) String() string {
|
||||||
|
return protoimpl.X.MessageStringOf(x)
|
||||||
|
}
|
||||||
|
|
||||||
|
func (*GetGameRsp) ProtoMessage() {}
|
||||||
|
|
||||||
|
func (x *GetGameRsp) ProtoReflect() protoreflect.Message {
|
||||||
|
mi := &file_main_proto_msgTypes[18]
|
||||||
|
if protoimpl.UnsafeEnabled && x != nil {
|
||||||
|
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
||||||
|
if ms.LoadMessageInfo() == nil {
|
||||||
|
ms.StoreMessageInfo(mi)
|
||||||
|
}
|
||||||
|
return ms
|
||||||
|
}
|
||||||
|
return mi.MessageOf(x)
|
||||||
|
}
|
||||||
|
|
||||||
|
// Deprecated: Use GetGameRsp.ProtoReflect.Descriptor instead.
|
||||||
|
func (*GetGameRsp) Descriptor() ([]byte, []int) {
|
||||||
|
return file_main_proto_rawDescGZIP(), []int{18}
|
||||||
|
}
|
||||||
|
|
||||||
|
func (x *GetGameRsp) GetState() string {
|
||||||
|
if x != nil {
|
||||||
|
return x.State
|
||||||
|
}
|
||||||
|
return ""
|
||||||
|
}
|
||||||
|
|
||||||
type GameStartReq struct {
|
type GameStartReq struct {
|
||||||
state protoimpl.MessageState
|
state protoimpl.MessageState
|
||||||
sizeCache protoimpl.SizeCache
|
sizeCache protoimpl.SizeCache
|
||||||
@ -887,7 +972,7 @@ type GameStartReq struct {
|
|||||||
func (x *GameStartReq) Reset() {
|
func (x *GameStartReq) Reset() {
|
||||||
*x = GameStartReq{}
|
*x = GameStartReq{}
|
||||||
if protoimpl.UnsafeEnabled {
|
if protoimpl.UnsafeEnabled {
|
||||||
mi := &file_main_proto_msgTypes[17]
|
mi := &file_main_proto_msgTypes[19]
|
||||||
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
||||||
ms.StoreMessageInfo(mi)
|
ms.StoreMessageInfo(mi)
|
||||||
}
|
}
|
||||||
@ -900,7 +985,7 @@ func (x *GameStartReq) String() string {
|
|||||||
func (*GameStartReq) ProtoMessage() {}
|
func (*GameStartReq) ProtoMessage() {}
|
||||||
|
|
||||||
func (x *GameStartReq) ProtoReflect() protoreflect.Message {
|
func (x *GameStartReq) ProtoReflect() protoreflect.Message {
|
||||||
mi := &file_main_proto_msgTypes[17]
|
mi := &file_main_proto_msgTypes[19]
|
||||||
if protoimpl.UnsafeEnabled && x != nil {
|
if protoimpl.UnsafeEnabled && x != nil {
|
||||||
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
||||||
if ms.LoadMessageInfo() == nil {
|
if ms.LoadMessageInfo() == nil {
|
||||||
@ -913,7 +998,7 @@ func (x *GameStartReq) ProtoReflect() protoreflect.Message {
|
|||||||
|
|
||||||
// Deprecated: Use GameStartReq.ProtoReflect.Descriptor instead.
|
// Deprecated: Use GameStartReq.ProtoReflect.Descriptor instead.
|
||||||
func (*GameStartReq) Descriptor() ([]byte, []int) {
|
func (*GameStartReq) Descriptor() ([]byte, []int) {
|
||||||
return file_main_proto_rawDescGZIP(), []int{17}
|
return file_main_proto_rawDescGZIP(), []int{19}
|
||||||
}
|
}
|
||||||
|
|
||||||
type GameStartRsp struct {
|
type GameStartRsp struct {
|
||||||
@ -925,7 +1010,7 @@ type GameStartRsp struct {
|
|||||||
func (x *GameStartRsp) Reset() {
|
func (x *GameStartRsp) Reset() {
|
||||||
*x = GameStartRsp{}
|
*x = GameStartRsp{}
|
||||||
if protoimpl.UnsafeEnabled {
|
if protoimpl.UnsafeEnabled {
|
||||||
mi := &file_main_proto_msgTypes[18]
|
mi := &file_main_proto_msgTypes[20]
|
||||||
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
||||||
ms.StoreMessageInfo(mi)
|
ms.StoreMessageInfo(mi)
|
||||||
}
|
}
|
||||||
@ -938,7 +1023,7 @@ func (x *GameStartRsp) String() string {
|
|||||||
func (*GameStartRsp) ProtoMessage() {}
|
func (*GameStartRsp) ProtoMessage() {}
|
||||||
|
|
||||||
func (x *GameStartRsp) ProtoReflect() protoreflect.Message {
|
func (x *GameStartRsp) ProtoReflect() protoreflect.Message {
|
||||||
mi := &file_main_proto_msgTypes[18]
|
mi := &file_main_proto_msgTypes[20]
|
||||||
if protoimpl.UnsafeEnabled && x != nil {
|
if protoimpl.UnsafeEnabled && x != nil {
|
||||||
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
||||||
if ms.LoadMessageInfo() == nil {
|
if ms.LoadMessageInfo() == nil {
|
||||||
@ -951,7 +1036,7 @@ func (x *GameStartRsp) ProtoReflect() protoreflect.Message {
|
|||||||
|
|
||||||
// Deprecated: Use GameStartRsp.ProtoReflect.Descriptor instead.
|
// Deprecated: Use GameStartRsp.ProtoReflect.Descriptor instead.
|
||||||
func (*GameStartRsp) Descriptor() ([]byte, []int) {
|
func (*GameStartRsp) Descriptor() ([]byte, []int) {
|
||||||
return file_main_proto_rawDescGZIP(), []int{18}
|
return file_main_proto_rawDescGZIP(), []int{20}
|
||||||
}
|
}
|
||||||
|
|
||||||
type GameStopReq struct {
|
type GameStopReq struct {
|
||||||
@ -965,7 +1050,7 @@ type GameStopReq struct {
|
|||||||
func (x *GameStopReq) Reset() {
|
func (x *GameStopReq) Reset() {
|
||||||
*x = GameStopReq{}
|
*x = GameStopReq{}
|
||||||
if protoimpl.UnsafeEnabled {
|
if protoimpl.UnsafeEnabled {
|
||||||
mi := &file_main_proto_msgTypes[19]
|
mi := &file_main_proto_msgTypes[21]
|
||||||
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
||||||
ms.StoreMessageInfo(mi)
|
ms.StoreMessageInfo(mi)
|
||||||
}
|
}
|
||||||
@ -978,7 +1063,7 @@ func (x *GameStopReq) String() string {
|
|||||||
func (*GameStopReq) ProtoMessage() {}
|
func (*GameStopReq) ProtoMessage() {}
|
||||||
|
|
||||||
func (x *GameStopReq) ProtoReflect() protoreflect.Message {
|
func (x *GameStopReq) ProtoReflect() protoreflect.Message {
|
||||||
mi := &file_main_proto_msgTypes[19]
|
mi := &file_main_proto_msgTypes[21]
|
||||||
if protoimpl.UnsafeEnabled && x != nil {
|
if protoimpl.UnsafeEnabled && x != nil {
|
||||||
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
||||||
if ms.LoadMessageInfo() == nil {
|
if ms.LoadMessageInfo() == nil {
|
||||||
@ -991,7 +1076,7 @@ func (x *GameStopReq) ProtoReflect() protoreflect.Message {
|
|||||||
|
|
||||||
// Deprecated: Use GameStopReq.ProtoReflect.Descriptor instead.
|
// Deprecated: Use GameStopReq.ProtoReflect.Descriptor instead.
|
||||||
func (*GameStopReq) Descriptor() ([]byte, []int) {
|
func (*GameStopReq) Descriptor() ([]byte, []int) {
|
||||||
return file_main_proto_rawDescGZIP(), []int{19}
|
return file_main_proto_rawDescGZIP(), []int{21}
|
||||||
}
|
}
|
||||||
|
|
||||||
func (x *GameStopReq) GetTimeSeconds() int64 {
|
func (x *GameStopReq) GetTimeSeconds() int64 {
|
||||||
@ -1010,7 +1095,7 @@ type GameStopRsp struct {
|
|||||||
func (x *GameStopRsp) Reset() {
|
func (x *GameStopRsp) Reset() {
|
||||||
*x = GameStopRsp{}
|
*x = GameStopRsp{}
|
||||||
if protoimpl.UnsafeEnabled {
|
if protoimpl.UnsafeEnabled {
|
||||||
mi := &file_main_proto_msgTypes[20]
|
mi := &file_main_proto_msgTypes[22]
|
||||||
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
||||||
ms.StoreMessageInfo(mi)
|
ms.StoreMessageInfo(mi)
|
||||||
}
|
}
|
||||||
@ -1023,7 +1108,7 @@ func (x *GameStopRsp) String() string {
|
|||||||
func (*GameStopRsp) ProtoMessage() {}
|
func (*GameStopRsp) ProtoMessage() {}
|
||||||
|
|
||||||
func (x *GameStopRsp) ProtoReflect() protoreflect.Message {
|
func (x *GameStopRsp) ProtoReflect() protoreflect.Message {
|
||||||
mi := &file_main_proto_msgTypes[20]
|
mi := &file_main_proto_msgTypes[22]
|
||||||
if protoimpl.UnsafeEnabled && x != nil {
|
if protoimpl.UnsafeEnabled && x != nil {
|
||||||
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
||||||
if ms.LoadMessageInfo() == nil {
|
if ms.LoadMessageInfo() == nil {
|
||||||
@ -1036,7 +1121,7 @@ func (x *GameStopRsp) ProtoReflect() protoreflect.Message {
|
|||||||
|
|
||||||
// Deprecated: Use GameStopRsp.ProtoReflect.Descriptor instead.
|
// Deprecated: Use GameStopRsp.ProtoReflect.Descriptor instead.
|
||||||
func (*GameStopRsp) Descriptor() ([]byte, []int) {
|
func (*GameStopRsp) Descriptor() ([]byte, []int) {
|
||||||
return file_main_proto_rawDescGZIP(), []int{20}
|
return file_main_proto_rawDescGZIP(), []int{22}
|
||||||
}
|
}
|
||||||
|
|
||||||
type GiveApplicationsReq struct {
|
type GiveApplicationsReq struct {
|
||||||
@ -1051,7 +1136,7 @@ type GiveApplicationsReq struct {
|
|||||||
func (x *GiveApplicationsReq) Reset() {
|
func (x *GiveApplicationsReq) Reset() {
|
||||||
*x = GiveApplicationsReq{}
|
*x = GiveApplicationsReq{}
|
||||||
if protoimpl.UnsafeEnabled {
|
if protoimpl.UnsafeEnabled {
|
||||||
mi := &file_main_proto_msgTypes[21]
|
mi := &file_main_proto_msgTypes[23]
|
||||||
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
||||||
ms.StoreMessageInfo(mi)
|
ms.StoreMessageInfo(mi)
|
||||||
}
|
}
|
||||||
@ -1064,7 +1149,7 @@ func (x *GiveApplicationsReq) String() string {
|
|||||||
func (*GiveApplicationsReq) ProtoMessage() {}
|
func (*GiveApplicationsReq) ProtoMessage() {}
|
||||||
|
|
||||||
func (x *GiveApplicationsReq) ProtoReflect() protoreflect.Message {
|
func (x *GiveApplicationsReq) ProtoReflect() protoreflect.Message {
|
||||||
mi := &file_main_proto_msgTypes[21]
|
mi := &file_main_proto_msgTypes[23]
|
||||||
if protoimpl.UnsafeEnabled && x != nil {
|
if protoimpl.UnsafeEnabled && x != nil {
|
||||||
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
||||||
if ms.LoadMessageInfo() == nil {
|
if ms.LoadMessageInfo() == nil {
|
||||||
@ -1077,7 +1162,7 @@ func (x *GiveApplicationsReq) ProtoReflect() protoreflect.Message {
|
|||||||
|
|
||||||
// Deprecated: Use GiveApplicationsReq.ProtoReflect.Descriptor instead.
|
// Deprecated: Use GiveApplicationsReq.ProtoReflect.Descriptor instead.
|
||||||
func (*GiveApplicationsReq) Descriptor() ([]byte, []int) {
|
func (*GiveApplicationsReq) Descriptor() ([]byte, []int) {
|
||||||
return file_main_proto_rawDescGZIP(), []int{21}
|
return file_main_proto_rawDescGZIP(), []int{23}
|
||||||
}
|
}
|
||||||
|
|
||||||
func (x *GiveApplicationsReq) GetTeamId() int64 {
|
func (x *GiveApplicationsReq) GetTeamId() int64 {
|
||||||
@ -1103,7 +1188,7 @@ type GiveApplicationsRsp struct {
|
|||||||
func (x *GiveApplicationsRsp) Reset() {
|
func (x *GiveApplicationsRsp) Reset() {
|
||||||
*x = GiveApplicationsRsp{}
|
*x = GiveApplicationsRsp{}
|
||||||
if protoimpl.UnsafeEnabled {
|
if protoimpl.UnsafeEnabled {
|
||||||
mi := &file_main_proto_msgTypes[22]
|
mi := &file_main_proto_msgTypes[24]
|
||||||
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
||||||
ms.StoreMessageInfo(mi)
|
ms.StoreMessageInfo(mi)
|
||||||
}
|
}
|
||||||
@ -1116,7 +1201,7 @@ func (x *GiveApplicationsRsp) String() string {
|
|||||||
func (*GiveApplicationsRsp) ProtoMessage() {}
|
func (*GiveApplicationsRsp) ProtoMessage() {}
|
||||||
|
|
||||||
func (x *GiveApplicationsRsp) ProtoReflect() protoreflect.Message {
|
func (x *GiveApplicationsRsp) ProtoReflect() protoreflect.Message {
|
||||||
mi := &file_main_proto_msgTypes[22]
|
mi := &file_main_proto_msgTypes[24]
|
||||||
if protoimpl.UnsafeEnabled && x != nil {
|
if protoimpl.UnsafeEnabled && x != nil {
|
||||||
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
||||||
if ms.LoadMessageInfo() == nil {
|
if ms.LoadMessageInfo() == nil {
|
||||||
@ -1129,7 +1214,7 @@ func (x *GiveApplicationsRsp) ProtoReflect() protoreflect.Message {
|
|||||||
|
|
||||||
// Deprecated: Use GiveApplicationsRsp.ProtoReflect.Descriptor instead.
|
// Deprecated: Use GiveApplicationsRsp.ProtoReflect.Descriptor instead.
|
||||||
func (*GiveApplicationsRsp) Descriptor() ([]byte, []int) {
|
func (*GiveApplicationsRsp) Descriptor() ([]byte, []int) {
|
||||||
return file_main_proto_rawDescGZIP(), []int{22}
|
return file_main_proto_rawDescGZIP(), []int{24}
|
||||||
}
|
}
|
||||||
|
|
||||||
var File_main_proto protoreflect.FileDescriptor
|
var File_main_proto protoreflect.FileDescriptor
|
||||||
@ -1202,88 +1287,97 @@ var file_main_proto_rawDesc = []byte{
|
|||||||
0x20, 0x03, 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x63, 0x72, 0x61, 0x62, 0x73, 0x2e, 0x65, 0x76, 0x65,
|
0x20, 0x03, 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x63, 0x72, 0x61, 0x62, 0x73, 0x2e, 0x65, 0x76, 0x65,
|
||||||
0x6e, 0x69, 0x6e, 0x67, 0x5f, 0x64, 0x65, 0x74, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x2e, 0x41,
|
0x6e, 0x69, 0x6e, 0x67, 0x5f, 0x64, 0x65, 0x74, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x2e, 0x41,
|
||||||
0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x0c, 0x61, 0x70, 0x70, 0x6c,
|
0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x0c, 0x61, 0x70, 0x70, 0x6c,
|
||||||
0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x22, 0x0e, 0x0a, 0x0c, 0x47, 0x61, 0x6d, 0x65,
|
0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x22, 0x0c, 0x0a, 0x0a, 0x47, 0x65, 0x74, 0x47,
|
||||||
0x53, 0x74, 0x61, 0x72, 0x74, 0x52, 0x65, 0x71, 0x22, 0x0e, 0x0a, 0x0c, 0x47, 0x61, 0x6d, 0x65,
|
0x61, 0x6d, 0x65, 0x52, 0x65, 0x71, 0x22, 0x22, 0x0a, 0x0a, 0x47, 0x65, 0x74, 0x47, 0x61, 0x6d,
|
||||||
0x53, 0x74, 0x61, 0x72, 0x74, 0x52, 0x73, 0x70, 0x22, 0x2f, 0x0a, 0x0b, 0x47, 0x61, 0x6d, 0x65,
|
0x65, 0x52, 0x73, 0x70, 0x12, 0x14, 0x0a, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x18, 0x01, 0x20,
|
||||||
0x53, 0x74, 0x6f, 0x70, 0x52, 0x65, 0x71, 0x12, 0x20, 0x0a, 0x0b, 0x74, 0x69, 0x6d, 0x65, 0x53,
|
0x01, 0x28, 0x09, 0x52, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x22, 0x0e, 0x0a, 0x0c, 0x47, 0x61,
|
||||||
0x65, 0x63, 0x6f, 0x6e, 0x64, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0b, 0x74, 0x69,
|
0x6d, 0x65, 0x53, 0x74, 0x61, 0x72, 0x74, 0x52, 0x65, 0x71, 0x22, 0x0e, 0x0a, 0x0c, 0x47, 0x61,
|
||||||
0x6d, 0x65, 0x53, 0x65, 0x63, 0x6f, 0x6e, 0x64, 0x73, 0x22, 0x0d, 0x0a, 0x0b, 0x47, 0x61, 0x6d,
|
0x6d, 0x65, 0x53, 0x74, 0x61, 0x72, 0x74, 0x52, 0x73, 0x70, 0x22, 0x2f, 0x0a, 0x0b, 0x47, 0x61,
|
||||||
0x65, 0x53, 0x74, 0x6f, 0x70, 0x52, 0x73, 0x70, 0x22, 0x77, 0x0a, 0x13, 0x47, 0x69, 0x76, 0x65,
|
0x6d, 0x65, 0x53, 0x74, 0x6f, 0x70, 0x52, 0x65, 0x71, 0x12, 0x20, 0x0a, 0x0b, 0x74, 0x69, 0x6d,
|
||||||
0x41, 0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x71, 0x12,
|
0x65, 0x53, 0x65, 0x63, 0x6f, 0x6e, 0x64, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0b,
|
||||||
0x16, 0x0a, 0x06, 0x74, 0x65, 0x61, 0x6d, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52,
|
0x74, 0x69, 0x6d, 0x65, 0x53, 0x65, 0x63, 0x6f, 0x6e, 0x64, 0x73, 0x22, 0x0d, 0x0a, 0x0b, 0x47,
|
||||||
0x06, 0x74, 0x65, 0x61, 0x6d, 0x49, 0x64, 0x12, 0x48, 0x0a, 0x0c, 0x61, 0x70, 0x70, 0x6c, 0x69,
|
0x61, 0x6d, 0x65, 0x53, 0x74, 0x6f, 0x70, 0x52, 0x73, 0x70, 0x22, 0x77, 0x0a, 0x13, 0x47, 0x69,
|
||||||
0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x24, 0x2e,
|
0x76, 0x65, 0x41, 0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65,
|
||||||
0x63, 0x72, 0x61, 0x62, 0x73, 0x2e, 0x65, 0x76, 0x65, 0x6e, 0x69, 0x6e, 0x67, 0x5f, 0x64, 0x65,
|
0x71, 0x12, 0x16, 0x0a, 0x06, 0x74, 0x65, 0x61, 0x6d, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28,
|
||||||
0x74, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x2e, 0x41, 0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74,
|
0x03, 0x52, 0x06, 0x74, 0x65, 0x61, 0x6d, 0x49, 0x64, 0x12, 0x48, 0x0a, 0x0c, 0x61, 0x70, 0x70,
|
||||||
0x69, 0x6f, 0x6e, 0x52, 0x0c, 0x61, 0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e,
|
0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32,
|
||||||
0x73, 0x22, 0x15, 0x0a, 0x13, 0x47, 0x69, 0x76, 0x65, 0x41, 0x70, 0x70, 0x6c, 0x69, 0x63, 0x61,
|
|
||||||
0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x73, 0x70, 0x32, 0x84, 0x08, 0x0a, 0x10, 0x45, 0x76, 0x65,
|
|
||||||
0x6e, 0x69, 0x6e, 0x67, 0x44, 0x65, 0x74, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x12, 0x59, 0x0a,
|
|
||||||
0x04, 0x50, 0x69, 0x6e, 0x67, 0x12, 0x20, 0x2e, 0x63, 0x72, 0x61, 0x62, 0x73, 0x2e, 0x65, 0x76,
|
|
||||||
0x65, 0x6e, 0x69, 0x6e, 0x67, 0x5f, 0x64, 0x65, 0x74, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x2e,
|
|
||||||
0x50, 0x69, 0x6e, 0x67, 0x52, 0x65, 0x71, 0x1a, 0x20, 0x2e, 0x63, 0x72, 0x61, 0x62, 0x73, 0x2e,
|
|
||||||
0x65, 0x76, 0x65, 0x6e, 0x69, 0x6e, 0x67, 0x5f, 0x64, 0x65, 0x74, 0x65, 0x63, 0x74, 0x69, 0x76,
|
|
||||||
0x65, 0x2e, 0x50, 0x69, 0x6e, 0x67, 0x52, 0x73, 0x70, 0x22, 0x0d, 0x82, 0xd3, 0xe4, 0x93, 0x02,
|
|
||||||
0x07, 0x12, 0x05, 0x2f, 0x70, 0x69, 0x6e, 0x67, 0x12, 0x69, 0x0a, 0x08, 0x41, 0x64, 0x64, 0x54,
|
|
||||||
0x65, 0x61, 0x6d, 0x73, 0x12, 0x24, 0x2e, 0x63, 0x72, 0x61, 0x62, 0x73, 0x2e, 0x65, 0x76, 0x65,
|
|
||||||
0x6e, 0x69, 0x6e, 0x67, 0x5f, 0x64, 0x65, 0x74, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x2e, 0x41,
|
|
||||||
0x64, 0x64, 0x54, 0x65, 0x61, 0x6d, 0x73, 0x52, 0x65, 0x71, 0x1a, 0x24, 0x2e, 0x63, 0x72, 0x61,
|
|
||||||
0x62, 0x73, 0x2e, 0x65, 0x76, 0x65, 0x6e, 0x69, 0x6e, 0x67, 0x5f, 0x64, 0x65, 0x74, 0x65, 0x63,
|
|
||||||
0x74, 0x69, 0x76, 0x65, 0x2e, 0x41, 0x64, 0x64, 0x54, 0x65, 0x61, 0x6d, 0x73, 0x52, 0x73, 0x70,
|
|
||||||
0x22, 0x11, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x0b, 0x3a, 0x01, 0x2a, 0x22, 0x06, 0x2f, 0x74, 0x65,
|
|
||||||
0x61, 0x6d, 0x73, 0x12, 0x66, 0x0a, 0x08, 0x47, 0x65, 0x74, 0x54, 0x65, 0x61, 0x6d, 0x73, 0x12,
|
|
||||||
0x24, 0x2e, 0x63, 0x72, 0x61, 0x62, 0x73, 0x2e, 0x65, 0x76, 0x65, 0x6e, 0x69, 0x6e, 0x67, 0x5f,
|
0x24, 0x2e, 0x63, 0x72, 0x61, 0x62, 0x73, 0x2e, 0x65, 0x76, 0x65, 0x6e, 0x69, 0x6e, 0x67, 0x5f,
|
||||||
0x64, 0x65, 0x74, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x2e, 0x47, 0x65, 0x74, 0x54, 0x65, 0x61,
|
0x64, 0x65, 0x74, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x2e, 0x41, 0x70, 0x70, 0x6c, 0x69, 0x63,
|
||||||
0x6d, 0x73, 0x52, 0x65, 0x71, 0x1a, 0x24, 0x2e, 0x63, 0x72, 0x61, 0x62, 0x73, 0x2e, 0x65, 0x76,
|
0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x0c, 0x61, 0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69,
|
||||||
0x65, 0x6e, 0x69, 0x6e, 0x67, 0x5f, 0x64, 0x65, 0x74, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x2e,
|
0x6f, 0x6e, 0x73, 0x22, 0x15, 0x0a, 0x13, 0x47, 0x69, 0x76, 0x65, 0x41, 0x70, 0x70, 0x6c, 0x69,
|
||||||
0x47, 0x65, 0x74, 0x54, 0x65, 0x61, 0x6d, 0x73, 0x52, 0x73, 0x70, 0x22, 0x0e, 0x82, 0xd3, 0xe4,
|
0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x73, 0x70, 0x32, 0xe8, 0x08, 0x0a, 0x10, 0x45,
|
||||||
0x93, 0x02, 0x08, 0x12, 0x06, 0x2f, 0x74, 0x65, 0x61, 0x6d, 0x73, 0x12, 0x6d, 0x0a, 0x0b, 0x47,
|
0x76, 0x65, 0x6e, 0x69, 0x6e, 0x67, 0x44, 0x65, 0x74, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x12,
|
||||||
0x65, 0x74, 0x54, 0x65, 0x61, 0x6d, 0x73, 0x43, 0x53, 0x56, 0x12, 0x27, 0x2e, 0x63, 0x72, 0x61,
|
0x59, 0x0a, 0x04, 0x50, 0x69, 0x6e, 0x67, 0x12, 0x20, 0x2e, 0x63, 0x72, 0x61, 0x62, 0x73, 0x2e,
|
||||||
0x62, 0x73, 0x2e, 0x65, 0x76, 0x65, 0x6e, 0x69, 0x6e, 0x67, 0x5f, 0x64, 0x65, 0x74, 0x65, 0x63,
|
|
||||||
0x74, 0x69, 0x76, 0x65, 0x2e, 0x47, 0x65, 0x74, 0x54, 0x65, 0x61, 0x6d, 0x73, 0x43, 0x53, 0x56,
|
|
||||||
0x52, 0x65, 0x71, 0x1a, 0x27, 0x2e, 0x63, 0x72, 0x61, 0x62, 0x73, 0x2e, 0x65, 0x76, 0x65, 0x6e,
|
|
||||||
0x69, 0x6e, 0x67, 0x5f, 0x64, 0x65, 0x74, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x2e, 0x47, 0x65,
|
|
||||||
0x74, 0x54, 0x65, 0x61, 0x6d, 0x73, 0x43, 0x53, 0x56, 0x52, 0x73, 0x70, 0x22, 0x0c, 0x82, 0xd3,
|
|
||||||
0xe4, 0x93, 0x02, 0x06, 0x12, 0x04, 0x2f, 0x63, 0x73, 0x76, 0x12, 0x62, 0x0a, 0x07, 0x47, 0x65,
|
|
||||||
0x74, 0x54, 0x65, 0x61, 0x6d, 0x12, 0x23, 0x2e, 0x63, 0x72, 0x61, 0x62, 0x73, 0x2e, 0x65, 0x76,
|
|
||||||
0x65, 0x6e, 0x69, 0x6e, 0x67, 0x5f, 0x64, 0x65, 0x74, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x2e,
|
|
||||||
0x47, 0x65, 0x74, 0x54, 0x65, 0x61, 0x6d, 0x52, 0x65, 0x71, 0x1a, 0x23, 0x2e, 0x63, 0x72, 0x61,
|
|
||||||
0x62, 0x73, 0x2e, 0x65, 0x76, 0x65, 0x6e, 0x69, 0x6e, 0x67, 0x5f, 0x64, 0x65, 0x74, 0x65, 0x63,
|
|
||||||
0x74, 0x69, 0x76, 0x65, 0x2e, 0x47, 0x65, 0x74, 0x54, 0x65, 0x61, 0x6d, 0x52, 0x73, 0x70, 0x22,
|
|
||||||
0x0d, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x07, 0x12, 0x05, 0x2f, 0x74, 0x65, 0x61, 0x6d, 0x12, 0x73,
|
|
||||||
0x0a, 0x09, 0x41, 0x64, 0x64, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x25, 0x2e, 0x63, 0x72,
|
|
||||||
0x61, 0x62, 0x73, 0x2e, 0x65, 0x76, 0x65, 0x6e, 0x69, 0x6e, 0x67, 0x5f, 0x64, 0x65, 0x74, 0x65,
|
|
||||||
0x63, 0x74, 0x69, 0x76, 0x65, 0x2e, 0x41, 0x64, 0x64, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x52,
|
|
||||||
0x65, 0x71, 0x1a, 0x25, 0x2e, 0x63, 0x72, 0x61, 0x62, 0x73, 0x2e, 0x65, 0x76, 0x65, 0x6e, 0x69,
|
|
||||||
0x6e, 0x67, 0x5f, 0x64, 0x65, 0x74, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x2e, 0x41, 0x64, 0x64,
|
|
||||||
0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x73, 0x70, 0x22, 0x18, 0x82, 0xd3, 0xe4, 0x93, 0x02,
|
|
||||||
0x12, 0x3a, 0x01, 0x2a, 0x22, 0x0d, 0x2f, 0x74, 0x65, 0x61, 0x6d, 0x2f, 0x61, 0x63, 0x74, 0x69,
|
|
||||||
0x6f, 0x6e, 0x73, 0x12, 0x71, 0x0a, 0x09, 0x47, 0x61, 0x6d, 0x65, 0x53, 0x74, 0x61, 0x72, 0x74,
|
|
||||||
0x12, 0x25, 0x2e, 0x63, 0x72, 0x61, 0x62, 0x73, 0x2e, 0x65, 0x76, 0x65, 0x6e, 0x69, 0x6e, 0x67,
|
|
||||||
0x5f, 0x64, 0x65, 0x74, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x2e, 0x47, 0x61, 0x6d, 0x65, 0x53,
|
|
||||||
0x74, 0x61, 0x72, 0x74, 0x52, 0x65, 0x71, 0x1a, 0x25, 0x2e, 0x63, 0x72, 0x61, 0x62, 0x73, 0x2e,
|
|
||||||
0x65, 0x76, 0x65, 0x6e, 0x69, 0x6e, 0x67, 0x5f, 0x64, 0x65, 0x74, 0x65, 0x63, 0x74, 0x69, 0x76,
|
0x65, 0x76, 0x65, 0x6e, 0x69, 0x6e, 0x67, 0x5f, 0x64, 0x65, 0x74, 0x65, 0x63, 0x74, 0x69, 0x76,
|
||||||
0x65, 0x2e, 0x47, 0x61, 0x6d, 0x65, 0x53, 0x74, 0x61, 0x72, 0x74, 0x52, 0x73, 0x70, 0x22, 0x16,
|
0x65, 0x2e, 0x50, 0x69, 0x6e, 0x67, 0x52, 0x65, 0x71, 0x1a, 0x20, 0x2e, 0x63, 0x72, 0x61, 0x62,
|
||||||
0x82, 0xd3, 0xe4, 0x93, 0x02, 0x10, 0x3a, 0x01, 0x2a, 0x22, 0x0b, 0x2f, 0x67, 0x61, 0x6d, 0x65,
|
0x73, 0x2e, 0x65, 0x76, 0x65, 0x6e, 0x69, 0x6e, 0x67, 0x5f, 0x64, 0x65, 0x74, 0x65, 0x63, 0x74,
|
||||||
0x2f, 0x73, 0x74, 0x61, 0x72, 0x74, 0x12, 0x6d, 0x0a, 0x08, 0x47, 0x61, 0x6d, 0x65, 0x53, 0x74,
|
0x69, 0x76, 0x65, 0x2e, 0x50, 0x69, 0x6e, 0x67, 0x52, 0x73, 0x70, 0x22, 0x0d, 0x82, 0xd3, 0xe4,
|
||||||
0x6f, 0x70, 0x12, 0x24, 0x2e, 0x63, 0x72, 0x61, 0x62, 0x73, 0x2e, 0x65, 0x76, 0x65, 0x6e, 0x69,
|
0x93, 0x02, 0x07, 0x12, 0x05, 0x2f, 0x70, 0x69, 0x6e, 0x67, 0x12, 0x69, 0x0a, 0x08, 0x41, 0x64,
|
||||||
0x6e, 0x67, 0x5f, 0x64, 0x65, 0x74, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x2e, 0x47, 0x61, 0x6d,
|
0x64, 0x54, 0x65, 0x61, 0x6d, 0x73, 0x12, 0x24, 0x2e, 0x63, 0x72, 0x61, 0x62, 0x73, 0x2e, 0x65,
|
||||||
0x65, 0x53, 0x74, 0x6f, 0x70, 0x52, 0x65, 0x71, 0x1a, 0x24, 0x2e, 0x63, 0x72, 0x61, 0x62, 0x73,
|
0x76, 0x65, 0x6e, 0x69, 0x6e, 0x67, 0x5f, 0x64, 0x65, 0x74, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65,
|
||||||
|
0x2e, 0x41, 0x64, 0x64, 0x54, 0x65, 0x61, 0x6d, 0x73, 0x52, 0x65, 0x71, 0x1a, 0x24, 0x2e, 0x63,
|
||||||
|
0x72, 0x61, 0x62, 0x73, 0x2e, 0x65, 0x76, 0x65, 0x6e, 0x69, 0x6e, 0x67, 0x5f, 0x64, 0x65, 0x74,
|
||||||
|
0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x2e, 0x41, 0x64, 0x64, 0x54, 0x65, 0x61, 0x6d, 0x73, 0x52,
|
||||||
|
0x73, 0x70, 0x22, 0x11, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x0b, 0x3a, 0x01, 0x2a, 0x22, 0x06, 0x2f,
|
||||||
|
0x74, 0x65, 0x61, 0x6d, 0x73, 0x12, 0x66, 0x0a, 0x08, 0x47, 0x65, 0x74, 0x54, 0x65, 0x61, 0x6d,
|
||||||
|
0x73, 0x12, 0x24, 0x2e, 0x63, 0x72, 0x61, 0x62, 0x73, 0x2e, 0x65, 0x76, 0x65, 0x6e, 0x69, 0x6e,
|
||||||
|
0x67, 0x5f, 0x64, 0x65, 0x74, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x2e, 0x47, 0x65, 0x74, 0x54,
|
||||||
|
0x65, 0x61, 0x6d, 0x73, 0x52, 0x65, 0x71, 0x1a, 0x24, 0x2e, 0x63, 0x72, 0x61, 0x62, 0x73, 0x2e,
|
||||||
|
0x65, 0x76, 0x65, 0x6e, 0x69, 0x6e, 0x67, 0x5f, 0x64, 0x65, 0x74, 0x65, 0x63, 0x74, 0x69, 0x76,
|
||||||
|
0x65, 0x2e, 0x47, 0x65, 0x74, 0x54, 0x65, 0x61, 0x6d, 0x73, 0x52, 0x73, 0x70, 0x22, 0x0e, 0x82,
|
||||||
|
0xd3, 0xe4, 0x93, 0x02, 0x08, 0x12, 0x06, 0x2f, 0x74, 0x65, 0x61, 0x6d, 0x73, 0x12, 0x6d, 0x0a,
|
||||||
|
0x0b, 0x47, 0x65, 0x74, 0x54, 0x65, 0x61, 0x6d, 0x73, 0x43, 0x53, 0x56, 0x12, 0x27, 0x2e, 0x63,
|
||||||
|
0x72, 0x61, 0x62, 0x73, 0x2e, 0x65, 0x76, 0x65, 0x6e, 0x69, 0x6e, 0x67, 0x5f, 0x64, 0x65, 0x74,
|
||||||
|
0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x2e, 0x47, 0x65, 0x74, 0x54, 0x65, 0x61, 0x6d, 0x73, 0x43,
|
||||||
|
0x53, 0x56, 0x52, 0x65, 0x71, 0x1a, 0x27, 0x2e, 0x63, 0x72, 0x61, 0x62, 0x73, 0x2e, 0x65, 0x76,
|
||||||
|
0x65, 0x6e, 0x69, 0x6e, 0x67, 0x5f, 0x64, 0x65, 0x74, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x2e,
|
||||||
|
0x47, 0x65, 0x74, 0x54, 0x65, 0x61, 0x6d, 0x73, 0x43, 0x53, 0x56, 0x52, 0x73, 0x70, 0x22, 0x0c,
|
||||||
|
0x82, 0xd3, 0xe4, 0x93, 0x02, 0x06, 0x12, 0x04, 0x2f, 0x63, 0x73, 0x76, 0x12, 0x62, 0x0a, 0x07,
|
||||||
|
0x47, 0x65, 0x74, 0x54, 0x65, 0x61, 0x6d, 0x12, 0x23, 0x2e, 0x63, 0x72, 0x61, 0x62, 0x73, 0x2e,
|
||||||
|
0x65, 0x76, 0x65, 0x6e, 0x69, 0x6e, 0x67, 0x5f, 0x64, 0x65, 0x74, 0x65, 0x63, 0x74, 0x69, 0x76,
|
||||||
|
0x65, 0x2e, 0x47, 0x65, 0x74, 0x54, 0x65, 0x61, 0x6d, 0x52, 0x65, 0x71, 0x1a, 0x23, 0x2e, 0x63,
|
||||||
|
0x72, 0x61, 0x62, 0x73, 0x2e, 0x65, 0x76, 0x65, 0x6e, 0x69, 0x6e, 0x67, 0x5f, 0x64, 0x65, 0x74,
|
||||||
|
0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x2e, 0x47, 0x65, 0x74, 0x54, 0x65, 0x61, 0x6d, 0x52, 0x73,
|
||||||
|
0x70, 0x22, 0x0d, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x07, 0x12, 0x05, 0x2f, 0x74, 0x65, 0x61, 0x6d,
|
||||||
|
0x12, 0x73, 0x0a, 0x09, 0x41, 0x64, 0x64, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x25, 0x2e,
|
||||||
|
0x63, 0x72, 0x61, 0x62, 0x73, 0x2e, 0x65, 0x76, 0x65, 0x6e, 0x69, 0x6e, 0x67, 0x5f, 0x64, 0x65,
|
||||||
|
0x74, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x2e, 0x41, 0x64, 0x64, 0x41, 0x63, 0x74, 0x69, 0x6f,
|
||||||
|
0x6e, 0x52, 0x65, 0x71, 0x1a, 0x25, 0x2e, 0x63, 0x72, 0x61, 0x62, 0x73, 0x2e, 0x65, 0x76, 0x65,
|
||||||
|
0x6e, 0x69, 0x6e, 0x67, 0x5f, 0x64, 0x65, 0x74, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x2e, 0x41,
|
||||||
|
0x64, 0x64, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x73, 0x70, 0x22, 0x18, 0x82, 0xd3, 0xe4,
|
||||||
|
0x93, 0x02, 0x12, 0x3a, 0x01, 0x2a, 0x22, 0x0d, 0x2f, 0x74, 0x65, 0x61, 0x6d, 0x2f, 0x61, 0x63,
|
||||||
|
0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x62, 0x0a, 0x07, 0x47, 0x65, 0x74, 0x47, 0x61, 0x6d, 0x65,
|
||||||
|
0x12, 0x23, 0x2e, 0x63, 0x72, 0x61, 0x62, 0x73, 0x2e, 0x65, 0x76, 0x65, 0x6e, 0x69, 0x6e, 0x67,
|
||||||
|
0x5f, 0x64, 0x65, 0x74, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x2e, 0x47, 0x65, 0x74, 0x47, 0x61,
|
||||||
|
0x6d, 0x65, 0x52, 0x65, 0x71, 0x1a, 0x23, 0x2e, 0x63, 0x72, 0x61, 0x62, 0x73, 0x2e, 0x65, 0x76,
|
||||||
|
0x65, 0x6e, 0x69, 0x6e, 0x67, 0x5f, 0x64, 0x65, 0x74, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x2e,
|
||||||
|
0x47, 0x65, 0x74, 0x47, 0x61, 0x6d, 0x65, 0x52, 0x73, 0x70, 0x22, 0x0d, 0x82, 0xd3, 0xe4, 0x93,
|
||||||
|
0x02, 0x07, 0x12, 0x05, 0x2f, 0x67, 0x61, 0x6d, 0x65, 0x12, 0x71, 0x0a, 0x09, 0x47, 0x61, 0x6d,
|
||||||
|
0x65, 0x53, 0x74, 0x61, 0x72, 0x74, 0x12, 0x25, 0x2e, 0x63, 0x72, 0x61, 0x62, 0x73, 0x2e, 0x65,
|
||||||
|
0x76, 0x65, 0x6e, 0x69, 0x6e, 0x67, 0x5f, 0x64, 0x65, 0x74, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65,
|
||||||
|
0x2e, 0x47, 0x61, 0x6d, 0x65, 0x53, 0x74, 0x61, 0x72, 0x74, 0x52, 0x65, 0x71, 0x1a, 0x25, 0x2e,
|
||||||
|
0x63, 0x72, 0x61, 0x62, 0x73, 0x2e, 0x65, 0x76, 0x65, 0x6e, 0x69, 0x6e, 0x67, 0x5f, 0x64, 0x65,
|
||||||
|
0x74, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x2e, 0x47, 0x61, 0x6d, 0x65, 0x53, 0x74, 0x61, 0x72,
|
||||||
|
0x74, 0x52, 0x73, 0x70, 0x22, 0x16, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x10, 0x3a, 0x01, 0x2a, 0x22,
|
||||||
|
0x0b, 0x2f, 0x67, 0x61, 0x6d, 0x65, 0x2f, 0x73, 0x74, 0x61, 0x72, 0x74, 0x12, 0x6d, 0x0a, 0x08,
|
||||||
|
0x47, 0x61, 0x6d, 0x65, 0x53, 0x74, 0x6f, 0x70, 0x12, 0x24, 0x2e, 0x63, 0x72, 0x61, 0x62, 0x73,
|
||||||
0x2e, 0x65, 0x76, 0x65, 0x6e, 0x69, 0x6e, 0x67, 0x5f, 0x64, 0x65, 0x74, 0x65, 0x63, 0x74, 0x69,
|
0x2e, 0x65, 0x76, 0x65, 0x6e, 0x69, 0x6e, 0x67, 0x5f, 0x64, 0x65, 0x74, 0x65, 0x63, 0x74, 0x69,
|
||||||
0x76, 0x65, 0x2e, 0x47, 0x61, 0x6d, 0x65, 0x53, 0x74, 0x6f, 0x70, 0x52, 0x73, 0x70, 0x22, 0x15,
|
0x76, 0x65, 0x2e, 0x47, 0x61, 0x6d, 0x65, 0x53, 0x74, 0x6f, 0x70, 0x52, 0x65, 0x71, 0x1a, 0x24,
|
||||||
0x82, 0xd3, 0xe4, 0x93, 0x02, 0x0f, 0x3a, 0x01, 0x2a, 0x22, 0x0a, 0x2f, 0x67, 0x61, 0x6d, 0x65,
|
0x2e, 0x63, 0x72, 0x61, 0x62, 0x73, 0x2e, 0x65, 0x76, 0x65, 0x6e, 0x69, 0x6e, 0x67, 0x5f, 0x64,
|
||||||
0x2f, 0x73, 0x74, 0x6f, 0x70, 0x12, 0x97, 0x01, 0x0a, 0x10, 0x47, 0x69, 0x76, 0x65, 0x41, 0x70,
|
0x65, 0x74, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x2e, 0x47, 0x61, 0x6d, 0x65, 0x53, 0x74, 0x6f,
|
||||||
0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x2c, 0x2e, 0x63, 0x72, 0x61,
|
0x70, 0x52, 0x73, 0x70, 0x22, 0x15, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x0f, 0x3a, 0x01, 0x2a, 0x22,
|
||||||
0x62, 0x73, 0x2e, 0x65, 0x76, 0x65, 0x6e, 0x69, 0x6e, 0x67, 0x5f, 0x64, 0x65, 0x74, 0x65, 0x63,
|
0x0a, 0x2f, 0x67, 0x61, 0x6d, 0x65, 0x2f, 0x73, 0x74, 0x6f, 0x70, 0x12, 0x97, 0x01, 0x0a, 0x10,
|
||||||
0x74, 0x69, 0x76, 0x65, 0x2e, 0x47, 0x69, 0x76, 0x65, 0x41, 0x70, 0x70, 0x6c, 0x69, 0x63, 0x61,
|
0x47, 0x69, 0x76, 0x65, 0x41, 0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73,
|
||||||
0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x71, 0x1a, 0x2c, 0x2e, 0x63, 0x72, 0x61, 0x62, 0x73,
|
0x12, 0x2c, 0x2e, 0x63, 0x72, 0x61, 0x62, 0x73, 0x2e, 0x65, 0x76, 0x65, 0x6e, 0x69, 0x6e, 0x67,
|
||||||
0x2e, 0x65, 0x76, 0x65, 0x6e, 0x69, 0x6e, 0x67, 0x5f, 0x64, 0x65, 0x74, 0x65, 0x63, 0x74, 0x69,
|
0x5f, 0x64, 0x65, 0x74, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x2e, 0x47, 0x69, 0x76, 0x65, 0x41,
|
||||||
0x76, 0x65, 0x2e, 0x47, 0x69, 0x76, 0x65, 0x41, 0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69,
|
0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x71, 0x1a, 0x2c,
|
||||||
0x6f, 0x6e, 0x73, 0x52, 0x73, 0x70, 0x22, 0x27, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x21, 0x3a, 0x01,
|
0x2e, 0x63, 0x72, 0x61, 0x62, 0x73, 0x2e, 0x65, 0x76, 0x65, 0x6e, 0x69, 0x6e, 0x67, 0x5f, 0x64,
|
||||||
0x2a, 0x22, 0x1c, 0x2f, 0x74, 0x65, 0x61, 0x6d, 0x73, 0x2f, 0x7b, 0x74, 0x65, 0x61, 0x6d, 0x49,
|
0x65, 0x74, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x2e, 0x47, 0x69, 0x76, 0x65, 0x41, 0x70, 0x70,
|
||||||
0x64, 0x7d, 0x2f, 0x61, 0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x42,
|
0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x73, 0x70, 0x22, 0x27, 0x82, 0xd3,
|
||||||
0x0b, 0x5a, 0x09, 0x70, 0x6b, 0x67, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72,
|
0xe4, 0x93, 0x02, 0x21, 0x3a, 0x01, 0x2a, 0x22, 0x1c, 0x2f, 0x74, 0x65, 0x61, 0x6d, 0x73, 0x2f,
|
||||||
0x6f, 0x74, 0x6f, 0x33,
|
0x7b, 0x74, 0x65, 0x61, 0x6d, 0x49, 0x64, 0x7d, 0x2f, 0x61, 0x70, 0x70, 0x6c, 0x69, 0x63, 0x61,
|
||||||
|
0x74, 0x69, 0x6f, 0x6e, 0x73, 0x42, 0x0b, 0x5a, 0x09, 0x70, 0x6b, 0x67, 0x2f, 0x70, 0x72, 0x6f,
|
||||||
|
0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
|
||||||
}
|
}
|
||||||
|
|
||||||
var (
|
var (
|
||||||
@ -1298,7 +1392,7 @@ func file_main_proto_rawDescGZIP() []byte {
|
|||||||
return file_main_proto_rawDescData
|
return file_main_proto_rawDescData
|
||||||
}
|
}
|
||||||
|
|
||||||
var file_main_proto_msgTypes = make([]protoimpl.MessageInfo, 23)
|
var file_main_proto_msgTypes = make([]protoimpl.MessageInfo, 25)
|
||||||
var file_main_proto_goTypes = []interface{}{
|
var file_main_proto_goTypes = []interface{}{
|
||||||
(*PingReq)(nil), // 0: crabs.evening_detective.PingReq
|
(*PingReq)(nil), // 0: crabs.evening_detective.PingReq
|
||||||
(*PingRsp)(nil), // 1: crabs.evening_detective.PingRsp
|
(*PingRsp)(nil), // 1: crabs.evening_detective.PingRsp
|
||||||
@ -1317,12 +1411,14 @@ var file_main_proto_goTypes = []interface{}{
|
|||||||
(*AddActionReq)(nil), // 14: crabs.evening_detective.AddActionReq
|
(*AddActionReq)(nil), // 14: crabs.evening_detective.AddActionReq
|
||||||
(*AddActionRsp)(nil), // 15: crabs.evening_detective.AddActionRsp
|
(*AddActionRsp)(nil), // 15: crabs.evening_detective.AddActionRsp
|
||||||
(*Action)(nil), // 16: crabs.evening_detective.Action
|
(*Action)(nil), // 16: crabs.evening_detective.Action
|
||||||
(*GameStartReq)(nil), // 17: crabs.evening_detective.GameStartReq
|
(*GetGameReq)(nil), // 17: crabs.evening_detective.GetGameReq
|
||||||
(*GameStartRsp)(nil), // 18: crabs.evening_detective.GameStartRsp
|
(*GetGameRsp)(nil), // 18: crabs.evening_detective.GetGameRsp
|
||||||
(*GameStopReq)(nil), // 19: crabs.evening_detective.GameStopReq
|
(*GameStartReq)(nil), // 19: crabs.evening_detective.GameStartReq
|
||||||
(*GameStopRsp)(nil), // 20: crabs.evening_detective.GameStopRsp
|
(*GameStartRsp)(nil), // 20: crabs.evening_detective.GameStartRsp
|
||||||
(*GiveApplicationsReq)(nil), // 21: crabs.evening_detective.GiveApplicationsReq
|
(*GameStopReq)(nil), // 21: crabs.evening_detective.GameStopReq
|
||||||
(*GiveApplicationsRsp)(nil), // 22: crabs.evening_detective.GiveApplicationsRsp
|
(*GameStopRsp)(nil), // 22: crabs.evening_detective.GameStopRsp
|
||||||
|
(*GiveApplicationsReq)(nil), // 23: crabs.evening_detective.GiveApplicationsReq
|
||||||
|
(*GiveApplicationsRsp)(nil), // 24: crabs.evening_detective.GiveApplicationsRsp
|
||||||
}
|
}
|
||||||
var file_main_proto_depIdxs = []int32{
|
var file_main_proto_depIdxs = []int32{
|
||||||
3, // 0: crabs.evening_detective.AddTeamsReq.teams:type_name -> crabs.evening_detective.Team
|
3, // 0: crabs.evening_detective.AddTeamsReq.teams:type_name -> crabs.evening_detective.Team
|
||||||
@ -1338,20 +1434,22 @@ var file_main_proto_depIdxs = []int32{
|
|||||||
8, // 10: crabs.evening_detective.EveningDetective.GetTeamsCSV:input_type -> crabs.evening_detective.GetTeamsCSVReq
|
8, // 10: crabs.evening_detective.EveningDetective.GetTeamsCSV:input_type -> crabs.evening_detective.GetTeamsCSVReq
|
||||||
12, // 11: crabs.evening_detective.EveningDetective.GetTeam:input_type -> crabs.evening_detective.GetTeamReq
|
12, // 11: crabs.evening_detective.EveningDetective.GetTeam:input_type -> crabs.evening_detective.GetTeamReq
|
||||||
14, // 12: crabs.evening_detective.EveningDetective.AddAction:input_type -> crabs.evening_detective.AddActionReq
|
14, // 12: crabs.evening_detective.EveningDetective.AddAction:input_type -> crabs.evening_detective.AddActionReq
|
||||||
17, // 13: crabs.evening_detective.EveningDetective.GameStart:input_type -> crabs.evening_detective.GameStartReq
|
17, // 13: crabs.evening_detective.EveningDetective.GetGame:input_type -> crabs.evening_detective.GetGameReq
|
||||||
19, // 14: crabs.evening_detective.EveningDetective.GameStop:input_type -> crabs.evening_detective.GameStopReq
|
19, // 14: crabs.evening_detective.EveningDetective.GameStart:input_type -> crabs.evening_detective.GameStartReq
|
||||||
21, // 15: crabs.evening_detective.EveningDetective.GiveApplications:input_type -> crabs.evening_detective.GiveApplicationsReq
|
21, // 15: crabs.evening_detective.EveningDetective.GameStop:input_type -> crabs.evening_detective.GameStopReq
|
||||||
1, // 16: crabs.evening_detective.EveningDetective.Ping:output_type -> crabs.evening_detective.PingRsp
|
23, // 16: crabs.evening_detective.EveningDetective.GiveApplications:input_type -> crabs.evening_detective.GiveApplicationsReq
|
||||||
4, // 17: crabs.evening_detective.EveningDetective.AddTeams:output_type -> crabs.evening_detective.AddTeamsRsp
|
1, // 17: crabs.evening_detective.EveningDetective.Ping:output_type -> crabs.evening_detective.PingRsp
|
||||||
7, // 18: crabs.evening_detective.EveningDetective.GetTeams:output_type -> crabs.evening_detective.GetTeamsRsp
|
4, // 18: crabs.evening_detective.EveningDetective.AddTeams:output_type -> crabs.evening_detective.AddTeamsRsp
|
||||||
9, // 19: crabs.evening_detective.EveningDetective.GetTeamsCSV:output_type -> crabs.evening_detective.GetTeamsCSVRsp
|
7, // 19: crabs.evening_detective.EveningDetective.GetTeams:output_type -> crabs.evening_detective.GetTeamsRsp
|
||||||
13, // 20: crabs.evening_detective.EveningDetective.GetTeam:output_type -> crabs.evening_detective.GetTeamRsp
|
9, // 20: crabs.evening_detective.EveningDetective.GetTeamsCSV:output_type -> crabs.evening_detective.GetTeamsCSVRsp
|
||||||
15, // 21: crabs.evening_detective.EveningDetective.AddAction:output_type -> crabs.evening_detective.AddActionRsp
|
13, // 21: crabs.evening_detective.EveningDetective.GetTeam:output_type -> crabs.evening_detective.GetTeamRsp
|
||||||
18, // 22: crabs.evening_detective.EveningDetective.GameStart:output_type -> crabs.evening_detective.GameStartRsp
|
15, // 22: crabs.evening_detective.EveningDetective.AddAction:output_type -> crabs.evening_detective.AddActionRsp
|
||||||
20, // 23: crabs.evening_detective.EveningDetective.GameStop:output_type -> crabs.evening_detective.GameStopRsp
|
18, // 23: crabs.evening_detective.EveningDetective.GetGame:output_type -> crabs.evening_detective.GetGameRsp
|
||||||
22, // 24: crabs.evening_detective.EveningDetective.GiveApplications:output_type -> crabs.evening_detective.GiveApplicationsRsp
|
20, // 24: crabs.evening_detective.EveningDetective.GameStart:output_type -> crabs.evening_detective.GameStartRsp
|
||||||
16, // [16:25] is the sub-list for method output_type
|
22, // 25: crabs.evening_detective.EveningDetective.GameStop:output_type -> crabs.evening_detective.GameStopRsp
|
||||||
7, // [7:16] is the sub-list for method input_type
|
24, // 26: crabs.evening_detective.EveningDetective.GiveApplications:output_type -> crabs.evening_detective.GiveApplicationsRsp
|
||||||
|
17, // [17:27] is the sub-list for method output_type
|
||||||
|
7, // [7:17] is the sub-list for method input_type
|
||||||
7, // [7:7] is the sub-list for extension type_name
|
7, // [7:7] is the sub-list for extension type_name
|
||||||
7, // [7:7] is the sub-list for extension extendee
|
7, // [7:7] is the sub-list for extension extendee
|
||||||
0, // [0:7] is the sub-list for field type_name
|
0, // [0:7] is the sub-list for field type_name
|
||||||
@ -1568,7 +1666,7 @@ func file_main_proto_init() {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
file_main_proto_msgTypes[17].Exporter = func(v interface{}, i int) interface{} {
|
file_main_proto_msgTypes[17].Exporter = func(v interface{}, i int) interface{} {
|
||||||
switch v := v.(*GameStartReq); i {
|
switch v := v.(*GetGameReq); i {
|
||||||
case 0:
|
case 0:
|
||||||
return &v.state
|
return &v.state
|
||||||
case 1:
|
case 1:
|
||||||
@ -1580,7 +1678,7 @@ func file_main_proto_init() {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
file_main_proto_msgTypes[18].Exporter = func(v interface{}, i int) interface{} {
|
file_main_proto_msgTypes[18].Exporter = func(v interface{}, i int) interface{} {
|
||||||
switch v := v.(*GameStartRsp); i {
|
switch v := v.(*GetGameRsp); i {
|
||||||
case 0:
|
case 0:
|
||||||
return &v.state
|
return &v.state
|
||||||
case 1:
|
case 1:
|
||||||
@ -1592,7 +1690,7 @@ func file_main_proto_init() {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
file_main_proto_msgTypes[19].Exporter = func(v interface{}, i int) interface{} {
|
file_main_proto_msgTypes[19].Exporter = func(v interface{}, i int) interface{} {
|
||||||
switch v := v.(*GameStopReq); i {
|
switch v := v.(*GameStartReq); i {
|
||||||
case 0:
|
case 0:
|
||||||
return &v.state
|
return &v.state
|
||||||
case 1:
|
case 1:
|
||||||
@ -1604,7 +1702,7 @@ func file_main_proto_init() {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
file_main_proto_msgTypes[20].Exporter = func(v interface{}, i int) interface{} {
|
file_main_proto_msgTypes[20].Exporter = func(v interface{}, i int) interface{} {
|
||||||
switch v := v.(*GameStopRsp); i {
|
switch v := v.(*GameStartRsp); i {
|
||||||
case 0:
|
case 0:
|
||||||
return &v.state
|
return &v.state
|
||||||
case 1:
|
case 1:
|
||||||
@ -1616,7 +1714,7 @@ func file_main_proto_init() {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
file_main_proto_msgTypes[21].Exporter = func(v interface{}, i int) interface{} {
|
file_main_proto_msgTypes[21].Exporter = func(v interface{}, i int) interface{} {
|
||||||
switch v := v.(*GiveApplicationsReq); i {
|
switch v := v.(*GameStopReq); i {
|
||||||
case 0:
|
case 0:
|
||||||
return &v.state
|
return &v.state
|
||||||
case 1:
|
case 1:
|
||||||
@ -1628,6 +1726,30 @@ func file_main_proto_init() {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
file_main_proto_msgTypes[22].Exporter = func(v interface{}, i int) interface{} {
|
file_main_proto_msgTypes[22].Exporter = func(v interface{}, i int) interface{} {
|
||||||
|
switch v := v.(*GameStopRsp); i {
|
||||||
|
case 0:
|
||||||
|
return &v.state
|
||||||
|
case 1:
|
||||||
|
return &v.sizeCache
|
||||||
|
case 2:
|
||||||
|
return &v.unknownFields
|
||||||
|
default:
|
||||||
|
return nil
|
||||||
|
}
|
||||||
|
}
|
||||||
|
file_main_proto_msgTypes[23].Exporter = func(v interface{}, i int) interface{} {
|
||||||
|
switch v := v.(*GiveApplicationsReq); i {
|
||||||
|
case 0:
|
||||||
|
return &v.state
|
||||||
|
case 1:
|
||||||
|
return &v.sizeCache
|
||||||
|
case 2:
|
||||||
|
return &v.unknownFields
|
||||||
|
default:
|
||||||
|
return nil
|
||||||
|
}
|
||||||
|
}
|
||||||
|
file_main_proto_msgTypes[24].Exporter = func(v interface{}, i int) interface{} {
|
||||||
switch v := v.(*GiveApplicationsRsp); i {
|
switch v := v.(*GiveApplicationsRsp); i {
|
||||||
case 0:
|
case 0:
|
||||||
return &v.state
|
return &v.state
|
||||||
@ -1646,7 +1768,7 @@ func file_main_proto_init() {
|
|||||||
GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
|
GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
|
||||||
RawDescriptor: file_main_proto_rawDesc,
|
RawDescriptor: file_main_proto_rawDesc,
|
||||||
NumEnums: 0,
|
NumEnums: 0,
|
||||||
NumMessages: 23,
|
NumMessages: 25,
|
||||||
NumExtensions: 0,
|
NumExtensions: 0,
|
||||||
NumServices: 1,
|
NumServices: 1,
|
||||||
},
|
},
|
||||||
|
@ -155,6 +155,24 @@ func local_request_EveningDetective_AddAction_0(ctx context.Context, marshaler r
|
|||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
func request_EveningDetective_GetGame_0(ctx context.Context, marshaler runtime.Marshaler, client EveningDetectiveClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) {
|
||||||
|
var protoReq GetGameReq
|
||||||
|
var metadata runtime.ServerMetadata
|
||||||
|
|
||||||
|
msg, err := client.GetGame(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD))
|
||||||
|
return msg, metadata, err
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
func local_request_EveningDetective_GetGame_0(ctx context.Context, marshaler runtime.Marshaler, server EveningDetectiveServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) {
|
||||||
|
var protoReq GetGameReq
|
||||||
|
var metadata runtime.ServerMetadata
|
||||||
|
|
||||||
|
msg, err := server.GetGame(ctx, &protoReq)
|
||||||
|
return msg, metadata, err
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
func request_EveningDetective_GameStart_0(ctx context.Context, marshaler runtime.Marshaler, client EveningDetectiveClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) {
|
func request_EveningDetective_GameStart_0(ctx context.Context, marshaler runtime.Marshaler, client EveningDetectiveClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) {
|
||||||
var protoReq GameStartReq
|
var protoReq GameStartReq
|
||||||
var metadata runtime.ServerMetadata
|
var metadata runtime.ServerMetadata
|
||||||
@ -423,6 +441,31 @@ func RegisterEveningDetectiveHandlerServer(ctx context.Context, mux *runtime.Ser
|
|||||||
|
|
||||||
})
|
})
|
||||||
|
|
||||||
|
mux.Handle("GET", pattern_EveningDetective_GetGame_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)
|
||||||
|
var err error
|
||||||
|
var annotatedContext context.Context
|
||||||
|
annotatedContext, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/crabs.evening_detective.EveningDetective/GetGame", runtime.WithHTTPPathPattern("/game"))
|
||||||
|
if err != nil {
|
||||||
|
runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err)
|
||||||
|
return
|
||||||
|
}
|
||||||
|
resp, md, err := local_request_EveningDetective_GetGame_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_EveningDetective_GetGame_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...)
|
||||||
|
|
||||||
|
})
|
||||||
|
|
||||||
mux.Handle("POST", pattern_EveningDetective_GameStart_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) {
|
mux.Handle("POST", pattern_EveningDetective_GameStart_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) {
|
||||||
ctx, cancel := context.WithCancel(req.Context())
|
ctx, cancel := context.WithCancel(req.Context())
|
||||||
defer cancel()
|
defer cancel()
|
||||||
@ -671,6 +714,28 @@ func RegisterEveningDetectiveHandlerClient(ctx context.Context, mux *runtime.Ser
|
|||||||
|
|
||||||
})
|
})
|
||||||
|
|
||||||
|
mux.Handle("GET", pattern_EveningDetective_GetGame_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)
|
||||||
|
var err error
|
||||||
|
var annotatedContext context.Context
|
||||||
|
annotatedContext, err = runtime.AnnotateContext(ctx, mux, req, "/crabs.evening_detective.EveningDetective/GetGame", runtime.WithHTTPPathPattern("/game"))
|
||||||
|
if err != nil {
|
||||||
|
runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err)
|
||||||
|
return
|
||||||
|
}
|
||||||
|
resp, md, err := request_EveningDetective_GetGame_0(annotatedContext, inboundMarshaler, client, req, pathParams)
|
||||||
|
annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md)
|
||||||
|
if err != nil {
|
||||||
|
runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err)
|
||||||
|
return
|
||||||
|
}
|
||||||
|
|
||||||
|
forward_EveningDetective_GetGame_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...)
|
||||||
|
|
||||||
|
})
|
||||||
|
|
||||||
mux.Handle("POST", pattern_EveningDetective_GameStart_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) {
|
mux.Handle("POST", pattern_EveningDetective_GameStart_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) {
|
||||||
ctx, cancel := context.WithCancel(req.Context())
|
ctx, cancel := context.WithCancel(req.Context())
|
||||||
defer cancel()
|
defer cancel()
|
||||||
@ -753,6 +818,8 @@ var (
|
|||||||
|
|
||||||
pattern_EveningDetective_AddAction_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1}, []string{"team", "actions"}, ""))
|
pattern_EveningDetective_AddAction_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1}, []string{"team", "actions"}, ""))
|
||||||
|
|
||||||
|
pattern_EveningDetective_GetGame_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0}, []string{"game"}, ""))
|
||||||
|
|
||||||
pattern_EveningDetective_GameStart_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1}, []string{"game", "start"}, ""))
|
pattern_EveningDetective_GameStart_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1}, []string{"game", "start"}, ""))
|
||||||
|
|
||||||
pattern_EveningDetective_GameStop_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1}, []string{"game", "stop"}, ""))
|
pattern_EveningDetective_GameStop_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1}, []string{"game", "stop"}, ""))
|
||||||
@ -773,6 +840,8 @@ var (
|
|||||||
|
|
||||||
forward_EveningDetective_AddAction_0 = runtime.ForwardResponseMessage
|
forward_EveningDetective_AddAction_0 = runtime.ForwardResponseMessage
|
||||||
|
|
||||||
|
forward_EveningDetective_GetGame_0 = runtime.ForwardResponseMessage
|
||||||
|
|
||||||
forward_EveningDetective_GameStart_0 = runtime.ForwardResponseMessage
|
forward_EveningDetective_GameStart_0 = runtime.ForwardResponseMessage
|
||||||
|
|
||||||
forward_EveningDetective_GameStop_0 = runtime.ForwardResponseMessage
|
forward_EveningDetective_GameStop_0 = runtime.ForwardResponseMessage
|
||||||
|
@ -33,6 +33,28 @@
|
|||||||
]
|
]
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
"/game": {
|
||||||
|
"get": {
|
||||||
|
"operationId": "EveningDetective_GetGame",
|
||||||
|
"responses": {
|
||||||
|
"200": {
|
||||||
|
"description": "A successful response.",
|
||||||
|
"schema": {
|
||||||
|
"$ref": "#/definitions/evening_detectiveGetGameRsp"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"default": {
|
||||||
|
"description": "An unexpected error response.",
|
||||||
|
"schema": {
|
||||||
|
"$ref": "#/definitions/runtimeError"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"tags": [
|
||||||
|
"EveningDetective"
|
||||||
|
]
|
||||||
|
}
|
||||||
|
},
|
||||||
"/game/start": {
|
"/game/start": {
|
||||||
"post": {
|
"post": {
|
||||||
"operationId": "EveningDetective_GameStart",
|
"operationId": "EveningDetective_GameStart",
|
||||||
@ -356,6 +378,14 @@
|
|||||||
"evening_detectiveGameStopRsp": {
|
"evening_detectiveGameStopRsp": {
|
||||||
"type": "object"
|
"type": "object"
|
||||||
},
|
},
|
||||||
|
"evening_detectiveGetGameRsp": {
|
||||||
|
"type": "object",
|
||||||
|
"properties": {
|
||||||
|
"state": {
|
||||||
|
"type": "string"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
"evening_detectiveGetTeamRsp": {
|
"evening_detectiveGetTeamRsp": {
|
||||||
"type": "object",
|
"type": "object",
|
||||||
"properties": {
|
"properties": {
|
||||||
|
@ -25,6 +25,7 @@ const (
|
|||||||
EveningDetective_GetTeamsCSV_FullMethodName = "/crabs.evening_detective.EveningDetective/GetTeamsCSV"
|
EveningDetective_GetTeamsCSV_FullMethodName = "/crabs.evening_detective.EveningDetective/GetTeamsCSV"
|
||||||
EveningDetective_GetTeam_FullMethodName = "/crabs.evening_detective.EveningDetective/GetTeam"
|
EveningDetective_GetTeam_FullMethodName = "/crabs.evening_detective.EveningDetective/GetTeam"
|
||||||
EveningDetective_AddAction_FullMethodName = "/crabs.evening_detective.EveningDetective/AddAction"
|
EveningDetective_AddAction_FullMethodName = "/crabs.evening_detective.EveningDetective/AddAction"
|
||||||
|
EveningDetective_GetGame_FullMethodName = "/crabs.evening_detective.EveningDetective/GetGame"
|
||||||
EveningDetective_GameStart_FullMethodName = "/crabs.evening_detective.EveningDetective/GameStart"
|
EveningDetective_GameStart_FullMethodName = "/crabs.evening_detective.EveningDetective/GameStart"
|
||||||
EveningDetective_GameStop_FullMethodName = "/crabs.evening_detective.EveningDetective/GameStop"
|
EveningDetective_GameStop_FullMethodName = "/crabs.evening_detective.EveningDetective/GameStop"
|
||||||
EveningDetective_GiveApplications_FullMethodName = "/crabs.evening_detective.EveningDetective/GiveApplications"
|
EveningDetective_GiveApplications_FullMethodName = "/crabs.evening_detective.EveningDetective/GiveApplications"
|
||||||
@ -40,6 +41,7 @@ type EveningDetectiveClient interface {
|
|||||||
GetTeamsCSV(ctx context.Context, in *GetTeamsCSVReq, opts ...grpc.CallOption) (*GetTeamsCSVRsp, error)
|
GetTeamsCSV(ctx context.Context, in *GetTeamsCSVReq, opts ...grpc.CallOption) (*GetTeamsCSVRsp, error)
|
||||||
GetTeam(ctx context.Context, in *GetTeamReq, opts ...grpc.CallOption) (*GetTeamRsp, error)
|
GetTeam(ctx context.Context, in *GetTeamReq, opts ...grpc.CallOption) (*GetTeamRsp, error)
|
||||||
AddAction(ctx context.Context, in *AddActionReq, opts ...grpc.CallOption) (*AddActionRsp, error)
|
AddAction(ctx context.Context, in *AddActionReq, opts ...grpc.CallOption) (*AddActionRsp, error)
|
||||||
|
GetGame(ctx context.Context, in *GetGameReq, opts ...grpc.CallOption) (*GetGameRsp, error)
|
||||||
GameStart(ctx context.Context, in *GameStartReq, opts ...grpc.CallOption) (*GameStartRsp, error)
|
GameStart(ctx context.Context, in *GameStartReq, opts ...grpc.CallOption) (*GameStartRsp, error)
|
||||||
GameStop(ctx context.Context, in *GameStopReq, opts ...grpc.CallOption) (*GameStopRsp, error)
|
GameStop(ctx context.Context, in *GameStopReq, opts ...grpc.CallOption) (*GameStopRsp, error)
|
||||||
GiveApplications(ctx context.Context, in *GiveApplicationsReq, opts ...grpc.CallOption) (*GiveApplicationsRsp, error)
|
GiveApplications(ctx context.Context, in *GiveApplicationsReq, opts ...grpc.CallOption) (*GiveApplicationsRsp, error)
|
||||||
@ -107,6 +109,15 @@ func (c *eveningDetectiveClient) AddAction(ctx context.Context, in *AddActionReq
|
|||||||
return out, nil
|
return out, nil
|
||||||
}
|
}
|
||||||
|
|
||||||
|
func (c *eveningDetectiveClient) GetGame(ctx context.Context, in *GetGameReq, opts ...grpc.CallOption) (*GetGameRsp, error) {
|
||||||
|
out := new(GetGameRsp)
|
||||||
|
err := c.cc.Invoke(ctx, EveningDetective_GetGame_FullMethodName, in, out, opts...)
|
||||||
|
if err != nil {
|
||||||
|
return nil, err
|
||||||
|
}
|
||||||
|
return out, nil
|
||||||
|
}
|
||||||
|
|
||||||
func (c *eveningDetectiveClient) GameStart(ctx context.Context, in *GameStartReq, opts ...grpc.CallOption) (*GameStartRsp, error) {
|
func (c *eveningDetectiveClient) GameStart(ctx context.Context, in *GameStartReq, opts ...grpc.CallOption) (*GameStartRsp, error) {
|
||||||
out := new(GameStartRsp)
|
out := new(GameStartRsp)
|
||||||
err := c.cc.Invoke(ctx, EveningDetective_GameStart_FullMethodName, in, out, opts...)
|
err := c.cc.Invoke(ctx, EveningDetective_GameStart_FullMethodName, in, out, opts...)
|
||||||
@ -144,6 +155,7 @@ type EveningDetectiveServer interface {
|
|||||||
GetTeamsCSV(context.Context, *GetTeamsCSVReq) (*GetTeamsCSVRsp, error)
|
GetTeamsCSV(context.Context, *GetTeamsCSVReq) (*GetTeamsCSVRsp, error)
|
||||||
GetTeam(context.Context, *GetTeamReq) (*GetTeamRsp, error)
|
GetTeam(context.Context, *GetTeamReq) (*GetTeamRsp, error)
|
||||||
AddAction(context.Context, *AddActionReq) (*AddActionRsp, error)
|
AddAction(context.Context, *AddActionReq) (*AddActionRsp, error)
|
||||||
|
GetGame(context.Context, *GetGameReq) (*GetGameRsp, error)
|
||||||
GameStart(context.Context, *GameStartReq) (*GameStartRsp, error)
|
GameStart(context.Context, *GameStartReq) (*GameStartRsp, error)
|
||||||
GameStop(context.Context, *GameStopReq) (*GameStopRsp, error)
|
GameStop(context.Context, *GameStopReq) (*GameStopRsp, error)
|
||||||
GiveApplications(context.Context, *GiveApplicationsReq) (*GiveApplicationsRsp, error)
|
GiveApplications(context.Context, *GiveApplicationsReq) (*GiveApplicationsRsp, error)
|
||||||
@ -172,6 +184,9 @@ func (UnimplementedEveningDetectiveServer) GetTeam(context.Context, *GetTeamReq)
|
|||||||
func (UnimplementedEveningDetectiveServer) AddAction(context.Context, *AddActionReq) (*AddActionRsp, error) {
|
func (UnimplementedEveningDetectiveServer) AddAction(context.Context, *AddActionReq) (*AddActionRsp, error) {
|
||||||
return nil, status.Errorf(codes.Unimplemented, "method AddAction not implemented")
|
return nil, status.Errorf(codes.Unimplemented, "method AddAction not implemented")
|
||||||
}
|
}
|
||||||
|
func (UnimplementedEveningDetectiveServer) GetGame(context.Context, *GetGameReq) (*GetGameRsp, error) {
|
||||||
|
return nil, status.Errorf(codes.Unimplemented, "method GetGame not implemented")
|
||||||
|
}
|
||||||
func (UnimplementedEveningDetectiveServer) GameStart(context.Context, *GameStartReq) (*GameStartRsp, error) {
|
func (UnimplementedEveningDetectiveServer) GameStart(context.Context, *GameStartReq) (*GameStartRsp, error) {
|
||||||
return nil, status.Errorf(codes.Unimplemented, "method GameStart not implemented")
|
return nil, status.Errorf(codes.Unimplemented, "method GameStart not implemented")
|
||||||
}
|
}
|
||||||
@ -302,6 +317,24 @@ func _EveningDetective_AddAction_Handler(srv interface{}, ctx context.Context, d
|
|||||||
return interceptor(ctx, in, info, handler)
|
return interceptor(ctx, in, info, handler)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
func _EveningDetective_GetGame_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
|
||||||
|
in := new(GetGameReq)
|
||||||
|
if err := dec(in); err != nil {
|
||||||
|
return nil, err
|
||||||
|
}
|
||||||
|
if interceptor == nil {
|
||||||
|
return srv.(EveningDetectiveServer).GetGame(ctx, in)
|
||||||
|
}
|
||||||
|
info := &grpc.UnaryServerInfo{
|
||||||
|
Server: srv,
|
||||||
|
FullMethod: EveningDetective_GetGame_FullMethodName,
|
||||||
|
}
|
||||||
|
handler := func(ctx context.Context, req interface{}) (interface{}, error) {
|
||||||
|
return srv.(EveningDetectiveServer).GetGame(ctx, req.(*GetGameReq))
|
||||||
|
}
|
||||||
|
return interceptor(ctx, in, info, handler)
|
||||||
|
}
|
||||||
|
|
||||||
func _EveningDetective_GameStart_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
|
func _EveningDetective_GameStart_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
|
||||||
in := new(GameStartReq)
|
in := new(GameStartReq)
|
||||||
if err := dec(in); err != nil {
|
if err := dec(in); err != nil {
|
||||||
@ -387,6 +420,10 @@ var EveningDetective_ServiceDesc = grpc.ServiceDesc{
|
|||||||
MethodName: "AddAction",
|
MethodName: "AddAction",
|
||||||
Handler: _EveningDetective_AddAction_Handler,
|
Handler: _EveningDetective_AddAction_Handler,
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
MethodName: "GetGame",
|
||||||
|
Handler: _EveningDetective_GetGame_Handler,
|
||||||
|
},
|
||||||
{
|
{
|
||||||
MethodName: "GameStart",
|
MethodName: "GameStart",
|
||||||
Handler: _EveningDetective_GameStart_Handler,
|
Handler: _EveningDetective_GameStart_Handler,
|
||||||
|
BIN
static/.DS_Store
vendored
Normal file
BIN
static/.DS_Store
vendored
Normal file
Binary file not shown.
@ -1 +1 @@
|
|||||||
import{_ as o,c as s,a as t,o as a}from"./index-DNz9l3r8.js";const n={},c={class:"about"};function r(_,e){return a(),s("div",c,e[0]||(e[0]=[t("h1",null,"This is an about page",-1)]))}const l=o(n,[["render",r]]);export{l as default};
|
import{_ as o,c as s,a as t,o as a}from"./index-CdxbIVaR.js";const n={},c={class:"about"};function r(_,e){return a(),s("div",c,e[0]||(e[0]=[t("h1",null,"This is an about page",-1)]))}const l=o(n,[["render",r]]);export{l as default};
|
@ -1 +0,0 @@
|
|||||||
:root{--vt-c-white: #ffffff;--vt-c-white-soft: #f8f8f8;--vt-c-white-mute: #f2f2f2;--vt-c-black: #181818;--vt-c-black-soft: #222222;--vt-c-black-mute: #282828;--vt-c-indigo: #2c3e50;--vt-c-divider-light-1: rgba(60, 60, 60, .29);--vt-c-divider-light-2: rgba(60, 60, 60, .12);--vt-c-divider-dark-1: rgba(84, 84, 84, .65);--vt-c-divider-dark-2: rgba(84, 84, 84, .48);--vt-c-text-light-1: var(--vt-c-indigo);--vt-c-text-light-2: rgba(60, 60, 60, .66);--vt-c-text-dark-1: var(--vt-c-white);--vt-c-text-dark-2: rgba(235, 235, 235, .64);--main-color: rgba(115, 185, 83, 1);--second-color: rgba(98, 156, 68, 1);--main-back-color: rgba(240, 240, 240, 1);--main-back-item-color: rgba(254, 254, 254, 1)}:root{--color-background: var(--vt-c-white);--color-background-soft: var(--vt-c-white-soft);--color-background-mute: var(--vt-c-white-mute);--color-border: var(--vt-c-divider-light-2);--color-border-hover: var(--vt-c-divider-light-1);--color-heading: var(--vt-c-text-light-1);--color-text: var(--vt-c-text-light-1);--section-gap: 160px}*,*:before,*:after{box-sizing:border-box;margin:0;font-weight:400}body{min-height:100dvh;color:var(--color-text);background:var(--main-back-color);transition:color .5s,background-color .5s;line-height:1.6;font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;font-size:15px;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.header-block{height:50px;background-color:var(--main-color);font-size:large;color:#fff;vertical-align:middle;padding:10px 0 10px 16px;font-weight:700}.input-custom{width:100%;box-sizing:border-box;margin-bottom:15px}.button-custom{margin-left:auto;background-color:var(--main-color);font-weight:600;color:#fff}.button-custom:hover{background-color:var(--second-color)}.input-custom,.button-custom{padding:12px 16px;border:1px solid #ddd;border-radius:15px;font-size:16px}.button-container{display:flex}.center-message{display:flex;justify-content:center;align-items:center;height:calc(100dvh - 100px);text-align:center}header[data-v-e5db0c22]{line-height:1.5;max-height:100vh}.logo[data-v-e5db0c22]{display:block;margin:0 auto 2rem}nav[data-v-e5db0c22]{width:100%;font-size:12px;text-align:center;margin-top:2rem}nav a.router-link-exact-active[data-v-e5db0c22]{color:var(--color-text)}nav a.router-link-exact-active[data-v-e5db0c22]:hover{background-color:transparent}nav a[data-v-e5db0c22]{display:inline-block;padding:0 1rem;border-left:1px solid var(--color-border)}nav a[data-v-e5db0c22]:first-of-type{border:0}@media (min-width: 1024px){header[data-v-e5db0c22]{display:flex;place-items:center;padding-right:calc(var(--section-gap) / 2)}.logo[data-v-e5db0c22]{margin:0 2rem 0 0}header .wrapper[data-v-e5db0c22]{display:flex;place-items:flex-start;flex-wrap:wrap}nav[data-v-e5db0c22]{text-align:left;margin-left:-1rem;font-size:1rem;padding:1rem 0;margin-top:1rem}}body[data-v-a696cd7e]{font-family:Arial,sans-serif;margin:20px}table[data-v-a696cd7e]{width:700px;border-collapse:collapse;margin:30px auto;border:1px solid #444444}th[data-v-a696cd7e],td[data-v-a696cd7e]{padding:12px;text-align:left}th[data-v-a696cd7e]{background-color:var(--main-color);color:#fff;font-weight:700}tr[data-v-a696cd7e]:nth-child(odd){background-color:#e9f0e6}tr[data-v-a696cd7e]:nth-child(2n){background-color:#fff}tr[data-v-a696cd7e]:hover{background-color:#cfcfcf}.time[data-v-a696cd7e]{white-space:nowrap}.team-name[data-v-a696cd7e]{font-weight:600}.link-button[data-v-a696cd7e]{display:inline;border:none;background:none;padding:0;margin:0;font:inherit;cursor:pointer;color:var(--main-color);text-decoration:underline;font-weight:600;-webkit-appearance:none;-moz-appearance:none;appearance:none;line-height:inherit;text-align:left}.link-button[data-v-a696cd7e]:hover{color:var(--second-color);text-decoration:none}.link-button[data-v-a696cd7e]:active{color:#036}.link-button[data-v-a696cd7e]:focus{outline:none;text-decoration:none;box-shadow:0 0 0 2px #0066cc4d}.form-block[data-v-a696cd7e]{width:700px;margin:0 auto}a[data-v-a696cd7e]{color:var(--second-color);text-decoration:none;transition:all .2s ease;cursor:pointer}a[data-v-a696cd7e]:hover{text-decoration:underline;text-decoration-thickness:2px;text-underline-offset:3px}a[data-v-a696cd7e]:focus-visible{outline:2px solid #3182ce;outline-offset:2px;border-radius:2px}a[disabled][data-v-a696cd7e]{color:#a0aec0;pointer-events:none;cursor:not-allowed}.qr[data-v-a696cd7e]{position:absolute;top:80px;right:30px;text-align:center;width:120px}.button-container[data-v-a696cd7e]{margin-bottom:30px}
|
|
1
static/admin/assets/index-C3dpn_mY.css
Normal file
1
static/admin/assets/index-C3dpn_mY.css
Normal file
@ -0,0 +1 @@
|
|||||||
|
:root{--vt-c-white: #ffffff;--vt-c-white-soft: #f8f8f8;--vt-c-white-mute: #f2f2f2;--vt-c-black: #181818;--vt-c-black-soft: #222222;--vt-c-black-mute: #282828;--vt-c-indigo: #2c3e50;--vt-c-divider-light-1: rgba(60, 60, 60, .29);--vt-c-divider-light-2: rgba(60, 60, 60, .12);--vt-c-divider-dark-1: rgba(84, 84, 84, .65);--vt-c-divider-dark-2: rgba(84, 84, 84, .48);--vt-c-text-light-1: var(--vt-c-indigo);--vt-c-text-light-2: rgba(60, 60, 60, .66);--vt-c-text-dark-1: var(--vt-c-white);--vt-c-text-dark-2: rgba(235, 235, 235, .64);--main-color: rgba(34, 50, 60, 1);--second-color: rgb(136, 105, 31);--main-back-color: rgba(240, 240, 240, 1);--main-back-item-color: rgba(254, 254, 254, 1)}:root{--color-background: var(--vt-c-white);--color-background-soft: var(--vt-c-white-soft);--color-background-mute: var(--vt-c-white-mute);--color-border: var(--vt-c-divider-light-2);--color-border-hover: var(--vt-c-divider-light-1);--color-heading: var(--vt-c-text-light-1);--color-text: var(--vt-c-text-light-1);--section-gap: 160px}*,*:before,*:after{box-sizing:border-box;margin:0;font-weight:400}body{min-height:100dvh;color:var(--color-text);background:var(--main-back-color);transition:color .5s,background-color .5s;line-height:1.6;font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;font-size:15px;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.header-block{height:50px;background-color:var(--main-color);font-size:large;color:#fff;vertical-align:middle;padding:10px 0 10px 16px;font-weight:700}.input-custom{width:100%;box-sizing:border-box;margin-bottom:15px}.button-custom{margin-left:auto;background-color:var(--main-color);font-weight:600;color:#fff}.button-custom:hover{background-color:var(--second-color)}.input-custom,.button-custom{padding:12px 16px;border:1px solid #ddd;border-radius:15px;font-size:16px}.button-container{display:flex}.center-message{display:flex;justify-content:center;align-items:center;height:calc(100dvh - 100px);text-align:center}header[data-v-e5db0c22]{line-height:1.5;max-height:100vh}.logo[data-v-e5db0c22]{display:block;margin:0 auto 2rem}nav[data-v-e5db0c22]{width:100%;font-size:12px;text-align:center;margin-top:2rem}nav a.router-link-exact-active[data-v-e5db0c22]{color:var(--color-text)}nav a.router-link-exact-active[data-v-e5db0c22]:hover{background-color:transparent}nav a[data-v-e5db0c22]{display:inline-block;padding:0 1rem;border-left:1px solid var(--color-border)}nav a[data-v-e5db0c22]:first-of-type{border:0}@media (min-width: 1024px){header[data-v-e5db0c22]{display:flex;place-items:center;padding-right:calc(var(--section-gap) / 2)}.logo[data-v-e5db0c22]{margin:0 2rem 0 0}header .wrapper[data-v-e5db0c22]{display:flex;place-items:flex-start;flex-wrap:wrap}nav[data-v-e5db0c22]{text-align:left;margin-left:-1rem;font-size:1rem;padding:1rem 0;margin-top:1rem}}body[data-v-8c48c65f]{font-family:Arial,sans-serif;margin:20px}.buttons-block[data-v-8c48c65f]{padding-top:20px}.button-menu[data-v-8c48c65f]{margin:5px}table[data-v-8c48c65f]{width:700px;border-collapse:collapse;margin:30px auto;border:1px solid #444444}th[data-v-8c48c65f],td[data-v-8c48c65f]{padding:12px;text-align:left}th[data-v-8c48c65f]{background-color:var(--main-color);color:#fff;font-weight:700}tr[data-v-8c48c65f]:nth-child(odd){background-color:#efefef}tr[data-v-8c48c65f]:nth-child(2n){background-color:#fff}tr[data-v-8c48c65f]:hover{background-color:#cfcfcf}.time[data-v-8c48c65f]{white-space:nowrap}.team-name[data-v-8c48c65f]{font-weight:600}.link-button[data-v-8c48c65f]{display:inline;border:none;background:none;padding:0;margin:0;font:inherit;cursor:pointer;color:var(--main-color);text-decoration:underline;font-weight:600;-webkit-appearance:none;-moz-appearance:none;appearance:none;line-height:inherit;text-align:left}.link-button[data-v-8c48c65f]:hover{color:var(--second-color);text-decoration:none}.link-button[data-v-8c48c65f]:active{color:#036}.link-button[data-v-8c48c65f]:focus{outline:none;text-decoration:none;box-shadow:0 0 0 2px #0066cc4d}.form-block[data-v-8c48c65f]{width:700px;margin:0 auto}a[data-v-8c48c65f]{color:var(--second-color);text-decoration:none;transition:all .2s ease;cursor:pointer}a[data-v-8c48c65f]:hover{text-decoration:underline;text-decoration-thickness:2px;text-underline-offset:3px}a[data-v-8c48c65f]:focus-visible{outline:2px solid #3182ce;outline-offset:2px;border-radius:2px}a[disabled][data-v-8c48c65f]{color:#a0aec0;pointer-events:none;cursor:not-allowed}.qr[data-v-8c48c65f]{position:absolute;top:80px;right:30px;text-align:center;width:120px}.button-container[data-v-8c48c65f]{margin-bottom:30px}
|
33
static/admin/assets/index-CdxbIVaR.js
Normal file
33
static/admin/assets/index-CdxbIVaR.js
Normal file
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
@ -5,8 +5,8 @@
|
|||||||
<link rel="icon" href="/favicon.ico">
|
<link rel="icon" href="/favicon.ico">
|
||||||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||||
<title>ВД Админка</title>
|
<title>ВД Админка</title>
|
||||||
<script type="module" crossorigin src="/assets/index-DNz9l3r8.js"></script>
|
<script type="module" crossorigin src="/assets/index-CdxbIVaR.js"></script>
|
||||||
<link rel="stylesheet" crossorigin href="/assets/index-BJ3dZ1mc.css">
|
<link rel="stylesheet" crossorigin href="/assets/index-C3dpn_mY.css">
|
||||||
</head>
|
</head>
|
||||||
<body>
|
<body>
|
||||||
<div id="app"></div>
|
<div id="app"></div>
|
||||||
|
@ -1 +1 @@
|
|||||||
import{_ as o,c as s,a as t,o as a}from"./index-DuNBa2Ey.js";const n={},c={class:"about"};function r(_,e){return a(),s("div",c,e[0]||(e[0]=[t("h1",null,"This is an about page",-1)]))}const l=o(n,[["render",r]]);export{l as default};
|
import{_ as o,c as s,a as t,o as a}from"./index-C99bTfI6.js";const n={},c={class:"about"};function r(_,e){return a(),s("div",c,e[0]||(e[0]=[t("h1",null,"This is an about page",-1)]))}const l=o(n,[["render",r]]);export{l as default};
|
@ -1 +0,0 @@
|
|||||||
:root{--vt-c-white: #ffffff;--vt-c-white-soft: #f8f8f8;--vt-c-white-mute: #f2f2f2;--vt-c-black: #181818;--vt-c-black-soft: #222222;--vt-c-black-mute: #282828;--vt-c-indigo: #2c3e50;--vt-c-divider-light-1: rgba(60, 60, 60, .29);--vt-c-divider-light-2: rgba(60, 60, 60, .12);--vt-c-divider-dark-1: rgba(84, 84, 84, .65);--vt-c-divider-dark-2: rgba(84, 84, 84, .48);--vt-c-text-light-1: var(--vt-c-indigo);--vt-c-text-light-2: rgba(60, 60, 60, .66);--vt-c-text-dark-1: var(--vt-c-white);--vt-c-text-dark-2: rgba(235, 235, 235, .64);--main-color: rgba(34, 50, 60, 1);--second-color: rgb(136, 105, 31);--main-back-color: rgba(240, 240, 240, 1);--main-back-item-color: rgba(254, 254, 254, 1)}:root{--color-background: var(--vt-c-white);--color-background-soft: var(--vt-c-white-soft);--color-background-mute: var(--vt-c-white-mute);--color-border: var(--vt-c-divider-light-2);--color-border-hover: var(--vt-c-divider-light-1);--color-heading: var(--vt-c-text-light-1);--color-text: var(--vt-c-text-light-1);--section-gap: 160px}*,*:before,*:after{box-sizing:border-box;margin:0;font-weight:400}body{min-height:100dvh;color:var(--color-text);background:var(--main-back-color);transition:color .5s,background-color .5s;line-height:1.6;font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;font-size:15px;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.header-block{height:60px;background-color:var(--main-color);font-size:large;color:#fff;vertical-align:middle;padding:15px 0 10px 16px;font-weight:700}.input-custom{width:100%;box-sizing:border-box;margin-bottom:15px}.button-custom{margin-left:auto;background-color:var(--main-color);font-weight:600;color:#fff}.button-custom:hover{background-color:var(--main-color);opacity:.9}.input-custom,.button-custom{padding:12px 16px;border:1px solid #ddd;border-radius:15px;font-size:16px}.button-container{display:flex}.center-message{display:flex;justify-content:center;align-items:center;height:calc(100dvh - 100px);text-align:center}header[data-v-913ef6b1]{line-height:1.5;max-height:100vh}.logo[data-v-913ef6b1]{display:block;margin:0 auto 2rem}nav[data-v-913ef6b1]{width:100%;font-size:12px;text-align:center;margin-top:2rem}nav a.router-link-exact-active[data-v-913ef6b1]{color:var(--color-text)}nav a.router-link-exact-active[data-v-913ef6b1]:hover{background-color:transparent}nav a[data-v-913ef6b1]{display:inline-block;padding:0 1rem;border-left:1px solid var(--color-border)}nav a[data-v-913ef6b1]:first-of-type{border:0}@media (min-width: 1024px){header[data-v-913ef6b1]{display:flex;place-items:center;padding-right:calc(var(--section-gap) / 2)}.logo[data-v-913ef6b1]{margin:0 2rem 0 0}header .wrapper[data-v-913ef6b1]{display:flex;place-items:flex-start;flex-wrap:wrap}nav[data-v-913ef6b1]{text-align:left;margin-left:-1rem;font-size:1rem;padding:1rem 0;margin-top:1rem}}body[data-v-e4c8675b]{overflow:hidden}.hr[data-v-e4c8675b]{margin:7px 0}.body-custom[data-v-e4c8675b]{font-size:medium}.logo[data-v-e4c8675b]{float:left;margin:10px}.form-custom[data-v-e4c8675b]{border:1px solid #444444;background-color:var(--main-back-color);position:fixed;bottom:0;left:0;width:100%;padding:20px;color:#fff}.message-cloud[data-v-e4c8675b]{border:1px solid #444444;border-radius:15px;margin:12px 2px;padding:16px;background-color:var(--main-back-item-color)}.message-header[data-v-e4c8675b]{font-size:large;font-weight:200}.message-content[data-v-e4c8675b]{font-weight:500;white-space:pre-line}.message-footer[data-v-e4c8675b]{font-weight:400;color:var(--second-color)}.form-block[data-v-e4c8675b]{height:140px}.messages-block[data-v-e4c8675b]{height:calc(100dvh - 190px);overflow-y:auto;scrollbar-width:none}@media (min-width: 1025px){.center-block-custom[data-v-e4c8675b]{width:700px;margin:0 auto}}.center-message[data-v-e4c8675b]{height:calc(100dvh - 140px)}.error-message[data-v-13746d20]{color:brown;margin:16px 0}
|
|
File diff suppressed because one or more lines are too long
1
static/user/assets/index-DCF9Sqnk.css
Normal file
1
static/user/assets/index-DCF9Sqnk.css
Normal file
@ -0,0 +1 @@
|
|||||||
|
:root{--vt-c-white: #ffffff;--vt-c-white-soft: #f8f8f8;--vt-c-white-mute: #f2f2f2;--vt-c-black: #181818;--vt-c-black-soft: #222222;--vt-c-black-mute: #282828;--vt-c-indigo: #2c3e50;--vt-c-divider-light-1: rgba(60, 60, 60, .29);--vt-c-divider-light-2: rgba(60, 60, 60, .12);--vt-c-divider-dark-1: rgba(84, 84, 84, .65);--vt-c-divider-dark-2: rgba(84, 84, 84, .48);--vt-c-text-light-1: var(--vt-c-indigo);--vt-c-text-light-2: rgba(60, 60, 60, .66);--vt-c-text-dark-1: var(--vt-c-white);--vt-c-text-dark-2: rgba(235, 235, 235, .64);--main-color: rgba(34, 50, 60, 1);--second-color: rgb(136, 105, 31);--main-back-color: rgba(240, 240, 240, 1);--main-back-item-color: rgba(254, 254, 254, 1)}:root{--color-background: var(--vt-c-white);--color-background-soft: var(--vt-c-white-soft);--color-background-mute: var(--vt-c-white-mute);--color-border: var(--vt-c-divider-light-2);--color-border-hover: var(--vt-c-divider-light-1);--color-heading: var(--vt-c-text-light-1);--color-text: var(--vt-c-text-light-1);--section-gap: 160px}*,*:before,*:after{box-sizing:border-box;margin:0;font-weight:400}body{min-height:100dvh;color:var(--color-text);background:var(--main-back-color);transition:color .5s,background-color .5s;line-height:1.6;font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;font-size:15px;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.header-block{height:60px;background-color:var(--main-color);font-size:large;color:#fff;vertical-align:middle;padding:15px 0 10px 16px;font-weight:700}.input-custom{width:100%;box-sizing:border-box;margin-bottom:15px}.button-custom{margin-left:auto;background-color:var(--main-color);font-weight:600;color:#fff}.button-custom:hover{background-color:var(--main-color);opacity:.9}.button-custom:disabled{opacity:.5}.input-custom,.button-custom{padding:12px 16px;border:1px solid #ddd;border-radius:15px;font-size:16px}.button-container{display:flex}.center-message{display:flex;justify-content:center;align-items:center;height:calc(100dvh - 100px);text-align:center}header[data-v-913ef6b1]{line-height:1.5;max-height:100vh}.logo[data-v-913ef6b1]{display:block;margin:0 auto 2rem}nav[data-v-913ef6b1]{width:100%;font-size:12px;text-align:center;margin-top:2rem}nav a.router-link-exact-active[data-v-913ef6b1]{color:var(--color-text)}nav a.router-link-exact-active[data-v-913ef6b1]:hover{background-color:transparent}nav a[data-v-913ef6b1]{display:inline-block;padding:0 1rem;border-left:1px solid var(--color-border)}nav a[data-v-913ef6b1]:first-of-type{border:0}@media (min-width: 1024px){header[data-v-913ef6b1]{display:flex;place-items:center;padding-right:calc(var(--section-gap) / 2)}.logo[data-v-913ef6b1]{margin:0 2rem 0 0}header .wrapper[data-v-913ef6b1]{display:flex;place-items:flex-start;flex-wrap:wrap}nav[data-v-913ef6b1]{text-align:left;margin-left:-1rem;font-size:1rem;padding:1rem 0;margin-top:1rem}}body[data-v-a43a0f9c]{overflow:hidden}.hr[data-v-a43a0f9c]{margin:7px 0}.body-custom[data-v-a43a0f9c]{font-size:medium}.info-custom[data-v-a43a0f9c]{padding-left:15px}.logo[data-v-a43a0f9c]{float:left;margin:10px}.second-color[data-v-a43a0f9c]{color:var(--second-color)}.form-custom[data-v-a43a0f9c]{border:1px solid #444444;background-color:var(--main-back-color);position:fixed;bottom:0;left:0;width:100%;padding:20px;color:#fff}.message-cloud[data-v-a43a0f9c]{border:1px solid #444444;border-radius:15px;margin:12px 10px;padding:16px;background-color:var(--main-back-item-color)}.message-header[data-v-a43a0f9c]{font-size:large;font-weight:200}.message-content[data-v-a43a0f9c]{font-weight:500;white-space:pre-line}.message-footer[data-v-a43a0f9c]{font-weight:400;color:var(--second-color)}.form-block[data-v-a43a0f9c]{height:140px}.messages-block[data-v-a43a0f9c]{height:calc(100dvh - 200px);overflow-y:auto;scrollbar-width:none}@media (min-width: 1025px){.center-block-custom[data-v-a43a0f9c]{width:700px;margin:0 auto}}.center-message[data-v-a43a0f9c]{height:calc(100dvh - 140px)}.error-message[data-v-13746d20]{color:brown;margin:16px 0}
|
@ -5,8 +5,8 @@
|
|||||||
<link rel="icon" href="/favicon.ico">
|
<link rel="icon" href="/favicon.ico">
|
||||||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||||
<title>Вечерний детектив</title>
|
<title>Вечерний детектив</title>
|
||||||
<script type="module" crossorigin src="/assets/index-DuNBa2Ey.js"></script>
|
<script type="module" crossorigin src="/assets/index-C99bTfI6.js"></script>
|
||||||
<link rel="stylesheet" crossorigin href="/assets/index-BdIvr4cN.css">
|
<link rel="stylesheet" crossorigin href="/assets/index-DCF9Sqnk.css">
|
||||||
</head>
|
</head>
|
||||||
<body>
|
<body>
|
||||||
<div id="app"></div>
|
<div id="app"></div>
|
||||||
|
@ -3,12 +3,12 @@
|
|||||||
{
|
{
|
||||||
"code": "ВД",
|
"code": "ВД",
|
||||||
"name": "Вечерний детектив",
|
"name": "Вечерний детектив",
|
||||||
"text": "Дело №1 “Последний костёр”\nАвторы: Фёдоров Владимир, Лисовая Дарья"
|
"text": "Дело №1 “Последний костёр”\nАвторы: Фёдоров Владимир, Лисовая Дарья\n Желают вам приятной игры."
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"code": "А",
|
"code": "А",
|
||||||
"name": "Администрация",
|
"name": "Администрация",
|
||||||
"text": "Тут работают директор и старший вожатый, на столе вы находите расписание на 23 августа. Стопку книг по педагогике и какие-то записки от детей, похоже они очень любили Лёху.",
|
"text": "Тут работают директор и старший вожатый. На столе Лехи вы находите расписание на 23 августа. Стопку книг по педагогике и какие-то записки от детей — похоже они очень любили Лёху.",
|
||||||
"applications": [
|
"applications": [
|
||||||
{
|
{
|
||||||
"name": "Расписание дня"
|
"name": "Расписание дня"
|
||||||
@ -18,7 +18,7 @@
|
|||||||
{
|
{
|
||||||
"code": "В-1",
|
"code": "В-1",
|
||||||
"name": "Вход",
|
"name": "Вход",
|
||||||
"text": "Ржавые ворота с выцветшей табличкой «Добро пожаловать в «Сосновый Бор» скрипят на ветру. За ними — узкая дорога, уходящая вглубь соснового леса. На покосившемся стенде у проходной — пожелтевший плакат с информацией:\n\n\"Лагерь «Сосновый Бор» - Место, где рождаются характеры.\"\n\n«Орлы» — спортивные, загорелые, с грамотами за победы в эстафетах. Их крики слышны даже на рассвете.\n\n«Лисы» — те, кто вместо костра сидит с книгами. Их шепотом называют «ботанами», но именно они всегда знают ответ.\n\n«Волки» — вечные нарушители. Их следы находят то на крыше столовой, то у запретной водонапорной вышки.\n\n«Совы» — тихие художники и поэты. Их рисунки иногда находят в лесу — странные, будто нарисованные не совсем их рукой.\n\nВ самом низу подпись: Директор лагеря - Виктор Сергеевич Громов."
|
"text": "Ржавые ворота с выцветшей табличкой «Добро пожаловать в «Сосновый Бор» скрипят на ветру. За ними — узкая дорога, уходящая вглубь соснового леса. На покосившемся стенде у проходной — пожелтевший плакат с информацией:\n\n\"Лагерь «Сосновый Бор» - Место, где рождаются характеры.\"\n\n«Орлы» — спортивные, загорелые, с грамотами за победы в эстафетах.\n\n«Лисы» — те, кто вместо костра сидит с книгами. Их шепотом называют «ботанами», но именно они всегда знают ответ.\n\n«Волки» — вечные нарушители. Их следы находят то на крыше столовой, то у водонапорной вышки.\n\n«Совы» — тихие художники и поэты. Их рисунки иногда находят дааже в лесу.\n\nВ самом низу подпись: Директор лагеря - Виктор Сергеевич Громов."
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"code": "В-2",
|
"code": "В-2",
|
||||||
@ -28,107 +28,127 @@
|
|||||||
{
|
{
|
||||||
"code": "Д",
|
"code": "Д",
|
||||||
"name": "Душ",
|
"name": "Душ",
|
||||||
"text": "Вы дергаете дверь душа, она закрыта, завхоз на перекуре, говорит что душ не работает, у качегара голова болит, уже вторые сутки, они громко смеются. Поговорив с женщинами вы узнаете что кормят в лагере очень плохо, даже 2 проверки приезжали, нарушений не нашли, но дети жалуются и почти не едят, Лёша сам ругаться приходил несколько раз, уж очень он за детей волновался."
|
"text": "Вы дергаете дверь душа, она закрыта. Завхоз и повариха, сидящие на лавочке рассказали, что душ не работает, что у кочегара голова болит уже вторые сутки, и почему-то громко расхохотались. Поговорив с женщинами вы узнаете что кормят в лагере очень плохо, даже 2 проверки приезжали – нарушений не нашли, но дети жалуются и почти не едят. Лёша сам ругаться приходил несколько раз, уж очень он за детей волновался."
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"code": "К-1",
|
"code": "К-1",
|
||||||
"name": "Клуб",
|
"name": "Клуб",
|
||||||
"text": "В клубе вас встречает диджей Пётр, рассказывает что дискотека прошла на ура, танцевали и пели под все самые лучшие песни. Кажется он почти не общался с Лехой и до сих пор не знает что произошло. А какие медляки, танцевал весь лагерь, правда Макса и Даши не было, они у нас главные знаменитости, танцуют медляки каждый вечер а днем делают вид что противны друг другу, думают что дети верят в их притворство."
|
"text": "В клубе вас встречает диджей Пётр. “Концерт как всегда душевный, все плакали обнимались, вроде все здесь были, хотя награждение лучший ребенок в этот раз Лёха проводил, а не броненосец, вот его то я вчера и не видел”. Он рассказывает что дискотека прошла на ура, танцевали и пели под все самые лучшие песни. Кажется он почти не общался с Лехой и до сих пор не знает что произошло: «А какие медляки, танцевал весь лагерь, правда Макса и Даши не было. Они у нас главные знаменитости, танцуют медляки каждый вечер, а днем делают вид что противны друг другу, думают что дети верят в их притворство»"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"code": "К-2",
|
"code": "К-2",
|
||||||
"name": "Костровище",
|
"name": "Костровище",
|
||||||
"text": "В глубине лагеря, за последним отрядом, расчищена круглая площадка, окруженная полукругом пеньков-сидушек, сколоченных из толстых спилов сосны. В центре — огромный костровой круг, выложенный из камней, почерневших от бесчисленных огней."
|
"text": "В глубине лагеря, за последним отрядом расчищена круглая площадка, окруженная полукругом пеньков-сидушек, сколоченных из толстых спилов сосны. В центре — огромный костровой круг, выложенный из камней, почерневших от бесчисленных огней."
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"code": "К-3",
|
||||||
|
"name": "Коморка физрука",
|
||||||
|
"text": "Тесное помещение, забитое спортинвентарём до самого потолка. В углу валяется порванный мат, из которого торчит пожелтевший поролон. На полках вперемешку лежат мячи разных видов – футбольные, волейбольные, баскетбольные, – половина из которых явно спущена. Воняет резиной, потом и старыми кроссовками."
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"code": "Л",
|
||||||
|
"name": "Лавки",
|
||||||
|
"text": "Пара покосившихся деревянных скамеек, выкрашенных когда-то в зелёную краску, но теперь облезлых до серой древесины. Сиденья испещрены выцарапанными именами, сердечками и нецензурными словами – кто-то старательно выводил их гвоздём или кончиком ключа."
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"code": "М",
|
"code": "М",
|
||||||
"name": "Медпункт",
|
"name": "Медпункт",
|
||||||
"text": "Небольшое побелено-голубое здание в тени сосен. Внутри – приемная с выцветшими плакатами про \"чистые руки\" и \"опасность клещей\", изолятор с двумя койками за занавеской, а дальше – общий душ и туалет. На столе стоят 3 кружки из под чая. Печенье \"Юбилейное\" в открытой пачке. Медицинская карта с последней записью: \"24.08.99 – Волков С. (отряд \"Орлы\") – жалобы на температуру и тошноту. Диагноз: пищевое отравление?\" В мусорном ведре вы замечаете упаковку от таблетки, 3 пакетика чая и использованный презерватив. Слабый аромат духов – дешевый, сладкий, явно не медицинский."
|
"text": "Небольшое побелено-голубое здание в тени сосен. Внутри – приемная с выцветшими плакатами про “чистые руки” и “опасность клещей”, изолятор с двумя койками за занавеской, а дальше – общий душ и туалет. На столе стоят 3 кружки из под чая. Печенье “Юбилейное” в открытой пачке. Медицинская карта с последней записью: “22:30 23.08.99 – Волкова С. (отряд “Орлы”) – жалобы на температуру и тошноту. Диагноз: пищевое отравление?” В мусорном ведре вы замечаете упаковку от таблетки, 3 пакетика чая и использованный презерватив. Слабый аромат духов – дешевый, сладкий, явно не медицинский."
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"code": "О-1",
|
"code": "О-1",
|
||||||
"name": "Отряд 1",
|
"name": "Отряд 1",
|
||||||
"text": "Белое кирпичное здание, с выложенными кирпичом \"1970\". Сбоку нарисован Чебурашка, коричневой и красной краской. Отряд опрятный но сильно пахнет потом. Койки заправлены с армейской аккуратностью. На стене – газета с детскими стихами, где кто-то красной ручкой исправил рифмы на похабные."
|
"text": "Белое кирпичное здание, с выложенными кирпичом “1970”. Сбоку нарисован Чебурашка, коричневой и красной краской. Отряд опрятный но сильно пахнет потом. Койки заправлены с армейской аккуратностью. На стене – газета с детскими стихами, где кто-то красной ручкой исправил рифмы на похабные."
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"code": "О-2",
|
"code": "О-2",
|
||||||
"name": "Отряд 2",
|
"name": "Отряд 2",
|
||||||
"text": ""
|
"text": "Тени от сосен за окном рисуют на стенах полосатые узоры. Зайдя внутрь здания, вы замечаете одного из вожатых — Кирилла. Заведя разговор о произошедшем, вы по секрету узнаёте, что его напарница Даша бегает на свиданки с вожатым первого отряда Максимом. Больше ничего необычного вы не заметили."
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"code": "О-3",
|
"code": "О-3",
|
||||||
"name": "Отряд 3",
|
"name": "Отряд 3",
|
||||||
"text": "Приближаясь, вы осматриваете кирпичное здание, с нарисованным сбоку здания мультяшным героем. Переводя взгляд в окно, вы видите детей, разбившись на группки, кто то рисует, кто то бегает, а кто то просто сидит в сторонке. Вы тоже за тем, что пропало? — раздаётся голос за спиной. Обернувшись, видите мальчика лет 12 с слишком взрослым взглядом. Лёха говорит, что если что — искать надо в \"лисах\". Только он не договорил... что именно. Он нервно оглядывается и исчезает за углом, оставив вас с новой загадкой и ощущением, что за вами уже наблюдают."
|
"text": "Приближаясь, Вы осматриваете кирпичное здание с нарисованным сбоку здания мультяшным героем. Переводя взгляд в окно, вы видите детей, разбившихся на группки: кто-то рисует, кто-то бегает, а кто-то просто сидит в сторонке. «Вы тоже за тем, что пропало?» — раздаётся голос за спиной. Обернувшись, вы видите мальчика лет 12 с слишком взрослым взглядом. «Лёха говорит, что если что — искать надо в «лисах». Только он не договорил... что именно. Он нервно оглядывается и исчезает за углом, оставив вас с новой загадкой и ощущением, что за вами уже наблюдают."
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"code": "О-4",
|
"code": "О-4",
|
||||||
"name": "Отряд 4",
|
"name": "Отряд 4",
|
||||||
"text": "У входа в отряд вы десятки пар обуви, аккуратно выставленных в ряд. Среди них вы сразу замечаете те самые кроссовки — с характерным зигзагообразным протектором, слегка запачканные грязью и... чем-то тёмным у носка. — Это Катины! — оживляется девочка с косичками, тыча пальцем в обувь. — Она их всегда носит, даже когда дождь!"
|
"text": "У входа в отряд вы десятки пар обуви, аккуратно выставленных в ряд. Среди них вы сразу замечаете те самые кроссовки с характерным зигзагообразным протектором, слегка запачканные грязью и... чем-то тёмным у носка. «Это Катины!» — оживляется девочка с косичками, тыча пальцем в обувь. — «Она их всегда носит, даже когда дождь!»"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"code": "П",
|
"code": "П",
|
||||||
"name": "Площадь",
|
"name": "Площадь",
|
||||||
"text": "Площадь в лагере, развивается флаг России, флаг лагеря, зелёное полотно с белой сосной. Чисто выметен асфальт, музыку здесь почти не слышно хотя граммофон висит на ближайшем столбе."
|
"text": "Площадь в лагере, развивается флаг России и флаг лагеря — зелёное полотно с белой сосной. Чисто выметен асфальт. Музыку здесь почти не слышно хотя граммофон висит на ближайшем столбе."
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"code": "С-1",
|
"code": "С-1",
|
||||||
"name": "Столовая",
|
"name": "Столовая",
|
||||||
"text": "В столовой пахнет хлоркой, висит плакат чистоты, там вы никого не нашли."
|
"text": "В столовой пахнет хлоркой, висит плакат чистоты. Там вы никого не нашли."
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"code": "С-2",
|
"code": "С-2",
|
||||||
"name": "Стадион",
|
"name": "Стадион",
|
||||||
"text": "На стадионе вы встречаете детей 3 и 4 отрядов, вы интересуетесь почему они не собирают вещи, вам рассказывают что их вожатые самые классные на земле, и они приучили их к спорту, каждое утро они даже бегали с Катей вокруг стадиона и водонапорной вышки. Но сегодня последний день и Катя почему то отправила их играть в волейбол, а бегать запретила."
|
"text": "На стадионе вы встречаете детей 3 и 4 отрядов. Вы интересуетесь, почему они не собирают вещи. Вам рассказывают, что их вожатые самые классные на земле, они приучили их к спорту — каждое утро они даже бегали с Катей вокруг стадиона и водонапорной вышки. Но сегодня последний день и Катя почему-то отправила их играть в волейбол, а бегать запретила."
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"code": "Т",
|
"code": "Т",
|
||||||
"name": "Туалет",
|
"name": "Туалет",
|
||||||
"text": "За туалетом вы находите пачку сигарет, и записку как у лехи, размер и бумага совпадают. На ней написано: сегодня вам сильно повезет, не сдавайся и все получится. Похоже кто-то раздавал печенье с предсказанием."
|
"text": "За туалетом вы находите пачку сигарет и записку как у Лехи, размер и бумага совпадают. На ней написано «Сегодня вам сильно повезет, не сдавайся и все получится!» Похоже кто-то раздавал печенье с предсказанием.",
|
||||||
|
"applications": [
|
||||||
|
{
|
||||||
|
"name": "Газета"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"code": "Ц",
|
||||||
|
"name": "Цветы",
|
||||||
|
"text": "Неровный овал, огороженный потрёпанными синими бордюрами, которые когда-то были яркими, но теперь выцвели под солнцем и покрылись трещинами. Земля в одних местах усыпана мелкими камушками, в других – потрескалась от жары, будто жаждет воды. Но вопреки всему здесь цветут бархатцы – жёлтые и оранжевые, как маленькие огоньки."
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"code": "МК",
|
"code": "МК",
|
||||||
"name": "Макс Крутов",
|
"name": "Макс Крутов",
|
||||||
"text": "Перед вами парень в рваных джинсах и черной футболке, похожий на музыканта. Говорит что был в душе вчера во время дискотеки. Тёма был на дискотеке, а наши все вчера на медляках отжигали. Ну я и решил помыться. Пока он это рассказывал мимо проходил директор. Смотрите наш броненосец пиджак скинул, а я думал это его кожа."
|
"text": "Перед вами парень в рваных джинсах и черной футболке, похожий на музыканта. Говорит что был в душе вчера во время дискотеки: «Тёма был на дискотеке, а наши все вчера на медляках отжигали. Ну, я и решил помыться. Пока в душ шёл у администрации у Лехи сигарету и стрельнул. Поговорили немного, о чем я вам не могу сказать. Потом мы заметили за туалетом какие-то шорохи, Леха решил проверить, сказал что за одно и обход сделает, якобы лишним не будет, ответственный наш» — Пока он это рассказывал мимо проходил директор — «Смотрите наш броненосец пиджак скинул, а я думал это его кожа!»."
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"code": "АК",
|
"code": "АК",
|
||||||
"name": "Артём Ковалёв",
|
"name": "Артём Ковалёв",
|
||||||
"text": "Я следил за детьми в клубе, даже драку девочек разнял, ребята подслушали ссору Лехи с Алиной и поддерживали разные стороны, как видите очень яро. Макс отпросился в душ, с парнями вчера спортом был занят весь день."
|
"text": "«Я следил за детьми в клубе, даже драку девочек разнял — ребята подслушали ссору Лехи с Алиной и поддерживали разные стороны, как видите очень яро. Макс отпросился в душ, с парнями вчера спортом был занят весь день»."
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"code": "ДО",
|
"code": "ДО",
|
||||||
"name": "Даша Орлова",
|
"name": "Даша Орлова",
|
||||||
"text": "Вчера весь вечер я сидела с детьми которые не пошли на дискотеку. Но те ребята которые могли это подтвердить уже уехали домой."
|
"text": "«Вчера весь вечер я сидела с детьми которые не пошли на дискотеку. Но те ребята которые могли это подтвердить уже уехали домой»."
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"code": "КЛ",
|
"code": "КЛ",
|
||||||
"name": "Кирилл Лебедев",
|
"name": "Кирилл Лебедев",
|
||||||
"text": "Мы вчера с Аней Катей и Темой дежурили на дискотеке. Потом сразу пошли на костер, это могла быть самая лучшая смена. Я рассказывал много историй вчера на костре и про историю лагеря и про новости лагеря, вспоминали смену. На улицу не выходили, а там холодно и ничего не видно позно же уже было."
|
"text": "«Леху на втором ужине только видел, да и то он мимо прошел. Мы вчера с Аней, Катей и Темой дежурили на дискотеке. Потом сразу пошли на костер, это могла быть самая лучшая смена. Я рассказывал много историй вчера на костре и про историю лагеря и легенды разные. На свечку мы ушли в отряды зашли — вспоминали смену, делились впечатлениями. На улицу больше не выходили, там похолодало, да и не видно уже ничего было — слишком поздно»."
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"code": "АГ",
|
"code": "АГ",
|
||||||
"name": "Артём Глушко",
|
"name": "Артём Глушко",
|
||||||
"text": "Артём сидит и читает книгу в своем отряде, попутно помогает ребятам собирать чемоданы, он интересуется удалось ли что-то узнать, рассказывает что они с Лехой как-то застали Макса за кражей денег из кассы, и с тех пор в их отношениях была напряженность. Он предложил вам печенье и пошел дальше помогать ребятам."
|
"text": "Артём сидит и читает книгу в своем отряде, попутно помогает ребятам собирать чемоданы. Он интересуется, удалось ли что-то узнать, рассказывает, что они с Лехой как-то застали Макса за кражей денег из кассы, и с тех пор в их отношениях была напряженность. Артем предложил вам печенье и пошел дальше помогать ребятам."
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"code": "АС",
|
"code": "АС",
|
||||||
"name": "Анна Соколова",
|
"name": "Анна Соколова",
|
||||||
"text": "Лёха был ответственным человеком и всегда помогал, иногда он делал больше чем от него требовалось. Он мог и веселые старты провести, когда физрук ленится, он вёл все мероприятия лагеря со сцены, встречал проверки, мне кажется он некоторые даже устраивал чтобы лагерь лучше делать, директор даже на него скидывал какие-то бумажные дела, Лёха был очень начитанный хоть и учился на математика, любила с ним поболтать."
|
"text": "«Лёха был ответственным человеком и всегда помогал, иногда он делал больше чем от него требовалось. Он мог и веселые старты провести, когда физрук ленится, вёл все мероприятия лагеря со сцены, встречал проверки. Мне кажется, он некоторые проверки даже устраивал сам, чтобы лагерь лучше делать. Директор даже на него скидывал какие-то бумажные дела. Лёха был очень начитанный хоть и учился на математика, любила с ним поболтать»."
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"code": "КС",
|
"code": "КС",
|
||||||
"name": "Катя Светлова",
|
"name": "Катя Светлова",
|
||||||
"text": "На диване в центре общей комнаты отряда вы встречаете молодую девушку, лет 20-22, в яркой оранжевой футболке с принтами, шортах и белых носках. Длинные волосы, собранные в небрежный хвост или косу, минимум макияжа. Она сидит в обнимку старших мальчиков отряда, смеётся и рассказывает какую-то историю."
|
"text": "На диване в центре общей комнаты отряда вы встречаете молодую девушку, лет 20-22, в яркой оранжевой футболке с принтами, шортах и белых носках. Длинные волосы, собранные в небрежный хвост или косу, минимум макияжа. Она сидит в обнимку со старшими мальчиками отряда, смеётся и рассказывает им какую-то историю."
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"code": "АЗ",
|
"code": "АЗ",
|
||||||
"name": "Алина Зайцева",
|
"name": "Алина Зайцева",
|
||||||
"text": "Вы находите ее на турнике, девушка спортивного телосложения. Слезы бегут по ее лицу, на ваши вопросы она не отвечает. Про убийство ей сообщили первой."
|
"text": "Вы находите ее рядом с турниками. Девушка спортивного телосложения сидит на траве прикрыв лицо капюшоном. Слезы бегут по ее лицу. “Мы встречались, хотели даже пожениться, он последнее время очень злой ходил, эта смена его совсем из колеи выбила. Рассказывать он не хотел, знаю что долго за документами засиживался уже когда все спали”."
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"code": "ВСГ",
|
"code": "ВСГ",
|
||||||
"name": "Виктор Сергеевич Громов",
|
"name": "Виктор Сергеевич Громов",
|
||||||
"text": "Труп обнаружил охранник Виктор Петрович на ночном обходе, позвал меня, после проверки пульса я позвонил в полицию. Вот вам список работников лагеря. страшно осознавать что кто-то из них может быть убийцей.",
|
"text": "«Труп обнаружил охранник Виктор Петрович на ночном обходе, позвал меня. Я проверил пульс и позвонил в полицию. Вот вам список работников лагеря. Страшно осознавать что кто-то из них может быть убийцей».",
|
||||||
"applications": [
|
"applications": [
|
||||||
{
|
{
|
||||||
"name": "Список работников лагеря"
|
"name": "Список работников лагеря"
|
||||||
@ -138,17 +158,17 @@
|
|||||||
{
|
{
|
||||||
"code": "ЕО",
|
"code": "ЕО",
|
||||||
"name": "Елена Орлова",
|
"name": "Елена Орлова",
|
||||||
"text": "Очень красивая статная девушка в белом халате встречает вас нежной улыбкой. Во время дискотеки я была в приемной, королевская ночь по статистике самая травмоопасная. Хотя на удивление только одна девочка с температурой, я выдала таблетку и вожатая увела ее обратно в отряд."
|
"text": "Очень красивая статная девушка в белом халате встречает вас нежной улыбкой. «Во время дискотеки я была в приемной, королевская ночь по статистике самая травмоопасная. Хотя на удивление только одна девочка с температурой, я выдала таблетку и вожатая увела её обратно в отряд»."
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"code": "СС",
|
"code": "СС",
|
||||||
"name": "Сергей Смирнов",
|
"name": "Сергей Смирнов",
|
||||||
"text": "В небольшой коморке, залитой ярким солнцем, вы подошли к мужчине среднего возраста. «Спал я наверно, может телевизор смотрел. Что мне еще делать ночью? На дискотеки ходить? Днем дел много, не только своих, там помоги, сям помоги, никто ничего не может, вот и помогаю. Устаю, возраст как никак. Петрович вот попросил, вчера помочь с вывозом мусора, поболтали мы, да и пошел я к себе»."
|
"text": "Вы подошли к мужчине среднего роста в спортивном костюме: «Вечером телевизор смотрел, музыка долбила спать не давала. Петрович заходил, мы досмотрели “музыкальный ринг” да и побёг он. На дискотеки я не ходок, да и Лёха сказал помощь не нужна. За день набегался, дел много и не только своих, там помоги, сям помоги, никто ничего не может, вот и помогаю. Устаю, возраст как никак. Петрович попросил, вчера помочь с вывозом мусора с тех пор в коморке и сидел. Лёху видел последний раз в воскресенье, он сказал зарядку не проводить пущай дети поспят»."
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"code": "ВПБ",
|
"code": "ВПБ",
|
||||||
"name": "Виктор Петрович Белов",
|
"name": "Виктор Петрович Белов",
|
||||||
"text": "У нас режим, завтрак в 9 утра, вынос мусора в 9 вечера, в 23:00 обход. На обходе я и обнаружил тело, отходил в пол десятого это до клуба проверить все ли спокойно, и за клубом, площади проверил, минут 30 заняло, фонари перегорели у клуба, пришлось с фонариком по кустам полазить. Как тело обнаружил перепугался и сразу в администрацию.",
|
"text": "«У меня свой режим: завтрак в 9 утра, вынос мусора в 9 вечера, в 11 вечера обход. Всю дискотеку Лёха сидел в администрации, как с концерта пришел так и не выходил. В пол десятого я до клуба отходил проверить все ли спокойно пока дискотека, проверил все и за клубом, площадь посмотрел — минут 30 заняло. Фонари давно у клуба не работают, пришлось с фонариком везде лазить. Тело обнаружил уже на обходе — очень перепугался и сразу в администрацию побежал».",
|
||||||
"applications": [
|
"applications": [
|
||||||
{
|
{
|
||||||
"name": "Карта лагеря"
|
"name": "Карта лагеря"
|
||||||
|
Loading…
x
Reference in New Issue
Block a user