feat(media): implement integrated media manager with sidebar and picker

- Implement DriveService and ShopifyMediaService for backend operations
- Create MediaSidebar.html with premium UI and auto-polling
- Integrate Google Picker API for robust file selection
- Orchestrate sync logic via MediaService (Drive -> Staged Upload -> Shopify)
- Add secure config handling for API keys and tokens
- Update ppsscript.json with required OAuth scopes
- Update MEMORY.md and README.md with architecture details
This commit is contained in:
Ben Miller
2025-12-25 15:10:17 -07:00
parent 2417359595
commit 95094b1674
21 changed files with 973 additions and 16 deletions

View File

@ -11,6 +11,7 @@ export class Config {
shopifyCountryCodeOfOrigin: string
shopifyProvinceCodeOfOrigin: string
salesSyncFrequency: number
googlePickerApiKey: string
constructor() {
let ss = SpreadsheetApp.getActive()
@ -77,5 +78,11 @@ export class Config {
"value"
)
this.salesSyncFrequency = freq ? parseInt(freq) : 10
this.googlePickerApiKey = vlookupByColumns(
"vars",
"key",
"googlePickerApiKey",
"value"
)
}
}