From 6854dcd9e1feba6b3cf25207715eceac72bf3d58 Mon Sep 17 00:00:00 2001 From: Erik Engervall Date: Fri, 30 Apr 2021 13:56:00 +0200 Subject: [PATCH] Api refactor, return object for getBranch Signed-off-by: Erik Engervall --- .../src/api/GitReleaseApiClient.ts | 36 ++++++++++--------- .../CreateReleaseCandidate.tsx | 2 +- .../src/features/Info/Info.tsx | 2 +- .../src/features/Patch/Patch.tsx | 2 +- .../src/features/Patch/PatchBody.tsx | 2 +- .../src/features/Patch/hooks/usePatch.ts | 2 +- .../src/hooks/useGetGitBatchInfo.ts | 2 +- .../src/test-helpers/test-helpers.ts | 6 ++-- 8 files changed, 30 insertions(+), 24 deletions(-) diff --git a/plugins/git-release-manager/src/api/GitReleaseApiClient.ts b/plugins/git-release-manager/src/api/GitReleaseApiClient.ts index 4a3db3c5ce..b1c2b5b5ac 100644 --- a/plugins/git-release-manager/src/api/GitReleaseApiClient.ts +++ b/plugins/git-release-manager/src/api/GitReleaseApiClient.ts @@ -233,15 +233,17 @@ export class GitReleaseApiClient implements GitReleaseApi { }); return { - name: branchData.name, - links: { - html: branchData._links.html, - }, - commit: { - sha: branchData.commit.sha, + branch: { + name: branchData.name, + links: { + html: branchData._links.html, + }, commit: { - tree: { - sha: branchData.commit.commit.tree.sha, + sha: branchData.commit.sha, + commit: { + tree: { + sha: branchData.commit.commit.tree.sha, + }, }, }, }, @@ -579,15 +581,17 @@ export interface GitReleaseApi { branch: string; } & OwnerRepo, ) => Promise<{ - name: string; - links: { - html: string; - }; - commit: { - sha: string; + branch: { + name: string; + links: { + html: string; + }; commit: { - tree: { - sha: string; + sha: string; + commit: { + tree: { + sha: string; + }; }; }; }; diff --git a/plugins/git-release-manager/src/features/CreateReleaseCandidate/CreateReleaseCandidate.tsx b/plugins/git-release-manager/src/features/CreateReleaseCandidate/CreateReleaseCandidate.tsx index 0b105c076c..011c827e3c 100644 --- a/plugins/git-release-manager/src/features/CreateReleaseCandidate/CreateReleaseCandidate.tsx +++ b/plugins/git-release-manager/src/features/CreateReleaseCandidate/CreateReleaseCandidate.tsx @@ -44,7 +44,7 @@ import { useProjectContext } from '../../contexts/ProjectContext'; interface CreateReleaseCandidateProps { defaultBranch: GetRepositoryResult['repository']['defaultBranch']; latestRelease: GetLatestReleaseResult['latestRelease']; - releaseBranch: GetBranchResult | null; + releaseBranch: GetBranchResult['branch'] | null; successCb?: ComponentConfigCreateRc['successCb']; } diff --git a/plugins/git-release-manager/src/features/Info/Info.tsx b/plugins/git-release-manager/src/features/Info/Info.tsx index b7f1b89e56..1ddf82997b 100644 --- a/plugins/git-release-manager/src/features/Info/Info.tsx +++ b/plugins/git-release-manager/src/features/Info/Info.tsx @@ -30,7 +30,7 @@ import { useProjectContext } from '../../contexts/ProjectContext'; import flowImage from './flow.png'; interface InfoCardProps { - releaseBranch: GetBranchResult | null; + releaseBranch: GetBranchResult['branch'] | null; latestRelease: GetLatestReleaseResult['latestRelease']; statsEnabled: boolean; } diff --git a/plugins/git-release-manager/src/features/Patch/Patch.tsx b/plugins/git-release-manager/src/features/Patch/Patch.tsx index 50d0d52628..11bc25486a 100644 --- a/plugins/git-release-manager/src/features/Patch/Patch.tsx +++ b/plugins/git-release-manager/src/features/Patch/Patch.tsx @@ -31,7 +31,7 @@ import { useProjectContext } from '../../contexts/ProjectContext'; interface PatchProps { latestRelease: GetLatestReleaseResult['latestRelease']; - releaseBranch: GetBranchResult | null; + releaseBranch: GetBranchResult['branch'] | null; successCb?: ComponentConfigPatch['successCb']; } diff --git a/plugins/git-release-manager/src/features/Patch/PatchBody.tsx b/plugins/git-release-manager/src/features/Patch/PatchBody.tsx index 1f841e753f..42f9550652 100644 --- a/plugins/git-release-manager/src/features/Patch/PatchBody.tsx +++ b/plugins/git-release-manager/src/features/Patch/PatchBody.tsx @@ -55,7 +55,7 @@ import { useProjectContext } from '../../contexts/ProjectContext'; interface PatchBodyProps { bumpedTag: string; latestRelease: NonNullable; - releaseBranch: GetBranchResult; + releaseBranch: GetBranchResult['branch']; successCb?: ComponentConfigPatch['successCb']; tagParts: NonNullable; } diff --git a/plugins/git-release-manager/src/features/Patch/hooks/usePatch.ts b/plugins/git-release-manager/src/features/Patch/hooks/usePatch.ts index a88ac21d72..aacacf06c6 100644 --- a/plugins/git-release-manager/src/features/Patch/hooks/usePatch.ts +++ b/plugins/git-release-manager/src/features/Patch/hooks/usePatch.ts @@ -67,7 +67,7 @@ export function usePatch({ */ const [releaseBranchRes, run] = useAsyncFn( async (selectedPatchCommit: GetRecentCommitsResultSingle) => { - const releaseBranch = await pluginApiClient + const { branch: releaseBranch } = await pluginApiClient .getBranch({ owner: project.owner, repo: project.repo, diff --git a/plugins/git-release-manager/src/hooks/useGetGitBatchInfo.ts b/plugins/git-release-manager/src/hooks/useGetGitBatchInfo.ts index 78a8d4984b..235f4ff9bd 100644 --- a/plugins/git-release-manager/src/hooks/useGetGitBatchInfo.ts +++ b/plugins/git-release-manager/src/hooks/useGetGitBatchInfo.ts @@ -50,7 +50,7 @@ export const useGetGitBatchInfo = ({ }; } - const releaseBranch = await pluginApiClient.getBranch({ + const { branch: releaseBranch } = await pluginApiClient.getBranch({ owner: project.owner, repo: project.repo, branch: latestRelease.targetCommitish, diff --git a/plugins/git-release-manager/src/test-helpers/test-helpers.ts b/plugins/git-release-manager/src/test-helpers/test-helpers.ts index bd6ecbf345..fc6e09ff0c 100644 --- a/plugins/git-release-manager/src/test-helpers/test-helpers.ts +++ b/plugins/git-release-manager/src/test-helpers/test-helpers.ts @@ -135,7 +135,7 @@ export const mockReleaseVersionSemver = createMockRelease({ */ const createMockBranch = ({ ...rest -}: Partial = {}): GetBranchResult => ({ +}: Partial = {}): GetBranchResult['branch'] => ({ name: MOCK_RELEASE_BRANCH_NAME_SEMVER, commit: { sha: 'mock_branch_commit_sha', @@ -226,7 +226,9 @@ export const mockApiClient: GitReleaseApi = { createdAt: '2021-01-01T10:11:12Z', })), - getBranch: jest.fn(async () => createMockBranch()), + getBranch: jest.fn(async () => ({ + branch: createMockBranch(), + })), createRef: jest.fn(async () => ({ ref: 'mock_createRef_ref',