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
JavaScript
"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;