Exemplo n.º 1
0
        public AccountMuted buildAccountMuted(DataRow accMute)
        {
            var accountMuted = new AccountMuted();

            accountMuted.muteDate = UtilityHelper.UnixStampToDateTime(accMute["mutedate"].ToString());
            accountMuted.duration = Convert.ToDouble(accMute["mutetime"]);
            accountMuted.by       = accMute["mutedby"].ToString();
            accountMuted.reason   = accMute["mutereason"].ToString();

            return(accountMuted);
        }
Exemplo n.º 2
0
        public string accountMutedToSQL(uint id, AccountMuted am)
        {
            if (am != null)
            {
                string[] columns = { "guid", "mutedate", "mutetime", "mutedby", "mutereason" };
                object[] values  = { id, UtilityHelper.DateTimeToUnixStamp(am.muteDate), am.duration, am.by, am.reason };

                return(deleteFromDatabase("account_muted", "guid", id.ToString()) + insertToDatabase("account_muted", columns, values));
            }

            return(null);
        }
Exemplo n.º 3
0
        public async Task <IActionResult> MuteAccount([FromBody] MuteAccountModel model)
        {
            var user = await TokenHelper.GetUser(User, _userManager);

            if (user == null)
            {
                return(RequestHandler.Unauthorized());
            }

            var isAdmin = await user.IsUserAdmin(_userManager);

            if (!isAdmin)
            {
                return(RequestHandler.Unauthorized());
            }

            var account = await _authContext.Account.FirstOrDefaultAsync(x => x.Id == model.AccountId);

            if (account == null)
            {
                return(RequestHandler.BadRequest("Account does not exist"));
            }

            var now = (int)DateTimeOffset.UtcNow.ToUnixTimeSeconds();

            var mute = new AccountMuted
            {
                AccountId  = model.AccountId,
                MuteReason = model.Reason,
                MuteTime   = model.MuteMinutes,
                MuteDate   = now,
                MutedBy    = user.UserName
            };

            account.MuteTime   = (model.MuteMinutes * (int)TimeConstants.MINUTE) * -1;
            account.MuteBy     = user.UserName;
            account.MuteReason = model.Reason;

            _authContext.Account.Update(account);

            await _authContext.AccountMuted.AddAsync(mute);

            await _authContext.SaveChangesAsync();

            return(Ok(account));
        }