UNPKG

thinkraz-api-sdk

Version:

橡芮科技API开发包

125 lines (114 loc) 3.87 kB
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); }); }); } };