@@ -4,7 +4,8 @@ import go
4
4
5
5
/** Provides models of commonly used functions and types in the gqlgen packages. */
6
6
module Gqlgen {
7
- class GqlgenGeneratedFile extends File {
7
+ /** An autogenerated file containing gqlgen code. */
8
+ private class GqlgenGeneratedFile extends File {
8
9
GqlgenGeneratedFile ( ) {
9
10
exists ( DataFlow:: CallNode call |
10
11
call .getReceiver ( ) .getType ( ) .hasQualifiedName ( "github.com/99designs/gqlgen/graphql" , _) and
@@ -13,29 +14,31 @@ module Gqlgen {
13
14
}
14
15
}
15
16
16
- class ResolverInterface extends Type {
17
+ /** A resolver interface. */
18
+ private class ResolverInterface extends Type {
17
19
ResolverInterface ( ) {
18
20
this .getQualifiedName ( ) .matches ( "%Resolver" ) and
19
21
this .getEntity ( ) .getDeclaration ( ) .getFile ( ) instanceof GqlgenGeneratedFile
20
22
}
21
23
}
22
24
23
- class ResolverInterfaceMethod extends Method {
24
- ResolverInterfaceMethod ( ) {
25
- this .getReceiver ( ) .getType ( ) instanceof ResolverInterface
26
- }
25
+ /** A resolver implementation. */
26
+ private class ResolverInterfaceMethod extends Method {
27
+ ResolverInterfaceMethod ( ) { this .getReceiver ( ) .getType ( ) instanceof ResolverInterface }
27
28
}
28
29
29
- class ResolverImplementationMethod extends Method {
30
+ /** A resolver method which is exposed as a Graphql endpoint */
31
+ private class ResolverImplementationMethod extends Method {
30
32
ResolverImplementationMethod ( ) { this .implements ( any ( ResolverInterfaceMethod r ) ) }
31
-
33
+
32
34
Parameter getAnUntrustedParameter ( ) {
33
35
result .getFunction ( ) = this .getFuncDecl ( ) and
34
36
not result .getType ( ) .hasQualifiedName ( "context" , "Context" ) and
35
37
result .getIndex ( ) > 0
36
38
}
37
39
}
38
40
41
+ /** A parameter of a resolver method which receives untrusted input. */
39
42
class ResolverParameter extends UntrustedFlowSource:: Range instanceof DataFlow:: ParameterNode {
40
43
ResolverParameter ( ) {
41
44
this .asParameter ( ) = any ( ResolverImplementationMethod h ) .getAnUntrustedParameter ( )
0 commit comments