Exemple #1
0
 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);
 }
Exemple #5
0
 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" };
            }
Exemple #8
0
        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);
        }
Exemple #9
0
        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);
                    }
                }
            }
        }
Exemple #10
0
            public RemoveCommand()
            {
                Name        = "disable";
                Description = "Remove a plugin.";
                Category    = AdditionalCategories.Management;
                RequiredPermissions.Add(GuildPermission.ManageGuild);
                Shortcut = "disableplugin";

                Aliases         = new [] { "remove" };
                ShortcutAliases = new[] { "removeplugin" };
            }
Exemple #11
0
            public AddCommand()
            {
                Name        = "enable";
                Description = "Add a plugin.";
                Category    = AdditionalCategories.Management;
                RequiredPermissions.Add(GuildPermission.ManageGuild);
                Shortcut = "enableplugin";

                Aliases         = new [] { "add" };
                ShortcutAliases = new[] { "addplugin" };
            }
Exemple #12
0
        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);
        }
Exemple #13
0
        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);
        }
Exemple #14
0
 static partial void RealInstanceFactory(ref RequiredPermissions real, [CallerMemberName] string callerName = "");
 public RequirePermissionAttribute(RequiredPermissions requiredPermission)
 {
     RequiredPermission = requiredPermission;
 }