feat: game lobby service
This commit is contained in:
@@ -91,9 +91,13 @@ components:
|
||||
- lobby.application.submitted
|
||||
- lobby.membership.approved
|
||||
- lobby.membership.rejected
|
||||
- lobby.membership.blocked
|
||||
- lobby.invite.created
|
||||
- lobby.invite.redeemed
|
||||
- lobby.invite.expired
|
||||
- lobby.race_name.registration_eligible
|
||||
- lobby.race_name.registered
|
||||
- lobby.race_name.registration_denied
|
||||
description: |
|
||||
Exact v1 notification type catalog. `lobby.invite.revoked`
|
||||
deliberately remains outside the supported catalog because it
|
||||
@@ -310,6 +314,21 @@ components:
|
||||
payload_json:
|
||||
contentSchema:
|
||||
$ref: '#/components/schemas/LobbyMembershipRejectedPayload'
|
||||
- if:
|
||||
properties:
|
||||
notification_type:
|
||||
const: lobby.membership.blocked
|
||||
required:
|
||||
- notification_type
|
||||
then:
|
||||
properties:
|
||||
producer:
|
||||
const: game_lobby
|
||||
audience_kind:
|
||||
const: user
|
||||
payload_json:
|
||||
contentSchema:
|
||||
$ref: '#/components/schemas/LobbyMembershipBlockedPayload'
|
||||
- if:
|
||||
properties:
|
||||
notification_type:
|
||||
@@ -355,6 +374,51 @@ components:
|
||||
payload_json:
|
||||
contentSchema:
|
||||
$ref: '#/components/schemas/LobbyInviteExpiredPayload'
|
||||
- if:
|
||||
properties:
|
||||
notification_type:
|
||||
const: lobby.race_name.registration_eligible
|
||||
required:
|
||||
- notification_type
|
||||
then:
|
||||
properties:
|
||||
producer:
|
||||
const: game_lobby
|
||||
audience_kind:
|
||||
const: user
|
||||
payload_json:
|
||||
contentSchema:
|
||||
$ref: '#/components/schemas/LobbyRaceNameRegistrationEligiblePayload'
|
||||
- if:
|
||||
properties:
|
||||
notification_type:
|
||||
const: lobby.race_name.registered
|
||||
required:
|
||||
- notification_type
|
||||
then:
|
||||
properties:
|
||||
producer:
|
||||
const: game_lobby
|
||||
audience_kind:
|
||||
const: user
|
||||
payload_json:
|
||||
contentSchema:
|
||||
$ref: '#/components/schemas/LobbyRaceNameRegisteredPayload'
|
||||
- if:
|
||||
properties:
|
||||
notification_type:
|
||||
const: lobby.race_name.registration_denied
|
||||
required:
|
||||
- notification_type
|
||||
then:
|
||||
properties:
|
||||
producer:
|
||||
const: game_lobby
|
||||
audience_kind:
|
||||
const: user
|
||||
payload_json:
|
||||
contentSchema:
|
||||
$ref: '#/components/schemas/LobbyRaceNameRegistrationDeniedPayload'
|
||||
GeoReviewRecommendedPayload:
|
||||
type: object
|
||||
additionalProperties: true
|
||||
@@ -491,6 +555,34 @@ components:
|
||||
game_name:
|
||||
type: string
|
||||
minLength: 1
|
||||
LobbyMembershipBlockedPayload:
|
||||
type: object
|
||||
additionalProperties: true
|
||||
required:
|
||||
- game_id
|
||||
- game_name
|
||||
- membership_user_id
|
||||
- membership_user_name
|
||||
- reason
|
||||
properties:
|
||||
game_id:
|
||||
type: string
|
||||
minLength: 1
|
||||
game_name:
|
||||
type: string
|
||||
minLength: 1
|
||||
membership_user_id:
|
||||
type: string
|
||||
minLength: 1
|
||||
membership_user_name:
|
||||
type: string
|
||||
minLength: 1
|
||||
reason:
|
||||
type: string
|
||||
minLength: 1
|
||||
enum:
|
||||
- permanent_blocked
|
||||
- deleted
|
||||
LobbyInviteCreatedPayload:
|
||||
type: object
|
||||
additionalProperties: true
|
||||
@@ -554,3 +646,54 @@ components:
|
||||
invitee_name:
|
||||
type: string
|
||||
minLength: 1
|
||||
LobbyRaceNameRegistrationEligiblePayload:
|
||||
type: object
|
||||
additionalProperties: true
|
||||
required:
|
||||
- game_id
|
||||
- game_name
|
||||
- race_name
|
||||
- eligible_until_ms
|
||||
properties:
|
||||
game_id:
|
||||
type: string
|
||||
minLength: 1
|
||||
game_name:
|
||||
type: string
|
||||
minLength: 1
|
||||
race_name:
|
||||
type: string
|
||||
minLength: 1
|
||||
eligible_until_ms:
|
||||
type: integer
|
||||
minimum: 1
|
||||
LobbyRaceNameRegisteredPayload:
|
||||
type: object
|
||||
additionalProperties: true
|
||||
required:
|
||||
- race_name
|
||||
properties:
|
||||
race_name:
|
||||
type: string
|
||||
minLength: 1
|
||||
LobbyRaceNameRegistrationDeniedPayload:
|
||||
type: object
|
||||
additionalProperties: true
|
||||
required:
|
||||
- game_id
|
||||
- game_name
|
||||
- race_name
|
||||
- reason
|
||||
properties:
|
||||
game_id:
|
||||
type: string
|
||||
minLength: 1
|
||||
game_name:
|
||||
type: string
|
||||
minLength: 1
|
||||
race_name:
|
||||
type: string
|
||||
minLength: 1
|
||||
reason:
|
||||
type: string
|
||||
minLength: 1
|
||||
|
||||
Reference in New Issue
Block a user