fix(chat): allow nullable credit fields

This commit is contained in:
2026-07-01 16:25:59 +08:00
parent 94fa3e9b7a
commit c477737c0d
+5 -5
View File
@@ -3,7 +3,7 @@
* *
*/ */
import { z } from "zod"; import { z } from "zod";
import { booleanOrFalse, stringOrNull } from "../nullable-defaults"; import { booleanOrFalse, numberOrZero, stringOrNull } from "../nullable-defaults";
import { ChatImageSchema, ChatLockDetailSchema } from "./chat_payloads"; import { ChatImageSchema, ChatLockDetailSchema } from "./chat_payloads";
export const ChatSendResponseSchema = z.object({ export const ChatSendResponseSchema = z.object({
@@ -17,10 +17,10 @@ export const ChatSendResponseSchema = z.object({
lockDetail: ChatLockDetailSchema, lockDetail: ChatLockDetailSchema,
canSendMessage: z.boolean().default(true), canSendMessage: z.boolean().default(true),
cannotSendReason: stringOrNull, cannotSendReason: stringOrNull,
creditBalance: z.number().default(0), creditBalance: numberOrZero,
creditsCharged: z.number().default(0), creditsCharged: numberOrZero,
requiredCredits: z.number().default(0), requiredCredits: numberOrZero,
shortfallCredits: z.number().default(0), shortfallCredits: numberOrZero,
}); });
export type ChatSendResponseInput = z.input<typeof ChatSendResponseSchema>; export type ChatSendResponseInput = z.input<typeof ChatSendResponseSchema>;