Adding permissions during startup

This commit is contained in:
2025-04-27 22:29:35 +02:00
parent 8a2f038185
commit c639f86068
12 changed files with 196 additions and 21 deletions

View File

@@ -218,6 +218,7 @@ public static class ProgramUtils
builder.Services.AddHttpContextAccessor();
builder.Services.AddScoped<IAuthService, AuthService>();
builder.Services.AddScoped<IJwtService, JwtService>();
builder.Services.AddScoped<IPermissionService, PermissionService>();
builder.Services.AddScoped<IRoleService, RoleService>();
builder.Services.AddScoped<IUserService, UserService>();
Logger.Info("[ProgramUtils][AddScopes] Done scopes");
@@ -271,4 +272,25 @@ public static class ProgramUtils
}
public static void CreatePermissions(ref WebApplication app)
{
Logger.Info("[ProgramUtils][CreatePermissions] Adding permissions...");
using (var scope = app.Services.CreateScope())
{
var permissionService = scope.ServiceProvider.GetRequiredService<IPermissionService>;
if (permissionService != null)
{
var isValidThread = Task.Run(() => permissionService!.Invoke()?.CreatePermissionsOnStartupAsync());
if (isValidThread.Result != null)
{
Logger.Info("[ProgramUtils][CreatePermissions] Done permissions");
}
else
{
Logger.Error("[ProgramUtils][CreatePermissions] Something went wrong");
}
}
}
}
}