const base = require("../base");
const ripe = base.ripe;
/**
* Retrieves the complete set of account data to the current session.
*
* @param {Object} options An object of options to configure the request.
* @param {Function} callback Function with the result of the request.
* @returns {XMLHttpRequest} The XMLHttpRequest instance of the API request.
*/
ripe.Ripe.prototype.accountMe = function(options, callback) {
callback = typeof options === "function" ? options : callback;
options = typeof options === "function" || options === undefined ? {} : options;
const url = `${this.url}accounts/me`;
options = Object.assign(options, {
url: url,
method: "GET",
auth: true
});
options = this._build(options);
return this._cacheURL(options.url, options, callback);
};
/**
* Retrieves the complete set of account data to the current session.
*
* @param {Object} options An object of options to configure the request.
* @param {Function} callback Function with the result of the request.
* @returns {Promise} Resulting information for the callback execution.
*/
ripe.Ripe.prototype.accountMeP = function(options) {
return new Promise((resolve, reject) => {
this.accountMe(options, (result, isValid, request) => {
isValid ? resolve(result) : reject(new ripe.RemoteError(request, null, result));
});
});
};
/**
* Retrieves the complete set of tenancy account data to the current session.
*
* @param {Object} options An object of options to configure the request.
* @param {Function} callback Function with the result of the request.
* @returns {XMLHttpRequest} The XMLHttpRequest instance of the API request.
*/
ripe.Ripe.prototype.tenancyAccountMe = function(options, callback) {
callback = typeof options === "function" ? options : callback;
options = typeof options === "function" || options === undefined ? {} : options;
const url = `${this.url}accounts/me/tenancy`;
options = Object.assign(options, {
url: url,
method: "GET",
auth: true
});
options = this._build(options);
return this._cacheURL(options.url, options, callback);
};
/**
* Retrieves the complete set of tenancy account data to the current session.
*
* @param {Object} options An object of options to configure the request.
* @param {Function} callback Function with the result of the request.
* @returns {Promise} Resulting information for the callback execution.
*/
ripe.Ripe.prototype.tenancyAccountMeP = function(options) {
return new Promise((resolve, reject) => {
this.tenancyAccountMe(options, (result, isValid, request) => {
isValid ? resolve(result) : reject(new ripe.RemoteError(request, null, result));
});
});
};