authen
.public
Tables
(current)
Columns
Constraints
Relationships
Orphan Tables
Anomalies
Routines
fn_get_user_permission_json
Parameters
Name
Type
Mode
prop_id
integer
IN
user_id
integer
IN
category_id
text
IN
category
character varying
IN
Definition
with perm as ( select * from fn_get_user_permissions(prop_id, user_id, category_id) -- WHERE code NOT LIKE category || '%' WHERE code NOT LIKE '0%' ), A as ( select category , left(code,1) as catcode, (select array_agg(code) from perm where is_granted and category=p.category) as codes, jsonb_agg(jsonb_build_object( 'code', code, 'name', name ) order by code ) as infos from perm p group by category, catcode order by catcode ) select jsonb_build_object( 'status', 200, 'message', 'OK', 'data' , jsonb_agg(jsonb_build_object( 'category', category, 'isGrantedCode', coalesce(codes, '{}'), 'codeInfo', infos ) ) ) from A