Skip to content

Commit de3283a

Browse files
committed
Add EngagementFilters.intern
1 parent 38c0931 commit de3283a

File tree

2 files changed

+14
-0
lines changed

2 files changed

+14
-0
lines changed

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

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,7 @@ import {
88
} from '~/common';
99
import { LanguageFilters } from '../../language/dto';
1010
import { ProjectFilters } from '../../project/dto';
11+
import { UserFilters } from '../../user/dto';
1112
import {
1213
Engagement,
1314
IEngagement,
@@ -42,6 +43,9 @@ export abstract class EngagementFilters {
4243
@FilterField(() => LanguageFilters)
4344
readonly language?: LanguageFilters & {};
4445

46+
@FilterField(() => UserFilters)
47+
readonly intern?: UserFilters & {};
48+
4549
readonly partnerId?: ID<'Partner'>;
4650
}
4751

src/components/engagement/engagement.repository.ts

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -58,6 +58,7 @@ import {
5858
import { ProjectType } from '../project/dto';
5959
import { projectFilters } from '../project/project-filters.query';
6060
import { projectSorters } from '../project/project.repository';
61+
import { userFilters } from '../user';
6162
import {
6263
CreateInternshipEngagement,
6364
CreateLanguageEngagement,
@@ -592,6 +593,15 @@ export const engagementFilters = filter.define(() => EngagementFilters, {
592593
node('node', 'Language'),
593594
]),
594595
),
596+
intern: filter.sub(() => userFilters)((sub) =>
597+
sub
598+
.with('node as eng')
599+
.match([
600+
node('eng'),
601+
relation('out', '', 'intern'),
602+
node('node', 'User'),
603+
]),
604+
),
595605
});
596606

597607
export const engagementSorters = defineSorters(IEngagement, {

0 commit comments

Comments
 (0)