| 26 | } |
| 27 | |
| 28 | @Override |
| 29 | protected boolean run() { |
| 30 | final String name = args[0], newname = args[1]; |
| 31 | if(!Databases.validName(name)) return error(NAME_INVALID_X, name); |
| 32 | if(!Databases.validName(newname)) return error(NAME_INVALID_X, newname); |
| 33 | if(Strings.eq(UserText.ADMIN, name, newname)) return error(ADMIN_STATIC); |
| 34 | |
| 35 | final Users users = context.users; |
| 36 | final User user = users.get(name); |
| 37 | if(user == null) return error(UNKNOWN_USER_X, name); |
| 38 | if(users.get(newname) != null) return error(USER_EXISTS_X, newname); |
| 39 | |
| 40 | users.alter(user, newname); |
| 41 | users.write(); |
| 42 | return info(USER_RENAMED_X_X, name, newname); |
| 43 | } |
| 44 | |
| 45 | @Override |
| 46 | public void build(final CmdBuilder cb) { |