mirror of
https://github.com/langgenius/dify.git
synced 2025-07-07 09:11:55 +00:00
60 lines
1.8 KiB
TypeScript
60 lines
1.8 KiB
TypeScript
![]() |
import type { Plugin, PluginDeclaration, PluginManifestInMarket } from '../types'
|
||
|
import type { GitHubUrlInfo } from '@/app/components/plugins/types'
|
||
|
|
||
|
export const pluginManifestToCardPluginProps = (pluginManifest: PluginDeclaration): Plugin => {
|
||
|
return {
|
||
|
plugin_id: pluginManifest.plugin_unique_identifier,
|
||
|
type: pluginManifest.category,
|
||
|
category: pluginManifest.category,
|
||
|
name: pluginManifest.name,
|
||
|
version: pluginManifest.version,
|
||
|
latest_version: '',
|
||
|
latest_package_identifier: '',
|
||
|
org: pluginManifest.author,
|
||
|
label: pluginManifest.label,
|
||
|
brief: pluginManifest.description,
|
||
|
icon: pluginManifest.icon,
|
||
|
verified: pluginManifest.verified,
|
||
|
introduction: '',
|
||
|
repository: '',
|
||
|
install_count: 0,
|
||
|
endpoint: {
|
||
|
settings: [],
|
||
|
},
|
||
|
tags: [],
|
||
|
}
|
||
|
}
|
||
|
|
||
|
export const pluginManifestInMarketToPluginProps = (pluginManifest: PluginManifestInMarket): Plugin => {
|
||
|
return {
|
||
|
plugin_id: pluginManifest.plugin_unique_identifier,
|
||
|
type: pluginManifest.category,
|
||
|
category: pluginManifest.category,
|
||
|
name: pluginManifest.name,
|
||
|
version: pluginManifest.latest_version,
|
||
|
latest_version: pluginManifest.latest_version,
|
||
|
latest_package_identifier: '',
|
||
|
org: pluginManifest.org,
|
||
|
label: pluginManifest.label,
|
||
|
brief: pluginManifest.brief,
|
||
|
icon: pluginManifest.icon,
|
||
|
verified: pluginManifest.verified,
|
||
|
introduction: pluginManifest.introduction,
|
||
|
repository: '',
|
||
|
install_count: 0,
|
||
|
endpoint: {
|
||
|
settings: [],
|
||
|
},
|
||
|
tags: [],
|
||
|
}
|
||
|
}
|
||
|
|
||
|
export const parseGitHubUrl = (url: string): GitHubUrlInfo => {
|
||
|
const match = url.match(/^https:\/\/github\.com\/([^\/]+)\/([^\/]+)\/?$/)
|
||
|
return match ? { isValid: true, owner: match[1], repo: match[2] } : { isValid: false }
|
||
|
}
|
||
|
|
||
|
export const convertRepoToUrl = (repo: string) => {
|
||
|
return repo ? `https://github.com/${repo}` : ''
|
||
|
}
|