diff options
| author | Kevin J Hoerr <kjhoerr@protonmail.com> | 2019-12-08 14:17:23 -0500 |
|---|---|---|
| committer | Kevin J Hoerr <kjhoerr@protonmail.com> | 2019-12-08 14:17:23 -0500 |
| commit | 3205965afbd9c4fce00dc03cccd6b6223ddb1d15 (patch) | |
| tree | 1c938e39ae5e6ca6d9fca87965b405a30aa8d0f1 /src/metadata.ts | |
| parent | ad627b0c6ba9bc804ed2924c692c8ef7e022fca6 (diff) | |
| download | ao-coverage-3205965afbd9c4fce00dc03cccd6b6223ddb1d15.tar.gz ao-coverage-3205965afbd9c4fce00dc03cccd6b6223ddb1d15.tar.bz2 ao-coverage-3205965afbd9c4fce00dc03cccd6b6223ddb1d15.zip | |
Overhaul error handling for controllers
This change fixes various issues with the GET endpoints to return more
accurate error messages. It adds business logic error objects that are
returned in a union type in the controllers. This change should help
separate the business logic from the actual errors from upstream
services.
There may be required changes still with handling those upstream errors
via Promises. Integration tests should be added to verify issues.
Diffstat (limited to 'src/metadata.ts')
| -rw-r--r-- | src/metadata.ts | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/src/metadata.ts b/src/metadata.ts index c297b38..07e420d 100644 --- a/src/metadata.ts +++ b/src/metadata.ts @@ -2,6 +2,7 @@ import { Db } from "mongodb"; import winston from "winston"; import logger_config from "./util/logger"; +import { BranchNotFoundError } from "./errors"; interface Branch { head: string; @@ -37,7 +38,7 @@ class Metadata { organization: string, repository: string, branch: string - ): Promise<string> { + ): Promise<string | BranchNotFoundError> { const result = await this.database .collection<Repository>("repository") .findOne({ @@ -57,7 +58,7 @@ class Metadata { ); return limb.head; } else { - throw Error("Branch not found"); + return new BranchNotFoundError(); } } |
