Skip to content

Commit 00d8cf2

Browse files
authored
Fix love records (#6889)
Signed-off-by: Denis Bykhov <[email protected]>
1 parent 211f4ed commit 00d8cf2

File tree

1 file changed

+15
-2
lines changed

1 file changed

+15
-2
lines changed

services/love/src/main.ts

Lines changed: 15 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -79,8 +79,10 @@ export const main = async (): Promise<void> => {
7979
const data = dataByUUID.get(res.filename)
8080
if (data !== undefined) {
8181
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)
8486
await client.close()
8587
dataByUUID.delete(res.filename)
8688
} else {
@@ -203,6 +205,17 @@ function getDocumentKey (storageConfig: any, workspace: WorkspaceId, name: strin
203205
return storageConfig.rootBucket === undefined ? name : `${getBucketFolder(workspace)}/${name}`
204206
}
205207

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+
206219
const startRecord = async (
207220
storageConfig: StorageConfig | undefined,
208221
egressClient: EgressClient,

0 commit comments

Comments
 (0)