111 lines
2.7 KiB
Go
111 lines
2.7 KiB
Go
package main
|
|
|
|
type SocketRequest struct {
|
|
Version int `json:"version"`
|
|
Action string `json:"action"`
|
|
}
|
|
|
|
type ConnUpdateRequest struct {
|
|
SocketRequest
|
|
Payload ConnUpdatePayload `json:"payload"`
|
|
}
|
|
|
|
type ConnUpdatePayload struct {
|
|
Mode string `json:"mode"`
|
|
Name string `json:"name"`
|
|
Desc string `json:"desc"`
|
|
GameId string `json:"game_id"`
|
|
Secret string `json:"secret"`
|
|
MaxPlayers int `json:"max_players"`
|
|
Players int `json:"players"`
|
|
Public bool `json:"public"`
|
|
Guests []Guest `json:"guests"`
|
|
}
|
|
|
|
type Guest struct {
|
|
GuestId int `json:"guest_id"`
|
|
UserId int `json:"user_id"`
|
|
Gamepad bool `json:"gamepad"`
|
|
Keyboard bool `json:"keyboard"`
|
|
Mouse bool `json:"mouse"`
|
|
}
|
|
|
|
type OfferModel struct {
|
|
SocketRequest
|
|
Payload OfferPayload `json:"payload"`
|
|
}
|
|
|
|
type OfferPayload struct {
|
|
To string `json:"to"`
|
|
Data any `json:"data"`
|
|
AttemptId string `json:"attempt_id"`
|
|
Secret string `json:"secret"`
|
|
AccessLinkId string `json:"access_link_id"`
|
|
From string `json:"from"`
|
|
IsOwner bool `json:"is_owner"`
|
|
SkipApproval bool `json:"skip_approval"`
|
|
Permissions Permission `json:"permissions"`
|
|
User OfferUser `json:"user"`
|
|
HostUser OfferUser `json:"host_user"`
|
|
}
|
|
|
|
type Permission struct {
|
|
Gamepad bool `json:"gamepad"`
|
|
Keyboard bool `json:"keyboard"`
|
|
Mouse bool `json:"mouse"`
|
|
}
|
|
type OfferUser struct {
|
|
Id int `json:"id"`
|
|
TeamId string `json:"team_id"`
|
|
Name string `json:"name"`
|
|
ExternalId string `json:"external_id"`
|
|
ExternalProvider string `json:"external_provider"`
|
|
}
|
|
|
|
type AnswerModel struct {
|
|
SocketRequest
|
|
Payload AnswerPayload `json:"payload"`
|
|
}
|
|
|
|
type AnswerPayload struct {
|
|
To string `json:"to"`
|
|
Data any `json:"data"`
|
|
AttemptId string `json:"attempt_id"`
|
|
Approved bool `json:"approved"`
|
|
From string `json:"from"`
|
|
UserId int `json:"user_id"`
|
|
}
|
|
|
|
type CandexModel struct {
|
|
SocketRequest
|
|
Payload CandexPayload `json:"payload"`
|
|
}
|
|
|
|
type CandexPayload struct {
|
|
To string `json:"to"`
|
|
Data CandexData `json:"data"`
|
|
AttemptId string `json:"attempt_id"`
|
|
From string `json:"from"`
|
|
}
|
|
|
|
type CandexData struct {
|
|
FromStun bool `json:"from_stun"`
|
|
Ip string `json:"ip"`
|
|
Lan bool `json:"lan"`
|
|
Port int `json:"port"`
|
|
Sync bool `json:"sync"`
|
|
VerData int `json:"ver_data"`
|
|
}
|
|
|
|
type OfferCancelModel struct {
|
|
SocketRequest
|
|
Payload OfferCancelPayload `json:"payload"`
|
|
}
|
|
|
|
type OfferCancelPayload struct {
|
|
To string `json:"to"`
|
|
AttemptId string `json:"attempt_id"`
|
|
From string `json:"from"`
|
|
UserId int `json:"user_id"`
|
|
}
|