Skip to content

Commit

Permalink
chore: Add SSL config to ormconfigs + further unified approach to orm…
Browse files Browse the repository at this point in the history
…configs
  • Loading branch information
josipbagaric committed Oct 11, 2021
1 parent 4e3c420 commit 95739f4
Show file tree
Hide file tree
Showing 31 changed files with 3,405 additions and 1,355 deletions.
1 change: 1 addition & 0 deletions .env.example
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,7 @@ DB_PASSWORD=postgres
DB_HOST=localhost
DB_PORT=5432
DB_DATABASE=origin
DB_SSL_OFF=false

# --- SMART METER READINGS --- #
INFLUXDB_URL=http://localhost:8086
Expand Down
4,579 changes: 3,343 additions & 1,236 deletions common/config/rush/pnpm-lock.yaml

Large diffs are not rendered by default.

2 changes: 1 addition & 1 deletion packages/apps/origin-backend-app/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -40,7 +40,7 @@
"@energyweb/issuer-api": "0.3.0",
"@energyweb/origin-backend": "11.0.0",
"@energyweb/origin-backend-core": "8.0.2",
"@energyweb/origin-backend-utils": "1.6.0",
"@energyweb/origin-backend-utils": "1.6.1",
"@energyweb/origin-device-registry-api": "0.2.0",
"@energyweb/origin-device-registry-irec-form-api": "2.0.1",
"@energyweb/origin-organization-irec-api": "1.5.0",
Expand Down
26 changes: 6 additions & 20 deletions packages/apps/origin-backend-app/src/origin-app.module.ts
Original file line number Diff line number Diff line change
Expand Up @@ -28,6 +28,7 @@ import { DynamicModule, Module } from '@nestjs/common';
import { APP_INTERCEPTOR } from '@nestjs/core';
import { CqrsModule } from '@nestjs/cqrs';
import { TypeOrmModule } from '@nestjs/typeorm';
import { getDBConnectionOptions } from '@energyweb/origin-backend-utils';

import {
CertificateRequestApprovedHandler,
Expand All @@ -54,26 +55,11 @@ const OriginAppTypeOrmModule = () => {
...IRECFormDeviceEntities
];

return process.env.DATABASE_URL
? TypeOrmModule.forRoot({
type: 'postgres',
url: process.env.DATABASE_URL,
ssl: {
rejectUnauthorized: false
},
entities,
logging: ['info']
})
: TypeOrmModule.forRoot({
type: 'postgres',
host: process.env.DB_HOST ?? 'localhost',
port: Number(process.env.DB_PORT) ?? 5432,
username: process.env.DB_USERNAME ?? 'postgres',
password: process.env.DB_PASSWORD ?? 'postgres',
database: process.env.DB_DATABASE ?? 'origin',
entities,
logging: ['info']
});
return TypeOrmModule.forRoot({
...getDBConnectionOptions(),
entities,
logging: ['info']
});
};

@Module({})
Expand Down
26 changes: 6 additions & 20 deletions packages/apps/origin-backend-irec-app/src/origin-app.module.ts
Original file line number Diff line number Diff line change
Expand Up @@ -32,6 +32,7 @@ import { APP_INTERCEPTOR } from '@nestjs/core';
import { CqrsModule } from '@nestjs/cqrs';
import { ScheduleModule } from '@nestjs/schedule';
import { TypeOrmModule } from '@nestjs/typeorm';
import { getDBConnectionOptions } from '@energyweb/origin-backend-utils';

import {
CertificateRequestApprovedHandler,
Expand Down Expand Up @@ -61,26 +62,11 @@ const OriginAppTypeOrmModule = () => {
...ExchangeIRECEntities
];

return process.env.DATABASE_URL
? TypeOrmModule.forRoot({
type: 'postgres',
url: process.env.DATABASE_URL,
ssl: {
rejectUnauthorized: false
},
entities,
logging: ['info']
})
: TypeOrmModule.forRoot({
type: 'postgres',
host: process.env.DB_HOST ?? 'localhost',
port: Number(process.env.DB_PORT ?? 5432),
username: process.env.DB_USERNAME ?? 'postgres',
password: process.env.DB_PASSWORD ?? 'postgres',
database: process.env.DB_DATABASE ?? 'origin',
entities,
logging: ['info']
});
return TypeOrmModule.forRoot({
...getDBConnectionOptions(),
entities,
logging: ['info']
});
};

