Files
social-media/docs/TASKS/content/008-google-drive-backed-dam-foundation.md

46 lines
1.6 KiB
Markdown

# Task: Add Google Drive backed DAM foundation
## Feature
`docs/FEATURES/digital-asset-management.md`
## Goal
Make the DAM model aware of organization-level Google Drive backing storage and workspace slug folders.
## Scope
- Add organization Google Drive configuration metadata.
- Add a required workspace `Slug`, unique within the owning organization.
- Generate a slug from workspace name during workspace creation.
- Allow workspace managers to update a workspace slug.
- Add DAM metadata to workspace asset responses.
- Add a workspace DAM endpoint that returns backing-store configuration, workspace folder information, and workspace assets.
- Keep actual Google Drive API folder creation, uploads, and sync out of scope.
## Likely Files
- `backend/src/Socialize.Api/Modules/Organizations/`
- `backend/src/Socialize.Api/Modules/Workspaces/`
- `backend/src/Socialize.Api/Modules/Assets/`
- `backend/src/Socialize.Api/Data/AppDbContext.cs`
- `frontend/src/features/content/views/MediaLibraryView.vue`
- `frontend/src/features/content/stores/`
## Validation
```bash
dotnet build backend/Socialize.slnx
dotnet test backend/Socialize.slnx
cd frontend && npm run build
```
## Acceptance Criteria
- [x] Organization responses include Google Drive DAM configuration metadata.
- [x] Organization connector managers can save Google Drive DAM configuration.
- [x] Workspace responses include a stable slug.
- [x] New workspaces receive a unique slug based on the workspace name.
- [x] Workspace DAM data resolves to `<drive-root>/<workspace-slug>`.
- [x] Existing manually linked Google Drive content assets remain supported.