@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
@@ -0,0 +1,170 @@
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
+ function _interopRequireDefault(e) { return e && e.__esModule ? e : { "default": e }; }
9
+ 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); }
10
+ function _classCallCheck(a, n) { if (!(a instanceof n)) throw new TypeError("Cannot call a class as a function"); }
11
+ 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); } }
12
+ function _createClass(e, r, t) { return r && _defineProperties(e.prototype, r), t && _defineProperties(e, t), Object.defineProperty(e, "prototype", { writable: !1 }), e; }
13
+ function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == _typeof(i) ? i : i + ""; }
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
+ * 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 ## 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
+ *
18
+ * The version of the OpenAPI document: 1.0.0
19
+ *
20
+ *
21
+ * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
22
+ * https://openapi-generator.tech
23
+ * Do not edit the class manually.
24
+ *
25
+ */
26
+ /**
27
+ * The ListChatMessages200ResponseDataInner model module.
28
+ * @module model/ListChatMessages200ResponseDataInner
29
+ * @version 1.0.0
30
+ */
31
+ var ListChatMessages200ResponseDataInner = /*#__PURE__*/function () {
32
+ /**
33
+ * Constructs a new <code>ListChatMessages200ResponseDataInner</code>.
34
+ * @alias module:model/ListChatMessages200ResponseDataInner
35
+ */
36
+ function ListChatMessages200ResponseDataInner() {
37
+ _classCallCheck(this, ListChatMessages200ResponseDataInner);
38
+ ListChatMessages200ResponseDataInner.initialize(this);
39
+ }
40
+
41
+ /**
42
+ * Initializes the fields of this object.
43
+ * This method is used by the constructors of any subclasses, in order to implement multiple inheritance (mix-ins).
44
+ * Only for internal use.
45
+ */
46
+ return _createClass(ListChatMessages200ResponseDataInner, null, [{
47
+ key: "initialize",
48
+ value: function initialize(obj) {}
49
+
50
+ /**
51
+ * Constructs a <code>ListChatMessages200ResponseDataInner</code> from a plain JavaScript object, optionally creating a new instance.
52
+ * Copies all relevant properties from <code>data</code> to <code>obj</code> if supplied or a new instance if not.
53
+ * @param {Object} data The plain JavaScript object bearing properties of interest.
54
+ * @param {module:model/ListChatMessages200ResponseDataInner} obj Optional instance to populate.
55
+ * @return {module:model/ListChatMessages200ResponseDataInner} The populated <code>ListChatMessages200ResponseDataInner</code> instance.
56
+ */
57
+ }, {
58
+ key: "constructFromObject",
59
+ value: function constructFromObject(data, obj) {
60
+ if (data) {
61
+ obj = obj || new ListChatMessages200ResponseDataInner();
62
+ if (data.hasOwnProperty('chat_ref_id')) {
63
+ obj['chat_ref_id'] = _ApiClient["default"].convertToType(data['chat_ref_id'], 'Number');
64
+ }
65
+ if (data.hasOwnProperty('chat_type')) {
66
+ obj['chat_type'] = _ApiClient["default"].convertToType(data['chat_type'], 'String');
67
+ }
68
+ if (data.hasOwnProperty('content')) {
69
+ obj['content'] = _ApiClient["default"].convertToType(data['content'], 'String');
70
+ }
71
+ if (data.hasOwnProperty('id')) {
72
+ obj['id'] = _ApiClient["default"].convertToType(data['id'], 'Number');
73
+ }
74
+ if (data.hasOwnProperty('inserted_at')) {
75
+ obj['inserted_at'] = _ApiClient["default"].convertToType(data['inserted_at'], 'Date');
76
+ }
77
+ if (data.hasOwnProperty('metadata')) {
78
+ obj['metadata'] = _ApiClient["default"].convertToType(data['metadata'], Object);
79
+ }
80
+ if (data.hasOwnProperty('sender_id')) {
81
+ obj['sender_id'] = _ApiClient["default"].convertToType(data['sender_id'], 'Number');
82
+ }
83
+ }
84
+ return obj;
85
+ }
86
+
87
+ /**
88
+ * Validates the JSON data with respect to <code>ListChatMessages200ResponseDataInner</code>.
89
+ * @param {Object} data The plain JavaScript object bearing properties of interest.
90
+ * @return {boolean} to indicate whether the JSON data is valid with respect to <code>ListChatMessages200ResponseDataInner</code>.
91
+ */
92
+ }, {
93
+ key: "validateJSON",
94
+ value: function validateJSON(data) {
95
+ // ensure the json data is a string
96
+ if (data['chat_type'] && !(typeof data['chat_type'] === 'string' || data['chat_type'] instanceof String)) {
97
+ throw new Error("Expected the field `chat_type` to be a primitive type in the JSON string but got " + data['chat_type']);
98
+ }
99
+ // ensure the json data is a string
100
+ if (data['content'] && !(typeof data['content'] === 'string' || data['content'] instanceof String)) {
101
+ throw new Error("Expected the field `content` to be a primitive type in the JSON string but got " + data['content']);
102
+ }
103
+ return true;
104
+ }
105
+ }]);
106
+ }();
107
+ /**
108
+ * Reference ID (lobby_id, group_id, or friend user_id)
109
+ * @member {Number} chat_ref_id
110
+ */
111
+ ListChatMessages200ResponseDataInner.prototype['chat_ref_id'] = undefined;
112
+
113
+ /**
114
+ * Type of chat conversation
115
+ * @member {module:model/ListChatMessages200ResponseDataInner.ChatTypeEnum} chat_type
116
+ */
117
+ ListChatMessages200ResponseDataInner.prototype['chat_type'] = undefined;
118
+
119
+ /**
120
+ * Message text
121
+ * @member {String} content
122
+ */
123
+ ListChatMessages200ResponseDataInner.prototype['content'] = undefined;
124
+
125
+ /**
126
+ * Message ID
127
+ * @member {Number} id
128
+ */
129
+ ListChatMessages200ResponseDataInner.prototype['id'] = undefined;
130
+
131
+ /**
132
+ * @member {Date} inserted_at
133
+ */
134
+ ListChatMessages200ResponseDataInner.prototype['inserted_at'] = undefined;
135
+
136
+ /**
137
+ * Arbitrary metadata
138
+ * @member {Object} metadata
139
+ */
140
+ ListChatMessages200ResponseDataInner.prototype['metadata'] = undefined;
141
+
142
+ /**
143
+ * User ID of the sender
144
+ * @member {Number} sender_id
145
+ */
146
+ ListChatMessages200ResponseDataInner.prototype['sender_id'] = undefined;
147
+
148
+ /**
149
+ * Allowed values for the <code>chat_type</code> property.
150
+ * @enum {String}
151
+ * @readonly
152
+ */
153
+ ListChatMessages200ResponseDataInner['ChatTypeEnum'] = {
154
+ /**
155
+ * value: "lobby"
156
+ * @const
157
+ */
158
+ "lobby": "lobby",
159
+ /**
160
+ * value: "group"
161
+ * @const
162
+ */
163
+ "group": "group",
164
+ /**
165
+ * value: "friend"
166
+ * @const
167
+ */
168
+ "friend": "friend"
169
+ };
170
+ var _default = exports["default"] = ListChatMessages200ResponseDataInner;
@@ -18,7 +18,7 @@ function _createClass(e, r, t) { return r && _defineProperties(e.prototype, r),
18
18
  function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == _typeof(i) ? i : i + ""; }
