UNPKG

quria

Version:

A user-friendly Destiny 2 API Wrapper written with TypeScript and approved by -Axis Minds- Oryx.

108 lines (105 loc) 6.28 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.User = void 0; const adapters_1 = require("../../adapters"); class User { url; headers; constructor(url, headers) { this.url = url; this.headers = headers; } /** * Loads a bungienet user by membership id. * @param id The requested Bungie.net membership id. * @returns Loads a bungienet user by membership id. */ GetBungieNetUserById(id, tokens) { const requestURL = `${this.url}/User/GetBungieNetUserById/${id}/`; const authHeaders = (0, adapters_1.parseAuthenticationHeaders)(this.headers, tokens); return adapters_1.Controller.request(requestURL, true, "GET", authHeaders); } /** * Gets a list of all display names linked to this membership id but sanitized (profanity filtered). Obeys all visibility rules of calling user and is heavily cached. * @param membershipId The requested membership id to load. * @returns Gets a list of all display names linked to this membership id but sanitized (profanity filtered). Obeys all visibility rules of calling user and is heavily cached. */ GetSanitizedPlatformDisplayNames(membershipId, tokens) { const requestURL = `${this.url}/User/GetSanitizedPlatformDisplayNames/${membershipId}/`; const authHeaders = (0, adapters_1.parseAuthenticationHeaders)(this.headers, tokens); return adapters_1.Controller.request(requestURL, true, "GET", authHeaders); } /** * Returns a list of credential types attached to the requested account * @param membershipId The user's membership id * @returns Returns a list of credential types attached to the requested account */ GetCredentialTypesForTargetAccount(membershipId, tokens) { const requestURL = `${this.url}/User/GetCredentialTypesForTargetAccount/${membershipId}/`; const authHeaders = (0, adapters_1.parseAuthenticationHeaders)(this.headers, tokens); return adapters_1.Controller.request(requestURL, true, "GET", authHeaders); } /** * Returns a list of all available user themes. * @returns Returns a list of all available user themes. */ GetAvailableThemes(tokens) { const requestURL = `${this.url}/User/GetAvailableThemes/`; const authHeaders = (0, adapters_1.parseAuthenticationHeaders)(this.headers, tokens); return adapters_1.Controller.request(requestURL, true, "GET", authHeaders); } /** * Returns a list of accounts associated with the supplied membership ID and membership type. This will include all linked accounts (even when hidden) if supplied credentials permit it. * @param membershipId The membership ID of the target user. * @param membershipType Type of the supplied membership ID. * @returns Returns a list of accounts associated with the supplied membership ID and membership type. This will include all linked accounts (even when hidden) if supplied credentials permit it. */ GetMembershipDataById(membershipId, membershipType, tokens) { const requestURL = `${this.url}/User/GetMembershipsById/${membershipId}/${membershipType}/`; const authHeaders = (0, adapters_1.parseAuthenticationHeaders)(this.headers, tokens); return adapters_1.Controller.request(requestURL, true, "GET", authHeaders); } /** * Returns a list of accounts associated with signed in user. This is useful for OAuth implementations that do not give you access to the token response. * @returns Returns a list of accounts associated with signed in user. This is useful for OAuth implementations that do not give you access to the token response. */ GetMembershipDataForCurrentUser(tokens) { const requestURL = `${this.url}/User/GetMembershipsForCurrentUser/`; const authHeaders = (0, adapters_1.parseAuthenticationHeaders)(this.headers, tokens); return adapters_1.Controller.request(requestURL, true, "GET", authHeaders); } /** * Gets any hard linked membership given a credential. Only works for credentials that are public (just SteamID64 right now). Cross Save aware. * @param credential The credential to look up. Must be a valid SteamID64. * @param crType The credential type. 'SteamId' is the only valid value at present. * @returns Gets any hard linked membership given a credential. Only works for credentials that are public (just SteamID64 right now). Cross Save aware. */ GetMembershipFromHardLinkedCredential(credential, crType, tokens) { const requestURL = `${this.url}/User/GetMembershipFromHardLinkedCredential/${crType}/${credential}/`; const authHeaders = (0, adapters_1.parseAuthenticationHeaders)(this.headers, tokens); return adapters_1.Controller.request(requestURL, true, "GET", authHeaders); } /** * [OBSOLETE] Do not use this to search users, use SearchByGlobalNamePost instead. * @param displayNamePrefix The display name prefix you're looking for. * @param page The zero-based page of results you desire. * @returns [OBSOLETE] Do not use this to search users, use SearchByGlobalNamePost instead. */ SearchByGlobalNamePrefix(displayNamePrefix, page, tokens) { const requestURL = `${this.url}/User/Search/Prefix/${displayNamePrefix}/${page}/`; const authHeaders = (0, adapters_1.parseAuthenticationHeaders)(this.headers, tokens); return adapters_1.Controller.request(requestURL, true, "GET", authHeaders); } /** * Given the prefix of a global display name, returns all users who share that name. * @param page The zero-based page of results you desire. * @returns Given the prefix of a global display name, returns all users who share that name. */ SearchByGlobalNamePost(page, displayNamePrefix, tokens) { const requestURL = `${this.url}/User/Search/GlobalName/${page}/`; const authHeaders = (0, adapters_1.parseAuthenticationHeaders)(this.headers, tokens); const bodyParams = { displayNamePrefix }; return adapters_1.Controller.request(requestURL, true, "POST", authHeaders, JSON.stringify(bodyParams)); } } exports.User = User;