Skip to content

Commit d4e85f4

Browse files
committedApr 4, 2020
Implement getOwnership method
1 parent b2287f5 commit d4e85f4

File tree

2 files changed

+45
-0
lines changed

2 files changed

+45
-0
lines changed
 

‎lib/user/getOwnership.js

+39
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,39 @@
1+
// Includes
2+
var http = require('../util/http.js').func
3+
4+
// Args
5+
exports.required = ['userId', 'assetId']
6+
exports.optional = []
7+
8+
// Define
9+
function getOwnership (userId, assetId) {
10+
return new Promise((resolve, reject) => {
11+
var httpOpt = {
12+
url: `//api.roblox.com/ownership/hasasset?userId=${userId}&assetId=${assetId}`,
13+
options: {
14+
method: 'GET',
15+
resolveWithFullResponse: true
16+
}
17+
}
18+
return http(httpOpt)
19+
.then(function (res) {
20+
if (res.statusCode === 200) {
21+
resolve(res.body === 'true')
22+
} else {
23+
const body = JSON.parse(res.body) || {}
24+
if (body.errors && body.errors.length > 0) {
25+
var errors = body.errors.map((e) => {
26+
return e.message
27+
})
28+
reject(new Error(`${res.statusCode} ${errors.join(', ')}`))
29+
} else {
30+
reject(new Error(`${res.statusCode} ${res.body}`))
31+
}
32+
}
33+
})
34+
})
35+
}
36+
37+
exports.func = function (args) {
38+
return getOwnership(args.userId, args.assetId)
39+
}

‎typings/index.d.ts

+6
Original file line numberDiff line numberDiff line change
@@ -1054,6 +1054,12 @@ declare module "noblox.js" {
10541054
*/
10551055
function getMessages(pageNumber?: number, pageSize?: number, messageTab?: 'Archive' | 'Inbox' | 'Sent', jar?: CookieJar): Promise<PrivateMessagesPage>;
10561056

1057+
1058+
/**
1059+
* Returns whether a user owns an asset or not
1060+
*/
1061+
function getOwnership(userId: number, assetId: number): Promise<boolean>;
1062+
10571063
/**
10581064
* Gets a brief overview of a user.
10591065
*/

0 commit comments

Comments
 (0)