feat: add per-patient Local folder in Documents page backed by Cloud Storage
- Documents page shows a "Local Folder" card for each selected patient
with an "Open in Cloud Storage" button that deep-links to their folder
- Cloud Storage page reads ?folderId URL param on mount and auto-opens
the folder panel for seamless navigation from Documents
- Backend: GET /api/cloud-storage/patient-folder/:patientId endpoint
that idempotently gets or creates a top-level CloudFolder per patient
- CloudFolder schema gains optional patientId field linked to Patient
- Disk directories for cloud storage folders now use the folder's name
(e.g. "Xiaohui Wang/") instead of the opaque "folder-{id}/" path
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
@@ -17,7 +17,8 @@ import { PaymentListRelationFilterObjectSchema as PaymentListRelationFilterObjec
|
||||
import { CommunicationListRelationFilterObjectSchema as CommunicationListRelationFilterObjectSchema } from './CommunicationListRelationFilter.schema';
|
||||
import { PatientDocumentListRelationFilterObjectSchema as PatientDocumentListRelationFilterObjectSchema } from './PatientDocumentListRelationFilter.schema';
|
||||
import { PatientConversationNullableScalarRelationFilterObjectSchema as PatientConversationNullableScalarRelationFilterObjectSchema } from './PatientConversationNullableScalarRelationFilter.schema';
|
||||
import { PatientConversationWhereInputObjectSchema as PatientConversationWhereInputObjectSchema } from './PatientConversationWhereInput.schema'
|
||||
import { PatientConversationWhereInputObjectSchema as PatientConversationWhereInputObjectSchema } from './PatientConversationWhereInput.schema';
|
||||
import { CloudFolderListRelationFilterObjectSchema as CloudFolderListRelationFilterObjectSchema } from './CloudFolderListRelationFilter.schema'
|
||||
|
||||
const patientwhereinputSchema = z.object({
|
||||
AND: z.union([z.lazy(() => PatientWhereInputObjectSchema), z.lazy(() => PatientWhereInputObjectSchema).array()]).optional(),
|
||||
@@ -52,7 +53,8 @@ const patientwhereinputSchema = z.object({
|
||||
payment: z.lazy(() => PaymentListRelationFilterObjectSchema).optional(),
|
||||
communications: z.lazy(() => CommunicationListRelationFilterObjectSchema).optional(),
|
||||
documents: z.lazy(() => PatientDocumentListRelationFilterObjectSchema).optional(),
|
||||
conversation: z.union([z.lazy(() => PatientConversationNullableScalarRelationFilterObjectSchema), z.lazy(() => PatientConversationWhereInputObjectSchema)]).optional()
|
||||
conversation: z.union([z.lazy(() => PatientConversationNullableScalarRelationFilterObjectSchema), z.lazy(() => PatientConversationWhereInputObjectSchema)]).optional(),
|
||||
cloudFolders: z.lazy(() => CloudFolderListRelationFilterObjectSchema).optional()
|
||||
}).strict();
|
||||
export const PatientWhereInputObjectSchema: z.ZodType<Prisma.PatientWhereInput> = patientwhereinputSchema as unknown as z.ZodType<Prisma.PatientWhereInput>;
|
||||
export const PatientWhereInputObjectZodSchema = patientwhereinputSchema;
|
||||
|
||||
Reference in New Issue
Block a user