Flatten promoteRc API layer
Signed-off-by: Erik Engervall <erik.engervall@gmail.com>
This commit is contained in:
@@ -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<GetLatestReleaseResult>['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']
|
||||
|
||||
@@ -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);
|
||||
|
||||
|
||||
@@ -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,
|
||||
});
|
||||
|
||||
|
||||
Reference in New Issue
Block a user