@rdyl/node-mysql 0.4.0 → 0.4.2
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/CHANGELOG.md +1 -1
- package/dist/helper.js +8 -9
- package/package.json +1 -1
- package/types/type.d.ts +3 -1
package/CHANGELOG.md
CHANGED
package/dist/helper.js
CHANGED
|
@@ -74,6 +74,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
74
74
|
exports.MysqlUpdater = exports.MysqlDeleter = exports.MysqlInserter = exports.MysqlSelector = void 0;
|
|
75
75
|
var interface_1 = require("./interface");
|
|
76
76
|
var utils_1 = require("./utils");
|
|
77
|
+
var toDbName = utils_1.Parser.toDbName;
|
|
77
78
|
var BaseHelper = /** @class */ (function () {
|
|
78
79
|
function BaseHelper(table, related) {
|
|
79
80
|
if (related === void 0) { related = {}; }
|
|
@@ -96,18 +97,16 @@ var BaseHelper = /** @class */ (function () {
|
|
|
96
97
|
if (relatedFields.length) {
|
|
97
98
|
/* 单个角色对象 */
|
|
98
99
|
relatedFields.forEach(function (n) {
|
|
99
|
-
var
|
|
100
|
-
var
|
|
101
|
-
var fields = model.$mapFields;
|
|
102
|
-
var rTable = model.$table;
|
|
100
|
+
var _a = _this.related[n], related = _a.related, ownerId = _a.ownerId, fields = _a.fields, iTable = _a.table, isArray = _a.isArray;
|
|
101
|
+
var relatedId = "".concat(n, "Id");
|
|
103
102
|
var fieldsSql = "\n".concat(fields
|
|
104
|
-
.map(function (e) { return " '".concat(e, "', ").concat(
|
|
103
|
+
.map(function (e) { return " '".concat(e, "', ").concat(iTable, ".").concat(toDbName(e)); })
|
|
105
104
|
.join(",\n"), "\n");
|
|
106
|
-
if (
|
|
107
|
-
sqlList.push("COALESCE(\n (\n SELECT JSON_ARRAYAGG(\n JSON_OBJECT(".concat(fieldsSql, " )\n )\n FROM ").concat(
|
|
105
|
+
if (isArray) {
|
|
106
|
+
sqlList.push("COALESCE(\n (\n SELECT JSON_ARRAYAGG(\n JSON_OBJECT(".concat(fieldsSql, " )\n )\n FROM ").concat(related, "\n JOIN ").concat(iTable, " ON ").concat(iTable, ".id = ").concat(related, ".").concat(toDbName(relatedId), "\n WHERE ").concat(related, ".").concat(toDbName(ownerId), " = ").concat(_this.table, ".id\n ),\n JSON_ARRAY()\n) AS ").concat(n, "\n"));
|
|
108
107
|
}
|
|
109
108
|
else {
|
|
110
|
-
sqlList.push("COALESCE(\n (\n SELECT JSON_OBJECT(".concat(fieldsSql, " )\n FROM ").concat(
|
|
109
|
+
sqlList.push("COALESCE(\n (\n SELECT JSON_OBJECT(".concat(fieldsSql, " )\n FROM ").concat(related, "\n JOIN ").concat(iTable, " ON ").concat(iTable, ".id = ").concat(related, ".").concat(toDbName(relatedId), "\n WHERE ").concat(related, ".").concat(toDbName(ownerId), " = ").concat(_this.table, ".id\n LIMIT 1\n )\n) AS ").concat(n, "\n"));
|
|
111
110
|
}
|
|
112
111
|
});
|
|
113
112
|
}
|
|
@@ -127,7 +126,7 @@ var BaseHelper = /** @class */ (function () {
|
|
|
127
126
|
sql += " WHERE ";
|
|
128
127
|
selects.forEach(function (ele, i) {
|
|
129
128
|
var field = ele.field, value = ele.value, _a = ele.condition, condition = _a === void 0 ? "eq" : _a, _b = ele.relation, relation = _b === void 0 ? "and" : _b;
|
|
130
|
-
var res = "".concat(
|
|
129
|
+
var res = "".concat(toDbName(field), " ").concat(interface_1.ConditionMaps[condition], " ");
|
|
131
130
|
if (condition === "include") {
|
|
132
131
|
res += "(?)";
|
|
133
132
|
}
|
package/package.json
CHANGED
package/types/type.d.ts
CHANGED
|
@@ -9,7 +9,9 @@ interface MysqlDbBaseType {
|
|
|
9
9
|
type MysqlDbResultStat = "exist" | "ok" | "fail";
|
|
10
10
|
|
|
11
11
|
type MysqlRelatedField = {
|
|
12
|
-
|
|
12
|
+
table: string;
|
|
13
|
+
fields: string[];
|
|
13
14
|
related: string;
|
|
15
|
+
ownerId: string;
|
|
14
16
|
isArray?: boolean;
|
|
15
17
|
};
|