Summary
auth/service.go:149 hardcodes role: "user" in every JWT (CreateSession → GenerateJWTWithTTL(..., "user", ...)), and internal/api/middleware/auth.go:107-116 AdminMiddleware checks the JWT role claim — so no account can ever be admin, making every /admin/* endpoint unreachable via normal auth.
Acceptance Criteria
Complexity
High — security + access model.
Summary
auth/service.go:149hardcodesrole: "user"in every JWT (CreateSession→GenerateJWTWithTTL(..., "user", ...)), andinternal/api/middleware/auth.go:107-116AdminMiddlewarechecks the JWTroleclaim — so no account can ever beadmin, making every/admin/*endpoint unreachable via normal auth.Acceptance Criteria
Complexity
High — security + access model.