diff options
| author | Marie <marie@kaifa.ch> | 2023-12-31 18:43:38 +0100 |
|---|---|---|
| committer | Marie <marie@kaifa.ch> | 2023-12-31 18:43:38 +0100 |
| commit | 233eff48f3e5ef69c000205d5fd91ad58104a2dd (patch) | |
| tree | 9cf88f268d39258376fb9628bc1c5d026e889a62 /packages/backend/src/queue | |
| parent | upd: check for replies length (diff) | |
| parent | Simplify hash steps (diff) | |
| download | sharkey-233eff48f3e5ef69c000205d5fd91ad58104a2dd.tar.gz sharkey-233eff48f3e5ef69c000205d5fd91ad58104a2dd.tar.bz2 sharkey-233eff48f3e5ef69c000205d5fd91ad58104a2dd.zip | |
merge: pleroma note import - Use hashed filename for exists check (#283)
Reviewed-on: https://git.joinsharkey.org/Sharkey/Sharkey/pulls/283
Diffstat (limited to 'packages/backend/src/queue')
| -rw-r--r-- | packages/backend/src/queue/processors/ImportNotesProcessorService.ts | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/packages/backend/src/queue/processors/ImportNotesProcessorService.ts b/packages/backend/src/queue/processors/ImportNotesProcessorService.ts index 6749001205..1dc22404bf 100644 --- a/packages/backend/src/queue/processors/ImportNotesProcessorService.ts +++ b/packages/backend/src/queue/processors/ImportNotesProcessorService.ts @@ -1,5 +1,6 @@ import * as fs from 'node:fs'; import * as vm from 'node:vm'; +import * as crypto from 'node:crypto'; import { Inject, Injectable } from '@nestjs/common'; import { ZipReader } from 'slacc'; import { DI } from '@/di-symbols.js'; @@ -472,7 +473,9 @@ export class ImportNotesProcessorService { for await (const file of post.object.attachment) { const slashdex = file.url.lastIndexOf('/'); - const name = file.url.substring(slashdex + 1); + const filename = file.url.substring(slashdex + 1); + const hash = crypto.createHash('md5').update(file.url).digest('base64url'); + const name = `${hash}-${filename}`; const [filePath, cleanup] = await createTemp(); const exists = await this.driveFilesRepository.findOneBy({ name: name, userId: user.id }) ?? await this.driveFilesRepository.findOneBy({ name: name, userId: user.id, folderId: pleroFolder?.id }); @@ -487,6 +490,7 @@ export class ImportNotesProcessorService { user: user, path: filePath, name: name, + comment: file.name, folderId: pleroFolder?.id, }); files.push(driveFile); |