feat: add google drive dam foundation

This commit is contained in:
2026-05-08 11:36:30 -04:00
parent 2eb54b9228
commit 0fbb30bb4f
28 changed files with 3622 additions and 26 deletions

View File

@@ -0,0 +1,56 @@
# Digital Asset Management
## Status
Draft
## Goal
Provide a workspace media library backed by the organization's configured Google Drive.
The DAM is not a standalone storage system in v1. When an organization has Google Drive configured, Google Drive is the backing store for media files and Socialize stores metadata, workflow relationships, revisions, and audit history.
## Backing Store
Google Drive configuration belongs to the organization.
An organization Google Drive configuration includes:
- enabled state
- root folder id
- root folder name
- root folder URL
Workspace media is organized inside the organization Drive root by workspace slug:
```txt
<organization-drive-root>/<workspace-slug>/
```
Each workspace must have a stable slug. Slugs are unique within the owning organization and should not change casually because they map to an external DAM folder.
## Workspace DAM
The workspace DAM view should expose:
- whether Google Drive is configured for the owning organization
- the workspace slug
- the resolved workspace DAM folder name and path
- linked media assets for the workspace
- asset revisions and source references
## Business Rules
- Organization connector settings are managed by users with `ManageConnectors`.
- Workspace slugs are required and unique within an organization.
- Asset metadata remains workspace-scoped.
- Content item assets can point at Google Drive files in the workspace DAM folder.
- Socialize must not claim to upload or sync files until the Google Drive API integration exists.
## Out Of Scope For First Slice
- Google OAuth consent and refresh-token storage.
- Creating folders in Google Drive through the Drive API.
- Uploading files to Google Drive.
- Background Drive synchronization.
- Moving existing files between Drive folders.