123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960 |
- 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}` : ''
- }
|