aboutsummaryrefslogtreecommitdiff
path: root/ShiftOS_TheReturn/UserManagementCommands.cs
diff options
context:
space:
mode:
authorMichael VanOverbeek <[email protected]>2017-05-21 12:29:53 +0000
committerMichael VanOverbeek <[email protected]>2017-05-21 12:29:53 +0000
commit76b54853ba726179f9fddb30c6f838991b7aa71a (patch)
tree8713f45ce26958659e3f4e507d73ecabebabfe49 /ShiftOS_TheReturn/UserManagementCommands.cs
parent31cc9148dd23737df16d8456a42d003cd31dd488 (diff)
downloadshiftos_thereturn-76b54853ba726179f9fddb30c6f838991b7aa71a.tar.gz
shiftos_thereturn-76b54853ba726179f9fddb30c6f838991b7aa71a.tar.bz2
shiftos_thereturn-76b54853ba726179f9fddb30c6f838991b7aa71a.zip
Merge a fuckton of shit.
Diffstat (limited to 'ShiftOS_TheReturn/UserManagementCommands.cs')
-rw-r--r--ShiftOS_TheReturn/UserManagementCommands.cs201
1 files changed, 0 insertions, 201 deletions
diff --git a/ShiftOS_TheReturn/UserManagementCommands.cs b/ShiftOS_TheReturn/UserManagementCommands.cs
deleted file mode 100644
index 5702e08..0000000
--- a/ShiftOS_TheReturn/UserManagementCommands.cs
+++ /dev/null
@@ -1,201 +0,0 @@
-using System;
-using System.Collections.Generic;
-using System.Linq;
-using System.Text;
-using System.Threading.Tasks;
-using ShiftOS.Objects;
-
-namespace ShiftOS.Engine
-{
- [Namespace("admin")]
- [KernelMode]
- [RequiresUpgrade("mud_fundamentals")]
- public static class AdminUserManagementCommands
- {
- [Command("add", description = "Add a user to the system.", usage ="name:")]
- [RequiresArgument("name")]
- public static bool AddUser(Dictionary<string, object> args)
- {
- string name = args["name"].ToString();
- if(SaveSystem.CurrentSave.Users.FirstOrDefault(x=>x.Username==name) != null)
- {
- Console.WriteLine("Error: User already exists.");
- return true;
- }
-
- var user = new ClientSave
- {
- Username = name,
- Password = "",
- Permissions = UserPermissions.User
- };
- SaveSystem.CurrentSave.Users.Add(user);
- Console.WriteLine($"Creating new user \"{name}\" with no password and User permissions.");
- SaveSystem.SaveGame();
- return true;
- }
-
- [Command("remove", description = "Remove a user from the system.", usage = "name:")]
- [RequiresArgument("name")]
- public static bool RemoveUser(Dictionary<string, object> args)
- {
- string name = args["name"].ToString();
- if (SaveSystem.CurrentSave.Users.FirstOrDefault(x => x.Username == name) == null)
- {
- Console.WriteLine("Error: User doesn't exist.");
- return true;
- }
-
- var user = SaveSystem.CurrentSave.Users.FirstOrDefault(x => x.Username == name);
- if(user.Username != SaveSystem.CurrentUser.Username)
- {
- Console.WriteLine("Error: Cannot remove yourself.");
- return true;
- }
- SaveSystem.CurrentSave.Users.Remove(user);
- Console.WriteLine($"Removing user \"{name}\" from system...");
- SaveSystem.SaveGame();
- return true;
- }
-
-
-
-
- [Command("set_acl")]
- [RequiresArgument("user")]
- [RequiresArgument("val")]
- public static bool SetUserPermission(Dictionary<string, object> args)
- {
- int permission = 0;
- string username = args["user"].ToString();
- try
- {
- permission = Convert.ToInt32(args["val"].ToString());
- }
- catch
- {
- Console.WriteLine("Error: Permission value must be an integer.");
- return true;
- }
-
- if(SaveSystem.CurrentSave.Users.FirstOrDefault(x=>x.Username==username) == null)
- {
- Console.WriteLine("Error: User not found.");
- return true;
- }
-
- UserPermissions uperm = UserPermissions.Guest;
-
- switch (permission)
- {
- case 0:
- uperm = UserPermissions.Guest;
- break;
- case 1:
- uperm = UserPermissions.User;
- break;
- case 2:
- uperm = UserPermissions.Admin;
- break;
- case 3:
- uperm = UserPermissions.Root;
- break;
- default:
- Console.WriteLine("Permission value must be between 0 and 4.");
- return true;
- }
-
- //Permissions are backwards... oops...
- if(uperm < SaveSystem.CurrentUser.Permissions)
- {
- Console.WriteLine("Error: Cannot set user permissions to values greater than your own!");
- return true;
- }
-
- var oldperm = SaveSystem.Users.FirstOrDefault(x => x.Username == username).Permissions;
- if (SaveSystem.CurrentUser.Permissions > oldperm)
- {
- Console.WriteLine("Error: Can't set the permission of this user. They have more rights than you.");
- return true;
- }
-
- SaveSystem.CurrentSave.Users.FirstOrDefault(x => x.Username == username).Permissions = uperm;
- Console.WriteLine("User permissions updated.");
- return true;
- }
-
-
- [Command("users", description = "Get a list of all users on the system.")]
- public static bool GetUsers()
- {
- foreach (var u in SaveSystem.CurrentSave.Users)
- {
- if (u.Username == SaveSystem.CurrentUser.Username)
- {
- ConsoleEx.ForegroundColor = ConsoleColor.Magenta;
- ConsoleEx.Bold = true;
- }
- else
- {
- ConsoleEx.ForegroundColor = ConsoleColor.Gray;
- ConsoleEx.Bold = false;
- }
- Console.WriteLine(u.Username);
- }
- return true;
- }
- }
-
- [Namespace("user")]
- [RequiresUpgrade("mud_fundamentals")]
- public static class UserManagementCommands
- {
- [Command("login", description = "Log in as another user.")]
- [RequiresArgument("user")]
- [RequiresArgument("pass")]
- public static bool Login(Dictionary<string, object> args)
- {
- string user = args["user"].ToString();
- string pass = args["pass"].ToString();
-
- var usr = SaveSystem.CurrentSave.Users.FirstOrDefault(x => x.Username == user);
- if(usr==null)
- {
- Console.WriteLine("Error: No such user.");
- return true;
- }
-
- if (usr.Password != pass)
- {
- Console.WriteLine("Access denied.");
- return true;
- }
-
- SaveSystem.CurrentUser = usr;
- Console.WriteLine("Access granted.");
- return true;
- }
-
- [Command("setpass", description ="Allows you to set your password to a new value.", usage ="old:,new:")]
- [RequiresArgument("old")]
- [RequiresArgument("new")]
- public static bool SetPassword(Dictionary<string, object> args)
- {
- string old = args["old"].ToString();
- string newpass = args["new"].ToString();
-
- if(old == SaveSystem.CurrentUser.Password)
- {
- SaveSystem.CurrentUser.Password = newpass;
- SaveSystem.CurrentSave.Users.FirstOrDefault(x => x.Username == SaveSystem.CurrentUser.Username).Password = newpass;
- Console.WriteLine("Password set successfully.");
- SaveSystem.SaveGame();
- }
- else
- {
- Console.WriteLine("Passwords do not match.");
- }
- return true;
- }
- }
-}