@builton/core-sdk
Version:
Builton JavaScript SDK.
71 lines (63 loc) • 1.5 kB
JavaScript
const Component = require('./_objects');
const Order = require('./order');
const Subscription = require('./subscription');
const {
del,
get,
refresh,
update,
} = require('./_methods');
class User extends Component {
constructor(request, props) {
super(request, props, [del, get, refresh, update]);
this.apiPath = 'users';
if (!this.id) {
this.id = 'me';
}
}
getOrders({
page, size, urlParams, json = false,
} = {}, done) {
return this.paginate({
page,
size,
type: 'get',
id: this.id,
resource: 'orders',
urlParams,
ResConstructor: Order,
json,
}, done);
}
getRating({ urlParams } = {}, done) {
return this.query({
type: 'get',
id: this.id,
resource: 'ratings',
urlParams,
ResConstructor: null,
}, done);
}
setRating(body, { urlParams } = {}, done) {
return this.query({
type: 'put', id: this.id, resource: 'ratings', body, urlParams, ResConstructor: null,
}, done);
}
updateAddresses(body, { urlParams } = {}, done) {
return this.query({
type: 'put', id: this.id, resource: 'addresses', body, urlParams, ResConstructor: null,
}, done);
}
getSubscriptions({ page, size, urlParams } = {}, done) {
return this.paginate({
page,
size,
type: 'get',
id: this.id,
resource: 'subscriptions',
urlParams,
ResConstructor: Subscription,
}, done);
}
}
module.exports = User;