8
0

The complete folder structure has been changed or updated

This commit is contained in:
2025-09-19 18:24:40 +02:00
parent 796473a8c9
commit 1f0d1613a5
216 changed files with 330971 additions and 809 deletions

View File

@@ -0,0 +1,104 @@
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
-- [FNDD_GET_WINDREAM_USER_DATA]
-- =================================================================
-- Reads the windream and maybe digitaldata database
-- to give you user infos including the group affiliation.
--
-- Returns: Table
-- =================================================================
-- Copyright (c) 2025 by Digital Data GmbH
--
-- Digital Data GmbH • Ludwig-Rinn-Strasse 16 • D-35452 Heuchelheim
-- Tel.: 0641/202360 • E-Mail: info-flow@digitaldata.works
-- =================================================================
-- Creation Date / Author: 10.06.2025 / MK
-- Version Date / Editor: 10.06.2025 / MK
-- Version Number: 1.0.0.0
-- =================================================================
-- History:
-- 10.06.2025 / MK - First Version
CREATE OR ALTER FUNCTION [FNDD_GET_WINDREAM_USER_DATA] (
@pWindreamUsername NVARCHAR(255), -- Give windream username
@pISSyncedWithDD BIT, -- 1 = Check of user is in digitaldata db as well; 0 = Check only windream db
@pIncludeGroup NVARCHAR(500), -- Substring (LIKE Operator!) for groups you want to include in the result
@pExcludeGroup NVARCHAR(500) -- Substring (LIKE Operator!) for groups you want to exclude in the result
)
RETURNS @USER_DATA TABLE ([GUID] [bigint] IDENTITY(1,1) NOT NULL,
[szNTDomain] [NVARCHAR] (255) NOT NULL,
[szUserName] [NVARCHAR] (255) NOT NULL,
[szUserFullName] [NVARCHAR] (255) NOT NULL,
[szMailAddress] [NVARCHAR] (255) NULL,
[szGroupName] [NVARCHAR] (255) NOT NULL)
AS
BEGIN
-- declare new vars because of parameter sniffing
DECLARE @WindreamUsername NVARCHAR(255) = UPPER(LTRIM(RTRIM(@pWindreamUsername))),
@ISSyncedWithDD BIT = @pISSyncedWithDD,
@IncludeGroup NVARCHAR(500) = UPPER(LTRIM(RTRIM(@pIncludeGroup))),
@ExcludeGroup NVARCHAR(500) = UPPER(LTRIM(RTRIM(@pExcludeGroup)))
-- Give user infos if user is in windream db
IF (@ISSyncedWithDD = 0) BEGIN
INSERT INTO @USER_DATA( [szNTDomain], [szUserName], [szUserFullName], [szMailAddress], [szGroupName])
SELECT DISTINCT [wdUI].[szNTDomain], [wdUI].[szUserName], [wdUI].[szUserFullName], [wdUI].[szMailAddress], [wdGI].[szGroupName]
FROM [windreamDB].[dbo].[UserInfo] as [wdUI] (NOLOCK)
INNER JOIN [windreamDB].[dbo].[UserGroup] as [wdU2G] (NOLOCK) ON [wdUI].[dwUserID] = [wdU2G].[dwUserOrGroupID]
INNER JOIN [windreamDB].[dbo].[GroupInfo] as [wdGI] (NOLOCK) ON [wdU2G].[dwGroupID] = [wdGI].[dwGroupID]
WHERE UPPER([wdUI].[szUserName]) = @WindreamUsername
AND [wdGI].[szGroupName] LIKE '%' + ISNULL(@IncludeGroup,'_') + '%'
AND [wdGI].[szGroupName] NOT LIKE '%' + ISNULL(@ExcludeGroup,'$!dummy_value!$') + '%';
-- Give user infos if user is in windream and digitaldata db
END; ELSE IF (@ISSyncedWithDD = 1) BEGIN
INSERT INTO @USER_DATA( [szNTDomain], [szUserName], [szUserFullName], [szMailAddress], [szGroupName])
SELECT DISTINCT [wdUI].[szNTDomain], [wdUI].[szUserName], [wdUI].[szUserFullName], [wdUI].[szMailAddress], [wdGI].[szGroupName]
FROM [windreamDB].[dbo].[UserInfo] as [wdUI] (NOLOCK)
INNER JOIN [windreamDB].[dbo].[UserGroup] as [wdU2G] (NOLOCK) ON [wdUI].[dwUserID] = [wdU2G].[dwUserOrGroupID]
INNER JOIN [windreamDB].[dbo].[GroupInfo] as [wdGI] (NOLOCK) ON [wdU2G].[dwGroupID] = [wdGI].[dwGroupID]
INNER JOIN [DD_ECM].[dbo].[TBDD_USER] as [ddUI] (NOLOCK) ON [wdUI].[dwUserID] = [ddUI].[USERID_FK_INT_ECM]
INNER JOIN [DD_ECM].[dbo].[TBDD_GROUPS_USER] as [ddU2G] (NOLOCK) ON [ddUI].[GUID] = [ddU2G].[USER_ID]
INNER JOIN [DD_ECM].[dbo].[TBDD_GROUPS] as [ddGI] (NOLOCK) ON [ddU2G].[GROUP_ID] = [ddGI].[GUID]
WHERE UPPER([wdUI].[szUserName]) = @WindreamUsername
AND [wdGI].[szGroupName] LIKE '%' + ISNULL(@IncludeGroup,'_') + '%'
AND [wdGI].[szGroupName] NOT LIKE '%' + ISNULL(@ExcludeGroup,'$!dummy_value!$') + '%';
END;
RETURN;
END;
----------------------------------------------------------------------------------------------------------------------------------
-- Example call
-- SELECT * FROM [FNDD_GET_WINDREAM_USER_DATA]('IIMAdmin',0,'Admin','User')
----------------------------------------------------------------------------------------------------------------------------------
-- OLD ONE
--SELECT concat([wdGI].[szNTDomain],'\',[wdGI].[szGroupName]) as 'RightGroups'
--FROM [windreamDB].[dbo].[BaseAttributes] as [wdBA] (NOLOCK)
--INNER JOIN [windreamDB].[dbo].[UserInfo] as [wdUI] (NOLOCK) ON UPPER([wdBA].[szText22]) = UPPER([wdUI].[szUserName]) -- Username for UserID
--INNER JOIN [windreamDB].[dbo].[UserGroup] as [wdU2G] (NOLOCK) ON [wdUI].[dwUserID] = [wdU2G].[dwUserOrGroupID] -- UserID for GroupsID
--INNER JOIN [windreamDB].[dbo].[GroupInfo] as [wdGI] (NOLOCK) ON [wdU2G].[dwGroupID] = [wdGI].[dwGroupID] -- GroupIDs for Groupnames
--INNER JOIN [DD_ECM].[dbo].[TBDD_USER] as [ddUI] (NOLOCK) ON [wdUI].[dwUserID] = [ddUI].[USERID_FK_INT_ECM] -- windream UserID to DD UserID
--INNER JOIN [DD_ECM].[dbo].[TBDD_GROUPS_USER] as [ddU2G] (NOLOCK) ON [ddUI].[GUID] = [ddU2G].[USER_ID] -- UserID for GroupsID
--INNER JOIN [DD_ECM].[dbo].[TBDD_GROUPS] as [ddGI] (NOLOCK) ON [ddU2G].[GROUP_ID] = [ddGI].[GUID] -- GroupIDs for Groupnames
--WHERE UPPER([wdGI].[szGroupName]) = UPPER([ddGI].[NAME])
-- AND [wdBA].[dwDocID] = @pWindreamUsername
-- AND [wdGI].[szGroupName] LIKE '%' + ISNULL(@pIncludeGroup,'_') + '%'
-- AND [wdGI].[szGroupName] NOT LIKE '%' + ISNULL(@pExcludeGroup,'') + '%'