refactor: update localpersistance schema

This commit is contained in:
nivedin
2023-12-11 17:36:47 +05:30
committed by Andrew Bastin
parent 08b6e0b747
commit 6526247869

View File

@@ -3,7 +3,9 @@ import {
GQLHeader,
HoppGQLAuth,
HoppGQLRequest,
HoppRESTAuth,
HoppRESTRequest,
HoppRESTHeaders,
} from "@hoppscotch/data"
import { entityReference } from "verzod"
import { z } from "zod"
@@ -62,12 +64,18 @@ const HoppGQLRequestSchema = entityReference(HoppGQLRequest)
const HoppRESTCollectionSchema = HoppCollectionSchemaCommonProps.extend({
folders: z.array(z.lazy(() => HoppRESTCollectionSchema)),
requests: z.optional(z.array(HoppRESTRequestSchema)),
auth: z.optional(HoppRESTAuth),
headers: z.optional(HoppRESTHeaders),
}).strict()
// @ts-expect-error recursive schema
const HoppGQLCollectionSchema = HoppCollectionSchemaCommonProps.extend({
folders: z.array(z.lazy(() => HoppGQLCollectionSchema)),
requests: z.optional(z.array(HoppGQLRequestSchema)),
auth: z.optional(HoppGQLAuth),
headers: z.optional(z.array(GQLHeader)),
}).strict()
export const VUEX_SCHEMA = z.object({
@@ -276,6 +284,23 @@ const validGqlOperations = [
"authorization",
] as const
const HoppInheritedPropertySchema = z
.object({
auth: z.object({
parentID: z.string(),
parentName: z.string(),
inheritedAuth: z.union([HoppRESTAuth, HoppGQLAuth]),
}),
headers: z.array(
z.object({
parentID: z.string(),
parentName: z.string(),
inheritedHeader: z.union([HoppRESTHeaders, GQLHeader]),
})
),
})
.strict()
export const GQL_TAB_STATE_SCHEMA = z
.object({
lastActiveTabID: z.string(),
@@ -291,6 +316,7 @@ export const GQL_TAB_STATE_SCHEMA = z
response: z.optional(z.nullable(GQLResponseEventSchema)),
responseTabPreference: z.optional(z.string()),
optionTabPreference: z.optional(z.enum(validGqlOperations)),
inheritedProperties: z.optional(HoppInheritedPropertySchema),
})
.strict(),
})
@@ -462,6 +488,7 @@ export const REST_TAB_STATE_SCHEMA = z
testResults: z.optional(z.nullable(HoppTestResultSchema)),
responseTabPreference: z.optional(z.string()),
optionTabPreference: z.optional(z.enum(validRestOperations)),
inheritedProperties: z.optional(HoppInheritedPropertySchema),
})
.strict(),
})