fix archived

This commit is contained in:
efrilm
2025-10-17 10:45:38 +07:00
parent a10accdf8d
commit 6a67cd1267
5 changed files with 31 additions and 7 deletions
@@ -49,6 +49,7 @@ type LetterOutgoingProcessor interface {
GetOutgoingLetterWithDetails(ctx context.Context, letterID uuid.UUID) (*entities.LetterOutgoing, error)
GetUsersByIDs(ctx context.Context, userIDs []uuid.UUID) ([]entities.User, error)
BulkArchiveOutgoingLetters(ctx context.Context, letterIDs []uuid.UUID) (int64, error)
BulkArchiveIncomingLettersForUser(ctx context.Context, letterIDs []uuid.UUID, userId uuid.UUID) (int64, error)
// Batch loading methods for efficient querying
GetBatchAttachments(ctx context.Context, letterIDs []uuid.UUID) (map[uuid.UUID][]entities.LetterOutgoingAttachment, error)
@@ -1087,6 +1088,10 @@ func (p *LetterOutgoingProcessorImpl) BulkArchiveOutgoingLetters(ctx context.Con
return p.letterRepo.BulkArchive(ctx, letterIDs)
}
func (p *LetterOutgoingProcessorImpl) BulkArchiveIncomingLettersForUser(ctx context.Context, letterIDs []uuid.UUID, userID uuid.UUID) (int64, error) {
return p.letterRepo.BulkArchiveForUser(ctx, letterIDs, userID)
}
// GetBatchAttachments fetches attachments for multiple letters in a single query
func (p *LetterOutgoingProcessorImpl) GetBatchAttachments(ctx context.Context, letterIDs []uuid.UUID) (map[uuid.UUID][]entities.LetterOutgoingAttachment, error) {
if p.attachmentRepo == nil || len(letterIDs) == 0 {