Add real workspace channels
This commit is contained in:
43
docs/FEATURES/channels.md
Normal file
43
docs/FEATURES/channels.md
Normal 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.
|
||||
23
docs/TASKS/content/002-content-detail-back-navigation.md
Normal file
23
docs/TASKS/content/002-content-detail-back-navigation.md
Normal 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
|
||||
```
|
||||
34
docs/TASKS/content/003-real-workspace-channels.md
Normal file
34
docs/TASKS/content/003-real-workspace-channels.md
Normal 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
|
||||
```
|
||||
Reference in New Issue
Block a user