@ughuuu/game_server 1.0.377 → 1.0.380

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (144) hide show
  1. package/README.md +105 -8
  2. package/dist/ApiClient.js +1 -1
  3. package/dist/api/AdminChatApi.js +194 -0
  4. package/dist/api/AdminGroupsApi.js +193 -0
  5. package/dist/api/AdminKVApi.js +2 -2
  6. package/dist/api/AdminLeaderboardsApi.js +2 -2
  7. package/dist/api/AdminLobbiesApi.js +2 -2
  8. package/dist/api/AdminNotificationsApi.js +179 -0
  9. package/dist/api/AdminSessionsApi.js +2 -2
  10. package/dist/api/AdminUsersApi.js +2 -2
  11. package/dist/api/AuthenticationApi.js +2 -2
  12. package/dist/api/ChatApi.js +230 -0
  13. package/dist/api/FriendsApi.js +2 -2
  14. package/dist/api/GroupsApi.js +1017 -0
  15. package/dist/api/HealthApi.js +1 -1
  16. package/dist/api/HooksApi.js +2 -2
  17. package/dist/api/KVApi.js +2 -2
  18. package/dist/api/LeaderboardsApi.js +1 -1
  19. package/dist/api/LobbiesApi.js +6 -6
  20. package/dist/api/NotificationsApi.js +169 -0
  21. package/dist/api/PartiesApi.js +354 -0
  22. package/dist/api/UsersApi.js +2 -2
  23. package/dist/index.js +374 -17
  24. package/dist/model/AdminCreateKvEntry200Response.js +1 -1
  25. package/dist/model/AdminCreateKvEntryRequest.js +1 -1
  26. package/dist/model/AdminCreateLeaderboardRequest.js +1 -1
  27. package/dist/model/AdminCreateNotification400Response.js +89 -0
  28. package/dist/model/AdminCreateNotificationRequest.js +157 -0
  29. package/dist/model/AdminDeleteChatConversation200Response.js +85 -0
  30. package/dist/model/AdminEndLeaderboard200Response.js +1 -1
  31. package/dist/model/AdminEndLeaderboard200ResponseData.js +1 -1
  32. package/dist/model/AdminListChatMessages200Response.js +124 -0
  33. package/dist/model/AdminListChatMessages200ResponseDataInner.js +184 -0
  34. package/dist/model/AdminListGroups200Response.js +124 -0
  35. package/dist/model/AdminListKvEntries200Response.js +5 -5
  36. package/dist/model/AdminListKvEntries200ResponseDataInner.js +1 -1
  37. package/dist/model/AdminListLobbies200Response.js +5 -5
  38. package/dist/model/AdminListLobbies200ResponseDataInner.js +1 -1
  39. package/dist/model/AdminListNotifications200Response.js +124 -0
  40. package/dist/model/AdminListNotifications200ResponseDataInner.js +148 -0
  41. package/dist/model/AdminListNotifications200ResponseMeta.js +125 -0
  42. package/dist/model/AdminListSessions200Response.js +5 -5
  43. package/dist/model/AdminListSessions200ResponseDataInner.js +1 -1
  44. package/dist/model/AdminSubmitLeaderboardScore200Response.js +1 -1
  45. package/dist/model/AdminSubmitLeaderboardScore200ResponseData.js +1 -1
  46. package/dist/model/AdminSubmitLeaderboardScoreRequest.js +1 -1
  47. package/dist/model/AdminUpdateGroup200Response.js +169 -0
  48. package/dist/model/AdminUpdateGroupRequest.js +129 -0
  49. package/dist/model/AdminUpdateKvEntryRequest.js +1 -1
  50. package/dist/model/AdminUpdateLeaderboardRecordRequest.js +1 -1
  51. package/dist/model/AdminUpdateLeaderboardRequest.js +1 -1
  52. package/dist/model/AdminUpdateLobby200Response.js +1 -1
  53. package/dist/model/AdminUpdateLobbyRequest.js +1 -1
  54. package/dist/model/AdminUpdateUser200Response.js +1 -1
  55. package/dist/model/AdminUpdateUser200ResponseData.js +17 -1
  56. package/dist/model/AdminUpdateUserRequest.js +1 -1
  57. package/dist/model/CallHook200Response.js +1 -1
  58. package/dist/model/CallHookRequest.js +1 -1
  59. package/dist/model/CancelGroupInvite200Response.js +89 -0
  60. package/dist/model/CancelJoinRequest200Response.js +157 -0
  61. package/dist/model/ChatUnreadCount200Response.js +85 -0
  62. package/dist/model/CreateFriendRequestRequest.js +1 -1
  63. package/dist/model/CreateGroupRequest.js +181 -0
  64. package/dist/model/CreateLobbyRequest.js +1 -1
  65. package/dist/model/CreatePartyRequest.js +98 -0
  66. package/dist/model/DeleteNotifications200Response.js +86 -0
  67. package/dist/model/DeleteNotificationsRequest.js +113 -0
  68. package/dist/model/DemoteGroupMemberRequest.js +109 -0
  69. package/dist/model/DeviceLoginRequest.js +1 -1
  70. package/dist/model/ErrorResponse.js +1 -1
  71. package/dist/model/GetCurrentUser200Response.js +30 -1
  72. package/dist/model/GetCurrentUser200ResponseLinkedProviders.js +1 -1
  73. package/dist/model/GetKv200Response.js +1 -1
  74. package/dist/model/GetMyRecord200Response.js +1 -1
  75. package/dist/model/HealthResponse.js +1 -1
  76. package/dist/model/InviteToGroupRequest.js +109 -0
  77. package/dist/model/JoinPartyByCodeRequest.js +113 -0
  78. package/dist/model/KickGroupMemberRequest.js +109 -0
  79. package/dist/model/KickUserRequest.js +1 -1
  80. package/dist/model/LinkDeviceRequest.js +1 -1
  81. package/dist/model/ListBlockedFriends200Response.js +5 -5
  82. package/dist/model/ListBlockedFriends200ResponseDataInner.js +1 -1
  83. package/dist/model/ListBlockedFriends200ResponseDataInnerRequester.js +1 -1
  84. package/dist/model/ListChatMessages200Response.js +118 -0
  85. package/dist/model/ListChatMessages200ResponseDataInner.js +170 -0
  86. package/dist/model/ListFriendRequests200Response.js +1 -1
  87. package/dist/model/ListFriendRequests200ResponseIncomingInner.js +1 -1
  88. package/dist/model/ListFriendRequests200ResponseIncomingInnerRequester.js +21 -1
  89. package/dist/model/ListFriendRequests200ResponseMeta.js +1 -1
  90. package/dist/model/ListFriends200Response.js +5 -5
  91. package/dist/model/ListFriends200ResponseDataInner.js +19 -1
  92. package/dist/model/ListGroupInvitations200Response.js +124 -0
  93. package/dist/model/ListGroupInvitations200ResponseDataInner.js +122 -0
  94. package/dist/model/ListGroupMembers200Response.js +124 -0
  95. package/dist/model/ListGroupMembers200ResponseDataInner.js +180 -0
  96. package/dist/model/ListJoinRequests200Response.js +124 -0
  97. package/dist/model/ListLeaderboardRecords200Response.js +5 -5
  98. package/dist/model/ListLeaderboardRecords200ResponseDataInner.js +1 -1
  99. package/dist/model/ListLeaderboards200Response.js +5 -5
  100. package/dist/model/ListLeaderboards200ResponseDataInner.js +1 -1
  101. package/dist/model/ListLobbies200Response.js +5 -5
  102. package/dist/model/ListLobbies200ResponseDataInner.js +1 -1
  103. package/dist/model/ListMyGroups200Response.js +124 -0
  104. package/dist/model/ListMyGroups200ResponseDataInner.js +200 -0
  105. package/dist/model/ListNotifications200Response.js +124 -0
  106. package/dist/model/ListNotifications200ResponseDataInner.js +148 -0
  107. package/dist/model/ListRecordsAroundUser200Response.js +1 -1
  108. package/dist/model/ListSentInvitations200Response.js +124 -0
  109. package/dist/model/ListSentInvitations200ResponseDataInner.js +141 -0
  110. package/dist/model/Login200Response.js +1 -1
  111. package/dist/model/Login200ResponseData.js +1 -1
  112. package/dist/model/LoginRequest.js +1 -1
  113. package/dist/model/MarkChatReadRequest.js +156 -0
  114. package/dist/model/NotifyGroup200Response.js +86 -0
  115. package/dist/model/NotifyGroupRequest.js +137 -0
  116. package/dist/model/OAuthSessionData.js +1 -1
  117. package/dist/model/OAuthSessionDataDetails.js +1 -1
  118. package/dist/model/OAuthSessionStatus.js +1 -1
  119. package/dist/model/OauthApiCallback200Response.js +1 -1
  120. package/dist/model/OauthApiCallbackRequest.js +1 -1
  121. package/dist/model/OauthCallbackApiAppleIosRequest.js +1 -1
  122. package/dist/model/OauthGoogleIdTokenRequest.js +1 -1
  123. package/dist/model/OauthRequest200Response.js +1 -1
  124. package/dist/model/OauthSessionStatus404Response.js +1 -1
  125. package/dist/model/PartyCreateLobbyRequest.js +139 -0
  126. package/dist/model/PartyJoinLobbyRequest.js +90 -0
  127. package/dist/model/PromoteGroupMemberRequest.js +109 -0
  128. package/dist/model/QuickJoinRequest.js +1 -1
  129. package/dist/model/RefreshToken200Response.js +1 -1
  130. package/dist/model/RefreshToken200ResponseData.js +1 -1
  131. package/dist/model/RefreshTokenRequest.js +1 -1
  132. package/dist/model/SearchUsers200Response.js +5 -5
  133. package/dist/model/SearchUsers200ResponseDataInner.js +30 -1
  134. package/dist/model/SendChatMessageRequest.js +171 -0
  135. package/dist/model/SendNotificationRequest.js +146 -0
  136. package/dist/model/ShowParty200Response.js +160 -0
  137. package/dist/model/ShowParty200ResponseMembersInner.js +137 -0
  138. package/dist/model/UpdateCurrentUserDisplayNameRequest.js +1 -1
  139. package/dist/model/UpdateCurrentUserPassword400Response.js +1 -1
  140. package/dist/model/UpdateCurrentUserPasswordRequest.js +1 -1
  141. package/dist/model/UpdateGroupRequest.js +152 -0
  142. package/dist/model/UpdateLobbyRequest.js +1 -1
  143. package/dist/model/UpdatePartyRequest.js +95 -0
  144. package/package.json +3 -3
