openblox
Version:
Roblox API Wrapper For Both Classic And OpenCloud APIs.
235 lines (234 loc) • 10 kB
JavaScript
var __defProp = Object.defineProperty;
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
var __getOwnPropNames = Object.getOwnPropertyNames;
var __hasOwnProp = Object.prototype.hasOwnProperty;
var __export = (target, all) => {
for (var name in all)
__defProp(target, name, { get: all[name], enumerable: true });
};
var __copyProps = (to, from, except, desc) => {
if (from && typeof from === "object" || typeof from === "function") {
for (let key of __getOwnPropNames(from))
if (!__hasOwnProp.call(to, key) && key !== except)
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
}
return to;
};
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
var friends_exports = {};
__export(friends_exports, {
authenticatedUserAcceptFriendRequest: () => authenticatedUserAcceptFriendRequest,
authenticatedUserDeclineAllFriendRequests: () => authenticatedUserDeclineAllFriendRequests,
authenticatedUserDeclineFriendRequest: () => authenticatedUserDeclineFriendRequest,
authenticatedUserFollowingsExist: () => authenticatedUserFollowingsExist,
authenticatedUserFriendRequests: () => authenticatedUserFriendRequests,
authenticatedUserFriendRequestsCount: () => authenticatedUserFriendRequestsCount,
authenticatedUserFriendsCount: () => authenticatedUserFriendsCount,
authenticatedUserRequestFriendship: () => authenticatedUserRequestFriendship,
authenticatedUserUnfriend: () => authenticatedUserUnfriend,
findFriends: () => findFriends,
friendsCount: () => friendsCount,
friendsList: () => friendsList,
friendsMetadata: () => friendsMetadata,
friendsSearch: () => friendsSearch,
friendsStatuses: () => friendsStatuses,
inactiveFriends: () => inactiveFriends,
onlineFriends: () => onlineFriends,
userFollowers: () => userFollowers,
userFollowersCount: () => userFollowersCount,
userFollowings: () => userFollowings,
userFollowingsCount: () => userFollowingsCount
});
module.exports = __toCommonJS(friends_exports);
var import_apiGroup = require("../../apiGroup");
var import_utils = require("../../../utils/utils");
const { createApiMethod } = (0, import_apiGroup.createApiGroup)({ name: "ClassicFriends", baseUrl: "https://friends.roblox.com" });
const userSortNameToId = {
Alphabetical: 0,
StatusAlphabetical: 1,
StatusFrequents: 2
};
const friendshipOriginSourceTypeNameToId = {
Unknown: 0,
PlayerSearch: 1,
QrCode: 2,
InGame: 3,
UserProfile: 4,
QqContactImporter: 5,
WeChatContactImporter: 6,
ProfileShare: 7,
PhoneContactImporter: 8,
FriendRecommendations: 9
};
const friendsMetadata = createApiMethod(async () => ({
path: `/v1/metadata`,
method: "GET",
name: "friendsMetadata"
}));
const authenticatedUserFriendsCount = createApiMethod(async () => ({
path: `/v1/my/friends/count`,
method: "GET",
name: "authenticatedUserFriendsCount",
formatRawDataFn: ({ count }) => count
}));
const authenticatedUserFriendRequests = createApiMethod(async ({ limit, sortOrder, cursor }) => ({
path: `/v1/my/friends/requests`,
method: "GET",
searchParams: { limit, sortOrder, cursor },
name: "authenticatedUserFriendRequests",
formatRawDataFn: ({ data }) => data.map((requestData) => (0, import_utils.cloneAndMutateObject)(requestData, (obj) => {
const friendRequest = obj.friendRequest;
friendRequest.sentAt = new Date(friendRequest.sentAt);
obj.created = new Date(obj.created);
}))
}));
const authenticatedUserFriendRequestsCount = createApiMethod(async () => ({
path: `/v1/user/friend-requests/count`,
method: "GET",
name: "authenticatedUserFriendRequestsCount",
formatRawDataFn: ({ count }) => count
}));
const friendsList = createApiMethod(async ({ userId, userSort }) => ({
path: `/v1/users/${userId}/friends`,
method: "GET",
searchParams: { userSort: userSort ? userSortNameToId[userSort] : void 0 },
name: "friendsList",
formatRawDataFn: ({ data }) => data.map((friendData) => (0, import_utils.cloneAndMutateObject)(friendData, (obj) => {
obj.created = new Date(obj.created);
}))
}));
const friendsCount = createApiMethod(async ({ userId }) => ({
path: `/v1/users/${userId}/friends/count`,
method: "GET",
name: "friendsCount",
formatRawDataFn: ({ count }) => count
}));
const findFriends = createApiMethod(async ({ userId, userSort, limit, cursor }) => ({
path: `/v1/users/${userId}/friends/find`,
method: "GET",
searchParams: { userSort: userSort ? userSortNameToId[userSort] : void 0, limit, cursor },
name: "findFriends",
formatRawDataFn: ({ PageItems: pageItems }) => pageItems,
getCursorsFn: ({ PreviousCursor: previousCursor, NextCursor: nextCursor }) => [previousCursor, nextCursor]
}));
const inactiveFriends = createApiMethod(async ({ userId }) => ({
method: "GET",
path: `/v1/users/${userId}/friends/inactive`,
name: `inactiveFriends`,
formatRawDataFn: ({ data }) => data.map((inactiveFriend) => (0, import_utils.cloneAndMutateObject)(inactiveFriend, (obj) => obj.created = new Date(obj.created)))
}));
const onlineFriends = createApiMethod(async ({ userId, userSort }) => ({
method: "GET",
path: `/v1/users/${userId}/friends/online`,
searchParams: { userSort: userSort ? userSortNameToId[userSort] : void 0 },
name: `onlineFriends`,
formatRawDataFn: ({ data }) => data.map((onlineFriend) => (0, import_utils.cloneAndMutateObject)(onlineFriend, ({ userPresence }) => {
userPresence.userPresenceType = userPresence.UserPresenceType;
delete userPresence.UserPresenceType;
userPresence.userLocationType = userPresence.UserLocationType;
delete userPresence.UserLocationType;
userPresence.lastOnline = new Date(userPresence.lastOnline);
}))
}));
const friendsSearch = createApiMethod(async ({ userId, query, userSort, limit, cursor }) => ({
method: "GET",
path: `/v1/users/${userId}/friends/search`,
searchParams: { query, userSort: userSort ? userSortNameToId[userSort] : void 0, limit, cursor },
name: `friendsSearch`,
formatRawDataFn: ({ PageItems }) => PageItems,
getCursorsFn: ({ PreviousCursor, NextCursor }) => [PreviousCursor, NextCursor]
}));
const friendsStatuses = createApiMethod(async ({ userId, relatedUserIds }) => ({
method: "GET",
path: `/v1/users/${userId}/friends/statuses`,
searchParams: { userIds: relatedUserIds },
name: `friendsStatuses`,
formatRawDataFn: ({ data }) => (0, import_utils.createObjectMapByKeyWithMiddleware)(data, "id", ({ status }) => status)
}));
const authenticatedUserDeclineAllFriendRequests = createApiMethod(async () => ({
method: "POST",
path: `/v1/user/friend-requests/decline-all`,
name: `authenticatedUserDeclineAllFriendRequests`,
formatRawDataFn: (rawData) => (0, import_utils.dataIsSuccess)(rawData)
}));
const authenticatedUserAcceptFriendRequest = createApiMethod(async ({ userId }) => ({
method: "POST",
path: `/v1/users/${userId}/accept-friend-request`,
name: `authenticatedUserAcceptFriendRequest`,
formatRawDataFn: (rawData) => (0, import_utils.dataIsSuccess)(rawData)
}));
const authenticatedUserDeclineFriendRequest = createApiMethod(async ({ requesterUserId }) => ({
method: "POST",
path: `/v1/users/${requesterUserId}/decline-friend-request`,
name: `authenticatedUserAcceptFriendRequest`,
formatRawDataFn: (rawData) => (0, import_utils.dataIsSuccess)(rawData)
}));
const authenticatedUserRequestFriendship = createApiMethod(async ({ userId, originSourceType }) => ({
method: "POST",
path: `/v1/users/${userId}/request-friendship`,
body: { friendshipOriginSourceType: originSourceType ? friendshipOriginSourceTypeNameToId[originSourceType] : 0 },
name: `authenticatedUserRequestFriendship`
}));
const authenticatedUserUnfriend = createApiMethod(async ({ userId }) => ({
method: "POST",
path: `/v1/users/${userId}/unfriend`,
name: `authenticatedUserUnfriend`,
formatRawDataFn: (rawData) => (0, import_utils.dataIsSuccess)(rawData)
}));
const userFollowers = createApiMethod(async ({ userId, limit, sortOrder, cursor }) => ({
method: "GET",
path: `/v1/users/${userId}/followers`,
searchParams: { limit, sortOrder, cursor },
name: "userFollowers",
formatRawDataFn: ({ data }) => data.map((follower) => (0, import_utils.cloneAndMutateObject)(follower, (obj) => obj.created = new Date(obj.created)))
}));
const userFollowersCount = createApiMethod(async ({ userId }) => ({
path: `/v1/users/${userId}/followers/count`,
method: "GET",
name: "userFollowersCount",
formatRawDataFn: ({ count }) => count
}));
const userFollowings = createApiMethod(async ({ userId, limit, sortOrder, cursor }) => ({
method: "GET",
path: `/v1/users/${userId}/followings`,
searchParams: { limit, sortOrder, cursor },
name: `userFollowings`
}));
const userFollowingsCount = createApiMethod(async ({ userId }) => ({
method: "GET",
path: `/v1/users/${userId}/followings/count`,
name: `userFollowingsCount`,
formatRawDataFn: ({ count }) => count
}));
const authenticatedUserFollowingsExist = createApiMethod(async ({ userIds }) => ({
method: "POST",
path: `/v1/user/following-exists`,
body: { targetUserIds: userIds },
name: `authenticatedUserFollowingsExist`,
formatRawDataFn: ({ followings }) => (0, import_utils.createObjectMapByKeyWithMiddleware)(followings, "userId", ({ userId, ...rest }) => ({ ...rest }))
}));
// Annotate the CommonJS export names for ESM import in node:
0 && (module.exports = {
authenticatedUserAcceptFriendRequest,
authenticatedUserDeclineAllFriendRequests,
authenticatedUserDeclineFriendRequest,
authenticatedUserFollowingsExist,
authenticatedUserFriendRequests,
authenticatedUserFriendRequestsCount,
authenticatedUserFriendsCount,
authenticatedUserRequestFriendship,
authenticatedUserUnfriend,
findFriends,
friendsCount,
friendsList,
friendsMetadata,
friendsSearch,
friendsStatuses,
inactiveFriends,
onlineFriends,
userFollowers,
userFollowersCount,
userFollowings,
userFollowingsCount
});
;