diff --git a/src/Infrastructure/BotSharp.Abstraction/Repositories/Filters/RoleFilter.cs b/src/Infrastructure/BotSharp.Abstraction/Repositories/Filters/RoleFilter.cs index 35e2e1d3..7c6c738a 100644 --- a/src/Infrastructure/BotSharp.Abstraction/Repositories/Filters/RoleFilter.cs +++ b/src/Infrastructure/BotSharp.Abstraction/Repositories/Filters/RoleFilter.cs @@ -15,4 +15,9 @@ public class RoleFilter { return new RoleFilter(); } + + public bool IsInit() + { + return Names.IsNullOrEmpty(); + } } diff --git a/src/Infrastructure/BotSharp.Core/Roles/Services/RoleService.cs b/src/Infrastructure/BotSharp.Core/Roles/Services/RoleService.cs index 8cd7935b..9636fe18 100644 --- a/src/Infrastructure/BotSharp.Core/Roles/Services/RoleService.cs +++ b/src/Infrastructure/BotSharp.Core/Roles/Services/RoleService.cs @@ -39,7 +39,15 @@ public class RoleService : IRoleService public async Task> GetRoles(RoleFilter filter) { var db = _services.GetRequiredService(); + var roles = db.GetRoles(filter); + if (filter.IsInit() && roles.IsNullOrEmpty()) + { + await RefreshRoles(); + await Task.Delay(100); + roles = db.GetRoles(filter); + } + return roles; }