mirror of
				https://github.com/langgenius/dify.git
				synced 2025-10-31 02:42:59 +00:00 
			
		
		
		
	
		
			
				
	
	
		
			61 lines
		
	
	
		
			1.8 KiB
		
	
	
	
		
			TypeScript
		
	
	
	
	
	
			
		
		
	
	
			61 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: true,
 | |
|     introduction: pluginManifest.introduction,
 | |
|     repository: '',
 | |
|     install_count: 0,
 | |
|     endpoint: {
 | |
|       settings: [],
 | |
|     },
 | |
|     tags: [],
 | |
|     badges: pluginManifest.badges,
 | |
|   }
 | |
| }
 | |
| 
 | |
| 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}` : ''
 | |
| }
 | 
