summaryrefslogtreecommitdiff
path: root/packages/backend/src/queue/processors
diff options
context:
space:
mode:
authorMarie <marie@kaifa.ch>2023-12-31 18:43:38 +0100
committerMarie <marie@kaifa.ch>2023-12-31 18:43:38 +0100
commit233eff48f3e5ef69c000205d5fd91ad58104a2dd (patch)
tree9cf88f268d39258376fb9628bc1c5d026e889a62 /packages/backend/src/queue/processors
parentupd: check for replies length (diff)
parentSimplify hash steps (diff)
downloadsharkey-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/processors')
-rw-r--r--packages/backend/src/queue/processors/ImportNotesProcessorService.ts6
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);