package/README.md CHANGED
@@ -53,6 +53,15 @@ Lobbies provide matchmaking / room management primitives. Highlights:
53
53
  - **Controls & protection**: max users, hidden/locked states, and optional password protection
54
54
  - **Hidden lobbies** are excluded from public listings; public listing endpoints are paginated
55
55
 
56
+ ## Notifications
57
+ Persistent user-to-user notifications that survive across sessions:
58
+
59
+ - **Send notifications** to accepted friends with a title, optional content, and optional metadata
60
+ - **List own notifications** with pagination (ordered oldest-first)
61
+ - **Delete notifications** by ID (single or batch)
62
+ - **Real-time delivery** via the user WebSocket channel (`\"notification\"` events)
63
+ - **Offline delivery**: undeleted notifications are replayed on WebSocket reconnect
64
+
56
65
  This SDK is automatically generated by the [OpenAPI Generator](https://openapi-generator.tech) project:
57
66
 
58
67
  - API version: 1.0.0
@@ -157,11 +166,10 @@ var defaultClient = UghuuuGameServer.ApiClient.instance;
157
166
  var authorization = defaultClient.authentications['authorization'];
158
167
  authorization.accessToken = "YOUR ACCESS TOKEN"
159
168
 
160
- var api = new UghuuuGameServer.AdminKVApi()
161
- var opts = {
162
- 'adminCreateKvEntryRequest': new UghuuuGameServer.AdminCreateKvEntryRequest() // {AdminCreateKvEntryRequest} KV entry
163
- };
164
- api.adminCreateKvEntry(opts).then(function(data) {
169
+ var api = new UghuuuGameServer.AdminChatApi()
170
+ var chatType = "chatType_example"; // {String}
171
+ var chatRefId = 56; // {Number}
172
+ api.adminDeleteChatConversation(chatType, chatRefId).then(function(data) {
165
173
  console.log('API called successfully. Returned data: ' + data);
166
174
  }, function(error) {
167
175
  console.error(error);
@@ -176,6 +184,12 @@ All URIs are relative to *http://localhost:4000*
176
184
 
177
185
  Class | Method | HTTP request | Description
178
186
  ------------ | ------------- | ------------- | -------------
187
+ *UghuuuGameServer.AdminChatApi* | [**adminDeleteChatConversation**](docs/AdminChatApi.md#adminDeleteChatConversation) | **DELETE** /api/v1/admin/chat/conversation | Delete all messages in a conversation (admin)
188
+ *UghuuuGameServer.AdminChatApi* | [**adminDeleteChatMessage**](docs/AdminChatApi.md#adminDeleteChatMessage) | **DELETE** /api/v1/admin/chat/{id} | Delete a chat message (admin)
189
+ *UghuuuGameServer.AdminChatApi* | [**adminListChatMessages**](docs/AdminChatApi.md#adminListChatMessages) | **GET** /api/v1/admin/chat | List all chat messages (admin)
190
+ *UghuuuGameServer.AdminGroupsApi* | [**adminDeleteGroup**](docs/AdminGroupsApi.md#adminDeleteGroup) | **DELETE** /api/v1/admin/groups/{id} | Delete a group (admin)
191
+ *UghuuuGameServer.AdminGroupsApi* | [**adminListGroups**](docs/AdminGroupsApi.md#adminListGroups) | **GET** /api/v1/admin/groups | List all groups (admin)
192
+ *UghuuuGameServer.AdminGroupsApi* | [**adminUpdateGroup**](docs/AdminGroupsApi.md#adminUpdateGroup) | **PATCH** /api/v1/admin/groups/{id} | Update a group (admin)
179
193
  *UghuuuGameServer.AdminKVApi* | [**adminCreateKvEntry**](docs/AdminKVApi.md#adminCreateKvEntry) | **POST** /api/v1/admin/kv/entries | Create KV entry (admin)
180
194
  *UghuuuGameServer.AdminKVApi* | [**adminDeleteKv**](docs/AdminKVApi.md#adminDeleteKv) | **DELETE** /api/v1/admin/kv | Delete KV by key (admin)
181
195
  *UghuuuGameServer.AdminKVApi* | [**adminDeleteKvEntry**](docs/AdminKVApi.md#adminDeleteKvEntry) | **DELETE** /api/v1/admin/kv/entries/{id} | Delete KV entry by id (admin)
@@ -193,6 +207,9 @@ Class | Method | HTTP request | Description
193
207
  *UghuuuGameServer.AdminLobbiesApi* | [**adminDeleteLobby**](docs/AdminLobbiesApi.md#adminDeleteLobby) | **DELETE** /api/v1/admin/lobbies/{id} | Delete lobby by id (admin)
194
208
  *UghuuuGameServer.AdminLobbiesApi* | [**adminListLobbies**](docs/AdminLobbiesApi.md#adminListLobbies) | **GET** /api/v1/admin/lobbies | List all lobbies (admin)
195
209
  *UghuuuGameServer.AdminLobbiesApi* | [**adminUpdateLobby**](docs/AdminLobbiesApi.md#adminUpdateLobby) | **PATCH** /api/v1/admin/lobbies/{id} | Update lobby by id (admin)
210
+ *UghuuuGameServer.AdminNotificationsApi* | [**adminCreateNotification**](docs/AdminNotificationsApi.md#adminCreateNotification) | **POST** /api/v1/admin/notifications | Create a notification (admin)
211
+ *UghuuuGameServer.AdminNotificationsApi* | [**adminDeleteNotification**](docs/AdminNotificationsApi.md#adminDeleteNotification) | **DELETE** /api/v1/admin/notifications/{id} | Delete a notification (admin)
212
+ *UghuuuGameServer.AdminNotificationsApi* | [**adminListNotifications**](docs/AdminNotificationsApi.md#adminListNotifications) | **GET** /api/v1/admin/notifications | List all notifications (admin)
196
213
  *UghuuuGameServer.AdminSessionsApi* | [**adminDeleteSession**](docs/AdminSessionsApi.md#adminDeleteSession) | **DELETE** /api/v1/admin/sessions/{id} | Delete session token by id (admin)
197
214
  *UghuuuGameServer.AdminSessionsApi* | [**adminDeleteUserSessions**](docs/AdminSessionsApi.md#adminDeleteUserSessions) | **DELETE** /api/v1/admin/users/{id}/sessions | Delete all session tokens for a user (admin)
198
215
  *UghuuuGameServer.AdminSessionsApi* | [**adminListSessions**](docs/AdminSessionsApi.md#adminListSessions) | **GET** /api/v1/admin/sessions | List sessions (admin)
@@ -210,6 +227,10 @@ Class | Method | HTTP request | Description
210
227
  *UghuuuGameServer.AuthenticationApi* | [**refreshToken**](docs/AuthenticationApi.md#refreshToken) | **POST** /api/v1/refresh | Refresh access token
211
228
  *UghuuuGameServer.AuthenticationApi* | [**unlinkDevice**](docs/AuthenticationApi.md#unlinkDevice) | **DELETE** /api/v1/me/device | Unlink device ID
212
229
  *UghuuuGameServer.AuthenticationApi* | [**unlinkProvider**](docs/AuthenticationApi.md#unlinkProvider) | **DELETE** /api/v1/me/providers/{provider} | Unlink OAuth provider
230
+ *UghuuuGameServer.ChatApi* | [**chatUnreadCount**](docs/ChatApi.md#chatUnreadCount) | **GET** /api/v1/chat/unread | Get unread message count
231
+ *UghuuuGameServer.ChatApi* | [**listChatMessages**](docs/ChatApi.md#listChatMessages) | **GET** /api/v1/chat/messages | List chat messages
232
+ *UghuuuGameServer.ChatApi* | [**markChatRead**](docs/ChatApi.md#markChatRead) | **POST** /api/v1/chat/read | Mark chat as read
233
+ *UghuuuGameServer.ChatApi* | [**sendChatMessage**](docs/ChatApi.md#sendChatMessage) | **POST** /api/v1/chat/messages | Send a chat message
213
234
  *UghuuuGameServer.FriendsApi* | [**acceptFriendRequest**](docs/FriendsApi.md#acceptFriendRequest) | **POST** /api/v1/friends/{id}/accept | Accept a friend request
214
235
  *UghuuuGameServer.FriendsApi* | [**blockFriendRequest**](docs/FriendsApi.md#blockFriendRequest) | **POST** /api/v1/friends/{id}/block | Block a friend request / user
215
236
  *UghuuuGameServer.FriendsApi* | [**createFriendRequest**](docs/FriendsApi.md#createFriendRequest) | **POST** /api/v1/friends | Send a friend request
@@ -219,6 +240,27 @@ Class | Method | HTTP request | Description
219
240
  *UghuuuGameServer.FriendsApi* | [**rejectFriendRequest**](docs/FriendsApi.md#rejectFriendRequest) | **POST** /api/v1/friends/{id}/reject | Reject a friend request
220
241
  *UghuuuGameServer.FriendsApi* | [**removeFriendship**](docs/FriendsApi.md#removeFriendship) | **DELETE** /api/v1/friends/{id} | Remove/cancel a friendship or request
221
242
  *UghuuuGameServer.FriendsApi* | [**unblockFriend**](docs/FriendsApi.md#unblockFriend) | **POST** /api/v1/friends/{id}/unblock | Unblock a previously-blocked friendship
243
+ *UghuuuGameServer.GroupsApi* | [**acceptGroupInvite**](docs/GroupsApi.md#acceptGroupInvite) | **POST** /api/v1/groups/{id}/accept_invite | Accept a group invitation
244
+ *UghuuuGameServer.GroupsApi* | [**approveJoinRequest**](docs/GroupsApi.md#approveJoinRequest) | **POST** /api/v1/groups/{id}/join_requests/{request_id}/approve | Approve a join request (admin only)
245
+ *UghuuuGameServer.GroupsApi* | [**cancelGroupInvite**](docs/GroupsApi.md#cancelGroupInvite) | **DELETE** /api/v1/groups/sent_invitations/{invite_id} | Cancel a sent group invitation
246
+ *UghuuuGameServer.GroupsApi* | [**cancelJoinRequest**](docs/GroupsApi.md#cancelJoinRequest) | **DELETE** /api/v1/groups/{id}/join_requests/{request_id} | Cancel your own pending join request
247
+ *UghuuuGameServer.GroupsApi* | [**createGroup**](docs/GroupsApi.md#createGroup) | **POST** /api/v1/groups | Create a group
248
+ *UghuuuGameServer.GroupsApi* | [**demoteGroupMember**](docs/GroupsApi.md#demoteGroupMember) | **POST** /api/v1/groups/{id}/demote | Demote admin to member
249
+ *UghuuuGameServer.GroupsApi* | [**getGroup**](docs/GroupsApi.md#getGroup) | **GET** /api/v1/groups/{id} | Get group details
250
+ *UghuuuGameServer.GroupsApi* | [**inviteToGroup**](docs/GroupsApi.md#inviteToGroup) | **POST** /api/v1/groups/{id}/invite | Invite a user to a hidden group (admin only)
251
+ *UghuuuGameServer.GroupsApi* | [**joinGroup**](docs/GroupsApi.md#joinGroup) | **POST** /api/v1/groups/{id}/join | Join a group
252
+ *UghuuuGameServer.GroupsApi* | [**kickGroupMember**](docs/GroupsApi.md#kickGroupMember) | **POST** /api/v1/groups/{id}/kick | Kick a member (admin only)
253
+ *UghuuuGameServer.GroupsApi* | [**leaveGroup**](docs/GroupsApi.md#leaveGroup) | **POST** /api/v1/groups/{id}/leave | Leave a group
254
+ *UghuuuGameServer.GroupsApi* | [**listGroupInvitations**](docs/GroupsApi.md#listGroupInvitations) | **GET** /api/v1/groups/invitations | List my group invitations
255
+ *UghuuuGameServer.GroupsApi* | [**listGroupMembers**](docs/GroupsApi.md#listGroupMembers) | **GET** /api/v1/groups/{id}/members | List group members
256
+ *UghuuuGameServer.GroupsApi* | [**listGroups**](docs/GroupsApi.md#listGroups) | **GET** /api/v1/groups | List groups
257
+ *UghuuuGameServer.GroupsApi* | [**listJoinRequests**](docs/GroupsApi.md#listJoinRequests) | **GET** /api/v1/groups/{id}/join_requests | List pending join requests (admin only)
258
+ *UghuuuGameServer.GroupsApi* | [**listMyGroups**](docs/GroupsApi.md#listMyGroups) | **GET** /api/v1/groups/me | List groups I belong to
259
+ *UghuuuGameServer.GroupsApi* | [**listSentInvitations**](docs/GroupsApi.md#listSentInvitations) | **GET** /api/v1/groups/sent_invitations | List group invitations I have sent
260
+ *UghuuuGameServer.GroupsApi* | [**notifyGroup**](docs/GroupsApi.md#notifyGroup) | **POST** /api/v1/groups/{id}/notify | Send a notification to all group members
261
+ *UghuuuGameServer.GroupsApi* | [**promoteGroupMember**](docs/GroupsApi.md#promoteGroupMember) | **POST** /api/v1/groups/{id}/promote | Promote member to admin
262
+ *UghuuuGameServer.GroupsApi* | [**rejectJoinRequest**](docs/GroupsApi.md#rejectJoinRequest) | **POST** /api/v1/groups/{id}/join_requests/{request_id}/reject | Reject a join request (admin only)
263
+ *UghuuuGameServer.GroupsApi* | [**updateGroup**](docs/GroupsApi.md#updateGroup) | **PATCH** /api/v1/groups/{id} | Update a group (admin only)
222
264
  *UghuuuGameServer.HealthApi* | [**index**](docs/HealthApi.md#index) | **GET** /api/v1/health | Health check
223
265
  *UghuuuGameServer.HooksApi* | [**callHook**](docs/HooksApi.md#callHook) | **POST** /api/v1/hooks/call | Invoke a hook function
224
266
  *UghuuuGameServer.HooksApi* | [**listHooks**](docs/HooksApi.md#listHooks) | **GET** /api/v1/hooks | List available hook functions
@@ -235,6 +277,17 @@ Class | Method | HTTP request | Description
235
277
  *UghuuuGameServer.LobbiesApi* | [**listLobbies**](docs/LobbiesApi.md#listLobbies) | **GET** /api/v1/lobbies | List lobbies
236
278
  *UghuuuGameServer.LobbiesApi* | [**quickJoin**](docs/LobbiesApi.md#quickJoin) | **POST** /api/v1/lobbies/quick_join | Quick-join or create a lobby
237
279
  *UghuuuGameServer.LobbiesApi* | [**updateLobby**](docs/LobbiesApi.md#updateLobby) | **PATCH** /api/v1/lobbies | Update lobby (host only)
280
+ *UghuuuGameServer.NotificationsApi* | [**deleteNotifications**](docs/NotificationsApi.md#deleteNotifications) | **DELETE** /api/v1/notifications | Delete notifications by IDs
281
+ *UghuuuGameServer.NotificationsApi* | [**listNotifications**](docs/NotificationsApi.md#listNotifications) | **GET** /api/v1/notifications | List own notifications
282
+ *UghuuuGameServer.NotificationsApi* | [**sendNotification**](docs/NotificationsApi.md#sendNotification) | **POST** /api/v1/notifications | Send a notification to a friend
283
+ *UghuuuGameServer.PartiesApi* | [**createParty**](docs/PartiesApi.md#createParty) | **POST** /api/v1/parties | Create a party
284
+ *UghuuuGameServer.PartiesApi* | [**joinPartyByCode**](docs/PartiesApi.md#joinPartyByCode) | **POST** /api/v1/parties/join | Join a party by code
285
+ *UghuuuGameServer.PartiesApi* | [**kickPartyMember**](docs/PartiesApi.md#kickPartyMember) | **POST** /api/v1/parties/kick | Kick a member from the party (leader only)
286
+ *UghuuuGameServer.PartiesApi* | [**leaveParty**](docs/PartiesApi.md#leaveParty) | **POST** /api/v1/parties/leave | Leave the current party
287
+ *UghuuuGameServer.PartiesApi* | [**partyCreateLobby**](docs/PartiesApi.md#partyCreateLobby) | **POST** /api/v1/parties/create_lobby | Create a lobby with the party (leader only)
288
+ *UghuuuGameServer.PartiesApi* | [**partyJoinLobby**](docs/PartiesApi.md#partyJoinLobby) | **POST** /api/v1/parties/join_lobby/{id} | Join a lobby with the party (leader only)
289
+ *UghuuuGameServer.PartiesApi* | [**showParty**](docs/PartiesApi.md#showParty) | **GET** /api/v1/parties/me | Get current party
290
+ *UghuuuGameServer.PartiesApi* | [**updateParty**](docs/PartiesApi.md#updateParty) | **PATCH** /api/v1/parties | Update party settings (leader only)
238
291
  *UghuuuGameServer.UsersApi* | [**deleteCurrentUser**](docs/UsersApi.md#deleteCurrentUser) | **DELETE** /api/v1/me | Delete current user
239
292
  *UghuuuGameServer.UsersApi* | [**getCurrentUser**](docs/UsersApi.md#getCurrentUser) | **GET** /api/v1/me | Return current user info
240
293
  *UghuuuGameServer.UsersApi* | [**getUser**](docs/UsersApi.md#getUser) | **GET** /api/v1/users/{id} | Get a user by id
@@ -248,17 +301,28 @@ Class | Method | HTTP request | Description
248
301
  - [UghuuuGameServer.AdminCreateKvEntry200Response](docs/AdminCreateKvEntry200Response.md)
249
302
  - [UghuuuGameServer.AdminCreateKvEntryRequest](docs/AdminCreateKvEntryRequest.md)
250
303
  - [UghuuuGameServer.AdminCreateLeaderboardRequest](docs/AdminCreateLeaderboardRequest.md)
304
+ - [UghuuuGameServer.AdminCreateNotification400Response](docs/AdminCreateNotification400Response.md)
305
+ - [UghuuuGameServer.AdminCreateNotificationRequest](docs/AdminCreateNotificationRequest.md)
306
+ - [UghuuuGameServer.AdminDeleteChatConversation200Response](docs/AdminDeleteChatConversation200Response.md)
251
307
  - [UghuuuGameServer.AdminEndLeaderboard200Response](docs/AdminEndLeaderboard200Response.md)
252
308
  - [UghuuuGameServer.AdminEndLeaderboard200ResponseData](docs/AdminEndLeaderboard200ResponseData.md)
309
+ - [UghuuuGameServer.AdminListChatMessages200Response](docs/AdminListChatMessages200Response.md)
310
+ - [UghuuuGameServer.AdminListChatMessages200ResponseDataInner](docs/AdminListChatMessages200ResponseDataInner.md)
311
+ - [UghuuuGameServer.AdminListGroups200Response](docs/AdminListGroups200Response.md)
253
312
  - [UghuuuGameServer.AdminListKvEntries200Response](docs/AdminListKvEntries200Response.md)
254
313
  - [UghuuuGameServer.AdminListKvEntries200ResponseDataInner](docs/AdminListKvEntries200ResponseDataInner.md)
255
314
  - [UghuuuGameServer.AdminListLobbies200Response](docs/AdminListLobbies200Response.md)
256
315
  - [UghuuuGameServer.AdminListLobbies200ResponseDataInner](docs/AdminListLobbies200ResponseDataInner.md)
316
+ - [UghuuuGameServer.AdminListNotifications200Response](docs/AdminListNotifications200Response.md)
317
+ - [UghuuuGameServer.AdminListNotifications200ResponseDataInner](docs/AdminListNotifications200ResponseDataInner.md)
318
+ - [UghuuuGameServer.AdminListNotifications200ResponseMeta](docs/AdminListNotifications200ResponseMeta.md)
257
319
  - [UghuuuGameServer.AdminListSessions200Response](docs/AdminListSessions200Response.md)
258
320
  - [UghuuuGameServer.AdminListSessions200ResponseDataInner](docs/AdminListSessions200ResponseDataInner.md)
259
321
  - [UghuuuGameServer.AdminSubmitLeaderboardScore200Response](docs/AdminSubmitLeaderboardScore200Response.md)
260
322
  - [UghuuuGameServer.AdminSubmitLeaderboardScore200ResponseData](docs/AdminSubmitLeaderboardScore200ResponseData.md)
261
323
  - [UghuuuGameServer.AdminSubmitLeaderboardScoreRequest](docs/AdminSubmitLeaderboardScoreRequest.md)
324
+ - [UghuuuGameServer.AdminUpdateGroup200Response](docs/AdminUpdateGroup200Response.md)
325
+ - [UghuuuGameServer.AdminUpdateGroupRequest](docs/AdminUpdateGroupRequest.md)
262
326
  - [UghuuuGameServer.AdminUpdateKvEntryRequest](docs/AdminUpdateKvEntryRequest.md)
263
327
  - [UghuuuGameServer.AdminUpdateLeaderboardRecordRequest](docs/AdminUpdateLeaderboardRecordRequest.md)
264
328
  - [UghuuuGameServer.AdminUpdateLeaderboardRequest](docs/AdminUpdateLeaderboardRequest.md)
@@ -269,8 +333,16 @@ Class | Method | HTTP request | Description
269
333
  - [UghuuuGameServer.AdminUpdateUserRequest](docs/AdminUpdateUserRequest.md)
270
334
  - [UghuuuGameServer.CallHook200Response](docs/CallHook200Response.md)
271
335
  - [UghuuuGameServer.CallHookRequest](docs/CallHookRequest.md)
336
+ - [UghuuuGameServer.CancelGroupInvite200Response](docs/CancelGroupInvite200Response.md)
337
+ - [UghuuuGameServer.CancelJoinRequest200Response](docs/CancelJoinRequest200Response.md)
338
+ - [UghuuuGameServer.ChatUnreadCount200Response](docs/ChatUnreadCount200Response.md)
272
339
  - [UghuuuGameServer.CreateFriendRequestRequest](docs/CreateFriendRequestRequest.md)
340
+ - [UghuuuGameServer.CreateGroupRequest](docs/CreateGroupRequest.md)
273
341
  - [UghuuuGameServer.CreateLobbyRequest](docs/CreateLobbyRequest.md)
342
+ - [UghuuuGameServer.CreatePartyRequest](docs/CreatePartyRequest.md)
343
+ - [UghuuuGameServer.DeleteNotifications200Response](docs/DeleteNotifications200Response.md)
344
+ - [UghuuuGameServer.DeleteNotificationsRequest](docs/DeleteNotificationsRequest.md)
345
+ - [UghuuuGameServer.DemoteGroupMemberRequest](docs/DemoteGroupMemberRequest.md)
274
346
  - [UghuuuGameServer.DeviceLoginRequest](docs/DeviceLoginRequest.md)
275
347
  - [UghuuuGameServer.ErrorResponse](docs/ErrorResponse.md)
276
348
  - [UghuuuGameServer.GetCurrentUser200Response](docs/GetCurrentUser200Response.md)
@@ -278,29 +350,46 @@ Class | Method | HTTP request | Description
278
350
  - [UghuuuGameServer.GetKv200Response](docs/GetKv200Response.md)
279
351
  - [UghuuuGameServer.GetMyRecord200Response](docs/GetMyRecord200Response.md)
280
352
  - [UghuuuGameServer.HealthResponse](docs/HealthResponse.md)
281
- - [UghuuuGameServer.JoinLobbyRequest](docs/JoinLobbyRequest.md)
353
+ - [UghuuuGameServer.InviteToGroupRequest](docs/InviteToGroupRequest.md)
354
+ - [UghuuuGameServer.JoinPartyByCodeRequest](docs/JoinPartyByCodeRequest.md)
355
+ - [UghuuuGameServer.KickGroupMemberRequest](docs/KickGroupMemberRequest.md)
282
356
  - [UghuuuGameServer.KickUserRequest](docs/KickUserRequest.md)
283
357
  - [UghuuuGameServer.LinkDeviceRequest](docs/LinkDeviceRequest.md)
284
358
  - [UghuuuGameServer.ListBlockedFriends200Response](docs/ListBlockedFriends200Response.md)
285
359
  - [UghuuuGameServer.ListBlockedFriends200ResponseDataInner](docs/ListBlockedFriends200ResponseDataInner.md)
286
360
  - [UghuuuGameServer.ListBlockedFriends200ResponseDataInnerRequester](docs/ListBlockedFriends200ResponseDataInnerRequester.md)
361
+ - [UghuuuGameServer.ListChatMessages200Response](docs/ListChatMessages200Response.md)
362
+ - [UghuuuGameServer.ListChatMessages200ResponseDataInner](docs/ListChatMessages200ResponseDataInner.md)
287
363
  - [UghuuuGameServer.ListFriendRequests200Response](docs/ListFriendRequests200Response.md)
288
364
  - [UghuuuGameServer.ListFriendRequests200ResponseIncomingInner](docs/ListFriendRequests200ResponseIncomingInner.md)
289
365
  - [UghuuuGameServer.ListFriendRequests200ResponseIncomingInnerRequester](docs/ListFriendRequests200ResponseIncomingInnerRequester.md)
290
366
  - [UghuuuGameServer.ListFriendRequests200ResponseMeta](docs/ListFriendRequests200ResponseMeta.md)
291
367
  - [UghuuuGameServer.ListFriends200Response](docs/ListFriends200Response.md)
292
368
  - [UghuuuGameServer.ListFriends200ResponseDataInner](docs/ListFriends200ResponseDataInner.md)
369
+ - [UghuuuGameServer.ListGroupInvitations200Response](docs/ListGroupInvitations200Response.md)
370
+ - [UghuuuGameServer.ListGroupInvitations200ResponseDataInner](docs/ListGroupInvitations200ResponseDataInner.md)
371
+ - [UghuuuGameServer.ListGroupMembers200Response](docs/ListGroupMembers200Response.md)
372
+ - [UghuuuGameServer.ListGroupMembers200ResponseDataInner](docs/ListGroupMembers200ResponseDataInner.md)
373
+ - [UghuuuGameServer.ListJoinRequests200Response](docs/ListJoinRequests200Response.md)
293
374
  - [UghuuuGameServer.ListLeaderboardRecords200Response](docs/ListLeaderboardRecords200Response.md)
294
375
  - [UghuuuGameServer.ListLeaderboardRecords200ResponseDataInner](docs/ListLeaderboardRecords200ResponseDataInner.md)
295
- - [UghuuuGameServer.ListLeaderboardRecords200ResponseMeta](docs/ListLeaderboardRecords200ResponseMeta.md)
296
376
  - [UghuuuGameServer.ListLeaderboards200Response](docs/ListLeaderboards200Response.md)
297
377
  - [UghuuuGameServer.ListLeaderboards200ResponseDataInner](docs/ListLeaderboards200ResponseDataInner.md)
298
378
  - [UghuuuGameServer.ListLobbies200Response](docs/ListLobbies200Response.md)
299
379
  - [UghuuuGameServer.ListLobbies200ResponseDataInner](docs/ListLobbies200ResponseDataInner.md)
380
+ - [UghuuuGameServer.ListMyGroups200Response](docs/ListMyGroups200Response.md)
381
+ - [UghuuuGameServer.ListMyGroups200ResponseDataInner](docs/ListMyGroups200ResponseDataInner.md)
382
+ - [UghuuuGameServer.ListNotifications200Response](docs/ListNotifications200Response.md)
383
+ - [UghuuuGameServer.ListNotifications200ResponseDataInner](docs/ListNotifications200ResponseDataInner.md)
300
384
  - [UghuuuGameServer.ListRecordsAroundUser200Response](docs/ListRecordsAroundUser200Response.md)
385
+ - [UghuuuGameServer.ListSentInvitations200Response](docs/ListSentInvitations200Response.md)
386
+ - [UghuuuGameServer.ListSentInvitations200ResponseDataInner](docs/ListSentInvitations200ResponseDataInner.md)
301
387
  - [UghuuuGameServer.Login200Response](docs/Login200Response.md)
302
388
  - [UghuuuGameServer.Login200ResponseData](docs/Login200ResponseData.md)
303
389
  - [UghuuuGameServer.LoginRequest](docs/LoginRequest.md)
390
+ - [UghuuuGameServer.MarkChatReadRequest](docs/MarkChatReadRequest.md)
391
+ - [UghuuuGameServer.NotifyGroup200Response](docs/NotifyGroup200Response.md)
392
+ - [UghuuuGameServer.NotifyGroupRequest](docs/NotifyGroupRequest.md)
304
393
  - [UghuuuGameServer.OAuthSessionData](docs/OAuthSessionData.md)
305
394
  - [UghuuuGameServer.OAuthSessionDataDetails](docs/OAuthSessionDataDetails.md)
306
395
  - [UghuuuGameServer.OAuthSessionStatus](docs/OAuthSessionStatus.md)
@@ -310,17 +399,25 @@ Class | Method | HTTP request | Description
310
399
  - [UghuuuGameServer.OauthGoogleIdTokenRequest](docs/OauthGoogleIdTokenRequest.md)
311
400
  - [UghuuuGameServer.OauthRequest200Response](docs/OauthRequest200Response.md)
312
401
  - [UghuuuGameServer.OauthSessionStatus404Response](docs/OauthSessionStatus404Response.md)
402
+ - [UghuuuGameServer.PartyCreateLobbyRequest](docs/PartyCreateLobbyRequest.md)
403
+ - [UghuuuGameServer.PartyJoinLobbyRequest](docs/PartyJoinLobbyRequest.md)
404
+ - [UghuuuGameServer.PromoteGroupMemberRequest](docs/PromoteGroupMemberRequest.md)
313
405
  - [UghuuuGameServer.QuickJoinRequest](docs/QuickJoinRequest.md)
314
406
  - [UghuuuGameServer.RefreshToken200Response](docs/RefreshToken200Response.md)
315
407
  - [UghuuuGameServer.RefreshToken200ResponseData](docs/RefreshToken200ResponseData.md)
316
408
  - [UghuuuGameServer.RefreshTokenRequest](docs/RefreshTokenRequest.md)
317
- - [UghuuuGameServer.RemoveFriendship401Response](docs/RemoveFriendship401Response.md)
318
409
  - [UghuuuGameServer.SearchUsers200Response](docs/SearchUsers200Response.md)
319
410
  - [UghuuuGameServer.SearchUsers200ResponseDataInner](docs/SearchUsers200ResponseDataInner.md)
411
+ - [UghuuuGameServer.SendChatMessageRequest](docs/SendChatMessageRequest.md)
412
+ - [UghuuuGameServer.SendNotificationRequest](docs/SendNotificationRequest.md)
413
+ - [UghuuuGameServer.ShowParty200Response](docs/ShowParty200Response.md)
414
+ - [UghuuuGameServer.ShowParty200ResponseMembersInner](docs/ShowParty200ResponseMembersInner.md)
320
415
  - [UghuuuGameServer.UpdateCurrentUserDisplayNameRequest](docs/UpdateCurrentUserDisplayNameRequest.md)
321
416
  - [UghuuuGameServer.UpdateCurrentUserPassword400Response](docs/UpdateCurrentUserPassword400Response.md)
322
417
  - [UghuuuGameServer.UpdateCurrentUserPasswordRequest](docs/UpdateCurrentUserPasswordRequest.md)
418
+ - [UghuuuGameServer.UpdateGroupRequest](docs/UpdateGroupRequest.md)
323
419
  - [UghuuuGameServer.UpdateLobbyRequest](docs/UpdateLobbyRequest.md)
420
+ - [UghuuuGameServer.UpdatePartyRequest](docs/UpdatePartyRequest.md)
324
421
 
325
422
 
326
423
  ## Documentation for Authorization
package/dist/ApiClient.js CHANGED
@@ -13,7 +13,7 @@ function _createClass(e, r, t) { return r && _defineProperties(e.prototype, r),
13
13
  function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == _typeof(i) ? i : i + ""; }
14
14
  function _toPrimitive(t, r) { if ("object" != _typeof(t) || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != _typeof(i)) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); } /**
15
15
  * Game Server API
16
- * API for Game Server application ## Authentication This API uses JWT (JSON Web Tokens) with access and refresh tokens: ### Getting Tokens - **Email/Password**: POST to `/api/v1/login` with email and password - **Device (SDK)**: POST to `/api/v1/login` with a `device_id` string (creates/returns a device user) - **Discord OAuth**: Use `/api/v1/auth/discord` flow - **Google OAuth**: Use `/api/v1/auth/google` flow - **Facebook OAuth**: Use `/api/v1/auth/facebook` flow - **Apple Sign In**: Use `/auth/apple` browser flow or apple sdk flow - **Steam (OpenID)**: Use `/api/v1/auth/steam` flow Both methods return: - `access_token` - Short-lived (15 min), use for API requests - `refresh_token` - Long-lived (30 days), use to get new access tokens ### Using Tokens Include the access token in the Authorization header: ``` Authorization: Bearer <access_token> ``` ### Refreshing Tokens When your access token expires, use POST `/api/v1/refresh` with your refresh token to get a new access token. ## Users Users endpoints cover the user lifecycle and profile features. Key highlights: - **Registration and login** (email/password, device token for SDKs, and OAuth providers) - **Profile metadata** (JSON blob per user) and editable profile fields - **Account lifecycle**: password reset, email confirmation, and account deletion - **Sessions & tokens**: both browser sessions and JWT-based API tokens are supported ## Friends The Friends domain offers lightweight social features: - **Friend requests** (send / accept / reject / block flows) - **Friend listing & pagination**, with basic privacy controls - **Domain helpers** to manage and query friend relationships from API or UI contexts ## Lobbies Lobbies provide matchmaking / room management primitives. Highlights: - **Create / list / update / delete** lobbies with rich metadata (mode, region, tags) - **Host-managed or hostless** modes (hostless allowed internally, not creatable via public API) - **Membership management**: join, leave, kick users, and automatic host transfer - **Controls & protection**: max users, hidden/locked states, and optional password protection - **Hidden lobbies** are excluded from public listings; public listing endpoints are paginated
16
+ * API for Game Server application ## Authentication This API uses JWT (JSON Web Tokens) with access and refresh tokens: ### Getting Tokens - **Email/Password**: POST to `/api/v1/login` with email and password - **Device (SDK)**: POST to `/api/v1/login` with a `device_id` string (creates/returns a device user) - **Discord OAuth**: Use `/api/v1/auth/discord` flow - **Google OAuth**: Use `/api/v1/auth/google` flow - **Facebook OAuth**: Use `/api/v1/auth/facebook` flow - **Apple Sign In**: Use `/auth/apple` browser flow or apple sdk flow - **Steam (OpenID)**: Use `/api/v1/auth/steam` flow Both methods return: - `access_token` - Short-lived (15 min), use for API requests - `refresh_token` - Long-lived (30 days), use to get new access tokens ### Using Tokens Include the access token in the Authorization header: ``` Authorization: Bearer <access_token> ``` ### Refreshing Tokens When your access token expires, use POST `/api/v1/refresh` with your refresh token to get a new access token. ## Users Users endpoints cover the user lifecycle and profile features. Key highlights: - **Registration and login** (email/password, device token for SDKs, and OAuth providers) - **Profile metadata** (JSON blob per user) and editable profile fields - **Account lifecycle**: password reset, email confirmation, and account deletion - **Sessions & tokens**: both browser sessions and JWT-based API tokens are supported ## Friends The Friends domain offers lightweight social features: - **Friend requests** (send / accept / reject / block flows) - **Friend listing & pagination**, with basic privacy controls - **Domain helpers** to manage and query friend relationships from API or UI contexts ## Lobbies Lobbies provide matchmaking / room management primitives. Highlights: - **Create / list / update / delete** lobbies with rich metadata (mode, region, tags) - **Host-managed or hostless** modes (hostless allowed internally, not creatable via public API) - **Membership management**: join, leave, kick users, and automatic host transfer - **Controls & protection**: max users, hidden/locked states, and optional password protection - **Hidden lobbies** are excluded from public listings; public listing endpoints are paginated ## Notifications Persistent user-to-user notifications that survive across sessions: - **Send notifications** to accepted friends with a title, optional content, and optional metadata - **List own notifications** with pagination (ordered oldest-first) - **Delete notifications** by ID (single or batch) - **Real-time delivery** via the user WebSocket channel (`\"notification\"` events) - **Offline delivery**: undeleted notifications are replayed on WebSocket reconnect
17
17
  *
18
18
  * The version of the OpenAPI document: 1.0.0
19
19
  *
@@ -0,0 +1,194 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports["default"] = void 0;
7
+ var _ApiClient = _interopRequireDefault(require("../ApiClient"));
8
+ var _AdminCreateNotification400Response = _interopRequireDefault(require("../model/AdminCreateNotification400Response"));
9
+ var _AdminDeleteChatConversation200Response = _interopRequireDefault(require("../model/AdminDeleteChatConversation200Response"));
10
+ var _AdminListChatMessages200Response = _interopRequireDefault(require("../model/AdminListChatMessages200Response"));
11
+ function _interopRequireDefault(e) { return e && e.__esModule ? e : { "default": e }; }
12
+ function _typeof(o) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o; }, _typeof(o); }
13
+ function _classCallCheck(a, n) { if (!(a instanceof n)) throw new TypeError("Cannot call a class as a function"); }
14
+ function _defineProperties(e, r) { for (var t = 0; t < r.length; t++) { var o = r[t]; o.enumerable = o.enumerable || !1, o.configurable = !0, "value" in o && (o.writable = !0), Object.defineProperty(e, _toPropertyKey(o.key), o); } }
15
+ function _createClass(e, r, t) { return r && _defineProperties(e.prototype, r), t && _defineProperties(e, t), Object.defineProperty(e, "prototype", { writable: !1 }), e; }
16
+ function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == _typeof(i) ? i : i + ""; }
17
+ function _toPrimitive(t, r) { if ("object" != _typeof(t) || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != _typeof(i)) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); } /**
18
+ * Game Server API
19
+ * API for Game Server application ## Authentication This API uses JWT (JSON Web Tokens) with access and refresh tokens: ### Getting Tokens - **Email/Password**: POST to `/api/v1/login` with email and password - **Device (SDK)**: POST to `/api/v1/login` with a `device_id` string (creates/returns a device user) - **Discord OAuth**: Use `/api/v1/auth/discord` flow - **Google OAuth**: Use `/api/v1/auth/google` flow - **Facebook OAuth**: Use `/api/v1/auth/facebook` flow - **Apple Sign In**: Use `/auth/apple` browser flow or apple sdk flow - **Steam (OpenID)**: Use `/api/v1/auth/steam` flow Both methods return: - `access_token` - Short-lived (15 min), use for API requests - `refresh_token` - Long-lived (30 days), use to get new access tokens ### Using Tokens Include the access token in the Authorization header: ``` Authorization: Bearer <access_token> ``` ### Refreshing Tokens When your access token expires, use POST `/api/v1/refresh` with your refresh token to get a new access token. ## Users Users endpoints cover the user lifecycle and profile features. Key highlights: - **Registration and login** (email/password, device token for SDKs, and OAuth providers) - **Profile metadata** (JSON blob per user) and editable profile fields - **Account lifecycle**: password reset, email confirmation, and account deletion - **Sessions & tokens**: both browser sessions and JWT-based API tokens are supported ## Friends The Friends domain offers lightweight social features: - **Friend requests** (send / accept / reject / block flows) - **Friend listing & pagination**, with basic privacy controls - **Domain helpers** to manage and query friend relationships from API or UI contexts ## Lobbies Lobbies provide matchmaking / room management primitives. Highlights: - **Create / list / update / delete** lobbies with rich metadata (mode, region, tags) - **Host-managed or hostless** modes (hostless allowed internally, not creatable via public API) - **Membership management**: join, leave, kick users, and automatic host transfer - **Controls & protection**: max users, hidden/locked states, and optional password protection - **Hidden lobbies** are excluded from public listings; public listing endpoints are paginated ## Notifications Persistent user-to-user notifications that survive across sessions: - **Send notifications** to accepted friends with a title, optional content, and optional metadata - **List own notifications** with pagination (ordered oldest-first) - **Delete notifications** by ID (single or batch) - **Real-time delivery** via the user WebSocket channel (`\"notification\"` events) - **Offline delivery**: undeleted notifications are replayed on WebSocket reconnect
20
+ *
21
+ * The version of the OpenAPI document: 1.0.0
22
+ *
23
+ *
24
+ * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
25
+ * https://openapi-generator.tech
26
+ * Do not edit the class manually.
27
+ *
28
+ */
29
+ /**
30
+ * AdminChat service.
31
+ * @module api/AdminChatApi
32
+ * @version 1.0.0
33
+ */
34
+ var AdminChatApi = exports["default"] = /*#__PURE__*/function () {
35
+ /**
36
+ * Constructs a new AdminChatApi.
37
+ * @alias module:api/AdminChatApi
38
+ * @class
39
+ * @param {module:ApiClient} [apiClient] Optional API client implementation to use,
40
+ * default to {@link module:ApiClient#instance} if unspecified.
41
+ */
42
+ function AdminChatApi(apiClient) {
43
+ _classCallCheck(this, AdminChatApi);
44
+ this.apiClient = apiClient || _ApiClient["default"].instance;
45
+ }
46
+
47
+ /**
48
+ * Delete all messages in a conversation (admin)
49
+ * Delete all messages for a given chat_type and chat_ref_id.
50
+ * @param {module:model/String} chatType
51
+ * @param {Number} chatRefId
52
+ * @return {Promise} a {@link https://www.promisejs.org/|Promise}, with an object containing data of type {@link module:model/AdminDeleteChatConversation200Response} and HTTP response
53
+ */
54
+ return _createClass(AdminChatApi, [{
55
+ key: "adminDeleteChatConversationWithHttpInfo",
56
+ value: function adminDeleteChatConversationWithHttpInfo(chatType, chatRefId) {
57
+ var postBody = null;
58
+ // verify the required parameter 'chatType' is set
59
+ if (chatType === undefined || chatType === null) {
60
+ throw new Error("Missing the required parameter 'chatType' when calling adminDeleteChatConversation");
61
+ }
62
+ // verify the required parameter 'chatRefId' is set
63
+ if (chatRefId === undefined || chatRefId === null) {
64
+ throw new Error("Missing the required parameter 'chatRefId' when calling adminDeleteChatConversation");
65
+ }
66
+ var pathParams = {};
67
+ var queryParams = {
68
+ 'chat_type': chatType,
69
+ 'chat_ref_id': chatRefId
70
+ };
71
+ var headerParams = {};
72
+ var formParams = {};
73
+ var authNames = ['authorization'];
74
+ var contentTypes = [];
75
+ var accepts = ['application/json'];
76
+ var returnType = _AdminDeleteChatConversation200Response["default"];
77
+ return this.apiClient.callApi('/api/v1/admin/chat/conversation', 'DELETE', pathParams, queryParams, headerParams, formParams, postBody, authNames, contentTypes, accepts, returnType, null);
78
+ }
79
+
80
+ /**
81
+ * Delete all messages in a conversation (admin)
82
+ * Delete all messages for a given chat_type and chat_ref_id.
83
+ * @param {module:model/String} chatType
84
+ * @param {Number} chatRefId
85
+ * @return {Promise} a {@link https://www.promisejs.org/|Promise}, with data of type {@link module:model/AdminDeleteChatConversation200Response}
86
+ */
87
+ }, {
88
+ key: "adminDeleteChatConversation",
89
+ value: function adminDeleteChatConversation(chatType, chatRefId) {
90
+ return this.adminDeleteChatConversationWithHttpInfo(chatType, chatRefId).then(function (response_and_data) {
91
+ return response_and_data.data;
92
+ });
93
+ }
94
+
95
+ /**
96
+ * Delete a chat message (admin)
97
+ * Admin-level message deletion by ID.
98
+ * @param {Number} id
99
+ * @return {Promise} a {@link https://www.promisejs.org/|Promise}, with an object containing data of type {@link Object} and HTTP response
100
+ */
101
+ }, {
102
+ key: "adminDeleteChatMessageWithHttpInfo",
103
+ value: function adminDeleteChatMessageWithHttpInfo(id) {
104
+ var postBody = null;
105
+ // verify the required parameter 'id' is set
106
+ if (id === undefined || id === null) {
107
+ throw new Error("Missing the required parameter 'id' when calling adminDeleteChatMessage");
108
+ }
109
+ var pathParams = {
110
+ 'id': id
111
+ };
112
+ var queryParams = {};
113
+ var headerParams = {};
114
+ var formParams = {};
115
+ var authNames = ['authorization'];
116
+ var contentTypes = [];
117
+ var accepts = ['application/json'];
118
+ var returnType = Object;
119
+ return this.apiClient.callApi('/api/v1/admin/chat/{id}', 'DELETE', pathParams, queryParams, headerParams, formParams, postBody, authNames, contentTypes, accepts, returnType, null);
120
+ }
121
+
122
+ /**
123
+ * Delete a chat message (admin)
124
+ * Admin-level message deletion by ID.
125
+ * @param {Number} id
126
+ * @return {Promise} a {@link https://www.promisejs.org/|Promise}, with data of type {@link Object}
127
+ */
128
+ }, {
129
+ key: "adminDeleteChatMessage",
130
+ value: function adminDeleteChatMessage(id) {
131
+ return this.adminDeleteChatMessageWithHttpInfo(id).then(function (response_and_data) {
132
+ return response_and_data.data;
133
+ });
134
+ }
135
+
136
+ /**
137
+ * List all chat messages (admin)
138
+ * List all chat messages with optional filters. Returns paginated results sorted by newest first.
139
+ * @param {Object} opts Optional parameters
140
+ * @param {Number} [senderId]
141
+ * @param {module:model/String} [chatType]
142
+ * @param {Number} [chatRefId]
143
+ * @param {String} [content]
144
+ * @param {module:model/String} [sortBy]
145
+ * @param {Number} [page]
146
+ * @param {Number} [pageSize]
147
+ * @return {Promise} a {@link https://www.promisejs.org/|Promise}, with an object containing data of type {@link module:model/AdminListChatMessages200Response} and HTTP response
148
+ */
149
+ }, {
150
+ key: "adminListChatMessagesWithHttpInfo",
151
+ value: function adminListChatMessagesWithHttpInfo(opts) {
152
+ opts = opts || {};
153
+ var postBody = null;
154
+ var pathParams = {};
155
+ var queryParams = {
156
+ 'sender_id': opts['senderId'],
157
+ 'chat_type': opts['chatType'],
158
+ 'chat_ref_id': opts['chatRefId'],
159
+ 'content': opts['content'],
160
+ 'sort_by': opts['sortBy'],
161
+ 'page': opts['page'],
162
+ 'page_size': opts['pageSize']
163
+ };
164
+ var headerParams = {};
165
+ var formParams = {};
166
+ var authNames = ['authorization'];
167
+ var contentTypes = [];
168
+ var accepts = ['application/json'];
169
+ var returnType = _AdminListChatMessages200Response["default"];
170
+ return this.apiClient.callApi('/api/v1/admin/chat', 'GET', pathParams, queryParams, headerParams, formParams, postBody, authNames, contentTypes, accepts, returnType, null);
171
+ }
172
+
173
+ /**
174
+ * List all chat messages (admin)
175
+ * List all chat messages with optional filters. Returns paginated results sorted by newest first.
176
+ * @param {Object} opts Optional parameters
177
+ * @param {Number} opts.senderId
178
+ * @param {module:model/String} opts.chatType
179
+ * @param {Number} opts.chatRefId
180
+ * @param {String} opts.content
181
+ * @param {module:model/String} opts.sortBy
182
+ * @param {Number} opts.page
183
+ * @param {Number} opts.pageSize
184
+ * @return {Promise} a {@link https://www.promisejs.org/|Promise}, with data of type {@link module:model/AdminListChatMessages200Response}
185
+ */
186
+ }, {
187
+ key: "adminListChatMessages",
188
+ value: function adminListChatMessages(opts) {
189
+ return this.adminListChatMessagesWithHttpInfo(opts).then(function (response_and_data) {
190
+ return response_and_data.data;
191
+ });
192
+ }
193
+ }]);
194
+ }();