19
19
  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); } /**
20
20
  * Game Server API
21
- * 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
21
+ * 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
22
22
  *
23
23
  * The version of the OpenAPI document: 1.0.0
24
24
  *
@@ -14,7 +14,7 @@ function _createClass(e, r, t) { return r && _defineProperties(e.prototype, r),
14
14
  function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == _typeof(i) ? i : i + ""; }
15
15
  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); } /**
16
16
  * Game Server API
17
- * 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
17
+ * 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
18
18
  *
19
19
  * The version of the OpenAPI document: 1.0.0
20
20
  *
@@ -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
  *
@@ -65,6 +65,12 @@ var ListFriendRequests200ResponseIncomingInnerRequester = /*#__PURE__*/function
65
65
  if (data.hasOwnProperty('id')) {
66
66
  obj['id'] = _ApiClient["default"].convertToType(data['id'], 'Number');
67
67
  }
68
+ if (data.hasOwnProperty('is_online')) {
69
+ obj['is_online'] = _ApiClient["default"].convertToType(data['is_online'], 'Boolean');
70
+ }
71
+ if (data.hasOwnProperty('last_seen_at')) {
72
+ obj['last_seen_at'] = _ApiClient["default"].convertToType(data['last_seen_at'], 'String');
73
+ }
68
74
  }
69
75
  return obj;
70
76
  }
