22
33import { useCallback , useMemo , useState } from 'react'
44import { createLogger } from '@sim/logger'
5- import { useQuery } from '@tanstack/react-query'
65import { Plus , Search } from 'lucide-react'
76import {
87 Avatar ,
@@ -42,17 +41,27 @@ import {
4241 useRemovePermissionGroupMember ,
4342 useUpdatePermissionGroup ,
4443} from '@/ee/access-control/hooks/permission-groups'
44+ import { useBlacklistedProviders } from '@/hooks/queries/allowed-providers'
4545import { useOrganization , useOrganizations } from '@/hooks/queries/organization'
4646import { useSubscriptionData } from '@/hooks/queries/subscription'
4747import { PROVIDER_DEFINITIONS } from '@/providers/models'
4848import { getAllProviderIds } from '@/providers/utils'
4949
5050const logger = createLogger ( 'AccessControl' )
5151
52+ interface OrgMember {
53+ userId : string
54+ user : {
55+ name : string | null
56+ email : string
57+ image ?: string | null
58+ }
59+ }
60+
5261interface AddMembersModalProps {
5362 open : boolean
5463 onOpenChange : ( open : boolean ) => void
55- availableMembers : any [ ]
64+ availableMembers : OrgMember [ ]
5665 selectedMemberIds : Set < string >
5766 setSelectedMemberIds : React . Dispatch < React . SetStateAction < Set < string > > >
5867 onAddMembers : ( ) => void
@@ -73,7 +82,7 @@ function AddMembersModal({
7382 const filteredMembers = useMemo ( ( ) => {
7483 if ( ! searchTerm . trim ( ) ) return availableMembers
7584 const query = searchTerm . toLowerCase ( )
76- return availableMembers . filter ( ( m : any ) => {
85+ return availableMembers . filter ( ( m ) => {
7786 const name = m . user ?. name || ''
7887 const email = m . user ?. email || ''
7988 return name . toLowerCase ( ) . includes ( query ) || email . toLowerCase ( ) . includes ( query )
@@ -82,12 +91,12 @@ function AddMembersModal({
8291
8392 const allFilteredSelected = useMemo ( ( ) => {
8493 if ( filteredMembers . length === 0 ) return false
85- return filteredMembers . every ( ( m : any ) => selectedMemberIds . has ( m . userId ) )
94+ return filteredMembers . every ( ( m ) => selectedMemberIds . has ( m . userId ) )
8695 } , [ filteredMembers , selectedMemberIds ] )
8796
8897 const handleToggleAll = ( ) => {
8998 if ( allFilteredSelected ) {
90- const filteredIds = new Set ( filteredMembers . map ( ( m : any ) => m . userId ) )
99+ const filteredIds = new Set ( filteredMembers . map ( ( m ) => m . userId ) )
91100 setSelectedMemberIds ( ( prev ) => {
92101 const next = new Set ( prev )
93102 filteredIds . forEach ( ( id ) => next . delete ( id ) )
@@ -96,7 +105,7 @@ function AddMembersModal({
96105 } else {
97106 setSelectedMemberIds ( ( prev ) => {
98107 const next = new Set ( prev )
99- filteredMembers . forEach ( ( m : any ) => next . add ( m . userId ) )
108+ filteredMembers . forEach ( ( m ) => next . add ( m . userId ) )
100109 return next
101110 } )
102111 }
@@ -153,7 +162,7 @@ function AddMembersModal({
153162 </ p >
154163 ) : (
155164 < div className = 'flex flex-col' >
156- { filteredMembers . map ( ( member : any ) => {
165+ { filteredMembers . map ( ( member ) => {
157166 const name = member . user ?. name || 'Unknown'
158167 const email = member . user ?. email || ''
159168 const avatarInitial = name . charAt ( 0 ) . toUpperCase ( )
@@ -466,16 +475,7 @@ export function AccessControl() {
466475 return a . name . localeCompare ( b . name )
467476 } )
468477 } , [ ] )
469- const { data : blacklistedProvidersData } = useQuery ( {
470- queryKey : [ 'blacklistedProviders' ] ,
471- queryFn : async ( { signal } ) => {
472- const res = await fetch ( '/api/settings/allowed-providers' , { signal } )
473- if ( ! res . ok ) return { blacklistedProviders : [ ] as string [ ] }
474- return res . json ( ) as Promise < { blacklistedProviders : string [ ] } >
475- } ,
476- staleTime : 5 * 60 * 1000 ,
477- enabled : showConfigModal ,
478- } )
478+ const { data : blacklistedProvidersData } = useBlacklistedProviders ( { enabled : showConfigModal } )
479479
480480 const allProviderIds = useMemo ( ( ) => {
481481 const allIds = getAllProviderIds ( )
@@ -733,7 +733,7 @@ export function AccessControl() {
733733
734734 const availableMembersToAdd = useMemo ( ( ) => {
735735 const existingMemberUserIds = new Set ( members . map ( ( m ) => m . userId ) )
736- return orgMembers . filter ( ( m : any ) => ! existingMemberUserIds . has ( m . userId ) )
736+ return orgMembers . filter ( ( m ) => ! existingMemberUserIds . has ( m . userId ) )
737737 } , [ orgMembers , members ] )
738738
739739 if ( isLoading ) {
0 commit comments