Compare commits
No commits in common. "d8376a4b7b6961cd52fd63ead5d3ff9f40285d6e" and "2076412c06fe95cc26b92393870cc055c0f3db35" have entirely different histories.
d8376a4b7b
...
2076412c06
1 changed files with 9 additions and 28 deletions
|
@ -1,4 +1,4 @@
|
||||||
import { Brackets, NotBrackets, ObjectLiteral, SelectQueryBuilder, WhereExpressionBuilder } from "typeorm";
|
import { Brackets, DataSource, NotBrackets, ObjectLiteral, SelectQueryBuilder, WhereExpressionBuilder } from "typeorm";
|
||||||
import { dataSource } from "../data-source";
|
import { dataSource } from "../data-source";
|
||||||
import { ConditionStructure, DynamicQueryStructure, FieldType, QueryResult } from "../type/dynamicQueries";
|
import { ConditionStructure, DynamicQueryStructure, FieldType, QueryResult } from "../type/dynamicQueries";
|
||||||
import { TableMeta } from "../type/tableMeta";
|
import { TableMeta } from "../type/tableMeta";
|
||||||
|
@ -63,7 +63,7 @@ export default abstract class DynamicQueryBuilder {
|
||||||
count?: number;
|
count?: number;
|
||||||
noLimit?: boolean;
|
noLimit?: boolean;
|
||||||
}): SelectQueryBuilder<ObjectLiteral> {
|
}): SelectQueryBuilder<ObjectLiteral> {
|
||||||
let affix = queryObj.id.replaceAll("-", "") ?? StringHelper.random(10);
|
let affix = queryObj.id ?? StringHelper.random(10);
|
||||||
let query = dataSource.getRepository(queryObj.table).createQueryBuilder(`${affix}_${queryObj.table}`);
|
let query = dataSource.getRepository(queryObj.table).createQueryBuilder(`${affix}_${queryObj.table}`);
|
||||||
|
|
||||||
this.buildDynamicQuery(query, queryObj, affix);
|
this.buildDynamicQuery(query, queryObj, affix);
|
||||||
|
@ -116,7 +116,7 @@ export default abstract class DynamicQueryBuilder {
|
||||||
|
|
||||||
if (queryObject.join) {
|
if (queryObject.join) {
|
||||||
for (const join of queryObject.join) {
|
for (const join of queryObject.join) {
|
||||||
let subaffix = join.id.replaceAll("-", "") ?? StringHelper.random(10);
|
let subaffix = join.id ?? StringHelper.random(10);
|
||||||
if (join.type == undefined) join.type = "defined";
|
if (join.type == undefined) join.type = "defined";
|
||||||
if (join.type == "defined") {
|
if (join.type == "defined") {
|
||||||
query.innerJoin(`${alias}.${join.foreignColumn}`, `${subaffix}_${join.table}`);
|
query.innerJoin(`${alias}.${join.foreignColumn}`, `${subaffix}_${join.table}`);
|
||||||
|
@ -272,15 +272,8 @@ export default abstract class DynamicQueryBuilder {
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
results = tempResults;
|
results = tempResults;
|
||||||
} else if (
|
} else if (value && typeof value === "object" && !Array.isArray(value) && !(value instanceof Date)) {
|
||||||
value &&
|
const objResults = flatten(value as QueryResult, newKey);
|
||||||
typeof value === "object" &&
|
|
||||||
!Array.isArray(value) &&
|
|
||||||
!(value instanceof Date) &&
|
|
||||||
!(value instanceof Buffer) &&
|
|
||||||
!Object.keys(value).every((k) => ["years", "months", "days"].includes(k))
|
|
||||||
) {
|
|
||||||
const objResults = flatten(value, newKey);
|
|
||||||
const tempResults: Array<{ [key: string]: FieldType }> = [];
|
const tempResults: Array<{ [key: string]: FieldType }> = [];
|
||||||
results.forEach((res) => {
|
results.forEach((res) => {
|
||||||
objResults.forEach((objRes) => {
|
objResults.forEach((objRes) => {
|
||||||
|
@ -290,19 +283,7 @@ export default abstract class DynamicQueryBuilder {
|
||||||
results = tempResults;
|
results = tempResults;
|
||||||
} else {
|
} else {
|
||||||
results.forEach((res) => {
|
results.forEach((res) => {
|
||||||
if (typeof value === "object" && value instanceof Date) {
|
if (String(value) != "undefined") res[newKey] = String(value);
|
||||||
res[newKey] = new Date(value).toISOString();
|
|
||||||
} else if (typeof value === "object" && !Array.isArray(value) && !(value instanceof Buffer)) {
|
|
||||||
let string = "";
|
|
||||||
for (const key of Object.keys(value)) {
|
|
||||||
string += `${value[key]} ${key} `;
|
|
||||||
}
|
|
||||||
res[newKey] = string.trim();
|
|
||||||
|
|
||||||
// JSON.stringify(value).replace(/["\\{}]/g, "").replaceAll(",", ", ");
|
|
||||||
} else if (String(value) != "undefined") {
|
|
||||||
res[newKey] = String(value);
|
|
||||||
}
|
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -385,7 +366,7 @@ export default abstract class DynamicQueryBuilder {
|
||||||
stats: "error",
|
stats: "error",
|
||||||
sql: error.sql,
|
sql: error.sql,
|
||||||
code: error.code,
|
code: error.code,
|
||||||
msg: error.sqlMessage ?? error.message,
|
msg: error.sqlMessage,
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
@ -394,7 +375,7 @@ export default abstract class DynamicQueryBuilder {
|
||||||
stats: "error",
|
stats: "error",
|
||||||
sql: error.sql,
|
sql: error.sql,
|
||||||
code: error.code,
|
code: error.code,
|
||||||
msg: error.sqlMessage ?? error.message,
|
msg: error.sqlMessage,
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
|
@ -414,7 +395,7 @@ export default abstract class DynamicQueryBuilder {
|
||||||
stats: "error",
|
stats: "error",
|
||||||
sql: error.sql,
|
sql: error.sql,
|
||||||
code: error.code,
|
code: error.code,
|
||||||
msg: error.sqlMessage ?? error.message,
|
msg: error.sqlMessage,
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
Loading…
Add table
Reference in a new issue