From 775ac7a8b1391a2bcbe6a19202da8b86f8060a2a Mon Sep 17 00:00:00 2001 From: Faruk AYDIN Date: Mon, 7 Mar 2022 16:18:29 +0300 Subject: [PATCH] fix: Backend eslint warnings --- .../src/apps/discord/authentication.ts | 27 +++++++++++-------- packages/backend/src/apps/discord/index.ts | 12 ++++++--- packages/backend/src/apps/firebase/index.ts | 12 ++++++--- packages/backend/src/apps/flickr/index.ts | 12 ++++++--- packages/backend/src/apps/github/index.ts | 12 ++++++--- .../src/apps/postgresql/authentication.ts | 7 +---- packages/backend/src/apps/postgresql/index.ts | 12 ++++++--- packages/backend/src/apps/smtp/index.ts | 12 ++++++--- packages/backend/src/apps/twilio/index.ts | 12 ++++++--- packages/backend/src/apps/twitch/index.ts | 12 ++++++--- packages/backend/src/apps/twitter/actions.ts | 7 ++--- .../src/apps/twitter/actions/create-tweet.ts | 13 ++++----- packages/backend/src/apps/twitter/index.ts | 20 ++++++++++---- packages/backend/src/apps/twitter/triggers.ts | 7 ++--- .../src/apps/twitter/triggers/my-tweet.ts | 11 ++++---- .../src/apps/typeform/authentication.ts | 4 +-- packages/backend/src/apps/typeform/index.ts | 12 ++++++--- .../src/graphql/mutations/execute-flow.ts | 1 + packages/backend/src/models/execution-step.ts | 4 +-- packages/types/index.d.ts | 6 ++++- 20 files changed, 144 insertions(+), 71 deletions(-) diff --git a/packages/backend/src/apps/discord/authentication.ts b/packages/backend/src/apps/discord/authentication.ts index 4a842a29..ebcc8239 100644 --- a/packages/backend/src/apps/discord/authentication.ts +++ b/packages/backend/src/apps/discord/authentication.ts @@ -1,17 +1,22 @@ -import type { IField } from '@automatisch/types'; +import type { + IAuthentication, + IApp, + IField, + IJSONObject, +} from '@automatisch/types'; import { URLSearchParams } from 'url'; import axios, { AxiosInstance } from 'axios'; -export default class Authentication { - appData: any; - connectionData: any; +export default class Authentication implements IAuthentication { + appData: IApp; + connectionData: IJSONObject; client: AxiosInstance = axios.create({ baseURL: 'https://discord.com/api/', }); scope: string[] = ['identify', 'email']; - constructor(appData: any, connectionData: any) { + constructor(appData: IApp, connectionData: IJSONObject) { this.appData = appData; this.connectionData = connectionData; } @@ -24,7 +29,7 @@ export default class Authentication { async createAuthData() { const searchParams = new URLSearchParams({ - client_id: this.connectionData.consumerKey, + client_id: this.connectionData.consumerKey as string, redirect_uri: this.oauthRedirectUrl, response_type: 'code', scope: this.scope.join(' '), @@ -37,15 +42,15 @@ export default class Authentication { async verifyCredentials() { const params = new URLSearchParams({ - client_id: this.connectionData.consumerKey, + client_id: this.connectionData.consumerKey as string, redirect_uri: this.oauthRedirectUrl, response_type: 'code', scope: this.scope.join(' '), - client_secret: this.connectionData.consumerSecret, - code: this.connectionData.oauthVerifier, + client_secret: this.connectionData.consumerSecret as string, + code: this.connectionData.oauthVerifier as string, grant_type: 'authorization_code', }); - const { data: verifiedCredentials }: any = await this.client.post( + const { data: verifiedCredentials } = await this.client.post( '/oauth2/token', params.toString() ); @@ -58,7 +63,7 @@ export default class Authentication { token_type: tokenType, } = verifiedCredentials; - const { data: user }: any = await this.client.get('/users/@me', { + const { data: user } = await this.client.get('/users/@me', { headers: { Authorization: `${tokenType} ${accessToken}`, }, diff --git a/packages/backend/src/apps/discord/index.ts b/packages/backend/src/apps/discord/index.ts index a286bd2d..80de7f88 100644 --- a/packages/backend/src/apps/discord/index.ts +++ b/packages/backend/src/apps/discord/index.ts @@ -1,9 +1,15 @@ import Authentication from './authentication'; +import { + IService, + IAuthentication, + IApp, + IJSONObject, +} from '@automatisch/types'; -export default class Discord { - authenticationClient: any; +export default class Discord implements IService { + authenticationClient: IAuthentication; - constructor(appData: any, connectionData: any) { + constructor(appData: IApp, connectionData: IJSONObject) { this.authenticationClient = new Authentication(appData, connectionData); } } diff --git a/packages/backend/src/apps/firebase/index.ts b/packages/backend/src/apps/firebase/index.ts index 7aa52e69..db7a01e4 100644 --- a/packages/backend/src/apps/firebase/index.ts +++ b/packages/backend/src/apps/firebase/index.ts @@ -1,9 +1,15 @@ import Authentication from './authentication'; +import { + IService, + IAuthentication, + IApp, + IJSONObject, +} from '@automatisch/types'; -export default class Firebase { - authenticationClient: any; +export default class Firebase implements IService { + authenticationClient: IAuthentication; - constructor(appData: any, connectionData: any) { + constructor(appData: IApp, connectionData: IJSONObject) { this.authenticationClient = new Authentication(appData, connectionData); } } diff --git a/packages/backend/src/apps/flickr/index.ts b/packages/backend/src/apps/flickr/index.ts index 40586734..5829e35a 100644 --- a/packages/backend/src/apps/flickr/index.ts +++ b/packages/backend/src/apps/flickr/index.ts @@ -1,9 +1,15 @@ import Authentication from './authentication'; +import { + IService, + IAuthentication, + IApp, + IJSONObject, +} from '@automatisch/types'; -export default class Flickr { - authenticationClient: any; +export default class Flickr implements IService { + authenticationClient: IAuthentication; - constructor(appData: any, connectionData: any) { + constructor(appData: IApp, connectionData: IJSONObject) { this.authenticationClient = new Authentication(appData, connectionData); } } diff --git a/packages/backend/src/apps/github/index.ts b/packages/backend/src/apps/github/index.ts index 2cb4194f..dead70e2 100644 --- a/packages/backend/src/apps/github/index.ts +++ b/packages/backend/src/apps/github/index.ts @@ -1,9 +1,15 @@ import Authentication from './authentication'; +import { + IService, + IAuthentication, + IApp, + IJSONObject, +} from '@automatisch/types'; -export default class Github { - authenticationClient: any; +export default class Github implements IService { + authenticationClient: IAuthentication; - constructor(appData: any, connectionData: any) { + constructor(appData: IApp, connectionData: IJSONObject) { this.authenticationClient = new Authentication(appData, connectionData); } } diff --git a/packages/backend/src/apps/postgresql/authentication.ts b/packages/backend/src/apps/postgresql/authentication.ts index 96aab484..5f3db4a9 100644 --- a/packages/backend/src/apps/postgresql/authentication.ts +++ b/packages/backend/src/apps/postgresql/authentication.ts @@ -1,9 +1,4 @@ -import type { - IAuthentication, - IApp, - IField, - IJSONObject, -} from '@automatisch/types'; +import type { IAuthentication, IApp, IJSONObject } from '@automatisch/types'; import { Client } from 'pg'; export default class Authentication implements IAuthentication { diff --git a/packages/backend/src/apps/postgresql/index.ts b/packages/backend/src/apps/postgresql/index.ts index 2e08f978..24a44bec 100644 --- a/packages/backend/src/apps/postgresql/index.ts +++ b/packages/backend/src/apps/postgresql/index.ts @@ -1,9 +1,15 @@ import Authentication from './authentication'; +import { + IService, + IAuthentication, + IApp, + IJSONObject, +} from '@automatisch/types'; -export default class PostgreSQL { - authenticationClient: any; +export default class PostgreSQL implements IService { + authenticationClient: IAuthentication; - constructor(appData: any, connectionData: any) { + constructor(appData: IApp, connectionData: IJSONObject) { this.authenticationClient = new Authentication(appData, connectionData); } } diff --git a/packages/backend/src/apps/smtp/index.ts b/packages/backend/src/apps/smtp/index.ts index a24cbdba..8698d03b 100644 --- a/packages/backend/src/apps/smtp/index.ts +++ b/packages/backend/src/apps/smtp/index.ts @@ -1,9 +1,15 @@ import Authentication from './authentication'; +import { + IService, + IAuthentication, + IApp, + IJSONObject, +} from '@automatisch/types'; -export default class SMTP { - authenticationClient: any; +export default class SMTP implements IService { + authenticationClient: IAuthentication; - constructor(appData: any, connectionData: any) { + constructor(appData: IApp, connectionData: IJSONObject) { this.authenticationClient = new Authentication(appData, connectionData); } } diff --git a/packages/backend/src/apps/twilio/index.ts b/packages/backend/src/apps/twilio/index.ts index 767ba437..f25658d5 100644 --- a/packages/backend/src/apps/twilio/index.ts +++ b/packages/backend/src/apps/twilio/index.ts @@ -1,9 +1,15 @@ import Authentication from './authentication'; +import { + IService, + IAuthentication, + IApp, + IJSONObject, +} from '@automatisch/types'; -export default class Twilio { - authenticationClient: any; +export default class Twilio implements IService { + authenticationClient: IAuthentication; - constructor(appData: any, connectionData: any) { + constructor(appData: IApp, connectionData: IJSONObject) { this.authenticationClient = new Authentication(appData, connectionData); } } diff --git a/packages/backend/src/apps/twitch/index.ts b/packages/backend/src/apps/twitch/index.ts index 7af996fc..42d13c05 100644 --- a/packages/backend/src/apps/twitch/index.ts +++ b/packages/backend/src/apps/twitch/index.ts @@ -1,9 +1,15 @@ import Authentication from './authentication'; +import { + IService, + IAuthentication, + IApp, + IJSONObject, +} from '@automatisch/types'; -export default class Twitch { - authenticationClient: any; +export default class Twitch implements IService { + authenticationClient: IAuthentication; - constructor(appData: any, connectionData: any) { + constructor(appData: IApp, connectionData: IJSONObject) { this.authenticationClient = new Authentication(appData, connectionData); } } diff --git a/packages/backend/src/apps/twitter/actions.ts b/packages/backend/src/apps/twitter/actions.ts index bb4f47ce..35e9bef2 100644 --- a/packages/backend/src/apps/twitter/actions.ts +++ b/packages/backend/src/apps/twitter/actions.ts @@ -1,9 +1,10 @@ import CreateTweet from './actions/create-tweet'; +import { IJSONObject } from '@automatisch/types'; export default class Actions { - createTweet: any + createTweet: CreateTweet; - constructor(connectionData: any, parameters: any) { - this.createTweet = new CreateTweet(connectionData, parameters) + constructor(connectionData: IJSONObject, parameters: IJSONObject) { + this.createTweet = new CreateTweet(connectionData, parameters); } } diff --git a/packages/backend/src/apps/twitter/actions/create-tweet.ts b/packages/backend/src/apps/twitter/actions/create-tweet.ts index 5c58672a..2e7eff40 100644 --- a/packages/backend/src/apps/twitter/actions/create-tweet.ts +++ b/packages/backend/src/apps/twitter/actions/create-tweet.ts @@ -1,22 +1,23 @@ -import TwitterApi from 'twitter-api-v2'; +import TwitterApi, { TwitterApiTokens } from 'twitter-api-v2'; +import { IJSONObject } from '@automatisch/types'; export default class CreateTweet { - client: any; - parameters: any; + client: TwitterApi; + parameters: IJSONObject; - constructor(connectionData: any, parameters: any) { + constructor(connectionData: IJSONObject, parameters: IJSONObject) { this.client = new TwitterApi({ appKey: connectionData.consumerKey, appSecret: connectionData.consumerSecret, accessToken: connectionData.accessToken, accessSecret: connectionData.accessSecret, - }); + } as TwitterApiTokens); this.parameters = parameters; } async run() { - const tweet = await this.client.v1.tweet(this.parameters.tweet); + const tweet = await this.client.v1.tweet(this.parameters.tweet as string); return tweet; } } diff --git a/packages/backend/src/apps/twitter/index.ts b/packages/backend/src/apps/twitter/index.ts index 194fba58..d658bd29 100644 --- a/packages/backend/src/apps/twitter/index.ts +++ b/packages/backend/src/apps/twitter/index.ts @@ -1,13 +1,23 @@ +import { + IService, + IAuthentication, + IApp, + IJSONObject, +} from '@automatisch/types'; import Authentication from './authentication'; import Triggers from './triggers'; import Actions from './actions'; -export default class Twitter { - authenticationClient: any; - triggers: any; - actions: any; +export default class Twitter implements IService { + authenticationClient: IAuthentication; + triggers: Triggers; + actions: Actions; - constructor(appData: any, connectionData: any, parameters: any) { + constructor( + appData: IApp, + connectionData: IJSONObject, + parameters: IJSONObject + ) { this.authenticationClient = new Authentication(appData, connectionData); this.triggers = new Triggers(connectionData); this.actions = new Actions(connectionData, parameters); diff --git a/packages/backend/src/apps/twitter/triggers.ts b/packages/backend/src/apps/twitter/triggers.ts index 535c1e20..be608a24 100644 --- a/packages/backend/src/apps/twitter/triggers.ts +++ b/packages/backend/src/apps/twitter/triggers.ts @@ -1,9 +1,10 @@ import MyTweet from './triggers/my-tweet'; +import { IJSONObject } from '@automatisch/types'; export default class Triggers { - myTweet: any + myTweet: MyTweet; - constructor(connectionData: any) { - this.myTweet = new MyTweet(connectionData) + constructor(connectionData: IJSONObject) { + this.myTweet = new MyTweet(connectionData); } } diff --git a/packages/backend/src/apps/twitter/triggers/my-tweet.ts b/packages/backend/src/apps/twitter/triggers/my-tweet.ts index b461a81a..095fc04d 100644 --- a/packages/backend/src/apps/twitter/triggers/my-tweet.ts +++ b/packages/backend/src/apps/twitter/triggers/my-tweet.ts @@ -1,15 +1,16 @@ -import TwitterApi from 'twitter-api-v2'; +import TwitterApi, { TwitterApiTokens } from 'twitter-api-v2'; +import { IJSONObject } from '@automatisch/types'; export default class MyTweet { - client: any + client: TwitterApi; - constructor(connectionData: any) { + constructor(connectionData: IJSONObject) { this.client = new TwitterApi({ appKey: connectionData.consumerKey, appSecret: connectionData.consumerSecret, accessToken: connectionData.accessToken, - accessSecret: connectionData.accessSecret - }); + accessSecret: connectionData.accessSecret, + } as TwitterApiTokens); } async run() { diff --git a/packages/backend/src/apps/typeform/authentication.ts b/packages/backend/src/apps/typeform/authentication.ts index bd0a5ee0..4ba096c7 100644 --- a/packages/backend/src/apps/typeform/authentication.ts +++ b/packages/backend/src/apps/typeform/authentication.ts @@ -56,7 +56,7 @@ export default class Authentication implements IAuthentication { redirect_uri: this.oauthRedirectUrl, }); - const { data: verifiedCredentials }: any = await this.client.post( + const { data: verifiedCredentials } = await this.client.post( '/oauth/token', params.toString() ); @@ -67,7 +67,7 @@ export default class Authentication implements IAuthentication { token_type: tokenType, } = verifiedCredentials; - const { data: user }: any = await this.client.get('/me', { + const { data: user } = await this.client.get('/me', { headers: { Authorization: `Bearer ${accessToken}`, }, diff --git a/packages/backend/src/apps/typeform/index.ts b/packages/backend/src/apps/typeform/index.ts index 2477c144..75291db8 100644 --- a/packages/backend/src/apps/typeform/index.ts +++ b/packages/backend/src/apps/typeform/index.ts @@ -1,9 +1,15 @@ import Authentication from './authentication'; +import { + IService, + IAuthentication, + IApp, + IJSONObject, +} from '@automatisch/types'; -export default class Typeform { - authenticationClient: any; +export default class Typeform implements IService { + authenticationClient: IAuthentication; - constructor(appData: any, connectionData: any) { + constructor(appData: IApp, connectionData: IJSONObject) { this.authenticationClient = new Authentication(appData, connectionData); } } diff --git a/packages/backend/src/graphql/mutations/execute-flow.ts b/packages/backend/src/graphql/mutations/execute-flow.ts index 6db5292a..cc6196da 100644 --- a/packages/backend/src/graphql/mutations/execute-flow.ts +++ b/packages/backend/src/graphql/mutations/execute-flow.ts @@ -1,5 +1,6 @@ import Context from '../../types/express/context'; import Processor from '../../services/processor'; +// eslint-disable-next-line @typescript-eslint/no-unused-vars import processorQueue from '../../queues/processor'; type Params = { diff --git a/packages/backend/src/models/execution-step.ts b/packages/backend/src/models/execution-step.ts index 080efe28..0ce135a9 100644 --- a/packages/backend/src/models/execution-step.ts +++ b/packages/backend/src/models/execution-step.ts @@ -6,8 +6,8 @@ class ExecutionStep extends Base { id!: string; executionId!: string; stepId!: string; - dataIn!: any; - dataOut!: any; + dataIn!: Record; + dataOut!: Record; status: string; static tableName = 'execution_steps'; diff --git a/packages/types/index.d.ts b/packages/types/index.d.ts index a972acd9..77bc4da8 100644 --- a/packages/types/index.d.ts +++ b/packages/types/index.d.ts @@ -114,11 +114,15 @@ export interface IApp { connections: IConnection[]; } +export interface IService { + authenticationClient: IAuthentication; +} + export interface IAuthentication { appData: IApp; connectionData: IJSONObject; client: unknown; - verifyCredentials(): Promise; + verifyCredentials(): Promise; isStillVerified(): Promise; }