UNPKG

openblox

Version:

Roblox API Wrapper For Both Classic And OpenCloud APIs.

235 lines (234 loc) 10 kB
"use strict"; 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 });