Skip to content

Commit 036e78c

Browse files
committed
Add project filters to engagement filters
1 parent 706fd78 commit 036e78c

File tree

2 files changed

+13
-0
lines changed

2 files changed

+13
-0
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 { ProjectFilters } from '../../project/dto';
910
import {
1011
Engagement,
1112
IEngagement,
@@ -22,6 +23,8 @@ export abstract class EngagementFilters {
2223
readonly type?: 'language' | 'internship';
2324

2425
readonly projectId?: ID;
26+
@FilterField(() => ProjectFilters)
27+
readonly project?: ProjectFilters & {};
2528

2629
readonly languageId?: ID;
2730

src/components/engagement/engagement.repository.ts

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -52,6 +52,7 @@ import {
5252
progressReportSorters,
5353
} from '../periodic-report/periodic-report.repository';
5454
import { ProjectType } from '../project/dto';
55+
import { projectFilters } from '../project/project-filters.query';
5556
import { projectSorters } from '../project/project.repository';
5657
import {
5758
CreateInternshipEngagement,
@@ -540,6 +541,15 @@ export const engagementFilters = filter.define(() => EngagementFilters, {
540541
relation('out', '', 'language'),
541542
node('', 'Language', { id }),
542543
]),
544+
project: filter.sub(() => projectFilters)((sub) =>
545+
sub
546+
.with('node as eng')
547+
.match([
548+
node('eng'),
549+
relation('in', '', 'engagement'),
550+
node('node', 'Project'),
551+
]),
552+
),
543553
});
544554

545555
export const engagementSorters = defineSorters(IEngagement, {

0 commit comments

Comments
 (0)