thinkraz-api-sdk
Version:
橡芮科技API开发包
125 lines (114 loc) • 3.87 kB
JavaScript
const Promise = require('bluebird');
const baseClass = require('../lib/baseClass');
module.exports = class Users extends baseClass {
createUser(userObj) {
return new Promise((resolve, reject) => {
this.request().post(this.getPath(), userObj).then(user => {
resolve(user);
}).catch(err => {
reject(err);
});
});
}
updateUser(userId, updateObj, options) {
return new Promise((resolve, reject) => {
if (!options) options = {};
this.request().put(`${this.getPath()}/${userId}`, updateObj, {
where: JSON.stringify(options)
}).then(updatedUser => {
resolve(updatedUser);
}).catch(err => {
reject(err);
});
});
}
findUsers(options) {
if (!options) options = {};
return new Promise((resolve, reject) => {
this.request().get(this.getPath(), options).then(userResults => {
resolve(userResults);
}).catch(err => {
reject(err);
});
});
}
me(accessToken) {
return new Promise((resolve, reject) => {
this.request({
access: accessToken
}).get(`${this.getPath()}/me`).then(user => {
resolve(user);
}).catch(err => {
reject(err);
});
});
}
getUser(userId) {
return new Promise((resolve, reject) => {
this.request().get(`${this.getPath()}/${userId}`).then(user => {
resolve(user);
}).catch(err => {
reject(err);
});
});
}
removeUser(userId) {
return new Promise((resolve, reject) => {
this.request().del(`${this.getPath()}/${userId}`).then(deletedUser => {
resolve(deletedUser);
}).catch(err => {
reject(err);
});
});
}
refreshUserAccessToken(userId) {
return new Promise((resolve, reject) => {
this.request().put(`${this.getPath()}/refreshToken/${userId}`).then(user => {
resolve(user);
}).catch(err => {
reject(err);
});
});
}
updatePassword(userId, accessToken, newPassword, oldPassword) {
return new Promise((resolve, reject) => {
this.request({
access: accessToken
}).put(`${this.getPath()}/updatePassword/${userId}`, {
new: newPassword,
old: oldPassword ? oldPassword : undefined
}).then(user => {
resolve(user);
}).catch(err => {
reject(err);
})
});
}
login(userId) {
return new Promise((resolve, reject) => {
this.request().post(`${this.getPath()}/login/${userId}`).then(user => {
resolve(user);
}).catch(err => {
reject(err);
});
});
}
getRoles(userId) {
return new Promise((resolve, reject) => {
this.request().get(`${this.getPath()}/${userId}/roles`).then(userRoles => {
resolve(userRoles);
}).catch(err => {
reject(err);
});
});
}
validatePassword(userId, password) {
return new Promise((resolve, reject) => {
this.request().get(`${this.getPath()}/validatePassword/${userId}`, {password: password}).then(result => {
resolve(result);
}).catch(err => {
reject(err);
});
});
}
};