update api incoming letter
This commit is contained in:
@@ -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
|
||||
|
||||
Reference in New Issue
Block a user