diff --git a/server/private/routers/approvals/processPendingApproval.ts b/server/private/routers/approvals/processPendingApproval.ts index 24e0940d..43639dd7 100644 --- a/server/private/routers/approvals/processPendingApproval.ts +++ b/server/private/routers/approvals/processPendingApproval.ts @@ -22,7 +22,7 @@ import { approvals, clients, db, orgs, type Approval } from "@server/db"; import { getOrgTierData } from "@server/lib/billing"; import { TierId } from "@server/lib/billing/tiers"; import response from "@server/lib/response"; -import { and, eq } from "drizzle-orm"; +import { and, eq, type InferInsertModel } from "drizzle-orm"; import type { NextFunction, Request, Response } from "express"; const paramsSchema = z.strictObject({ @@ -112,12 +112,17 @@ export async function processPendingApproval( updatedApproval.type === "user_device" && updatedApproval.clientId ) { + const updateDataBody: Partial> = { + approvalState: updateData.decision + }; + + if (updateData.decision === "denied") { + updateDataBody.blocked = true; + } + await db .update(clients) - .set({ - approvalState: updateData.decision, - blocked: updateData.decision == "denied" - }) + .set(updateDataBody) .where(eq(clients.clientId, updatedApproval.clientId)); } diff --git a/server/routers/client/unblockClient.ts b/server/routers/client/unblockClient.ts index 82b608a2..a16a1030 100644 --- a/server/routers/client/unblockClient.ts +++ b/server/routers/client/unblockClient.ts @@ -71,7 +71,7 @@ export async function unblockClient( // Unblock the client await db .update(clients) - .set({ blocked: false }) + .set({ blocked: false, approvalState: null }) .where(eq(clients.clientId, clientId)); return response(res, {