Date filter improvements (#5917) (#7196)

Solves issue #5917.

This PR is now ready for the first review!

Filters do not fully work yet, there's a problem applying multiple
filters like the following:

```
{
  and: [
    {
      [correspondingField.name]: {
        gte: start.toISOString(),
      } as DateFilter,
    },
    {
      [correspondingField.name]: {
        lte: end.toISOString(),
      } as DateFilter,
    },
  ],
}
```

I'll do my best to dig into it tonight!

---------

Co-authored-by: Félix Malfait <felix@twenty.com>
This commit is contained in:
ad-elias
2024-09-27 15:57:38 +02:00
committed by GitHub
parent c9c2f32922
commit 9d36493cf0
28 changed files with 983 additions and 131 deletions

View File

@ -62,9 +62,9 @@ export class GraphqlQueryParser {
return queryBuilder;
}
private checkForDeletedAtFilter(
private checkForDeletedAtFilter = (
filter: FindOptionsWhere<ObjectLiteral> | FindOptionsWhere<ObjectLiteral>[],
): boolean {
): boolean => {
if (Array.isArray(filter)) {
return filter.some((subFilter) =>
this.checkForDeletedAtFilter(subFilter),
@ -86,7 +86,7 @@ export class GraphqlQueryParser {
}
return false;
}
};
applyOrderToBuilder(
queryBuilder: SelectQueryBuilder<any>,