What database tables should I take to find connection between a Case and permission to its reading?

Question

What database tables should I take to find connection between a Case and permission to its reading?

Answer

Every object has a permission table with the following name structure: Sys + object + Right, (for a case, it is the SySCaseRight name). The permissions are added to such tables with specifying the SySAdminUnitId (a record identifier) of SySAdminUnit (user and group table). The table contains: a RecorId  - the Id of the record that the permission is applied to, Operation - the operation of the permission, and RightLevel - the level of the permission.

SourceId contains the Id from the SysEntitySchemaRecRightSource table, which is the source of permission distribution (Owner, Assignee, Default).

RightLevel values:

      0 - Deny

      1 - CanRead

      2 - CanEdit

Operation values:

      0 - Read

      1 - Edit

      2 - Delete

Like 0

Like

Share

1 comments

Worth noting that RightLevel 1 corresponds to the Operation being "Granted" (e.g. user is granted permissions to edit the record for Operation 1) while RightLevel 2 corresponds to the Operation being "Granted/delegation permitted" (e.g. user is granted permissions to edit the record for Operation 1 and can also grant this permission to others.

 

Record permissions UI demonstrating the above:

Show all comments