fix filtering table rows on sqlite and mysql
This commit is contained in:
parent
fc265ef221
commit
de103423e3
@ -28,4 +28,6 @@ db.isPostgres = isPostgres;
|
||||
db.isSQLite = isSQLite;
|
||||
db.isMySQL = isMySQL;
|
||||
|
||||
db.compatibleILIKE = isPostgres ? "andWhereILike" : "andWhereLike";
|
||||
|
||||
module.exports = db;
|
||||
|
@ -142,16 +142,16 @@ async function getAdmin(match, params) {
|
||||
if (params?.user) {
|
||||
const id = parseInt(params?.user);
|
||||
if (Number.isNaN(id)) {
|
||||
query.andWhereILike("users.email", "%" + params.user + "%");
|
||||
query[knex.compatibleILIKE]("users.email", "%" + params.user + "%");
|
||||
} else {
|
||||
query.andWhere("domains.user_id", id);
|
||||
}
|
||||
}
|
||||
|
||||
if (params?.search) {
|
||||
query.andWhereRaw(
|
||||
"concat_ws(' ', domains.address, domains.homepage) ILIKE '%' || ? || '%'",
|
||||
[params.search]
|
||||
query[knex.compatibleILIKE](
|
||||
knex.raw("concat_ws(' ', domains.address, domains.homepage)"),
|
||||
"%" + params.search + "%"
|
||||
);
|
||||
}
|
||||
|
||||
@ -180,14 +180,17 @@ async function totalAdmin(match, params) {
|
||||
if (params?.user) {
|
||||
const id = parseInt(params?.user);
|
||||
if (Number.isNaN(id)) {
|
||||
query.andWhereILike("users.email", "%" + params.user + "%");
|
||||
query[knex.compatibleILIKE]("users.email", "%" + params.user + "%");
|
||||
} else {
|
||||
query.andWhere("domains.user_id", id);
|
||||
}
|
||||
}
|
||||
|
||||
if (params?.search) {
|
||||
query.andWhereILike("domains.address", "%" + params.search + "%");
|
||||
query[knex.compatibleILIKE](
|
||||
knex.raw("concat_ws(' ', domains.address, domains.homepage)"),
|
||||
"%" + params.search + "%"
|
||||
);
|
||||
}
|
||||
|
||||
if (params?.links !== undefined) {
|
||||
|
@ -64,9 +64,9 @@ async function total(match, params) {
|
||||
});
|
||||
|
||||
if (params?.search) {
|
||||
query.andWhereRaw(
|
||||
"concat_ws(' ', description, links.address, target, domains.address) ILIKE '%' || ? || '%'",
|
||||
[params.search]
|
||||
query[knex.compatibleILIKE](
|
||||
knex.raw("concat_ws(' ', description, links.address, target, domains.address)"),
|
||||
"%" + params.search + "%"
|
||||
);
|
||||
}
|
||||
query.leftJoin("domains", "links.domain_id", "domains.id");
|
||||
@ -87,21 +87,21 @@ async function totalAdmin(match, params) {
|
||||
if (params?.user) {
|
||||
const id = parseInt(params?.user);
|
||||
if (Number.isNaN(id)) {
|
||||
query.andWhereILike("users.email", "%" + params.user + "%");
|
||||
query[knex.compatibleILIKE]("users.email", "%" + params.user + "%");
|
||||
} else {
|
||||
query.andWhere("links.user_id", params.user);
|
||||
}
|
||||
}
|
||||
|
||||
if (params?.search) {
|
||||
query.andWhereRaw(
|
||||
"concat_ws(' ', description, links.address, target) ILIKE '%' || ? || '%'",
|
||||
[params.search]
|
||||
query[knex.compatibleILIKE](
|
||||
knex.raw("concat_ws(' ', description, links.address, target)"),
|
||||
"%" + params.search + "%"
|
||||
);
|
||||
}
|
||||
|
||||
if (params?.domain) {
|
||||
query.andWhereRaw("domains.address ILIKE '%' || ? || '%'", [params.domain]);
|
||||
query[knex.compatibleILIKE]("domains.address", "%" + params.domain + "%");
|
||||
}
|
||||
|
||||
query.leftJoin("domains", "links.domain_id", "domains.id");
|
||||
@ -122,9 +122,9 @@ async function get(match, params) {
|
||||
.orderBy("links.id", "desc");
|
||||
|
||||
if (params?.search) {
|
||||
query.andWhereRaw(
|
||||
"concat_ws(' ', description, links.address, target, domains.address) ILIKE '%' || ? || '%'",
|
||||
[params.search]
|
||||
query[knex.compatibleILIKE](
|
||||
knex.raw("concat_ws(' ', description, links.address, target, domains.address)"),
|
||||
"%" + params.search + "%"
|
||||
);
|
||||
}
|
||||
|
||||
@ -148,21 +148,21 @@ async function getAdmin(match, params) {
|
||||
if (params?.user) {
|
||||
const id = parseInt(params?.user);
|
||||
if (Number.isNaN(id)) {
|
||||
query.andWhereILike("users.email", "%" + params.user + "%");
|
||||
query[knex.compatibleILIKE]("users.email", "%" + params.user + "%");
|
||||
} else {
|
||||
query.andWhere("links.user_id", params.user);
|
||||
}
|
||||
}
|
||||
|
||||
if (params?.search) {
|
||||
query.andWhereRaw(
|
||||
"concat_ws(' ', description, links.address, target) ILIKE '%' || ? || '%'",
|
||||
[params.search]
|
||||
query[knex.compatibleILIKE](
|
||||
knex.raw("concat_ws(' ', description, links.address, target)"),
|
||||
"%" + params.search + "%"
|
||||
);
|
||||
}
|
||||
|
||||
if (params?.domain) {
|
||||
query.andWhereRaw("domains.address ILIKE '%' || ? || '%'", [params.domain]);
|
||||
query[knex.compatibleILIKE]("domains.address", "%" + params.domain + "%");
|
||||
}
|
||||
|
||||
query.leftJoin("domains", "links.domain_id", "domains.id");
|
||||
|
@ -144,7 +144,7 @@ async function getAdmin(match, params) {
|
||||
if (params?.search) {
|
||||
const id = parseInt(params?.search);
|
||||
if (Number.isNaN(id)) {
|
||||
query.andWhereILike("users.email", "%" + params?.search + "%");
|
||||
query[knex.compatibleILIKE]("users.email", "%" + params?.search + "%");
|
||||
} else {
|
||||
query.andWhere("users.id", params?.search);
|
||||
}
|
||||
@ -186,7 +186,7 @@ async function totalAdmin(match, params) {
|
||||
if (params?.search) {
|
||||
const id = parseInt(params?.search);
|
||||
if (Number.isNaN(id)) {
|
||||
query.andWhereILike("users.email", "%" + params?.search + "%");
|
||||
query[knex.compatibleILIKE]("users.email", "%" + params?.search + "%");
|
||||
} else {
|
||||
query.andWhere("users.id", params?.search);
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user