From dc5ac3b700c3b747c9b61043e88e8eca17dc47ce Mon Sep 17 00:00:00 2001 From: Erik Engervall Date: Thu, 29 Apr 2021 22:11:29 +0200 Subject: [PATCH] Flatten promoteRc API layer Signed-off-by: Erik Engervall --- .../src/api/GitReleaseApiClient.ts | 59 ++++++++++--------- .../features/PromoteRc/hooks/usePromoteRc.ts | 4 +- .../src/hooks/useGetGitBatchInfo.ts | 13 +++- 3 files changed, 43 insertions(+), 33 deletions(-) diff --git a/plugins/git-release-manager/src/api/GitReleaseApiClient.ts b/plugins/git-release-manager/src/api/GitReleaseApiClient.ts index 0268ccf0fe..81e06be15f 100644 --- a/plugins/git-release-manager/src/api/GitReleaseApiClient.ts +++ b/plugins/git-release-manager/src/api/GitReleaseApiClient.ts @@ -469,23 +469,26 @@ ${selectedPatchCommit.commit.message}`, }, }; - promoteRc: GitReleaseApi['promoteRc'] = { - promoteRelease: async ({ owner, repo, releaseId, releaseVersion }) => { - const { octokit } = await this.getOctokit(); - const { data: promotedRelease } = await octokit.repos.updateRelease({ - owner, - repo, - release_id: releaseId, - tag_name: releaseVersion, - prerelease: false, - }); + promoteRelease: GitReleaseApi['promoteRelease'] = async ({ + owner, + repo, + releaseId, + tagName, + }) => { + const { octokit } = await this.getOctokit(); + const { data: promotedRelease } = await octokit.repos.updateRelease({ + owner, + repo, + release_id: releaseId, + tag_name: tagName, + prerelease: false, + }); - return { - name: promotedRelease.name, - tagName: promotedRelease.tag_name, - htmlUrl: promotedRelease.html_url, - }; - }, + return { + name: promotedRelease.name, + tagName: promotedRelease.tag_name, + htmlUrl: promotedRelease.html_url, + }; }; stats: GitReleaseApi['stats'] = { @@ -767,18 +770,18 @@ export interface GitReleaseApi { htmlUrl: string; }>; }; - promoteRc: { - promoteRelease: ( - args: { - releaseId: NonNullable['id']; - releaseVersion: string; - } & OwnerRepo, - ) => Promise<{ - name: string | null; + + promoteRelease: ( + args: { + releaseId: number; tagName: string; - htmlUrl: string; - }>; - }; + } & OwnerRepo, + ) => Promise<{ + name: string | null; + tagName: string; + htmlUrl: string; + }>; + stats: { getAllTags: ( args: OwnerRepo, @@ -861,7 +864,7 @@ export type UpdateReleaseResult = UnboxReturnedPromise< GitReleaseApi['patch']['updateRelease'] >; export type PromoteReleaseResult = UnboxReturnedPromise< - GitReleaseApi['promoteRc']['promoteRelease'] + GitReleaseApi['promoteRelease'] >; export type GetAllTagsResult = UnboxReturnedPromise< GitReleaseApi['stats']['getAllTags'] diff --git a/plugins/git-release-manager/src/features/PromoteRc/hooks/usePromoteRc.ts b/plugins/git-release-manager/src/features/PromoteRc/hooks/usePromoteRc.ts index bbeacb6b59..a70029dd6c 100644 --- a/plugins/git-release-manager/src/features/PromoteRc/hooks/usePromoteRc.ts +++ b/plugins/git-release-manager/src/features/PromoteRc/hooks/usePromoteRc.ts @@ -140,12 +140,12 @@ export function usePromoteRc({ abortIfError(createRcRes.error); if (!createRcRes.value) return undefined; - const promotedRelease = await pluginApiClient.promoteRc + const promotedRelease = await pluginApiClient .promoteRelease({ owner: project.owner, repo: project.repo, releaseId: rcRelease.id, - releaseVersion, + tagName: releaseVersion, }) .catch(asyncCatcher); diff --git a/plugins/git-release-manager/src/hooks/useGetGitBatchInfo.ts b/plugins/git-release-manager/src/hooks/useGetGitBatchInfo.ts index 653f91e3a5..e7be8c9f85 100644 --- a/plugins/git-release-manager/src/hooks/useGetGitBatchInfo.ts +++ b/plugins/git-release-manager/src/hooks/useGetGitBatchInfo.ts @@ -32,8 +32,14 @@ export const useGetGitBatchInfo = ({ }: GetGitBatchInfo) => { const gitBatchInfo = useAsync(async () => { const [repository, latestRelease] = await Promise.all([ - pluginApiClient.getRepository({ ...project }), - pluginApiClient.getLatestRelease({ ...project }), + pluginApiClient.getRepository({ + owner: project.owner, + repo: project.repo, + }), + pluginApiClient.getLatestRelease({ + owner: project.owner, + repo: project.repo, + }), ]); if (latestRelease === null) { @@ -45,7 +51,8 @@ export const useGetGitBatchInfo = ({ } const releaseBranch = await pluginApiClient.getBranch({ - ...project, + owner: project.owner, + repo: project.repo, branchName: latestRelease.targetCommitish, });