feat: add schedule column labels, office hours enforcement, and appointment move fix
- Schedule columns default to labels A–F (localStorage, per-browser, click to rename) - Settings → Advanced → Office Hours: configure Doctors (A-C) and Hygienists (D-F) AM/PM hours per weekday - Gray out schedule slots outside office hours; override dialog for manual exceptions - Override Office Hours toggle: select specific dates where all slots are open - Fix appointment move: send only real DB fields to avoid Zod strict-mode rejection of computed fields (hasProcedures, hasClaimWithNumber) - Fix backend PUT /appointments: safe error logging to prevent Prisma error crashing Node inspect - Add OfficeHours Prisma model and GET/PUT /api/office-hours route Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
15
packages/db/shared/schemas/groupByTwilioSettings.schema.ts
Normal file
15
packages/db/shared/schemas/groupByTwilioSettings.schema.ts
Normal file
@@ -0,0 +1,15 @@
|
||||
import type { Prisma } from '../../generated/prisma';
|
||||
import * as z from 'zod';
|
||||
import { TwilioSettingsWhereInputObjectSchema as TwilioSettingsWhereInputObjectSchema } from './objects/TwilioSettingsWhereInput.schema';
|
||||
import { TwilioSettingsOrderByWithAggregationInputObjectSchema as TwilioSettingsOrderByWithAggregationInputObjectSchema } from './objects/TwilioSettingsOrderByWithAggregationInput.schema';
|
||||
import { TwilioSettingsScalarWhereWithAggregatesInputObjectSchema as TwilioSettingsScalarWhereWithAggregatesInputObjectSchema } from './objects/TwilioSettingsScalarWhereWithAggregatesInput.schema';
|
||||
import { TwilioSettingsScalarFieldEnumSchema } from './enums/TwilioSettingsScalarFieldEnum.schema';
|
||||
import { TwilioSettingsCountAggregateInputObjectSchema as TwilioSettingsCountAggregateInputObjectSchema } from './objects/TwilioSettingsCountAggregateInput.schema';
|
||||
import { TwilioSettingsMinAggregateInputObjectSchema as TwilioSettingsMinAggregateInputObjectSchema } from './objects/TwilioSettingsMinAggregateInput.schema';
|
||||
import { TwilioSettingsMaxAggregateInputObjectSchema as TwilioSettingsMaxAggregateInputObjectSchema } from './objects/TwilioSettingsMaxAggregateInput.schema';
|
||||
import { TwilioSettingsAvgAggregateInputObjectSchema as TwilioSettingsAvgAggregateInputObjectSchema } from './objects/TwilioSettingsAvgAggregateInput.schema';
|
||||
import { TwilioSettingsSumAggregateInputObjectSchema as TwilioSettingsSumAggregateInputObjectSchema } from './objects/TwilioSettingsSumAggregateInput.schema';
|
||||
|
||||
export const TwilioSettingsGroupBySchema: z.ZodType<Prisma.TwilioSettingsGroupByArgs> = z.object({ where: TwilioSettingsWhereInputObjectSchema.optional(), orderBy: z.union([TwilioSettingsOrderByWithAggregationInputObjectSchema, TwilioSettingsOrderByWithAggregationInputObjectSchema.array()]).optional(), having: TwilioSettingsScalarWhereWithAggregatesInputObjectSchema.optional(), take: z.number().optional(), skip: z.number().optional(), by: z.array(TwilioSettingsScalarFieldEnumSchema), _count: z.union([ z.literal(true), TwilioSettingsCountAggregateInputObjectSchema ]).optional(), _min: TwilioSettingsMinAggregateInputObjectSchema.optional(), _max: TwilioSettingsMaxAggregateInputObjectSchema.optional(), _avg: TwilioSettingsAvgAggregateInputObjectSchema.optional(), _sum: TwilioSettingsSumAggregateInputObjectSchema.optional() }).strict() as unknown as z.ZodType<Prisma.TwilioSettingsGroupByArgs>;
|
||||
|
||||
export const TwilioSettingsGroupByZodSchema = z.object({ where: TwilioSettingsWhereInputObjectSchema.optional(), orderBy: z.union([TwilioSettingsOrderByWithAggregationInputObjectSchema, TwilioSettingsOrderByWithAggregationInputObjectSchema.array()]).optional(), having: TwilioSettingsScalarWhereWithAggregatesInputObjectSchema.optional(), take: z.number().optional(), skip: z.number().optional(), by: z.array(TwilioSettingsScalarFieldEnumSchema), _count: z.union([ z.literal(true), TwilioSettingsCountAggregateInputObjectSchema ]).optional(), _min: TwilioSettingsMinAggregateInputObjectSchema.optional(), _max: TwilioSettingsMaxAggregateInputObjectSchema.optional(), _avg: TwilioSettingsAvgAggregateInputObjectSchema.optional(), _sum: TwilioSettingsSumAggregateInputObjectSchema.optional() }).strict();
|
||||
Reference in New Issue
Block a user