/*
* Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.
*/
import * as z from "zod";
import { ClosedEnum } from "../types/enums.js";
import {
ConversationsAPIEntitiesReference,
ConversationsAPIEntitiesReference$zodSchema,
} from "./conversationsapientitiesreference.js";
import {
NullableSeverityMatrixConditionEntity,
NullableSeverityMatrixConditionEntity$zodSchema,
} from "./nullableseveritymatrixconditionentity.js";
import {
NullableSuccinctEntity,
NullableSuccinctEntity$zodSchema,
} from "./nullablesuccinctentity.js";
export const IncidentsImpactEntityType = {
Customer: "customer",
Environment: "environment",
Functionality: "functionality",
Service: "service",
} as const;
export type IncidentsImpactEntityType = ClosedEnum<
typeof IncidentsImpactEntityType
>;
export const IncidentsImpactEntityType$zodSchema = z.enum([
"customer",
"environment",
"functionality",
"service",
]);
export type IncidentsImpactEntity = {
id?: string | null | undefined;
type?: IncidentsImpactEntityType | null | undefined;
impact?: NullableSuccinctEntity | null | undefined;
condition?: NullableSeverityMatrixConditionEntity | null | undefined;
conversations?: Array<ConversationsAPIEntitiesReference> | null | undefined;
};
export const IncidentsImpactEntity$zodSchema: z.ZodType<IncidentsImpactEntity> =
z.object({
condition: NullableSeverityMatrixConditionEntity$zodSchema.nullable()
.optional(),
conversations: z.array(ConversationsAPIEntitiesReference$zodSchema)
.nullable().optional(),
id: z.string().nullable().optional(),
impact: NullableSuccinctEntity$zodSchema.nullable().optional(),
type: IncidentsImpactEntityType$zodSchema.nullable().optional(),
});