Roles & Permissions
| Role | Description |
|---|---|
viewer | Read-only access to published pages |
editor | Create and edit pages |
admin | Full access including user management |
Assigning Roles
Roles are assigned per workspace. An admin can promote any member:
PATCH /workspace/members/:userId
Content-Type: application/json
{ "role": "editor" }
Middleware
Use the requireRole middleware to protect routes:
export default defineEventHandler(requireRole('editor', async (event) => {
// handler logic
}))