trypost/resources/js
Paulo Castellano 5bb39da598 fix(permissions): enforce workspace roles across backend and UI
Viewers could mutate posts, automations and trigger AI write endpoints,
and every role saw create/manage affordances that 403'd on click.

Backend (security):
- PostPolicy update/delete now require member+ (was tenancy-only), which
  also gates the AI write endpoints that authorize('update')
- AutomationPolicy create/update/delete require member+; activate/pause
  delegate to update
- AutomationController authorizes index/store/show; AnalyticsController
  authorizes view
- Comments stay open to members incl. viewer (by design)

Frontend (UI gating via new useWorkspaceRole composable):
- Sidebar: create post / create workspace / automations / library nav
- Accounts grid: connect / disconnect / reconnect (admin+)
- Members: invite / change role / remove / cancel invite (admin+)
- Account billing tab (owner); posts index + calendar create affordances

Tests: PostPolicyTest, AutomationPolicyTest (all four roles) and an
end-to-end WorkspaceRolePermissionsTest; aligned the automation test
suites' account/workspace setup with role pivots.
2026-06-22 16:31:54 -03:00
..
components fix(permissions): enforce workspace roles across backend and UI 2026-06-22 16:31:54 -03:00
composables fix(permissions): enforce workspace roles across backend and UI 2026-06-22 16:31:54 -03:00
data feat: media gallery picker, custom emoji picker, preview tabs, real platform logos 2026-05-01 14:53:49 -03:00
layouts feat: per-workspace pricing, onboarding, and billing overhaul 2026-06-21 20:40:03 -03:00
lib Enhance automation functionality: Introduce workflow variables and improve node validation 2026-06-11 15:47:29 -03:00
pages fix(permissions): enforce workspace roles across backend and UI 2026-06-22 16:31:54 -03:00
types feat(channels): add Discord as a social channel 2026-06-16 14:44:00 -03:00
utils fix(assets): always chunk uploads in GalleryBrowser 2026-05-18 20:03:52 -03:00
app.ts feat(docker): add Caddy reverse proxy and domain-portable Reverb config 2026-05-27 14:53:46 -03:00
datalayer.ts feat: GTM dataLayer context + checkout/purchase events 2026-05-06 10:14:17 -03:00
date.ts Centralize timezone display in the date helper 2026-06-13 16:46:34 -03:00
dayjs.ts refactor: reorganize billing language keys and implement AccountPolicy for subscription management 2026-05-03 17:26:55 -03:00
debounce.ts fix: resolve all TypeScript errors 2026-03-31 09:34:39 -03:00
echo.ts refactor(docker): align echo.ts with the shared sendkit config 2026-05-27 15:17:47 -03:00
posthog.ts fix: PostHog property keys, deletion idempotency and full enabled gate 2026-05-07 13:15:36 -03:00
ssr.ts chore: first commit 2026-01-14 22:13:44 -03:00