/// <summary> /// Application specific configuration /// This method should initialize any IoC resources utilized by your web service classes. /// </summary> /// <param name="container"></param> public override void Configure(Container container) { //Config examples //this.Plugins.Add(new PostmanFeature()); //this.Plugins.Add(new CorsFeature()); SetConfig(new HostConfig { DebugMode = AppSettings.Get("DebugMode", false), AddRedirectParamsToQueryString = true }); LogManager.LogFactory = new EventLogFactory("DiscourseAutoApprover", "Application"); Plugins.Add(new RazorFormat()); Plugins.Add(new ValidationFeature()); container.Register(AppSettings); var client = new DiscourseClient( AppSettings.Get("DiscourseRemoteUrl", ""), AppSettings.Get("DiscourseAdminApiKey", ""), AppSettings.Get("DiscourseAdminUserName", "")); client.Login(AppSettings.Get("DiscourseAdminUserName", ""), AppSettings.Get("DiscourseAdminPassword", "")); container.Register <IDiscourseClient>(client); var serviceStackAccountClient = new ServiceStackAccountClient(AppSettings.GetString("CheckSubscriptionUrl")); container.Register <IServiceStackAccountClient>(serviceStackAccountClient); }
private void SuspendUser(DiscourseUser user) { try { DiscourseClient.AdminSuspendUser(user.Id, 365, AppSettings.GetString("DiscourseSuspensionReason")); } catch (Exception) { //Try to login again and retry DiscourseClient.Login(AppSettings.Get("DiscourseAdminUserName", ""), AppSettings.Get("DiscourseAdminPassword", "")); DiscourseClient.AdminSuspendUser(user.Id, 365, AppSettings.GetString("DiscourseSuspensionReason")); } }
private void UnsuspendUser(DiscourseUser user) { try { DiscourseClient.AdminUnsuspendUser(user.Id); } catch (Exception) { //Try to login again and retry DiscourseClient.Login(AppSettings.Get("DiscourseAdminUserName", ""), AppSettings.Get("DiscourseAdminPassword", "")); DiscourseClient.AdminUnsuspendUser(user.Id); } }