public async Task <UserRole> CreateRole(AppDiscordRole role, string?aliasList)
        {
            var existingRole = await _userRoleRepo.GetRoleByDiscordRoleId(role.Id);

            if (existingRole != null)
            {
                throw new ArgumentException("User role already exists");
            }

            var userRole = await _userRoleRepo.CreateRole(role.Id, role.Name);

            if (aliasList != null)
            {
                var aliases = aliasList.Split(',').Where(a => !string.IsNullOrWhiteSpace(a)).ToList();

                var newAliases = new List <UserRoleAlias>();

                foreach (var alias in aliases)
                {
                    var aliasName = alias.Trim().ToLower();
                    var newAlias  = await _userRoleRepo.CreateRoleAlias(userRole.Id, aliasName);

                    newAliases.Add(newAlias);
                }

                userRole.UserRoleAliases = newAliases;
            }

            return(userRole);
        }