Merged in fix/too-many-codes-error (pull request #1814)

Fix SAS OTP rate limited error

* Fix error for too many codes not showing up


Approved-by: Joakim Jäderberg
This commit is contained in:
Anton Gunnarsson
2025-04-16 11:20:20 +00:00
parent 0ab5dc1c9d
commit 009d46ebac
3 changed files with 25 additions and 22 deletions

View File

@@ -15,29 +15,31 @@ import {
import type { OtpState } from "../getOTPState"
const inputSchema = z.object({})
const outputSchema = z.object({
status: z.enum([
"VERIFIED",
"ABUSED",
"EXPIRED",
"PENDING",
"RETRY",
"SENT",
"NULL",
"NOTSENT",
]),
const successSchema = z.object({
status: z.literal("SENT"),
referenceId: z.string().uuid(),
databaseUUID: z.string().uuid(),
otpExpiration: z.number(),
otpReceiver: z.string(),
})
const failureSchema = z.object({
status: z.enum([
"VERIFIED",
"ABUSED",
"EXPIRED",
"PENDING",
"RETRY",
"NULL",
"NOTSENT",
]),
})
const outputSchema = z.union([successSchema, failureSchema])
export const requestOtp = protectedProcedure
.input(inputSchema)
.output(outputSchema)
.mutation(async function ({ ctx, input }) {
.mutation(async function () {
const sasAuthToken = getSasToken()
if (!sasAuthToken) {
@@ -63,7 +65,9 @@ export const requestOtp = protectedProcedure
throw createError(parseResult.error)
}
setSASOtpCookie(parseResult.data)
if (parseResult.data.status === "SENT") {
setSASOtpCookie(parseResult.data)
}
return parseResult.data
})