mirror of
https://github.com/temetro/temetro.git
synced 2026-08-08 17:53:15 +00:00
75940313a4
Add the activity_log table, a best-effort recordActivity() service and a GET /api/activity feed, and write entries on create/update/delete of patients, notes, appointments, prescriptions and tasks. The Activity page now shows the real audit trail (actor, action, patient context, time); the fabricated signing hashes / approval badges are gone — that vision stays deferred. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
16 lines
900 B
SQL
16 lines
900 B
SQL
CREATE TABLE "activity_log" (
|
|
"id" uuid PRIMARY KEY DEFAULT gen_random_uuid() NOT NULL,
|
|
"organization_id" text NOT NULL,
|
|
"actor_id" text,
|
|
"actor_name" text NOT NULL,
|
|
"action" text NOT NULL,
|
|
"entity_type" text NOT NULL,
|
|
"entity_id" text,
|
|
"patient_name" text,
|
|
"patient_file_number" text,
|
|
"created_at" timestamp DEFAULT now() NOT NULL
|
|
);
|
|
--> statement-breakpoint
|
|
ALTER TABLE "activity_log" ADD CONSTRAINT "activity_log_organization_id_organization_id_fk" FOREIGN KEY ("organization_id") REFERENCES "public"."organization"("id") ON DELETE cascade ON UPDATE no action;--> statement-breakpoint
|
|
ALTER TABLE "activity_log" ADD CONSTRAINT "activity_log_actor_id_user_id_fk" FOREIGN KEY ("actor_id") REFERENCES "public"."user"("id") ON DELETE set null ON UPDATE no action;--> statement-breakpoint
|
|
CREATE INDEX "activity_org_created_idx" ON "activity_log" USING btree ("organization_id","created_at"); |