feat: game lobby service

This commit is contained in:
Ilia Denisov
2026-04-25 23:20:55 +02:00
committed by GitHub
parent 32dc29359a
commit 48b0056b49
336 changed files with 57074 additions and 1418 deletions
+16
View File
@@ -25,6 +25,12 @@ table LobbyMembershipRejectedEvent {
game_id:string;
}
table LobbyMembershipBlockedEvent {
game_id:string;
membership_user_id:string;
reason:string;
}
table LobbyInviteCreatedEvent {
game_id:string;
inviter_user_id:string;
@@ -35,4 +41,14 @@ table LobbyInviteRedeemedEvent {
invitee_user_id:string;
}
table LobbyRaceNameRegistrationEligibleEvent {
game_id:string;
race_name:string;
eligible_until_ms:int64;
}
table LobbyRaceNameRegisteredEvent {
race_name:string;
}
root_type GameTurnReadyEvent;
@@ -0,0 +1,82 @@
// Code generated by the FlatBuffers compiler. DO NOT EDIT.
package notification
import (
flatbuffers "github.com/google/flatbuffers/go"
)
type LobbyMembershipBlockedEvent struct {
_tab flatbuffers.Table
}
func GetRootAsLobbyMembershipBlockedEvent(buf []byte, offset flatbuffers.UOffsetT) *LobbyMembershipBlockedEvent {
n := flatbuffers.GetUOffsetT(buf[offset:])
x := &LobbyMembershipBlockedEvent{}
x.Init(buf, n+offset)
return x
}
func FinishLobbyMembershipBlockedEventBuffer(builder *flatbuffers.Builder, offset flatbuffers.UOffsetT) {
builder.Finish(offset)
}
func GetSizePrefixedRootAsLobbyMembershipBlockedEvent(buf []byte, offset flatbuffers.UOffsetT) *LobbyMembershipBlockedEvent {
n := flatbuffers.GetUOffsetT(buf[offset+flatbuffers.SizeUint32:])
x := &LobbyMembershipBlockedEvent{}
x.Init(buf, n+offset+flatbuffers.SizeUint32)
return x
}
func FinishSizePrefixedLobbyMembershipBlockedEventBuffer(builder *flatbuffers.Builder, offset flatbuffers.UOffsetT) {
builder.FinishSizePrefixed(offset)
}
func (rcv *LobbyMembershipBlockedEvent) Init(buf []byte, i flatbuffers.UOffsetT) {
rcv._tab.Bytes = buf
rcv._tab.Pos = i
}
func (rcv *LobbyMembershipBlockedEvent) Table() flatbuffers.Table {
return rcv._tab
}
func (rcv *LobbyMembershipBlockedEvent) GameId() []byte {
o := flatbuffers.UOffsetT(rcv._tab.Offset(4))
if o != 0 {
return rcv._tab.ByteVector(o + rcv._tab.Pos)
}
return nil
}
func (rcv *LobbyMembershipBlockedEvent) MembershipUserId() []byte {
o := flatbuffers.UOffsetT(rcv._tab.Offset(6))
if o != 0 {
return rcv._tab.ByteVector(o + rcv._tab.Pos)
}
return nil
}
func (rcv *LobbyMembershipBlockedEvent) Reason() []byte {
o := flatbuffers.UOffsetT(rcv._tab.Offset(8))
if o != 0 {
return rcv._tab.ByteVector(o + rcv._tab.Pos)
}
return nil
}
func LobbyMembershipBlockedEventStart(builder *flatbuffers.Builder) {
builder.StartObject(3)
}
func LobbyMembershipBlockedEventAddGameId(builder *flatbuffers.Builder, gameId flatbuffers.UOffsetT) {
builder.PrependUOffsetTSlot(0, flatbuffers.UOffsetT(gameId), 0)
}
func LobbyMembershipBlockedEventAddMembershipUserId(builder *flatbuffers.Builder, membershipUserId flatbuffers.UOffsetT) {
builder.PrependUOffsetTSlot(1, flatbuffers.UOffsetT(membershipUserId), 0)
}
func LobbyMembershipBlockedEventAddReason(builder *flatbuffers.Builder, reason flatbuffers.UOffsetT) {
builder.PrependUOffsetTSlot(2, flatbuffers.UOffsetT(reason), 0)
}
func LobbyMembershipBlockedEventEnd(builder *flatbuffers.Builder) flatbuffers.UOffsetT {
return builder.EndObject()
}
@@ -0,0 +1,60 @@
// Code generated by the FlatBuffers compiler. DO NOT EDIT.
package notification
import (
flatbuffers "github.com/google/flatbuffers/go"
)
type LobbyRaceNameRegisteredEvent struct {
_tab flatbuffers.Table
}
func GetRootAsLobbyRaceNameRegisteredEvent(buf []byte, offset flatbuffers.UOffsetT) *LobbyRaceNameRegisteredEvent {
n := flatbuffers.GetUOffsetT(buf[offset:])
x := &LobbyRaceNameRegisteredEvent{}
x.Init(buf, n+offset)
return x
}
func FinishLobbyRaceNameRegisteredEventBuffer(builder *flatbuffers.Builder, offset flatbuffers.UOffsetT) {
builder.Finish(offset)
}
func GetSizePrefixedRootAsLobbyRaceNameRegisteredEvent(buf []byte, offset flatbuffers.UOffsetT) *LobbyRaceNameRegisteredEvent {
n := flatbuffers.GetUOffsetT(buf[offset+flatbuffers.SizeUint32:])
x := &LobbyRaceNameRegisteredEvent{}
x.Init(buf, n+offset+flatbuffers.SizeUint32)
return x
}
func FinishSizePrefixedLobbyRaceNameRegisteredEventBuffer(builder *flatbuffers.Builder, offset flatbuffers.UOffsetT) {
builder.FinishSizePrefixed(offset)
}
func (rcv *LobbyRaceNameRegisteredEvent) Init(buf []byte, i flatbuffers.UOffsetT) {
rcv._tab.Bytes = buf
rcv._tab.Pos = i
}
func (rcv *LobbyRaceNameRegisteredEvent) Table() flatbuffers.Table {
return rcv._tab
}
func (rcv *LobbyRaceNameRegisteredEvent) RaceName() []byte {
o := flatbuffers.UOffsetT(rcv._tab.Offset(4))
if o != 0 {
return rcv._tab.ByteVector(o + rcv._tab.Pos)
}
return nil
}
func LobbyRaceNameRegisteredEventStart(builder *flatbuffers.Builder) {
builder.StartObject(1)
}
func LobbyRaceNameRegisteredEventAddRaceName(builder *flatbuffers.Builder, raceName flatbuffers.UOffsetT) {
builder.PrependUOffsetTSlot(0, flatbuffers.UOffsetT(raceName), 0)
}
func LobbyRaceNameRegisteredEventEnd(builder *flatbuffers.Builder) flatbuffers.UOffsetT {
return builder.EndObject()
}
@@ -0,0 +1,86 @@
// Code generated by the FlatBuffers compiler. DO NOT EDIT.
package notification
import (
flatbuffers "github.com/google/flatbuffers/go"
)
type LobbyRaceNameRegistrationEligibleEvent struct {
_tab flatbuffers.Table
}
func GetRootAsLobbyRaceNameRegistrationEligibleEvent(buf []byte, offset flatbuffers.UOffsetT) *LobbyRaceNameRegistrationEligibleEvent {
n := flatbuffers.GetUOffsetT(buf[offset:])
x := &LobbyRaceNameRegistrationEligibleEvent{}
x.Init(buf, n+offset)
return x
}
func FinishLobbyRaceNameRegistrationEligibleEventBuffer(builder *flatbuffers.Builder, offset flatbuffers.UOffsetT) {
builder.Finish(offset)
}
func GetSizePrefixedRootAsLobbyRaceNameRegistrationEligibleEvent(buf []byte, offset flatbuffers.UOffsetT) *LobbyRaceNameRegistrationEligibleEvent {
n := flatbuffers.GetUOffsetT(buf[offset+flatbuffers.SizeUint32:])
x := &LobbyRaceNameRegistrationEligibleEvent{}
x.Init(buf, n+offset+flatbuffers.SizeUint32)
return x
}
func FinishSizePrefixedLobbyRaceNameRegistrationEligibleEventBuffer(builder *flatbuffers.Builder, offset flatbuffers.UOffsetT) {
builder.FinishSizePrefixed(offset)
}
func (rcv *LobbyRaceNameRegistrationEligibleEvent) Init(buf []byte, i flatbuffers.UOffsetT) {
rcv._tab.Bytes = buf
rcv._tab.Pos = i
}
func (rcv *LobbyRaceNameRegistrationEligibleEvent) Table() flatbuffers.Table {
return rcv._tab
}
func (rcv *LobbyRaceNameRegistrationEligibleEvent) GameId() []byte {
o := flatbuffers.UOffsetT(rcv._tab.Offset(4))
if o != 0 {
return rcv._tab.ByteVector(o + rcv._tab.Pos)
}
return nil
}
func (rcv *LobbyRaceNameRegistrationEligibleEvent) RaceName() []byte {
o := flatbuffers.UOffsetT(rcv._tab.Offset(6))
if o != 0 {
return rcv._tab.ByteVector(o + rcv._tab.Pos)
}
return nil
}
func (rcv *LobbyRaceNameRegistrationEligibleEvent) EligibleUntilMs() int64 {
o := flatbuffers.UOffsetT(rcv._tab.Offset(8))
if o != 0 {
return rcv._tab.GetInt64(o + rcv._tab.Pos)
}
return 0
}
func (rcv *LobbyRaceNameRegistrationEligibleEvent) MutateEligibleUntilMs(n int64) bool {
return rcv._tab.MutateInt64Slot(8, n)
}
func LobbyRaceNameRegistrationEligibleEventStart(builder *flatbuffers.Builder) {
builder.StartObject(3)
}
func LobbyRaceNameRegistrationEligibleEventAddGameId(builder *flatbuffers.Builder, gameId flatbuffers.UOffsetT) {
builder.PrependUOffsetTSlot(0, flatbuffers.UOffsetT(gameId), 0)
}
func LobbyRaceNameRegistrationEligibleEventAddRaceName(builder *flatbuffers.Builder, raceName flatbuffers.UOffsetT) {
builder.PrependUOffsetTSlot(1, flatbuffers.UOffsetT(raceName), 0)
}
func LobbyRaceNameRegistrationEligibleEventAddEligibleUntilMs(builder *flatbuffers.Builder, eligibleUntilMs int64) {
builder.PrependInt64Slot(2, eligibleUntilMs, 0)
}
func LobbyRaceNameRegistrationEligibleEventEnd(builder *flatbuffers.Builder) flatbuffers.UOffsetT {
return builder.EndObject()
}
+3 -2
View File
@@ -6,7 +6,7 @@ table GetMyAccountRequest {
}
table UpdateMyProfileRequest {
race_name:string;
display_name:string;
}
table UpdateMySettingsRequest {
@@ -51,7 +51,8 @@ table ActiveLimit {
table AccountView {
user_id:string;
email:string;
race_name:string;
user_name:string;
display_name:string;
preferred_language:string;
time_zone:string;
declared_country:string;
+44 -33
View File
@@ -57,7 +57,7 @@ func (rcv *AccountView) Email() []byte {
return nil
}
func (rcv *AccountView) RaceName() []byte {
func (rcv *AccountView) UserName() []byte {
o := flatbuffers.UOffsetT(rcv._tab.Offset(8))
if o != 0 {
return rcv._tab.ByteVector(o + rcv._tab.Pos)
@@ -65,7 +65,7 @@ func (rcv *AccountView) RaceName() []byte {
return nil
}
func (rcv *AccountView) PreferredLanguage() []byte {
func (rcv *AccountView) DisplayName() []byte {
o := flatbuffers.UOffsetT(rcv._tab.Offset(10))
if o != 0 {
return rcv._tab.ByteVector(o + rcv._tab.Pos)
@@ -73,7 +73,7 @@ func (rcv *AccountView) PreferredLanguage() []byte {
return nil
}
func (rcv *AccountView) TimeZone() []byte {
func (rcv *AccountView) PreferredLanguage() []byte {
o := flatbuffers.UOffsetT(rcv._tab.Offset(12))
if o != 0 {
return rcv._tab.ByteVector(o + rcv._tab.Pos)
@@ -81,7 +81,7 @@ func (rcv *AccountView) TimeZone() []byte {
return nil
}
func (rcv *AccountView) DeclaredCountry() []byte {
func (rcv *AccountView) TimeZone() []byte {
o := flatbuffers.UOffsetT(rcv._tab.Offset(14))
if o != 0 {
return rcv._tab.ByteVector(o + rcv._tab.Pos)
@@ -89,8 +89,16 @@ func (rcv *AccountView) DeclaredCountry() []byte {
return nil
}
func (rcv *AccountView) Entitlement(obj *EntitlementSnapshot) *EntitlementSnapshot {
func (rcv *AccountView) DeclaredCountry() []byte {
o := flatbuffers.UOffsetT(rcv._tab.Offset(16))
if o != 0 {
return rcv._tab.ByteVector(o + rcv._tab.Pos)
}
return nil
}
func (rcv *AccountView) Entitlement(obj *EntitlementSnapshot) *EntitlementSnapshot {
o := flatbuffers.UOffsetT(rcv._tab.Offset(18))
if o != 0 {
x := rcv._tab.Indirect(o + rcv._tab.Pos)
if obj == nil {
@@ -103,7 +111,7 @@ func (rcv *AccountView) Entitlement(obj *EntitlementSnapshot) *EntitlementSnapsh
}
func (rcv *AccountView) ActiveSanctions(obj *ActiveSanction, j int) bool {
o := flatbuffers.UOffsetT(rcv._tab.Offset(18))
o := flatbuffers.UOffsetT(rcv._tab.Offset(20))
if o != 0 {
x := rcv._tab.Vector(o)
x += flatbuffers.UOffsetT(j) * 4
@@ -115,7 +123,7 @@ func (rcv *AccountView) ActiveSanctions(obj *ActiveSanction, j int) bool {
}
func (rcv *AccountView) ActiveSanctionsLength() int {
o := flatbuffers.UOffsetT(rcv._tab.Offset(18))
o := flatbuffers.UOffsetT(rcv._tab.Offset(20))
if o != 0 {
return rcv._tab.VectorLen(o)
}
@@ -123,7 +131,7 @@ func (rcv *AccountView) ActiveSanctionsLength() int {
}
func (rcv *AccountView) ActiveLimits(obj *ActiveLimit, j int) bool {
o := flatbuffers.UOffsetT(rcv._tab.Offset(20))
o := flatbuffers.UOffsetT(rcv._tab.Offset(22))
if o != 0 {
x := rcv._tab.Vector(o)
x += flatbuffers.UOffsetT(j) * 4
@@ -135,7 +143,7 @@ func (rcv *AccountView) ActiveLimits(obj *ActiveLimit, j int) bool {
}
func (rcv *AccountView) ActiveLimitsLength() int {
o := flatbuffers.UOffsetT(rcv._tab.Offset(20))
o := flatbuffers.UOffsetT(rcv._tab.Offset(22))
if o != 0 {
return rcv._tab.VectorLen(o)
}
@@ -143,18 +151,6 @@ func (rcv *AccountView) ActiveLimitsLength() int {
}
func (rcv *AccountView) CreatedAtMs() int64 {
o := flatbuffers.UOffsetT(rcv._tab.Offset(22))
if o != 0 {
return rcv._tab.GetInt64(o + rcv._tab.Pos)
}
return 0
}
func (rcv *AccountView) MutateCreatedAtMs(n int64) bool {
return rcv._tab.MutateInt64Slot(22, n)
}
func (rcv *AccountView) UpdatedAtMs() int64 {
o := flatbuffers.UOffsetT(rcv._tab.Offset(24))
if o != 0 {
return rcv._tab.GetInt64(o + rcv._tab.Pos)
@@ -162,12 +158,24 @@ func (rcv *AccountView) UpdatedAtMs() int64 {
return 0
}
func (rcv *AccountView) MutateUpdatedAtMs(n int64) bool {
func (rcv *AccountView) MutateCreatedAtMs(n int64) bool {
return rcv._tab.MutateInt64Slot(24, n)
}
func (rcv *AccountView) UpdatedAtMs() int64 {
o := flatbuffers.UOffsetT(rcv._tab.Offset(26))
if o != 0 {
return rcv._tab.GetInt64(o + rcv._tab.Pos)
}
return 0
}
func (rcv *AccountView) MutateUpdatedAtMs(n int64) bool {
return rcv._tab.MutateInt64Slot(26, n)
}
func AccountViewStart(builder *flatbuffers.Builder) {
builder.StartObject(11)
builder.StartObject(12)
}
func AccountViewAddUserId(builder *flatbuffers.Builder, userId flatbuffers.UOffsetT) {
builder.PrependUOffsetTSlot(0, flatbuffers.UOffsetT(userId), 0)
@@ -175,38 +183,41 @@ func AccountViewAddUserId(builder *flatbuffers.Builder, userId flatbuffers.UOffs
func AccountViewAddEmail(builder *flatbuffers.Builder, email flatbuffers.UOffsetT) {
builder.PrependUOffsetTSlot(1, flatbuffers.UOffsetT(email), 0)
}
func AccountViewAddRaceName(builder *flatbuffers.Builder, raceName flatbuffers.UOffsetT) {
builder.PrependUOffsetTSlot(2, flatbuffers.UOffsetT(raceName), 0)
func AccountViewAddUserName(builder *flatbuffers.Builder, userName flatbuffers.UOffsetT) {
builder.PrependUOffsetTSlot(2, flatbuffers.UOffsetT(userName), 0)
}
func AccountViewAddDisplayName(builder *flatbuffers.Builder, displayName flatbuffers.UOffsetT) {
builder.PrependUOffsetTSlot(3, flatbuffers.UOffsetT(displayName), 0)
}
func AccountViewAddPreferredLanguage(builder *flatbuffers.Builder, preferredLanguage flatbuffers.UOffsetT) {
builder.PrependUOffsetTSlot(3, flatbuffers.UOffsetT(preferredLanguage), 0)
builder.PrependUOffsetTSlot(4, flatbuffers.UOffsetT(preferredLanguage), 0)
}
func AccountViewAddTimeZone(builder *flatbuffers.Builder, timeZone flatbuffers.UOffsetT) {
builder.PrependUOffsetTSlot(4, flatbuffers.UOffsetT(timeZone), 0)
builder.PrependUOffsetTSlot(5, flatbuffers.UOffsetT(timeZone), 0)
}
func AccountViewAddDeclaredCountry(builder *flatbuffers.Builder, declaredCountry flatbuffers.UOffsetT) {
builder.PrependUOffsetTSlot(5, flatbuffers.UOffsetT(declaredCountry), 0)
builder.PrependUOffsetTSlot(6, flatbuffers.UOffsetT(declaredCountry), 0)
}
func AccountViewAddEntitlement(builder *flatbuffers.Builder, entitlement flatbuffers.UOffsetT) {
builder.PrependUOffsetTSlot(6, flatbuffers.UOffsetT(entitlement), 0)
builder.PrependUOffsetTSlot(7, flatbuffers.UOffsetT(entitlement), 0)
}
func AccountViewAddActiveSanctions(builder *flatbuffers.Builder, activeSanctions flatbuffers.UOffsetT) {
builder.PrependUOffsetTSlot(7, flatbuffers.UOffsetT(activeSanctions), 0)
builder.PrependUOffsetTSlot(8, flatbuffers.UOffsetT(activeSanctions), 0)
}
func AccountViewStartActiveSanctionsVector(builder *flatbuffers.Builder, numElems int) flatbuffers.UOffsetT {
return builder.StartVector(4, numElems, 4)
}
func AccountViewAddActiveLimits(builder *flatbuffers.Builder, activeLimits flatbuffers.UOffsetT) {
builder.PrependUOffsetTSlot(8, flatbuffers.UOffsetT(activeLimits), 0)
builder.PrependUOffsetTSlot(9, flatbuffers.UOffsetT(activeLimits), 0)
}
func AccountViewStartActiveLimitsVector(builder *flatbuffers.Builder, numElems int) flatbuffers.UOffsetT {
return builder.StartVector(4, numElems, 4)
}
func AccountViewAddCreatedAtMs(builder *flatbuffers.Builder, createdAtMs int64) {
builder.PrependInt64Slot(9, createdAtMs, 0)
builder.PrependInt64Slot(10, createdAtMs, 0)
}
func AccountViewAddUpdatedAtMs(builder *flatbuffers.Builder, updatedAtMs int64) {
builder.PrependInt64Slot(10, updatedAtMs, 0)
builder.PrependInt64Slot(11, updatedAtMs, 0)
}
func AccountViewEnd(builder *flatbuffers.Builder) flatbuffers.UOffsetT {
return builder.EndObject()
@@ -41,7 +41,7 @@ func (rcv *UpdateMyProfileRequest) Table() flatbuffers.Table {
return rcv._tab
}
func (rcv *UpdateMyProfileRequest) RaceName() []byte {
func (rcv *UpdateMyProfileRequest) DisplayName() []byte {
o := flatbuffers.UOffsetT(rcv._tab.Offset(4))
if o != 0 {
return rcv._tab.ByteVector(o + rcv._tab.Pos)
@@ -52,8 +52,8 @@ func (rcv *UpdateMyProfileRequest) RaceName() []byte {
func UpdateMyProfileRequestStart(builder *flatbuffers.Builder) {
builder.StartObject(1)
}
func UpdateMyProfileRequestAddRaceName(builder *flatbuffers.Builder, raceName flatbuffers.UOffsetT) {
builder.PrependUOffsetTSlot(0, flatbuffers.UOffsetT(raceName), 0)
func UpdateMyProfileRequestAddDisplayName(builder *flatbuffers.Builder, displayName flatbuffers.UOffsetT) {
builder.PrependUOffsetTSlot(0, flatbuffers.UOffsetT(displayName), 0)
}
func UpdateMyProfileRequestEnd(builder *flatbuffers.Builder) flatbuffers.UOffsetT {
return builder.EndObject()