@ughuuu/game_server 1.0.381 → 1.0.790
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.
- package/README.md +109 -24
- package/dist/ApiClient.js +2 -2
- package/dist/api/AchievementsApi.js +224 -0
- package/dist/api/AdminAchievementsApi.js +356 -0
- package/dist/api/AdminChatApi.js +2 -2
- package/dist/api/AdminGroupsApi.js +2 -2
- package/dist/api/AdminKVApi.js +2 -2
- package/dist/api/AdminLeaderboardsApi.js +2 -2
- package/dist/api/AdminLobbiesApi.js +2 -2
- package/dist/api/AdminNotificationsApi.js +2 -2
- package/dist/api/AdminSessionsApi.js +2 -2
- package/dist/api/AdminUsersApi.js +2 -2
- package/dist/api/AuthenticationApi.js +2 -2
- package/dist/api/ChatApi.js +141 -12
- package/dist/api/FriendsApi.js +2 -2
- package/dist/api/GroupsApi.js +69 -27
- package/dist/api/HealthApi.js +2 -2
- package/dist/api/HooksApi.js +2 -2
- package/dist/api/KVApi.js +2 -2
- package/dist/api/LeaderboardsApi.js +43 -2
- package/dist/api/LobbiesApi.js +44 -2
- package/dist/api/NotificationsApi.js +2 -2
- package/dist/api/PartiesApi.js +206 -22
- package/dist/api/UsersApi.js +2 -2
- package/dist/index.js +183 -10
- package/dist/model/AcceptPartyInviteRequest.js +109 -0
- package/dist/model/AdminCreateAchievementRequest.js +182 -0
- package/dist/model/AdminCreateKvEntry200Response.js +2 -2
- package/dist/model/AdminCreateKvEntryRequest.js +2 -2
- package/dist/model/AdminCreateLeaderboardRequest.js +2 -2
- package/dist/model/AdminCreateNotification400Response.js +2 -2
- package/dist/model/AdminCreateNotificationRequest.js +2 -2
- package/dist/model/AdminDeleteChatConversation200Response.js +2 -2
- package/dist/model/AdminEndLeaderboard200Response.js +2 -2
- package/dist/model/AdminEndLeaderboard200ResponseData.js +2 -2
- package/dist/model/AdminIncrementAchievementRequest.js +130 -0
- package/dist/model/AdminListAchievements200Response.js +118 -0
- package/dist/model/AdminListChatMessages200Response.js +2 -2
- package/dist/model/AdminListChatMessages200ResponseDataInner.js +20 -3
- package/dist/model/AdminListGroups200Response.js +2 -2
- package/dist/model/AdminListKvEntries200Response.js +2 -2
- package/dist/model/AdminListKvEntries200ResponseDataInner.js +2 -2
- package/dist/model/AdminListLobbies200Response.js +2 -2
- package/dist/model/AdminListLobbies200ResponseDataInner.js +32 -2
- package/dist/model/AdminListNotifications200Response.js +2 -2
- package/dist/model/AdminListNotifications200ResponseDataInner.js +15 -2
- package/dist/model/AdminListNotifications200ResponseMeta.js +2 -2
- package/dist/model/AdminListSessions200Response.js +2 -2
- package/dist/model/AdminListSessions200ResponseDataInner.js +2 -2
- package/dist/model/AdminRevokeAchievementRequest.js +118 -0
- package/dist/model/AdminSubmitLeaderboardScore200Response.js +2 -2
- package/dist/model/AdminSubmitLeaderboardScore200ResponseData.js +14 -2
- package/dist/model/AdminSubmitLeaderboardScoreRequest.js +20 -8
- package/dist/model/AdminUnlockAchievementRequest.js +122 -0
- package/dist/model/AdminUpdateAchievement200Response.js +181 -0
- package/dist/model/AdminUpdateAchievementRequest.js +145 -0
- package/dist/model/AdminUpdateGroup200Response.js +23 -2
- package/dist/model/AdminUpdateGroupRequest.js +11 -2
- package/dist/model/AdminUpdateKvEntryRequest.js +2 -2
- package/dist/model/AdminUpdateLeaderboardRecordRequest.js +2 -2
- package/dist/model/AdminUpdateLeaderboardRequest.js +2 -2
- package/dist/model/AdminUpdateLobby200Response.js +2 -2
- package/dist/model/AdminUpdateLobbyRequest.js +11 -2
- package/dist/model/AdminUpdateUser200Response.js +2 -2
- package/dist/model/AdminUpdateUser200ResponseData.js +2 -2
- package/dist/model/AdminUpdateUserRequest.js +2 -2
- package/dist/model/CallHook200Response.js +2 -2
- package/dist/model/CallHookRequest.js +2 -2
- package/dist/model/CancelGroupInvite200Response.js +2 -2
- package/dist/model/CancelJoinRequest200Response.js +2 -2
- package/dist/model/CancelPartyInviteRequest.js +109 -0
- package/dist/model/ChatUnreadCount200Response.js +2 -2
- package/dist/model/CreateFriendRequestRequest.js +2 -2
- package/dist/model/CreateGroupRequest.js +11 -2
- package/dist/model/CreateLobbyRequest.js +11 -2
- package/dist/model/CreatePartyRequest.js +2 -2
- package/dist/model/DeclinePartyInviteRequest.js +109 -0
- package/dist/model/DeleteNotifications200Response.js +2 -2
- package/dist/model/DeleteNotificationsRequest.js +2 -2
- package/dist/model/DemoteGroupMemberRequest.js +2 -2
- package/dist/model/DeviceLoginRequest.js +2 -2
- package/dist/model/ErrorResponse.js +2 -2
- package/dist/model/GetChatMessage200Response.js +196 -0
- package/dist/model/GetCurrentUser200Response.js +2 -2
- package/dist/model/GetCurrentUser200ResponseLinkedProviders.js +2 -2
- package/dist/model/GetKv200Response.js +2 -2
- package/dist/model/GetLobby200Response.js +133 -0
- package/dist/model/GetLobby200ResponseMembersInner.js +146 -0
- package/dist/model/GetMyRecord200Response.js +2 -2
- package/dist/model/HealthResponse.js +2 -2
- package/dist/model/InviteToGroup200Response.js +90 -0
- package/dist/model/InviteToGroupRequest.js +2 -2
- package/dist/model/InviteToPartyRequest.js +109 -0
- package/dist/model/KickGroupMemberRequest.js +2 -2
- package/dist/model/KickUserRequest.js +2 -2
- package/dist/model/LinkDeviceRequest.js +2 -2
- package/dist/model/ListBlockedFriends200Response.js +2 -2
- package/dist/model/ListBlockedFriends200ResponseDataInner.js +2 -2
- package/dist/model/ListBlockedFriends200ResponseDataInnerRequester.js +2 -2
- package/dist/model/ListChatMessages200Response.js +6 -6
- package/dist/model/ListFriendRequests200Response.js +2 -2
- package/dist/model/ListFriendRequests200ResponseIncomingInner.js +2 -2
- package/dist/model/ListFriendRequests200ResponseIncomingInnerRequester.js +11 -2
- package/dist/model/ListFriendRequests200ResponseMeta.js +2 -2
- package/dist/model/ListFriends200Response.js +2 -2
- package/dist/model/ListFriends200ResponseDataInner.js +11 -2
- package/dist/model/ListGroupInvitations200Response.js +2 -2
- package/dist/model/ListGroupInvitations200ResponseDataInner.js +48 -3
- package/dist/model/ListGroupMembers200Response.js +2 -2
- package/dist/model/ListGroupMembers200ResponseDataInner.js +2 -2
- package/dist/model/ListJoinRequests200Response.js +2 -2
- package/dist/model/ListLeaderboardRecords200Response.js +2 -2
- package/dist/model/ListLeaderboardRecords200ResponseDataInner.js +4 -4
- package/dist/model/ListLeaderboards200Response.js +2 -2
- package/dist/model/ListLeaderboards200ResponseDataInner.js +2 -2
- package/dist/model/ListLobbies200Response.js +2 -2
- package/dist/model/ListLobbies200ResponseDataInner.js +24 -2
- package/dist/model/ListMyGroups200Response.js +2 -2
- package/dist/model/ListMyGroups200ResponseDataInner.js +24 -2
- package/dist/model/ListNotifications200Response.js +2 -2
- package/dist/model/ListNotifications200ResponseDataInner.js +15 -2
- package/dist/model/ListPartyInvitations200ResponseInner.js +155 -0
- package/dist/model/ListRecordsAroundUser200Response.js +2 -2
- package/dist/model/ListSentInvitations200Response.js +2 -2
- package/dist/model/ListSentInvitations200ResponseDataInner.js +26 -2
- package/dist/model/Login200Response.js +2 -2
- package/dist/model/Login200ResponseData.js +15 -2
- package/dist/model/LoginRequest.js +2 -2
- package/dist/model/MarkChatReadRequest.js +8 -3
- package/dist/model/NotifyGroup200Response.js +2 -2
- package/dist/model/NotifyGroupRequest.js +3 -3
- package/dist/model/OAuthSessionData.js +15 -2
- package/dist/model/OAuthSessionDataDetails.js +2 -2
- package/dist/model/OAuthSessionStatus.js +2 -2
- package/dist/model/OauthApiCallback200Response.js +2 -2
- package/dist/model/OauthApiCallbackRequest.js +2 -2
- package/dist/model/OauthCallbackApiAppleIosRequest.js +2 -2
- package/dist/model/OauthGoogleIdTokenRequest.js +2 -2
- package/dist/model/OauthRequest200Response.js +2 -2
- package/dist/model/OauthSessionStatus404Response.js +2 -2
- package/dist/model/PartyCreateLobbyRequest.js +2 -2
- package/dist/model/PartyJoinLobbyRequest.js +2 -2
- package/dist/model/PromoteGroupMemberRequest.js +2 -2
- package/dist/model/QuickJoinRequest.js +2 -2
- package/dist/model/RefreshToken200Response.js +2 -2
- package/dist/model/RefreshToken200ResponseData.js +15 -2
- package/dist/model/RefreshTokenRequest.js +2 -2
- package/dist/model/ResolveLeaderboardSlugs200Response.js +89 -0
- package/dist/model/ResolveLeaderboardSlugsRequest.js +113 -0
- package/dist/model/SearchUsers200Response.js +2 -2
- package/dist/model/SearchUsers200ResponseDataInner.js +11 -2
- package/dist/model/SendChatMessageRequest.js +10 -5
- package/dist/model/SendNotificationRequest.js +2 -2
- package/dist/model/ShowParty200Response.js +13 -13
- package/dist/model/ShowParty200ResponseMembersInner.js +11 -2
- package/dist/model/UpdateChatMessageRequest.js +99 -0
- package/dist/model/UpdateCurrentUserDisplayNameRequest.js +2 -2
- package/dist/model/UpdateCurrentUserPassword400Response.js +2 -2
- package/dist/model/UpdateCurrentUserPasswordRequest.js +2 -2
- package/dist/model/UpdateGroupRequest.js +11 -2
- package/dist/model/UpdateLobbyRequest.js +11 -2
- package/dist/model/UpdatePartyRequest.js +2 -2
- package/dist/model/UserAchievements200Response.js +124 -0
- package/dist/model/UserAchievements200ResponseDataInner.js +192 -0
- package/dist/realtime.js +247 -0
- package/dist/webrtc.js +375 -0
- package/package.json +15 -4
- package/dist/model/CreateLobby401Response.js +0 -89
- package/dist/model/JoinLobby200Response.js +0 -89
- package/dist/model/JoinLobbyRequest.js +0 -90
- package/dist/model/JoinPartyByCodeRequest.js +0 -113
- package/dist/model/KickUser200Response.js +0 -89
- package/dist/model/LeaveLobby200Response.js +0 -89
- package/dist/model/ListChatMessages200ResponseDataInner.js +0 -170
- package/dist/model/ListLeaderboardRecords200ResponseMeta.js +0 -125
- package/dist/model/ListLobbies200ResponseInner.js +0 -153
- package/dist/model/ListLobbies200ResponseMeta.js +0 -125
- package/dist/model/Login200ResponseDataUser.js +0 -97
- package/dist/model/RemoveFriendship401Response.js +0 -89
package/README.md
CHANGED
|
@@ -1,13 +1,13 @@
|
|
|
1
1
|
# @ughuuu/game_server
|
|
2
2
|
|
|
3
3
|
UghuuuGameServer - JavaScript client for @ughuuu/game_server
|
|
4
|
-
API for Game Server
|
|
4
|
+
API for the Gamend Game Server. Has authentication, users, lobbies, groups, parties, friends, chat, notifications, achievements, leaderboards, server scripting and admin portal.
|
|
5
5
|
|
|
6
|
-
## Authentication
|
|
6
|
+
## **1. Authentication**
|
|
7
7
|
|
|
8
8
|
This API uses JWT (JSON Web Tokens) with access and refresh tokens:
|
|
9
9
|
|
|
10
|
-
### Getting Tokens
|
|
10
|
+
### **1.1 Getting Tokens**
|
|
11
11
|
- **Email/Password**: POST to `/api/v1/login` with email and password
|
|
12
12
|
- **Device (SDK)**: POST to `/api/v1/login` with a `device_id` string (creates/returns a device user)
|
|
13
13
|
- **Discord OAuth**: Use `/api/v1/auth/discord` flow
|
|
@@ -20,16 +20,16 @@ Both methods return:
|
|
|
20
20
|
- `access_token` - Short-lived (15 min), use for API requests
|
|
21
21
|
- `refresh_token` - Long-lived (30 days), use to get new access tokens
|
|
22
22
|
|
|
23
|
-
### Using Tokens
|
|
23
|
+
### **1.2 Using Tokens**
|
|
24
24
|
Include the access token in the Authorization header:
|
|
25
25
|
```
|
|
26
26
|
Authorization: Bearer <access_token>
|
|
27
27
|
```
|
|
28
28
|
|
|
29
|
-
### Refreshing Tokens
|
|
29
|
+
### **1.3 Refreshing Tokens**
|
|
30
30
|
When your access token expires, use POST `/api/v1/refresh` with your refresh token to get a new access token.
|
|
31
31
|
|
|
32
|
-
## Users
|
|
32
|
+
## **2. Users**
|
|
33
33
|
Users endpoints cover the user lifecycle and profile features. Key highlights:
|
|
34
34
|
|
|
35
35
|
- **Registration and login** (email/password, device token for SDKs, and OAuth providers)
|
|
@@ -37,14 +37,14 @@ Users endpoints cover the user lifecycle and profile features. Key highlights:
|
|
|
37
37
|
- **Account lifecycle**: password reset, email confirmation, and account deletion
|
|
38
38
|
- **Sessions & tokens**: both browser sessions and JWT-based API tokens are supported
|
|
39
39
|
|
|
40
|
-
## Friends
|
|
40
|
+
## **3. Friends**
|
|
41
41
|
The Friends domain offers lightweight social features:
|
|
42
42
|
|
|
43
43
|
- **Friend requests** (send / accept / reject / block flows)
|
|
44
44
|
- **Friend listing & pagination**, with basic privacy controls
|
|
45
45
|
- **Domain helpers** to manage and query friend relationships from API or UI contexts
|
|
46
46
|
|
|
47
|
-
## Lobbies
|
|
47
|
+
## **4. Lobbies**
|
|
48
48
|
Lobbies provide matchmaking / room management primitives. Highlights:
|
|
49
49
|
|
|
50
50
|
- **Create / list / update / delete** lobbies with rich metadata (mode, region, tags)
|
|
@@ -53,7 +53,7 @@ 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
|
|
56
|
+
## **5. Notifications**
|
|
57
57
|
Persistent user-to-user notifications that survive across sessions:
|
|
58
58
|
|
|
59
59
|
- **Send notifications** to accepted friends with a title, optional content, and optional metadata
|
|
@@ -62,11 +62,59 @@ Persistent user-to-user notifications that survive across sessions:
|
|
|
62
62
|
- **Real-time delivery** via the user WebSocket channel (`\"notification\"` events)
|
|
63
63
|
- **Offline delivery**: undeleted notifications are replayed on WebSocket reconnect
|
|
64
64
|
|
|
65
|
+
## **6. Groups**
|
|
66
|
+
Groups provide persistent community management for players:
|
|
67
|
+
|
|
68
|
+
- **Three group types**: `public` (anyone joins directly), `private` (users request to join, admins approve), `hidden` (invite-only, never listed)
|
|
69
|
+
- **Membership roles**: `admin` and `member`, with promote/demote capabilities
|
|
70
|
+
- **Join requests**: for private groups, users submit requests that admins approve or reject
|
|
71
|
+
- **Invitations**: admins can invite users directly (blocked users are rejected)
|
|
72
|
+
- **CRUD operations**: create, update, delete groups with metadata support
|
|
73
|
+
- **Group chat**: integrated via the Chat API with `chat_type: \"group\"`
|
|
74
|
+
|
|
75
|
+
## **7. Parties**
|
|
76
|
+
Ephemeral groups of users for short-lived sessions (e.g., matchmaking squads):
|
|
77
|
+
|
|
78
|
+
- **Invite-only joining**: the party leader sends invites by user ID to friends or shared-group members
|
|
79
|
+
- **Invite flow**: `POST /parties/invite` → recipient accepts via `POST /parties/invite/accept` or declines via `POST /parties/invite/decline`; leader can cancel via `POST /parties/invite/cancel`
|
|
80
|
+
- **Invite visibility**: leader can list sent invites (`GET /parties/invitations/sent`); recipient can list received invites (`GET /parties/invitations`)
|
|
81
|
+
- **Connection requirement**: invites can only be sent to users who are friends or share at least one group with the leader
|
|
82
|
+
- **One party at a time**: a user can only be in one party; accepting an invite while already in a party is rejected
|
|
83
|
+
- **Leader management**: the creator is the leader; leadership can be transferred
|
|
84
|
+
- **Lobby integration**: parties can create or join lobbies as a group
|
|
85
|
+
- **Party chat**: integrated via the Chat API with `chat_type: \"party\"`
|
|
86
|
+
- **Real-time events** via the party WebSocket channel
|
|
87
|
+
|
|
88
|
+
## **8. Chat**
|
|
89
|
+
Real-time messaging across multiple conversation types:
|
|
90
|
+
|
|
91
|
+
- **Chat types**: `lobby` (within a lobby), `group` (within a group), `party` (within a party), `friend` (DMs between friends)
|
|
92
|
+
- **Send messages** with content, optional metadata, and automatic access validation
|
|
93
|
+
- **List messages** with pagination (newest first)
|
|
94
|
+
- **Read tracking**: mark messages as read and get unread counts per conversation
|
|
95
|
+
- **Real-time delivery** via PubSub and WebSocket channels
|
|
96
|
+
- **Moderation hooks**: `before_chat_message` pipeline hook for filtering/blocking
|
|
97
|
+
|
|
98
|
+
## **9. Leaderboards**
|
|
99
|
+
Server-managed ranked scoreboards:
|
|
100
|
+
|
|
101
|
+
- **Multiple leaderboards**: create named leaderboards with configurable sort order
|
|
102
|
+
- **Score submission**: submit scores with optional metadata
|
|
103
|
+
- **Rankings**: retrieve paginated rankings with user details
|
|
104
|
+
- **Reset support**: leaderboards can be reset periodically
|
|
105
|
+
|
|
106
|
+
## **10. Key-Value Storage**
|
|
107
|
+
Per-user persistent key-value storage for game state, preferences, and settings:
|
|
108
|
+
|
|
109
|
+
- **Get/set/delete** key-value pairs scoped to the authenticated user
|
|
110
|
+
- **List keys** with optional prefix filtering
|
|
111
|
+
- **Metadata support**: values can include arbitrary JSON metadata
|
|
112
|
+
|
|
65
113
|
This SDK is automatically generated by the [OpenAPI Generator](https://openapi-generator.tech) project:
|
|
66
114
|
|
|
67
|
-
- API version: 1.0.
|
|
115
|
+
- API version: 1.0.790
|
|
68
116
|
- Package version: 1.0.0
|
|
69
|
-
- Generator version: 7.
|
|
117
|
+
- Generator version: 7.20.0
|
|
70
118
|
- Build package: org.openapitools.codegen.languages.JavascriptClientCodegen
|
|
71
119
|
|
|
72
120
|
## Installation
|
|
@@ -161,15 +209,10 @@ Please follow the [installation](#installation) instruction and execute the foll
|
|
|
161
209
|
```javascript
|
|
162
210
|
var UghuuuGameServer = require('@ughuuu/game_server');
|
|
163
211
|
|
|
164
|
-
var defaultClient = UghuuuGameServer.ApiClient.instance;
|
|
165
|
-
// Configure Bearer (JWT) access token for authorization: authorization
|
|
166
|
-
var authorization = defaultClient.authentications['authorization'];
|
|
167
|
-
authorization.accessToken = "YOUR ACCESS TOKEN"
|
|
168
212
|
|
|
169
|
-
var api = new UghuuuGameServer.
|
|
170
|
-
var
|
|
171
|
-
|
|
172
|
-
api.adminDeleteChatConversation(chatType, chatRefId).then(function(data) {
|
|
213
|
+
var api = new UghuuuGameServer.AchievementsApi()
|
|
214
|
+
var slug = "slug_example"; // {String}
|
|
215
|
+
api.getAchievement(slug).then(function(data) {
|
|
173
216
|
console.log('API called successfully. Returned data: ' + data);
|
|
174
217
|
}, function(error) {
|
|
175
218
|
console.error(error);
|
|
@@ -184,6 +227,18 @@ All URIs are relative to *http://localhost:4000*
|
|
|
184
227
|
|
|
185
228
|
Class | Method | HTTP request | Description
|
|
186
229
|
------------ | ------------- | ------------- | -------------
|
|
230
|
+
*UghuuuGameServer.AchievementsApi* | [**getAchievement**](docs/AchievementsApi.md#getAchievement) | **GET** /api/v1/achievements/{slug} | Get achievement details
|
|
231
|
+
*UghuuuGameServer.AchievementsApi* | [**listAchievements**](docs/AchievementsApi.md#listAchievements) | **GET** /api/v1/achievements | List achievements
|
|
232
|
+
*UghuuuGameServer.AchievementsApi* | [**myAchievements**](docs/AchievementsApi.md#myAchievements) | **GET** /api/v1/achievements/me | List my unlocked achievements
|
|
233
|
+
*UghuuuGameServer.AchievementsApi* | [**userAchievements**](docs/AchievementsApi.md#userAchievements) | **GET** /api/v1/achievements/user/{user_id} | List a user's unlocked achievements
|
|
234
|
+
*UghuuuGameServer.AdminAchievementsApi* | [**adminCreateAchievement**](docs/AdminAchievementsApi.md#adminCreateAchievement) | **POST** /api/v1/admin/achievements | Create achievement (admin)
|
|
235
|
+
*UghuuuGameServer.AdminAchievementsApi* | [**adminDeleteAchievement**](docs/AdminAchievementsApi.md#adminDeleteAchievement) | **DELETE** /api/v1/admin/achievements/{id} | Delete achievement (admin)
|
|
236
|
+
*UghuuuGameServer.AdminAchievementsApi* | [**adminGrantAchievement**](docs/AdminAchievementsApi.md#adminGrantAchievement) | **POST** /api/v1/admin/achievements/grant | Grant achievement to user (admin)
|
|
237
|
+
*UghuuuGameServer.AdminAchievementsApi* | [**adminIncrementAchievement**](docs/AdminAchievementsApi.md#adminIncrementAchievement) | **POST** /api/v1/admin/achievements/increment | Increment achievement progress for user (admin)
|
|
238
|
+
*UghuuuGameServer.AdminAchievementsApi* | [**adminListAchievements**](docs/AdminAchievementsApi.md#adminListAchievements) | **GET** /api/v1/admin/achievements | List all achievements (admin, includes hidden)
|
|
239
|
+
*UghuuuGameServer.AdminAchievementsApi* | [**adminRevokeAchievement**](docs/AdminAchievementsApi.md#adminRevokeAchievement) | **POST** /api/v1/admin/achievements/revoke | Revoke achievement from user (admin)
|
|
240
|
+
*UghuuuGameServer.AdminAchievementsApi* | [**adminUnlockAchievement**](docs/AdminAchievementsApi.md#adminUnlockAchievement) | **POST** /api/v1/admin/achievements/unlock | Unlock achievement for user (admin)
|
|
241
|
+
*UghuuuGameServer.AdminAchievementsApi* | [**adminUpdateAchievement**](docs/AdminAchievementsApi.md#adminUpdateAchievement) | **PATCH** /api/v1/admin/achievements/{id} | Update achievement (admin)
|
|
187
242
|
*UghuuuGameServer.AdminChatApi* | [**adminDeleteChatConversation**](docs/AdminChatApi.md#adminDeleteChatConversation) | **DELETE** /api/v1/admin/chat/conversation | Delete all messages in a conversation (admin)
|
|
188
243
|
*UghuuuGameServer.AdminChatApi* | [**adminDeleteChatMessage**](docs/AdminChatApi.md#adminDeleteChatMessage) | **DELETE** /api/v1/admin/chat/{id} | Delete a chat message (admin)
|
|
189
244
|
*UghuuuGameServer.AdminChatApi* | [**adminListChatMessages**](docs/AdminChatApi.md#adminListChatMessages) | **GET** /api/v1/admin/chat | List all chat messages (admin)
|
|
@@ -228,9 +283,12 @@ Class | Method | HTTP request | Description
|
|
|
228
283
|
*UghuuuGameServer.AuthenticationApi* | [**unlinkDevice**](docs/AuthenticationApi.md#unlinkDevice) | **DELETE** /api/v1/me/device | Unlink device ID
|
|
229
284
|
*UghuuuGameServer.AuthenticationApi* | [**unlinkProvider**](docs/AuthenticationApi.md#unlinkProvider) | **DELETE** /api/v1/me/providers/{provider} | Unlink OAuth provider
|
|
230
285
|
*UghuuuGameServer.ChatApi* | [**chatUnreadCount**](docs/ChatApi.md#chatUnreadCount) | **GET** /api/v1/chat/unread | Get unread message count
|
|
286
|
+
*UghuuuGameServer.ChatApi* | [**deleteChatMessage**](docs/ChatApi.md#deleteChatMessage) | **DELETE** /api/v1/chat/messages/{id} | Delete your own chat message
|
|
287
|
+
*UghuuuGameServer.ChatApi* | [**getChatMessage**](docs/ChatApi.md#getChatMessage) | **GET** /api/v1/chat/messages/{id} | Get a single chat message
|
|
231
288
|
*UghuuuGameServer.ChatApi* | [**listChatMessages**](docs/ChatApi.md#listChatMessages) | **GET** /api/v1/chat/messages | List chat messages
|
|
232
289
|
*UghuuuGameServer.ChatApi* | [**markChatRead**](docs/ChatApi.md#markChatRead) | **POST** /api/v1/chat/read | Mark chat as read
|
|
233
290
|
*UghuuuGameServer.ChatApi* | [**sendChatMessage**](docs/ChatApi.md#sendChatMessage) | **POST** /api/v1/chat/messages | Send a chat message
|
|
291
|
+
*UghuuuGameServer.ChatApi* | [**updateChatMessage**](docs/ChatApi.md#updateChatMessage) | **PATCH** /api/v1/chat/messages/{id} | Update your own chat message
|
|
234
292
|
*UghuuuGameServer.FriendsApi* | [**acceptFriendRequest**](docs/FriendsApi.md#acceptFriendRequest) | **POST** /api/v1/friends/{id}/accept | Accept a friend request
|
|
235
293
|
*UghuuuGameServer.FriendsApi* | [**blockFriendRequest**](docs/FriendsApi.md#blockFriendRequest) | **POST** /api/v1/friends/{id}/block | Block a friend request / user
|
|
236
294
|
*UghuuuGameServer.FriendsApi* | [**createFriendRequest**](docs/FriendsApi.md#createFriendRequest) | **POST** /api/v1/friends | Send a friend request
|
|
@@ -240,14 +298,15 @@ Class | Method | HTTP request | Description
|
|
|
240
298
|
*UghuuuGameServer.FriendsApi* | [**rejectFriendRequest**](docs/FriendsApi.md#rejectFriendRequest) | **POST** /api/v1/friends/{id}/reject | Reject a friend request
|
|
241
299
|
*UghuuuGameServer.FriendsApi* | [**removeFriendship**](docs/FriendsApi.md#removeFriendship) | **DELETE** /api/v1/friends/{id} | Remove/cancel a friendship or request
|
|
242
300
|
*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/{
|
|
301
|
+
*UghuuuGameServer.GroupsApi* | [**acceptGroupInvite**](docs/GroupsApi.md#acceptGroupInvite) | **POST** /api/v1/groups/invitations/{invite_id}/accept | Accept a group invitation
|
|
244
302
|
*UghuuuGameServer.GroupsApi* | [**approveJoinRequest**](docs/GroupsApi.md#approveJoinRequest) | **POST** /api/v1/groups/{id}/join_requests/{request_id}/approve | Approve a join request (admin only)
|
|
245
303
|
*UghuuuGameServer.GroupsApi* | [**cancelGroupInvite**](docs/GroupsApi.md#cancelGroupInvite) | **DELETE** /api/v1/groups/sent_invitations/{invite_id} | Cancel a sent group invitation
|
|
246
304
|
*UghuuuGameServer.GroupsApi* | [**cancelJoinRequest**](docs/GroupsApi.md#cancelJoinRequest) | **DELETE** /api/v1/groups/{id}/join_requests/{request_id} | Cancel your own pending join request
|
|
247
305
|
*UghuuuGameServer.GroupsApi* | [**createGroup**](docs/GroupsApi.md#createGroup) | **POST** /api/v1/groups | Create a group
|
|
306
|
+
*UghuuuGameServer.GroupsApi* | [**declineGroupInvite**](docs/GroupsApi.md#declineGroupInvite) | **POST** /api/v1/groups/invitations/{invite_id}/decline | Decline a group invitation
|
|
248
307
|
*UghuuuGameServer.GroupsApi* | [**demoteGroupMember**](docs/GroupsApi.md#demoteGroupMember) | **POST** /api/v1/groups/{id}/demote | Demote admin to member
|
|
249
308
|
*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
|
|
309
|
+
*UghuuuGameServer.GroupsApi* | [**inviteToGroup**](docs/GroupsApi.md#inviteToGroup) | **POST** /api/v1/groups/{id}/invite | Invite a user to a group (admin only)
|
|
251
310
|
*UghuuuGameServer.GroupsApi* | [**joinGroup**](docs/GroupsApi.md#joinGroup) | **POST** /api/v1/groups/{id}/join | Join a group
|
|
252
311
|
*UghuuuGameServer.GroupsApi* | [**kickGroupMember**](docs/GroupsApi.md#kickGroupMember) | **POST** /api/v1/groups/{id}/kick | Kick a member (admin only)
|
|
253
312
|
*UghuuuGameServer.GroupsApi* | [**leaveGroup**](docs/GroupsApi.md#leaveGroup) | **POST** /api/v1/groups/{id}/leave | Leave a group
|
|
@@ -270,7 +329,9 @@ Class | Method | HTTP request | Description
|
|
|
270
329
|
*UghuuuGameServer.LeaderboardsApi* | [**listLeaderboardRecords**](docs/LeaderboardsApi.md#listLeaderboardRecords) | **GET** /api/v1/leaderboards/{id}/records | List leaderboard records
|
|
271
330
|
*UghuuuGameServer.LeaderboardsApi* | [**listLeaderboards**](docs/LeaderboardsApi.md#listLeaderboards) | **GET** /api/v1/leaderboards | List leaderboards
|
|
272
331
|
*UghuuuGameServer.LeaderboardsApi* | [**listRecordsAroundUser**](docs/LeaderboardsApi.md#listRecordsAroundUser) | **GET** /api/v1/leaderboards/{id}/records/around/{user_id} | List records around a user
|
|
332
|
+
*UghuuuGameServer.LeaderboardsApi* | [**resolveLeaderboardSlugs**](docs/LeaderboardsApi.md#resolveLeaderboardSlugs) | **POST** /api/v1/leaderboards/resolve | Resolve multiple slugs to active leaderboards
|
|
273
333
|
*UghuuuGameServer.LobbiesApi* | [**createLobby**](docs/LobbiesApi.md#createLobby) | **POST** /api/v1/lobbies | Create a lobby
|
|
334
|
+
*UghuuuGameServer.LobbiesApi* | [**getLobby**](docs/LobbiesApi.md#getLobby) | **GET** /api/v1/lobbies/{id} | Get a single lobby
|
|
274
335
|
*UghuuuGameServer.LobbiesApi* | [**joinLobby**](docs/LobbiesApi.md#joinLobby) | **POST** /api/v1/lobbies/{id}/join | Join a lobby
|
|
275
336
|
*UghuuuGameServer.LobbiesApi* | [**kickUser**](docs/LobbiesApi.md#kickUser) | **POST** /api/v1/lobbies/kick | Kick a user from the lobby (host only)
|
|
276
337
|
*UghuuuGameServer.LobbiesApi* | [**leaveLobby**](docs/LobbiesApi.md#leaveLobby) | **POST** /api/v1/lobbies/leave | Leave the current lobby
|
|
@@ -280,10 +341,15 @@ Class | Method | HTTP request | Description
|
|
|
280
341
|
*UghuuuGameServer.NotificationsApi* | [**deleteNotifications**](docs/NotificationsApi.md#deleteNotifications) | **DELETE** /api/v1/notifications | Delete notifications by IDs
|
|
281
342
|
*UghuuuGameServer.NotificationsApi* | [**listNotifications**](docs/NotificationsApi.md#listNotifications) | **GET** /api/v1/notifications | List own notifications
|
|
282
343
|
*UghuuuGameServer.NotificationsApi* | [**sendNotification**](docs/NotificationsApi.md#sendNotification) | **POST** /api/v1/notifications | Send a notification to a friend
|
|
344
|
+
*UghuuuGameServer.PartiesApi* | [**acceptPartyInvite**](docs/PartiesApi.md#acceptPartyInvite) | **POST** /api/v1/parties/invite/accept | Accept a party invite
|
|
345
|
+
*UghuuuGameServer.PartiesApi* | [**cancelPartyInvite**](docs/PartiesApi.md#cancelPartyInvite) | **POST** /api/v1/parties/invite/cancel | Cancel a pending party invite (leader only)
|
|
283
346
|
*UghuuuGameServer.PartiesApi* | [**createParty**](docs/PartiesApi.md#createParty) | **POST** /api/v1/parties | Create a party
|
|
284
|
-
*UghuuuGameServer.PartiesApi* | [**
|
|
347
|
+
*UghuuuGameServer.PartiesApi* | [**declinePartyInvite**](docs/PartiesApi.md#declinePartyInvite) | **POST** /api/v1/parties/invite/decline | Decline a party invite
|
|
348
|
+
*UghuuuGameServer.PartiesApi* | [**inviteToParty**](docs/PartiesApi.md#inviteToParty) | **POST** /api/v1/parties/invite | Invite a user to the party (leader only)
|
|
285
349
|
*UghuuuGameServer.PartiesApi* | [**kickPartyMember**](docs/PartiesApi.md#kickPartyMember) | **POST** /api/v1/parties/kick | Kick a member from the party (leader only)
|
|
286
350
|
*UghuuuGameServer.PartiesApi* | [**leaveParty**](docs/PartiesApi.md#leaveParty) | **POST** /api/v1/parties/leave | Leave the current party
|
|
351
|
+
*UghuuuGameServer.PartiesApi* | [**listPartyInvitations**](docs/PartiesApi.md#listPartyInvitations) | **GET** /api/v1/parties/invitations | List pending party invites for the current user
|
|
352
|
+
*UghuuuGameServer.PartiesApi* | [**listSentPartyInvitations**](docs/PartiesApi.md#listSentPartyInvitations) | **GET** /api/v1/parties/invitations/sent | List pending party invites sent by the current leader
|
|
287
353
|
*UghuuuGameServer.PartiesApi* | [**partyCreateLobby**](docs/PartiesApi.md#partyCreateLobby) | **POST** /api/v1/parties/create_lobby | Create a lobby with the party (leader only)
|
|
288
354
|
*UghuuuGameServer.PartiesApi* | [**partyJoinLobby**](docs/PartiesApi.md#partyJoinLobby) | **POST** /api/v1/parties/join_lobby/{id} | Join a lobby with the party (leader only)
|
|
289
355
|
*UghuuuGameServer.PartiesApi* | [**showParty**](docs/PartiesApi.md#showParty) | **GET** /api/v1/parties/me | Get current party
|
|
@@ -298,6 +364,8 @@ Class | Method | HTTP request | Description
|
|
|
298
364
|
|
|
299
365
|
## Documentation for Models
|
|
300
366
|
|
|
367
|
+
- [UghuuuGameServer.AcceptPartyInviteRequest](docs/AcceptPartyInviteRequest.md)
|
|
368
|
+
- [UghuuuGameServer.AdminCreateAchievementRequest](docs/AdminCreateAchievementRequest.md)
|
|
301
369
|
- [UghuuuGameServer.AdminCreateKvEntry200Response](docs/AdminCreateKvEntry200Response.md)
|
|
302
370
|
- [UghuuuGameServer.AdminCreateKvEntryRequest](docs/AdminCreateKvEntryRequest.md)
|
|
303
371
|
- [UghuuuGameServer.AdminCreateLeaderboardRequest](docs/AdminCreateLeaderboardRequest.md)
|
|
@@ -306,6 +374,8 @@ Class | Method | HTTP request | Description
|
|
|
306
374
|
- [UghuuuGameServer.AdminDeleteChatConversation200Response](docs/AdminDeleteChatConversation200Response.md)
|
|
307
375
|
- [UghuuuGameServer.AdminEndLeaderboard200Response](docs/AdminEndLeaderboard200Response.md)
|
|
308
376
|
- [UghuuuGameServer.AdminEndLeaderboard200ResponseData](docs/AdminEndLeaderboard200ResponseData.md)
|
|
377
|
+
- [UghuuuGameServer.AdminIncrementAchievementRequest](docs/AdminIncrementAchievementRequest.md)
|
|
378
|
+
- [UghuuuGameServer.AdminListAchievements200Response](docs/AdminListAchievements200Response.md)
|
|
309
379
|
- [UghuuuGameServer.AdminListChatMessages200Response](docs/AdminListChatMessages200Response.md)
|
|
310
380
|
- [UghuuuGameServer.AdminListChatMessages200ResponseDataInner](docs/AdminListChatMessages200ResponseDataInner.md)
|
|
311
381
|
- [UghuuuGameServer.AdminListGroups200Response](docs/AdminListGroups200Response.md)
|
|
@@ -318,9 +388,13 @@ Class | Method | HTTP request | Description
|
|
|
318
388
|
- [UghuuuGameServer.AdminListNotifications200ResponseMeta](docs/AdminListNotifications200ResponseMeta.md)
|
|
319
389
|
- [UghuuuGameServer.AdminListSessions200Response](docs/AdminListSessions200Response.md)
|
|
320
390
|
- [UghuuuGameServer.AdminListSessions200ResponseDataInner](docs/AdminListSessions200ResponseDataInner.md)
|
|
391
|
+
- [UghuuuGameServer.AdminRevokeAchievementRequest](docs/AdminRevokeAchievementRequest.md)
|
|
321
392
|
- [UghuuuGameServer.AdminSubmitLeaderboardScore200Response](docs/AdminSubmitLeaderboardScore200Response.md)
|
|
322
393
|
- [UghuuuGameServer.AdminSubmitLeaderboardScore200ResponseData](docs/AdminSubmitLeaderboardScore200ResponseData.md)
|
|
323
394
|
- [UghuuuGameServer.AdminSubmitLeaderboardScoreRequest](docs/AdminSubmitLeaderboardScoreRequest.md)
|
|
395
|
+
- [UghuuuGameServer.AdminUnlockAchievementRequest](docs/AdminUnlockAchievementRequest.md)
|
|
396
|
+
- [UghuuuGameServer.AdminUpdateAchievement200Response](docs/AdminUpdateAchievement200Response.md)
|
|
397
|
+
- [UghuuuGameServer.AdminUpdateAchievementRequest](docs/AdminUpdateAchievementRequest.md)
|
|
324
398
|
- [UghuuuGameServer.AdminUpdateGroup200Response](docs/AdminUpdateGroup200Response.md)
|
|
325
399
|
- [UghuuuGameServer.AdminUpdateGroupRequest](docs/AdminUpdateGroupRequest.md)
|
|
326
400
|
- [UghuuuGameServer.AdminUpdateKvEntryRequest](docs/AdminUpdateKvEntryRequest.md)
|
|
@@ -335,23 +409,29 @@ Class | Method | HTTP request | Description
|
|
|
335
409
|
- [UghuuuGameServer.CallHookRequest](docs/CallHookRequest.md)
|
|
336
410
|
- [UghuuuGameServer.CancelGroupInvite200Response](docs/CancelGroupInvite200Response.md)
|
|
337
411
|
- [UghuuuGameServer.CancelJoinRequest200Response](docs/CancelJoinRequest200Response.md)
|
|
412
|
+
- [UghuuuGameServer.CancelPartyInviteRequest](docs/CancelPartyInviteRequest.md)
|
|
338
413
|
- [UghuuuGameServer.ChatUnreadCount200Response](docs/ChatUnreadCount200Response.md)
|
|
339
414
|
- [UghuuuGameServer.CreateFriendRequestRequest](docs/CreateFriendRequestRequest.md)
|
|
340
415
|
- [UghuuuGameServer.CreateGroupRequest](docs/CreateGroupRequest.md)
|
|
341
416
|
- [UghuuuGameServer.CreateLobbyRequest](docs/CreateLobbyRequest.md)
|
|
342
417
|
- [UghuuuGameServer.CreatePartyRequest](docs/CreatePartyRequest.md)
|
|
418
|
+
- [UghuuuGameServer.DeclinePartyInviteRequest](docs/DeclinePartyInviteRequest.md)
|
|
343
419
|
- [UghuuuGameServer.DeleteNotifications200Response](docs/DeleteNotifications200Response.md)
|
|
344
420
|
- [UghuuuGameServer.DeleteNotificationsRequest](docs/DeleteNotificationsRequest.md)
|
|
345
421
|
- [UghuuuGameServer.DemoteGroupMemberRequest](docs/DemoteGroupMemberRequest.md)
|
|
346
422
|
- [UghuuuGameServer.DeviceLoginRequest](docs/DeviceLoginRequest.md)
|
|
347
423
|
- [UghuuuGameServer.ErrorResponse](docs/ErrorResponse.md)
|
|
424
|
+
- [UghuuuGameServer.GetChatMessage200Response](docs/GetChatMessage200Response.md)
|
|
348
425
|
- [UghuuuGameServer.GetCurrentUser200Response](docs/GetCurrentUser200Response.md)
|
|
349
426
|
- [UghuuuGameServer.GetCurrentUser200ResponseLinkedProviders](docs/GetCurrentUser200ResponseLinkedProviders.md)
|
|
350
427
|
- [UghuuuGameServer.GetKv200Response](docs/GetKv200Response.md)
|
|
428
|
+
- [UghuuuGameServer.GetLobby200Response](docs/GetLobby200Response.md)
|
|
429
|
+
- [UghuuuGameServer.GetLobby200ResponseMembersInner](docs/GetLobby200ResponseMembersInner.md)
|
|
351
430
|
- [UghuuuGameServer.GetMyRecord200Response](docs/GetMyRecord200Response.md)
|
|
352
431
|
- [UghuuuGameServer.HealthResponse](docs/HealthResponse.md)
|
|
432
|
+
- [UghuuuGameServer.InviteToGroup200Response](docs/InviteToGroup200Response.md)
|
|
353
433
|
- [UghuuuGameServer.InviteToGroupRequest](docs/InviteToGroupRequest.md)
|
|
354
|
-
- [UghuuuGameServer.
|
|
434
|
+
- [UghuuuGameServer.InviteToPartyRequest](docs/InviteToPartyRequest.md)
|
|
355
435
|
- [UghuuuGameServer.KickGroupMemberRequest](docs/KickGroupMemberRequest.md)
|
|
356
436
|
- [UghuuuGameServer.KickUserRequest](docs/KickUserRequest.md)
|
|
357
437
|
- [UghuuuGameServer.LinkDeviceRequest](docs/LinkDeviceRequest.md)
|
|
@@ -359,7 +439,6 @@ Class | Method | HTTP request | Description
|
|
|
359
439
|
- [UghuuuGameServer.ListBlockedFriends200ResponseDataInner](docs/ListBlockedFriends200ResponseDataInner.md)
|
|
360
440
|
- [UghuuuGameServer.ListBlockedFriends200ResponseDataInnerRequester](docs/ListBlockedFriends200ResponseDataInnerRequester.md)
|
|
361
441
|
- [UghuuuGameServer.ListChatMessages200Response](docs/ListChatMessages200Response.md)
|
|
362
|
-
- [UghuuuGameServer.ListChatMessages200ResponseDataInner](docs/ListChatMessages200ResponseDataInner.md)
|
|
363
442
|
- [UghuuuGameServer.ListFriendRequests200Response](docs/ListFriendRequests200Response.md)
|
|
364
443
|
- [UghuuuGameServer.ListFriendRequests200ResponseIncomingInner](docs/ListFriendRequests200ResponseIncomingInner.md)
|
|
365
444
|
- [UghuuuGameServer.ListFriendRequests200ResponseIncomingInnerRequester](docs/ListFriendRequests200ResponseIncomingInnerRequester.md)
|
|
@@ -381,6 +460,7 @@ Class | Method | HTTP request | Description
|
|
|
381
460
|
- [UghuuuGameServer.ListMyGroups200ResponseDataInner](docs/ListMyGroups200ResponseDataInner.md)
|
|
382
461
|
- [UghuuuGameServer.ListNotifications200Response](docs/ListNotifications200Response.md)
|
|
383
462
|
- [UghuuuGameServer.ListNotifications200ResponseDataInner](docs/ListNotifications200ResponseDataInner.md)
|
|
463
|
+
- [UghuuuGameServer.ListPartyInvitations200ResponseInner](docs/ListPartyInvitations200ResponseInner.md)
|
|
384
464
|
- [UghuuuGameServer.ListRecordsAroundUser200Response](docs/ListRecordsAroundUser200Response.md)
|
|
385
465
|
- [UghuuuGameServer.ListSentInvitations200Response](docs/ListSentInvitations200Response.md)
|
|
386
466
|
- [UghuuuGameServer.ListSentInvitations200ResponseDataInner](docs/ListSentInvitations200ResponseDataInner.md)
|
|
@@ -406,18 +486,23 @@ Class | Method | HTTP request | Description
|
|
|
406
486
|
- [UghuuuGameServer.RefreshToken200Response](docs/RefreshToken200Response.md)
|
|
407
487
|
- [UghuuuGameServer.RefreshToken200ResponseData](docs/RefreshToken200ResponseData.md)
|
|
408
488
|
- [UghuuuGameServer.RefreshTokenRequest](docs/RefreshTokenRequest.md)
|
|
489
|
+
- [UghuuuGameServer.ResolveLeaderboardSlugs200Response](docs/ResolveLeaderboardSlugs200Response.md)
|
|
490
|
+
- [UghuuuGameServer.ResolveLeaderboardSlugsRequest](docs/ResolveLeaderboardSlugsRequest.md)
|
|
409
491
|
- [UghuuuGameServer.SearchUsers200Response](docs/SearchUsers200Response.md)
|
|
410
492
|
- [UghuuuGameServer.SearchUsers200ResponseDataInner](docs/SearchUsers200ResponseDataInner.md)
|
|
411
493
|
- [UghuuuGameServer.SendChatMessageRequest](docs/SendChatMessageRequest.md)
|
|
412
494
|
- [UghuuuGameServer.SendNotificationRequest](docs/SendNotificationRequest.md)
|
|
413
495
|
- [UghuuuGameServer.ShowParty200Response](docs/ShowParty200Response.md)
|
|
414
496
|
- [UghuuuGameServer.ShowParty200ResponseMembersInner](docs/ShowParty200ResponseMembersInner.md)
|
|
497
|
+
- [UghuuuGameServer.UpdateChatMessageRequest](docs/UpdateChatMessageRequest.md)
|
|
415
498
|
- [UghuuuGameServer.UpdateCurrentUserDisplayNameRequest](docs/UpdateCurrentUserDisplayNameRequest.md)
|
|
416
499
|
- [UghuuuGameServer.UpdateCurrentUserPassword400Response](docs/UpdateCurrentUserPassword400Response.md)
|
|
417
500
|
- [UghuuuGameServer.UpdateCurrentUserPasswordRequest](docs/UpdateCurrentUserPasswordRequest.md)
|
|
418
501
|
- [UghuuuGameServer.UpdateGroupRequest](docs/UpdateGroupRequest.md)
|
|
419
502
|
- [UghuuuGameServer.UpdateLobbyRequest](docs/UpdateLobbyRequest.md)
|
|
420
503
|
- [UghuuuGameServer.UpdatePartyRequest](docs/UpdatePartyRequest.md)
|
|
504
|
+
- [UghuuuGameServer.UserAchievements200Response](docs/UserAchievements200Response.md)
|
|
505
|
+
- [UghuuuGameServer.UserAchievements200ResponseDataInner](docs/UserAchievements200ResponseDataInner.md)
|
|
421
506
|
|
|
422
507
|
|
|
423
508
|
## Documentation for Authorization
|
package/dist/ApiClient.js
CHANGED
|
@@ -13,9 +13,9 @@ 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
|
|
16
|
+
* API for the Gamend Game Server. Has authentication, users, lobbies, groups, parties, friends, chat, notifications, achievements, leaderboards, server scripting and admin portal. ## **1. Authentication** This API uses JWT (JSON Web Tokens) with access and refresh tokens: ### **1.1 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 ### **1.2 Using Tokens** Include the access token in the Authorization header: ``` Authorization: Bearer <access_token> ``` ### **1.3 Refreshing Tokens** When your access token expires, use POST `/api/v1/refresh` with your refresh token to get a new access token. ## **2. 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 ## **3. 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 ## **4. 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 ## **5. 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 ## **6. Groups** Groups provide persistent community management for players: - **Three group types**: `public` (anyone joins directly), `private` (users request to join, admins approve), `hidden` (invite-only, never listed) - **Membership roles**: `admin` and `member`, with promote/demote capabilities - **Join requests**: for private groups, users submit requests that admins approve or reject - **Invitations**: admins can invite users directly (blocked users are rejected) - **CRUD operations**: create, update, delete groups with metadata support - **Group chat**: integrated via the Chat API with `chat_type: \"group\"` ## **7. Parties** Ephemeral groups of users for short-lived sessions (e.g., matchmaking squads): - **Invite-only joining**: the party leader sends invites by user ID to friends or shared-group members - **Invite flow**: `POST /parties/invite` → recipient accepts via `POST /parties/invite/accept` or declines via `POST /parties/invite/decline`; leader can cancel via `POST /parties/invite/cancel` - **Invite visibility**: leader can list sent invites (`GET /parties/invitations/sent`); recipient can list received invites (`GET /parties/invitations`) - **Connection requirement**: invites can only be sent to users who are friends or share at least one group with the leader - **One party at a time**: a user can only be in one party; accepting an invite while already in a party is rejected - **Leader management**: the creator is the leader; leadership can be transferred - **Lobby integration**: parties can create or join lobbies as a group - **Party chat**: integrated via the Chat API with `chat_type: \"party\"` - **Real-time events** via the party WebSocket channel ## **8. Chat** Real-time messaging across multiple conversation types: - **Chat types**: `lobby` (within a lobby), `group` (within a group), `party` (within a party), `friend` (DMs between friends) - **Send messages** with content, optional metadata, and automatic access validation - **List messages** with pagination (newest first) - **Read tracking**: mark messages as read and get unread counts per conversation - **Real-time delivery** via PubSub and WebSocket channels - **Moderation hooks**: `before_chat_message` pipeline hook for filtering/blocking ## **9. Leaderboards** Server-managed ranked scoreboards: - **Multiple leaderboards**: create named leaderboards with configurable sort order - **Score submission**: submit scores with optional metadata - **Rankings**: retrieve paginated rankings with user details - **Reset support**: leaderboards can be reset periodically ## **10. Key-Value Storage** Per-user persistent key-value storage for game state, preferences, and settings: - **Get/set/delete** key-value pairs scoped to the authenticated user - **List keys** with optional prefix filtering - **Metadata support**: values can include arbitrary JSON metadata
|
|
17
17
|
*
|
|
18
|
-
* The version of the OpenAPI document: 1.0.
|
|
18
|
+
* The version of the OpenAPI document: 1.0.790
|
|
19
19
|
*
|
|
20
20
|
*
|
|
21
21
|
* NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
|
|
@@ -0,0 +1,224 @@
|
|
|
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 _UserAchievements200Response = _interopRequireDefault(require("../model/UserAchievements200Response"));
|
|
9
|
+
var _UserAchievements200ResponseDataInner = _interopRequireDefault(require("../model/UserAchievements200ResponseDataInner"));
|
|
10
|
+
function _interopRequireDefault(e) { return e && e.__esModule ? e : { "default": e }; }
|
|
11
|
+
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); }
|
|
12
|
+
function _classCallCheck(a, n) { if (!(a instanceof n)) throw new TypeError("Cannot call a class as a function"); }
|
|
13
|
+
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); } }
|
|
14
|
+
function _createClass(e, r, t) { return r && _defineProperties(e.prototype, r), t && _defineProperties(e, t), Object.defineProperty(e, "prototype", { writable: !1 }), e; }
|
|
15
|
+
function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == _typeof(i) ? i : i + ""; }
|
|
16
|
+
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); } /**
|
|
17
|
+
* Game Server API
|
|
18
|
+
* API for the Gamend Game Server. Has authentication, users, lobbies, groups, parties, friends, chat, notifications, achievements, leaderboards, server scripting and admin portal. ## **1. Authentication** This API uses JWT (JSON Web Tokens) with access and refresh tokens: ### **1.1 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 ### **1.2 Using Tokens** Include the access token in the Authorization header: ``` Authorization: Bearer <access_token> ``` ### **1.3 Refreshing Tokens** When your access token expires, use POST `/api/v1/refresh` with your refresh token to get a new access token. ## **2. 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 ## **3. 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 ## **4. 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 ## **5. 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 ## **6. Groups** Groups provide persistent community management for players: - **Three group types**: `public` (anyone joins directly), `private` (users request to join, admins approve), `hidden` (invite-only, never listed) - **Membership roles**: `admin` and `member`, with promote/demote capabilities - **Join requests**: for private groups, users submit requests that admins approve or reject - **Invitations**: admins can invite users directly (blocked users are rejected) - **CRUD operations**: create, update, delete groups with metadata support - **Group chat**: integrated via the Chat API with `chat_type: \"group\"` ## **7. Parties** Ephemeral groups of users for short-lived sessions (e.g., matchmaking squads): - **Invite-only joining**: the party leader sends invites by user ID to friends or shared-group members - **Invite flow**: `POST /parties/invite` → recipient accepts via `POST /parties/invite/accept` or declines via `POST /parties/invite/decline`; leader can cancel via `POST /parties/invite/cancel` - **Invite visibility**: leader can list sent invites (`GET /parties/invitations/sent`); recipient can list received invites (`GET /parties/invitations`) - **Connection requirement**: invites can only be sent to users who are friends or share at least one group with the leader - **One party at a time**: a user can only be in one party; accepting an invite while already in a party is rejected - **Leader management**: the creator is the leader; leadership can be transferred - **Lobby integration**: parties can create or join lobbies as a group - **Party chat**: integrated via the Chat API with `chat_type: \"party\"` - **Real-time events** via the party WebSocket channel ## **8. Chat** Real-time messaging across multiple conversation types: - **Chat types**: `lobby` (within a lobby), `group` (within a group), `party` (within a party), `friend` (DMs between friends) - **Send messages** with content, optional metadata, and automatic access validation - **List messages** with pagination (newest first) - **Read tracking**: mark messages as read and get unread counts per conversation - **Real-time delivery** via PubSub and WebSocket channels - **Moderation hooks**: `before_chat_message` pipeline hook for filtering/blocking ## **9. Leaderboards** Server-managed ranked scoreboards: - **Multiple leaderboards**: create named leaderboards with configurable sort order - **Score submission**: submit scores with optional metadata - **Rankings**: retrieve paginated rankings with user details - **Reset support**: leaderboards can be reset periodically ## **10. Key-Value Storage** Per-user persistent key-value storage for game state, preferences, and settings: - **Get/set/delete** key-value pairs scoped to the authenticated user - **List keys** with optional prefix filtering - **Metadata support**: values can include arbitrary JSON metadata
|
|
19
|
+
*
|
|
20
|
+
* The version of the OpenAPI document: 1.0.790
|
|
21
|
+
*
|
|
22
|
+
*
|
|
23
|
+
* NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
|
|
24
|
+
* https://openapi-generator.tech
|
|
25
|
+
* Do not edit the class manually.
|
|
26
|
+
*
|
|
27
|
+
*/
|
|
28
|
+
/**
|
|
29
|
+
* Achievements service.
|
|
30
|
+
* @module api/AchievementsApi
|
|
31
|
+
* @version 1.0.0
|
|
32
|
+
*/
|
|
33
|
+
var AchievementsApi = exports["default"] = /*#__PURE__*/function () {
|
|
34
|
+
/**
|
|
35
|
+
* Constructs a new AchievementsApi.
|
|
36
|
+
* @alias module:api/AchievementsApi
|
|
37
|
+
* @class
|
|
38
|
+
* @param {module:ApiClient} [apiClient] Optional API client implementation to use,
|
|
39
|
+
* default to {@link module:ApiClient#instance} if unspecified.
|
|
40
|
+
*/
|
|
41
|
+
function AchievementsApi(apiClient) {
|
|
42
|
+
_classCallCheck(this, AchievementsApi);
|
|
43
|
+
this.apiClient = apiClient || _ApiClient["default"].instance;
|
|
44
|
+
}
|
|
45
|
+
|
|
46
|
+
/**
|
|
47
|
+
* Get achievement details
|
|
48
|
+
* Get a specific achievement by slug. If authenticated, includes user progress.
|
|
49
|
+
* @param {String} slug
|
|
50
|
+
* @return {Promise} a {@link https://www.promisejs.org/|Promise}, with an object containing data of type {@link module:model/UserAchievements200ResponseDataInner} and HTTP response
|
|
51
|
+
*/
|
|
52
|
+
return _createClass(AchievementsApi, [{
|
|
53
|
+
key: "getAchievementWithHttpInfo",
|
|
54
|
+
value: function getAchievementWithHttpInfo(slug) {
|
|
55
|
+
var postBody = null;
|
|
56
|
+
// verify the required parameter 'slug' is set
|
|
57
|
+
if (slug === undefined || slug === null) {
|
|
58
|
+
throw new Error("Missing the required parameter 'slug' when calling getAchievement");
|
|
59
|
+
}
|
|
60
|
+
var pathParams = {
|
|
61
|
+
'slug': slug
|
|
62
|
+
};
|
|
63
|
+
var queryParams = {};
|
|
64
|
+
var headerParams = {};
|
|
65
|
+
var formParams = {};
|
|
66
|
+
var authNames = [];
|
|
67
|
+
var contentTypes = [];
|
|
68
|
+
var accepts = ['application/json'];
|
|
69
|
+
var returnType = _UserAchievements200ResponseDataInner["default"];
|
|
70
|
+
return this.apiClient.callApi('/api/v1/achievements/{slug}', 'GET', pathParams, queryParams, headerParams, formParams, postBody, authNames, contentTypes, accepts, returnType, null);
|
|
71
|
+
}
|
|
72
|
+
|
|
73
|
+
/**
|
|
74
|
+
* Get achievement details
|
|
75
|
+
* Get a specific achievement by slug. If authenticated, includes user progress.
|
|
76
|
+
* @param {String} slug
|
|
77
|
+
* @return {Promise} a {@link https://www.promisejs.org/|Promise}, with data of type {@link module:model/UserAchievements200ResponseDataInner}
|
|
78
|
+
*/
|
|
79
|
+
}, {
|
|
80
|
+
key: "getAchievement",
|
|
81
|
+
value: function getAchievement(slug) {
|
|
82
|
+
return this.getAchievementWithHttpInfo(slug).then(function (response_and_data) {
|
|
83
|
+
return response_and_data.data;
|
|
84
|
+
});
|
|
85
|
+
}
|
|
86
|
+
|
|
87
|
+
/**
|
|
88
|
+
* List achievements
|
|
89
|
+
* List all achievements. If authenticated, includes user progress. Hidden achievements are only shown if unlocked.
|
|
90
|
+
* @param {Object} opts Optional parameters
|
|
91
|
+
* @param {Number} [page]
|
|
92
|
+
* @param {Number} [pageSize]
|
|
93
|
+
* @return {Promise} a {@link https://www.promisejs.org/|Promise}, with an object containing data of type {@link module:model/UserAchievements200Response} and HTTP response
|
|
94
|
+
*/
|
|
95
|
+
}, {
|
|
96
|
+
key: "listAchievementsWithHttpInfo",
|
|
97
|
+
value: function listAchievementsWithHttpInfo(opts) {
|
|
98
|
+
opts = opts || {};
|
|
99
|
+
var postBody = null;
|
|
100
|
+
var pathParams = {};
|
|
101
|
+
var queryParams = {
|
|
102
|
+
'page': opts['page'],
|
|
103
|
+
'page_size': opts['pageSize']
|
|
104
|
+
};
|
|
105
|
+
var headerParams = {};
|
|
106
|
+
var formParams = {};
|
|
107
|
+
var authNames = [];
|
|
108
|
+
var contentTypes = [];
|
|
109
|
+
var accepts = ['application/json'];
|
|
110
|
+
var returnType = _UserAchievements200Response["default"];
|
|
111
|
+
return this.apiClient.callApi('/api/v1/achievements', 'GET', pathParams, queryParams, headerParams, formParams, postBody, authNames, contentTypes, accepts, returnType, null);
|
|
112
|
+
}
|
|
113
|
+
|
|
114
|
+
/**
|
|
115
|
+
* List achievements
|
|
116
|
+
* List all achievements. If authenticated, includes user progress. Hidden achievements are only shown if unlocked.
|
|
117
|
+
* @param {Object} opts Optional parameters
|
|
118
|
+
* @param {Number} opts.page
|
|
119
|
+
* @param {Number} opts.pageSize
|
|
120
|
+
* @return {Promise} a {@link https://www.promisejs.org/|Promise}, with data of type {@link module:model/UserAchievements200Response}
|
|
121
|
+
*/
|
|
122
|
+
}, {
|
|
123
|
+
key: "listAchievements",
|
|
124
|
+
value: function listAchievements(opts) {
|
|
125
|
+
return this.listAchievementsWithHttpInfo(opts).then(function (response_and_data) {
|
|
126
|
+
return response_and_data.data;
|
|
127
|
+
});
|
|
128
|
+
}
|
|
129
|
+
|
|
130
|
+
/**
|
|
131
|
+
* List my unlocked achievements
|
|
132
|
+
* List all achievements unlocked by the authenticated user.
|
|
133
|
+
* @param {Object} opts Optional parameters
|
|
134
|
+
* @param {Number} [page]
|
|
135
|
+
* @param {Number} [pageSize]
|
|
136
|
+
* @return {Promise} a {@link https://www.promisejs.org/|Promise}, with an object containing data of type {@link module:model/UserAchievements200Response} and HTTP response
|
|
137
|
+
*/
|
|
138
|
+
}, {
|
|
139
|
+
key: "myAchievementsWithHttpInfo",
|
|
140
|
+
value: function myAchievementsWithHttpInfo(opts) {
|
|
141
|
+
opts = opts || {};
|
|
142
|
+
var postBody = null;
|
|
143
|
+
var pathParams = {};
|
|
144
|
+
var queryParams = {
|
|
145
|
+
'page': opts['page'],
|
|
146
|
+
'page_size': opts['pageSize']
|
|
147
|
+
};
|
|
148
|
+
var headerParams = {};
|
|
149
|
+
var formParams = {};
|
|
150
|
+
var authNames = [];
|
|
151
|
+
var contentTypes = [];
|
|
152
|
+
var accepts = ['application/json'];
|
|
153
|
+
var returnType = _UserAchievements200Response["default"];
|
|
154
|
+
return this.apiClient.callApi('/api/v1/achievements/me', 'GET', pathParams, queryParams, headerParams, formParams, postBody, authNames, contentTypes, accepts, returnType, null);
|
|
155
|
+
}
|
|
156
|
+
|
|
157
|
+
/**
|
|
158
|
+
* List my unlocked achievements
|
|
159
|
+
* List all achievements unlocked by the authenticated user.
|
|
160
|
+
* @param {Object} opts Optional parameters
|
|
161
|
+
* @param {Number} opts.page
|
|
162
|
+
* @param {Number} opts.pageSize
|
|
163
|
+
* @return {Promise} a {@link https://www.promisejs.org/|Promise}, with data of type {@link module:model/UserAchievements200Response}
|
|
164
|
+
*/
|
|
165
|
+
}, {
|
|
166
|
+
key: "myAchievements",
|
|
167
|
+
value: function myAchievements(opts) {
|
|
168
|
+
return this.myAchievementsWithHttpInfo(opts).then(function (response_and_data) {
|
|
169
|
+
return response_and_data.data;
|
|
170
|
+
});
|
|
171
|
+
}
|
|
172
|
+
|
|
173
|
+
/**
|
|
174
|
+
* List a user's unlocked achievements
|
|
175
|
+
* List achievements unlocked by a specific user.
|
|
176
|
+
* @param {Number} userId
|
|
177
|
+
* @param {Object} opts Optional parameters
|
|
178
|
+
* @param {Number} [page]
|
|
179
|
+
* @param {Number} [pageSize]
|
|
180
|
+
* @return {Promise} a {@link https://www.promisejs.org/|Promise}, with an object containing data of type {@link module:model/UserAchievements200Response} and HTTP response
|
|
181
|
+
*/
|
|
182
|
+
}, {
|
|
183
|
+
key: "userAchievementsWithHttpInfo",
|
|
184
|
+
value: function userAchievementsWithHttpInfo(userId, opts) {
|
|
185
|
+
opts = opts || {};
|
|
186
|
+
var postBody = null;
|
|
187
|
+
// verify the required parameter 'userId' is set
|
|
188
|
+
if (userId === undefined || userId === null) {
|
|
189
|
+
throw new Error("Missing the required parameter 'userId' when calling userAchievements");
|
|
190
|
+
}
|
|
191
|
+
var pathParams = {
|
|
192
|
+
'user_id': userId
|
|
193
|
+
};
|
|
194
|
+
var queryParams = {
|
|
195
|
+
'page': opts['page'],
|
|
196
|
+
'page_size': opts['pageSize']
|
|
197
|
+
};
|
|
198
|
+
var headerParams = {};
|
|
199
|
+
var formParams = {};
|
|
200
|
+
var authNames = [];
|
|
201
|
+
var contentTypes = [];
|
|
202
|
+
var accepts = ['application/json'];
|
|
203
|
+
var returnType = _UserAchievements200Response["default"];
|
|
204
|
+
return this.apiClient.callApi('/api/v1/achievements/user/{user_id}', 'GET', pathParams, queryParams, headerParams, formParams, postBody, authNames, contentTypes, accepts, returnType, null);
|
|
205
|
+
}
|
|
206
|
+
|
|
207
|
+
/**
|
|
208
|
+
* List a user's unlocked achievements
|
|
209
|
+
* List achievements unlocked by a specific user.
|
|
210
|
+
* @param {Number} userId
|
|
211
|
+
* @param {Object} opts Optional parameters
|
|
212
|
+
* @param {Number} opts.page
|
|
213
|
+
* @param {Number} opts.pageSize
|
|
214
|
+
* @return {Promise} a {@link https://www.promisejs.org/|Promise}, with data of type {@link module:model/UserAchievements200Response}
|
|
215
|
+
*/
|
|
216
|
+
}, {
|
|
217
|
+
key: "userAchievements",
|
|
218
|
+
value: function userAchievements(userId, opts) {
|
|
219
|
+
return this.userAchievementsWithHttpInfo(userId, opts).then(function (response_and_data) {
|
|
220
|
+
return response_and_data.data;
|
|
221
|
+
});
|
|
222
|
+
}
|
|
223
|
+
}]);
|
|
224
|
+
}();
|