exodus-framework 2.1.1016 → 2.1.1018
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/lib/contracts/http.d.ts
CHANGED
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"http.d.ts","sourceRoot":"","sources":["../../src/contracts/http.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,SAAS,CAAC;AAOzC,MAAM,CAAC,OAAO,MAAM,oBAAoB,GAAG,OAAO,GAAG,SAAS,GAAG,SAAS,CAAC;AAO3E,MAAM,CAAC,OAAO,MAAM,aAAa,CAAC,CAAC,GAAG,OAAO,IAAI;IAC/C,MAAM,EAAE,OAAO,CAAC;IAChB,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,EAAE,oBAAoB,CAAC;IAC3B,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,IAAI,CAAC,EAAE,CAAC,CAAC;CACV,CAAC;AAEF,MAAM,CAAC,OAAO,WAAW,kBAAkB,CAAC,CAAC,GAAG,OAAO;IACrD,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,CAAC,EAAE,CAAC,CAAC;CACV;AAED,MAAM,WAAW,YAAY,CAAC,CAAC;IAC7B,GAAG,CAAC,EAAE,GAAG,CAAC;IACV,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,OAAO,CAAC;IAChB,IAAI,EAAE,oBAAoB,CAAC;IAC3B,IAAI,CAAC,EAAE,CAAC,CAAC;IACT,IAAI,EAAE,MAAM,CAAC;IACb,SAAS,EAAE,MAAM,CAAC;CACnB;AAQD,oBAAY,iBAAiB;IAE3B,QAAQ,MAAM;IACd,QAAQ,MAAM;IACd,OAAO,MAAM;IACb,gCAAgC,MAAM;IAEtC,yBAAyB,MAAM;IAC/B,sBAAsB,MAAM;IAG5B,iBAAiB,MAAM;IACvB,mBAAmB,MAAM;IACzB,wBAAwB,MAAM;IAC9B,oBAAoB,MAAM;IAC1B,mBAAmB,MAAM;IAGzB,WAAW,MAAM;IACjB,kBAAkB,MAAM;IACxB,gBAAgB,MAAM;IACtB,kBAAkB,MAAM;IACxB,wBAAwB,MAAM;IAC9B,cAAc,MAAM;IACpB,uBAAuB,MAAM;IAC7B,kBAAkB,MAAM;CACzB;AACD,oBAAY,iBAAiB;IAC3B,IAAI,SAAS;IACb,GAAG,QAAQ;IACX,GAAG,QAAQ;IACX,MAAM,WAAW;IACjB,KAAK,UAAU;CAChB;AAED,MAAM,MAAM,eAAe,GAAG;IAC5B,EAAE,CAAC,EAAE,GAAG,CAAC;IACT,EAAE,CAAC,EAAE,GAAG,CAAC;IACT,EAAE,CAAC,EAAE,GAAG,CAAC;IACT,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC;IACX,KAAK,CAAC,EAAE,GAAG,EAAE,CAAC;IACd,OAAO,CAAC,EAAE,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;IACrB,UAAU,CAAC,EAAE,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;IACxB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,IAAI,CAAC,EAAE,MAAM,GAAG,QAAQ,GAAG,QAAQ,CAAC;
|
1
|
+
{"version":3,"file":"http.d.ts","sourceRoot":"","sources":["../../src/contracts/http.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,SAAS,CAAC;AAOzC,MAAM,CAAC,OAAO,MAAM,oBAAoB,GAAG,OAAO,GAAG,SAAS,GAAG,SAAS,CAAC;AAO3E,MAAM,CAAC,OAAO,MAAM,aAAa,CAAC,CAAC,GAAG,OAAO,IAAI;IAC/C,MAAM,EAAE,OAAO,CAAC;IAChB,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,EAAE,oBAAoB,CAAC;IAC3B,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,IAAI,CAAC,EAAE,CAAC,CAAC;CACV,CAAC;AAEF,MAAM,CAAC,OAAO,WAAW,kBAAkB,CAAC,CAAC,GAAG,OAAO;IACrD,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,CAAC,EAAE,CAAC,CAAC;CACV;AAED,MAAM,WAAW,YAAY,CAAC,CAAC;IAC7B,GAAG,CAAC,EAAE,GAAG,CAAC;IACV,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,OAAO,CAAC;IAChB,IAAI,EAAE,oBAAoB,CAAC;IAC3B,IAAI,CAAC,EAAE,CAAC,CAAC;IACT,IAAI,EAAE,MAAM,CAAC;IACb,SAAS,EAAE,MAAM,CAAC;CACnB;AAQD,oBAAY,iBAAiB;IAE3B,QAAQ,MAAM;IACd,QAAQ,MAAM;IACd,OAAO,MAAM;IACb,gCAAgC,MAAM;IAEtC,yBAAyB,MAAM;IAC/B,sBAAsB,MAAM;IAG5B,iBAAiB,MAAM;IACvB,mBAAmB,MAAM;IACzB,wBAAwB,MAAM;IAC9B,oBAAoB,MAAM;IAC1B,mBAAmB,MAAM;IAGzB,WAAW,MAAM;IACjB,kBAAkB,MAAM;IACxB,gBAAgB,MAAM;IACtB,kBAAkB,MAAM;IACxB,wBAAwB,MAAM;IAC9B,cAAc,MAAM;IACpB,uBAAuB,MAAM;IAC7B,kBAAkB,MAAM;CACzB;AACD,oBAAY,iBAAiB;IAC3B,IAAI,SAAS;IACb,GAAG,QAAQ;IACX,GAAG,QAAQ;IACX,MAAM,WAAW;IACjB,KAAK,UAAU;CAChB;AAED,MAAM,MAAM,eAAe,GAAG;IAC5B,EAAE,CAAC,EAAE,GAAG,CAAC;IACT,EAAE,CAAC,EAAE,GAAG,CAAC;IACT,EAAE,CAAC,EAAE,GAAG,CAAC;IACT,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC;IACX,KAAK,CAAC,EAAE,GAAG,EAAE,CAAC;IACd,OAAO,CAAC,EAAE,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;IACrB,UAAU,CAAC,EAAE,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;IACxB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,IAAI,CAAC,EAAE,MAAM,GAAG,QAAQ,GAAG,QAAQ,CAAC;IACpC,eAAe,CAAC,EAAE,OAAO,CAAC;CAC3B,CAAC;AAEF,MAAM,MAAM,gBAAgB,CAAC,CAAC,IAAI;IAChC,EAAE,CAAC,EAAE,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,eAAe,CAAC,CAAC,CAAC,CAAC;IACtD,GAAG,CAAC,EAAE,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,eAAe,CAAC,CAAC,CAAC,CAAC;CACxD,CAAC;AAEF,MAAM,MAAM,uBAAuB,CAAC,CAAC,IAAI,eAAe,GAAG,gBAAgB,CAAC,CAAC,CAAC,CAAC;AAE/E,MAAM,WAAW,gBAAgB,CAAC,CAAC;IACjC,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,OAAO,CAAC,EAAE,MAAM,CAAC,CAAC;IAClB,KAAK,CAAC,EAAE,KAAK,GAAG,MAAM,CAAC;IACvB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,OAAO,CAAC,EAAE,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,uBAAuB,CAAC,CAAC,CAAC,CAAC,GAAG,gBAAgB,CAAC,CAAC,CAAC,CAAC,CAAC;CACtF;AACD,MAAM,WAAW,iBAAiB,CAAC,CAAC;IAClC,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,OAAO,CAAC;IACjB,IAAI,EAAE,CAAC,EAAE,CAAC;CACX;AAED,MAAM,WAAW,WAAW;CAAG;AAE/B,MAAM,MAAM,YAAY,CAAC,IAAI,GAAG,GAAG,EAAE,KAAK,GAAG,GAAG,EAAE,MAAM,GAAG,GAAG,IAAI,cAAc,CAC9E,MAAM,EACN,GAAG,EACH,IAAI,EACJ,KAAK,CACN,CAAC;AAEF,MAAM,MAAM,iBAAiB,GAAG,KAAK,GAAG,SAAS,CAAC;AAElD,MAAM,WAAW,iBAAiB;IAChC,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,EAAE,MAAM,CAAC;CACjB"}
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"database.d.ts","sourceRoot":"","sources":["../../src/utils/database.ts"],"names":[],"mappings":"
|
1
|
+
{"version":3,"file":"database.d.ts","sourceRoot":"","sources":["../../src/utils/database.ts"],"names":[],"mappings":"AACA,OAAO,EAAe,SAAS,EAAE,YAAY,EAAE,MAAM,WAAW,CAAC;AAGjE,OAAO,EAAE,uBAAuB,EAAE,gBAAgB,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;AAEzF,eAAO,MAAM,MAAM,WASjB,CAAC;AAqIH,wBAAgB,cAAc,CAAC,CAAC,EAC9B,OAAO,CAAC,EAAE,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,uBAAuB,CAAC,CAAC,CAAC,CAAC,GAAG,gBAAgB,CAAC,CAAC,CAAC,CAAC,GACnF,YAAY,CAAC,CAAC,CAAC,CAqDjB;AAED,wBAAsB,aAAa,CACjC,OAAO,EAAE,cAAc,CAAC,SAAS,CAAC,EAClC,SAAS,EAAE,MAAM,EACjB,OAAO,EAAE;IAAE,MAAM,EAAE,MAAM,EAAE,CAAC;IAAC,MAAM,CAAC,EAAE,OAAO,CAAA;CAAE,EAAE,iBAalD"}
|
package/lib/utils/database.js
CHANGED
@@ -6,10 +6,10 @@ Object.defineProperty(exports, "__esModule", {
|
|
6
6
|
exports.InsertIndexes = InsertIndexes;
|
7
7
|
exports.mainDb = void 0;
|
8
8
|
exports.processFilters = processFilters;
|
9
|
+
var _dateFns = require("date-fns");
|
9
10
|
var _sequelize = require("sequelize");
|
10
11
|
var _core = _interopRequireDefault(require("../app/core"));
|
11
12
|
var _error = require("../app/error");
|
12
|
-
var _dateFns = require("date-fns");
|
13
13
|
function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
|
14
14
|
const mainDb = exports.mainDb = new _sequelize.Sequelize({
|
15
15
|
database: _core.default.settings.getDatabase().main.database,
|
@@ -23,7 +23,7 @@ const mainDb = exports.mainDb = new _sequelize.Sequelize({
|
|
23
23
|
timezone: '-03:00',
|
24
24
|
logging: _core.default.settings.getDatabase().service.log
|
25
25
|
});
|
26
|
-
function processCondition(cond) {
|
26
|
+
function processCondition(cond, fieldName) {
|
27
27
|
if ('or' in cond) {
|
28
28
|
return {
|
29
29
|
[_sequelize.Op.or]: cond.or.map(subCond => processCondition(subCond))
|
@@ -51,10 +51,32 @@ function processCondition(cond) {
|
|
51
51
|
simpleWhere[_sequelize.Op.notBetween] = cond.type === 'DATE' ? cond.notBetween.map(d => new Date(d)) : cond.notBetween;
|
52
52
|
}
|
53
53
|
if (cond.like !== undefined) {
|
54
|
-
|
54
|
+
const value = cond.type === 'DATE' ? new Date(cond.like) : cond.like;
|
55
|
+
if (cond.caseInsensitive && fieldName) {
|
56
|
+
const dialect = _core.default.settings.getDatabase().main.dialect;
|
57
|
+
if (dialect === 'postgres') {
|
58
|
+
simpleWhere[_sequelize.Op.iLike] = value;
|
59
|
+
} else {
|
60
|
+
// Para MariaDB/MySQL, usamos Sequelize.where com função LOWER
|
61
|
+
return _sequelize.Sequelize.where(_sequelize.Sequelize.fn('LOWER', _sequelize.Sequelize.col(fieldName)), _sequelize.Op.like, `${value}`.toLowerCase());
|
62
|
+
}
|
63
|
+
} else {
|
64
|
+
simpleWhere[_sequelize.Op.like] = value;
|
65
|
+
}
|
55
66
|
}
|
56
67
|
if (cond.notLike !== undefined) {
|
57
|
-
|
68
|
+
const value = cond.type === 'DATE' ? new Date(cond.notLike) : cond.notLike;
|
69
|
+
if (cond.caseInsensitive && fieldName) {
|
70
|
+
const dialect = _core.default.settings.getDatabase().main.dialect;
|
71
|
+
if (dialect === 'postgres') {
|
72
|
+
simpleWhere[_sequelize.Op.notILike] = value;
|
73
|
+
} else {
|
74
|
+
// Para MariaDB/MySQL, usamos Sequelize.where com função LOWER
|
75
|
+
return _sequelize.Sequelize.where(_sequelize.Sequelize.fn('LOWER', _sequelize.Sequelize.col(fieldName)), _sequelize.Op.notLike, `${value}`.toLowerCase());
|
76
|
+
}
|
77
|
+
} else {
|
78
|
+
simpleWhere[_sequelize.Op.notLike] = value;
|
79
|
+
}
|
58
80
|
}
|
59
81
|
if (cond.in !== undefined) {
|
60
82
|
simpleWhere[_sequelize.Op.in] = cond.type === 'DATE' ? cond.in.map(d => new Date(d)) : cond.in;
|
@@ -129,7 +151,7 @@ function processFilters(filters) {
|
|
129
151
|
for (const c of condition) {
|
130
152
|
const [[key, value]] = Object.entries(c);
|
131
153
|
t.push({
|
132
|
-
[key]: processCondition(value)
|
154
|
+
[key]: processCondition(value, key)
|
133
155
|
});
|
134
156
|
}
|
135
157
|
if (!where[logicalOp]) {
|
@@ -146,14 +168,23 @@ function processFilters(filters) {
|
|
146
168
|
const [k, c] = processDateCondition(key, condition);
|
147
169
|
where[k] = c;
|
148
170
|
} else {
|
149
|
-
const processedCondition = processCondition(condition);
|
150
|
-
|
151
|
-
|
152
|
-
|
153
|
-
|
154
|
-
|
171
|
+
const processedCondition = processCondition(condition, key);
|
172
|
+
|
173
|
+
// Se retornar um Sequelize.where (case insensitive para MariaDB), precisamos tratar diferente
|
174
|
+
if (processedCondition && typeof processedCondition === 'object' && processedCondition.comparator) {
|
175
|
+
// É um Sequelize.where
|
176
|
+
where[_sequelize.Op.and] = where[_sequelize.Op.and] || [];
|
177
|
+
where[_sequelize.Op.and].push(processedCondition);
|
155
178
|
} else {
|
156
|
-
|
179
|
+
// Condição normal
|
180
|
+
if (where[field]) {
|
181
|
+
where[field] = {
|
182
|
+
...where[field],
|
183
|
+
...processedCondition
|
184
|
+
};
|
185
|
+
} else {
|
186
|
+
where[field] = processedCondition;
|
187
|
+
}
|
157
188
|
}
|
158
189
|
}
|
159
190
|
}
|