@@ -44,21 +44,9 @@ private module NoSql {
44
44
}
45
45
46
46
/**
47
- * Gets a reference to an initialized `Mongo` DB instance.
48
- * See `mongoEngine()`, `flask_MongoEngine()`
47
+ * Gets a reference to a `Mongo` DB instance.
49
48
*/
50
- private API:: Node mongoDBInstance ( ) {
51
- result = mongoEngine ( ) .getMember ( [ "get_db" , "connect" ] ) .getReturn ( ) or
52
- result = mongoEngine ( ) .getMember ( "connection" ) .getMember ( [ "get_db" , "connect" ] ) .getReturn ( ) or
53
- result = flask_MongoEngine ( ) .getMember ( "get_db" ) .getReturn ( )
54
- }
55
-
56
- /**
57
- * Gets a reference to a `Mongo` DB use.
58
- *
59
- * See `mongoClientInstance()`, `mongoDBInstance()`.
60
- */
61
- private DataFlow:: LocalSourceNode mongoDB ( DataFlow:: TypeTracker t ) {
49
+ private DataFlow:: LocalSourceNode mongoDBInstance ( DataFlow:: TypeTracker t ) {
62
50
t .start ( ) and
63
51
(
64
52
exists ( SubscriptNode subscript |
@@ -68,10 +56,14 @@ private module NoSql {
68
56
or
69
57
result .( DataFlow:: AttrRead ) .getObject ( ) = mongoClientInstance ( ) .getAUse ( )
70
58
or
71
- result = mongoDBInstance ( ) .getAUse ( )
59
+ result = mongoEngine ( ) .getMember ( [ "get_db" , "connect" ] ) .getACall ( )
60
+ or
61
+ result = mongoEngine ( ) .getMember ( "connection" ) .getMember ( [ "get_db" , "connect" ] ) .getACall ( )
62
+ or
63
+ result = flask_MongoEngine ( ) .getMember ( "get_db" ) .getACall ( )
72
64
)
73
65
or
74
- exists ( DataFlow:: TypeTracker t2 | result = mongoDB ( t2 ) .track ( t2 , t ) )
66
+ exists ( DataFlow:: TypeTracker t2 | result = mongoDBInstance ( t2 ) .track ( t2 , t ) )
75
67
}
76
68
77
69
/**
@@ -85,21 +77,21 @@ private module NoSql {
85
77
*
86
78
* `mongo.db` would be a use of a `Mongo` instance, and so the result.
87
79
*/
88
- private DataFlow:: Node mongoDB ( ) { mongoDB ( DataFlow:: TypeTracker:: end ( ) ) .flowsTo ( result ) }
80
+ private DataFlow:: Node mongoDBInstance ( ) {
81
+ mongoDBInstance ( DataFlow:: TypeTracker:: end ( ) ) .flowsTo ( result )
82
+ }
89
83
90
84
/**
91
85
* Gets a reference to a `Mongo` collection use.
92
- *
93
- * See `mongoDB()`.
94
86
*/
95
87
private DataFlow:: LocalSourceNode mongoCollection ( DataFlow:: TypeTracker t ) {
96
88
t .start ( ) and
97
89
(
98
90
exists ( SubscriptNode subscript | result .asCfgNode ( ) = subscript |
99
- subscript .getObject ( ) = mongoDB ( ) .asCfgNode ( )
91
+ subscript .getObject ( ) = mongoDBInstance ( ) .asCfgNode ( )
100
92
)
101
93
or
102
- result .( DataFlow:: AttrRead ) .getObject ( ) = mongoDB ( )
94
+ result .( DataFlow:: AttrRead ) .getObject ( ) = mongoDBInstance ( )
103
95
)
104
96
or
105
97
exists ( DataFlow:: TypeTracker t2 | result = mongoCollection ( t2 ) .track ( t2 , t ) )
0 commit comments