Skip to content

Commit 415c2b7

Browse files
committed
Add language filters to engagement filters
1 parent 21654f2 commit 415c2b7

File tree

2 files changed

+16
-1
lines changed

2 files changed

+16
-1
lines changed

src/components/engagement/dto/list-engagements.dto.ts

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,7 @@ import {
66
SecuredList,
77
SortablePaginationInput,
88
} from '~/common';
9+
import { LanguageFilters } from '../../language/dto';
910
import { ProjectFilters } from '../../project/dto';
1011
import {
1112
Engagement,
@@ -27,6 +28,8 @@ export abstract class EngagementFilters {
2728
readonly project?: ProjectFilters & {};
2829

2930
readonly languageId?: ID;
31+
@FilterField(() => LanguageFilters)
32+
readonly language?: LanguageFilters & {};
3033

3134
readonly partnerId?: ID<'Partner'>;
3235
}

src/components/engagement/engagement.repository.ts

Lines changed: 13 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -46,7 +46,10 @@ import {
4646
} from '~/core/database/query';
4747
import { Privileges } from '../authorization';
4848
import { FileId } from '../file/dto';
49-
import { languageSorters } from '../language/language.repository';
49+
import {
50+
languageFilters,
51+
languageSorters,
52+
} from '../language/language.repository';
5053
import {
5154
matchCurrentDue,
5255
progressReportSorters,
@@ -550,6 +553,15 @@ export const engagementFilters = filter.define(() => EngagementFilters, {
550553
node('node', 'Project'),
551554
]),
552555
),
556+
language: filter.sub(() => languageFilters)((sub) =>
557+
sub
558+
.with('node as eng')
559+
.match([
560+
node('eng'),
561+
relation('out', '', 'language'),
562+
node('node', 'Language'),
563+
]),
564+
),
553565
});
554566

555567
export const engagementSorters = defineSorters(IEngagement, {

0 commit comments

Comments
 (0)