@Module({
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@ import { ConnectionOptions } from 'typeorm';
import { getDBConnectionOptions } from '@energyweb/origin-backend-utils';

const config: ConnectionOptions = {
...getDBConnectionOptions(),
...(getDBConnectionOptions() as ConnectionOptions),
entities: ['src/**/*.entity.ts'],
synchronize: false,
migrationsRun: true,
Expand Down
2 changes: 1 addition & 1 deletion packages/devices/origin-device-registry-api/ormconfig.ts
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@ import { ConnectionOptions } from 'typeorm';
import { getDBConnectionOptions } from '@energyweb/origin-backend-utils';

const config: ConnectionOptions = {
...getDBConnectionOptions(),
...(getDBConnectionOptions() as ConnectionOptions),
synchronize: false,
migrationsRun: true,
migrations: [`${__dirname}/migrations/*.js`],
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@ import { ConnectionOptions } from 'typeorm';
import { getDBConnectionOptions } from '@energyweb/origin-backend-utils';

const config: ConnectionOptions = {
...getDBConnectionOptions(),
...(getDBConnectionOptions() as ConnectionOptions),
entities: ['src/**/*.entity.ts'],
synchronize: false,
migrationsRun: true,
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@ import { ConnectionOptions } from 'typeorm';
import { getDBConnectionOptions } from '@energyweb/origin-backend-utils';

const config: ConnectionOptions = {
...getDBConnectionOptions(),
...(getDBConnectionOptions() as ConnectionOptions),
synchronize: false,
migrationsRun: true,
migrations: [`${__dirname}/migrations/*.js`],
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -32,7 +32,7 @@
"dependencies": {
"@energyweb/origin-backend": "11.0.0",
"@energyweb/origin-backend-core": "8.0.2",
"@energyweb/origin-backend-utils": "1.6.0",
"@energyweb/origin-backend-utils": "1.6.1",
"@nestjs/common": "7.6.18",
"@nestjs/config": "1.0.2",
"@nestjs/core": "7.6.18",
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@ import { ConnectionOptions } from 'typeorm';
import { getDBConnectionOptions } from '@energyweb/origin-backend-utils';

const config: ConnectionOptions = {
...getDBConnectionOptions(),
...(getDBConnectionOptions() as ConnectionOptions),
entities: ['src/**/*.entity.ts'],
synchronize: false,
migrationsRun: true,
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@ import { ConnectionOptions } from 'typeorm';
import { getDBConnectionOptions } from '@energyweb/origin-backend-utils';

const config: ConnectionOptions = {
...getDBConnectionOptions(),
...(getDBConnectionOptions() as ConnectionOptions),
synchronize: false,
migrationsRun: true,
migrations: [`${__dirname}/migrations/*.js`],
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@ import { ConnectionOptions } from 'typeorm';
import { getDBConnectionOptions } from '@energyweb/origin-backend-utils';

const config: ConnectionOptions = {
...getDBConnectionOptions(),
...(getDBConnectionOptions() as ConnectionOptions),
entities: ['src/**/*.entity.ts'],
synchronize: false,
migrationsRun: true,
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@ import { ConnectionOptions } from 'typeorm';
import { getDBConnectionOptions } from '@energyweb/origin-backend-utils';

const config: ConnectionOptions = {
...getDBConnectionOptions(),
...(getDBConnectionOptions() as ConnectionOptions),
synchronize: false,
migrationsRun: true,
migrations: [`${__dirname}/migrations/*.js`],
Expand Down
2 changes: 1 addition & 1 deletion packages/origin-backend/ormconfig-dev.ts
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@ import { ConnectionOptions } from 'typeorm';
import { getDBConnectionOptions } from '@energyweb/origin-backend-utils';

const config: ConnectionOptions = {
...getDBConnectionOptions(),
...(getDBConnectionOptions() as ConnectionOptions),
entities: ['src/**/*.entity.ts'],
synchronize: false,
migrationsRun: true,
Expand Down
2 changes: 1 addition & 1 deletion packages/origin-backend/ormconfig.ts
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@ import { ConnectionOptions } from 'typeorm';
import { getDBConnectionOptions } from '@energyweb/origin-backend-utils';

const config: ConnectionOptions = {
...getDBConnectionOptions(),
...(getDBConnectionOptions() as ConnectionOptions),
synchronize: false,
migrationsRun: true,
migrations: [`${__dirname}/migrations/*.js`],
Expand Down
1 change: 1 addition & 0 deletions packages/tools/migrations-irec/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -35,6 +35,7 @@
"@energyweb/issuer": "4.1.0",
"@energyweb/origin-backend-core": "8.0.3",
"@energyweb/origin-backend-irec-app": "1.3.0",
"@energyweb/origin-backend-utils": "1.6.1",
"@energyweb/utils-general": "11.0.4",
"@types/pg": "8.6.1",
"commander": "6.2.1",
Expand Down
38 changes: 10 additions & 28 deletions packages/tools/migrations-irec/src/main.ts
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,8 @@ import { Client, ClientConfig } from 'pg';
import { getProviderWithFallback } from '@energyweb/utils-general';
import { ExternalDeviceIdType } from '@energyweb/origin-backend-core';
import { IContractsLookup } from '@energyweb/issuer';
import { getDBConnectionOptions } from '@energyweb/origin-backend-utils';

import { deployContracts } from './deployContracts';
import { logger } from './Logger';

Expand All @@ -22,18 +24,7 @@ program.option(
program.parse(process.argv);

async function connectToDB() {
const postgresConfig: ClientConfig = process.env.DATABASE_URL
? {
connectionString: process.env.DATABASE_URL,
ssl: { rejectUnauthorized: false }
}
: {
host: process.env.DB_HOST ?? 'localhost',
port: Number(process.env.DB_PORT) || 5432,
user: process.env.DB_USERNAME ?? 'postgres',
password: process.env.DB_PASSWORD ?? 'postgres',
database: process.env.DB_DATABASE ?? 'origin'
};
const postgresConfig = getDBConnectionOptions() as ClientConfig;
const client = new Client(postgresConfig);

await client.connect();
Expand All @@ -45,27 +36,19 @@ async function connectToDB() {

async function importConfiguration(client: Client, configPath: string) {
const parsedConfig = JSON.parse(fs.readFileSync(configPath, 'utf8').toString());
const {
currencies,
countryName,
regions,
complianceStandard,
deviceTypes,
gridOperators
} = parsedConfig;

const {
externalDeviceIdTypes
}: { externalDeviceIdTypes: ExternalDeviceIdType[] } = parsedConfig;
const { currencies, countryName, regions, complianceStandard, deviceTypes, gridOperators } =
parsedConfig;

const { externalDeviceIdTypes }: { externalDeviceIdTypes: ExternalDeviceIdType[] } =
parsedConfig;

if (currencies.length < 1) {
throw new Error('At least one currency has to be specified: e.g. [ "USD" ]');
}

logger.info(`Saving configuration...`);
const newConfigurationQuery = {
text:
'INSERT INTO public.configuration (id, "countryName", currencies, regions, "externalDeviceIdTypes", "complianceStandard", "deviceTypes", "gridOperators") VALUES ($1, $2, $3, $4, $5, $6, $7, $8)',
text: 'INSERT INTO public.configuration (id, "countryName", currencies, regions, "externalDeviceIdTypes", "complianceStandard", "deviceTypes", "gridOperators") VALUES ($1, $2, $3, $4, $5, $6, $7, $8)',
values: [
'1',
countryName,
Expand All @@ -89,8 +72,7 @@ async function importContracts(

logger.info(`Saving contracts...`);
const newContractsQuery = {
text:
'INSERT INTO public.issuer_blockchain_properties ("netId", "registry", "issuer", "rpcNode", "rpcNodeFallback", "platformOperatorPrivateKey") VALUES ($1, $2, $3, $4, $5, $6)',
text: 'INSERT INTO public.issuer_blockchain_properties ("netId", "registry", "issuer", "rpcNode", "rpcNodeFallback", "platformOperatorPrivateKey") VALUES ($1, $2, $3, $4, $5, $6)',
values: [
provider.network.chainId,
contractsLookup.registry,
Expand Down
1 change: 1 addition & 0 deletions packages/tools/migrations/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -31,6 +31,7 @@
"@energyweb/issuer": "4.0.0",
"@energyweb/origin-backend-app": "1.5.4",
"@energyweb/origin-backend-core": "8.0.2",
"@energyweb/origin-backend-utils": "1.6.1",
"@energyweb/utils-general": "11.0.3",
"@types/pg": "8.6.1",
"commander": "6.2.1",
Expand Down
38 changes: 10 additions & 28 deletions packages/tools/migrations/src/main.ts
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,8 @@ import { Client, ClientConfig } from 'pg';
import { getProviderWithFallback } from '@energyweb/utils-general';
import { ExternalDeviceIdType } from '@energyweb/origin-backend-core';
import { IContractsLookup } from '@energyweb/issuer';
import { getDBConnectionOptions } from '@energyweb/origin-backend-utils';

import { deployContracts } from './deployContracts';
import { logger } from './Logger';

Expand All @@ -22,18 +24,7 @@ program.option(
program.parse(process.argv);

async function connectToDB() {
const postgresConfig: ClientConfig = process.env.DATABASE_URL
? {
connectionString: process.env.DATABASE_URL,
ssl: { rejectUnauthorized: false }
}
: {
host: process.env.DB_HOST ?? 'localhost',
port: Number(process.env.DB_PORT) || 5432,
user: process.env.DB_USERNAME ?? 'postgres',
password: process.env.DB_PASSWORD ?? 'postgres',
database: process.env.DB_DATABASE ?? 'origin'
};
const postgresConfig = getDBConnectionOptions() as ClientConfig;
const client = new Client(postgresConfig);

await client.connect();
Expand All @@ -45,27 +36,19 @@ async function connectToDB() {

async function importConfiguration(client: Client, configPath: string) {
const parsedConfig = JSON.parse(fs.readFileSync(configPath, 'utf8').toString());
const {
currencies,
countryName,
regions,
complianceStandard,
deviceTypes,
gridOperators
} = parsedConfig;

const {
externalDeviceIdTypes
}: { externalDeviceIdTypes: ExternalDeviceIdType[] } = parsedConfig;
const { currencies, countryName, regions, complianceStandard, deviceTypes, gridOperators } =
parsedConfig;

const { externalDeviceIdTypes }: { externalDeviceIdTypes: ExternalDeviceIdType[] } =
parsedConfig;

if (currencies.length < 1) {
throw new Error('At least one currency has to be specified: e.g. [ "USD" ]');
}

logger.info(`Saving configuration...`);
const newConfigurationQuery = {
text:
'INSERT INTO public.configuration (id, "countryName", currencies, regions, "externalDeviceIdTypes", "complianceStandard", "deviceTypes", "gridOperators") VALUES ($1, $2, $3, $4, $5, $6, $7, $8)',
text: 'INSERT INTO public.configuration (id, "countryName", currencies, regions, "externalDeviceIdTypes", "complianceStandard", "deviceTypes", "gridOperators") VALUES ($1, $2, $3, $4, $5, $6, $7, $8)',
values: [
'1',
countryName,
Expand All @@ -89,8 +72,7 @@ async function importContracts(

logger.info(`Saving contracts...`);
const newContractsQuery = {
text:
'INSERT INTO public.issuer_blockchain_properties ("netId", "registry", "issuer", "rpcNode", "rpcNodeFallback", "platformOperatorPrivateKey") VALUES ($1, $2, $3, $4, $5, $6)',
text: 'INSERT INTO public.issuer_blockchain_properties ("netId", "registry", "issuer", "rpcNode", "rpcNodeFallback", "platformOperatorPrivateKey") VALUES ($1, $2, $3, $4, $5, $6)',
values: [
provider.network.chainId,
contractsLookup.registry,
Expand Down
2 changes: 1 addition & 1 deletion packages/traceability/issuer-api/ormconfig-dev.ts
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@ import { ConnectionOptions } from 'typeorm';
import { getDBConnectionOptions } from '@energyweb/origin-backend-utils';

const config: ConnectionOptions = {
...getDBConnectionOptions(),
...(getDBConnectionOptions() as ConnectionOptions),
entities: ['src/**/*.entity.ts'],
synchronize: false,
migrationsRun: true,
Expand Down
2 changes: 1 addition & 1 deletion packages/traceability/issuer-api/ormconfig.ts
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@ import { ConnectionOptions } from 'typeorm';
import { getDBConnectionOptions } from '@energyweb/origin-backend-utils';

const config: ConnectionOptions = {
...getDBConnectionOptions(),
...(getDBConnectionOptions() as ConnectionOptions),
synchronize: false,
migrationsRun: true,
migrations: [`${__dirname}/migrations/*.js`],
Expand Down
2 changes: 1 addition & 1 deletion packages/traceability/issuer-irec-api/ormconfig-dev.ts
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@ import { entities } from './src';
import { getDBConnectionOptions } from '@energyweb/origin-backend-utils';

const config: ConnectionOptions = {
...getDBConnectionOptions(),
...(getDBConnectionOptions() as ConnectionOptions),
entities,
synchronize: false,
migrationsRun: true,
Expand Down
2 changes: 1 addition & 1 deletion packages/traceability/issuer-irec-api/ormconfig.ts
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@ import { getDBConnectionOptions } from '@energyweb/origin-backend-utils';
import { entities } from './src';

const config: ConnectionOptions = {
...getDBConnectionOptions(),
...(getDBConnectionOptions() as ConnectionOptions),
entities,
synchronize: false,
migrationsRun: true,
Expand Down
Loading

0 comments on commit 95739f4

Please sign in to comment.