aadddrr

f_authorize_user_role_policy_salesman

Dec 12th, 2017
37
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. --Adrian, Nov 21, 2017
  2.  
  3. CREATE OR REPLACE FUNCTION f_authorize_user_role_policy_salesman(bigint, bigint, bigint, bigint)
  4.   RETURNS integer AS
  5. $BODY$
  6. DECLARE
  7.  
  8.     pTenantId              alias for $1;
  9.     pUserId                alias for $2;
  10.     pRoleId                alias for $3;
  11.     pSalesmanId            alias for $4;
  12.  
  13.     vResult                 integer;
  14.     vSalesmanId             bigint;
  15.     vUserRoleId             bigint;
  16.    
  17. BEGIN
  18.  
  19.     vResult := 1;
  20.    
  21.     SELECT C.user_role_id, C.salesman_id INTO vUserRoleId, vSalesmanId
  22.     FROM t_user A, t_user_role B, m_policy_salesman C
  23.     WHERE A.tenant_id = pTenantId AND
  24.         A.user_id = pUserId AND
  25.         A.user_id = B.user_id AND
  26.         B.role_id = pRoleId AND
  27.         B.user_role_id = C.user_role_id AND
  28.         C.salesman_id = pSalesmanId;
  29.    
  30.     IF NOT FOUND THEN
  31.         vResult := 0;
  32.     END IF;
  33.    
  34.     return vResult;
  35.  
  36. END;
  37. $BODY$
  38.   LANGUAGE plpgsql VOLATILE
  39.   COST 100;
  40. /
Add Comment
Please, Sign In to add comment