fix: other install error

This commit is contained in:
Joel
2024-11-29 15:18:07 +08:00
parent 84cad5969e
commit b78ab0bd69
3 changed files with 31 additions and 19 deletions

View File

@ -2,7 +2,7 @@
import React from 'react'
import Button from '@/app/components/base/button'
import type { PluginDeclaration, PluginType, UpdateFromGitHubPayload } from '../../../types'
import { type PluginDeclaration, type PluginType, TaskStatus, type UpdateFromGitHubPayload } from '../../../types'
import Card from '../../../card'
import Badge, { BadgeState } from '@/app/components/base/badge/index'
import { pluginManifestToCardPluginProps } from '../../utils'
@ -53,8 +53,9 @@ const Loaded: React.FC<LoadedProps> = ({
try {
const { owner, repo } = parseGitHubUrl(repoUrl)
let taskId
if (updatePayload) {
const { all_installed: isInstalled, task_id: taskId } = await updateFromGitHub(
const { all_installed: isInstalled, task_id } = await updateFromGitHub(
`${owner}/${repo}`,
selectedVersion,
selectedPackage,
@ -62,40 +63,42 @@ const Loaded: React.FC<LoadedProps> = ({
uniqueIdentifier,
)
taskId = task_id
if (isInstalled) {
onInstalled()
return
}
handleRefetch()
await check({
taskId,
pluginUniqueIdentifier: uniqueIdentifier,
})
onInstalled()
}
else {
const { all_installed: isInstalled, task_id: taskId } = await installPackageFromGitHub({
const { all_installed: isInstalled, task_id } = await installPackageFromGitHub({
repoUrl: `${owner}/${repo}`,
selectedVersion,
selectedPackage,
uniqueIdentifier,
})
taskId = task_id
if (isInstalled) {
onInstalled()
return
}
handleRefetch()
await check({
taskId,
pluginUniqueIdentifier: uniqueIdentifier,
})
onInstalled()
}
const { status, error } = await check({
taskId,
pluginUniqueIdentifier: uniqueIdentifier,
})
if (status === TaskStatus.failed) {
onFailed(error)
return
}
onInstalled()
}
catch (e) {
if (typeof e === 'string') {