Add attachments to comments
- CommentAttachment link table (comment <-> file) + migration - fileIds in create/update comment; update replaces the whole set, synced in one transaction with the comment - CommentDto.attachments; empty for deleted comments - Soft delete drops attachments so GC can collect the files - Max 10 files per comment, ordered by upload time (uuid v7) - Registers comments as a file owner - Rename CommentAuthorExpanderService -> CommentExpanderService (expands authors and files) Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
1 parent
423afa658d
commit
60fb39f98f
28 files changed
+522
-69
No files matched your search
@@ -15,6 +15,14 @@ export interface ICommentRepository {
|
||||
limit: number;
|
||||
cursor?: string;
|
||||
}): Promise<{ list: Comment[]; nextCursor: string | null }>;
|
||||
/**
|
||||
* Создание и обновление сохраняют и вложения (fileIds) — атомарно с комментарием.
|
||||
* FileNotFoundException, если файл удалили между проверкой и записью.
|
||||
*/
|
||||
create(comment: Comment): Promise<Comment>;
|
||||
update(comment: Comment): Promise<void>;
|
||||
/** Задачи неудалённых комментариев, к которым прикреплён файл */
|
||||
findIssueIdsByAttachedFile(fileId: string): Promise<number[]>;
|
||||
/** Подмножество fileIds, прикреплённых хотя бы к одному комментарию */
|
||||
findReferencedFileIds(fileIds: string[]): Promise<string[]>;
|
||||
}
|
||||
Reference in new issue
Block a user