From a0f9d9dd787e00a350a45be4e9979a4131b74906 Mon Sep 17 00:00:00 2001 From: classicalliu Date: Mon, 2 Sep 2019 15:44:53 +0800 Subject: [PATCH 1/2] chore: log error in CatchControllerError --- .../src/controllers/networks/index.ts | 3 ++- .../neuron-wallet/src/decorators/errors.ts | 2 ++ packages/neuron-wallet/src/env.ts | 2 +- .../neuron-wallet/src/services/networks.ts | 21 +------------------ .../src/startup/sync-block-task/create.ts | 3 ++- .../src/startup/sync-block-task/task.ts | 2 +- packages/neuron-wallet/src/types/network.ts | 19 +++++++++++++++++ 7 files changed, 28 insertions(+), 24 deletions(-) create mode 100644 packages/neuron-wallet/src/types/network.ts diff --git a/packages/neuron-wallet/src/controllers/networks/index.ts b/packages/neuron-wallet/src/controllers/networks/index.ts index 0244102623..435db86cd0 100644 --- a/packages/neuron-wallet/src/controllers/networks/index.ts +++ b/packages/neuron-wallet/src/controllers/networks/index.ts @@ -1,4 +1,5 @@ -import NetworksService, { NetworkType, NetworkID, Network } from 'services/networks' +import { NetworkType, NetworkID, Network } from 'types/network' +import NetworksService from 'services/networks' import { CatchControllerError, Controller as ControllerDecorator } from 'decorators' import { Channel, ResponseCode } from 'utils/const' import { IsRequired, InvalidName, NetworkNotFound, CurrentNetworkNotSet } from 'exceptions' diff --git a/packages/neuron-wallet/src/decorators/errors.ts b/packages/neuron-wallet/src/decorators/errors.ts index efaa1b3ffe..ffaf91dec8 100644 --- a/packages/neuron-wallet/src/decorators/errors.ts +++ b/packages/neuron-wallet/src/decorators/errors.ts @@ -1,4 +1,5 @@ import { ResponseCode } from 'utils/const' +import logger from 'utils/logger' export const CatchControllerError = (_target: any, _name: string, descriptor: PropertyDescriptor) => { const originalMethod = descriptor.value @@ -8,6 +9,7 @@ export const CatchControllerError = (_target: any, _name: string, descriptor: Pr try { return await originalMethod(...args) } catch (err) { + logger.error(`CatchControllerError:`, err) return { status: ResponseCode.Fail, message: typeof err.message === 'string' ? { content: err.message } : err.message, diff --git a/packages/neuron-wallet/src/env.ts b/packages/neuron-wallet/src/env.ts index 7f5143225e..ca5a515845 100644 --- a/packages/neuron-wallet/src/env.ts +++ b/packages/neuron-wallet/src/env.ts @@ -1,6 +1,6 @@ import * as path from 'path' import app from 'app' -import { NetworkWithID } from 'services/networks' +import { NetworkWithID } from 'types/network' const { NODE_ENV } = process.env diff --git a/packages/neuron-wallet/src/services/networks.ts b/packages/neuron-wallet/src/services/networks.ts index de010165f7..2d3c2014e4 100644 --- a/packages/neuron-wallet/src/services/networks.ts +++ b/packages/neuron-wallet/src/services/networks.ts @@ -8,26 +8,7 @@ import env from 'env' import { Validate, Required } from 'decorators' import { UsedName, NetworkNotFound, InvalidFormat } from 'exceptions' import { NetworkListSubject, CurrentNetworkIDSubject } from 'models/subjects/networks' - -export type NetworkID = string -export type NetworkName = string -export type NetworkRemote = string -export enum NetworksKey { - List = 'list', - Current = 'current', -} -export enum NetworkType { - Default, - Normal, -} -export interface Network { - name: NetworkName - remote: NetworkRemote - type: NetworkType -} -export interface NetworkWithID extends Network { - id: NetworkID -} +import { NetworkID, NetworkName, NetworkRemote, NetworksKey, NetworkType, Network, NetworkWithID } from 'types/network' export const networkSwitchSubject = new BehaviorSubject(undefined) diff --git a/packages/neuron-wallet/src/startup/sync-block-task/create.ts b/packages/neuron-wallet/src/startup/sync-block-task/create.ts index 5cb98b2e6a..6e7103815e 100644 --- a/packages/neuron-wallet/src/startup/sync-block-task/create.ts +++ b/packages/neuron-wallet/src/startup/sync-block-task/create.ts @@ -1,7 +1,8 @@ import { BrowserWindow } from 'electron' import { ReplaySubject } from 'rxjs' import path from 'path' -import { networkSwitchSubject, NetworkWithID } from 'services/networks' +import { networkSwitchSubject } from 'services/networks' +import { NetworkWithID } from 'types/network' import env from 'env' import AddressService from 'services/addresses' import genesisBlockHash from './genesis' diff --git a/packages/neuron-wallet/src/startup/sync-block-task/task.ts b/packages/neuron-wallet/src/startup/sync-block-task/task.ts index 1660234dc4..c48c13d6d2 100644 --- a/packages/neuron-wallet/src/startup/sync-block-task/task.ts +++ b/packages/neuron-wallet/src/startup/sync-block-task/task.ts @@ -1,7 +1,7 @@ import { remote } from 'electron' import { initConnection as initAddressConnection } from 'database/address/ormconfig' import AddressesUsedSubject from 'models/subjects/addresses-used-subject' -import { NetworkWithID } from 'services/networks' +import { NetworkWithID } from 'types/network' import { register as registerTxStatusListener } from 'listeners/tx-status' import { register as registerAddressListener } from 'listeners/address' import IndexerRPC from 'services/indexer/indexer-rpc' diff --git a/packages/neuron-wallet/src/types/network.ts b/packages/neuron-wallet/src/types/network.ts new file mode 100644 index 0000000000..5e03665de7 --- /dev/null +++ b/packages/neuron-wallet/src/types/network.ts @@ -0,0 +1,19 @@ +export type NetworkID = string +export type NetworkName = string +export type NetworkRemote = string +export enum NetworksKey { + List = 'list', + Current = 'current', +} +export enum NetworkType { + Default, + Normal, +} +export interface Network { + name: NetworkName + remote: NetworkRemote + type: NetworkType +} +export interface NetworkWithID extends Network { + id: NetworkID +} From c4cb7e49d0e960eac7ce85a9039eda839e947dc5 Mon Sep 17 00:00:00 2001 From: classicalliu Date: Mon, 2 Sep 2019 15:51:27 +0800 Subject: [PATCH 2/2] fix: network test import --- packages/neuron-wallet/tests/services/networks.test.ts | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/packages/neuron-wallet/tests/services/networks.test.ts b/packages/neuron-wallet/tests/services/networks.test.ts index bee217f537..66d2cc365b 100644 --- a/packages/neuron-wallet/tests/services/networks.test.ts +++ b/packages/neuron-wallet/tests/services/networks.test.ts @@ -1,4 +1,5 @@ -import NetworksService, { NetworkWithID } from '../../src/services/networks' +import NetworksService from '../../src/services/networks' +import { NetworkWithID } from '../../src/types/network' import env from '../../src/env' import i18n from '../../src/utils/i18n'