role-acl
Version:
Role, Attribute and Condition based Access Control for Node.js
62 lines (61 loc) • 1.89 kB
TypeScript
/**
* An interface that defines an access information to be queried.
* When you start a method chain with `AccessControl#can` method, you're
* actually building this query object which will be used to check the access
* permissions.
* @interface
*/
interface IQueryInfo {
/**
* Indicates a single or multiple roles to be queried.
* @type {String|Array<String>}
*/
role?: string | string[];
/**
* Indicates the resource to be queried.
* @type {String}
*/
resource?: string;
/**
* Defines the type of the operation that is (or not) to be performed on
* the resource by the defined role(s).
* See {@link ?api=ac#AccessControl.Action|`AccessControl.Action` enumeration}
* for possible values.
* @type {String}
*/
action?: string;
/**
* Indicates if conditions to be skipped while querying.
*/
skipConditions?: boolean;
/**
* Indicates if conditions to be evaluated in sync;
*/
checkInSync?: boolean;
/**
* Context for evaluating the condition
* @type {Object}
*/
context?: any;
}
export { IQueryInfo };
/**
* An interface that defines an access information to be queried.
* When you start a method chain with `AccessControl#can` method, you're
* actually building this query object which will be used to check the access
* permissions.
* @typedef AccessControl~IQueryInfo
* @type Object
*
* @property {String|Array<String>} role
* Indicates a single or multiple roles to be queried.
*
* @property {String} resource
* Indicates the resource to be queried.
*
* @property {String} action
* Defines the type of the operation that is (or not) to be performed on
* the resource by the defined role(s).
* See {@link ?api=ac#AccessControl.Action|`AccessControl.Action` enumeration}
* for possible values.
*/