update api incoming letter

This commit is contained in:
efrilm
2025-10-17 00:04:21 +07:00
parent 58128495a6
commit 92440953cb
5 changed files with 128 additions and 59 deletions
+27
View File
@@ -463,6 +463,33 @@ func (r *LetterIncomingDispositionRepository) ListByLetter(ctx context.Context,
return list, nil
}
func (r *LetterIncomingDispositionRepository) ListByLetterIDs(ctx context.Context, letterIDs []uuid.UUID) (map[uuid.UUID][]entities.LetterIncomingDisposition, error) {
if len(letterIDs) == 0 {
return make(map[uuid.UUID][]entities.LetterIncomingDisposition), nil
}
db := DBFromContext(ctx, r.db)
var dispositions []entities.LetterIncomingDisposition
if err := db.WithContext(ctx).Where("letter_id IN ?", letterIDs).
Preload("Department").
Preload("Departments.Department").
Preload("ActionSelections.Action").
Preload("DispositionNotes.User").
Order("created_at ASC").
Find(&dispositions).Error; err != nil {
return nil, err
}
// Group by letter ID
result := make(map[uuid.UUID][]entities.LetterIncomingDisposition)
for i := range dispositions { // Gunakan index, bukan value
letterID := dispositions[i].LetterID
result[letterID] = append(result[letterID], dispositions[i])
}
return result, nil
}
func (r *LetterIncomingDispositionRepository) GetByLetterIncomingID(ctx context.Context, letterIncomingID uuid.UUID) ([]entities.LetterIncomingDisposition, error) {
db := DBFromContext(ctx, r.db)
var list []entities.LetterIncomingDisposition