@superawesome/permissions
Version:
Fine grained permissions / access control with ownerships & attribute picking, done right.
28 lines (26 loc) • 1.06 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.GrantPermitQuery = exports.EPossession = exports.isValidIUser = void 0;
/**
* Checks if the user value is a correct [`IUser` type](/interfaces/IUser.html)
*
* @param user the user object to test
*/
exports.isValidIUser = (user) => !!user &&
['number', 'string'].includes(typeof user.id) &&
Array.isArray(user === null || user === void 0 ? void 0 : user.roles) &&
user.roles.every((role) => typeof role === 'string');
var EPossession;
(function (EPossession) {
EPossession["own"] = "own";
EPossession["any"] = "any";
})(EPossession = exports.EPossession || (exports.EPossession = {}));
/**
The object that you pass to [permissions.grantPermit()](/classes/Permissions.html#grantPermit).
Expresses the "can **User** do **action** on **resource** [and optionally **resourceId**]".
See [Basic Usage](/additional-documentation/basic-usage.html)
*/
class GrantPermitQuery {
}
exports.GrantPermitQuery = GrantPermitQuery;
//# sourceMappingURL=types.js.map