UNPKG

@oceans/cli

Version:

work for oceans

51 lines (42 loc) 1.1 kB
const Base = require('./base') const { merge } = require('../common/utils') const { LOGIN_TOKEN_EXPIRED } = require('../config') class Account extends Base { constructor () { super('account', { username: '', domain: '', expired: new Date().getTime() + LOGIN_TOKEN_EXPIRED, loginTime: new Date(), token: '' }) } refreshUser (username, userInfo) { return new Promise((resolve, reject) => { const info = merge(this.struct, userInfo) this.db.update({ username }, info, { upsert: true }, (err, rs) => { if (err) { reject(err) return false } resolve(rs) }) }) } findTheLastActiveAccount () { return new Promise((resolve, reject) => { this.db.find({}) .projection({ password: 0 }) .sort({ loginTime: -1 }) .limit(1).exec((err, docs) => { if (err) { reject(err) return false } resolve(docs.length > 0 ? docs[0] : null) }) }) } } Account.AccountKey = 'active' module.exports = Account