@@ -5,11 +5,13 @@ import { batchCreators } from '../domain/user';
5
5
import { batchInternalRels } from '../domain/stixCoreObject' ;
6
6
import { schemaRelationsRefDefinition } from '../schema/schema-relationsRef' ;
7
7
import { INPUT_GRANTED_REFS } from '../schema/general' ;
8
- import { isUserHasCapability , KNOWLEDGE_ORGANIZATION_RESTRICT } from '../utils/access' ;
8
+ import { isUserHasCapability , KNOWLEDGE_ORGANIZATION_RESTRICT , REDACTED_USER } from '../utils/access' ;
9
+ import { ENABLED_DEMO_MODE } from '../config/conf' ;
10
+ import { ENTITY_TYPE_USER } from '../schema/internalObject' ;
9
11
10
12
const creatorsLoader = batchLoader ( batchCreators ) ;
11
13
const relBatchLoader = batchLoader ( batchInternalRels ) ;
12
- export const loadThroughDenormalized = ( context , user , element , inputName , args = { } ) => {
14
+ const internalLoadThroughDenormalized = ( context , user , element , inputName , args = { } ) => {
13
15
if ( inputName === INPUT_GRANTED_REFS ) {
14
16
if ( ! isUserHasCapability ( user , KNOWLEDGE_ORGANIZATION_RESTRICT ) ) {
15
17
return [ ] ; // Granted_refs visibility is only for manager
@@ -28,6 +30,22 @@ export const loadThroughDenormalized = (context, user, element, inputName, args
28
30
return relBatchLoader . load ( { element, definition : ref } , context , user , args ) ;
29
31
} ;
30
32
33
+ export const loadThroughDenormalized = async ( context , user , element , inputName , args = { } ) => {
34
+ const data = await internalLoadThroughDenormalized ( context , user , element , inputName , args ) ;
35
+ if ( ENABLED_DEMO_MODE ) {
36
+ if ( Array . isArray ( data ) ) {
37
+ return data . map ( ( d ) => {
38
+ if ( d . entity_type === ENTITY_TYPE_USER ) {
39
+ return { ...d , name : REDACTED_USER . name , user_email : REDACTED_USER . user_email } ;
40
+ }
41
+ return d ;
42
+ } ) ;
43
+ }
44
+ return data ? { ...data , name : REDACTED_USER . name , user_email : REDACTED_USER . user_email } : data ;
45
+ }
46
+ return data ;
47
+ } ;
48
+
31
49
const stixResolvers = {
32
50
Query : {
33
51
stix : async ( _ , { id } , context ) => stixLoadByIdStringify ( context , context . user , id ) ,
0 commit comments