UNPKG

@geexbox/accesscontrol

Version:

Subject and Attribute based Access Control for Node.js

62 lines (61 loc) 2.19 kB
import { Possession } from "../enums/Possession"; /** * 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 subjects to be queried. * @type {String|Array<String>} */ subject?: 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 subject(s). * See {@link ?api=ac#AccessControl.Action|`AccessControl.Action` enumeration} * for possible values. * @type {String} */ action?: string; /** * Defines the possession of the resource for the specified action. * See {@link ?api=ac#AccessControl.Possession|`AccessControl.Possession` enumeration} * for possible values. * @type {String} */ possession?: Possession; } 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. * @name AccessControl~IQueryInfo * @type {Object} * * @property {String|Array<String>} subject * Indicates a single or multiple subjects 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 subject(s). * See {@link ?api=ac#AccessControl.Action|`AccessControl.Action` enumeration} * for possible values. * * @property {String} possession * Defines the possession of the resource for the specified action. * See {@link ?api=ac#AccessControl.Possession|`AccessControl.Possession` enumeration} * for possible values. */