Skip to content

Commit 9afe416

Browse files
authored
Merge pull request #1005 from checkmarble/feat/cases-inbox-exclude-assigned-filter
feat(case-manager): Add exclude assigned filter
2 parents e69eead + e458db4 commit 9afe416

File tree

4 files changed

+28
-22
lines changed

4 files changed

+28
-22
lines changed

dto/case_dto.go

Lines changed: 8 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -103,13 +103,14 @@ type CreateCaseCommentBody struct {
103103
}
104104

105105
type CaseFilters struct {
106-
EndDate time.Time `form:"end_date"`
107-
InboxIds []string `form:"inbox_id[]"`
108-
StartDate time.Time `form:"start_date"`
109-
Statuses []string `form:"status[]"`
110-
Name string `form:"name"`
111-
IncludeSnoozed bool `form:"include_snoozed"`
112-
AssigneeId models.UserId `form:"assignee_id"`
106+
EndDate time.Time `form:"end_date"`
107+
InboxIds []string `form:"inbox_id[]"`
108+
StartDate time.Time `form:"start_date"`
109+
Statuses []string `form:"status[]"`
110+
Name string `form:"name"`
111+
IncludeSnoozed bool `form:"include_snoozed"`
112+
ExcludeAssigned bool `form:"exclude_assigned"`
113+
AssigneeId models.UserId `form:"assignee_id"`
113114
}
114115

115116
type ReviewCaseDecisionsBody struct {

models/case.go

Lines changed: 9 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -113,14 +113,15 @@ type CreateCaseCommentAttributes struct {
113113
}
114114

115115
type CaseFilters struct {
116-
OrganizationId string
117-
Name string
118-
StartDate time.Time
119-
EndDate time.Time
120-
Statuses []CaseStatus
121-
InboxIds []string
122-
IncludeSnoozed bool
123-
AssigneeId UserId
116+
OrganizationId string
117+
Name string
118+
StartDate time.Time
119+
EndDate time.Time
120+
Statuses []CaseStatus
121+
InboxIds []string
122+
IncludeSnoozed bool
123+
ExcludeAssigned bool
124+
AssigneeId UserId
124125
}
125126

126127
type CaseListPage struct {

repositories/case_repository.go

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -334,6 +334,9 @@ func applyCaseFilters(query squirrel.SelectBuilder, filters models.CaseFilters)
334334
squirrel.LtOrEq{"snoozed_until": time.Now()},
335335
})
336336
}
337+
if filters.ExcludeAssigned {
338+
query = query.Where(squirrel.Eq{"assigned_to": nil})
339+
}
337340
if filters.AssigneeId != "" {
338341
query = query.Where(squirrel.Eq{"assigned_to": filters.AssigneeId})
339342
}

usecases/case_usecase.go

Lines changed: 8 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -147,13 +147,14 @@ func (usecase *CaseUseCase) ListCases(
147147
}
148148

149149
repoFilters := models.CaseFilters{
150-
StartDate: filters.StartDate,
151-
EndDate: filters.EndDate,
152-
Statuses: statuses,
153-
OrganizationId: organizationId,
154-
Name: filters.Name,
155-
IncludeSnoozed: filters.IncludeSnoozed,
156-
AssigneeId: filters.AssigneeId,
150+
StartDate: filters.StartDate,
151+
EndDate: filters.EndDate,
152+
Statuses: statuses,
153+
OrganizationId: organizationId,
154+
Name: filters.Name,
155+
IncludeSnoozed: filters.IncludeSnoozed,
156+
ExcludeAssigned: filters.ExcludeAssigned,
157+
AssigneeId: filters.AssigneeId,
157158
}
158159
if len(filters.InboxIds) > 0 {
159160
repoFilters.InboxIds = filters.InboxIds

0 commit comments

Comments
 (0)