diff --git a/convex/usbPolicy.ts b/convex/usbPolicy.ts index 8bfefb8..e14d9b0 100644 --- a/convex/usbPolicy.ts +++ b/convex/usbPolicy.ts @@ -70,10 +70,14 @@ export const reportUsbPolicyStatus = mutation({ args: { machineToken: v.string(), status: v.string(), - error: v.optional(v.string()), - currentPolicy: v.optional(v.string()), + // Rust envia null para Option::None, entao precisamos aceitar null tambem + error: v.optional(v.union(v.string(), v.null())), + currentPolicy: v.optional(v.union(v.string(), v.null())), }, handler: async (ctx, args) => { + // Converte null para undefined para uso interno + const errorValue = args.error ?? undefined + const currentPolicyValue = args.currentPolicy ?? undefined const tokenHash = hashToken(args.machineToken) const tokenRecord = await ctx.db @@ -102,7 +106,7 @@ export const reportUsbPolicyStatus = mutation({ await ctx.db.patch(machine._id, { usbPolicyStatus: args.status, - usbPolicyError: args.error, + usbPolicyError: errorValue, usbPolicyReportedAt: now, updatedAt: now, }) @@ -116,7 +120,7 @@ export const reportUsbPolicyStatus = mutation({ if (latestEvent && latestEvent.status === "PENDING") { await ctx.db.patch(latestEvent._id, { status: args.status, - error: args.error, + error: errorValue, appliedAt: args.status === "APPLIED" ? now : undefined, }) }