public override async Task ExecuteCommandAsync(BotContext context, XanBotMember executingMember, DiscordMessage originalMessage, string[] args, string allArgs) { if (args.Length != 2) { throw new CommandException(this, "Invalid argument count! Expected a user ID and a permission level."); } else { XanBotMember member = await UserGetter.GetMemberFromDataIDStrictAsync(context.Server, args[0]); byte permLvl = byte.Parse(args[1]); if (member == null) { throw new CommandException(this, "The specified member could not be found. Are you searching by user ID?"); } if (executingMember == member) { throw new CommandException(this, "You cannot alter your own permission level."); } if (executingMember.PermissionLevel <= permLvl) { throw new CommandException(this, string.Format("You cannot set the permission level of user `{0}` to a permission level equal to or higher than your own.", member.FullName)); } if (executingMember.PermissionLevel <= member.PermissionLevel) { // Trying to edit the permission level of someone higher than or equal to themselves. throw new CommandException(this, "You cannot edit the permission level of someone at a rank greater than or equal to your own."); } member.PermissionLevel = permLvl; await ResponseUtil.RespondToAsync(originalMessage, string.Format("Set the permission level of user `{0}` to `{1}`", member.FullName, permLvl.ToString())); } }
private async Task SetPermissionInContext(BotContext context, string[] args) { XanBotMember person = await UserGetter.GetMemberFromDataIDStrictAsync(context.Server, args[0]); if (person == null) { throw new ArchonCommandException(this, "Invalid user."); } if (person == context.Bot) { throw new ArchonCommandException(this, "My permission level is immutable and cannot be lowered from 255."); } if (byte.TryParse(args[1], out byte newLvl)) { person.PermissionLevel = newLvl; } else { if (decimal.TryParse(args[1], out decimal value)) { throw new ArchonCommandException(this, "Invalid permission level. The specified value is out of the acceptable range of values for a byte (0 to 255)."); } else { throw new ArchonCommandException(this, "Invalid permission level. Could not cast the input data into a byte value."); } } }
public AccountController(UserManager <UserModel> _userManager, IJwtFactory _jwtFactory, IOptions <JwtIssuerOptions> _jwtOptions, DbHandler _db, IHttpContextAccessor httpContextAccessor) { db = _db; userGetter = new UserGetter(db, httpContextAccessor); userManager = _userManager; jwtFactory = _jwtFactory; jwtOptions = _jwtOptions.Value; }
public TeachersController(AppContext dbContext, ItemManager itemManager, UserManager <ApplicationUser> userManager, IMessageService messageService, UserGetter userGetter) { _context = dbContext; _itemManager = itemManager; _userManager = userManager; _messageService = messageService; _userGetter = userGetter; }
public GeneralController(AppContext dbContext, ItemManager itemManager, UserGetter userGetter, UserManager <ApplicationUser> userManager, IEmailService emailService, IHostingEnvironment env, IConfiguration configuration) { _context = dbContext; _itemManager = itemManager; _userGetter = userGetter; _userManager = userManager; _emailService = emailService; _hostingEnv = env; _configuration = configuration; }
public IActionResult GetUser() { var x = new UserGetter(userDataAccess); var user = x.GetUserFromClaims(HttpContext); return(Ok(new { username = user.Name, userID = user.UserID })); }
public void SerializedUserReturnedIfCorrectlySerialized() { var userGetterSerialized = new Mock <UserGetterSerialized>(); userGetterSerialized.Setup(g => g.Get("id")).Returns(new User("id", "Full Name", "*****@*****.**")); var userGetterDomain = new Mock <UserGetterDomain>(); var userGetter = new UserGetter(userGetterSerialized.Object, userGetterDomain.Object); var user = userGetter.Get("id"); Assert.Equal("id", user.UserName); }
private void PopulateRecieverTreeView() { bool success = false; List <BllGroup> groups = null; while (!success) { try { IGroupGetter gg = new GroupGetter(serverInstance.server); groups = gg.GetAllGroups(); success = true; } catch { serverInstance.ConnectToServer(); success = false; } } foreach (var group in groups) { var node = treeView1.Nodes.Add(group.Name); List <BllUser> usersByGroup = new List <BllUser>(); success = false; while (!success) { try { IUserGetter ug = new UserGetter(serverInstance.server); usersByGroup = ug.GetUsersByGroupAndSignInDateRange(group, int.Parse(Properties.Resources.PERMISSIBLE_DATE_RANGE_IN_DAYS)); success = true; } catch { serverInstance.ConnectToServer(); success = false; } } foreach (var user in usersByGroup) { if (user.Id != Sender.Id) { node.Nodes.Add(user.Fullname); Users.Add(user); } } } }
public void PlaceholderUserReturnedIfEveryhthingFails() { var userGetterSerialized = new Mock <UserGetterSerialized>(); userGetterSerialized.Setup(g => g.Get("id")).Returns((User)null); var userGetterDomain = new Mock <UserGetterDomain>(); userGetterDomain.Setup(g => g.Get("id")).Returns((User)null); var userGetter = new UserGetter(userGetterSerialized.Object, userGetterDomain.Object); var user = userGetter.Get("id"); Assert.Equal("id", user.UserName); Assert.Equal("id", user.FullName); Assert.Equal("id@email", user.EmailAddress); Assert.Equal("id", user.DistinguishedName); }
public void UserGetterTest() { LocalUser user = Login(); var status = UserGetter.GetStatus.UnknownError; bool done = false; User user1 = null; var getter = new UserGetter(user, (_status, _user) => { status = _status; user1 = _user; done = true; }); getter.get(user.Username); while (!done) { } Assert.AreEqual(status, UserGetter.GetStatus.Success); Assert.AreEqual(user.Username, user1.Username); }
private IEnumerable <BllUser> GetUserByGroups(BllGroup group) { IEnumerable <BllUser> users = null; bool success = false; while (!success) { try { IUserGetter ug = new UserGetter(serverInstance.server); users = ug.GetUsersByGroupAndSignInDateRange(group, int.Parse(Properties.Resources.PERMISSIBLE_DATE_RANGE_IN_DAYS)); success = true; } catch { serverInstance.ConnectToServer(); success = false; } } return(users); }
public override async Task ExecuteCommandAsync(BotContext context, XanBotMember executingMember, DiscordMessage originalMessage, string[] args, string allArgs) { if (args.Length == 0) { // User wants to get their own permissions. await ResponseUtil.RespondToAsync(originalMessage, string.Format("Your permission level is `{0}`", executingMember.PermissionLevel)); } else if (args.Length >= 1) { try { XanBotMember member = await UserGetter.GetMemberFromDataAsync(context.Server, allArgs); if (member == null) { throw new CommandException(this, "The specified user is not a member of this server."); } await ResponseUtil.RespondToAsync(originalMessage, string.Format("The permission level of `{0}` is `{1}`", member.FullName, member.PermissionLevel)); } catch (NonSingularResultException err) { string msg = err.Message; msg += "\nThe potential users are:\n"; foreach (XanBotMember member in err.PotentialReturnValues) { msg += member?.FullName + "(User GUID: " + member?.BaseUser.Id + ")\n"; } msg += "\nYou can directly copy/paste the user's GUID into this command to get that specific user."; if (msg.Length > 2000) { msg = err.Message + "\n\nUnfortunately, the list of potential users was too large to fit into a message."; } await ResponseUtil.RespondToAsync(originalMessage, msg); } } }
public GameController(IGameDataAccess GameDataAccess, IUserDataAccess UserDataAccess) { gameDataAccess = GameDataAccess; userDataAccess = UserDataAccess; userGetter = new UserGetter(userDataAccess); }
public SubscriptionController(DbHandler _db, IHttpContextAccessor httpContextAccessor) { db = _db; userGetter = new UserGetter(db, httpContextAccessor); }
public TransactionController(DbHandler _db, IHttpContextAccessor httpContextAccessor) { db = _db; userGetter = new UserGetter(_db, httpContextAccessor); }
public void ProfileUpdaterTest() { LocalUser user = Login(username: "******", password: "******"); var statusUpdater = UserUpdater.GetStatus.UnknownError; var statusGetter = UserGetter.GetStatus.UnknownError; bool done = false; User user1 = null; string firstName = ""; string lastName = ""; var random = new Random(); var updater = new UserUpdater(user, (_status, _firstName, _lastName) => { statusUpdater = _status; firstName = _firstName; lastName = _lastName; done = true; }); var getter = new UserGetter(user, (_status, _user) => { statusGetter = _status; user1 = _user; done = true; }); firstName = random.Next().ToString(); lastName = random.Next().ToString(); done = false; updater.get(firstName, lastName); while (!done) { } Assert.AreEqual(statusUpdater, UserUpdater.GetStatus.Success); Assert.AreNotEqual(firstName, null); Assert.AreNotEqual(lastName, null); done = false; getter.get(user.Username); while (!done) { } Assert.AreEqual(statusGetter, UserGetter.GetStatus.Success); Assert.AreEqual(user.Username, user1.Username); Assert.AreNotEqual(user.FirstName, user1.FirstName); Assert.AreNotEqual(user.LastName, user1.LastName); Assert.AreEqual(firstName, user1.FirstName); Assert.AreEqual(lastName, user1.LastName); done = false; updater.get(user.FirstName, user.LastName); while (!done) { } Assert.AreEqual(statusUpdater, UserUpdater.GetStatus.Success); Assert.AreNotEqual(firstName, null); Assert.AreNotEqual(lastName, null); done = false; getter.get(user.Username); while (!done) { } Assert.AreEqual(statusGetter, UserGetter.GetStatus.Success); Assert.AreEqual(user.Username, user1.Username); Assert.AreEqual(user.FirstName, user1.FirstName); Assert.AreEqual(user.LastName, user1.LastName); }
public ForumsController(DbHandler _db, IHttpContextAccessor httpContextAccessor) { db = _db; claimsPrincipal = httpContextAccessor.HttpContext.User; userGetter = new UserGetter(db, httpContextAccessor); }
public MessagesController(AppContext dbContext, UserGetter userGetter) { _context = dbContext; _userGetter = userGetter; }