@@ -81,6 +87,10 @@ var ListFriendRequests200ResponseIncomingInnerRequester = /*#__PURE__*/function
81
87
  if (data['display_name'] && !(typeof data['display_name'] === 'string' || data['display_name'] instanceof String)) {
82
88
  throw new Error("Expected the field `display_name` to be a primitive type in the JSON string but got " + data['display_name']);
83
89
  }
90
+ // ensure the json data is a string
91
+ if (data['last_seen_at'] && !(typeof data['last_seen_at'] === 'string' || data['last_seen_at'] instanceof String)) {
92
+ throw new Error("Expected the field `last_seen_at` to be a primitive type in the JSON string but got " + data['last_seen_at']);
93
+ }
84
94
  return true;
85
95
  }
86
96
  }]);
@@ -94,4 +104,14 @@ ListFriendRequests200ResponseIncomingInnerRequester.prototype['display_name'] =
94
104
  * @member {Number} id
95
105
  */
96
106
  ListFriendRequests200ResponseIncomingInnerRequester.prototype['id'] = undefined;
107
+
108
+ /**
109
+ * @member {Boolean} is_online
110
+ */
111
+ ListFriendRequests200ResponseIncomingInnerRequester.prototype['is_online'] = undefined;
112
+
113
+ /**
114
+ * @member {String} last_seen_at
115
+ */
116
+ ListFriendRequests200ResponseIncomingInnerRequester.prototype['last_seen_at'] = undefined;
97
117
  var _default = exports["default"] = ListFriendRequests200ResponseIncomingInnerRequester;
@@ -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
  *
@@ -5,8 +5,8 @@ Object.defineProperty(exports, "__esModule", {
5
5
  });
6
6
  exports["default"] = void 0;
7
7
  var _ApiClient = _interopRequireDefault(require("../ApiClient"));
8
+ var _AdminListNotifications200ResponseMeta = _interopRequireDefault(require("./AdminListNotifications200ResponseMeta"));
8
9
  var _ListFriends200ResponseDataInner = _interopRequireDefault(require("./ListFriends200ResponseDataInner"));
9
- var _ListLeaderboardRecords200ResponseMeta = _interopRequireDefault(require("./ListLeaderboardRecords200ResponseMeta"));
10
10
  function _interopRequireDefault(e) { return e && e.__esModule ? e : { "default": e }; }
11
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
12
  function _createForOfIteratorHelper(r, e) { var t = "undefined" != typeof Symbol && r[Symbol.iterator] || r["@@iterator"]; if (!t) { if (Array.isArray(r) || (t = _unsupportedIterableToArray(r)) || e && r && "number" == typeof r.length) { t && (r = t); var _n = 0, F = function F() {}; return { s: F, n: function n() { return _n >= r.length ? { done: !0 } : { done: !1, value: r[_n++] }; }, e: function e(r) { throw r; }, f: F }; } throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } var o, a = !0, u = !1; return { s: function s() { t = t.call(r); }, n: function n() { var r = t.next(); return a = r.done, r; }, e: function e(r) { u = !0, o = r; }, f: function f() { try { a || null == t["return"] || t["return"](); } finally { if (u) throw o; } } }; }
@@ -18,7 +18,7 @@ function _createClass(e, r, t) { return r && _defineProperties(e.prototype, r),
18
18
  function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == _typeof(i) ? i : i + ""; }
19
19
  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); } /**
20
20
  * Game Server API
21
- * 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
21
+ * 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
22
22
  *
23
23
  * The version of the OpenAPI document: 1.0.0
24
24
  *
@@ -68,7 +68,7 @@ var ListFriends200Response = /*#__PURE__*/function () {
68
68
  obj['data'] = _ApiClient["default"].convertToType(data['data'], [_ListFriends200ResponseDataInner["default"]]);
69
69
  }
70
70
  if (data.hasOwnProperty('meta')) {
71
- obj['meta'] = _ListLeaderboardRecords200ResponseMeta["default"].constructFromObject(data['meta']);
71
+ obj['meta'] = _AdminListNotifications200ResponseMeta["default"].constructFromObject(data['meta']);
72
72
  }
73
73
  }
74
74
  return obj;
@@ -106,7 +106,7 @@ var ListFriends200Response = /*#__PURE__*/function () {
106
106
  // validate the optional field `meta`
107
107
  if (data['meta']) {
108
108
  // data not null
109
- _ListLeaderboardRecords200ResponseMeta["default"].validateJSON(data['meta']);
109
+ _AdminListNotifications200ResponseMeta["default"].validateJSON(data['meta']);
110
110
  }
111
111
  return true;
112
112
  }
