Files
dify/web/features/deployments/store.ts
Stephen Zhou eb60ddc35f tweaks
2026-04-30 14:59:59 +08:00

61 lines
1.7 KiB
TypeScript

import { create } from 'zustand'
type OpenDeployDrawerParams = {
appInstanceId: string
environmentId?: string
releaseId?: string
}
type OpenRollbackParams = {
appInstanceId: string
environmentId: string
targetReleaseId: string
deploymentId?: string
}
type DeploymentsStore = {
deployDrawer: {
open: boolean
appInstanceId?: string
environmentId?: string
releaseId?: string
}
rollbackModal: {
open: boolean
appInstanceId?: string
environmentId?: string
deploymentId?: string
targetReleaseId?: string
}
createInstanceModal: { open: boolean }
openDeployDrawer: (params: OpenDeployDrawerParams) => void
closeDeployDrawer: () => void
openRollbackModal: (params: OpenRollbackParams) => void
closeRollbackModal: () => void
openCreateInstanceModal: () => void
closeCreateInstanceModal: () => void
}
export const useDeploymentsStore = create<DeploymentsStore>()(set => ({
deployDrawer: { open: false },
rollbackModal: { open: false },
createInstanceModal: { open: false },
openDeployDrawer: params => set({
deployDrawer: {
open: true,
appInstanceId: params.appInstanceId,
environmentId: params.environmentId,
releaseId: params.releaseId,
},
}),
closeDeployDrawer: () => set({ deployDrawer: { open: false } }),
openRollbackModal: ({ appInstanceId, environmentId, deploymentId, targetReleaseId }) => set({
rollbackModal: { open: true, appInstanceId, environmentId, deploymentId, targetReleaseId },
}),
closeRollbackModal: () => set({ rollbackModal: { open: false } }),
openCreateInstanceModal: () => set({ createInstanceModal: { open: true } }),
closeCreateInstanceModal: () => set({ createInstanceModal: { open: false } }),
}))