-- ============================================= -- Author: -- Create date: -- Description: -- ============================================= CREATE PROCEDURE [dbo].[fis_admin_delUserGroup] @authaccount varchar(5) ,@usergroup_id varchar(5) AS BEGIN SET NOCOUNT ON; DECLARE @utcnow datetime = GETUTCDATE(); DECLARE @auth smallint = [dbo].[fis_admin_getUserAuth](@authaccount); -- Tracks whether THIS call actually soft-deleted an active group, so a never-existing or -- already-deleted @usergroup_id reports failure instead of a false "ok:true" (the previous -- version derived success from "not currently active", which is also true when nothing here -- ever existed). DECLARE @deleted bit = 0; IF @auth > 1 AND EXISTS (SELECT * FROM [dbo].[fis_usergroups] WHERE [usergroup_id] = @usergroup_id and [DateDeleted] is null) BEGIN UPDATE [dbo].[fis_usergroups] SET [UserDeleted] = @authaccount ,[DateDeleted] = @utcnow WHERE [usergroup_id] = @usergroup_id AND [DateDeleted] is null; IF @@ROWCOUNT > 0 SET @deleted = 1; -- Soft-delete the group's active memberships too, matching the confirm text -- ("Die Mitgliedschaft aller Benutzer in dieser Gruppe geht dabei verloren."). UPDATE [dbo].[fis_usergroups_members] SET [UserDeleted] = @authaccount ,[DateDeleted] = @utcnow WHERE [usergroup_id] = @usergroup_id AND [DateDeleted] is null; END SELECT @deleted; END