Comparing version 1.1.0 to 1.1.1
@@ -10,2 +10,3 @@ declare module 'unb-api' { | ||
public version: string; | ||
public maxRetries: Number; | ||
@@ -18,3 +19,3 @@ public getUserBalance(guild_id: string, user_id: string): Promise<User>; | ||
public getGuildLeaderboard(guild_id: string): Promise<User[]>; | ||
public getGuildLeaderboard(guild_id: string, query?: Object): Promise<User[]> | Promise<{ users: User[], totalPages: Number }>; | ||
@@ -44,3 +45,4 @@ private _request(method: string, endpoint: string, data?: object): Promise<any>; | ||
version?: number; | ||
maxRetries?: Number; | ||
} | ||
} |
{ | ||
"name": "unb-api", | ||
"version": "1.1.0", | ||
"version": "1.1.1", | ||
"description": "API wrapper for UnbelievaBoat Discord Bot API", | ||
@@ -5,0 +5,0 @@ "main": "src/index.js", |
@@ -24,2 +24,3 @@ # UnbelievaBoat API | ||
client.getUserBalance(guildID, userID).then(user => console.log(user)); | ||
client.getGuildLeaderboard(guildID, { sort: 'cash' }).then(lb => console.log(lb)); | ||
``` | ||
@@ -30,2 +31,10 @@ | ||
##### Options | ||
Type | Property | Description | ||
------- | --------- | ----------- | ||
String | `baseURL?` | API hostname. Defaults to https://unbelievaboat.com/api | ||
Number | `version?` | API version. Defaults to the latest version | ||
Number | `maxRetries?` | Maximum number of times to retry a request if it's ratelimited. Defaults to 3 | ||
### Methods | ||
@@ -48,4 +57,13 @@ ``` | ||
``` | ||
getGuildLeaderboard(guild_id) | ||
getGuildLeaderboard(guild_id, [query]) | ||
``` | ||
##### JSON Query Parameters | ||
Type | Property | Description | ||
------- | --------- | ----------- | ||
String | `sort?` | Sort the leaderboard by `cash`, `bank` or `total`. Default is `total`. | ||
Number | `limit?` | Limit the number of users returned. Default is no limit, unless a page is given then it's 1000. | ||
Number | `offset?` | Specify the offset of the first user. | ||
Number | `page?` | Specify the page. If a page is given, the response will be `Promise<{ users: User[], totalPages: Number }>` | ||
Returns: `Promise<User[]>` | ||
@@ -52,0 +70,0 @@ # |
@@ -1,4 +0,3 @@ | ||
const request = require('request'); | ||
const User = require('./structures/User'); | ||
const { APIError, HTTPError } = require('./errors'); | ||
const RequestHandler = require('./RequestHandler'); | ||
@@ -12,2 +11,3 @@ class Client { | ||
* @param {?number} [options.version] - API version. Defaults to the latest version | ||
* @param {?number} [options.maxRetries] - Maximum number of times to retry a request if it's ratelimited. Defaults to 3 | ||
*/ | ||
@@ -19,2 +19,4 @@ constructor(token, options = {}) { | ||
this.version = options.version !== undefined ? 'v' + options.version : ''; | ||
this.maxRetries = options.maxRetries || 3; | ||
this.requestHandler = new RequestHandler(this); | ||
} | ||
@@ -104,30 +106,4 @@ | ||
*/ | ||
_request(method, endpoint, data = {}, query = {}) { | ||
return new Promise((resolve, reject) => { | ||
const options = { | ||
headers: { | ||
Authorization: this.token, | ||
'Content-Type': 'application/json' | ||
}, | ||
uri: `${this.baseURL}/${this.version ? `${this.version}/` : ''}${endpoint}`, | ||
method: method, | ||
json: data, | ||
qs: query | ||
}; | ||
request(options, (err, res, body) => { | ||
if (err) { | ||
return reject(err); | ||
} | ||
if (res.statusCode === 200) { | ||
resolve(body); | ||
} else { | ||
if (body && body.error) { | ||
reject(new APIError(body.message, res.statusCode, body.errors)); | ||
} else { | ||
reject(new HTTPError(res.statusMessage, res.statusCode)); | ||
} | ||
} | ||
}); | ||
}); | ||
_request(method, endpoint, data, query) { | ||
return this.requestHandler.request(method, endpoint, data, query); | ||
} | ||
@@ -134,0 +110,0 @@ } |
Major refactor
Supply chain riskPackage has recently undergone a major refactor. It may be unstable or indicate significant internal changes. Use caution when updating to versions that include significant changes.
Found 1 instance in 1 package
17785
14
350
83
0