UNPKG

psn-api

Version:

A well-tested library that lets you get trophy, user, and game data from the PlayStation Network.

43 lines (37 loc) 1.4 kB
import type { AllCallOptions, AuthorizationPayload, BasicPresenceResponse } from "../models"; import { buildRequestUrl } from "../utils/buildRequestUrl"; import { call } from "../utils/call"; import { USER_BASE_URL } from "./USER_BASE_URL"; type GetBasicPresenceOptions = Pick<AllCallOptions, "headerOverrides">; /** * A call to this function will retrieve the basic presence information of the accountId being requested. * If the account's profile cannot be found (either due to non-existence or privacy settings), * an error will be thrown. * * @param authorization An object containing your access token, typically retrieved with `exchangeAccessCodeForAuthTokens()`. * @param accountId The accountId for the user you wish to retrieve a profile for. * @param options Optional - Additional headerOverride options to provide for the request */ export const getBasicPresence = async ( authorization: AuthorizationPayload, accountId: string, options?: GetBasicPresenceOptions ): Promise<BasicPresenceResponse> => { const url = buildRequestUrl( USER_BASE_URL, "/:accountId/basicPresences?type=primary", options, { accountId } ); const response = await call<BasicPresenceResponse>({ url }, authorization); if ((response as any)?.error) { throw new Error((response as any)?.error?.message ?? "Unexpected Error"); } return response; };