feat(pages): add admin pages mini-CMS with public rendering (#126)
* feat(pages): add admin pages mini-CMS with public rendering
Add a complete CMS system for admin-managed static pages (privacy policy,
terms of service, about, rules, etc.) replacing the hardcoded /legal/* routes.
Backend changes:
- New `pages` table with hierarchy (parentId), status (draft/published),
markdown content, SEO meta description, and tenant isolation via RLS
- Zod validation with reserved slug rejection (new, edit, drafts)
- Full CRUD API: public endpoints (GET /api/pages, GET /api/pages/:slug)
serve only published pages; admin endpoints handle drafts and tree management
- Cycle detection prevents circular parent references
- Setup service seeds 3 default pages (Terms, Privacy, Cookie Policy)
with full markdown content during community initialization
- Migration 0004_add_pages_table with proper journal chain
Closes barazo-forum/barazo-workspace#TBD
* fix(pages): resolve ESLint errors in routes and tests
authored by