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
|
@@ -45,6 +45,25 @@ const Roblox_Groups_Api_GroupRoleResponse = z.object({
|
|
|
45
45
|
rank: z.number().int(),
|
|
46
46
|
memberCount: z.number().int(),
|
|
47
47
|
isBase: z.boolean(),
|
|
48
|
+
color: z.enum([
|
|
49
|
+
"Invalid",
|
|
50
|
+
"Blue",
|
|
51
|
+
"Green",
|
|
52
|
+
"Purple",
|
|
53
|
+
"Yellow",
|
|
54
|
+
"Orange",
|
|
55
|
+
"Red",
|
|
56
|
+
"Magenta",
|
|
57
|
+
"Teal",
|
|
58
|
+
"Turquoise",
|
|
59
|
+
"Rust",
|
|
60
|
+
"Pistachio",
|
|
61
|
+
"Midnight",
|
|
62
|
+
"Lavender",
|
|
63
|
+
"Pink",
|
|
64
|
+
"Crimson",
|
|
65
|
+
"Plum",
|
|
66
|
+
]),
|
|
48
67
|
});
|
|
49
68
|
const Roblox_Groups_Api_UserGroupRoleResponse = z.object({
|
|
50
69
|
user: Roblox_Groups_Api_Models_Response_UserModel,
|
|
@@ -115,6 +134,29 @@ const Roblox_Groups_Client_EmoteSetModel = z.object({
|
|
|
115
134
|
const Roblox_Groups_Client_GetGroupEmoteSetsResponse = z.object({
|
|
116
135
|
emoteSets: z.array(Roblox_Groups_Client_EmoteSetModel),
|
|
117
136
|
});
|
|
137
|
+
const Roblox_Groups_Api_GroupFeatureResponse = z.object({
|
|
138
|
+
feature: z.enum([
|
|
139
|
+
"Payouts",
|
|
140
|
+
"ContentUpload",
|
|
141
|
+
"GroupOwnershipTransfer",
|
|
142
|
+
"GameOwnershipTransfer",
|
|
143
|
+
]),
|
|
144
|
+
isFeatureBlocked: z.boolean(),
|
|
145
|
+
expiration: z.string().datetime({ offset: true }),
|
|
146
|
+
});
|
|
147
|
+
const Roblox_Groups_Api_GetGroupFeaturesResponse = z.object({
|
|
148
|
+
isLocked: z.boolean(),
|
|
149
|
+
features: z.array(Roblox_Groups_Api_GroupFeatureResponse),
|
|
150
|
+
});
|
|
151
|
+
const Roblox_Groups_Api_SetFeaturesRequestModel = z.object({
|
|
152
|
+
Features: z.object({}),
|
|
153
|
+
});
|
|
154
|
+
const Roblox_Groups_Api_SetFeaturesResponseModel = z.object({
|
|
155
|
+
Updated: z.boolean(),
|
|
156
|
+
});
|
|
157
|
+
const Roblox_Groups_Api_HasGroupFeaturesBlockedResponse = z.object({
|
|
158
|
+
hasFeaturesBlocked: z.boolean(),
|
|
159
|
+
});
|
|
118
160
|
const Roblox_Groups_Api_GroupJoinRequestResponse = z.object({
|
|
119
161
|
requester: Roblox_Groups_Api_Models_Response_UserModel,
|
|
120
162
|
created: z.string().datetime({ offset: true }),
|
|
@@ -160,6 +202,7 @@ const Roblox_Groups_Api_GroupManagementPermissionsModel = z.object({
|
|
|
160
202
|
manageClan: z.boolean(),
|
|
161
203
|
viewAuditLogs: z.boolean(),
|
|
162
204
|
bypassSlowmode: z.boolean(),
|
|
205
|
+
viewCommunityAnalytics: z.boolean(),
|
|
163
206
|
});
|
|
164
207
|
const Roblox_Groups_Api_GroupEconomyPermissionsModel = z.object({
|
|
165
208
|
spendGroupFunds: z.boolean(),
|
|
@@ -488,6 +531,25 @@ const Roblox_Groups_Api_GroupRoleDetailResponse = z.object({
|
|
|
488
531
|
rank: z.number().int(),
|
|
489
532
|
memberCount: z.number().int(),
|
|
490
533
|
isBase: z.boolean(),
|
|
534
|
+
color: z.enum([
|
|
535
|
+
"Invalid",
|
|
536
|
+
"Blue",
|
|
537
|
+
"Green",
|
|
538
|
+
"Purple",
|
|
539
|
+
"Yellow",
|
|
540
|
+
"Orange",
|
|
541
|
+
"Red",
|
|
542
|
+
"Magenta",
|
|
543
|
+
"Teal",
|
|
544
|
+
"Turquoise",
|
|
545
|
+
"Rust",
|
|
546
|
+
"Pistachio",
|
|
547
|
+
"Midnight",
|
|
548
|
+
"Lavender",
|
|
549
|
+
"Pink",
|
|
550
|
+
"Crimson",
|
|
551
|
+
"Plum",
|
|
552
|
+
]),
|
|
491
553
|
});
|
|
492
554
|
const Roblox_Web_WebAPI_Models_ApiArrayResponse_Roblox_Groups_Api_GroupRoleDetailResponse_ =
|
|
493
555
|
z.object({ data: z.array(Roblox_Groups_Api_GroupRoleDetailResponse) });
|
|
@@ -579,6 +641,7 @@ const Roblox_Groups_Api_Models_Request_UpdateRoleSetRequest = z.object({
|
|
|
579
641
|
name: z.string(),
|
|
580
642
|
description: z.string(),
|
|
581
643
|
rank: z.number().int(),
|
|
644
|
+
color: z.number().int(),
|
|
582
645
|
});
|
|
583
646
|
const Roblox_Groups_Api_PostGroupStatusRequest = z.object({
|
|
584
647
|
message: z.string(),
|
|
@@ -1456,6 +1519,117 @@ export const getGroupsGroupidEmotes = endpoint({
|
|
|
1456
1519
|
response: Roblox_Groups_Client_GetGroupEmoteSetsResponse,
|
|
1457
1520
|
errors: [],
|
|
1458
1521
|
});
|
|
1522
|
+
/**
|
|
1523
|
+
* @api GET https://groups.roblox.com/v1/groups/:groupId/features
|
|
1524
|
+
* @summary Gets the freeze status of all features and the lock status for a group.
|
|
1525
|
+
* @param groupId
|
|
1526
|
+
*/
|
|
1527
|
+
export const getGroupsGroupidFeatures = endpoint({
|
|
1528
|
+
method: "GET",
|
|
1529
|
+
path: "/v1/groups/:groupId/features",
|
|
1530
|
+
baseUrl: "https://groups.roblox.com",
|
|
1531
|
+
requestFormat: "json",
|
|
1532
|
+
serializationMethod: {
|
|
1533
|
+
groupId: {
|
|
1534
|
+
style: "simple",
|
|
1535
|
+
},
|
|
1536
|
+
},
|
|
1537
|
+
parameters: {
|
|
1538
|
+
groupId: z.number().int(),
|
|
1539
|
+
},
|
|
1540
|
+
response: Roblox_Groups_Api_GetGroupFeaturesResponse,
|
|
1541
|
+
errors: [
|
|
1542
|
+
{
|
|
1543
|
+
status: 400,
|
|
1544
|
+
description: `1: Group is invalid or does not exist.`,
|
|
1545
|
+
},
|
|
1546
|
+
{
|
|
1547
|
+
status: 401,
|
|
1548
|
+
description: `0: Authorization has been denied for this request.`,
|
|
1549
|
+
},
|
|
1550
|
+
{
|
|
1551
|
+
status: 403,
|
|
1552
|
+
description: `23: Insufficient permissions to complete the request.
|
|
1553
|
+
49: User is invalid or does not exist`,
|
|
1554
|
+
},
|
|
1555
|
+
],
|
|
1556
|
+
});
|
|
1557
|
+
/**
|
|
1558
|
+
* @api PATCH https://groups.roblox.com/v1/groups/:groupId/features
|
|
1559
|
+
* @summary Sets the desired status of group features.
|
|
1560
|
+
Currently only removes active freezes for features set to Roblox.Groups.Api.FeatureStatus.On.
|
|
1561
|
+
* @param body
|
|
1562
|
+
* @param groupId
|
|
1563
|
+
*/
|
|
1564
|
+
export const patchGroupsGroupidFeatures = endpoint({
|
|
1565
|
+
method: "PATCH",
|
|
1566
|
+
path: "/v1/groups/:groupId/features",
|
|
1567
|
+
baseUrl: "https://groups.roblox.com",
|
|
1568
|
+
requestFormat: "json",
|
|
1569
|
+
serializationMethod: {
|
|
1570
|
+
body: {},
|
|
1571
|
+
groupId: {
|
|
1572
|
+
style: "simple",
|
|
1573
|
+
},
|
|
1574
|
+
},
|
|
1575
|
+
parameters: {
|
|
1576
|
+
groupId: z.number().int(),
|
|
1577
|
+
},
|
|
1578
|
+
body: z.object({ Features: z.object({}) }),
|
|
1579
|
+
response: z.object({ Updated: z.boolean() }),
|
|
1580
|
+
errors: [
|
|
1581
|
+
{
|
|
1582
|
+
status: 400,
|
|
1583
|
+
description: `1: Group is invalid or does not exist.`,
|
|
1584
|
+
},
|
|
1585
|
+
{
|
|
1586
|
+
status: 401,
|
|
1587
|
+
description: `0: Authorization has been denied for this request.`,
|
|
1588
|
+
},
|
|
1589
|
+
{
|
|
1590
|
+
status: 403,
|
|
1591
|
+
description: `0: Token Validation Failed
|
|
1592
|
+
23: Insufficient permissions to complete the request.
|
|
1593
|
+
49: User is invalid or does not exist`,
|
|
1594
|
+
},
|
|
1595
|
+
],
|
|
1596
|
+
});
|
|
1597
|
+
/**
|
|
1598
|
+
* @api GET https://groups.roblox.com/v1/groups/:groupId/features/status
|
|
1599
|
+
* @summary Checks whether a group has ANY feature disabled (includes feature freezes and group lock).
|
|
1600
|
+
Used to display a banner on Creator Hub/Studio to inform group members that some features may not be available.
|
|
1601
|
+
* @param groupId
|
|
1602
|
+
*/
|
|
1603
|
+
export const getGroupsGroupidFeaturesStatus = endpoint({
|
|
1604
|
+
method: "GET",
|
|
1605
|
+
path: "/v1/groups/:groupId/features/status",
|
|
1606
|
+
baseUrl: "https://groups.roblox.com",
|
|
1607
|
+
requestFormat: "json",
|
|
1608
|
+
serializationMethod: {
|
|
1609
|
+
groupId: {
|
|
1610
|
+
style: "simple",
|
|
1611
|
+
},
|
|
1612
|
+
},
|
|
1613
|
+
parameters: {
|
|
1614
|
+
groupId: z.number().int(),
|
|
1615
|
+
},
|
|
1616
|
+
response: z.object({ hasFeaturesBlocked: z.boolean() }),
|
|
1617
|
+
errors: [
|
|
1618
|
+
{
|
|
1619
|
+
status: 400,
|
|
1620
|
+
description: `1: Group is invalid or does not exist.`,
|
|
1621
|
+
},
|
|
1622
|
+
{
|
|
1623
|
+
status: 401,
|
|
1624
|
+
description: `0: Authorization has been denied for this request.`,
|
|
1625
|
+
},
|
|
1626
|
+
{
|
|
1627
|
+
status: 403,
|
|
1628
|
+
description: `23: Insufficient permissions to complete the request.
|
|
1629
|
+
49: User is invalid or does not exist`,
|
|
1630
|
+
},
|
|
1631
|
+
],
|
|
1632
|
+
});
|
|
1459
1633
|
/**
|
|
1460
1634
|
* @api GET https://groups.roblox.com/v1/groups/:groupId/join-requests
|
|
1461
1635
|
* @summary Gets a page of Group Join Requests for a group.
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.
|
|
4
|
-
exports.getUsersUseridGroupsRoles = exports.getUsersUseridGroupsPrimaryRole = exports.getUsersUseridFriendsGroupsRoles = exports.deleteUserGroupsPrimary = exports.postUserGroupsPrimary = exports.getUserGroupsPending = exports.getRoles = exports.getGroupsSearchMetadata = exports.getGroupsSearchLookup = exports.getGroupsSearch = exports.postGroupsPolicies = exports.getGroupsMetadata = exports.patchGroupsIcon = exports.postGroupsCreate = exports.getGroupsConfigurationMetadata = exports.deleteGroupsGroupidWallUsersUseridPosts = exports.postGroupsGroupidWallSubscribe = exports.deleteGroupsGroupidWallPostsPostid = exports.postGroupsGroupidWallPosts = exports.getGroupsGroupidWallPosts = exports.getGroupsGroupidUsersUseridPermissions = exports.patchGroupsGroupidUsersUserid = exports.deleteGroupsGroupidUsersUserid = exports.postGroupsGroupidUsers = exports.getGroupsGroupidUsers = exports.patchGroupsGroupidStatus = exports.patchGroupsGroupidSocialLinksSociallinkid = exports.deleteGroupsGroupidSocialLinksSociallinkid = exports.postGroupsGroupidSocialLinks = exports.getGroupsGroupidSocialLinks = exports.patchGroupsGroupidSettings = void 0;
|
|
3
|
+
exports.deleteGroupsGroupidRolesetsRolesetid = exports.getGroupsGroupidRolesPermissions = exports.getGroupsGroupidRolesGuestPermissions = exports.getGroupsGroupidRolesRolesetidUsers = exports.patchGroupsGroupidRolesRolesetidPermissions = exports.getGroupsGroupidRolesRolesetidPermissions = exports.getGroupsGroupidRoles = exports.deleteGroupsGroupidRelationshipsGrouprelationshiptypeRequestsRelatedgroupid = exports.postGroupsGroupidRelationshipsGrouprelationshiptypeRequestsRelatedgroupid = exports.deleteGroupsGroupidRelationshipsGrouprelationshiptypeRequests = exports.postGroupsGroupidRelationshipsGrouprelationshiptypeRequests = exports.getGroupsGroupidRelationshipsGrouprelationshiptypeRequests = exports.deleteGroupsGroupidRelationshipsGrouprelationshiptypeRelatedgroupid = exports.postGroupsGroupidRelationshipsGrouprelationshiptypeRelatedgroupid = exports.getGroupsGroupidRelationshipsGrouprelationshiptype = exports.postGroupsGroupidPayoutsRecurring = exports.postGroupsGroupidPayouts = exports.getGroupsGroupidPayouts = exports.getGroupsGroupidPayoutRestriction = exports.patchGroupsGroupidNotificationPreference = exports.getGroupsGroupidNameHistory = exports.patchGroupsGroupidName = exports.getGroupsGroupidMembership = exports.deleteGroupsGroupidJoinRequestsUsersUserid = exports.postGroupsGroupidJoinRequestsUsersUserid = exports.getGroupsGroupidJoinRequestsUsersUserid = exports.deleteGroupsGroupidJoinRequests = exports.postGroupsGroupidJoinRequests = exports.getGroupsGroupidJoinRequests = exports.getGroupsGroupidFeaturesStatus = exports.patchGroupsGroupidFeatures = exports.getGroupsGroupidFeatures = exports.getGroupsGroupidEmotes = exports.patchGroupsGroupidDescription = exports.getGroupsGroupidConfiguration = exports.postGroupsGroupidClaimOwnership = exports.postGroupsGroupidChangeOwner = exports.patchGroupsGroupidBlockedKeywordsKeywordid = exports.deleteGroupsGroupidBlockedKeywordsKeywordid = exports.postGroupsGroupidBlockedKeywords = exports.getGroupsGroupidBlockedKeywords = exports.deleteGroupsGroupidBansUserid = exports.postGroupsGroupidBansUserid = exports.getGroupsGroupidBansUserid = exports.getGroupsGroupidBans = exports.getGroupsGroupidAuditLog = exports.getGroupsGroupid = exports.deleteFeaturedContentEvent = exports.postFeaturedContentEvent = exports.getFeaturedContentEvent = void 0;
|
|
4
|
+
exports.getUsersUseridGroupsRoles = exports.getUsersUseridGroupsPrimaryRole = exports.getUsersUseridFriendsGroupsRoles = exports.deleteUserGroupsPrimary = exports.postUserGroupsPrimary = exports.getUserGroupsPending = exports.getRoles = exports.getGroupsSearchMetadata = exports.getGroupsSearchLookup = exports.getGroupsSearch = exports.postGroupsPolicies = exports.getGroupsMetadata = exports.patchGroupsIcon = exports.postGroupsCreate = exports.getGroupsConfigurationMetadata = exports.deleteGroupsGroupidWallUsersUseridPosts = exports.postGroupsGroupidWallSubscribe = exports.deleteGroupsGroupidWallPostsPostid = exports.postGroupsGroupidWallPosts = exports.getGroupsGroupidWallPosts = exports.getGroupsGroupidUsersUseridPermissions = exports.patchGroupsGroupidUsersUserid = exports.deleteGroupsGroupidUsersUserid = exports.postGroupsGroupidUsers = exports.getGroupsGroupidUsers = exports.patchGroupsGroupidStatus = exports.patchGroupsGroupidSocialLinksSociallinkid = exports.deleteGroupsGroupidSocialLinksSociallinkid = exports.postGroupsGroupidSocialLinks = exports.getGroupsGroupidSocialLinks = exports.patchGroupsGroupidSettings = exports.getGroupsGroupidSettings = exports.postGroupsGroupidRolesetsCreate = exports.patchGroupsGroupidRolesetsRolesetid = void 0;
|
|
5
5
|
const zod_1 = require("zod");
|
|
6
6
|
const __1 = require("..");
|
|
7
7
|
const Roblox_Groups_Client_GroupFeaturedContentResponse = zod_1.z.object({
|
|
@@ -42,6 +42,25 @@ const Roblox_Groups_Api_GroupRoleResponse = zod_1.z.object({
|
|
|
42
42
|
rank: zod_1.z.number().int(),
|
|
43
43
|
memberCount: zod_1.z.number().int(),
|
|
44
44
|
isBase: zod_1.z.boolean(),
|
|
45
|
+
color: zod_1.z.enum([
|
|
46
|
+
'Invalid',
|
|
47
|
+
'Blue',
|
|
48
|
+
'Green',
|
|
49
|
+
'Purple',
|
|
50
|
+
'Yellow',
|
|
51
|
+
'Orange',
|
|
52
|
+
'Red',
|
|
53
|
+
'Magenta',
|
|
54
|
+
'Teal',
|
|
55
|
+
'Turquoise',
|
|
56
|
+
'Rust',
|
|
57
|
+
'Pistachio',
|
|
58
|
+
'Midnight',
|
|
59
|
+
'Lavender',
|
|
60
|
+
'Pink',
|
|
61
|
+
'Crimson',
|
|
62
|
+
'Plum',
|
|
63
|
+
]),
|
|
45
64
|
});
|
|
46
65
|
const Roblox_Groups_Api_UserGroupRoleResponse = zod_1.z.object({
|
|
47
66
|
user: Roblox_Groups_Api_Models_Response_UserModel,
|
|
@@ -109,6 +128,24 @@ const Roblox_Groups_Client_EmoteSetModel = zod_1.z.object({
|
|
|
109
128
|
const Roblox_Groups_Client_GetGroupEmoteSetsResponse = zod_1.z.object({
|
|
110
129
|
emoteSets: zod_1.z.array(Roblox_Groups_Client_EmoteSetModel),
|
|
111
130
|
});
|
|
131
|
+
const Roblox_Groups_Api_GroupFeatureResponse = zod_1.z.object({
|
|
132
|
+
feature: zod_1.z.enum(['Payouts', 'ContentUpload', 'GroupOwnershipTransfer', 'GameOwnershipTransfer']),
|
|
133
|
+
isFeatureBlocked: zod_1.z.boolean(),
|
|
134
|
+
expiration: zod_1.z.string().datetime({ offset: true }),
|
|
135
|
+
});
|
|
136
|
+
const Roblox_Groups_Api_GetGroupFeaturesResponse = zod_1.z.object({
|
|
137
|
+
isLocked: zod_1.z.boolean(),
|
|
138
|
+
features: zod_1.z.array(Roblox_Groups_Api_GroupFeatureResponse),
|
|
139
|
+
});
|
|
140
|
+
const Roblox_Groups_Api_SetFeaturesRequestModel = zod_1.z.object({
|
|
141
|
+
Features: zod_1.z.object({}),
|
|
142
|
+
});
|
|
143
|
+
const Roblox_Groups_Api_SetFeaturesResponseModel = zod_1.z.object({
|
|
144
|
+
Updated: zod_1.z.boolean(),
|
|
145
|
+
});
|
|
146
|
+
const Roblox_Groups_Api_HasGroupFeaturesBlockedResponse = zod_1.z.object({
|
|
147
|
+
hasFeaturesBlocked: zod_1.z.boolean(),
|
|
148
|
+
});
|
|
112
149
|
const Roblox_Groups_Api_GroupJoinRequestResponse = zod_1.z.object({
|
|
113
150
|
requester: Roblox_Groups_Api_Models_Response_UserModel,
|
|
114
151
|
created: zod_1.z.string().datetime({ offset: true }),
|
|
@@ -153,6 +190,7 @@ const Roblox_Groups_Api_GroupManagementPermissionsModel = zod_1.z.object({
|
|
|
153
190
|
manageClan: zod_1.z.boolean(),
|
|
154
191
|
viewAuditLogs: zod_1.z.boolean(),
|
|
155
192
|
bypassSlowmode: zod_1.z.boolean(),
|
|
193
|
+
viewCommunityAnalytics: zod_1.z.boolean(),
|
|
156
194
|
});
|
|
157
195
|
const Roblox_Groups_Api_GroupEconomyPermissionsModel = zod_1.z.object({
|
|
158
196
|
spendGroupFunds: zod_1.z.boolean(),
|
|
@@ -459,6 +497,25 @@ const Roblox_Groups_Api_GroupRoleDetailResponse = zod_1.z.object({
|
|
|
459
497
|
rank: zod_1.z.number().int(),
|
|
460
498
|
memberCount: zod_1.z.number().int(),
|
|
461
499
|
isBase: zod_1.z.boolean(),
|
|
500
|
+
color: zod_1.z.enum([
|
|
501
|
+
'Invalid',
|
|
502
|
+
'Blue',
|
|
503
|
+
'Green',
|
|
504
|
+
'Purple',
|
|
505
|
+
'Yellow',
|
|
506
|
+
'Orange',
|
|
507
|
+
'Red',
|
|
508
|
+
'Magenta',
|
|
509
|
+
'Teal',
|
|
510
|
+
'Turquoise',
|
|
511
|
+
'Rust',
|
|
512
|
+
'Pistachio',
|
|
513
|
+
'Midnight',
|
|
514
|
+
'Lavender',
|
|
515
|
+
'Pink',
|
|
516
|
+
'Crimson',
|
|
517
|
+
'Plum',
|
|
518
|
+
]),
|
|
462
519
|
});
|
|
463
520
|
const Roblox_Web_WebAPI_Models_ApiArrayResponse_Roblox_Groups_Api_GroupRoleDetailResponse_ = zod_1.z.object({
|
|
464
521
|
data: zod_1.z.array(Roblox_Groups_Api_GroupRoleDetailResponse),
|
|
@@ -554,6 +611,7 @@ const Roblox_Groups_Api_Models_Request_UpdateRoleSetRequest = zod_1.z.object({
|
|
|
554
611
|
name: zod_1.z.string(),
|
|
555
612
|
description: zod_1.z.string(),
|
|
556
613
|
rank: zod_1.z.number().int(),
|
|
614
|
+
color: zod_1.z.number().int(),
|
|
557
615
|
});
|
|
558
616
|
const Roblox_Groups_Api_PostGroupStatusRequest = zod_1.z.object({
|
|
559
617
|
message: zod_1.z.string(),
|
|
@@ -1427,6 +1485,117 @@ exports.getGroupsGroupidEmotes = (0, __1.endpoint)({
|
|
|
1427
1485
|
response: Roblox_Groups_Client_GetGroupEmoteSetsResponse,
|
|
1428
1486
|
errors: [],
|
|
1429
1487
|
});
|
|
1488
|
+
/**
|
|
1489
|
+
* @api GET https://groups.roblox.com/v1/groups/:groupId/features
|
|
1490
|
+
* @summary Gets the freeze status of all features and the lock status for a group.
|
|
1491
|
+
* @param groupId
|
|
1492
|
+
*/
|
|
1493
|
+
exports.getGroupsGroupidFeatures = (0, __1.endpoint)({
|
|
1494
|
+
method: 'GET',
|
|
1495
|
+
path: '/v1/groups/:groupId/features',
|
|
1496
|
+
baseUrl: 'https://groups.roblox.com',
|
|
1497
|
+
requestFormat: 'json',
|
|
1498
|
+
serializationMethod: {
|
|
1499
|
+
groupId: {
|
|
1500
|
+
style: 'simple',
|
|
1501
|
+
},
|
|
1502
|
+
},
|
|
1503
|
+
parameters: {
|
|
1504
|
+
groupId: zod_1.z.number().int(),
|
|
1505
|
+
},
|
|
1506
|
+
response: Roblox_Groups_Api_GetGroupFeaturesResponse,
|
|
1507
|
+
errors: [
|
|
1508
|
+
{
|
|
1509
|
+
status: 400,
|
|
1510
|
+
description: `1: Group is invalid or does not exist.`,
|
|
1511
|
+
},
|
|
1512
|
+
{
|
|
1513
|
+
status: 401,
|
|
1514
|
+
description: `0: Authorization has been denied for this request.`,
|
|
1515
|
+
},
|
|
1516
|
+
{
|
|
1517
|
+
status: 403,
|
|
1518
|
+
description: `23: Insufficient permissions to complete the request.
|
|
1519
|
+
49: User is invalid or does not exist`,
|
|
1520
|
+
},
|
|
1521
|
+
],
|
|
1522
|
+
});
|
|
1523
|
+
/**
|
|
1524
|
+
* @api PATCH https://groups.roblox.com/v1/groups/:groupId/features
|
|
1525
|
+
* @summary Sets the desired status of group features.
|
|
1526
|
+
Currently only removes active freezes for features set to Roblox.Groups.Api.FeatureStatus.On.
|
|
1527
|
+
* @param body
|
|
1528
|
+
* @param groupId
|
|
1529
|
+
*/
|
|
1530
|
+
exports.patchGroupsGroupidFeatures = (0, __1.endpoint)({
|
|
1531
|
+
method: 'PATCH',
|
|
1532
|
+
path: '/v1/groups/:groupId/features',
|
|
1533
|
+
baseUrl: 'https://groups.roblox.com',
|
|
1534
|
+
requestFormat: 'json',
|
|
1535
|
+
serializationMethod: {
|
|
1536
|
+
body: {},
|
|
1537
|
+
groupId: {
|
|
1538
|
+
style: 'simple',
|
|
1539
|
+
},
|
|
1540
|
+
},
|
|
1541
|
+
parameters: {
|
|
1542
|
+
groupId: zod_1.z.number().int(),
|
|
1543
|
+
},
|
|
1544
|
+
body: zod_1.z.object({ Features: zod_1.z.object({}) }),
|
|
1545
|
+
response: zod_1.z.object({ Updated: zod_1.z.boolean() }),
|
|
1546
|
+
errors: [
|
|
1547
|
+
{
|
|
1548
|
+
status: 400,
|
|
1549
|
+
description: `1: Group is invalid or does not exist.`,
|
|
1550
|
+
},
|
|
1551
|
+
{
|
|
1552
|
+
status: 401,
|
|
1553
|
+
description: `0: Authorization has been denied for this request.`,
|
|
1554
|
+
},
|
|
1555
|
+
{
|
|
1556
|
+
status: 403,
|
|
1557
|
+
description: `0: Token Validation Failed
|
|
1558
|
+
23: Insufficient permissions to complete the request.
|
|
1559
|
+
49: User is invalid or does not exist`,
|
|
1560
|
+
},
|
|
1561
|
+
],
|
|
1562
|
+
});
|
|
1563
|
+
/**
|
|
1564
|
+
* @api GET https://groups.roblox.com/v1/groups/:groupId/features/status
|
|
1565
|
+
* @summary Checks whether a group has ANY feature disabled (includes feature freezes and group lock).
|
|
1566
|
+
Used to display a banner on Creator Hub/Studio to inform group members that some features may not be available.
|
|
1567
|
+
* @param groupId
|
|
1568
|
+
*/
|
|
1569
|
+
exports.getGroupsGroupidFeaturesStatus = (0, __1.endpoint)({
|
|
1570
|
+
method: 'GET',
|
|
1571
|
+
path: '/v1/groups/:groupId/features/status',
|
|
1572
|
+
baseUrl: 'https://groups.roblox.com',
|
|
1573
|
+
requestFormat: 'json',
|
|
1574
|
+
serializationMethod: {
|
|
1575
|
+
groupId: {
|
|
1576
|
+
style: 'simple',
|
|
1577
|
+
},
|
|
1578
|
+
},
|
|
1579
|
+
parameters: {
|
|
1580
|
+
groupId: zod_1.z.number().int(),
|
|
1581
|
+
},
|
|
1582
|
+
response: zod_1.z.object({ hasFeaturesBlocked: zod_1.z.boolean() }),
|
|
1583
|
+
errors: [
|
|
1584
|
+
{
|
|
1585
|
+
status: 400,
|
|
1586
|
+
description: `1: Group is invalid or does not exist.`,
|
|
1587
|
+
},
|
|
1588
|
+
{
|
|
1589
|
+
status: 401,
|
|
1590
|
+
description: `0: Authorization has been denied for this request.`,
|
|
1591
|
+
},
|
|
1592
|
+
{
|
|
1593
|
+
status: 403,
|
|
1594
|
+
description: `23: Insufficient permissions to complete the request.
|
|
1595
|
+
49: User is invalid or does not exist`,
|
|
1596
|
+
},
|
|
1597
|
+
],
|
|
1598
|
+
});
|
|
1430
1599
|
/**
|
|
1431
1600
|
* @api GET https://groups.roblox.com/v1/groups/:groupId/join-requests
|
|
1432
1601
|
* @summary Gets a page of Group Join Requests for a group.
|
|
@@ -108,6 +108,7 @@ const Roblox_Web_Responses_RelatedEntityTypeResponse_Roblox_Platform_Assets_Asse
|
|
|
108
108
|
"FaceMakeup",
|
|
109
109
|
"LipMakeup",
|
|
110
110
|
"EyeMakeup",
|
|
111
|
+
"VoxelFragment",
|
|
111
112
|
]),
|
|
112
113
|
name: z.string(),
|
|
113
114
|
});
|
|
@@ -182,6 +183,25 @@ const Roblox_Groups_Api_GroupRoleResponse = z.object({
|
|
|
182
183
|
rank: z.number().int(),
|
|
183
184
|
memberCount: z.number().int(),
|
|
184
185
|
isBase: z.boolean(),
|
|
186
|
+
color: z.enum([
|
|
187
|
+
"Invalid",
|
|
188
|
+
"Blue",
|
|
189
|
+
"Green",
|
|
190
|
+
"Purple",
|
|
191
|
+
"Yellow",
|
|
192
|
+
"Orange",
|
|
193
|
+
"Red",
|
|
194
|
+
"Magenta",
|
|
195
|
+
"Teal",
|
|
196
|
+
"Turquoise",
|
|
197
|
+
"Rust",
|
|
198
|
+
"Pistachio",
|
|
199
|
+
"Midnight",
|
|
200
|
+
"Lavender",
|
|
201
|
+
"Pink",
|
|
202
|
+
"Crimson",
|
|
203
|
+
"Plum",
|
|
204
|
+
]),
|
|
185
205
|
});
|
|
186
206
|
const Roblox_Groups_Api_UserGroupRoleResponse = z.object({
|
|
187
207
|
user: Roblox_Groups_Api_Models_Response_UserModel,
|
|
@@ -111,6 +111,7 @@ const Roblox_Web_Responses_RelatedEntityTypeResponse_Roblox_Platform_Assets_Asse
|
|
|
111
111
|
'FaceMakeup',
|
|
112
112
|
'LipMakeup',
|
|
113
113
|
'EyeMakeup',
|
|
114
|
+
'VoxelFragment',
|
|
114
115
|
]),
|
|
115
116
|
name: zod_1.z.string(),
|
|
116
117
|
});
|
|
@@ -172,6 +173,25 @@ const Roblox_Groups_Api_GroupRoleResponse = zod_1.z.object({
|
|
|
172
173
|
rank: zod_1.z.number().int(),
|
|
173
174
|
memberCount: zod_1.z.number().int(),
|
|
174
175
|
isBase: zod_1.z.boolean(),
|
|
176
|
+
color: zod_1.z.enum([
|
|
177
|
+
'Invalid',
|
|
178
|
+
'Blue',
|
|
179
|
+
'Green',
|
|
180
|
+
'Purple',
|
|
181
|
+
'Yellow',
|
|
182
|
+
'Orange',
|
|
183
|
+
'Red',
|
|
184
|
+
'Magenta',
|
|
185
|
+
'Teal',
|
|
186
|
+
'Turquoise',
|
|
187
|
+
'Rust',
|
|
188
|
+
'Pistachio',
|
|
189
|
+
'Midnight',
|
|
190
|
+
'Lavender',
|
|
191
|
+
'Pink',
|
|
192
|
+
'Crimson',
|
|
193
|
+
'Plum',
|
|
194
|
+
]),
|
|
175
195
|
});
|
|
176
196
|
const Roblox_Groups_Api_UserGroupRoleResponse = zod_1.z.object({
|
|
177
197
|
user: Roblox_Groups_Api_Models_Response_UserModel,
|
package/lib/index.js
CHANGED
|
@@ -695,14 +695,38 @@ function changeHBAKeys(keys) {
|
|
|
695
695
|
}
|
|
696
696
|
async function handleRetryFetch(url, requestOptions, retries, retryDelay, body, method) {
|
|
697
697
|
let response = undefined;
|
|
698
|
-
while (
|
|
698
|
+
while (true) {
|
|
699
699
|
try {
|
|
700
700
|
response = await fetch(url, {
|
|
701
701
|
method,
|
|
702
702
|
body,
|
|
703
703
|
...requestOptions,
|
|
704
704
|
});
|
|
705
|
-
|
|
705
|
+
const retryable = response.status === 429 ||
|
|
706
|
+
response.status === 500 ||
|
|
707
|
+
response.status === 502 ||
|
|
708
|
+
response.status === 503 ||
|
|
709
|
+
response.status === 504;
|
|
710
|
+
if (retryable && retries > 0) {
|
|
711
|
+
retries--;
|
|
712
|
+
const retryAfterHeader = response.headers.get('retry-after');
|
|
713
|
+
let delay = retryDelay;
|
|
714
|
+
if (retryAfterHeader) {
|
|
715
|
+
const secs = Number(retryAfterHeader);
|
|
716
|
+
if (Number.isFinite(secs) && secs > 0) {
|
|
717
|
+
delay = secs * 1000;
|
|
718
|
+
}
|
|
719
|
+
else {
|
|
720
|
+
const dateMs = Date.parse(retryAfterHeader);
|
|
721
|
+
if (Number.isFinite(dateMs)) {
|
|
722
|
+
delay = Math.max(0, dateMs - Date.now());
|
|
723
|
+
}
|
|
724
|
+
}
|
|
725
|
+
}
|
|
726
|
+
await new Promise((resolve) => setTimeout(resolve, delay));
|
|
727
|
+
continue;
|
|
728
|
+
}
|
|
729
|
+
return response;
|
|
706
730
|
}
|
|
707
731
|
catch (error) {
|
|
708
732
|
if (retries <= 0) {
|
|
@@ -712,7 +736,6 @@ async function handleRetryFetch(url, requestOptions, retries, retryDelay, body,
|
|
|
712
736
|
await new Promise((resolve) => setTimeout(resolve, retryDelay));
|
|
713
737
|
}
|
|
714
738
|
}
|
|
715
|
-
return response;
|
|
716
739
|
}
|
|
717
740
|
const localStorageCache = new cache_1.Cache(new cache_1.LocalStorageStore());
|
|
718
741
|
const chromeStorageCache = new cache_1.Cache(new cache_1.ChromeStore());
|
|
@@ -478,13 +478,15 @@ export declare const getCloudV2GroupsGroupIdMemberships: import("../..").Endpoin
|
|
|
478
478
|
updateTime: string;
|
|
479
479
|
user: string;
|
|
480
480
|
role: string;
|
|
481
|
+
roles: string[];
|
|
481
482
|
}[];
|
|
482
483
|
nextPageToken: string;
|
|
483
484
|
}, undefined>;
|
|
484
485
|
/**
|
|
485
486
|
* `BETA`
|
|
486
487
|
*
|
|
487
|
-
*
|
|
488
|
+
* **Deprecated.** Use AssignGroupRole and UnassignGroupRole instead.
|
|
489
|
+
Updates the group membership for a particular group member. This action
|
|
488
490
|
requires the requester to be able to manage lower ranked members. Guest or
|
|
489
491
|
Owner ranks cannot be assigned, and a requester cannot change their own
|
|
490
492
|
rank.
|
|
@@ -505,12 +507,66 @@ export declare const patchCloudV2GroupsGroupIdMembershipsMembershipId: import(".
|
|
|
505
507
|
updateTime: string;
|
|
506
508
|
user: string;
|
|
507
509
|
role: string;
|
|
510
|
+
roles: string[];
|
|
508
511
|
}, {
|
|
509
512
|
path?: string | undefined;
|
|
510
513
|
createTime?: string | undefined;
|
|
511
514
|
updateTime?: string | undefined;
|
|
512
515
|
user?: string | undefined;
|
|
513
516
|
role?: string | undefined;
|
|
517
|
+
roles?: string[] | undefined;
|
|
518
|
+
}>;
|
|
519
|
+
/**
|
|
520
|
+
* `BETA`
|
|
521
|
+
*
|
|
522
|
+
* Assigns a specific role to a user within a group. If the user already
|
|
523
|
+
holds the specified role, no action is taken.
|
|
524
|
+
*
|
|
525
|
+
* **Scopes:** `group:write`
|
|
526
|
+
* **Engine:** Usable with HttpService
|
|
527
|
+
*
|
|
528
|
+
* @param body
|
|
529
|
+
* @param group_id The group ID.
|
|
530
|
+
* @param membership_id The membership ID.
|
|
531
|
+
*/
|
|
532
|
+
export declare const postCloudV2GroupsGroupIdMembershipsMembershipIdAssignRole: import("../..").EndpointGeneric<{
|
|
533
|
+
group_id: string;
|
|
534
|
+
membership_id: string;
|
|
535
|
+
}, {
|
|
536
|
+
path: string;
|
|
537
|
+
createTime: string;
|
|
538
|
+
updateTime: string;
|
|
539
|
+
user: string;
|
|
540
|
+
role: string;
|
|
541
|
+
roles: string[];
|
|
542
|
+
}, {
|
|
543
|
+
role: string;
|
|
544
|
+
}>;
|
|
545
|
+
/**
|
|
546
|
+
* `BETA`
|
|
547
|
+
*
|
|
548
|
+
* Unassigns a specific role from a user within a group. If the user does
|
|
549
|
+
not hold the specified role, no action is taken.
|
|
550
|
+
*
|
|
551
|
+
* **Scopes:** `group:write`
|
|
552
|
+
* **Engine:** Usable with HttpService
|
|
553
|
+
*
|
|
554
|
+
* @param body
|
|
555
|
+
* @param group_id The group ID.
|
|
556
|
+
* @param membership_id The membership ID.
|
|
557
|
+
*/
|
|
558
|
+
export declare const postCloudV2GroupsGroupIdMembershipsMembershipIdUnassignRole: import("../..").EndpointGeneric<{
|
|
559
|
+
group_id: string;
|
|
560
|
+
membership_id: string;
|
|
561
|
+
}, {
|
|
562
|
+
path: string;
|
|
563
|
+
createTime: string;
|
|
564
|
+
updateTime: string;
|
|
565
|
+
user: string;
|
|
566
|
+
role: string;
|
|
567
|
+
roles: string[];
|
|
568
|
+
}, {
|
|
569
|
+
role: string;
|
|
514
570
|
}>;
|
|
515
571
|
/**
|
|
516
572
|
* `BETA`
|
|
@@ -645,31 +701,6 @@ export declare const getCloudV2GroupsGroupIdRolesRoleId: import("../..").Endpoin
|
|
|
645
701
|
bypassSlowMode: boolean;
|
|
646
702
|
};
|
|
647
703
|
}, undefined>;
|
|
648
|
-
/**
|
|
649
|
-
* `BETA`
|
|
650
|
-
*
|
|
651
|
-
* Gets the group shout.
|
|
652
|
-
|
|
653
|
-
If a guest can view the group shout, this is always retrievable.
|
|
654
|
-
|
|
655
|
-
If a guest cannot, a member who has the permissions to view the group
|
|
656
|
-
shout, along with the `group:read` scope, will be able to read the group
|
|
657
|
-
shout.
|
|
658
|
-
*
|
|
659
|
-
* **Scopes:** `group:read`
|
|
660
|
-
* **Engine:** Usable with HttpService
|
|
661
|
-
*
|
|
662
|
-
* @param group_id The group ID.
|
|
663
|
-
*/
|
|
664
|
-
export declare const getCloudV2GroupsGroupIdShout: import("../..").EndpointGeneric<{
|
|
665
|
-
group_id: string;
|
|
666
|
-
}, {
|
|
667
|
-
path: string;
|
|
668
|
-
createTime: string;
|
|
669
|
-
updateTime: string;
|
|
670
|
-
content: string;
|
|
671
|
-
poster: string;
|
|
672
|
-
}, undefined>;
|
|
673
704
|
/**
|
|
674
705
|
* `STABLE`
|
|
675
706
|
*
|
|
@@ -2977,7 +3008,7 @@ export declare const getCloudV2UniversesUniverseIdSubscriptionProductsSubscripti
|
|
|
2977
3008
|
reason: "EXPIRATION_REASON_UNSPECIFIED" | "PRODUCT_INACTIVE" | "PRODUCT_DELETED" | "SUBSCRIBER_CANCELLED" | "SUBSCRIBER_REFUNDED" | "LAPSED";
|
|
2978
3009
|
};
|
|
2979
3010
|
purchasePlatform: "PURCHASE_PLATFORM_UNSPECIFIED" | "DESKTOP" | "MOBILE";
|
|
2980
|
-
paymentProvider: "PAYMENT_PROVIDER_UNSPECIFIED" | "STRIPE" | "APPLE" | "GOOGLE" | "ROBLOX_CREDIT";
|
|
3011
|
+
paymentProvider: "PAYMENT_PROVIDER_UNSPECIFIED" | "STRIPE" | "APPLE" | "GOOGLE" | "ROBLOX_CREDIT" | "ROBUX";
|
|
2981
3012
|
user: string;
|
|
2982
3013
|
}, undefined>;
|
|
2983
3014
|
/**
|