UNPKG

nodefony

Version:
49 lines (45 loc) 1.27 kB
module.exports = nodefony.registerProvider("userProvider", () => { const Provider = class userProvider extends nodefony.userEntityProvider { constructor (name, manager, config) { super(name, manager, config); this.property = {}; } loadUserByUsername (username) { this.property[this.userProperty] = username; if (!this.userEntity) { this.userEntity = this.getEntity(); } return this.userEntity.findOne({ where: this.property }).then((user) => { if (user) { return this.refreshUser(user); } throw new nodefony.Error(`User : ${username} not Found`, 404); }) .catch((error) => { throw error; }); } refreshUser (user) { const serialize = user.get(); return new nodefony.User( serialize.username, serialize.password, serialize.roles, serialize.lang, serialize.enabled, serialize.userNonExpired, serialize.credentialsNonExpired, serialize.accountNonLocked, serialize.name, serialize.surname, serialize.email, serialize.gender, serialize.url, serialize.image ); } }; return Provider; });