...
Expand | |||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| |||||||||||||||||||
Proposed response structure - to get meta + datasets.
Unauthorized Access - Status Code 401
|
Access Controls
...
visibility :
Type - string
Enum - [ Public, private ]
Description - Validates the visibility of the report whether it’s public or private
...
authorizedRoles:
Type - [string] or string
Description - Roles authorized to read the report
...
tenant :
Type - [string] or string
Description - tenants authorized to read the report.
showOnDashboard:
...
Type - boolean
...
Default: true
...
Invalid Report Id - Status Code 404
|
...
Access Control Spec
Controls who can access a report based on certain rules.
This can be achieved using two attributes visibility and accessPath.
Visibility
It can be defined both at the report level or it's children (i.e table, chart, map etc ) within a report.
Visibility | Access |
---|---|
public (default) | Accessible by all users. Anyone can discover and consume these Reports. |
protected | Accessible only to a limited set of users based on a criteria. Default can be users belonging to the same organisation or tenant etc. |
private | Similar to “protected” - accessible only to a limited set of users defined by the “access path” attribute. |
parent | Accessible only from within the parent object, i.e access to the users is based on the visibility of the parent object. Can be defined at chart, table or map defined within a parent report. |
AccessPath
This attribute is applicable for Reports with “protected” or “private” visibility only. This attribute can be used to restrict the access based on or more of the following criteria: organisation, role, group, user id, and location.
AccessPath interface is as follows :-
**Note - All keys are optional.
Code Block | ||
---|---|---|
| ||
interface IAccessPath {
organisation: Array<string> | string;
role: Array<string> | string;
tenant: Array<string> | string;
channel: Array<string> | string;
group: Array<string> | string;
userType: Array<string> | string;
framework: Array<string> | string;
isSuperAdmin: Array<string> | string;
board: Array<string> | string;
userId: Array<string> | string;
userLocation: {
state: Array<string> | string;
district: Array<string> | string;
block: Array<string> | string;
};
...anyOtherAttribute: any
} |
...
Resources
...