33 lines
1.1 KiB
JSON
33 lines
1.1 KiB
JSON
{
|
|
"id": "phase1-foundation-17",
|
|
"seq": "17",
|
|
"title": "Create authentication middleware",
|
|
"status": "completed",
|
|
"depends_on": ["10", "12"],
|
|
"parallel": false,
|
|
"context_files": [
|
|
"/Users/kunthawatgreethong/Gitea/moreminimore-vibe/Websitebuilder/.tmp/sessions/phase1-foundation/context.md",
|
|
"/Users/kunthawatgreethong/.config/opencode/context/core/essential-patterns.md"
|
|
],
|
|
"acceptance_criteria": [
|
|
"requireAuth middleware created",
|
|
"Verifies access token from cookie",
|
|
"Attaches user to request",
|
|
"Returns 401 for unauthenticated requests",
|
|
"requireRole middleware created",
|
|
"Checks user role (admin, co_admin, owner, user)",
|
|
"Returns 403 for unauthorized roles",
|
|
"requireOrgMembership middleware created",
|
|
"Verifies user is member of organization",
|
|
"Returns 403 for non-members",
|
|
"Error handling for invalid tokens",
|
|
"Unit tests written with Vitest",
|
|
"Tests pass with 90%+ coverage"
|
|
],
|
|
"deliverables": [
|
|
"src/middleware.ts",
|
|
"src/lib/auth/middleware.ts",
|
|
"src/lib/auth/__tests__/middleware.test.ts"
|
|
]
|
|
}
|