@@ -83,13 +83,15 @@ const parseSchema = (doc: string) => {
83
83
84
84
const validateEntityDirective = ( def : any ) => {
85
85
validateDebugger ( 'Validating entity directive for %s' , def ?. name ?. value ) ;
86
- return def . directives . find ( ( directive : any ) => directive . name . value === 'entity' )
86
+ return def . directives . find (
87
+ ( directive : any ) => directive . name . value === 'entity' || directive . name . value === 'aggregation' ,
88
+ )
87
89
? List ( )
88
90
: immutable . fromJS ( [
89
91
{
90
92
loc : def . loc ,
91
93
entity : def . name . value ,
92
- message : `Defined without @entity directive` ,
94
+ message : `Defined without @entity or @aggregation directive` ,
93
95
} ,
94
96
] ) ;
95
97
} ;
@@ -114,7 +116,8 @@ const validateEntityID = (def: any) => {
114
116
idField . type . type . kind === 'NamedType' &&
115
117
( idField . type . type . name . value === 'ID' ||
116
118
idField . type . type . name . value === 'Bytes' ||
117
- idField . type . type . name . value === 'String' )
119
+ idField . type . type . name . value === 'String' ||
120
+ idField . type . type . name . value === 'Int8' )
118
121
) {
119
122
validateDebugger ( 'Entity %s has valid id field' , def ?. name ?. value ) ;
120
123
return List ( ) ;
@@ -125,7 +128,7 @@ const validateEntityID = (def: any) => {
125
128
{
126
129
loc : idField . loc ,
127
130
entity : def . name . value ,
128
- message : `Field 'id': Entity ids must be of type Bytes! or String!` ,
131
+ message : `Field 'id': Entity ids must be of type Int8!, Bytes! or String!` ,
129
132
} ,
130
133
] ) ;
131
134
} ;
0 commit comments