feat: backend fixed bug in permission change

This commit is contained in:
=
2024-10-18 00:33:35 +05:30
parent aeaabe2c27
commit acfb4693ee
6 changed files with 46 additions and 29 deletions
+11 -20
View File
@@ -28,8 +28,8 @@ type TKnexGroupOperator<T extends object> = {
export type TKnexDynamicOperator<T extends object> = TKnexGroupOperator<T> | TKnexNonGroupOperator<T>;
export const buildDynamicKnexQuery = <T extends object>(
dynamicQuery: TKnexDynamicOperator<T>,
rootQueryBuild: Knex.QueryBuilder
rootQueryBuild: Knex.QueryBuilder,
dynamicQuery: TKnexDynamicOperator<T>
) => {
const stack = [{ filterAst: dynamicQuery, queryBuilder: rootQueryBuild }];
@@ -53,34 +53,25 @@ export const buildDynamicKnexQuery = <T extends object>(
break;
}
case "and": {
void queryBuilder.andWhere((subQueryBuilder) => {
filterAst.value.forEach((el) => {
stack.push({
queryBuilder: subQueryBuilder,
filterAst: el
});
filterAst.value.forEach((el) => {
void queryBuilder.andWhere((subQueryBuilder) => {
buildDynamicKnexQuery(subQueryBuilder, el);
});
});
break;
}
case "or": {
void queryBuilder.orWhere((subQueryBuilder) => {
filterAst.value.forEach((el) => {
stack.push({
queryBuilder: subQueryBuilder,
filterAst: el
});
filterAst.value.forEach((el) => {
void queryBuilder.orWhere((subQueryBuilder) => {
buildDynamicKnexQuery(subQueryBuilder, el);
});
});
break;
}
case "not": {
void queryBuilder.whereNot((subQueryBuilder) => {
filterAst.value.forEach((el) => {
stack.push({
queryBuilder: subQueryBuilder,
filterAst: el
});
filterAst.value.forEach((el) => {
void queryBuilder.whereNot((subQueryBuilder) => {
buildDynamicKnexQuery(subQueryBuilder, el);
});
});
break;
+1 -1
View File
@@ -42,7 +42,7 @@ export const buildFindFilter =
});
}
if ($complex) {
buildDynamicKnexQuery($complex, bd);
return buildDynamicKnexQuery(bd, $complex);
}
return bd;
};