{"version":3,"file":"SCIMConnectionDangerZoneSection.mjs","sources":["../../../../../../../../web/src/adminPortal/scim/SCIMConnectionDangerZoneSection.tsx"],"sourcesContent":["import { SCIMConnection } from '@stytch/core/public';\nimport React from 'react';\nimport { useSWRConfig } from 'swr';\n\nimport { Button } from '../components/Button';\nimport { FlexBox } from '../components/FlexBox';\nimport { Modal, useModalState } from '../components/Modal';\nimport { SettingsContainer } from '../components/SettingsContainer';\nimport { Typography } from '../components/Typography';\nimport { useMutateWithToast } from '../utils/useMutateWithToast';\nimport { useRbac } from '../utils/useRbac';\nimport { scimGetConnectionKey } from '../utils/useScimConnection';\nimport { useStytchClient } from '../utils/useStytchClient';\nimport { useScimRouterController } from './SCIMRouter';\n\nexport const DangerZoneSection = ({ connection }: { connection: SCIMConnection }) => {\n  const client = useStytchClient();\n  const { mutate: mutateSWR } = useSWRConfig();\n  const { useBlockNavigation } = useScimRouterController();\n  const { navigate } = useScimRouterController();\n  const { data: canDeleteScim } = useRbac('stytch.scim', 'delete');\n\n  const { mutate: deleteScimConnection } = useMutateWithToast(async (connectionId: string) => {\n    return await mutateSWR(\n      scimGetConnectionKey(connectionId),\n      async () => {\n        await client.scim.deleteConnection(connectionId);\n      },\n      {\n        populateCache: true,\n        revalidate: false,\n      },\n    );\n  });\n\n  const deleteConnectionModalProps = useModalState(async () => {\n    await deleteScimConnection(connection.connection_id);\n    navigate({ screen: 'scimConnection' });\n  });\n\n  const handleActionClick = () => {\n    deleteConnectionModalProps.open();\n  };\n\n  return canDeleteScim ? (\n    <SettingsContainer title=\"Danger zone\" useBlockNavigation={useBlockNavigation}>\n      <FlexBox flexDirection=\"column\" gap={2}>\n        <Modal\n          {...deleteConnectionModalProps}\n          title=\"Delete SCIM connection?\"\n          confirmButtonText=\"Delete connection\"\n          warning\n        >\n          <Typography variant=\"body2\">\n            Once deleted, the connection cannot be restored. All associated SCIM groups, member registrations, and group\n            role assignments will be deleted.\n          </Typography>\n        </Modal>\n        <Typography variant=\"body2\">\n          Once deleted, the connection cannot be restored. All associated SCIM groups, member registrations, and group\n          role assignments will be deleted. To create a new SCIM connection, delete the existing connection first.\n        </Typography>\n        <Button compact variant=\"ghost\" warning onClick={handleActionClick}>\n          Delete Connection\n        </Button>\n      </FlexBox>\n    </SettingsContainer>\n  ) : null;\n};\n"],"names":["DangerZoneSection","connection","client","useStytchClient","mutate","mutateSWR","useSWRConfig","useBlockNavigation","useScimRouterController","navigate","data","canDeleteScim","useRbac","deleteScimConnection","useMutateWithToast","connectionId","scimGetConnectionKey","scim","deleteConnection","populateCache","revalidate","deleteConnectionModalProps","useModalState","connection_id","screen","handleActionClick","open","React","SettingsContainer","title","FlexBox","flexDirection","gap","Modal","confirmButtonText","warning","Typography","variant","Button","compact","onClick"],"mappings":";;;;;;;;;;;;;;;AAeO,MAAMA,iBAAAA,GAAoB,CAAC,EAAEC,UAAU,EAAkC,GAAA;AAC9E,IAAA,MAAMC,MAAAA,GAASC,eAAAA,EAAAA;AACf,IAAA,MAAM,EAAEC,MAAAA,EAAQC,SAAS,EAAE,GAAGC,YAAAA,EAAAA;IAC9B,MAAM,EAAEC,kBAAkB,EAAE,GAAGC,uBAAAA,EAAAA;IAC/B,MAAM,EAAEC,QAAQ,EAAE,GAAGD,uBAAAA,EAAAA;AACrB,IAAA,MAAM,EAAEE,IAAAA,EAAMC,aAAa,EAAE,GAAGC,QAAQ,aAAA,EAAe,QAAA,CAAA;AAEvD,IAAA,MAAM,EAAER,MAAAA,EAAQS,oBAAoB,EAAE,GAAGC,mBAAmB,OAAOC,YAAAA,GAAAA;QACjE,OAAO,MAAMV,SAAAA,CACXW,oBAAAA,CAAqBD,YAAAA,CAAAA,EACrB,UAAA;AACE,YAAA,MAAMb,MAAAA,CAAOe,IAAI,CAACC,gBAAgB,CAACH,YAAAA,CAAAA;QACrC,CAAA,EACA;YACEI,aAAAA,EAAe,IAAA;YACfC,UAAAA,EAAY;AACd,SAAA,CAAA;AAEJ,IAAA,CAAA,CAAA;AAEA,IAAA,MAAMC,6BAA6BC,aAAAA,CAAc,UAAA;QAC/C,MAAMT,oBAAAA,CAAqBZ,WAAWsB,aAAa,CAAA;QACnDd,QAAAA,CAAS;YAAEe,MAAAA,EAAQ;AAAiB,SAAA,CAAA;AACtC,IAAA,CAAA,CAAA;AAEA,IAAA,MAAMC,iBAAAA,GAAoB,IAAA;AACxBJ,QAAAA,0BAAAA,CAA2BK,IAAI,EAAA;AACjC,IAAA,CAAA;AAEA,IAAA,OAAOf,8BACLgB,EAAA,CAAA,aAAA,CAACC,iBAAAA,EAAAA;QAAkBC,KAAAA,EAAM,aAAA;QAActB,kBAAAA,EAAoBA;qBACzDoB,EAAA,CAAA,aAAA,CAACG,OAAAA,EAAAA;QAAQC,aAAAA,EAAc,QAAA;QAASC,GAAAA,EAAK;qBACnCL,EAAA,CAAA,aAAA,CAACM,KAAAA,EAAAA;AACE,QAAA,GAAGZ,0BAA0B;QAC9BQ,KAAAA,EAAM,yBAAA;QACNK,iBAAAA,EAAkB,mBAAA;QAClBC,OAAAA,EAAAA;qBAEAR,EAAA,CAAA,aAAA,CAACS,UAAAA,EAAAA;QAAWC,OAAAA,EAAQ;AAAQ,KAAA,EAAA,gJAAA,CAAA,CAAA,gBAK9BV,EAAA,CAAA,aAAA,CAACS,UAAAA,EAAAA;QAAWC,OAAAA,EAAQ;AAAQ,KAAA,EAAA,uNAAA,CAAA,gBAI5BV,EAAA,CAAA,aAAA,CAACW,MAAAA,EAAAA;QAAOC,OAAAA,EAAAA,IAAAA;QAAQF,OAAAA,EAAQ,OAAA;QAAQF,OAAAA,EAAAA,IAAAA;QAAQK,OAAAA,EAASf;OAAmB,mBAAA,CAAA,CAAA,CAAA,GAKtE,IAAA;AACN;;;;"}