Files
dify/web/context/access-control-store.ts
T
+8 d186daa131 E-300 (#19726)
Signed-off-by: -LAN- <[email protected]>
Co-authored-by: Hash Brown <[email protected]>
Co-authored-by: crazywoola <[email protected]>
Co-authored-by: GareArc <[email protected]>
Co-authored-by: Byron.wang <[email protected]>
Co-authored-by: Joel <[email protected]>
Co-authored-by: -LAN- <[email protected]>
Co-authored-by: Garfield Dai <[email protected]>
Co-authored-by: KVOJJJin <[email protected]>
Co-authored-by: Alexi.F <[email protected]>
Co-authored-by: Xiyuan Chen <[email protected]>
Co-authored-by: kautsar_masuara <[email protected]>
Co-authored-by: achmad-kautsar <[email protected]>
Co-authored-by: Xin Zhang <[email protected]>
Co-authored-by: kelvintsim <[email protected]>
Co-authored-by: zxhlyh <[email protected]>
Co-authored-by: Zixuan Cheng <[email protected]>
2025-05-20 12:07:50 +08:00

35 lines
1.3 KiB
TypeScript

import { create } from 'zustand'
import type { AccessControlAccount, AccessControlGroup } from '@/models/access-control'
import { AccessMode } from '@/models/access-control'
import type { App } from '@/types/app'
type AccessControlStore = {
appId: App['id']
setAppId: (appId: App['id']) => void
specificGroups: AccessControlGroup[]
setSpecificGroups: (specificGroups: AccessControlGroup[]) => void
specificMembers: AccessControlAccount[]
setSpecificMembers: (specificMembers: AccessControlAccount[]) => void
currentMenu: AccessMode
setCurrentMenu: (currentMenu: AccessMode) => void
selectedGroupsForBreadcrumb: AccessControlGroup[]
setSelectedGroupsForBreadcrumb: (selectedGroupsForBreadcrumb: AccessControlGroup[]) => void
}
const useAccessControlStore = create<AccessControlStore>((set) => {
return {
appId: '',
setAppId: appId => set({ appId }),
specificGroups: [],
setSpecificGroups: specificGroups => set({ specificGroups }),
specificMembers: [],
setSpecificMembers: specificMembers => set({ specificMembers }),
currentMenu: AccessMode.SPECIFIC_GROUPS_MEMBERS,
setCurrentMenu: currentMenu => set({ currentMenu }),
selectedGroupsForBreadcrumb: [],
setSelectedGroupsForBreadcrumb: selectedGroupsForBreadcrumb => set({ selectedGroupsForBreadcrumb }),
}
})
export default useAccessControlStore