Update TelegramEndpoints to require admin role for access
ci / build-backend (push) Successful in 2m28s
ci / build-frontend (push) Successful in 58s
ci / tests (push) Successful in 2m35s
ci / sonar (push) Successful in 6m10s

Modified the TelegramEndpoints to enforce authorization by requiring the "admin" role for the admin group. This change enhances security by ensuring that only users with the appropriate role can access Telegram settings and related functionalities.
This commit is contained in:
Leonid Pershin
2026-07-31 08:03:23 +03:00
parent 2b03e43a83
commit ec957fe55c
@@ -7,6 +7,7 @@ using TeleWave.Application.Notifications.Link;
using TeleWave.Application.Notifications.Settings; using TeleWave.Application.Notifications.Settings;
using TeleWave.Application.Notifications.Subscribers; using TeleWave.Application.Notifications.Subscribers;
using TeleWave.Domain.Notifications; using TeleWave.Domain.Notifications;
using TeleWave.Infrastructure.Identity;
namespace TeleWave.Api.Endpoints; namespace TeleWave.Api.Endpoints;
@@ -20,7 +21,8 @@ public static class TelegramEndpoints
public static IEndpointRouteBuilder MapTelegramEndpoints(this IEndpointRouteBuilder app) public static IEndpointRouteBuilder MapTelegramEndpoints(this IEndpointRouteBuilder app)
{ {
var admin = app.MapGroup("/api/admin/telegram").RequireAuthorization("admin"); var admin = app.MapGroup("/api/admin/telegram")
.RequireAuthorization(policy => policy.RequireRole(RoleNames.Admin));
admin.MapGet("/settings", GetSettings).Produces<TelegramSettingsDto>(); admin.MapGet("/settings", GetSettings).Produces<TelegramSettingsDto>();
admin.MapPut("/settings", UpdateSettings).Produces<TelegramSettingsDto>(); admin.MapPut("/settings", UpdateSettings).Produces<TelegramSettingsDto>();