From ca214225eae8e903332b5bfd50c59a71170f0dc6 Mon Sep 17 00:00:00 2001 From: Developer 02 Date: Tue, 5 Aug 2025 20:27:15 +0200 Subject: [PATCH] =?UTF-8?q?feat:=20Neue=20Update-Methode=20in=20GroupServi?= =?UTF-8?q?ce=20hinzugef=C3=BCgt=20mit=20Validierung=20f=C3=BCr=20Systemgr?= =?UTF-8?q?uppen?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Services/GroupService.cs | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/src/DigitalData.UserManager.Application/Services/GroupService.cs b/src/DigitalData.UserManager.Application/Services/GroupService.cs index f941780..955daa4 100644 --- a/src/DigitalData.UserManager.Application/Services/GroupService.cs +++ b/src/DigitalData.UserManager.Application/Services/GroupService.cs @@ -5,6 +5,8 @@ using DigitalData.UserManager.Domain.Entities; using DigitalData.UserManager.Application.Contracts.Repositories; using Microsoft.Extensions.Localization; using DigitalData.Core.Abstraction.Application.DTO; +using DigitalData.Core.Abstraction.Application; +using DigitalData.Core.Exceptions; namespace DigitalData.UserManager.Application.Services { @@ -34,5 +36,16 @@ namespace DigitalData.UserManager.Application.Services else return Result.Success(createdGroup.Id); } + + public async override Task UpdateAsync(TUpdateDto updateDto) + { + var gId = updateDto.GetId(); + var group = await _repository.ReadByIdAsync(gId); + if (group is null) + throw new ForbiddenException("Group not found."); + else if (!group.Internal) + throw new ForbiddenException("Updates are not allowed for system groups."); + return await base.UpdateAsync(updateDto); + } } } \ No newline at end of file