public ConfigCommandSet() { Name = "config"; Description = "Configure bot."; Category = AdditionalCategories.Management; RequiredPermissions.Add(Discord.GuildPermission.ManageGuild); }
public override async Task <PermissionStatus> RequestAsync() { // Check status before requesting first if (await CheckStatusAsync() == PermissionStatus.Granted) { return(PermissionStatus.Granted); } var runtimePermissions = RequiredPermissions.Where(p => p.isRuntime) ?.Select(p => p.androidPermission)?.ToArray(); // We may have no runtime permissions required, in this case // knowing they all exist in the manifest from the Check call above is sufficient if (runtimePermissions == null || !runtimePermissions.Any()) { return(PermissionStatus.Granted); } var permissionResult = await DoRequest(runtimePermissions); if (permissionResult.GrantResults.Any(g => g == Permission.Denied)) { return(PermissionStatus.Denied); } return(PermissionStatus.Granted); }
public void AddRequestTypeValidationRules(List <ITypeValidator> typeValidators) { if (typeValidators != null) { RequestTypeValidationRules ??= new List <ITypeValidator>(); RequestTypeValidationRules.AddRange(typeValidators); var authValidators = typeValidators.OfType <IAuthTypeValidator>().ToList(); if (authValidators.Count > 0) { RequiresAuthentication = true; var rolesValidators = authValidators.OfType <HasRolesValidator>(); foreach (var validator in rolesValidators) { RequiredRoles ??= new List <string>(); validator.Roles.Each(x => RequiredRoles.AddIfNotExists(x)); } var permsValidators = authValidators.OfType <HasPermissionsValidator>(); foreach (var validator in permsValidators) { RequiredPermissions ??= new List <string>(); validator.Permissions.Each(x => RequiredPermissions.AddIfNotExists(x)); } } } }
public DemoWelcomeMessageCommand() { Name = "demowelcomemessage"; Description = "Show welcome message"; Category = AdditionalCategories.Management; RequiredPermissions.Add(GuildPermission.ManageGuild); }
public UnquoteCommand() { Name = "unquote"; Description = "Words of dumbness"; Category = StandardCategories.Fun; RequiredPermissions.Add(GuildPermission.ManageMessages); }
public RemoveCommand() { Name = "disable"; Description = "Remove a plugin."; Category = AdditionalCategories.Management; RequiredPermissions.Add(Discord.GuildPermission.ManageGuild); Aliases = new string[] { "remove" }; }
public AddCommand() { Name = "enable"; Description = "Add a plugin."; Category = AdditionalCategories.Management; RequiredPermissions.Add(Discord.GuildPermission.ManageGuild); Aliases = new string[] { "add" }; }
public ConfigCommand(ConfigFunctionInfo[] sources, string categoryName, string categoryDesc) { _sources = sources; var first = sources.First(); Name = Regex.Replace(first.Name.ToLowerInvariant(), "\\s", ""); Description = first.Desc; Category = new Category(categoryName, categoryDesc); RequiredPermissions.Add(Discord.GuildPermission.ManageGuild); }
protected override void OnInit(EventArgs e) { base.OnInit(e); Page.PreRender += new EventHandler(PagePreRender); if (!LoginProvider && CurrentUser == null) { SynNavigation.Goto(Pages.Login); } if (!IsPostBack) { if (RequiredPermissions.NotEmpty()) { Title = GenericFormatter.GetEnumDescription(RequiredPermissions[0]); } else { Title = "מסך הבית"; } if (!LoginProvider) { BuildSiteMapLinks(); bool navSelected = false; if (RequiredPermissions.NotEmpty()) { var requiredPermis = RequiredPermissions.FirstOrDefault(); PageLinkAttribute HasNavLink = GetPageLink(requiredPermis); if (HasNavLink != null) { ((HtmlAnchor)Master.FindControl(HasNavLink.NavLink)).Attributes.Add("class", "active"); navSelected = true; } } if (!navSelected) { ((HtmlAnchor)Master.FindControl(DefaultNavItem)).Attributes.Add("class", "active"); } (Master as WebSimplify.WebSimplify).CurrentUserName = CurrentUser.DisplayName ?? CurrentUser.UserName; (Master as WebSimplify.WebSimplify).IsAdmin = CurrentUser.IsAdmin; } foreach (ClientPagePermissions en in RequiredPermissions) { if (!CurrentUser.Allowed(en)) { SynNavigation.Goto(Pages.Main); } } } }
public RemoveCommand() { Name = "disable"; Description = "Remove a plugin."; Category = AdditionalCategories.Management; RequiredPermissions.Add(GuildPermission.ManageGuild); Shortcut = "disableplugin"; Aliases = new [] { "remove" }; ShortcutAliases = new[] { "removeplugin" }; }
public AddCommand() { Name = "enable"; Description = "Add a plugin."; Category = AdditionalCategories.Management; RequiredPermissions.Add(GuildPermission.ManageGuild); Shortcut = "enableplugin"; Aliases = new [] { "add" }; ShortcutAliases = new[] { "addplugin" }; }
internal static RequiredPermissionsWrapper GetInstance() { RequiredPermissions real = default(RequiredPermissions); RealInstanceFactory(ref real); var instance = (RequiredPermissionsWrapper)RequiredPermissionsWrapper.GetWrapper(real); InstanceFactory(ref instance); if (instance == null) { Assert.Inconclusive("Could not Create Test Instance"); } return(instance); }
public async override Task OnActionExecutingAsync(HttpActionContext actionContext, CancellationToken cancellationToken) { if (string.IsNullOrEmpty(actionContext.Request.Headers.Authorization?.Scheme) || string.IsNullOrEmpty(actionContext.Request.Headers.Authorization.Parameter) || !actionContext.Request.Headers.Authorization.Scheme.Equals("Bearer") || !await SecurityCache.IsValid(actionContext.Request.Headers.Authorization.Parameter)) { actionContext.Response = actionContext.Request.CreateResponse(HttpStatusCode.Unauthorized); return; } SecurityProfile securityProfile = SecurityCache.Get(actionContext.Request.Headers.Authorization.Parameter); if (securityProfile == null || !RequiredPermissions.All(permission => securityProfile.Permissions.Contains(permission))) { actionContext.Response = actionContext.Request.CreateResponse(HttpStatusCode.Forbidden); } actionContext.Request.Properties.Add("SecurityProfile", securityProfile); }
static partial void RealInstanceFactory(ref RequiredPermissions real, [CallerMemberName] string callerName = "");
public RequirePermissionAttribute(RequiredPermissions requiredPermission) { RequiredPermission = requiredPermission; }