Permissions Roles, permissions, and policies for NetPress
NetPressv0.1.7 Permissionsv0.2.3 Docsv0.2.2
Overview Installation Policies Auth Guard
Reference

API Reference

Quick reference of every symbol exported from @admicaa/netpress-permissions.

Core runtime primitives such as Auth, BaseController, service providers, and the primary authorization pipeline live in @admicaa/netpress: <https://github.com/admicaa/netpress>

Models

SymbolKindNotes
RoleclassEloquent-style model for roles
PermissionclassEloquent-style model for permissions

Traits

SymbolKindNotes
HasRolesmixinAdds roles() and role helpers
HasPermissionsmixinAdds permissions(), can, cannot, permission helpers
AuthorizablemixinComposes HasRoles and HasPermissions
applyAuthorizable(Class)functionAttaches the full trait set to an existing class
applyModelMixin(Class, mixin)functionLow-level mixin applicator

AuthGuard

SymbolKindNotes
AuthGuard.authenticated()middlewareRequire req.user
AuthGuard.can(ability, resourceResolver?)middlewarePolicy-aware ability check
AuthGuard.canAny(abilities, resourceResolver?)middlewareRequire at least one ability
AuthGuard.canAll(abilities, resourceResolver?)middlewareRequire every ability
AuthGuard.role(...names)middlewareAny of the listed roles
AuthGuard.roles(...names)middlewareAll of the listed roles
AuthGuard.permission(...names)middlewareAny of the listed permissions
AuthGuard.permissions(...names)middlewareAll of the listed permissions
AuthGuard.guest()middlewareRequire no authenticated user

Configuration

SymbolKindNotes
buildPermissionsConfig(overrides?)functionPure merge on top of the current runtime config
configurePermissions(overrides?)functionMutates the runtime config
createDefaultPermissionsConfig()functionFresh clone of the package defaults
getPermissionsConfig()functionRead-only clone of the current config
resolvePermissionsConfig()functionLive reference to the current config
resolvePermissionsMorphTypeColumn(config?)functionReturns ${morphName}Type
resetPermissionsConfig()functionRestore defaults

Migrations

SymbolKindNotes
createPermissionTables(target, overrides?)asyncBuild the five package tables/collections
dropPermissionTables(target, overrides?)asyncTear the five tables down

Publisher

SymbolKindNotes
NetpressPermissionsServiceProviderclassAuto-loads config into the package runtime
permissionsPublisherobjectPublisher descriptor used by vendor:publish
publishPermissionsPackage(options?)asyncProgrammatic publisher entry point

Re-exported From @admicaa/netpress

Convenience re-exports so you can import authorization primitives from one place:

  • authorizeRequest
  • can
  • listPolicies
  • registerPolicies
  • registerPolicy
  • resetPolicies
  • resolvePolicy