{"version":3,"file":"useConnections.mjs","sources":["../../../../../../../../web/src/adminPortal/utils/useConnections.ts"],"sourcesContent":["import { useMemo } from 'react';\n\nimport { collator } from './collator';\nimport { Connection } from './Connection';\nimport { useOrgInfo } from './useOrgInfo';\nimport { useSsoConnections } from './useSsoConnections';\n\nexport const useConnections = (canGetSso: boolean) => {\n  const ssoConnections = useSsoConnections({ shouldFetch: canGetSso });\n\n  const orgInfo = useOrgInfo();\n  const defaultConnectionId = orgInfo.data?.sso_default_connection_id;\n\n  const connections = useMemo(() => {\n    return ssoConnections.data\n      ? [\n          ...ssoConnections.data.saml_connections.map((c) => ({\n            connectionType: 'saml' as const,\n            ...c,\n          })),\n          ...ssoConnections.data.oidc_connections.map((c) => ({\n            connectionType: 'oidc' as const,\n            ...c,\n          })),\n          ...ssoConnections.data.external_connections.map((c) => ({\n            connectionType: 'external' as const,\n            ...c,\n          })),\n        ]\n          .map((connection) => {\n            return {\n              displayName: connection.display_name,\n              idp: 'identity_provider' in connection ? connection.identity_provider : undefined,\n              connectionType: connection.connectionType,\n              status: connection.status,\n              id: connection.connection_id,\n              isDefault: connection.connection_id === defaultConnectionId,\n            } satisfies Connection;\n          })\n          .sort((a, b) => collator.compare(a.displayName, b.displayName))\n      : [];\n  }, [defaultConnectionId, ssoConnections.data]);\n\n  return { connections, isLoading: ssoConnections.isLoading };\n};\n"],"names":["useConnections","canGetSso","ssoConnections","useSsoConnections","shouldFetch","orgInfo","useOrgInfo","defaultConnectionId","data","sso_default_connection_id","connections","useMemo","saml_connections","map","c","connectionType","oidc_connections","external_connections","connection","displayName","display_name","idp","identity_provider","undefined","status","id","connection_id","isDefault","sort","a","b","collator","compare","isLoading"],"mappings":";;;;;;AAOO,MAAMA,iBAAiB,CAACC,SAAAA,GAAAA;AAC7B,IAAA,MAAMC,iBAAiBC,iBAAAA,CAAkB;QAAEC,WAAAA,EAAaH;AAAU,KAAA,CAAA;AAElE,IAAA,MAAMI,OAAAA,GAAUC,UAAAA,EAAAA;IAChB,MAAMC,mBAAAA,GAAsBF,OAAAA,CAAQG,IAAI,EAAEC,yBAAAA;AAE1C,IAAA,MAAMC,cAAcC,CAAAA,CAAQ,IAAA;QAC1B,OAAOT,cAAAA,CAAeM,IAAI,GACtB;eACKN,cAAAA,CAAeM,IAAI,CAACI,gBAAgB,CAACC,GAAG,CAAC,CAACC,KAAO;oBAClDC,cAAAA,EAAgB,MAAA;AAChB,oBAAA,GAAGD;iBACL,CAAA,CAAA;eACGZ,cAAAA,CAAeM,IAAI,CAACQ,gBAAgB,CAACH,GAAG,CAAC,CAACC,KAAO;oBAClDC,cAAAA,EAAgB,MAAA;AAChB,oBAAA,GAAGD;iBACL,CAAA,CAAA;eACGZ,cAAAA,CAAeM,IAAI,CAACS,oBAAoB,CAACJ,GAAG,CAAC,CAACC,KAAO;oBACtDC,cAAAA,EAAgB,UAAA;AAChB,oBAAA,GAAGD;iBACL,CAAA;SACD,CACED,GAAG,CAAC,CAACK,UAAAA,GAAAA;YACJ,OAAO;AACLC,gBAAAA,WAAAA,EAAaD,WAAWE,YAAY;AACpCC,gBAAAA,GAAAA,EAAK,mBAAA,IAAuBH,UAAAA,GAAaA,UAAAA,CAAWI,iBAAiB,GAAGC,SAAAA;AACxER,gBAAAA,cAAAA,EAAgBG,WAAWH,cAAc;AACzCS,gBAAAA,MAAAA,EAAQN,WAAWM,MAAM;AACzBC,gBAAAA,EAAAA,EAAIP,WAAWQ,aAAa;gBAC5BC,SAAAA,EAAWT,UAAAA,CAAWQ,aAAa,KAAKnB;AAC1C,aAAA;AACF,QAAA,CAAA,CAAA,CACCqB,IAAI,CAAC,CAACC,CAAAA,EAAGC,IAAMC,QAAAA,CAASC,OAAO,CAACH,CAAAA,CAAEV,WAAW,EAAEW,CAAAA,CAAEX,WAAW,KAC/D,EAAE;IACR,CAAA,EAAG;AAACZ,QAAAA,mBAAAA;AAAqBL,QAAAA,cAAAA,CAAeM;AAAK,KAAA,CAAA;IAE7C,OAAO;AAAEE,QAAAA,WAAAA;AAAauB,QAAAA,SAAAA,EAAW/B,eAAe+B;AAAU,KAAA;AAC5D;;;;"}