User Custom Permission
Table
Columns
Property |
Db Table |
Db Column |
Db DataType |
Nullable |
Primary Key |
Joins |
CreatedByUserId |
uam.user_custom_permission |
created_by_user_id |
bigint |
False |
|
|
CreatedByUserCode |
uam.user |
code |
character varying(50) |
False |
|
uam.user_custom_permission.created_by_user_id = uam.user.user_id |
CreatedByUserFullName |
uam.user |
full_name |
character varying(200) |
False |
|
uam.user_custom_permission.created_by_user_id = uam.user.user_id |
CreatedOn |
uam.user_custom_permission |
created_on |
timestamp without time zone |
False |
|
|
ModifiedByUserId |
uam.user_custom_permission |
modified_by_user_id |
bigint |
False |
|
|
ModifiedByUserCode |
uam.user |
code |
character varying(50) |
False |
|
uam.user_custom_permission.modified_by_user_id = uam.user.user_id |
ModifiedByUserFullName |
uam.user |
full_name |
character varying(200) |
False |
|
uam.user_custom_permission.modified_by_user_id = uam.user.user_id |
ModifiedOn |
uam.user_custom_permission |
modified_on |
timestamp without time zone |
False |
|
|
Version |
uam.user_custom_permission |
version |
integer |
False |
|
|
PermissionTreeId |
uam.user_custom_permission |
permission_tree_id |
bigint |
False |
|
|
PermissionTreeCode |
uam.permission_tree |
code |
text |
False |
|
uam.user_custom_permission.permission_tree_id = uam.permission_tree.permission_tree_id |
PermissionTreeDescription |
uam.permission_tree |
description |
text |
True |
|
uam.user_custom_permission.permission_tree_id = uam.permission_tree.permission_tree_id |
Id |
uam.user_custom_permission |
user_custom_permission_id |
bigint |
False |
True |
|
ApplyDownPermissionTree |
uam.user_custom_permission |
apply_down_permission_tree |
boolean |
False |
|
|
ExcludedProperties |
uam.user_custom_permission |
exclude_properties |
text[] |
True |
|
|
Notes |
uam.user_custom_permission |
notes |
text |
True |
|
|
PermissionId |
uam.user_custom_permission |
permission_id |
integer |
False |
|
|
PermissionsChanged |
uam.user_custom_permission |
permissions_changed |
boolean |
True |
|
|
PermissionTrees |
uam.user_custom_permission |
custom_permission_tree_ids |
bigint[] |
True |
|
|
UserId |
uam.user_custom_permission |
user_id |
bigint |
False |
|
|
UserCode |
uam.user |
code |
character varying(50) |
False |
|
uam.user_custom_permission.user_id = uam.user.user_id |
UserFullName |
uam.user |
full_name |
character varying(200) |
False |
|
uam.user_custom_permission.user_id = uam.user.user_id |
Queries
The list of example User Custom Permission queries can be interpreted using the following legend:
Legend |
Description |
Primary Table Alias |
The alias for the uam.user_custom_permission table in the query |
Include References |
Include (true ) or exclude (false ) all lookup table joins in the query |
Include Permissions |
Include (true ) or exclude (false ) the permission table join in the query to enforce or skip row-level security based on the permissions for the user |
Query 1
Primary Table Alias |
Include References |
Include Permissions |
_ucp |
False |
False |
SELECT
_ucp.created_by_user_id AS "CreatedByUserId",
_ucp.created_on AS "CreatedOn",
_ucp.modified_by_user_id AS "ModifiedByUserId",
_ucp.modified_on AS "ModifiedOn",
_ucp.version AS "Version",
_ucp.permission_tree_id AS "PermissionTreeId",
_ucp.user_custom_permission_id AS "Id",
_ucp.apply_down_permission_tree AS "ApplyDownPermissionTree",
_ucp.exclude_properties AS "ExcludedProperties",
_ucp.notes AS "Notes",
_ucp.permission_id AS "PermissionId",
_ucp.permissions_changed AS "PermissionsChanged",
_ucp.custom_permission_tree_ids AS "PermissionTrees",
_ucp.user_id AS "UserId"
FROM
uam.user_custom_permission _ucp
Query 2
Primary Table Alias |
Include References |
Include Permissions |
_ucp |
True |
False |
SELECT
_u.user_id AS "CreatedByUserId",
_u.code AS "CreatedByUserCode",
_u.full_name AS "CreatedByUserFullName",
_ucp.created_on AS "CreatedOn",
_u1.user_id AS "ModifiedByUserId",
_u1.code AS "ModifiedByUserCode",
_u1.full_name AS "ModifiedByUserFullName",
_ucp.modified_on AS "ModifiedOn",
_ucp.version AS "Version",
_pt.permission_tree_id AS "PermissionTreeId",
_pt.code AS "PermissionTreeCode",
_pt.description AS "PermissionTreeDescription",
_ucp.user_custom_permission_id AS "Id",
_ucp.apply_down_permission_tree AS "ApplyDownPermissionTree",
_ucp.exclude_properties AS "ExcludedProperties",
_ucp.notes AS "Notes",
_ucp.permission_id AS "PermissionId",
_ucp.permissions_changed AS "PermissionsChanged",
_ucp.custom_permission_tree_ids AS "PermissionTrees",
_u2.user_id AS "UserId",
_u2.code AS "UserCode",
_u2.full_name AS "UserFullName"
FROM
uam.user_custom_permission _ucp
JOIN uam.user _u ON _ucp.created_by_user_id = _u.user_id
JOIN uam.user _u1 ON _ucp.modified_by_user_id = _u1.user_id
JOIN uam.permission_tree _pt ON _ucp.permission_tree_id = _pt.permission_tree_id
JOIN uam.user _u2 ON _ucp.user_id = _u2.user_id
Query 3
Primary Table Alias |
Include References |
Include Permissions |
_ucp |
False |
True |
Parameter Name |
Data Type |
Value |
@permission_user_id |
Bigint |
500000000000 |
@permission_id |
Bigint |
10012600 |
WITH permission_tree_ids AS
(
SELECT DISTINCT unnest(psd.permission_tree_ids) AS permission_tree_id FROM uam.user_permission up JOIN uam.permission_set_data psd ON up.permission_set_id = psd.permission_set_id WHERE up.user_id = @permission_user_id AND up.permission_id = @permission_id
)
SELECT
_ucp.created_by_user_id AS "CreatedByUserId",
_ucp.created_on AS "CreatedOn",
_ucp.modified_by_user_id AS "ModifiedByUserId",
_ucp.modified_on AS "ModifiedOn",
_ucp.version AS "Version",
_ucp.permission_tree_id AS "PermissionTreeId",
_ucp.user_custom_permission_id AS "Id",
_ucp.apply_down_permission_tree AS "ApplyDownPermissionTree",
_ucp.exclude_properties AS "ExcludedProperties",
_ucp.notes AS "Notes",
_ucp.permission_id AS "PermissionId",
_ucp.permissions_changed AS "PermissionsChanged",
_ucp.custom_permission_tree_ids AS "PermissionTrees",
_ucp.user_id AS "UserId",
_ucp.permission_tree_id AS "_ucp_permission_tree_id"
FROM
uam.user_custom_permission _ucp
JOIN permission_tree_ids permission_join ON _ucp.permission_tree_id = permission_join.permission_tree_id
Query 4
Primary Table Alias |
Include References |
Include Permissions |
_ucp |
True |
True |
Parameter Name |
Data Type |
Value |
@permission_user_id |
Bigint |
500000000000 |
@permission_id |
Bigint |
10012600 |
WITH permission_tree_ids AS
(
SELECT DISTINCT unnest(psd.permission_tree_ids) AS permission_tree_id FROM uam.user_permission up JOIN uam.permission_set_data psd ON up.permission_set_id = psd.permission_set_id WHERE up.user_id = @permission_user_id AND up.permission_id = @permission_id
)
SELECT
_u.user_id AS "CreatedByUserId",
_u.code AS "CreatedByUserCode",
_u.full_name AS "CreatedByUserFullName",
_ucp.created_on AS "CreatedOn",
_u1.user_id AS "ModifiedByUserId",
_u1.code AS "ModifiedByUserCode",
_u1.full_name AS "ModifiedByUserFullName",
_ucp.modified_on AS "ModifiedOn",
_ucp.version AS "Version",
_pt.permission_tree_id AS "PermissionTreeId",
_pt.code AS "PermissionTreeCode",
_pt.description AS "PermissionTreeDescription",
_ucp.user_custom_permission_id AS "Id",
_ucp.apply_down_permission_tree AS "ApplyDownPermissionTree",
_ucp.exclude_properties AS "ExcludedProperties",
_ucp.notes AS "Notes",
_ucp.permission_id AS "PermissionId",
_ucp.permissions_changed AS "PermissionsChanged",
_ucp.custom_permission_tree_ids AS "PermissionTrees",
_u2.user_id AS "UserId",
_u2.code AS "UserCode",
_u2.full_name AS "UserFullName",
_ucp.permission_tree_id AS "_ucp_permission_tree_id",
_u.permission_tree_id AS "_u_permission_tree_id",
_u1.permission_tree_id AS "_u1_permission_tree_id",
_u2.permission_tree_id AS "_u2_permission_tree_id"
FROM
uam.user_custom_permission _ucp
JOIN permission_tree_ids permission_join ON _ucp.permission_tree_id = permission_join.permission_tree_id
JOIN uam.user _u ON _ucp.created_by_user_id = _u.user_id
JOIN uam.user _u1 ON _ucp.modified_by_user_id = _u1.user_id
JOIN uam.permission_tree _pt ON _ucp.permission_tree_id = _pt.permission_tree_id
JOIN uam.user _u2 ON _ucp.user_id = _u2.user_id