@@ -118,7 +118,7 @@ var ListFriends200Response = /*#__PURE__*/function () {
118
118
  ListFriends200Response.prototype['data'] = undefined;
119
119
 
120
120
  /**
121
- * @member {module:model/ListLeaderboardRecords200ResponseMeta} meta
121
+ * @member {module:model/AdminListNotifications200ResponseMeta} meta
122
122
  */
123
123
  ListFriends200Response.prototype['meta'] = undefined;
124
124
  var _default = exports["default"] = ListFriends200Response;
@@ -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
  *
@@ -71,6 +71,12 @@ var ListFriends200ResponseDataInner = /*#__PURE__*/function () {
71
71
  if (data.hasOwnProperty('id')) {
72
72
  obj['id'] = _ApiClient["default"].convertToType(data['id'], 'Number');
73
73
  }
74
+ if (data.hasOwnProperty('is_online')) {
75
+ obj['is_online'] = _ApiClient["default"].convertToType(data['is_online'], 'Boolean');
76
+ }
77
+ if (data.hasOwnProperty('last_seen_at')) {
78
+ obj['last_seen_at'] = _ApiClient["default"].convertToType(data['last_seen_at'], 'Date');
79
+ }
74
80
  if (data.hasOwnProperty('profile_url')) {
75
81
  obj['profile_url'] = _ApiClient["default"].convertToType(data['profile_url'], 'String');
76
82
  }
@@ -122,6 +128,18 @@ ListFriends200ResponseDataInner.prototype['friendship_id'] = undefined;
122
128
  */
123
129
  ListFriends200ResponseDataInner.prototype['id'] = undefined;
124
130
 
131
+ /**
132
+ * Whether the friend is currently connected
133
+ * @member {Boolean} is_online
134
+ */
135
+ ListFriends200ResponseDataInner.prototype['is_online'] = undefined;
136
+
137
+ /**
138
+ * Last time the friend connected or disconnected
139
+ * @member {Date} last_seen_at
140
+ */
141
+ ListFriends200ResponseDataInner.prototype['last_seen_at'] = undefined;
142
+
125
143
  /**
126
144
  * @member {String} profile_url
127
145
  */
@@ -0,0 +1,124 @@
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 _AdminListNotifications200ResponseMeta = _interopRequireDefault(require("./AdminListNotifications200ResponseMeta"));
9
+ var _ListGroupInvitations200ResponseDataInner = _interopRequireDefault(require("./ListGroupInvitations200ResponseDataInner"));
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 _createForOfIteratorHelper(r, e) { var t = "undefined" != typeof Symbol && r[Symbol.iterator] || r["@@iterator"]; if (!t) { if (Array.isArray(r) || (t = _unsupportedIterableToArray(r)) || e && r && "number" == typeof r.length) { t && (r = t); var _n = 0, F = function F() {}; return { s: F, n: function n() { return _n >= r.length ? { done: !0 } : { done: !1, value: r[_n++] }; }, e: function e(r) { throw r; }, f: F }; } throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } var o, a = !0, u = !1; return { s: function s() { t = t.call(r); }, n: function n() { var r = t.next(); return a = r.done, r; }, e: function e(r) { u = !0, o = r; }, f: function f() { try { a || null == t["return"] || t["return"](); } finally { if (u) throw o; } } }; }
13
+ function _unsupportedIterableToArray(r, a) { if (r) { if ("string" == typeof r) return _arrayLikeToArray(r, a); var t = {}.toString.call(r).slice(8, -1); return "Object" === t && r.constructor && (t = r.constructor.name), "Map" === t || "Set" === t ? Array.from(r) : "Arguments" === t || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t) ? _arrayLikeToArray(r, a) : void 0; } }
14
+ function _arrayLikeToArray(r, a) { (null == a || a > r.length) && (a = r.length); for (var e = 0, n = Array(a); e < a; e++) n[e] = r[e]; return n; }
15
+ function _classCallCheck(a, n) { if (!(a instanceof n)) throw new TypeError("Cannot call a class as a function"); }
16
+ 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); } }
17
+ function _createClass(e, r, t) { return r && _defineProperties(e.prototype, r), t && _defineProperties(e, t), Object.defineProperty(e, "prototype", { writable: !1 }), e; }
18
+ function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == _typeof(i) ? i : i + ""; }
19
+ 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); } /**
20
+ * Game Server API
21
+ * 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
22
+ *
23
+ * The version of the OpenAPI document: 1.0.0
24
+ *
25
+ *
26
+ * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
27
+ * https://openapi-generator.tech
28
+ * Do not edit the class manually.
29
+ *
30
+ */
31
+ /**
32
+ * The ListGroupInvitations200Response model module.
33
+ * @module model/ListGroupInvitations200Response
34
+ * @version 1.0.0
35
+ */
36
+ var ListGroupInvitations200Response = /*#__PURE__*/function () {
37
+ /**
38
+ * Constructs a new <code>ListGroupInvitations200Response</code>.
39
+ * @alias module:model/ListGroupInvitations200Response
40
+ */
41
+ function ListGroupInvitations200Response() {
42
+ _classCallCheck(this, ListGroupInvitations200Response);
43
+ ListGroupInvitations200Response.initialize(this);
44
+ }
45
+
46
+ /**
47
+ * Initializes the fields of this object.
48
+ * This method is used by the constructors of any subclasses, in order to implement multiple inheritance (mix-ins).
49
+ * Only for internal use.
50
+ */
51
+ return _createClass(ListGroupInvitations200Response, null, [{
52
+ key: "initialize",
53
+ value: function initialize(obj) {}
54
+
55
+ /**
56
+ * Constructs a <code>ListGroupInvitations200Response</code> from a plain JavaScript object, optionally creating a new instance.
57
+ * Copies all relevant properties from <code>data</code> to <code>obj</code> if supplied or a new instance if not.
58
+ * @param {Object} data The plain JavaScript object bearing properties of interest.
59
+ * @param {module:model/ListGroupInvitations200Response} obj Optional instance to populate.
60
+ * @return {module:model/ListGroupInvitations200Response} The populated <code>ListGroupInvitations200Response</code> instance.
61
+ */
62
+ }, {
63
+ key: "constructFromObject",
64
+ value: function constructFromObject(data, obj) {
65
+ if (data) {
66
+ obj = obj || new ListGroupInvitations200Response();
67
+ if (data.hasOwnProperty('data')) {
68
+ obj['data'] = _ApiClient["default"].convertToType(data['data'], [_ListGroupInvitations200ResponseDataInner["default"]]);
69
+ }
70
+ if (data.hasOwnProperty('meta')) {
71
+ obj['meta'] = _AdminListNotifications200ResponseMeta["default"].constructFromObject(data['meta']);
72
+ }
73
+ }
74
+ return obj;
75
+ }
76
+
77
+ /**
78
+ * Validates the JSON data with respect to <code>ListGroupInvitations200Response</code>.
79
+ * @param {Object} data The plain JavaScript object bearing properties of interest.
80
+ * @return {boolean} to indicate whether the JSON data is valid with respect to <code>ListGroupInvitations200Response</code>.
81
+ */
82
+ }, {
83
+ key: "validateJSON",
84
+ value: function validateJSON(data) {
85
+ if (data['data']) {
86
+ // data not null
87
+ // ensure the json data is an array
88
+ if (!Array.isArray(data['data'])) {
89
+ throw new Error("Expected the field `data` to be an array in the JSON data but got " + data['data']);
90
+ }
91
+ // validate the optional field `data` (array)
92
+ var _iterator = _createForOfIteratorHelper(data['data']),
93
+ _step;
94
+ try {
95
+ for (_iterator.s(); !(_step = _iterator.n()).done;) {
96
+ var item = _step.value;
97
+ _ListGroupInvitations200ResponseDataInner["default"].validateJSON(item);
98
+ }
99
+ } catch (err) {
100
+ _iterator.e(err);
101
+ } finally {
102
+ _iterator.f();
103
+ }
104
+ ;
105
+ }
106
+ // validate the optional field `meta`
107
+ if (data['meta']) {
108
+ // data not null
109
+ _AdminListNotifications200ResponseMeta["default"].validateJSON(data['meta']);
110
+ }
111
+ return true;
112
+ }
113
+ }]);
114
+ }();
115
+ /**
116
+ * @member {Array.<module:model/ListGroupInvitations200ResponseDataInner>} data
117
+ */
118
+ ListGroupInvitations200Response.prototype['data'] = undefined;
119
+
120
+ /**
121
+ * @member {module:model/AdminListNotifications200ResponseMeta} meta
122
+ */
123
+ ListGroupInvitations200Response.prototype['meta'] = undefined;
124
+ var _default = exports["default"] = ListGroupInvitations200Response;