UFN_SECURITY_APPUSER_CANACCESS_QUERYVIEW

Return

Return Type
bit

Parameters

Parameter Parameter Type Mode Description
@APPUSERID uniqueidentifier IN
@QUERYVIEWCATALOGID uniqueidentifier IN

Definition

Copy


CREATE function dbo.UFN_SECURITY_APPUSER_CANACCESS_QUERYVIEW
(
    @APPUSERID uniqueidentifier, 
    @QUERYVIEWCATALOGID uniqueidentifier
)
returns bit
as
--Returns true if the user has permission to use the QueryView

begin

    declare @IS_SYS_ADMIN bit;
    declare @HASQUERYVIEWSYSTEMPRIVILEGE bit;

    select @IS_SYS_ADMIN = ISSYSADMIN from dbo.APPUSER where ID=@APPUSERID;

    if @IS_SYS_ADMIN = 0
        select @HASQUERYVIEWSYSTEMPRIVILEGE = dbo.UFN_SECURITY_APPUSER_GRANTED_SYSTEMPRIVILEGE_IN_SYSTEMROLE(@APPUSERID, '5f9bbcaf-9c67-4539-9880-ae4f709a9c1f')    

    if @IS_SYS_ADMIN = 1 or @HASQUERYVIEWSYSTEMPRIVILEGE = 1 
        return 1;

    if exists 
    (
        select 
            QUERYVIEWCATALOGID 
        from 
            dbo.UFN_SECURITY_GETGRANTEDQUERYVIEWSFORUSER(@APPUSERID)
        where 
            QUERYVIEWCATALOGID = @QUERYVIEWCATALOGID
    )
        return 1;

    return 0;


end