Barazo AppView backend barazo.forum

feat: pinned topics with category/forum-wide scope (#142) master

* feat(db): add pinnedAt and pinnedScope columns to topics * feat(api): expose isPinned, isLocked, pinnedScope in topic responses Add isPinned, isLocked, pinnedScope, and pinnedAt fields to both topicResponseProperties (JSON schema) and serializeTopic() so the frontend receives pinned/locked state in API responses. * feat(api): add scope support to pin endpoint (category/forum) * feat(api): sort pinned topics first in topic list queries Add CASE-based ORDER BY to GET /api/topics so pinned topics float to the top. When a category filter is active, both category-pinned and forum-pinned topics are promoted. On the homepage (no category filter), only forum-pinned topics get promoted. Secondary sort remains the user's chosen order (latest or popular). * fix(test): add pinned_at and pinned_scope columns to tenant isolation test schema