From 5c8333593ea9bffbbe7c4325571eefa299ad19ec Mon Sep 17 00:00:00 2001 From: Aykut Yalcin Date: Tue, 9 Jan 2024 10:10:23 +0100 Subject: [PATCH] add assertsuccess func, use for changed route codes --- src/commands/cronjob/delete.ts | 4 ++-- src/commands/cronjob/execution/abort.tsx | 4 ++-- src/commands/database/mysql/delete.ts | 4 ++-- src/commands/project/delete.ts | 4 ++-- src/lib/assert_success.ts | 12 ++++++++++++ 5 files changed, 20 insertions(+), 8 deletions(-) create mode 100644 src/lib/assert_success.ts diff --git a/src/commands/cronjob/delete.ts b/src/commands/cronjob/delete.ts index c0c2e9321..e29099ba6 100644 --- a/src/commands/cronjob/delete.ts +++ b/src/commands/cronjob/delete.ts @@ -1,6 +1,6 @@ -import { assertStatus } from "@mittwald/api-client-commons"; import { DeleteBaseCommand } from "../../DeleteBaseCommand.js"; import { Args } from "@oclif/core"; +import assertSuccess from "../../lib/assert_success.js"; export default class Delete extends DeleteBaseCommand { static description = "Delete a cron job"; @@ -20,6 +20,6 @@ export default class Delete extends DeleteBaseCommand { cronjobId, }); - assertStatus(response, 200); + assertSuccess(response); } } diff --git a/src/commands/cronjob/execution/abort.tsx b/src/commands/cronjob/execution/abort.tsx index 3276497bf..30457e610 100644 --- a/src/commands/cronjob/execution/abort.tsx +++ b/src/commands/cronjob/execution/abort.tsx @@ -5,9 +5,9 @@ import { } from "../../../rendering/process/process_flags.js"; import { ReactNode } from "react"; import { Args } from "@oclif/core"; -import { assertStatus } from "@mittwald/api-client-commons"; import { Success } from "../../../rendering/react/components/Success.js"; import { Value } from "../../../rendering/react/components/Value.js"; +import assertSuccess from "../../../lib/assert_success.js"; type Result = { executionId: string; @@ -39,7 +39,7 @@ export class Abort extends ExecRenderBaseCommand { executionId, }); - assertStatus(r, 200); + assertSuccess(r); }); p.complete( diff --git a/src/commands/database/mysql/delete.ts b/src/commands/database/mysql/delete.ts index 44e295f59..16d11e353 100644 --- a/src/commands/database/mysql/delete.ts +++ b/src/commands/database/mysql/delete.ts @@ -1,7 +1,7 @@ -import { assertStatus } from "@mittwald/api-client-commons"; import { normalizeProjectIdToUuid } from "../../../Helpers.js"; import { DeleteBaseCommand } from "../../../DeleteBaseCommand.js"; import { mysqlArgs, withMySQLId } from "../../../lib/database/mysql/flags.js"; +import assertSuccess from "../../../lib/assert_success.js"; export default class Delete extends DeleteBaseCommand { static description = "Delete a MySQL database"; @@ -21,7 +21,7 @@ export default class Delete extends DeleteBaseCommand { mysqlDatabaseId, }); - assertStatus(response, 200); + assertSuccess(response); } protected mapResourceId(id: string): Promise { diff --git a/src/commands/project/delete.ts b/src/commands/project/delete.ts index 32bc451e0..eff5e02ca 100644 --- a/src/commands/project/delete.ts +++ b/src/commands/project/delete.ts @@ -1,6 +1,6 @@ -import { assertStatus } from "@mittwald/api-client-commons"; import { DeleteBaseCommand } from "../../DeleteBaseCommand.js"; import { projectArgs } from "../../lib/project/flags.js"; +import assertSuccess from "../../lib/assert_success.js"; export default class Delete extends DeleteBaseCommand { static description = "Delete a project"; @@ -15,6 +15,6 @@ export default class Delete extends DeleteBaseCommand { projectId, }); - assertStatus(response, 200); + assertSuccess(response); } } diff --git a/src/lib/assert_success.ts b/src/lib/assert_success.ts new file mode 100644 index 000000000..2ab1d9730 --- /dev/null +++ b/src/lib/assert_success.ts @@ -0,0 +1,12 @@ +import { Response, ApiClientError } from "@mittwald/api-client-commons"; + +export function assertSuccess(response: T): void { + if (response.status >= 300) { + throw ApiClientError.fromResponse( + `Unexpected response status (expected <300, got: ${response.status})`, + response, + ); + } +} + +export default assertSuccess;