diff --git a/backend/src/repositories/PoolsRepository.ts b/backend/src/repositories/PoolsRepository.ts index d9defaaed..2b6dd5657 100644 --- a/backend/src/repositories/PoolsRepository.ts +++ b/backend/src/repositories/PoolsRepository.ts @@ -80,7 +80,7 @@ class PoolsRepository { /** * Get mining pool statistics for one pool */ - public async $getPool(slug: string): Promise { + public async $getPool(slug: string): Promise { const query = ` SELECT * FROM pools @@ -93,6 +93,11 @@ class PoolsRepository { const [rows] = await connection.query(query, [slug]); connection.release(); + if (rows.length < 1) { + logger.debug(`$getPool(): slug ${slug} does not match any known pool`); + return null; + } + rows[0].regexes = JSON.parse(rows[0].regexes); rows[0].addresses = JSON.parse(rows[0].addresses); diff --git a/backend/src/routes.ts b/backend/src/routes.ts index e98c718ef..af31d29ed 100644 --- a/backend/src/routes.ts +++ b/backend/src/routes.ts @@ -545,7 +545,11 @@ class Routes { res.setHeader('Expires', new Date(Date.now() + 1000 * 60).toUTCString()); res.json(stats); } catch (e) { - res.status(500).send(e instanceof Error ? e.message : e); + if (e instanceof Error && e.message.indexOf('This mining pool does not exist') > -1) { + res.status(404).send(e.message); + } else { + res.status(500).send(e instanceof Error ? e.message : e); + } } } @@ -560,7 +564,11 @@ class Routes { res.setHeader('Expires', new Date(Date.now() + 1000 * 60).toUTCString()); res.json(poolBlocks); } catch (e) { - res.status(500).send(e instanceof Error ? e.message : e); + if (e instanceof Error && e.message.indexOf('This mining pool does not exist') > -1) { + res.status(404).send(e.message); + } else { + res.status(500).send(e instanceof Error ? e.message : e); + } } } @@ -616,7 +624,11 @@ class Routes { hashrates: hashrates, }); } catch (e) { - res.status(500).send(e instanceof Error ? e.message : e); + if (e instanceof Error && e.message.indexOf('This mining pool does not exist') > -1) { + res.status(404).send(e.message); + } else { + res.status(500).send(e instanceof Error ? e.message : e); + } } }