UNPKG

@superawesome/permissions

Version:

Fine grained permissions / access control with ownerships & attribute picking, done right.

28 lines (26 loc) 1.06 kB
"use strict"; 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