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>
24 lines
1.6 KiB
TypeScript
24 lines
1.6 KiB
TypeScript
import * as z from 'zod';
|
|
import type { Prisma } from '../../../generated/prisma';
|
|
import { CommunicationChannelSchema } from '../enums/CommunicationChannel.schema';
|
|
import { CommunicationDirectionSchema } from '../enums/CommunicationDirection.schema';
|
|
import { CommunicationStatusSchema } from '../enums/CommunicationStatus.schema';
|
|
import { CommunicationProviderSchema } from '../enums/CommunicationProvider.schema';
|
|
import { PatientCreateNestedOneWithoutCommunicationsInputObjectSchema as PatientCreateNestedOneWithoutCommunicationsInputObjectSchema } from './PatientCreateNestedOneWithoutCommunicationsInput.schema';
|
|
import { UserCreateNestedOneWithoutCommunicationsInputObjectSchema as UserCreateNestedOneWithoutCommunicationsInputObjectSchema } from './UserCreateNestedOneWithoutCommunicationsInput.schema'
|
|
|
|
const makeSchema = () => z.object({
|
|
channel: CommunicationChannelSchema,
|
|
direction: CommunicationDirectionSchema,
|
|
status: CommunicationStatusSchema,
|
|
provider: CommunicationProviderSchema.optional(),
|
|
body: z.string().optional().nullable(),
|
|
callDuration: z.number().int().optional().nullable(),
|
|
twilioSid: z.string().optional().nullable(),
|
|
createdAt: z.coerce.date().optional(),
|
|
patient: z.lazy(() => PatientCreateNestedOneWithoutCommunicationsInputObjectSchema),
|
|
user: z.lazy(() => UserCreateNestedOneWithoutCommunicationsInputObjectSchema).optional()
|
|
}).strict();
|
|
export const CommunicationCreateInputObjectSchema: z.ZodType<Prisma.CommunicationCreateInput> = makeSchema() as unknown as z.ZodType<Prisma.CommunicationCreateInput>;
|
|
export const CommunicationCreateInputObjectZodSchema = makeSchema();
|