public async Task <string> DeleteGroup(keymodel groupkey)
        {
            string userId = User.Claims.First(c => c.Type == "UserID").Value;
            var    user   = await _userManager.FindByIdAsync(userId);

            GroupDB grouptoDelete = _groups.FirstOrDefault(o => o.Key.ToString() == groupkey.key && o.FK_User.ToString() == userId);

            try
            {
                if (grouptoDelete != null)
                {
                    foreach (var item in grouptoDelete.Fk_Followers)
                    {
                        user.Accounts.FirstOrDefault(o => o.CurrentCharacter.Key == item).CurrentCharacter.Fk_Group = Guid.Empty;
                    }
                    user.Accounts.FirstOrDefault(o => o.CurrentCharacter.Key == grouptoDelete.Fk_Leader).CurrentCharacter.Fk_Group = Guid.Empty;
                    await _userManager.UpdateAsync(user);

                    await Database.Groups.DeleteOneAsync(o => o.Key == grouptoDelete.Key);
                }
            }
            catch (Exception ex)
            {
                throw;
            }

            return(JsonSerializer.Serialize(grouptoDelete.Name));
        }
        public async Task <string> DeletePath(keymodel pathkey)
        {
            string userId = User.Claims.First(c => c.Type == "UserID").Value;
            var    user   = await _userManager.FindByIdAsync(userId);

            TrajetDB trajettoDelete = Database.Paths.Find(o => o.Key == new Guid(pathkey.key) && o.Fk_User == new Guid(userId)).FirstOrDefault();

            try
            {
                await Database.Paths.DeleteOneAsync(o => o.Key == trajettoDelete.Key);
            }
            catch (Exception ex)
            {
                throw;
            }

            return(JsonSerializer.Serialize(trajettoDelete.Name));
        }
        public async Task <string> DeleteAccount(keymodel accountkey)
        {
            string userId = User.Claims.First(c => c.Type == "UserID").Value;
            var    user   = await _userManager.FindByIdAsync(userId);

            Account accountToDelete = user.Accounts.FirstOrDefault(o => o.Key.ToString() == accountkey.key);

            user.Accounts.Remove(accountToDelete);
            try
            {
                await _userCollection.ReplaceOneAsync(x => x.Id == user.Id, user);
            }
            catch (Exception)
            {
                throw;
            }
            return(JsonSerializer.Serialize(accountToDelete.AccountName));
        }