@@ -79,8 +79,10 @@ export const main = async (): Promise<void> => {
79
79
const data = dataByUUID . get ( res . filename )
80
80
if ( data !== undefined ) {
81
81
const client = await WorkspaceClient . create ( data . workspace )
82
- await storageAdapter . syncBlobFromStorage ( ctx , data . workspaceId , res . filename , storageConfig ?. name )
83
- await client . saveFile ( res . filename , data . name )
82
+ const prefix = rootPrefix ( storageConfig , data . workspaceId )
83
+ const filename = stripPrefix ( prefix , res . filename )
84
+ await storageAdapter . syncBlobFromStorage ( ctx , data . workspaceId , filename , storageConfig ?. name )
85
+ await client . saveFile ( filename , data . name )
84
86
await client . close ( )
85
87
dataByUUID . delete ( res . filename )
86
88
} else {
@@ -203,6 +205,17 @@ function getDocumentKey (storageConfig: any, workspace: WorkspaceId, name: strin
203
205
return storageConfig . rootBucket === undefined ? name : `${ getBucketFolder ( workspace ) } /${ name } `
204
206
}
205
207
208
+ function stripPrefix ( prefix : string | undefined , key : string ) : string {
209
+ if ( prefix !== undefined && key . startsWith ( prefix ) ) {
210
+ return key . slice ( prefix . length )
211
+ }
212
+ return key
213
+ }
214
+
215
+ function rootPrefix ( storageConfig : any , workspaceId : WorkspaceId ) : string | undefined {
216
+ return storageConfig . rootBucket !== undefined ? getBucketFolder ( workspaceId ) + '/' : undefined
217
+ }
218
+
206
219
const startRecord = async (
207
220
storageConfig : StorageConfig | undefined ,
208
221
egressClient : EgressClient ,
0 commit comments