From 32ccadc96c2403e325999d4da1cdf17386bacb60 Mon Sep 17 00:00:00 2001 From: Konstantin Tsabolov <1006564+tsabolov@users.noreply.github.com> Date: Wed, 22 Nov 2023 10:29:39 +0100 Subject: [PATCH] chore: apply eslint rules to ssi-abstraction files --- apps/ssi-abstraction/.eslintrc.cjs | 46 ------------------- .../src/agent/agent.controller.ts | 3 +- .../ssi-abstraction/src/agent/agent.module.ts | 1 + .../src/agent/agent.service.ts | 35 ++++++++------ .../agent/connection/connection.controller.ts | 5 +- .../src/agent/connection/connection.module.ts | 2 + .../agent/connection/connection.service.ts | 7 ++- .../src/agent/ledger/register.ts | 7 ++- .../src/agent/utils/helperFunctions.ts | 3 +- .../ssi-abstraction/src/agent/utils/logger.ts | 1 + apps/ssi-abstraction/src/app.module.ts | 13 ++---- apps/ssi-abstraction/src/config/config.ts | 3 +- .../src/globalUtils/exception.handler.ts | 11 +++-- .../ssi-abstraction/src/globalUtils/logger.ts | 11 +++-- .../src/health/health.controller.ts | 2 +- apps/ssi-abstraction/src/main.ts | 27 ++++++----- .../src/middleware/agentMid.middleware.ts | 18 ++------ apps/ssi-abstraction/test/didComm.e2e-spec.ts | 17 ++++--- apps/ssi-abstraction/test/health.e2e-spec.ts | 9 ++-- 19 files changed, 95 insertions(+), 126 deletions(-) delete mode 100644 apps/ssi-abstraction/.eslintrc.cjs diff --git a/apps/ssi-abstraction/.eslintrc.cjs b/apps/ssi-abstraction/.eslintrc.cjs deleted file mode 100644 index b77971f..0000000 --- a/apps/ssi-abstraction/.eslintrc.cjs +++ /dev/null @@ -1,46 +0,0 @@ -module.exports = { - root: true, - parser: '@typescript-eslint/parser', - parserOptions: { - sourceType: 'module', - ecmaVersion: 2021, - }, - env: { - node: true, - }, - plugins: ['prettier', '@typescript-eslint/eslint-plugin', 'jest'], - extends: [ - 'prettier', - 'plugin:@typescript-eslint/recommended', - 'plugin:jest/recommended', - ], - ignorePatterns: ['.eslintrc.cjs', 'dist'], - overrides: [], - settings: { - jest: { - version: '29', - }, - }, - rules: { - 'no-unused-vars': 0, - '@typescript-eslint/no-unused-vars': [1, { argsIgnorePattern: '^_' }], - }, - overrides: [ - { - files: [ - '*.spec.ts', - '*.e2e-spec.ts', - '__mocks__/*.ts', - '__mocks__/**/*.ts', - ], - rules: { - '@typescript-eslint/no-explicit-any': 0, - '@typescript-eslint/no-empty-function': 0, - '@typescript-eslint/ban-ts-comment': 0, - '@typescript-eslint/no-unused-vars': 0, - 'jest/no-mocks-import': 0, - 'jest/expect-expect': 0, - }, - }, - ], -}; diff --git a/apps/ssi-abstraction/src/agent/agent.controller.ts b/apps/ssi-abstraction/src/agent/agent.controller.ts index 4b676a5..4a07c5b 100644 --- a/apps/ssi-abstraction/src/agent/agent.controller.ts +++ b/apps/ssi-abstraction/src/agent/agent.controller.ts @@ -1,5 +1,6 @@ import { Controller } from '@nestjs/common'; import { MessagePattern } from '@nestjs/microservices'; + import { AgentService } from './agent.service.js'; @Controller('agent') @@ -7,7 +8,7 @@ export class AgentController { public constructor(private agent: AgentService) {} @MessagePattern('info.publicDid') - async publicDid() { + public async publicDid() { return { id: 'test', }; diff --git a/apps/ssi-abstraction/src/agent/agent.module.ts b/apps/ssi-abstraction/src/agent/agent.module.ts index 4666f06..23b4de0 100644 --- a/apps/ssi-abstraction/src/agent/agent.module.ts +++ b/apps/ssi-abstraction/src/agent/agent.module.ts @@ -1,5 +1,6 @@ import { Module } from '@nestjs/common'; import { ConfigModule } from '@nestjs/config'; + import { AgentController } from './agent.controller.js'; import { AgentService } from './agent.service.js'; diff --git a/apps/ssi-abstraction/src/agent/agent.service.ts b/apps/ssi-abstraction/src/agent/agent.service.ts index 01dd321..6c3855e 100644 --- a/apps/ssi-abstraction/src/agent/agent.service.ts +++ b/apps/ssi-abstraction/src/agent/agent.service.ts @@ -1,10 +1,19 @@ +import type { + LedgerIds} from './utils/ledgerConfig.js'; +import type { + InitConfig} from '@aries-framework/core'; +import type { + IndyVdrPoolConfig} from '@aries-framework/indy-vdr'; + +import { AnonCredsModule } from '@aries-framework/anoncreds'; +import { AnonCredsRsModule } from '@aries-framework/anoncreds-rs'; +import { AskarModule } from '@aries-framework/askar'; import { Agent, ConnectionsModule, CredentialsModule, DidsModule, HttpOutboundTransport, - InitConfig, KeyDidRegistrar, KeyDidResolver, KeyType, @@ -13,30 +22,28 @@ import { PeerDidResolver, TypedArrayEncoder, } from '@aries-framework/core'; -import { agentDependencies, HttpInboundTransport } from '@aries-framework/node'; -import { Injectable } from '@nestjs/common'; -import { ConfigService } from '@nestjs/config'; -import { AnonCredsRsModule } from '@aries-framework/anoncreds-rs'; -import { anoncreds } from '@hyperledger/anoncreds-nodejs'; -import { AnonCredsModule } from '@aries-framework/anoncreds'; -import { ariesAskar } from '@hyperledger/aries-askar-nodejs'; -import { AskarModule } from '@aries-framework/askar'; -import { indyVdr } from '@hyperledger/indy-vdr-nodejs'; import { IndyVdrAnonCredsRegistry, IndyVdrIndyDidResolver, IndyVdrModule, - IndyVdrPoolConfig, IndyVdrSovDidResolver, } from '@aries-framework/indy-vdr'; +import { agentDependencies, HttpInboundTransport } from '@aries-framework/node'; +import { anoncreds } from '@hyperledger/anoncreds-nodejs'; +import { ariesAskar } from '@hyperledger/aries-askar-nodejs'; +import { indyVdr } from '@hyperledger/indy-vdr-nodejs'; +import { Injectable } from '@nestjs/common'; +import { ConfigService } from '@nestjs/config'; + +import { logger } from '../globalUtils/logger.js'; + +import { registerPublicDids } from './ledger/register.js'; import { - LedgerIds, ledgerNamespaces, LEDGER_GENESIS, } from './utils/ledgerConfig.js'; import { AgentLogger } from './utils/logger.js'; -import { registerPublicDids } from './ledger/register.js'; -import { logger } from '../globalUtils/logger.js'; + export type AppAgent = Agent<AgentService['modules']>; diff --git a/apps/ssi-abstraction/src/agent/connection/connection.controller.ts b/apps/ssi-abstraction/src/agent/connection/connection.controller.ts index ac8c667..83df332 100644 --- a/apps/ssi-abstraction/src/agent/connection/connection.controller.ts +++ b/apps/ssi-abstraction/src/agent/connection/connection.controller.ts @@ -1,5 +1,6 @@ import { Controller } from '@nestjs/common'; import { MessagePattern } from '@nestjs/microservices'; + import { ConnectionService } from './connection.service.js'; @Controller('connection') @@ -7,7 +8,7 @@ export class ConnectionController { public constructor(private connectionService: ConnectionService) {} @MessagePattern('connection.getAll') - async getAll() { - return await this.connectionService.getAll(); + public async getAll() { + return this.connectionService.getAll(); } } diff --git a/apps/ssi-abstraction/src/agent/connection/connection.module.ts b/apps/ssi-abstraction/src/agent/connection/connection.module.ts index e713b17..4deaa82 100644 --- a/apps/ssi-abstraction/src/agent/connection/connection.module.ts +++ b/apps/ssi-abstraction/src/agent/connection/connection.module.ts @@ -1,5 +1,7 @@ import { Module } from '@nestjs/common'; + import { AgentModule } from '../agent.module.js'; + import { ConnectionController } from './connection.controller.js'; import { ConnectionService } from './connection.service.js'; diff --git a/apps/ssi-abstraction/src/agent/connection/connection.service.ts b/apps/ssi-abstraction/src/agent/connection/connection.service.ts index ae31d2e..0e4c7ed 100644 --- a/apps/ssi-abstraction/src/agent/connection/connection.service.ts +++ b/apps/ssi-abstraction/src/agent/connection/connection.service.ts @@ -1,6 +1,9 @@ -import { ConnectionRecord } from '@aries-framework/core'; +import type { AppAgent } from '../agent.service.js'; +import type { ConnectionRecord } from '@aries-framework/core'; + import { Injectable } from '@nestjs/common'; -import { AgentService, AppAgent } from '../agent.service.js'; + +import { AgentService } from '../agent.service.js'; @Injectable() export class ConnectionService { diff --git a/apps/ssi-abstraction/src/agent/ledger/register.ts b/apps/ssi-abstraction/src/agent/ledger/register.ts index 05363ee..a14c126 100644 --- a/apps/ssi-abstraction/src/agent/ledger/register.ts +++ b/apps/ssi-abstraction/src/agent/ledger/register.ts @@ -1,7 +1,10 @@ -import { logger } from '../../globalUtils/logger.js'; +import type { LedgerIds } from '../utils/ledgerConfig.js'; + import axios from 'axios'; + +import { logger } from '../../globalUtils/logger.js'; import { logAxiosError } from '../utils/helperFunctions.js'; -import { LedgerIds, ledgerNamespaces, NYM_URL } from '../utils/ledgerConfig.js'; +import { ledgerNamespaces, NYM_URL } from '../utils/ledgerConfig.js'; type RegisterPublicDidOptions = { alias: string; diff --git a/apps/ssi-abstraction/src/agent/utils/helperFunctions.ts b/apps/ssi-abstraction/src/agent/utils/helperFunctions.ts index 40edef4..b21a3a6 100644 --- a/apps/ssi-abstraction/src/agent/utils/helperFunctions.ts +++ b/apps/ssi-abstraction/src/agent/utils/helperFunctions.ts @@ -1,4 +1,5 @@ -import { AxiosError } from 'axios'; +import type { AxiosError } from 'axios'; + import { logger } from '../../globalUtils/logger.js'; export function logAxiosError(err: AxiosError) { diff --git a/apps/ssi-abstraction/src/agent/utils/logger.ts b/apps/ssi-abstraction/src/agent/utils/logger.ts index b872da0..8fbd779 100644 --- a/apps/ssi-abstraction/src/agent/utils/logger.ts +++ b/apps/ssi-abstraction/src/agent/utils/logger.ts @@ -1,4 +1,5 @@ import { BaseLogger, LogLevel } from '@aries-framework/core'; + import { logger } from '../../globalUtils/logger.js'; export class AgentLogger extends BaseLogger { diff --git a/apps/ssi-abstraction/src/app.module.ts b/apps/ssi-abstraction/src/app.module.ts index 0017009..d7c2484 100644 --- a/apps/ssi-abstraction/src/app.module.ts +++ b/apps/ssi-abstraction/src/app.module.ts @@ -1,13 +1,12 @@ -import { APP_FILTER } from '@nestjs/core'; import { Module } from '@nestjs/common'; import { ConfigModule } from '@nestjs/config'; import { TerminusModule } from '@nestjs/terminus'; + +import { AgentModule } from './agent/agent.module.js'; +import { ConnectionModule } from './agent/connection/connection.module.js'; import { config } from './config/config.js'; import { validationSchema } from './config/validation.js'; import { HealthController } from './health/health.controller.js'; -import { ExceptionHandler } from './globalUtils/exception.handler.js'; -import { AgentModule } from './agent/agent.module.js'; -import { ConnectionModule } from './agent/connection/connection.module.js'; @Module({ imports: [ @@ -21,11 +20,5 @@ import { ConnectionModule } from './agent/connection/connection.module.js'; ConnectionModule, ], controllers: [HealthController], - // providers: [ - // { - // provide: APP_FILTER, - // useClass: ExceptionHandler, - // }, - // ], }) export class AppModule {} diff --git a/apps/ssi-abstraction/src/config/config.ts b/apps/ssi-abstraction/src/config/config.ts index 92cc6dd..102dd75 100644 --- a/apps/ssi-abstraction/src/config/config.ts +++ b/apps/ssi-abstraction/src/config/config.ts @@ -1,5 +1,4 @@ -import { AutoAcceptCredential } from '@aries-framework/core'; -import * as process from 'process'; +import type { AutoAcceptCredential } from '@aries-framework/core'; interface Config { agentHost: string; diff --git a/apps/ssi-abstraction/src/globalUtils/exception.handler.ts b/apps/ssi-abstraction/src/globalUtils/exception.handler.ts index 1df4824..593237d 100644 --- a/apps/ssi-abstraction/src/globalUtils/exception.handler.ts +++ b/apps/ssi-abstraction/src/globalUtils/exception.handler.ts @@ -1,10 +1,13 @@ -import { Catch, RpcExceptionFilter, ArgumentsHost } from '@nestjs/common'; -import { Observable, throwError } from 'rxjs'; -import { RpcException } from '@nestjs/microservices'; +import type { RpcExceptionFilter } from '@nestjs/common'; +import type { RpcException } from '@nestjs/microservices'; + +import { Catch } from '@nestjs/common'; +import { throwError } from 'rxjs'; + @Catch() export class ExceptionHandler implements RpcExceptionFilter<RpcException> { - catch(exception: RpcException, host: ArgumentsHost): Observable<any> { + public catch(exception: RpcException) { return throwError(() => exception.getError()); } } diff --git a/apps/ssi-abstraction/src/globalUtils/logger.ts b/apps/ssi-abstraction/src/globalUtils/logger.ts index 78c3674..f591764 100644 --- a/apps/ssi-abstraction/src/globalUtils/logger.ts +++ b/apps/ssi-abstraction/src/globalUtils/logger.ts @@ -1,11 +1,14 @@ -import winston, { Logger } from 'winston'; -import ecsFormat from '@elastic/ecs-winston-format'; +import type { Logger} from 'winston'; -export const logger: Logger = winston.createLogger({ +import { ecsFormat } from '@elastic/ecs-winston-format'; +import { createLogger, transports } from 'winston'; + +export const logger: Logger = createLogger({ format: ecsFormat({ convertReqRes: true }), - transports: [new winston.transports.Console()], + transports: [new transports.Console()], }); logger.on('error', (error: Error) => { + // eslint-disable-next-line no-console console.error('Error in logger caught', error); }); diff --git a/apps/ssi-abstraction/src/health/health.controller.ts b/apps/ssi-abstraction/src/health/health.controller.ts index 6a24038..e7936c0 100644 --- a/apps/ssi-abstraction/src/health/health.controller.ts +++ b/apps/ssi-abstraction/src/health/health.controller.ts @@ -8,7 +8,7 @@ export class HealthController { * @returns - OK (200) if app is running */ @Get() - getHealth() { + public getHealth() { return { statusCode: HttpStatus.OK, message: `${new Date()}`, diff --git a/apps/ssi-abstraction/src/main.ts b/apps/ssi-abstraction/src/main.ts index 65a822c..1d500b6 100644 --- a/apps/ssi-abstraction/src/main.ts +++ b/apps/ssi-abstraction/src/main.ts @@ -1,20 +1,19 @@ +import type { MicroserviceOptions} from '@nestjs/microservices'; + import { NestFactory } from '@nestjs/core'; -import { MicroserviceOptions, Transport } from '@nestjs/microservices'; +import { Transport } from '@nestjs/microservices'; + import { AppModule } from './app.module.js'; import { config } from './config/config.js'; -async function bootstrap() { - const app = await NestFactory.createMicroservice<MicroserviceOptions>( - AppModule, - { - transport: Transport.NATS, - options: { - servers: [config().nats.url], - }, +const app = await NestFactory.createMicroservice<MicroserviceOptions>( + AppModule, + { + transport: Transport.NATS, + options: { + servers: [config().nats.url], }, - ); - - await app.listen(); -} + }, +); -bootstrap(); +await app.listen(); diff --git a/apps/ssi-abstraction/src/middleware/agentMid.middleware.ts b/apps/ssi-abstraction/src/middleware/agentMid.middleware.ts index 0fef2c9..56d1bd1 100644 --- a/apps/ssi-abstraction/src/middleware/agentMid.middleware.ts +++ b/apps/ssi-abstraction/src/middleware/agentMid.middleware.ts @@ -1,5 +1,7 @@ -import { Injectable, NestMiddleware, HttpStatus } from '@nestjs/common'; -import { Request, NextFunction, Response } from 'express'; +import type { NestMiddleware} from '@nestjs/common'; +import type { Request, NextFunction, Response } from 'express'; + +import { Injectable, HttpStatus } from '@nestjs/common'; /** * Middleware that checks validity of provided params and body @@ -7,23 +9,13 @@ import { Request, NextFunction, Response } from 'express'; */ @Injectable() export class AgentMid implements NestMiddleware { - use(req: Request, res: Response, next: NextFunction) { + public use(req: Request, res: Response, next: NextFunction) { const [, prop] = req.url.split('/'); if (prop === 'info') { next(); return; } - // const whiteListErrors = checkAll(prop, method, req.body); - // if (whiteListErrors && !whiteListErrors.success) { - // res.send({ - // statusCode: HttpStatus.BAD_REQUEST, - // error: whiteListErrors.messages, - // }); - // res.end(); - // return; - // } - if (req.body.subMethod && !req.body.subMethod.name) { res.send({ statusCode: HttpStatus.BAD_REQUEST, diff --git a/apps/ssi-abstraction/test/didComm.e2e-spec.ts b/apps/ssi-abstraction/test/didComm.e2e-spec.ts index 2e35063..28e77ba 100644 --- a/apps/ssi-abstraction/test/didComm.e2e-spec.ts +++ b/apps/ssi-abstraction/test/didComm.e2e-spec.ts @@ -1,7 +1,10 @@ -import { Test, TestingModule } from '@nestjs/testing'; -import { INestApplication } from '@nestjs/common'; +import type { INestApplication } from '@nestjs/common'; +import type { TestingModule } from '@nestjs/testing'; + +import { Test } from '@nestjs/testing'; import request from 'supertest'; -import AppModule from '../src/app.module'; + +import { AppModule } from '../src/app.module.js'; describe('DidCommController (e2e)', () => { let app: INestApplication; @@ -18,13 +21,13 @@ describe('DidCommController (e2e)', () => { await app.close(); }); - it('/v1/agent/connections/createConnection (POST)', () => { - request(app.getHttpServer()) + it('/v1/agent/connections/createConnection (POST)', async () => { + await request(app.getHttpServer()) .post('v1/agent/connections/createConnection') .expect(200); }); - it('/v1/agent/info (GET)', () => { - request(app.getHttpServer()).post('v1/agent/info').expect(200); + it('/v1/agent/info (GET)', async () => { + await request(app.getHttpServer()).post('v1/agent/info').expect(200); }); }); diff --git a/apps/ssi-abstraction/test/health.e2e-spec.ts b/apps/ssi-abstraction/test/health.e2e-spec.ts index 1f685c6..8d14bcc 100644 --- a/apps/ssi-abstraction/test/health.e2e-spec.ts +++ b/apps/ssi-abstraction/test/health.e2e-spec.ts @@ -1,7 +1,10 @@ -import { Test, TestingModule } from '@nestjs/testing'; -import { INestApplication } from '@nestjs/common'; +import type { INestApplication } from '@nestjs/common'; +import type { TestingModule } from '@nestjs/testing'; + +import { Test } from '@nestjs/testing'; import request from 'supertest'; -import AppModule from '@src/app.module'; + +import { AppModule } from '../src/app.module.js'; describe('HealthController (e2e)', () => { let app: INestApplication; -- GitLab