Ejemplo n.º 1
0
        public HttpResponseMessage Post([FromBody] JObject username)
        {
            string user = username.GetValue("username").ToString();
            string role = username.GetValue("role").ToString();

            if (role == "User" || role == "Admin")
            {
                var dbaccess = new UserDatabaseAccess();
                if (!dbaccess.CheckUserName(user))
                {
                    return(Request.CreateResponse(HttpStatusCode.BadRequest, "NOT DONE: Username does not exist"));
                }
                else if (dbaccess.ChangeRole(user, role))
                {
                    return(Request.CreateResponse(HttpStatusCode.OK, "DONE"));
                }
                else
                {
                    return(Request.CreateResponse(HttpStatusCode.BadRequest, "NOT DONE: An error occured"));
                }
            }
            else
            {
                return(Request.CreateResponse(HttpStatusCode.BadRequest, "NOT DONE: Role does not exist"));
            }
        }
        public HttpResponseMessage Post([FromBody] string Username, string Role)
        {
            IEnumerable <string> values;

            this.Request.Headers.TryGetValues("ApiKey", out values);

            var searchFor = new List <string>();

            searchFor.Add("Admin");
            searchFor.Add("User");

            bool roleCheck = searchFor.Any(word => Role.Contains(word));

            foreach (string v in values)
            {
                if (ud.ChangeRole(v, Role) == true)
                {
                    return(Request.CreateErrorResponse(HttpStatusCode.OK, "DONE"));
                }
                else if (ud.CheckUserName(Username) == false)
                {
                    return(Request.CreateErrorResponse(HttpStatusCode.BadRequest, "NOT DONE: Username does not exist"));
                }
                else if (roleCheck == false)
                {
                    return(Request.CreateErrorResponse(HttpStatusCode.BadRequest, "NOT DONE: Role does not exist"));
                }
            }
            return(Request.CreateErrorResponse(HttpStatusCode.BadRequest, "NOT DONE: An error occurred"));
        }
        public HttpResponseMessage Post(JObject body)
        {
            string username = body.GetValue("username").ToString();
            string role     = body.GetValue("role").ToString();

            IEnumerable <string> key;

            Request.Headers.TryGetValues("ApiKey", out key);

            string APIKey = key.First();

            database.createLog("User requested /User/ChangeRole", APIKey);

            if (database.CheckUser(username) == false)
            {
                return(Request.CreateResponse(HttpStatusCode.BadRequest, "NOT DONE: Username does not exist"));
            }

            else if (role != "Admin" && role != "User")
            {
                return(Request.CreateResponse(HttpStatusCode.BadRequest, "NOT DONE: Role does not exist"));
            }

            else if (database.ChangeRole(username, role) == true)
            {
                return(Request.CreateResponse(HttpStatusCode.OK, "DONE"));
            }

            else
            {
                return(Request.CreateResponse(HttpStatusCode.BadRequest, "NOT DONE: An error occured"));
            }
        }
        public IActionResult Change([FromBody] JObject values)
        {
            string username = (string)values["username"];
            string role     = (string)values["role"];

            try {
                using (var ctx = new UserContext())
                {
                    if (role.ToLower() != "user" && role.ToLower() != "admin")
                    {
                        return(BadRequest("NOT DONE: Role does not exist"));
                    }
                    else if (UserDatabaseAccess.CheckUser(ctx, username) == false)
                    {
                        return(BadRequest("NOT DONE: Username does not exist"));
                    }
                    else
                    {
                        UserDatabaseAccess.ChangeRole(ctx, username, role);
                        return(Ok("DONE"));
                    }
                }
            }
            catch
            {
                return(BadRequest("NOT DONE: An error occured"));
            }
        }
Ejemplo n.º 5
0
        public async Task <IActionResult> UpdateRole([FromBody] User updateUser, [FromHeader] string APIKey)
        {
            try
            {
                //if (updateUser.UserName == "" || updateUser.Role == "")
                //    throw new Exception("NOT DONE: An error occured");

                var userExists = await UserDatabaseAccess.UserExists(updateUser.UserName, base._context);

                if (!userExists)
                {
                    throw new Exception("NOT DONE: Username does not exist");
                }

                var user = await UserDatabaseAccess.GetUserWithName(updateUser.UserName, base._context);

                string[] allowedRoles = { "Admin", "User" };

                if (!allowedRoles.Contains(updateUser.Role))
                {
                    throw new Exception("NOT DONE: Role does not exist");
                }

                else if (allowedRoles.Contains(updateUser.Role))
                {
                    await UserDatabaseAccess.ChangeRole(updateUser, user, _context);

                    var authUser = await UserDatabaseAccess.GetUser(APIKey, base._context);

                    string Method = this.HttpContext.Request.Method;
                    string Path   = this.HttpContext.Request.Path;
                    var    Log    = authUser.Role + " requested " + Method + " " + Path;

                    await UserDatabaseAccess.AddLog(Log, authUser, base._context);

                    return(StatusCode(200, "DONE"));
                }

                throw new Exception("NOT DONE: An error occured");
            }
            catch (Exception e)
            {
                return(StatusCode(400, e.Message));
            }
        }
 public HttpResponseMessage ChangeRole([FromBody] JObject jObject, HttpRequestMessage httpRequest)
 {
     try
     {
         string username = jObject["username"].ToString();
         Roles  newRole;
         try { newRole = (Roles)Enum.Parse(typeof(Roles), jObject["role"].ToString()); }
         catch (Exception) { return(Request.CreateResponse(HttpStatusCode.BadRequest, "NOT DONE: Role does not exist")); }
         if (!UserDatabaseAccess.UserExists(username))
         {
             return(Request.CreateResponse(HttpStatusCode.BadRequest, "NOT DONE: Username does not exist"));
         }
         if (!UserDatabaseAccess.ChangeRole(username, newRole))
         {
             return(Request.CreateResponse(HttpStatusCode.BadRequest, "NOT DONE: An error occurred"));
         }
         return(Request.CreateResponse(HttpStatusCode.OK, "DONE"));
     }
     catch (Exception e) { return(Request.CreateResponse(HttpStatusCode.BadRequest, e.Message)); }
 }
        public HttpResponseMessage Post(JObject body)
        {
            string username = body.GetValue("username").ToString();
            string role     = body.GetValue("role").ToString();

            if (role != "Admin" && role != "User")
            {
                return(Request.CreateResponse(HttpStatusCode.BadRequest, "NOT DONE: Role does not exist"));
            }
            if (userDatabase.CheckUserbyName(username) == false)
            {
                return(Request.CreateResponse(HttpStatusCode.BadRequest, "NOT DONE: Username does not exist"));
            }
            bool roleCheck = userDatabase.ChangeRole(username, role);

            if (roleCheck == false)
            {
                return(Request.CreateResponse(HttpStatusCode.BadRequest, "NOT DONE: An error occured"));
            }
            else
            {
                return(Request.CreateResponse(HttpStatusCode.OK, "DONE"));
            }
        }