1 parent
d0fcc93a8d
commit
5607e97533
7 files changed
+60
-9
No files matched your search
@@ -1,5 +1,9 @@
|
||||
import { Comment } from '../entities/comment.entity.js';
|
||||
|
||||
/** Направление пагинации комментариев: forward — от старых к новым, backward — от новых к старым */
|
||||
export const COMMENT_LIST_DIRECTIONS = ['forward', 'backward'] as const;
|
||||
export type CommentListDirection = (typeof COMMENT_LIST_DIRECTIONS)[number];
|
||||
|
||||
/** DI-токен, т.к. интерфейсы стираются при компиляции TS */
|
||||
export const COMMENT_REPOSITORY = Symbol('COMMENT_REPOSITORY');
|
||||
|
||||
@@ -8,12 +12,16 @@ export interface ICommentRepository {
|
||||
findById(id: string): Promise<Comment | null>;
|
||||
/**
|
||||
* Комментарии задачи от старых к новым, включая удалённые.
|
||||
* Курсорная пагинация: cursor — id последнего полученного комментария.
|
||||
* Курсорная пагинация. forward: cursor — id последнего полученного комментария,
|
||||
* отдаются более новые. backward: cursor — id самого старого полученного,
|
||||
* отдаются более старые (без cursor — последняя страница). Список всегда
|
||||
* отсортирован от старых к новым.
|
||||
*/
|
||||
findByIssue(params: {
|
||||
issueId: number;
|
||||
limit: number;
|
||||
cursor?: string;
|
||||
direction?: CommentListDirection;
|
||||
}): Promise<{ list: Comment[]; nextCursor: string | null }>;
|
||||
/**
|
||||
* Создание и обновление сохраняют и вложения (fileIds) — атомарно с комментарием.
|
||||
|
||||
Reference in new issue
Block a user