From d7478303847d46bb075e6a6789311c88af4d81b7 Mon Sep 17 00:00:00 2001 From: Geert Rademakes Date: Wed, 17 Sep 2025 13:22:19 +0200 Subject: [PATCH] Working webdav backend! --- packages/backend/src/services/webdavService.ts | 9 +++++---- packages/backend/test-playback.mp3 | 1 + 2 files changed, 6 insertions(+), 4 deletions(-) create mode 100644 packages/backend/test-playback.mp3 diff --git a/packages/backend/src/services/webdavService.ts b/packages/backend/src/services/webdavService.ts index 3e88a47..9dd5f57 100644 --- a/packages/backend/src/services/webdavService.ts +++ b/packages/backend/src/services/webdavService.ts @@ -96,7 +96,7 @@ export class WebDAVService implements StorageProvider { return { key: finalKey, - url: `${this.basePath}/${finalKey}`, + url: `${this.config.url}${this.basePath}/${finalKey}`, size: file.length, contentType, }; @@ -172,8 +172,8 @@ export class WebDAVService implements StorageProvider { */ async getPresignedUrl(key: string, expiresIn: number = 3600): Promise { // WebDAV doesn't support presigned URLs, so we return a direct URL - // In a real implementation, you might want to implement token-based access - const baseUrl = (this.client as any).getURL?.() || (this.client as any).toString() || this.config.url; + // Use the config URL directly since WebDAV client doesn't expose getURL() + const baseUrl = this.config.url; return `${baseUrl}${this.basePath}/${key}`; } @@ -222,7 +222,8 @@ export class WebDAVService implements StorageProvider { * Get streaming URL for a file */ async getStreamingUrl(key: string): Promise { - const baseUrl = (this.client as any).getURL?.() || (this.client as any).toString() || this.config.url; + // Use the config URL directly since WebDAV client doesn't expose getURL() + const baseUrl = this.config.url; return `${baseUrl}${this.basePath}/${key}`; } diff --git a/packages/backend/test-playback.mp3 b/packages/backend/test-playback.mp3 new file mode 100644 index 0000000..d670460 --- /dev/null +++ b/packages/backend/test-playback.mp3 @@ -0,0 +1 @@ +test content