stimulsoft-data-adapter 2021.3.7 → 2021.4.4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/app.js CHANGED
@@ -1,82 +1,89 @@
1
- var http = require('http');
2
- var MySQLAdapter = require('./MySQLAdapter');
3
- var FirebirdAdapter = require('./FirebirdAdapter');
4
- var MSSQLAdapter = require('./MSSQLAdapter');
5
- var PostgreSQLAdapter = require('./PostgreSQLAdapter');
6
-
7
- var connectionStringBuilder;
8
- var response;
9
- function accept(req, res) {
10
- response = res;
11
- response.setHeader("Access-Control-Allow-Origin", "*");
12
- response.setHeader("Access-Control-Allow-Headers", "Origin, X-Requested-With, Content-Type, Accept");
13
- response.setHeader("Access-Control-Allow-Methods", "POST, GET, OPTIONS, DELETE, PUT");
14
- response.setHeader("Cache-Control", "no-cache");
15
-
16
- var data = "";
17
- req.on('data', function (buffer) {
18
- data += buffer;
19
- });
20
-
21
- req.on('end', function () {
22
- if (data.indexOf("{") != 0) {
23
- data = Buffer.from(data.replace(/[A-Za-z]/g, function (c) {
24
- return String.fromCharCode(c.charCodeAt(0) + (c.toUpperCase() <= "M" ? 13 : -13));
25
- }), "base64").toString("ascii");
26
-
27
- }
28
-
29
- command = JSON.parse(data.toString());
30
-
31
- command.queryString = applyQueryParameters(command.queryString, command.parameters, command.escapeQueryParameters);
32
-
33
- if (command.database == "MySQL") MySQLAdapter.process(command, onProcess);
34
- else if (command.database == "Firebird") FirebirdAdapter.process(command, onProcess);
35
- else if (command.database == "MS SQL") MSSQLAdapter.process(command, onProcess);
36
- else if (command.database == "PostgreSQL") PostgreSQLAdapter.process(command, onProcess);
37
- else onResult({ success: false, notice: "Database '" + command.database + "' not supported!" });
38
- });
39
- }
40
-
41
- var applyQueryParameters = function (baseSqlCommand, parameters, escapeQueryParameters) {
42
- if (baseSqlCommand == null || baseSqlCommand.indexOf("@") < 0) return baseSqlCommand;
43
-
44
- var result = "";
45
- while (baseSqlCommand.indexOf("@") >= 0 && parameters != null && parameters.length > 0) {
46
- result += baseSqlCommand.substring(0, baseSqlCommand.indexOf("@"));
47
- baseSqlCommand = baseSqlCommand.substring(baseSqlCommand.indexOf("@") + 1);
48
-
49
- var parameterName = "";
50
-
51
- while (baseSqlCommand.length > 0) {
52
- var char = baseSqlCommand.charAt(0);
53
- if (char.length === 1 && char.match(/[a-zA-Z0-9_-]/i)) {
54
- parameterName += char;
55
- baseSqlCommand = baseSqlCommand.substring(1);
56
- }
57
- else break;
58
- }
59
-
60
- var parameter = parameters.find(parameter => parameter.name.toLowerCase() == parameterName.toLowerCase());
61
- if (parameter) {
62
- if (parameter.typeGroup != "number") {
63
- if (escapeQueryParameters)
64
- result += "'" + parameter.value.toString().replace(/\\/gi, "\\\\").replace(/\'/gi, "\\\'").replace(/\"/gi, "\\\"") + "'";
65
- else
66
- result += "'" + parameter.value.toString() + "'";
67
- }
68
- else
69
- result += parameter.value.toString();
70
- }
71
- else
72
- result += "@" + parameterName;
73
- }
74
-
75
- return result + baseSqlCommand;
76
- }
77
-
78
- var onProcess = function (result) {
79
- response.end(JSON.stringify(result));
80
- }
81
-
82
- http.createServer(accept).listen(9615);
1
+ /*
2
+ Stimulsoft.Reports.JS
3
+ Version: 2021.4.4
4
+ Build date: 2021.11.18
5
+ License: https://www.stimulsoft.com/en/licensing/reports
6
+ */
7
+ var http = require('http');
8
+ var MySQLAdapter = require('./MySQLAdapter');
9
+ var FirebirdAdapter = require('./FirebirdAdapter');
10
+ var MSSQLAdapter = require('./MSSQLAdapter');
11
+ var PostgreSQLAdapter = require('./PostgreSQLAdapter');
12
+
13
+ var connectionStringBuilder;
14
+ var response;
15
+ function accept(req, res) {
16
+ response = res;
17
+ response.setHeader("Access-Control-Allow-Origin", "*");
18
+ response.setHeader("Access-Control-Allow-Headers", "Origin, X-Requested-With, Content-Type, Accept");
19
+ response.setHeader("Access-Control-Allow-Methods", "POST, GET, OPTIONS, DELETE, PUT");
20
+ response.setHeader("Cache-Control", "no-cache");
21
+
22
+ var data = "";
23
+ req.on('data', function (buffer) {
24
+ data += buffer;
25
+ });
26
+
27
+ req.on('end', function () {
28
+ if (data.indexOf("{") != 0) {
29
+ data = Buffer.from(data.replace(/[A-Za-z]/g, function (c) {
30
+ return String.fromCharCode(c.charCodeAt(0) + (c.toUpperCase() <= "M" ? 13 : -13));
31
+ }), "base64").toString("ascii");
32
+
33
+ }
34
+
35
+ command = JSON.parse(data.toString());
36
+
37
+ command.queryString = applyQueryParameters(command.queryString, command.parameters, command.escapeQueryParameters);
38
+
39
+ if (command.database == "MySQL") MySQLAdapter.process(command, onProcess);
40
+ else if (command.database == "Firebird") FirebirdAdapter.process(command, onProcess);
41
+ else if (command.database == "MS SQL") MSSQLAdapter.process(command, onProcess);
42
+ else if (command.database == "PostgreSQL") PostgreSQLAdapter.process(command, onProcess);
43
+ else onResult({ success: false, notice: "Database '" + command.database + "' not supported!" });
44
+ });
45
+ }
46
+
47
+ var applyQueryParameters = function (baseSqlCommand, parameters, escapeQueryParameters) {
48
+ if (baseSqlCommand == null || baseSqlCommand.indexOf("@") < 0) return baseSqlCommand;
49
+
50
+ var result = "";
51
+ while (baseSqlCommand.indexOf("@") >= 0 && parameters != null && parameters.length > 0) {
52
+ result += baseSqlCommand.substring(0, baseSqlCommand.indexOf("@"));
53
+ baseSqlCommand = baseSqlCommand.substring(baseSqlCommand.indexOf("@") + 1);
54
+
55
+ var parameterName = "";
56
+
57
+ while (baseSqlCommand.length > 0) {
58
+ var char = baseSqlCommand.charAt(0);
59
+ if (char.length === 1 && char.match(/[a-zA-Z0-9_-]/i)) {
60
+ parameterName += char;
61
+ baseSqlCommand = baseSqlCommand.substring(1);
62
+ }
63
+ else break;
64
+ }
65
+
66
+ var parameter = parameters.find(parameter => parameter.name.toLowerCase() == parameterName.toLowerCase());
67
+ if (parameter) {
68
+ if (parameter.typeGroup != "number") {
69
+ if (escapeQueryParameters)
70
+ result += "'" + parameter.value.toString().replace(/\\/gi, "\\\\").replace(/\'/gi, "\\\'").replace(/\"/gi, "\\\"") + "'";
71
+ else
72
+ result += "'" + parameter.value.toString() + "'";
73
+ }
74
+ else
75
+ result += parameter.value.toString();
76
+ }
77
+ else
78
+ result += "@" + parameterName;
79
+ }
80
+
81
+ return result + baseSqlCommand;
82
+ }
83
+
84
+ var onProcess = function (result) {
85
+ result.handlerVersion = "2021.4.4";
86
+ response.end(JSON.stringify(result));
87
+ }
88
+
89
+ http.createServer(accept).listen(9615);
package/package.json CHANGED
@@ -1,50 +1,50 @@
1
- {
2
- "name": "stimulsoft-data-adapter",
3
- "version": "2021.3.7",
4
- "description": "Nodejs data adapter for Stimulsoft Reports.JS",
5
- "main": "app.js",
6
- "scripts": {
7
- "start": "node app.js"
8
- },
9
- "repository": {
10
- "type": "git",
11
- "url": "https://github.com/stimulsoft/DataAdapters.JS/tree/main/NodejsDataAdapters"
12
- },
13
- "dependencies": {
14
- "mssql": "^6.2.1",
15
- "mysql": "^2.15.0",
16
- "node-firebird": "^0.9.8",
17
- "pg": "^8.3.3",
18
- "tzdata": "^1.0.25"
19
- },
20
- "files": [
21
- "package.json",
22
- "README.md",
23
- "app.js",
24
- "FirebirdAdapter.js",
25
- "MSSQLAdapter.js",
26
- "MySQLAdapter.js",
27
- "OracleAdapter.js",
28
- "PostgreSQLAdapter.js"
29
- ],
30
- "author": {
31
- "name": "Stimulsoft",
32
- "url": "http://www.stimulsoft.com"
33
- },
34
- "maintainers": [
35
- {
36
- "name": "Stimulsoft",
37
- "email": "info@stimulsoft.com",
38
- "url": "http://www.stimulsoft.com"
39
- }
40
- ],
41
- "contributors": [
42
- {
43
- "name": "Stimulsoft",
44
- "email": "info@stimulsoft.com",
45
- "url": "http://www.stimulsoft.com"
46
- }
47
- ],
48
- "license": "Closed Source",
49
- "homepage": "https://github.com/stimulsoft/DataAdapters.JS/tree/main/NodejsDataAdapters"
50
- }
1
+ {
2
+ "name": "stimulsoft-data-adapter",
3
+ "version": "2021.4.4",
4
+ "description": "Nodejs data adapter for Stimulsoft Reports.JS",
5
+ "main": "app.js",
6
+ "scripts": {
7
+ "start": "node app.js"
8
+ },
9
+ "repository": {
10
+ "type": "git",
11
+ "url": "https://github.com/stimulsoft/DataAdapters.JS/tree/main/NodejsDataAdapters"
12
+ },
13
+ "dependencies": {
14
+ "mssql": "^6.2.1",
15
+ "mysql": "^2.15.0",
16
+ "node-firebird": "^0.9.8",
17
+ "pg": "^8.3.3",
18
+ "tzdata": "^1.0.25"
19
+ },
20
+ "files": [
21
+ "package.json",
22
+ "README.md",
23
+ "app.js",
24
+ "FirebirdAdapter.js",
25
+ "MSSQLAdapter.js",
26
+ "MySQLAdapter.js",
27
+ "OracleAdapter.js",
28
+ "PostgreSQLAdapter.js"
29
+ ],
30
+ "author": {
31
+ "name": "Stimulsoft",
32
+ "url": "http://www.stimulsoft.com"
33
+ },
34
+ "maintainers": [
35
+ {
36
+ "name": "Stimulsoft",
37
+ "email": "info@stimulsoft.com",
38
+ "url": "http://www.stimulsoft.com"
39
+ }
40
+ ],
41
+ "contributors": [
42
+ {
43
+ "name": "Stimulsoft",
44
+ "email": "info@stimulsoft.com",
45
+ "url": "http://www.stimulsoft.com"
46
+ }
47
+ ],
48
+ "license": "Closed Source",
49
+ "homepage": "https://github.com/stimulsoft/DataAdapters.JS/tree/main/NodejsDataAdapters"
50
+ }