The post editor lost the Pinterest board picker during a UI rewrite, causing scheduled posts to fail in production with 'Pinterest board_id is required'. This restores the picker and locks the contract with validation + tests so the regression cannot happen silently again. Backend: - PostController: pinterestBoards is now Record<account_id, Board[]> (mirrors the TikTok creator-info pattern); supports multi-account. - UpdatePostRequest: 'platforms.*.meta.board_id' rule + after-validator rejects Publishing/Scheduling Pinterest posts without board_id. Frontend: - PinterestSettings.vue: Combobox board picker with empty-state warning; emits update:meta with board_id. - ScheduleTab / PostEditorSidebar / Edit pass pinterestBoards down by social_account_id. Tests (6 new): - UpdatePostRequestTest: rejects publishing/scheduling without board_id across pin/carousel/video pin; allows draft without board_id; pinterest error doesn't block sibling platforms in multi-platform. - PinterestPublisherTest: publisher throws for carousel + video pin when no board_id (existing image-pin case kept). 1542 tests passing. |
||
|---|---|---|
| .. | ||
| Api | ||
| App | ||