private async Task <string[]> downloadPrivateKeys(string user, string id)
        {
            String      s      = String.Format("MATCH (a:doctor) WHERE a.username='******' RETURN a", user);
            queryObject query1 = new queryObject(s);

            string[] results = new string[10];
            // TODO: Authorisation check

            string output = await query1.cypherPOST(sharedClient);

            Debug.WriteLine(output);
            query1.parseFromData(output, new string[] { "privateKey", String.Format("keyfor{0}", id) }, out results);
            return(results);
        }
        private async Task <string> fetchPatientId(string user)
        {
            String      s      = String.Format("MATCH (a:patient) WHERE a.username='******' RETURN id(a)", user);
            queryObject query1 = new queryObject(s);

            string[] results = new string[10];
            // TODO: Authorisation check

            string output = await query1.cypherPOST(sharedClient);

            Debug.WriteLine(output);
            query1.parseFromData(output, new string[] { "data" }, out results, true);
            return(results[0]);
        }
        private async Task <string[]> saltHashPrivate(string user)
        {
            String      s      = String.Format("MATCH(a:doctor) WHERE a.username = \"{0}\" RETURN a", user);
            queryObject query1 = new queryObject(s);

            string[] results = new string[10];
            if (authorised)
            {
                string output = await query1.cypherPOST(client);

                query1.parseFromData(output, new string[] { "salt", "password", "privateKey" }, out results);
                Debug.WriteLine(output);
                return(results);
            }
            return(results);
        }