[QRQC_2] No explicit any in twenty-server (#12068)

# Introduction

Added a no-explicit-any rule to the twenty-server, not applicable to
tests and integration tests folder

Related to https://github.com/twentyhq/core-team-issues/issues/975
Discussed with Charles

## In case of conflicts
Until this is approved I won't rebased and handle conflict, just need to
drop two latest commits and re run the scripts etc

## Legacy
We decided not to handle the existing lint error occurrences and
programmatically ignored them through a disable next line rule comment

## Open question
We might wanna activate the
[no-explicit-any](https://typescript-eslint.io/rules/no-explicit-any/)
`ignoreRestArgs` for our use case ?
```
    ignoreRestArgs?: boolean;
```

---------

Co-authored-by: etiennejouan <jouan.etienne@gmail.com>
This commit is contained in:
Paul Rastoin
2025-05-15 16:26:38 +02:00
committed by GitHub
parent c95c4383b4
commit a8423e8503
213 changed files with 453 additions and 4 deletions

View File

@ -33,6 +33,7 @@ const computeOperator = (
const validateAndGetOrderBy = (
key: string,
orderBy: ObjectRecordOrderBy,
// eslint-disable-next-line @typescript-eslint/no-explicit-any
): Record<string, any> => {
const keyOrderBy = orderBy.find((order) => key in order);
@ -51,6 +52,7 @@ const isAscendingOrder = (direction: OrderByDirection): boolean =>
direction === OrderByDirection.AscNullsLast;
export const computeCursorArgFilter = (
// eslint-disable-next-line @typescript-eslint/no-explicit-any
cursor: Record<string, any>,
orderBy: ObjectRecordOrderBy,
fieldMetadataMapByName: FieldMetadataMap,
@ -99,11 +101,13 @@ export const computeCursorArgFilter = (
const buildWhereCondition = (
key: string,
// eslint-disable-next-line @typescript-eslint/no-explicit-any
value: any,
fieldMetadataMapByName: FieldMetadataMap,
orderBy: ObjectRecordOrderBy,
isForwardPagination: boolean,
operator?: string,
// eslint-disable-next-line @typescript-eslint/no-explicit-any
): Record<string, any> => {
const fieldMetadata = fieldMetadataMapByName[key];
@ -138,11 +142,13 @@ const buildWhereCondition = (
const buildCompositeWhereCondition = (
key: string,
// eslint-disable-next-line @typescript-eslint/no-explicit-any
value: any,
fieldType: FieldMetadataType,
orderBy: ObjectRecordOrderBy,
isForwardPagination: boolean,
operator?: string,
// eslint-disable-next-line @typescript-eslint/no-explicit-any
): Record<string, any> => {
const compositeType = compositeTypeDefinitions.get(fieldType);
@ -154,6 +160,7 @@ const buildCompositeWhereCondition = (
}
const keyOrderBy = validateAndGetOrderBy(key, orderBy);
// eslint-disable-next-line @typescript-eslint/no-explicit-any
const result: Record<string, any> = {};
compositeType.properties.forEach((property) => {