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>
This commit is contained in:
@@ -0,0 +1,40 @@
|
||||
import type { Prisma } from '../../generated/prisma';
|
||||
import * as z from 'zod';
|
||||
import { TelnyxSettingsIncludeObjectSchema as TelnyxSettingsIncludeObjectSchema } from './objects/TelnyxSettingsInclude.schema';
|
||||
import { TelnyxSettingsOrderByWithRelationInputObjectSchema as TelnyxSettingsOrderByWithRelationInputObjectSchema } from './objects/TelnyxSettingsOrderByWithRelationInput.schema';
|
||||
import { TelnyxSettingsWhereInputObjectSchema as TelnyxSettingsWhereInputObjectSchema } from './objects/TelnyxSettingsWhereInput.schema';
|
||||
import { TelnyxSettingsWhereUniqueInputObjectSchema as TelnyxSettingsWhereUniqueInputObjectSchema } from './objects/TelnyxSettingsWhereUniqueInput.schema';
|
||||
import { TelnyxSettingsScalarFieldEnumSchema } from './enums/TelnyxSettingsScalarFieldEnum.schema';
|
||||
|
||||
// Select schema needs to be in file to prevent circular imports
|
||||
//------------------------------------------------------
|
||||
|
||||
export const TelnyxSettingsFindManySelectSchema: z.ZodType<Prisma.TelnyxSettingsSelect> = z.object({
|
||||
id: z.boolean().optional(),
|
||||
userId: z.boolean().optional(),
|
||||
apiKey: z.boolean().optional(),
|
||||
accountSid: z.boolean().optional(),
|
||||
phoneNumber: z.boolean().optional(),
|
||||
texmlApplicationId: z.boolean().optional(),
|
||||
messagingProfileId: z.boolean().optional(),
|
||||
webhookPublicKey: z.boolean().optional(),
|
||||
greetingMessage: z.boolean().optional(),
|
||||
user: z.boolean().optional()
|
||||
}).strict() as unknown as z.ZodType<Prisma.TelnyxSettingsSelect>;
|
||||
|
||||
export const TelnyxSettingsFindManySelectZodSchema = z.object({
|
||||
id: z.boolean().optional(),
|
||||
userId: z.boolean().optional(),
|
||||
apiKey: z.boolean().optional(),
|
||||
accountSid: z.boolean().optional(),
|
||||
phoneNumber: z.boolean().optional(),
|
||||
texmlApplicationId: z.boolean().optional(),
|
||||
messagingProfileId: z.boolean().optional(),
|
||||
webhookPublicKey: z.boolean().optional(),
|
||||
greetingMessage: z.boolean().optional(),
|
||||
user: z.boolean().optional()
|
||||
}).strict();
|
||||
|
||||
export const TelnyxSettingsFindManySchema: z.ZodType<Prisma.TelnyxSettingsFindManyArgs> = z.object({ select: TelnyxSettingsFindManySelectSchema.optional(), include: z.lazy(() => TelnyxSettingsIncludeObjectSchema.optional()), orderBy: z.union([TelnyxSettingsOrderByWithRelationInputObjectSchema, TelnyxSettingsOrderByWithRelationInputObjectSchema.array()]).optional(), where: TelnyxSettingsWhereInputObjectSchema.optional(), cursor: TelnyxSettingsWhereUniqueInputObjectSchema.optional(), take: z.number().optional(), skip: z.number().optional(), distinct: z.union([TelnyxSettingsScalarFieldEnumSchema, TelnyxSettingsScalarFieldEnumSchema.array()]).optional() }).strict() as unknown as z.ZodType<Prisma.TelnyxSettingsFindManyArgs>;
|
||||
|
||||
export const TelnyxSettingsFindManyZodSchema = z.object({ select: TelnyxSettingsFindManySelectSchema.optional(), include: z.lazy(() => TelnyxSettingsIncludeObjectSchema.optional()), orderBy: z.union([TelnyxSettingsOrderByWithRelationInputObjectSchema, TelnyxSettingsOrderByWithRelationInputObjectSchema.array()]).optional(), where: TelnyxSettingsWhereInputObjectSchema.optional(), cursor: TelnyxSettingsWhereUniqueInputObjectSchema.optional(), take: z.number().optional(), skip: z.number().optional(), distinct: z.union([TelnyxSettingsScalarFieldEnumSchema, TelnyxSettingsScalarFieldEnumSchema.array()]).optional() }).strict();
|
||||
Reference in New Issue
Block a user