diff --git a/.env.sample b/.env.sample index 53ef5a0..a62c751 100644 --- a/.env.sample +++ b/.env.sample @@ -13,9 +13,9 @@ DATABASE_NAME=ink DATABASE_USERNAME=mongodb DATABASE_PASSWORD=mongodb DATABASE_PORT=27017 -DATABASE_SSL_CA="" DATABASE_RETRY_ATTEMPTS=5 DATABASE_RETRY_DELAY=3000 +DATABASE_URI= WS_PROVIDER=wss://rococo-contracts-rpc.polkadot.io LOAD_ALL_BLOCKS=false diff --git a/.env.test b/.env.test index 49ad650..1838fad 100644 --- a/.env.test +++ b/.env.test @@ -11,7 +11,7 @@ DATABASE_NAME=ink DATABASE_USERNAME=root DATABASE_PASSWORD=password DATABASE_PORT=5432 -DATABASE_SSL_CA="" +DATABASE_URI="" DATABASE_RETRY_ATTEMPTS=5 DATABASE_RETRY_DELAY=3000 WS_PROVIDER=ws://127.0.0.1:9944 diff --git a/CHANGELOG.md b/CHANGELOG.md index f8d90ef..37db65d 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,9 @@ # Changelog +## 1.1.1 +Published by **[blockcoders](https://github.com/blockcoders)** on **2022/12/09** +- [#15](https://github.com/blockcoders/nestjs-ethers/pull/15) Migrate to mongodb + ## 1.1.0 Published by **[blockcoders](https://github.com/blockcoders)** on **2022/12/09** - [#15](https://github.com/blockcoders/nestjs-ethers/pull/15) Migrate to mongodb diff --git a/README-es.md b/README-es.md index efb5731..aeb10b4 100644 --- a/README-es.md +++ b/README-es.md @@ -229,7 +229,7 @@ query { ```graphql { "data": { - "version": "v1.1.0" + "version": "v1.1.1" } } ``` diff --git a/README.md b/README.md index a2bdcbc..6957816 100644 --- a/README.md +++ b/README.md @@ -229,7 +229,7 @@ query { ```graphql { "data": { - "version": "v1.1.0" + "version": "v1.1.1" } } ``` diff --git a/package.json b/package.json index b8835ca..57b706d 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "ink-substrate-explorer-api", - "version": "1.1.0", + "version": "1.1.1", "description": "Ink Explorer is an application that provides Ink contracts related information on Substrate based blockchains.", "author": "Blockcoders ", "license": "MIT", diff --git a/src/app.resolver.spec.ts b/src/app.resolver.spec.ts index 9703fcc..d8e13a9 100644 --- a/src/app.resolver.spec.ts +++ b/src/app.resolver.spec.ts @@ -24,7 +24,7 @@ describe('AppResolver', () => { describe('version', () => { it('should return the current version', () => { - expect(resolver.version()).toEqual('v1.1.0') + expect(resolver.version()).toEqual('v1.1.1') }) }) }) diff --git a/src/app.resolver.ts b/src/app.resolver.ts index 7cb791a..a4b3055 100644 --- a/src/app.resolver.ts +++ b/src/app.resolver.ts @@ -9,6 +9,6 @@ export class AppResolver { @Query(/* istanbul ignore next */ () => String) version(): string { - return 'v1.1.0' + return 'v1.1.1' } } diff --git a/src/db/db.module.ts b/src/db/db.module.ts index 9d17eca..4b79809 100644 --- a/src/db/db.module.ts +++ b/src/db/db.module.ts @@ -18,11 +18,6 @@ import { DbService } from './db.service' useFactory: async (env: EnvService) => { const config: TypeOrmModuleOptions = { type: 'mongodb', - host: env.DATABASE_HOST, - port: env.DATABASE_PORT, - username: env.DATABASE_USERNAME, - password: env.DATABASE_PASSWORD, - database: env.DATABASE_NAME, retryAttempts: env.DATABASE_RETRY_ATTEMPTS, retryDelay: env.DATABASE_RETRY_DELAY, synchronize: true, @@ -30,13 +25,20 @@ import { DbService } from './db.service' keepConnectionAlive: false, } - if (!env.DATABASE_SSL_CA) { - return config + if (env.DATABASE_URI) { + return { + ...config, + url: env.DATABASE_URI, + } } return { ...config, - sslCA: env.DATABASE_SSL_CA, + host: env.DATABASE_HOST, + port: env.DATABASE_PORT, + username: env.DATABASE_USERNAME, + password: env.DATABASE_PASSWORD, + database: env.DATABASE_NAME, } }, }), diff --git a/src/db/db.service.ts b/src/db/db.service.ts index 0f8a283..9b12919 100644 --- a/src/db/db.service.ts +++ b/src/db/db.service.ts @@ -12,13 +12,19 @@ export class DbService { ) {} async addIndexes() { - const host = this.env.DATABASE_HOST - const port = this.env.DATABASE_PORT - const username = this.env.DATABASE_USERNAME - const password = this.env.DATABASE_PASSWORD - const database = this.env.DATABASE_NAME - - const con = await mongoose.connect(`mongodb://${username}:${password}@${host}:${port}/${database}`) + let con: typeof mongoose + + if (this.env.DATABASE_URI) { + con = await mongoose.connect(this.env.DATABASE_URI) + } else { + const host = this.env.DATABASE_HOST + const port = this.env.DATABASE_PORT + const username = this.env.DATABASE_USERNAME + const password = this.env.DATABASE_PASSWORD + const database = this.env.DATABASE_NAME + + con = await mongoose.connect(`mongodb://${username}:${password}@${host}:${port}/${database}`) + } // block indexes const blocks = con.connection.collection('blocks') diff --git a/src/env/env.service.ts b/src/env/env.service.ts index 3d7564c..6757947 100644 --- a/src/env/env.service.ts +++ b/src/env/env.service.ts @@ -21,7 +21,7 @@ export class EnvService { public readonly DATABASE_NAME: string public readonly DATABASE_USERNAME: string public readonly DATABASE_PASSWORD: string - public readonly DATABASE_SSL_CA: string + public readonly DATABASE_URI: string public readonly DATABASE_RETRY_ATTEMPTS: number public readonly DATABASE_RETRY_DELAY: number public readonly WS_PROVIDER: string @@ -45,7 +45,7 @@ export class EnvService { this.DATABASE_NAME = this.config.get('DATABASE_NAME', '') this.DATABASE_USERNAME = this.config.get('DATABASE_USERNAME', '') this.DATABASE_PASSWORD = this.config.get('DATABASE_PASSWORD', 'password') - this.DATABASE_SSL_CA = this.config.get('DATABASE_SSL_CA', '') + this.DATABASE_URI = this.config.get('DATABASE_URI', '') this.DATABASE_RETRY_ATTEMPTS = parseInt(this.config.get('DATABASE_RETRY_ATTEMPTS', '20'), 10) this.DATABASE_RETRY_DELAY = parseInt(this.config.get('DATABASE_RETRY_DELAY', '6000'), 10) this.WS_PROVIDER = this.config.get('WS_PROVIDER', '') diff --git a/src/env/env.validation.ts b/src/env/env.validation.ts index 5df57d8..12c03dd 100644 --- a/src/env/env.validation.ts +++ b/src/env/env.validation.ts @@ -50,7 +50,7 @@ export class EnvironmentVariables { DATABASE_PASSWORD: string | undefined @IsString() - DATABASE_SSL_CA: string | undefined + DATABASE_URI: string | undefined @IsNumberString() DATABASE_RETRY_ATTEMPTS: string | undefined