@@ -50,6 +50,7 @@ import {
50
50
CreateInternshipEngagement ,
51
51
CreateLanguageEngagement ,
52
52
Engagement ,
53
+ EngagementFilters ,
53
54
EngagementListInput ,
54
55
EngagementStatus ,
55
56
IEngagement ,
@@ -368,26 +369,7 @@ export class EngagementRepository extends CommonRepository {
368
369
) ,
369
370
)
370
371
. match ( requestingUser ( session ) )
371
- . apply (
372
- filter . builder ( input . filter ?? { } , {
373
- type : filter . skip ,
374
- projectId : filter . skip ,
375
- partnerId : filter . pathExists ( ( id ) => [
376
- node ( 'node' ) ,
377
- relation ( 'in' , '' , 'engagement' ) ,
378
- node ( '' , 'Project' ) ,
379
- relation ( 'out' , '' , 'partnership' , ACTIVE ) ,
380
- node ( '' , 'Partnership' ) ,
381
- relation ( 'out' , '' , 'partner' ) ,
382
- node ( '' , 'Partner' , { id } ) ,
383
- ] ) ,
384
- languageId : filter . pathExists ( ( id ) => [
385
- node ( 'node' ) ,
386
- relation ( 'out' , '' , 'language' ) ,
387
- node ( '' , 'Language' , { id } ) ,
388
- ] ) ,
389
- } ) ,
390
- )
372
+ . apply ( engagementFilters ( input . filter ) )
391
373
. apply (
392
374
this . privileges . for ( session , IEngagement ) . filterToReadable ( {
393
375
wrapContext : oncePerProject ,
@@ -529,6 +511,25 @@ export class EngagementRepository extends CommonRepository {
529
511
}
530
512
}
531
513
514
+ export const engagementFilters = filter . define ( ( ) => EngagementFilters , {
515
+ type : filter . skip ,
516
+ projectId : filter . skip ,
517
+ partnerId : filter . pathExists ( ( id ) => [
518
+ node ( 'node' ) ,
519
+ relation ( 'in' , '' , 'engagement' ) ,
520
+ node ( '' , 'Project' ) ,
521
+ relation ( 'out' , '' , 'partnership' , ACTIVE ) ,
522
+ node ( '' , 'Partnership' ) ,
523
+ relation ( 'out' , '' , 'partner' ) ,
524
+ node ( '' , 'Partner' , { id } ) ,
525
+ ] ) ,
526
+ languageId : filter . pathExists ( ( id ) => [
527
+ node ( 'node' ) ,
528
+ relation ( 'out' , '' , 'language' ) ,
529
+ node ( '' , 'Language' , { id } ) ,
530
+ ] ) ,
531
+ } ) ;
532
+
532
533
export const engagementSorters = defineSorters ( IEngagement , {
533
534
nameProjectFirst : ( query ) =>
534
535
query
0 commit comments