private async Task EnsureAdministratorUser(CancellationToken cancellationToken) { await foreach (var user in userService.GetAllUsers(cancellationToken)) { var userRoles = await userService.GetUserRoles(user.Id, cancellationToken); if (userRoles.Any(role => SecurityConstants.IsAdministratorRole(role.RoleName))) { return; } } logger.LogWarning("No user with role {RoleName} exists. Creating default administrator ...", SecurityConstants.AdministratorRole); await userService.CreateDefaultAdministrator(cancellationToken); }
private async Task EnsureAdministratorRole(CancellationToken cancellationToken) { var administratorRole = await roleService.GetAllRoles(cancellationToken) .Where(r => SecurityConstants.IsAdministratorRole(r.RoleName)) .FirstOrDefaultAsync(cancellationToken); if (administratorRole != null) { return; } logger.LogWarning("The role {RoleName} does not exist, creating one ...", SecurityConstants.AdministratorRole); await roleService.CreateRole(SecurityConstants.AdministratorRole, cancellationToken); }