Skip to content

Commit 47f1d62

Browse files
committed
JS: Add generated typings to SQL models
1 parent e6d4e87 commit 47f1d62

File tree

26 files changed

+3622
-842
lines changed

26 files changed

+3622
-842
lines changed

javascript/ql/lib/javascript.qll

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -99,6 +99,7 @@ import semmle.javascript.frameworks.JWT
9999
import semmle.javascript.frameworks.Handlebars
100100
import semmle.javascript.frameworks.History
101101
import semmle.javascript.frameworks.Immutable
102+
import semmle.javascript.frameworks.ImportGeneratedModels
102103
import semmle.javascript.frameworks.Knex
103104
import semmle.javascript.frameworks.LazyCache
104105
import semmle.javascript.frameworks.LdapJS

javascript/ql/lib/semmle/javascript/frameworks/Credentials.qll

Lines changed: 10 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -34,10 +34,19 @@ abstract class CredentialsNode extends DataFlow::Node {
3434
abstract string getCredentialsKind();
3535
}
3636

37+
/** Companion module to the `CredentialsExpr` class. */
38+
module CredentialsExpr {
39+
/** Normalizes a credentials kind, mapping `username` to `user name`. */
40+
bindingset[kind]
41+
string normalizeKind(string kind) {
42+
if kind = "username" then result = "user name" else result = kind
43+
}
44+
}
45+
3746
private class CredentialsFromModel extends CredentialsNode {
3847
string kind;
3948

4049
CredentialsFromModel() { this = ModelOutput::getASinkNode("credentials[" + kind + "]").asSink() }
4150

42-
override string getCredentialsKind() { result = kind }
51+
override string getCredentialsKind() { result = CredentialsExpr::normalizeKind(kind) }
4352
}
Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,12 @@
1+
/**
2+
* Imports all generated models.
3+
*/
4+
5+
private import minimongo.Model
6+
private import mongodb.Model
7+
private import mssql.Model
8+
private import mysql.Model
9+
private import pg.Model
10+
private import sequelize.Model
11+
private import spanner.Model
12+
private import sqlite3.Model

0 commit comments

Comments
 (0)