rozod 6.5.1 → 6.7.0
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 +11 -11
- package/lib/endpoints/authv1.d.ts +1 -1
- package/lib/endpoints/authv1.js +1 -1
- package/lib/endpoints/authv2.d.ts +1 -1
- package/lib/endpoints/authv2.js +1 -1
- package/lib/endpoints/catalogv1.d.ts +2 -0
- package/lib/endpoints/catalogv1.js +2 -0
- package/lib/endpoints/catalogv2.d.ts +1 -0
- package/lib/endpoints/catalogv2.js +1 -0
- package/lib/endpoints/friendsv1.d.ts +45 -0
- package/lib/endpoints/friendsv1.js +46 -1
- package/lib/endpoints/gameinternationalizationv1.d.ts +1 -0
- package/lib/endpoints/gameinternationalizationv1.js +1 -0
- package/lib/endpoints/gamesv1.d.ts +0 -98
- package/lib/endpoints/gamesv2.d.ts +1 -0
- package/lib/endpoints/gamesv2.js +1 -0
- package/lib/endpoints/groupsv1.d.ts +174 -0
- package/lib/endpoints/groupsv1.js +171 -2
- package/lib/endpoints/groupsv2.d.ts +20 -0
- package/lib/endpoints/groupsv2.js +20 -0
- package/lib/index.js +26 -3
- package/lib/opencloud/v2/cloud.d.ts +58 -27
- package/lib/opencloud/v2/cloud.js +72 -42
- package/package.json +108 -64
package/README.md
CHANGED
|
@@ -57,7 +57,7 @@ pnpm add rozod
|
|
|
57
57
|
|
|
58
58
|
```ts
|
|
59
59
|
import { fetchApi, isAnyErrorResponse } from 'rozod';
|
|
60
|
-
import { getUsersUserid } from 'rozod/
|
|
60
|
+
import { getUsersUserid } from 'rozod/endpoints/usersv1';
|
|
61
61
|
|
|
62
62
|
// Fetch user details with full type safety
|
|
63
63
|
const userInfo = await fetchApi(getUsersUserid, { userId: 1 });
|
|
@@ -73,7 +73,7 @@ console.log(userInfo.displayName); // Properly typed!
|
|
|
73
73
|
|
|
74
74
|
```ts
|
|
75
75
|
import { fetchApi, isAnyErrorResponse } from 'rozod';
|
|
76
|
-
import { getGamesIcons } from 'rozod/
|
|
76
|
+
import { getGamesIcons } from 'rozod/endpoints/thumbnailsv1';
|
|
77
77
|
|
|
78
78
|
const response = await fetchApi(getGamesIcons, { universeIds: [1534453623, 65241] });
|
|
79
79
|
if (!isAnyErrorResponse(response)) {
|
|
@@ -85,7 +85,7 @@ if (!isAnyErrorResponse(response)) {
|
|
|
85
85
|
|
|
86
86
|
```ts
|
|
87
87
|
import { fetchApiPages, isAnyErrorResponse } from 'rozod';
|
|
88
|
-
import { getGroupsGroupidWallPosts } from 'rozod/
|
|
88
|
+
import { getGroupsGroupidWallPosts } from 'rozod/endpoints/groupsv2';
|
|
89
89
|
|
|
90
90
|
// Automatically fetches all pages
|
|
91
91
|
const pages = await fetchApiPages(getGroupsGroupidWallPosts, { groupId: 11479637 });
|
|
@@ -98,7 +98,7 @@ if (!isAnyErrorResponse(pages)) {
|
|
|
98
98
|
|
|
99
99
|
```ts
|
|
100
100
|
import { fetchApiPagesGenerator, isAnyErrorResponse } from 'rozod';
|
|
101
|
-
import { getGroupsGroupidWallPosts } from 'rozod/
|
|
101
|
+
import { getGroupsGroupidWallPosts } from 'rozod/endpoints/groupsv2';
|
|
102
102
|
|
|
103
103
|
// Process pages as they arrive
|
|
104
104
|
const pages = fetchApiPagesGenerator(getGroupsGroupidWallPosts, { groupId: 11479637 });
|
|
@@ -113,7 +113,7 @@ for await (const page of pages) {
|
|
|
113
113
|
|
|
114
114
|
```ts
|
|
115
115
|
import { fetchApiSplit } from 'rozod';
|
|
116
|
-
import { getGamesIcons } from 'rozod/
|
|
116
|
+
import { getGamesIcons } from 'rozod/endpoints/thumbnailsv1';
|
|
117
117
|
|
|
118
118
|
// Will automatically split into smaller batches of 100 universeIds per request
|
|
119
119
|
const data = await fetchApiSplit(
|
|
@@ -130,7 +130,7 @@ By default, requests return either the success type or a simple `AnyError`. Use
|
|
|
130
130
|
|
|
131
131
|
```ts
|
|
132
132
|
import { fetchApi, isAnyErrorResponse } from 'rozod';
|
|
133
|
-
import { getGamesIcons } from 'rozod/
|
|
133
|
+
import { getGamesIcons } from 'rozod/endpoints/thumbnailsv1';
|
|
134
134
|
|
|
135
135
|
const res = await fetchApi(getGamesIcons, { universeIds: [1534453623] });
|
|
136
136
|
if (isAnyErrorResponse(res)) {
|
|
@@ -164,7 +164,7 @@ RoZod supports Roblox's newer OpenCloud APIs with the same easy interface:
|
|
|
164
164
|
|
|
165
165
|
```ts
|
|
166
166
|
import { fetchApi, isAnyErrorResponse } from 'rozod';
|
|
167
|
-
import { v2 } from 'rozod/
|
|
167
|
+
import { v2 } from 'rozod/opencloud';
|
|
168
168
|
|
|
169
169
|
// Get universe details through OpenCloud
|
|
170
170
|
const universeInfo = await fetchApi(v2.getCloudV2UniversesUniverseId, {
|
|
@@ -182,7 +182,7 @@ if (!isAnyErrorResponse(universeInfo)) {
|
|
|
182
182
|
|
|
183
183
|
```ts
|
|
184
184
|
import { fetchApi } from 'rozod';
|
|
185
|
-
import { getCloudV2UniversesUniverseIdDataStoresDataStoreIdEntries } from 'rozod/
|
|
185
|
+
import { getCloudV2UniversesUniverseIdDataStoresDataStoreIdEntries } from 'rozod/opencloud/v2/cloud';
|
|
186
186
|
|
|
187
187
|
// Get DataStore entries with type safety
|
|
188
188
|
const dataStoreEntries = await fetchApi(getCloudV2UniversesUniverseIdDataStoresDataStoreIdEntries, {
|
|
@@ -201,7 +201,7 @@ In browsers, authentication works automatically when users are logged into Roblo
|
|
|
201
201
|
|
|
202
202
|
```ts
|
|
203
203
|
import { fetchApi } from 'rozod';
|
|
204
|
-
import { getUsersUserid } from 'rozod/
|
|
204
|
+
import { getUsersUserid } from 'rozod/endpoints/usersv1';
|
|
205
205
|
|
|
206
206
|
// Cookies are sent automatically - no setup required!
|
|
207
207
|
const userInfo = await fetchApi(getUsersUserid, { userId: 123456 });
|
|
@@ -213,7 +213,7 @@ For server environments, use `configureServer()` to set up authentication once:
|
|
|
213
213
|
|
|
214
214
|
```ts
|
|
215
215
|
import { configureServer, fetchApi } from 'rozod';
|
|
216
|
-
import { getUsersUserid } from 'rozod/
|
|
216
|
+
import { getUsersUserid } from 'rozod/endpoints/usersv1';
|
|
217
217
|
|
|
218
218
|
// Configure once at startup
|
|
219
219
|
configureServer({ cookies: 'your_roblosecurity_cookie_here' });
|
|
@@ -283,7 +283,7 @@ For OpenCloud endpoints (`apis.roblox.com`), set your API key once:
|
|
|
283
283
|
|
|
284
284
|
```ts
|
|
285
285
|
import { configureServer, fetchApi } from 'rozod';
|
|
286
|
-
import { v2 } from 'rozod/
|
|
286
|
+
import { v2 } from 'rozod/opencloud';
|
|
287
287
|
|
|
288
288
|
// Configure OpenCloud API key
|
|
289
289
|
configureServer({ cloudKey: 'your_opencloud_api_key_here' });
|
|
@@ -404,7 +404,7 @@ const Roblox_Authentication_Api_Models_ReferralDataModel = z.object({
|
|
|
404
404
|
});
|
|
405
405
|
const Roblox_Authentication_Api_Models_Request_OtpSessionModel = z.object({
|
|
406
406
|
otpSessionToken: z.string(),
|
|
407
|
-
otpContactType: z.enum(["Unset", "Email"
|
|
407
|
+
otpContactType: z.enum(["Unset", "Email"]),
|
|
408
408
|
});
|
|
409
409
|
const Roblox_Authentication_Api_Models_Request_AuditContentValue = z.object({
|
|
410
410
|
translationKey: z.string(),
|
package/lib/endpoints/authv1.js
CHANGED
|
@@ -377,7 +377,7 @@ const Roblox_Authentication_Api_Models_ReferralDataModel = zod_1.z.object({
|
|
|
377
377
|
});
|
|
378
378
|
const Roblox_Authentication_Api_Models_Request_OtpSessionModel = zod_1.z.object({
|
|
379
379
|
otpSessionToken: zod_1.z.string(),
|
|
380
|
-
otpContactType: zod_1.z.enum(['Unset', 'Email'
|
|
380
|
+
otpContactType: zod_1.z.enum(['Unset', 'Email']),
|
|
381
381
|
});
|
|
382
382
|
const Roblox_Authentication_Api_Models_Request_AuditContentValue = zod_1.z.object({
|
|
383
383
|
translationKey: zod_1.z.string(),
|
|
@@ -238,7 +238,7 @@ const Roblox_Authentication_Api_Models_ReferralDataModel = z.object({
|
|
|
238
238
|
});
|
|
239
239
|
const Roblox_Authentication_Api_Models_Request_OtpSessionModel = z.object({
|
|
240
240
|
otpSessionToken: z.string(),
|
|
241
|
-
otpContactType: z.enum(["Unset", "Email"
|
|
241
|
+
otpContactType: z.enum(["Unset", "Email"]),
|
|
242
242
|
});
|
|
243
243
|
const Roblox_Authentication_Api_Models_Request_AuditContentValue = z.object({
|
|
244
244
|
translationKey: z.string(),
|
package/lib/endpoints/authv2.js
CHANGED
|
@@ -231,7 +231,7 @@ const Roblox_Authentication_Api_Models_ReferralDataModel = zod_1.z.object({
|
|
|
231
231
|
});
|
|
232
232
|
const Roblox_Authentication_Api_Models_Request_OtpSessionModel = zod_1.z.object({
|
|
233
233
|
otpSessionToken: zod_1.z.string(),
|
|
234
|
-
otpContactType: zod_1.z.enum(['Unset', 'Email'
|
|
234
|
+
otpContactType: zod_1.z.enum(['Unset', 'Email']),
|
|
235
235
|
});
|
|
236
236
|
const Roblox_Authentication_Api_Models_Request_AuditContentValue = zod_1.z.object({
|
|
237
237
|
translationKey: zod_1.z.string(),
|
|
@@ -217,6 +217,7 @@ const Roblox_Catalog_Api_CatalogSearchDetailedResponseItem = z.object({
|
|
|
217
217
|
z.literal(88),
|
|
218
218
|
z.literal(89),
|
|
219
219
|
z.literal(90),
|
|
220
|
+
z.literal(91),
|
|
220
221
|
]),
|
|
221
222
|
bundleType: z.union([z.literal(1), z.literal(2), z.literal(3), z.literal(4)]),
|
|
222
223
|
isRecolorable: z.boolean(),
|
|
@@ -400,6 +401,7 @@ const Roblox_Catalog_Api_CatalogSearchDetailedResponseItemV2 = z.object({
|
|
|
400
401
|
z.literal(88),
|
|
401
402
|
z.literal(89),
|
|
402
403
|
z.literal(90),
|
|
404
|
+
z.literal(91),
|
|
403
405
|
]),
|
|
404
406
|
bundleType: z.union([z.literal(1), z.literal(2), z.literal(3), z.literal(4)]),
|
|
405
407
|
isRecolorable: z.boolean(),
|
|
@@ -217,6 +217,7 @@ const Roblox_Catalog_Api_CatalogSearchDetailedResponseItem = zod_1.z.object({
|
|
|
217
217
|
zod_1.z.literal(88),
|
|
218
218
|
zod_1.z.literal(89),
|
|
219
219
|
zod_1.z.literal(90),
|
|
220
|
+
zod_1.z.literal(91),
|
|
220
221
|
]),
|
|
221
222
|
bundleType: zod_1.z.union([zod_1.z.literal(1), zod_1.z.literal(2), zod_1.z.literal(3), zod_1.z.literal(4)]),
|
|
222
223
|
isRecolorable: zod_1.z.boolean(),
|
|
@@ -396,6 +397,7 @@ const Roblox_Catalog_Api_CatalogSearchDetailedResponseItemV2 = zod_1.z.object({
|
|
|
396
397
|
zod_1.z.literal(88),
|
|
397
398
|
zod_1.z.literal(89),
|
|
398
399
|
zod_1.z.literal(90),
|
|
400
|
+
zod_1.z.literal(91),
|
|
399
401
|
]),
|
|
400
402
|
bundleType: zod_1.z.union([zod_1.z.literal(1), zod_1.z.literal(2), zod_1.z.literal(3), zod_1.z.literal(4)]),
|
|
401
403
|
isRecolorable: zod_1.z.boolean(),
|
|
@@ -118,6 +118,7 @@ const Roblox_Catalog_Api_CatalogSearchDetailedResponseItemV2 = z.object({
|
|
|
118
118
|
z.literal(88),
|
|
119
119
|
z.literal(89),
|
|
120
120
|
z.literal(90),
|
|
121
|
+
z.literal(91),
|
|
121
122
|
]),
|
|
122
123
|
bundleType: z.union([z.literal(1), z.literal(2), z.literal(3), z.literal(4)]),
|
|
123
124
|
isRecolorable: z.boolean(),
|
|
@@ -120,6 +120,7 @@ const Roblox_Catalog_Api_CatalogSearchDetailedResponseItemV2 = zod_1.z.object({
|
|
|
120
120
|
zod_1.z.literal(88),
|
|
121
121
|
zod_1.z.literal(89),
|
|
122
122
|
zod_1.z.literal(90),
|
|
123
|
+
zod_1.z.literal(91),
|
|
123
124
|
]),
|
|
124
125
|
bundleType: zod_1.z.union([zod_1.z.literal(1), zod_1.z.literal(2), zod_1.z.literal(3), zod_1.z.literal(4)]),
|
|
125
126
|
isRecolorable: zod_1.z.boolean(),
|
|
@@ -29,6 +29,7 @@ const Roblox_Friends_Api_FriendRequest = z.object({
|
|
|
29
29
|
"ProfileShare",
|
|
30
30
|
"PhoneContactImporter",
|
|
31
31
|
"FriendRecommendations",
|
|
32
|
+
"UserCommunities",
|
|
32
33
|
]),
|
|
33
34
|
contactName: z.string(),
|
|
34
35
|
senderNickname: z.string(),
|
|
@@ -177,6 +178,7 @@ const Roblox_Friends_Api_FriendshipRequestModel = z.object({
|
|
|
177
178
|
"ProfileShare",
|
|
178
179
|
"PhoneContactImporter",
|
|
179
180
|
"FriendRecommendations",
|
|
181
|
+
"UserCommunities",
|
|
180
182
|
]),
|
|
181
183
|
senderNickname: z.string(),
|
|
182
184
|
});
|
|
@@ -410,6 +412,23 @@ export const getMyNewFriendRequestsCount = endpoint({
|
|
|
410
412
|
},
|
|
411
413
|
],
|
|
412
414
|
});
|
|
415
|
+
/**
|
|
416
|
+
* @api GET https://friends.roblox.com/v1/my/trusted-friends/count
|
|
417
|
+
* @summary Get the number of trusted friends a user has
|
|
418
|
+
*/
|
|
419
|
+
export const getMyTrustedFriendsCount = endpoint({
|
|
420
|
+
method: "GET",
|
|
421
|
+
path: "/v1/my/trusted-friends/count",
|
|
422
|
+
baseUrl: "https://friends.roblox.com",
|
|
423
|
+
requestFormat: "json",
|
|
424
|
+
response: z.object({ count: z.number().int() }),
|
|
425
|
+
errors: [
|
|
426
|
+
{
|
|
427
|
+
status: 401,
|
|
428
|
+
description: `0: Authorization has been denied for this request.`,
|
|
429
|
+
},
|
|
430
|
+
],
|
|
431
|
+
});
|
|
413
432
|
/**
|
|
414
433
|
* @api POST https://friends.roblox.com/v1/user/:userId/multiget-are-friends
|
|
415
434
|
* @summary Check if the requesting user is friends with the specified users.
|
|
@@ -1254,6 +1273,32 @@ export const getUsersUseridFriendsStatuses = endpoint({
|
|
|
1254
1273
|
},
|
|
1255
1274
|
],
|
|
1256
1275
|
});
|
|
1276
|
+
/**
|
|
1277
|
+
* @api GET https://friends.roblox.com/v1/users/:userId/trusted-friends/count
|
|
1278
|
+
* @summary Get the number of trusted friends a user has
|
|
1279
|
+
* @param userId
|
|
1280
|
+
*/
|
|
1281
|
+
export const getUsersUseridTrustedFriendsCount = endpoint({
|
|
1282
|
+
method: "GET",
|
|
1283
|
+
path: "/v1/users/:userId/trusted-friends/count",
|
|
1284
|
+
baseUrl: "https://friends.roblox.com",
|
|
1285
|
+
requestFormat: "json",
|
|
1286
|
+
serializationMethod: {
|
|
1287
|
+
userId: {
|
|
1288
|
+
style: "simple",
|
|
1289
|
+
},
|
|
1290
|
+
},
|
|
1291
|
+
parameters: {
|
|
1292
|
+
userId: z.number().int(),
|
|
1293
|
+
},
|
|
1294
|
+
response: z.object({ count: z.number().int() }),
|
|
1295
|
+
errors: [
|
|
1296
|
+
{
|
|
1297
|
+
status: 401,
|
|
1298
|
+
description: `0: Authorization has been denied for this request.`,
|
|
1299
|
+
},
|
|
1300
|
+
],
|
|
1301
|
+
});
|
|
1257
1302
|
|
|
1258
1303
|
// Patched endpoints removed from Roblox API docs (v6.1.0 compat)
|
|
1259
1304
|
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.getUserUseridMultigetAreTrustedFriends = exports.getMyTrustedFriendsUseridStatus = exports.getUsersUseridFriendsStatuses = exports.getUsersUseridFriendsSearch = exports.getUsersUseridFriendsOnline = exports.getUsersUseridFriendsInactive = exports.getUsersUseridFriendsFind = exports.getUsersUseridFriendsCount = exports.getUsersUseridFriends = exports.postUsersTargetuseridUnfriend = exports.postUsersTargetuseridUnfollow = exports.postUsersTargetuseridRequestFriendship = exports.getUsersTargetuseridFollowingsCount = exports.getUsersTargetuseridFollowings = exports.getUsersTargetuseridFollowersCount = exports.getUsersTargetuseridFollowers = exports.postUsersTargetuseridFollow = exports.postUsersSenderuseridAcceptFriendRequestWithToken = exports.postUsersRequesteruseridDeclineFriendRequest = exports.postUsersRequesteruseridAcceptFriendRequest = exports.postUserFriendRequestsDeclineAll = exports.getUserFriendRequestsCount = exports.postUserFollowingExists = exports.postUserUseridMultigetAreFriends = exports.getMyNewFriendRequestsCount = exports.deleteMyNewFriendRequests = exports.getMyFriendsRequests = exports.postMyFriendsRefreshQrSession = exports.getMyFriendsCount = exports.getMyFriendsUseridCheckQrSession = exports.getMetadata = exports.postContactsTargetcontactidRequestFriendship = void 0;
|
|
3
|
+
exports.getUserUseridMultigetAreTrustedFriends = exports.getMyTrustedFriendsUseridStatus = exports.getUsersUseridTrustedFriendsCount = exports.getUsersUseridFriendsStatuses = exports.getUsersUseridFriendsSearch = exports.getUsersUseridFriendsOnline = exports.getUsersUseridFriendsInactive = exports.getUsersUseridFriendsFind = exports.getUsersUseridFriendsCount = exports.getUsersUseridFriends = exports.postUsersTargetuseridUnfriend = exports.postUsersTargetuseridUnfollow = exports.postUsersTargetuseridRequestFriendship = exports.getUsersTargetuseridFollowingsCount = exports.getUsersTargetuseridFollowings = exports.getUsersTargetuseridFollowersCount = exports.getUsersTargetuseridFollowers = exports.postUsersTargetuseridFollow = exports.postUsersSenderuseridAcceptFriendRequestWithToken = exports.postUsersRequesteruseridDeclineFriendRequest = exports.postUsersRequesteruseridAcceptFriendRequest = exports.postUserFriendRequestsDeclineAll = exports.getUserFriendRequestsCount = exports.postUserFollowingExists = exports.postUserUseridMultigetAreFriends = exports.getMyTrustedFriendsCount = exports.getMyNewFriendRequestsCount = exports.deleteMyNewFriendRequests = exports.getMyFriendsRequests = exports.postMyFriendsRefreshQrSession = exports.getMyFriendsCount = exports.getMyFriendsUseridCheckQrSession = exports.getMetadata = exports.postContactsTargetcontactidRequestFriendship = void 0;
|
|
4
4
|
const zod_1 = require("zod");
|
|
5
5
|
const __1 = require("..");
|
|
6
6
|
const Roblox_Friends_Api_Models_Response_FriendsPageMetadataResponse = zod_1.z.object({
|
|
@@ -29,6 +29,7 @@ const Roblox_Friends_Api_FriendRequest = zod_1.z.object({
|
|
|
29
29
|
'ProfileShare',
|
|
30
30
|
'PhoneContactImporter',
|
|
31
31
|
'FriendRecommendations',
|
|
32
|
+
'UserCommunities',
|
|
32
33
|
]),
|
|
33
34
|
contactName: zod_1.z.string(),
|
|
34
35
|
senderNickname: zod_1.z.string(),
|
|
@@ -164,6 +165,7 @@ const Roblox_Friends_Api_FriendshipRequestModel = zod_1.z.object({
|
|
|
164
165
|
'ProfileShare',
|
|
165
166
|
'PhoneContactImporter',
|
|
166
167
|
'FriendRecommendations',
|
|
168
|
+
'UserCommunities',
|
|
167
169
|
]),
|
|
168
170
|
senderNickname: zod_1.z.string(),
|
|
169
171
|
});
|
|
@@ -394,6 +396,23 @@ exports.getMyNewFriendRequestsCount = (0, __1.endpoint)({
|
|
|
394
396
|
},
|
|
395
397
|
],
|
|
396
398
|
});
|
|
399
|
+
/**
|
|
400
|
+
* @api GET https://friends.roblox.com/v1/my/trusted-friends/count
|
|
401
|
+
* @summary Get the number of trusted friends a user has
|
|
402
|
+
*/
|
|
403
|
+
exports.getMyTrustedFriendsCount = (0, __1.endpoint)({
|
|
404
|
+
method: 'GET',
|
|
405
|
+
path: '/v1/my/trusted-friends/count',
|
|
406
|
+
baseUrl: 'https://friends.roblox.com',
|
|
407
|
+
requestFormat: 'json',
|
|
408
|
+
response: zod_1.z.object({ count: zod_1.z.number().int() }),
|
|
409
|
+
errors: [
|
|
410
|
+
{
|
|
411
|
+
status: 401,
|
|
412
|
+
description: `0: Authorization has been denied for this request.`,
|
|
413
|
+
},
|
|
414
|
+
],
|
|
415
|
+
});
|
|
397
416
|
/**
|
|
398
417
|
* @api POST https://friends.roblox.com/v1/user/:userId/multiget-are-friends
|
|
399
418
|
* @summary Check if the requesting user is friends with the specified users.
|
|
@@ -1218,6 +1237,32 @@ exports.getUsersUseridFriendsStatuses = (0, __1.endpoint)({
|
|
|
1218
1237
|
},
|
|
1219
1238
|
],
|
|
1220
1239
|
});
|
|
1240
|
+
/**
|
|
1241
|
+
* @api GET https://friends.roblox.com/v1/users/:userId/trusted-friends/count
|
|
1242
|
+
* @summary Get the number of trusted friends a user has
|
|
1243
|
+
* @param userId
|
|
1244
|
+
*/
|
|
1245
|
+
exports.getUsersUseridTrustedFriendsCount = (0, __1.endpoint)({
|
|
1246
|
+
method: 'GET',
|
|
1247
|
+
path: '/v1/users/:userId/trusted-friends/count',
|
|
1248
|
+
baseUrl: 'https://friends.roblox.com',
|
|
1249
|
+
requestFormat: 'json',
|
|
1250
|
+
serializationMethod: {
|
|
1251
|
+
userId: {
|
|
1252
|
+
style: 'simple',
|
|
1253
|
+
},
|
|
1254
|
+
},
|
|
1255
|
+
parameters: {
|
|
1256
|
+
userId: zod_1.z.number().int(),
|
|
1257
|
+
},
|
|
1258
|
+
response: zod_1.z.object({ count: zod_1.z.number().int() }),
|
|
1259
|
+
errors: [
|
|
1260
|
+
{
|
|
1261
|
+
status: 401,
|
|
1262
|
+
description: `0: Authorization has been denied for this request.`,
|
|
1263
|
+
},
|
|
1264
|
+
],
|
|
1265
|
+
});
|
|
1221
1266
|
// Patched endpoints removed from Roblox API docs (v6.1.0 compat)
|
|
1222
1267
|
const Patch_TrustedFriendStatusResponse = zod_1.z.object({
|
|
1223
1268
|
status: zod_1.z.union([zod_1.z.literal(0), zod_1.z.literal(1), zod_1.z.literal(2), zod_1.z.literal(3), zod_1.z.literal(4), zod_1.z.literal(5), zod_1.z.literal(6)]),
|
|
@@ -357,6 +357,7 @@ const Roblox_GameLocalization_Client_UserUniverseLocalizationSettingValue =
|
|
|
357
357
|
"SourceOrTranslation",
|
|
358
358
|
]),
|
|
359
359
|
settingTargetId: z.number().int(),
|
|
360
|
+
settingTargetCode: z.string(),
|
|
360
361
|
});
|
|
361
362
|
const Roblox_GameInternationalization_Api_Models_Response_GetUserLocalizationSettingsForUniverseResponse =
|
|
362
363
|
z.object({
|
|
@@ -279,6 +279,7 @@ const Roblox_GameInternationalization_Api_Models_Response_GetPlayerChoiceUnivers
|
|
|
279
279
|
const Roblox_GameLocalization_Client_UserUniverseLocalizationSettingValue = zod_1.z.object({
|
|
280
280
|
settingType: zod_1.z.enum(['LanguageFamily', 'SupportedLocale', 'SourceOrTranslation']),
|
|
281
281
|
settingTargetId: zod_1.z.number().int(),
|
|
282
|
+
settingTargetCode: zod_1.z.string(),
|
|
282
283
|
});
|
|
283
284
|
const Roblox_GameInternationalization_Api_Models_Response_GetUserLocalizationSettingsForUniverseResponse = zod_1.z.object({
|
|
284
285
|
userUniverseLocalizationSettingValue: Roblox_GameLocalization_Client_UserUniverseLocalizationSettingValue,
|
|
@@ -76,12 +76,6 @@ const Roblox_Web_Responses_Games_GameServerResponse = z.object({
|
|
|
76
76
|
accessCode: z.string().uuid(),
|
|
77
77
|
owner: Roblox_Games_Api_Models_Response_VerifiedBadgeUserResponse,
|
|
78
78
|
});
|
|
79
|
-
const Roblox_Games_Api_Models_Response_GetPrivateServerListResponse = z.object({
|
|
80
|
-
gameJoinRestricted: z.boolean(),
|
|
81
|
-
previousPageCursor: z.string(),
|
|
82
|
-
nextPageCursor: z.string(),
|
|
83
|
-
data: z.array(Roblox_Web_Responses_Games_GameServerResponse),
|
|
84
|
-
});
|
|
85
79
|
const Roblox_Web_WebAPI_Models_ApiPageResponse_Roblox_Web_Responses_Games_GameServerResponse_ =
|
|
86
80
|
z.object({
|
|
87
81
|
previousPageCursor: z.string(),
|
|
@@ -215,14 +209,11 @@ const Roblox_Games_Api_Models_Response_GameRecommendationsResponse = z.object({
|
|
|
215
209
|
games: z.array(Roblox_Games_Api_Models_Response_GameResponseModel),
|
|
216
210
|
nextPaginationKey: z.string(),
|
|
217
211
|
});
|
|
218
|
-
const Roblox_Games_Api_Models_Response_PrivateServersEnabledInUniverseResponse =
|
|
219
|
-
z.object({ privateServersEnabled: z.boolean() });
|
|
220
212
|
|
|
221
213
|
/**
|
|
222
214
|
* @api GET https://games.roblox.com/v1/games
|
|
223
215
|
* @summary Gets a list of games' detail
|
|
224
216
|
* @param universeIds A list of universe Ids. Cannot exceed a maximum of 50 IDs.
|
|
225
|
-
* @param languageCode The HTML language code [optional].
|
|
226
217
|
*/
|
|
227
218
|
export const getGames = endpoint({
|
|
228
219
|
method: "GET",
|
|
@@ -233,14 +224,9 @@ export const getGames = endpoint({
|
|
|
233
224
|
universeIds: {
|
|
234
225
|
style: "form",
|
|
235
226
|
},
|
|
236
|
-
languageCode: {
|
|
237
|
-
style: "form",
|
|
238
|
-
explode: true,
|
|
239
|
-
},
|
|
240
227
|
},
|
|
241
228
|
parameters: {
|
|
242
229
|
universeIds: z.array(z.number()),
|
|
243
|
-
languageCode: z.string().optional(),
|
|
244
230
|
},
|
|
245
231
|
response:
|
|
246
232
|
Roblox_Web_WebAPI_Models_ApiArrayResponse_Roblox_Games_Api_Models_Response_GameDetailResponse_,
|
|
@@ -256,64 +242,6 @@ export const getGames = endpoint({
|
|
|
256
242
|
},
|
|
257
243
|
],
|
|
258
244
|
});
|
|
259
|
-
/**
|
|
260
|
-
* @api GET https://games.roblox.com/v1/games/:placeId/private-servers
|
|
261
|
-
* @summary Get list of private servers user can access for given game id.
|
|
262
|
-
* @param placeId The Id of the place we are geting the private server list for.
|
|
263
|
-
* @param excludeFriendServers
|
|
264
|
-
* @param limit The number of results per request.
|
|
265
|
-
* @param cursor The paging cursor for the previous or next page.
|
|
266
|
-
* @param sortOrder The order the results are sorted in.
|
|
267
|
-
*/
|
|
268
|
-
export const getGamesPlaceidPrivateServers = endpoint({
|
|
269
|
-
method: "GET",
|
|
270
|
-
path: "/v1/games/:placeId/private-servers",
|
|
271
|
-
baseUrl: "https://games.roblox.com",
|
|
272
|
-
requestFormat: "json",
|
|
273
|
-
serializationMethod: {
|
|
274
|
-
placeId: {
|
|
275
|
-
style: "simple",
|
|
276
|
-
},
|
|
277
|
-
excludeFriendServers: {
|
|
278
|
-
style: "form",
|
|
279
|
-
explode: true,
|
|
280
|
-
},
|
|
281
|
-
limit: {
|
|
282
|
-
style: "form",
|
|
283
|
-
explode: true,
|
|
284
|
-
},
|
|
285
|
-
cursor: {
|
|
286
|
-
style: "form",
|
|
287
|
-
explode: true,
|
|
288
|
-
},
|
|
289
|
-
sortOrder: {
|
|
290
|
-
style: "form",
|
|
291
|
-
explode: true,
|
|
292
|
-
},
|
|
293
|
-
},
|
|
294
|
-
parameters: {
|
|
295
|
-
placeId: z.number().int(),
|
|
296
|
-
excludeFriendServers: z.boolean().optional(),
|
|
297
|
-
limit: z
|
|
298
|
-
.union([z.literal(10), z.literal(25), z.literal(50), z.literal(100)])
|
|
299
|
-
.optional()
|
|
300
|
-
.default(10),
|
|
301
|
-
cursor: z.string().optional(),
|
|
302
|
-
sortOrder: z.enum(["Asc", "Desc"]).optional().default("Asc"),
|
|
303
|
-
},
|
|
304
|
-
response: Roblox_Games_Api_Models_Response_GetPrivateServerListResponse,
|
|
305
|
-
errors: [
|
|
306
|
-
{
|
|
307
|
-
status: 400,
|
|
308
|
-
description: `1: The place is invalid.
|
|
309
|
-
7: Guest users are not allowed.`,
|
|
310
|
-
},
|
|
311
|
-
{
|
|
312
|
-
status: 404,
|
|
313
|
-
description: `1: The place is invalid.`,
|
|
314
|
-
},
|
|
315
|
-
],
|
|
316
|
-
});
|
|
317
245
|
/**
|
|
318
246
|
* @api GET https://games.roblox.com/v1/games/:placeId/servers/:serverType
|
|
319
247
|
* @summary Get the game server list
|
|
@@ -654,32 +582,6 @@ export const getGamesRecommendationsGameUniverseid = endpoint({
|
|
|
654
582
|
},
|
|
655
583
|
],
|
|
656
584
|
});
|
|
657
|
-
/**
|
|
658
|
-
* @api GET https://games.roblox.com/v1/private-servers/enabled-in-universe/:universeId
|
|
659
|
-
* @summary Checks if the private servers are enabled in the specified universe.
|
|
660
|
-
* @param universeId
|
|
661
|
-
*/
|
|
662
|
-
export const getPrivateServersEnabledInUniverseUniverseid = endpoint({
|
|
663
|
-
method: "GET",
|
|
664
|
-
path: "/v1/private-servers/enabled-in-universe/:universeId",
|
|
665
|
-
baseUrl: "https://games.roblox.com",
|
|
666
|
-
requestFormat: "json",
|
|
667
|
-
serializationMethod: {
|
|
668
|
-
universeId: {
|
|
669
|
-
style: "simple",
|
|
670
|
-
},
|
|
671
|
-
},
|
|
672
|
-
parameters: {
|
|
673
|
-
universeId: z.number().int(),
|
|
674
|
-
},
|
|
675
|
-
response: z.object({ privateServersEnabled: z.boolean() }),
|
|
676
|
-
errors: [
|
|
677
|
-
{
|
|
678
|
-
status: 400,
|
|
679
|
-
description: `8: The universe IDs specified are invalid.`,
|
|
680
|
-
},
|
|
681
|
-
],
|
|
682
|
-
});
|
|
683
585
|
|
|
684
586
|
// Patched endpoints removed from Roblox API docs (v6.1.0 compat)
|
|
685
587
|
|