misc: add handling for lease regen

This commit is contained in:
Sheen Capadngan
2024-11-21 04:43:21 +08:00
parent 00dcadbc08
commit 662e588c22
@@ -65,11 +65,11 @@ const OutputDisplay = ({
const TotpOutputDisplay = ({ const TotpOutputDisplay = ({
totp, totp,
remainingSeconds, remainingSeconds,
triggerLeaseCreation triggerLeaseRegeneration
}: { }: {
totp: string; totp: string;
remainingSeconds: number; remainingSeconds: number;
triggerLeaseCreation: (details: { ttl?: string }) => Promise<void>; triggerLeaseRegeneration: (details: { ttl?: string }) => Promise<void>;
}) => { }) => {
const [remainingTime, setRemainingTime] = useState(remainingSeconds); const [remainingTime, setRemainingTime] = useState(remainingSeconds);
const [shouldShowRegenerate, setShouldShowRegenerate] = useToggle(false); const [shouldShowRegenerate, setShouldShowRegenerate] = useToggle(false);
@@ -103,7 +103,11 @@ const TotpOutputDisplay = ({
</div> </div>
)} )}
{shouldShowRegenerate && ( {shouldShowRegenerate && (
<Button colorSchema="secondary" className="mt-2" onClick={() => triggerLeaseCreation({})}> <Button
colorSchema="secondary"
className="mt-2"
onClick={() => triggerLeaseRegeneration({})}
>
Regenerate Regenerate
</Button> </Button>
)} )}
@@ -114,7 +118,7 @@ const TotpOutputDisplay = ({
const renderOutputForm = ( const renderOutputForm = (
provider: DynamicSecretProviders, provider: DynamicSecretProviders,
data: unknown, data: unknown,
triggerLeaseCreation: (details: { ttl?: string }) => Promise<void> triggerLeaseRegeneration: (details: { ttl?: string }) => Promise<void>
) => { ) => {
if ( if (
provider === DynamicSecretProviders.SqlDatabase || provider === DynamicSecretProviders.SqlDatabase ||
@@ -313,7 +317,7 @@ const renderOutputForm = (
<TotpOutputDisplay <TotpOutputDisplay
totp={TOTP} totp={TOTP}
remainingSeconds={TIME_REMAINING} remainingSeconds={TIME_REMAINING}
triggerLeaseCreation={triggerLeaseCreation} triggerLeaseRegeneration={triggerLeaseRegeneration}
/> />
); );
} }
@@ -390,6 +394,11 @@ export const CreateDynamicSecretLease = ({
} }
}; };
const handleLeaseRegeneration = async (data: { ttl?: string }) => {
setIsPreloading.on();
handleDynamicSecretLeaseCreate(data);
};
useEffect(() => { useEffect(() => {
if (provider === DynamicSecretProviders.Totp) { if (provider === DynamicSecretProviders.Totp) {
handleDynamicSecretLeaseCreate({}); handleDynamicSecretLeaseCreate({});
@@ -450,7 +459,7 @@ export const CreateDynamicSecretLease = ({
{renderOutputForm( {renderOutputForm(
provider, provider,
createDynamicSecretLease.data?.data, createDynamicSecretLease.data?.data,
handleDynamicSecretLeaseCreate handleLeaseRegeneration
)} )}
</motion.div> </motion.div>
)} )}