Files
DentalManagement09/packages/db/shared/schemas/objects/CommunicationWhereInput.schema.ts
T
GiteadandClaude Sonnet 5 79ac6aaa31 feat: migrate SMS/voice to Telnyx (TeXML), keep browser dial pad on Twilio
Twilio now handles only the in-browser dial pad (Access Token + browser-Device
outbound TwiML); Telnyx takes over SMS, inbound voicemail, the AI voice
conversation loop, and staff-triggered outbound calls via TeXML. Adds
TelnyxSettings model, Communication.provider discriminator, new comms/routes
modules, and a real Telnyx Settings page.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
2026-09-03 15:39:43 -04:00

40 lines
4.0 KiB
TypeScript

import * as z from 'zod';
import type { Prisma } from '../../../generated/prisma';
import { IntFilterObjectSchema as IntFilterObjectSchema } from './IntFilter.schema';
import { IntNullableFilterObjectSchema as IntNullableFilterObjectSchema } from './IntNullableFilter.schema';
import { EnumCommunicationChannelFilterObjectSchema as EnumCommunicationChannelFilterObjectSchema } from './EnumCommunicationChannelFilter.schema';
import { CommunicationChannelSchema } from '../enums/CommunicationChannel.schema';
import { EnumCommunicationDirectionFilterObjectSchema as EnumCommunicationDirectionFilterObjectSchema } from './EnumCommunicationDirectionFilter.schema';
import { CommunicationDirectionSchema } from '../enums/CommunicationDirection.schema';
import { EnumCommunicationStatusFilterObjectSchema as EnumCommunicationStatusFilterObjectSchema } from './EnumCommunicationStatusFilter.schema';
import { CommunicationStatusSchema } from '../enums/CommunicationStatus.schema';
import { EnumCommunicationProviderFilterObjectSchema as EnumCommunicationProviderFilterObjectSchema } from './EnumCommunicationProviderFilter.schema';
import { CommunicationProviderSchema } from '../enums/CommunicationProvider.schema';
import { StringNullableFilterObjectSchema as StringNullableFilterObjectSchema } from './StringNullableFilter.schema';
import { DateTimeFilterObjectSchema as DateTimeFilterObjectSchema } from './DateTimeFilter.schema';
import { PatientScalarRelationFilterObjectSchema as PatientScalarRelationFilterObjectSchema } from './PatientScalarRelationFilter.schema';
import { PatientWhereInputObjectSchema as PatientWhereInputObjectSchema } from './PatientWhereInput.schema';
import { UserNullableScalarRelationFilterObjectSchema as UserNullableScalarRelationFilterObjectSchema } from './UserNullableScalarRelationFilter.schema';
import { UserWhereInputObjectSchema as UserWhereInputObjectSchema } from './UserWhereInput.schema'
const communicationwhereinputSchema = z.object({
AND: z.union([z.lazy(() => CommunicationWhereInputObjectSchema), z.lazy(() => CommunicationWhereInputObjectSchema).array()]).optional(),
OR: z.lazy(() => CommunicationWhereInputObjectSchema).array().optional(),
NOT: z.union([z.lazy(() => CommunicationWhereInputObjectSchema), z.lazy(() => CommunicationWhereInputObjectSchema).array()]).optional(),
id: z.union([z.lazy(() => IntFilterObjectSchema), z.number().int()]).optional(),
patientId: z.union([z.lazy(() => IntFilterObjectSchema), z.number().int()]).optional(),
userId: z.union([z.lazy(() => IntNullableFilterObjectSchema), z.number().int()]).optional().nullable(),
channel: z.union([z.lazy(() => EnumCommunicationChannelFilterObjectSchema), CommunicationChannelSchema]).optional(),
direction: z.union([z.lazy(() => EnumCommunicationDirectionFilterObjectSchema), CommunicationDirectionSchema]).optional(),
status: z.union([z.lazy(() => EnumCommunicationStatusFilterObjectSchema), CommunicationStatusSchema]).optional(),
provider: z.union([z.lazy(() => EnumCommunicationProviderFilterObjectSchema), CommunicationProviderSchema]).optional(),
body: z.union([z.lazy(() => StringNullableFilterObjectSchema), z.string()]).optional().nullable(),
callDuration: z.union([z.lazy(() => IntNullableFilterObjectSchema), z.number().int()]).optional().nullable(),
twilioSid: z.union([z.lazy(() => StringNullableFilterObjectSchema), z.string()]).optional().nullable(),
createdAt: z.union([z.lazy(() => DateTimeFilterObjectSchema), z.coerce.date()]).optional(),
patient: z.union([z.lazy(() => PatientScalarRelationFilterObjectSchema), z.lazy(() => PatientWhereInputObjectSchema)]).optional(),
user: z.union([z.lazy(() => UserNullableScalarRelationFilterObjectSchema), z.lazy(() => UserWhereInputObjectSchema)]).optional()
}).strict();
export const CommunicationWhereInputObjectSchema: z.ZodType<Prisma.CommunicationWhereInput> = communicationwhereinputSchema as unknown as z.ZodType<Prisma.CommunicationWhereInput>;
export const CommunicationWhereInputObjectZodSchema = communicationwhereinputSchema;