private void btnAdminUserToggleToopherEnabled_Click(object sender, EventArgs e) { try { if (adminUserIsKnown) { ToopherSettings settings = new ToopherSettings(); Toopher.ToopherAPI api = new Toopher.ToopherAPI(settings.ToopherConsumerKey, settings.ToopherConsumerSecret, baseUrl: settings.ToopherBaseUrl); api.SetToopherEnabledForUser(adminUserName, !adminUserEnabled); } } finally { loadUserPairingStatus(); } }
private void btnTestApiCreds_Click(object sender, EventArgs e) { Toopher.ToopherAPI api = new Toopher.ToopherAPI(tbApiKey.Text, tbApiSecret.Text, baseUrl: tbApiUrl.Text); AsyncLoggableJob job = new AsyncLoggableJob(new TestApiJob(api)); LogUI form = new LogUI(job); try { this.Enabled = false; form.ShowDialog(); } finally { this.Enabled = true; } }
private void loadUserPairingStatus() { if (this.InvokeRequired) { this.Invoke((Action) delegate { loadUserPairingStatus(); }); } else { adminUserName = tbAdminUsername.Text.ToLower(); ToopherSettings settings = new ToopherSettings(); Toopher.ToopherAPI api = new Toopher.ToopherAPI(settings.ToopherConsumerKey, settings.ToopherConsumerSecret, baseUrl: settings.ToopherBaseUrl); adminUserIsKnown = false; adminUserPaired = false; adminUserEnabled = false; try { IDictionary <string, object> userData = api.SearchForUser(adminUserName); adminUserPairings = api.GetUserPairings(adminUserName); adminUserPaired = adminUserPairings.Any((p) => p.enabled && !(p["deactivated"].ToString().ToLower() == "true")); if (userData.ContainsKey("disable_toopher_auth")) { adminUserEnabled = userData["disable_toopher_auth"].ToString().ToLower() != "true"; } else { adminUserEnabled = true; } adminUserIsKnown = true; } catch (Toopher.RequestError err) { adminUserIsKnown = false; if (err.Message == "No users with name = " + adminUserName) { // effectively the same as a UserUnknownError - ignore } else { pnlAdminUserStatus.Visible = false; MetroFramework.MetroMessageBox.Show(this, "Error retrieving user data: " + err.Message); } } pnlAdminUserStatus.Visible = true; pnlAdminUserStatus.Enabled = true; updatePairedStatusGuiElements(); } }
private void btnAdminPairUnpairUser_Click(object sender, EventArgs e) { ToopherSettings settings = new ToopherSettings(); Toopher.ToopherAPI api = new Toopher.ToopherAPI(settings.ToopherConsumerKey, settings.ToopherConsumerSecret, baseUrl: settings.ToopherBaseUrl); if (adminUserPaired) { try { pnlAdminUserStatus.Enabled = false; foreach (var pairing in adminUserPairings) { api.DeactivatePairing(pairing.id); } } finally { loadUserPairingStatus(); } } else { PromptForm f = new PromptForm("Enter a Toopher Pairing Phrase"); f.ShowDialog(); string pairingPhrase = f.tbUserInput.Text.ToLower(); LogUI logUI = new LogUI("Pairing with Toopher"); logUI.Show(); Action pairingTask = () => { try { Toopher.PairingStatus pairing = api.Pair(pairingPhrase, adminUserName); while (pairing.pending && !pairing.enabled) { Thread.Sleep(200); logUI.OnLog("checking pairing status..."); pairing = api.GetPairingStatus(pairing.id); } logUI.OnLog("Pairing Result: " + (pairing.enabled ? "Enabled" : "Denied")); } finally { logUI.OnDone(); loadUserPairingStatus(); } }; new Task(pairingTask).Start(); } }
public TestApiJob(Toopher.ToopherAPI api) { this.api = api; }
private void btnAdminPairUnpairUser_Click(object sender, EventArgs e) { ToopherSettings settings = new ToopherSettings (); Toopher.ToopherAPI api = new Toopher.ToopherAPI (settings.ToopherConsumerKey, settings.ToopherConsumerSecret, baseUrl: settings.ToopherBaseUrl); if(adminUserPaired) { try { pnlAdminUserStatus.Enabled = false; foreach(var pairing in adminUserPairings) { api.DeactivatePairing (pairing.id); } } finally { loadUserPairingStatus (); } } else { PromptForm f = new PromptForm ("Enter a Toopher Pairing Phrase"); f.ShowDialog (); string pairingPhrase = f.tbUserInput.Text.ToLower (); LogUI logUI = new LogUI ("Pairing with Toopher"); logUI.Show (); Action pairingTask = () => { try { Toopher.PairingStatus pairing = api.Pair (pairingPhrase, adminUserName); while(pairing.pending && !pairing.enabled) { Thread.Sleep (200); logUI.OnLog ("checking pairing status..."); pairing = api.GetPairingStatus (pairing.id); } logUI.OnLog ("Pairing Result: " + (pairing.enabled ? "Enabled" : "Denied")); } finally { logUI.OnDone (); loadUserPairingStatus (); } }; new Task (pairingTask).Start (); } }
private void loadUserPairingStatus() { if(this.InvokeRequired) { this.Invoke ((Action)delegate { loadUserPairingStatus (); }); } else { adminUserName = tbAdminUsername.Text.ToLower (); ToopherSettings settings = new ToopherSettings (); Toopher.ToopherAPI api = new Toopher.ToopherAPI (settings.ToopherConsumerKey, settings.ToopherConsumerSecret, baseUrl: settings.ToopherBaseUrl); adminUserIsKnown = false; adminUserPaired = false; adminUserEnabled = false; try { IDictionary<string, object> userData = api.SearchForUser (adminUserName); adminUserPairings = api.GetUserPairings (adminUserName); adminUserPaired = adminUserPairings.Any ((p) => p.enabled && !(p["deactivated"].ToString ().ToLower () == "true")); if(userData.ContainsKey ("disable_toopher_auth")) { adminUserEnabled = userData["disable_toopher_auth"].ToString ().ToLower () != "true"; } else { adminUserEnabled = true; } adminUserIsKnown = true; } catch(Toopher.RequestError err) { adminUserIsKnown = false; if(err.Message == "No users with name = " + adminUserName) { // effectively the same as a UserUnknownError - ignore } else { pnlAdminUserStatus.Visible = false; MetroFramework.MetroMessageBox.Show (this, "Error retrieving user data: " + err.Message); } } pnlAdminUserStatus.Visible = true; pnlAdminUserStatus.Enabled = true; updatePairedStatusGuiElements (); } }
private void btnTestApiCreds_Click(object sender, EventArgs e) { Toopher.ToopherAPI api = new Toopher.ToopherAPI (tbApiKey.Text, tbApiSecret.Text, baseUrl: tbApiUrl.Text); AsyncLoggableJob job = new AsyncLoggableJob (new TestApiJob (api)); LogUI form = new LogUI (job); try { this.Enabled = false; form.ShowDialog (); } finally { this.Enabled = true; } }
private void btnAdminUserToggleToopherEnabled_Click(object sender, EventArgs e) { try { if(adminUserIsKnown) { ToopherSettings settings = new ToopherSettings (); Toopher.ToopherAPI api = new Toopher.ToopherAPI (settings.ToopherConsumerKey, settings.ToopherConsumerSecret, baseUrl: settings.ToopherBaseUrl); api.SetToopherEnabledForUser (adminUserName, !adminUserEnabled); } } finally { loadUserPairingStatus (); } }