type AccountConfig = { id: string; isMFARequired: boolean }; /** * Picks the request that persists the two-step verification setting. * * `set-my-config` only ever creates, and `iam.account_configurations` is unique * per user — so an existing record has to be updated through PUT. Getting this * backwards works exactly once and then fails on the unique constraint, which * is why the choice lives here, apart from the hook, with a test on it. */ export function twoFactorRequest( config: AccountConfig | undefined, isMFARequired: boolean, ) { return config ? { url: `/account-configurations/my-config/${config.id}`, method: "PUT" as const, body: { isMFARequired }, } : { url: "/account-configurations/set-my-config", method: "POST" as const, body: { isMFARequired }, }; }