Documentation / @zerotal/admin / index / AdminAbilityMiddleware
Class: AdminAbilityMiddleware
Defined in: admin/src/provider/AdminAbilityMiddleware.ts:15
Enforces a page's declared ability at the route.
The sidebar already hides destinations the user may not reach, but hiding a link is presentation, not access control — the URL is still typeable. This middleware runs the same Panel.can check the sidebar used, so the two can't drift: what you cannot see, you cannot open.
Mounted per page by AdminProvider, on top of the panel-wide guard.
Extends
BaseMiddleware<{ability?:string; }>
Constructors
Constructor
new AdminAbilityMiddleware():
AdminAbilityMiddleware
Defined in: core/src/middleware/BaseMiddleware.ts:36
Returns
AdminAbilityMiddleware
Inherited from
Properties
options
protectedoptions:object={}
Defined in: admin/src/provider/AdminAbilityMiddleware.ts:16
Subclasses must declare this with their default option values. TypeScript enforces this at compile time — forgetting it is a type error.
ability?
optionalability?:string
Overrides
Methods
handle()
handle(
_http,next):Promise<void|Response>
Defined in: admin/src/provider/AdminAbilityMiddleware.ts:18
Parameters
_http
next
Returns
Promise<void | Response>
Overrides
with()
staticwith<T,Opts>(this,options): () =>InstanceType<T>
Defined in: core/src/middleware/BaseMiddleware.ts:48
Returns a zero-arg subclass with the given options deep-merged on top of the subclass defaults, usable directly in app.use([...]).
Type Parameters
T
T extends (...args) => BaseMiddleware<any>
Opts
Opts = T extends (...args) => BaseMiddleware<U> ? U : object
Parameters
this
T
options
Partial<Opts>
Returns
() => InstanceType<T>
Inherited from
afterResponse()?
optionalafterResponse(ctx):Promise<void>
Defined in: core/src/middleware/BaseMiddleware.ts:70
Parameters
ctx
Returns
Promise<void>
Inherited from
onError()?
optionalonError(ctx,error):Promise<void>
Defined in: core/src/middleware/BaseMiddleware.ts:71
Parameters
ctx
error
Error
Returns
Promise<void>