示例#1
0
        public ReplyData user_create(IPAddress remoteIP, int remotePort, List <string> arguments, string body, string method, Dictionary <string, string> Headers)
        {
            ReplyData     data  = new ReplyData();
            users_request usreq = new users_request();

            // This specific endpoint only creates a user
            try
            {
                usreq = JsonConvert.DeserializeObject <users_request>(body);
            }
            catch (Exception e)
            {
                throw new NotImplementedException(); // if this fails then the request is malformed!
            }
            UserAccounts UA = UserAccounts.GetAccounts();

            UA.CreateAccount(usreq.user["username"], usreq.user["email"], usreq.user["password"]);
            if (UA.GetStatus())
            {
                // success return nothing
                data.Status = 200;
                data.Body   = "";
                return(data);
            }
            else
            {
                data.Status = 200;
                users_reply ur = new users_reply();
                ur.status = "fail";
                ur.data   = new Dictionary <string, string>();
                ur.data.Add("username", "already exists!");
                data.Body = JsonConvert.SerializeObject(ur);
                return(data);
            }
        }
示例#2
0
        public ReplyData get_public_key(IPAddress remoteIP, int remotePort, List <string> arguments, string body, string method, Dictionary <string, string> Headers)
        {
            ReplyData rd = new ReplyData();

            Console.WriteLine("====> Request: Get_Public_Key");

            UserAccounts UA  = UserAccounts.GetAccounts();
            string       pub = UA.GetPublicKey(arguments[0]);

            users_reply ur = new users_reply();

            if (pub == "no such users")
            {
                ur.status = "fail";
            }
            else
            {
                ur.status = "success";
            }

            ur.data = new Dictionary <string, string>();
            ur.data.Add("public_key", pub);

            rd.Status = 200;
            rd.Body   = JsonConvert.SerializeObject(ur);

            return(rd);
        }
示例#3
0
        public ReplyData user_locker_set(IPAddress remoteIP, int remotePort, List <string> arguments, string body, string method, Dictionary <string, string> Headers)
        {
            UserAccounts UA          = UserAccounts.GetAccounts();
            string       AccessToken = Headers["Authorization"].Split(new[] { ' ' })[1];

            UA.SetAccountSettings(AccessToken, body);

            users_reply ur = new users_reply();

            ur.status = "success";
            ur.data   = new Dictionary <string, string>();
            ReplyData rd = new ReplyData();

            rd.Status = 200;
            rd.Body   = JsonConvert.SerializeObject(ur);
            return(rd);
        }