The complete folder structure has been changed or updated
This commit is contained in:
@@ -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,'') + '%'
|
||||
Reference in New Issue
Block a user