[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
@@ -57,6 +57,7 @@ export class SSOAuthController {
@Get('saml/metadata/:identityProviderId')
@UseGuards(EnterpriseFeaturesEnabledGuard)
@UseFilters(AuthRestApiExceptionFilter)
// eslint-disable-next-line @typescript-eslint/no-explicit-any
async generateMetadata(@Req() req: any): Promise<string | void> {
return generateServiceProviderMetadata({
wantAssertionsSigned: false,
@@ -26,6 +26,7 @@ export class OIDCAuthGuard extends AuthGuard('openidconnect') {
super();
}
// eslint-disable-next-line @typescript-eslint/no-explicit-any
private getStateByRequest(request: any): {
identityProviderId: string;
} {
@@ -20,6 +20,7 @@ export class GoogleAPIsOauthExchangeCodeForTokenStrategy extends GoogleAPIsOauth
request: GoogleAPIsRequest,
accessToken: string,
refreshToken: string,
// eslint-disable-next-line @typescript-eslint/no-explicit-any
profile: any,
done: VerifyCallback,
): Promise<void> {
@@ -14,6 +14,8 @@ export class GoogleAPIsOauthRequestCodeStrategy extends GoogleAPIsOauthCommonStr
super(twentyConfigService);
}
// eslint-disable-next-line @typescript-eslint/no-explicit-any
// eslint-disable-next-line @typescript-eslint/no-explicit-any
authenticate(req: any, options: any) {
options = {
...options,
@@ -36,6 +36,7 @@ export class GoogleStrategy extends PassportStrategy(Strategy, 'google') {
});
}
// eslint-disable-next-line @typescript-eslint/no-explicit-any
authenticate(req: Request, options: any) {
options = {
...options,
@@ -54,6 +55,7 @@ export class GoogleStrategy extends PassportStrategy(Strategy, 'google') {
request: GoogleRequest,
accessToken: string,
refreshToken: string,
// eslint-disable-next-line @typescript-eslint/no-explicit-any
profile: any,
done: VerifyCallback,
): Promise<void> {
@@ -20,6 +20,7 @@ export class MicrosoftAPIsOauthExchangeCodeForTokenStrategy extends MicrosoftAPI
request: MicrosoftAPIsRequest,
accessToken: string,
refreshToken: string,
// eslint-disable-next-line @typescript-eslint/no-explicit-any
profile: any,
done: VerifyCallback,
): Promise<void> {
@@ -9,6 +9,8 @@ export class MicrosoftAPIsOauthRequestCodeStrategy extends MicrosoftAPIsOauthCom
super(twentyConfigService);
}
// eslint-disable-next-line @typescript-eslint/no-explicit-any
// eslint-disable-next-line @typescript-eslint/no-explicit-any
authenticate(req: any, options: any) {
options = {
...options,
@@ -40,6 +40,7 @@ export class MicrosoftStrategy extends PassportStrategy(Strategy, 'microsoft') {
});
}
// eslint-disable-next-line @typescript-eslint/no-explicit-any
authenticate(req: Request, options: any) {
options = {
...options,
@@ -59,6 +60,7 @@ export class MicrosoftStrategy extends PassportStrategy(Strategy, 'microsoft') {
request: MicrosoftRequest,
accessToken: string,
refreshToken: string,
// eslint-disable-next-line @typescript-eslint/no-explicit-any
profile: any,
done: VerifyCallback,
): Promise<void> {
@@ -45,6 +45,7 @@ export class OIDCAuthStrategy extends PassportStrategy(
});
}
// eslint-disable-next-line @typescript-eslint/no-explicit-any
async authenticate(req: Request, options: any) {
return super.authenticate(req, {
...options,
@@ -84,6 +85,7 @@ export class OIDCAuthStrategy extends PassportStrategy(
async validate(
req: Request,
tokenset: TokenSet,
// eslint-disable-next-line @typescript-eslint/no-explicit-any
done: (err: any, user?: OIDCRequest['user']) => void,
) {
try {