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:
Gitead
2026-05-05 09:15:18 -04:00
parent 70ffd8398b
commit 2312ad66ca
465 changed files with 11834 additions and 1461 deletions

View File

@@ -310,3 +310,42 @@ export { PatientDocumentDeleteManyResultSchema } from './PatientDocumentDeleteMa
export { PatientDocumentAggregateResultSchema } from './PatientDocumentAggregateResult.schema';
export { PatientDocumentGroupByResultSchema } from './PatientDocumentGroupByResult.schema';
export { PatientDocumentCountResultSchema } from './PatientDocumentCountResult.schema';
export { TwilioSettingsFindUniqueResultSchema } from './TwilioSettingsFindUniqueResult.schema';
export { TwilioSettingsFindFirstResultSchema } from './TwilioSettingsFindFirstResult.schema';
export { TwilioSettingsFindManyResultSchema } from './TwilioSettingsFindManyResult.schema';
export { TwilioSettingsCreateResultSchema } from './TwilioSettingsCreateResult.schema';
export { TwilioSettingsCreateManyResultSchema } from './TwilioSettingsCreateManyResult.schema';
export { TwilioSettingsUpdateResultSchema } from './TwilioSettingsUpdateResult.schema';
export { TwilioSettingsUpdateManyResultSchema } from './TwilioSettingsUpdateManyResult.schema';
export { TwilioSettingsUpsertResultSchema } from './TwilioSettingsUpsertResult.schema';
export { TwilioSettingsDeleteResultSchema } from './TwilioSettingsDeleteResult.schema';
export { TwilioSettingsDeleteManyResultSchema } from './TwilioSettingsDeleteManyResult.schema';
export { TwilioSettingsAggregateResultSchema } from './TwilioSettingsAggregateResult.schema';
export { TwilioSettingsGroupByResultSchema } from './TwilioSettingsGroupByResult.schema';
export { TwilioSettingsCountResultSchema } from './TwilioSettingsCountResult.schema';
export { AiSettingsFindUniqueResultSchema } from './AiSettingsFindUniqueResult.schema';
export { AiSettingsFindFirstResultSchema } from './AiSettingsFindFirstResult.schema';
export { AiSettingsFindManyResultSchema } from './AiSettingsFindManyResult.schema';
export { AiSettingsCreateResultSchema } from './AiSettingsCreateResult.schema';
export { AiSettingsCreateManyResultSchema } from './AiSettingsCreateManyResult.schema';
export { AiSettingsUpdateResultSchema } from './AiSettingsUpdateResult.schema';
export { AiSettingsUpdateManyResultSchema } from './AiSettingsUpdateManyResult.schema';
export { AiSettingsUpsertResultSchema } from './AiSettingsUpsertResult.schema';
export { AiSettingsDeleteResultSchema } from './AiSettingsDeleteResult.schema';
export { AiSettingsDeleteManyResultSchema } from './AiSettingsDeleteManyResult.schema';
export { AiSettingsAggregateResultSchema } from './AiSettingsAggregateResult.schema';
export { AiSettingsGroupByResultSchema } from './AiSettingsGroupByResult.schema';
export { AiSettingsCountResultSchema } from './AiSettingsCountResult.schema';
export { OfficeHoursFindUniqueResultSchema } from './OfficeHoursFindUniqueResult.schema';
export { OfficeHoursFindFirstResultSchema } from './OfficeHoursFindFirstResult.schema';
export { OfficeHoursFindManyResultSchema } from './OfficeHoursFindManyResult.schema';
export { OfficeHoursCreateResultSchema } from './OfficeHoursCreateResult.schema';
export { OfficeHoursCreateManyResultSchema } from './OfficeHoursCreateManyResult.schema';
export { OfficeHoursUpdateResultSchema } from './OfficeHoursUpdateResult.schema';
export { OfficeHoursUpdateManyResultSchema } from './OfficeHoursUpdateManyResult.schema';
export { OfficeHoursUpsertResultSchema } from './OfficeHoursUpsertResult.schema';
export { OfficeHoursDeleteResultSchema } from './OfficeHoursDeleteResult.schema';
export { OfficeHoursDeleteManyResultSchema } from './OfficeHoursDeleteManyResult.schema';
export { OfficeHoursAggregateResultSchema } from './OfficeHoursAggregateResult.schema';
export { OfficeHoursGroupByResultSchema } from './OfficeHoursGroupByResult.schema';
export { OfficeHoursCountResultSchema } from './OfficeHoursCountResult.schema';