OidcSecuritySetting.jsx 1.2 KB

12345678910111213141516171819202122232425262728293031323334353637383940
  1. import React, { useCallback, useEffect } from 'react';
  2. import PropTypes from 'prop-types';
  3. import AdminOidcSecurityContainer from '~/client/services/AdminOidcSecurityContainer';
  4. import { toastError } from '~/client/util/toastr';
  5. import { toArrayIfNot } from '~/utils/array-utils';
  6. import { withUnstatedContainers } from '../../UnstatedUtils';
  7. import OidcSecurityManagementContents from './OidcSecuritySettingContents';
  8. const OidcSecurityManagement = (props) => {
  9. const { adminOidcSecurityContainer } = props;
  10. const fetchOidcSecuritySettingsData = useCallback(async () => {
  11. try {
  12. await adminOidcSecurityContainer.retrieveSecurityData();
  13. } catch (err) {
  14. const errs = toArrayIfNot(err);
  15. toastError(errs);
  16. }
  17. }, [adminOidcSecurityContainer]);
  18. useEffect(() => {
  19. fetchOidcSecuritySettingsData();
  20. }, [fetchOidcSecuritySettingsData]);
  21. return <OidcSecurityManagementContents />;
  22. };
  23. OidcSecurityManagement.propTypes = {
  24. adminOidcSecurityContainer: PropTypes.instanceOf(AdminOidcSecurityContainer)
  25. .isRequired,
  26. };
  27. const OidcSecurityManagementWithUnstatedContainer = withUnstatedContainers(
  28. OidcSecurityManagement,
  29. [AdminOidcSecurityContainer],
  30. );
  31. export default OidcSecurityManagementWithUnstatedContainer;