mirror of
https://github.com/Comfy-Org/ComfyUI_frontend.git
synced 2026-02-24 00:34:09 +00:00
[Manager] Preview the individual nodes for packs on the registry (#3408)
Co-authored-by: github-actions <github-actions@github.com>
This commit is contained in:
@@ -1,7 +1,6 @@
|
||||
import axios, { AxiosError, AxiosResponse } from 'axios'
|
||||
import { ref } from 'vue'
|
||||
|
||||
import { useNodeDefStore } from '@/stores/nodeDefStore'
|
||||
import type { components, operations } from '@/types/comfyRegistryTypes'
|
||||
import { isAbortError } from '@/utils/typeGuardUtil'
|
||||
|
||||
@@ -25,29 +24,6 @@ export const useComfyRegistryService = () => {
|
||||
const isLoading = ref(false)
|
||||
const error = ref<string | null>(null)
|
||||
|
||||
const nodeDefStore = useNodeDefStore()
|
||||
|
||||
const isLocalNodePack = (nodePackId: string) =>
|
||||
!!nodeDefStore.nodeDefsByName[nodePackId]
|
||||
|
||||
const isLocalNode = (nodeName: string, nodePackId: string) => {
|
||||
if (!nodeDefStore.nodeDefsByName[nodeName]) return false
|
||||
return (
|
||||
nodeDefStore.nodeDefsByName[nodeName].python_module.toLowerCase() ===
|
||||
nodePackId.toLowerCase()
|
||||
)
|
||||
}
|
||||
|
||||
/**
|
||||
* Check if the node definitions for the pack are available
|
||||
*/
|
||||
const packNodesAvailable = (node: components['schemas']['Node']) => {
|
||||
if (node.id && isLocalNodePack(node.id)) return true
|
||||
if (node.latest_version?.comfy_node_extract_status !== 'success')
|
||||
return false
|
||||
return true
|
||||
}
|
||||
|
||||
const handleApiError = (
|
||||
err: unknown,
|
||||
context: string,
|
||||
@@ -125,11 +101,11 @@ export const useComfyRegistryService = () => {
|
||||
const getNodeDefs = async (
|
||||
params: {
|
||||
packId: components['schemas']['Node']['id']
|
||||
versionId: components['schemas']['NodeVersion']['id']
|
||||
},
|
||||
version: components['schemas']['NodeVersion']['version']
|
||||
} & operations['ListComfyNodes']['parameters']['query'],
|
||||
signal?: AbortSignal
|
||||
) => {
|
||||
const { packId, versionId } = params
|
||||
const { packId, version: versionId, ...queryParams } = params
|
||||
if (!packId || !versionId) return null
|
||||
|
||||
const endpoint = `/nodes/${packId}/versions/${versionId}/comfy-nodes`
|
||||
@@ -141,7 +117,10 @@ export const useComfyRegistryService = () => {
|
||||
|
||||
return executeApiRequest(
|
||||
() =>
|
||||
registryApiClient.get<components['schemas']['ComfyNode'][]>(endpoint, {
|
||||
registryApiClient.get<
|
||||
operations['ListComfyNodes']['responses'][200]['content']['application/json']
|
||||
>(endpoint, {
|
||||
params: queryParams,
|
||||
signal
|
||||
}),
|
||||
errorContext,
|
||||
@@ -149,33 +128,6 @@ export const useComfyRegistryService = () => {
|
||||
)
|
||||
}
|
||||
|
||||
/**
|
||||
* Get a Comfy Node definition for a specific node in a specific version of a node pack
|
||||
* @param packId - The ID of the node pack
|
||||
* @param versionId - The version of the node pack
|
||||
* @param comfyNodeName - The name of the comfy node (corresponds to `ComfyNodeDef#name`)
|
||||
* @returns The node definition or null if not found or an error occurred
|
||||
*/
|
||||
const getNodeDef = async (
|
||||
params: {
|
||||
packId: components['schemas']['Node']['id']
|
||||
versionId: components['schemas']['NodeVersion']['id']
|
||||
comfyNodeName: components['schemas']['ComfyNode']['comfy_node_name']
|
||||
},
|
||||
signal?: AbortSignal
|
||||
) => {
|
||||
const { packId, versionId, comfyNodeName } = params
|
||||
if (!comfyNodeName || !packId || !versionId) return null
|
||||
if (isLocalNode(comfyNodeName, packId))
|
||||
return nodeDefStore.nodeDefsByName[comfyNodeName]
|
||||
|
||||
const nodeDefs = await getNodeDefs({ packId, versionId }, signal)
|
||||
return (
|
||||
nodeDefs?.find((nodeDef) => nodeDef.comfy_node_name === comfyNodeName) ||
|
||||
null
|
||||
)
|
||||
}
|
||||
|
||||
/**
|
||||
* Get a paginated list of packs matching specific criteria.
|
||||
* Search packs using `search` param. Search individual nodes using `comfy_node_search` param.
|
||||
@@ -377,9 +329,7 @@ export const useComfyRegistryService = () => {
|
||||
getPackByVersion,
|
||||
getPublisherById,
|
||||
listPacksForPublisher,
|
||||
getNodeDef,
|
||||
getNodeDefs,
|
||||
postPackReview,
|
||||
packNodesAvailable
|
||||
postPackReview
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user