Add real workspace channels

This commit is contained in:
2026-05-05 13:06:57 -04:00
parent 6e658b8215
commit 244be555f9
26 changed files with 2598 additions and 128 deletions

43
docs/FEATURES/channels.md Normal file
View File

@@ -0,0 +1,43 @@
# Channels
Channels are configured social destinations inside a workspace. They represent the account, handle, page, feed, newsletter, or other publication destination where content will eventually be handed off for publishing.
Channels are workspace-owned data. Organization-owned connectors may provide credentials for external systems, but the workspace owns which destinations are available for content planning.
## Model
A channel has:
- `id`
- `workspaceId`
- `name`
- `network`
- optional `handle`
- optional `externalUrl`
- `createdAt`
`network` is a controlled string matching the frontend channel network options:
- `Instagram`
- `TikTok`
- `Facebook`
- `LinkedIn`
- `YouTube`
- `X`
- `Reddit`
- `Website`
Channel names must be unique inside a workspace for the same network.
## Behavior
- Authenticated users with workspace access can list channels for their active workspace.
- Workspace managers can create channels.
- Content planning uses configured channels as selectable destinations.
- Development seed data should create real workspace channels instead of relying on content target labels as fake channels.
## Not In Scope
- External connector credentials.
- Publishing directly to social networks.
- Channel deletion, archiving, or editing.

View File

@@ -0,0 +1,23 @@
# Task: Add content detail back navigation
## Goal
Make it easy to return to the Content calendar or upcoming list after opening a content item detail page.
## Scope
- Add a visible back control to `ContentItemDetailView`.
- Preserve the originating Content page view state when navigating from calendar or upcoming entries.
- Keep the change frontend-only.
## Relevant Files
- `frontend/src/features/content/views/ContentItemsView.vue`
- `frontend/src/features/content/views/ContentItemDetailView.vue`
## Validation
```bash
cd frontend
npm run build
```

View File

@@ -0,0 +1,34 @@
# Task: Add real workspace channels
## Feature
`docs/FEATURES/channels.md`
## Goal
Replace frontend-derived fake channels with real workspace-owned channel records served by the backend API.
## Scope
- Add a backend `Channels` module with a `Channel` table.
- Add list and create endpoints for workspace channels.
- Seed development channels and align seeded content publication targets to those configured channel names.
- Update the frontend channels store to load and create channels through the API.
- Keep the Channels page UI shape intact.
## Relevant Files
- `backend/src/Socialize.Api/Data/AppDbContext.cs`
- `backend/src/Socialize.Api/Modules/Channels/`
- `backend/src/Socialize.Api/Infrastructure/Development/DevelopmentSeedExtensions.cs`
- `frontend/src/features/channels/stores/channelsStore.js`
- `docs/FEATURES/channels.md`
## Validation
```bash
dotnet build backend/Socialize.slnx
dotnet test backend/Socialize.slnx
cd frontend
npm run build
```