import {User, UserRoles} from "../../../common/entities/User"; import {IUserManager} from "../IUserManager"; export class UserManager implements IUserManager { private users = [new User(1, "developer", "developer", UserRoles.Developer), new User(2, "admin", "admin", UserRoles.Admin), new User(3, "user", "user", UserRoles.User), new User(4, "guest", "guest", UserRoles.Guest)]; public findOne(filter, cb:(error:any, result:User) => void) { return cb(null, this.users[1]); } public find(filter, cb:(error:any, result:Array) => void) { return cb(null, this.users); } public createUser(user, cb:(error:any, result:User) => void) { this.users.push(user); return cb(null, user); } public deleteUser(id:number, cb:(error:any) => void) { this.users = this.users.filter(u => u.id != id); return cb(null); } public changeRole(id:number, newRole:UserRoles, cb:(error:any, result:string) => void) { for (let i = 0; i < this.users.length; i++) { if (this.users[i].id === id) { this.users[i].role = newRole; return cb(null, "ok"); } } } public changePassword(request:any, cb:(error:any, result:string) => void) { throw new Error("not implemented"); //TODO: implement } }