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:
File diff suppressed because one or more lines are too long
@@ -401,6 +401,28 @@ exports.Prisma.PatientDocumentScalarFieldEnum = {
|
||||
updatedAt: 'updatedAt'
|
||||
};
|
||||
|
||||
exports.Prisma.TwilioSettingsScalarFieldEnum = {
|
||||
id: 'id',
|
||||
userId: 'userId',
|
||||
accountSid: 'accountSid',
|
||||
authToken: 'authToken',
|
||||
phoneNumber: 'phoneNumber',
|
||||
greetingMessage: 'greetingMessage',
|
||||
templates: 'templates'
|
||||
};
|
||||
|
||||
exports.Prisma.AiSettingsScalarFieldEnum = {
|
||||
id: 'id',
|
||||
userId: 'userId',
|
||||
apiKey: 'apiKey'
|
||||
};
|
||||
|
||||
exports.Prisma.OfficeHoursScalarFieldEnum = {
|
||||
id: 'id',
|
||||
userId: 'userId',
|
||||
data: 'data'
|
||||
};
|
||||
|
||||
exports.Prisma.SortOrder = {
|
||||
asc: 'asc',
|
||||
desc: 'desc'
|
||||
@@ -411,6 +433,10 @@ exports.Prisma.NullableJsonNullValueInput = {
|
||||
JsonNull: Prisma.JsonNull
|
||||
};
|
||||
|
||||
exports.Prisma.JsonNullValueInput = {
|
||||
JsonNull: Prisma.JsonNull
|
||||
};
|
||||
|
||||
exports.Prisma.QueryMode = {
|
||||
default: 'default',
|
||||
insensitive: 'insensitive'
|
||||
@@ -538,7 +564,10 @@ exports.Prisma.ModelName = {
|
||||
CloudFile: 'CloudFile',
|
||||
CloudFileChunk: 'CloudFileChunk',
|
||||
Communication: 'Communication',
|
||||
PatientDocument: 'PatientDocument'
|
||||
PatientDocument: 'PatientDocument',
|
||||
TwilioSettings: 'TwilioSettings',
|
||||
AiSettings: 'AiSettings',
|
||||
OfficeHours: 'OfficeHours'
|
||||
};
|
||||
|
||||
/**
|
||||
|
||||
4871
packages/db/generated/prisma/index.d.ts
vendored
4871
packages/db/generated/prisma/index.d.ts
vendored
File diff suppressed because it is too large
Load Diff
File diff suppressed because one or more lines are too long
@@ -1,5 +1,5 @@
|
||||
{
|
||||
"name": "prisma-client-22655c07aa39745227b4db21e1a272ed33f573d246376a2497ebde7ea0c156fb",
|
||||
"name": "prisma-client-db87bf66545e77505291e1e9a0077b158237c6d88a3205c70a049bfe0bf44c4f",
|
||||
"main": "index.js",
|
||||
"types": "index.d.ts",
|
||||
"browser": "default.js",
|
||||
|
||||
@@ -37,6 +37,9 @@ model User {
|
||||
cloudFolders CloudFolder[]
|
||||
cloudFiles CloudFile[]
|
||||
communications Communication[]
|
||||
twilioSettings TwilioSettings?
|
||||
aiSettings AiSettings?
|
||||
officeHours OfficeHours?
|
||||
}
|
||||
|
||||
model Patient {
|
||||
@@ -543,3 +546,37 @@ model PatientDocument {
|
||||
@@index([patientId])
|
||||
@@index([uploadedAt])
|
||||
}
|
||||
|
||||
model TwilioSettings {
|
||||
id Int @id @default(autoincrement())
|
||||
userId Int @unique
|
||||
accountSid String
|
||||
authToken String
|
||||
phoneNumber String
|
||||
greetingMessage String?
|
||||
templates Json?
|
||||
|
||||
user User @relation(fields: [userId], references: [id], onDelete: Cascade)
|
||||
|
||||
@@map("twilio_settings")
|
||||
}
|
||||
|
||||
model AiSettings {
|
||||
id Int @id @default(autoincrement())
|
||||
userId Int @unique
|
||||
apiKey String
|
||||
|
||||
user User @relation(fields: [userId], references: [id], onDelete: Cascade)
|
||||
|
||||
@@map("ai_settings")
|
||||
}
|
||||
|
||||
model OfficeHours {
|
||||
id Int @id @default(autoincrement())
|
||||
userId Int @unique
|
||||
data Json
|
||||
|
||||
user User @relation(fields: [userId], references: [id], onDelete: Cascade)
|
||||
|
||||
@@map("office_hours")
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user