Update homeAssistantWSRequest to accept passthrough JSON

This commit is contained in:
Justin Wong
2022-08-08 19:30:03 +08:00
parent 4c8b60905c
commit 4a80d14209
2 changed files with 11 additions and 3 deletions
+6 -1
View File
@@ -25,6 +25,7 @@ export async function homeAssistantWSRequest<T>(
hass: HomeAssistant,
schema: ZodSchema<T>,
request: MessageBase,
passthrough = false,
): Promise<T> {
let response;
try {
@@ -44,7 +45,11 @@ export async function homeAssistantWSRequest<T>(
request: request,
});
}
const parseResult = schema.safeParse(response);
// Some endpoints on the integration pass through JSON directly from Frigate
// These end up wrapped in a string and must be unwrapped first
const parseResult = passthrough
? schema.safeParse(JSON.parse(response))
: schema.safeParse(response);
if (!parseResult.success) {
throw new FrigateCardError(localize('error.invalid_response'), {
request: request,