Move workspace membership and role validation from individual handlers into dedicated Chi middleware. The new middleware resolves workspace ID (from query param, X-Workspace-ID header, or URL param), validates membership via DB, and injects the member into request context. Handlers now read workspace ID and member from context instead of calling requireWorkspaceMember/requireWorkspaceRole directly. This eliminates ~17 duplicated permission checks across handlers and makes it harder to accidentally omit access control on new routes. |
||
|---|---|---|
| .. | ||
| auth | ||
| cli | ||
| daemon | ||
| events | ||
| handler | ||
| logger | ||
| middleware | ||
| realtime | ||
| service | ||
| util | ||