@@ -11,14 +11,19 @@ import {
11
11
ID ,
12
12
IdArg ,
13
13
ListArg ,
14
+ loadManyIgnoreMissingThrowAny ,
14
15
loadSecuredIds ,
15
16
LoggedInSession ,
16
17
mapSecuredValue ,
17
18
Session ,
18
19
} from '../../common' ;
19
20
import { Loader , LoaderOf } from '../../core' ;
20
21
import { FieldRegionLoader , SecuredFieldRegions } from '../field-region' ;
21
- import { LanguageLoader , SecuredLanguageNullable } from '../language' ;
22
+ import {
23
+ LanguageLoader ,
24
+ SecuredLanguageNullable ,
25
+ SecuredLanguages ,
26
+ } from '../language' ;
22
27
import { LocationLoader , SecuredLocations } from '../location' ;
23
28
import { OrganizationLoader , SecuredOrganization } from '../organization' ;
24
29
import { PartnerLoader , PartnerService } from '../partner' ;
@@ -112,6 +117,19 @@ export class PartnerResolver {
112
117
return await loadSecuredIds ( loader , partner . countries ) ;
113
118
}
114
119
120
+ @ResolveField ( ( ) => SecuredLanguages )
121
+ async languagesOfConsulting (
122
+ @Parent ( ) partner : Partner ,
123
+ @Loader ( LanguageLoader ) loader : LoaderOf < LanguageLoader > ,
124
+ ) : Promise < SecuredLanguages > {
125
+ const { value : ids , ...rest } = partner . languagesOfConsulting ;
126
+ const value = await loadManyIgnoreMissingThrowAny (
127
+ loader ,
128
+ ids . map ( ( id ) => ( { id, view : { active : true } } as const ) ) ,
129
+ ) ;
130
+ return { ...rest , value } ;
131
+ }
132
+
115
133
@ResolveField ( ( ) => SecuredProjectList , {
116
134
description : 'The list of projects the partner has a partnership with.' ,
117
135
} )
0 commit comments