add priority ids at outgoing letter
This commit is contained in:
@@ -91,6 +91,7 @@ type ListOutgoingLettersFilter struct {
|
||||
FromDate *time.Time
|
||||
ToDate *time.Time
|
||||
PriorityID *uuid.UUID
|
||||
PriorityIDs []uuid.UUID
|
||||
SortBy *string
|
||||
SortOrder *string
|
||||
IsArchived *bool
|
||||
@@ -127,7 +128,7 @@ func (r *LetterOutgoingRepository) List(ctx context.Context, filter ListOutgoing
|
||||
|
||||
fmt.Printf("[DEBUG] filter.UserID: %v\n", filter.UserID)
|
||||
fmt.Printf("[DEBUG] filter.isRead: %v\n", filter.IsRead)
|
||||
|
||||
|
||||
// Tambahkan filter IsRead
|
||||
if filter.IsRead != nil {
|
||||
if *filter.IsRead {
|
||||
@@ -136,17 +137,20 @@ func (r *LetterOutgoingRepository) List(ctx context.Context, filter ListOutgoing
|
||||
query = query.Where("letter_outgoing_recipients.read_at IS NULL")
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
query = query.Distinct()
|
||||
}
|
||||
|
||||
|
||||
if filter.ReceiverInstitutionID != nil {
|
||||
query = query.Where("receiver_institution_id = ?", *filter.ReceiverInstitutionID)
|
||||
}
|
||||
if filter.PriorityID != nil {
|
||||
query = query.Where("priority_id = ?", *filter.PriorityID)
|
||||
}
|
||||
if len(filter.PriorityIDs) > 0 {
|
||||
query = query.Where("priority_id IN ?", filter.PriorityIDs)
|
||||
}
|
||||
fmt.Printf("Priority %s", filter.PriorityIDs)
|
||||
if filter.FromDate != nil {
|
||||
query = query.Where("issue_date >= ?", *filter.FromDate)
|
||||
}
|
||||
@@ -351,19 +355,19 @@ func (r *LetterOutgoingAttachmentRepository) ListByLetterIDs(ctx context.Context
|
||||
if len(letterIDs) == 0 {
|
||||
return make(map[uuid.UUID][]entities.LetterOutgoingAttachment), nil
|
||||
}
|
||||
|
||||
|
||||
db := DBFromContext(ctx, r.db)
|
||||
var attachments []entities.LetterOutgoingAttachment
|
||||
if err := db.WithContext(ctx).Where("letter_id IN ?", letterIDs).Order("uploaded_at ASC").Find(&attachments).Error; err != nil {
|
||||
return nil, err
|
||||
}
|
||||
|
||||
|
||||
// Group attachments by letter ID
|
||||
result := make(map[uuid.UUID][]entities.LetterOutgoingAttachment)
|
||||
for _, att := range attachments {
|
||||
result[att.LetterID] = append(result[att.LetterID], att)
|
||||
}
|
||||
|
||||
|
||||
return result, nil
|
||||
}
|
||||
|
||||
@@ -441,7 +445,7 @@ func (r *LetterOutgoingRecipientRepository) ListByLetterIDs(ctx context.Context,
|
||||
if len(letterIDs) == 0 {
|
||||
return make(map[uuid.UUID][]entities.LetterOutgoingRecipient), nil
|
||||
}
|
||||
|
||||
|
||||
db := DBFromContext(ctx, r.db)
|
||||
var recipients []entities.LetterOutgoingRecipient
|
||||
if err := db.WithContext(ctx).
|
||||
@@ -453,13 +457,13 @@ func (r *LetterOutgoingRecipientRepository) ListByLetterIDs(ctx context.Context,
|
||||
Find(&recipients).Error; err != nil {
|
||||
return nil, err
|
||||
}
|
||||
|
||||
|
||||
// Group recipients by letter ID
|
||||
result := make(map[uuid.UUID][]entities.LetterOutgoingRecipient)
|
||||
for _, rec := range recipients {
|
||||
result[rec.LetterID] = append(result[rec.LetterID], rec)
|
||||
}
|
||||
|
||||
|
||||
return result, nil
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user