api.spaceplanner.app

Spaceplanner API
git clone git://jacobedwards.org/api.spaceplanner.app
Log | Files | Refs

commit 0e03acf03307739378e2bc5b81374793b443f2b4
parent 212fd61942353bc63f6f1274e080eb3b2db33e7a
Author: Jacob R. Edwards <jacob@jacobedwards.org>
Date:   Tue, 22 Oct 2024 10:27:30 -0700

Trigger to update floorplan updated column

This will allow sorted by last updated, etc.

Diffstat:
Acmd/api/migration/2024-10-22T16:58:39.sql | 39+++++++++++++++++++++++++++++++++++++++
1 file changed, 39 insertions(+), 0 deletions(-)

diff --git a/cmd/api/migration/2024-10-22T16:58:39.sql b/cmd/api/migration/2024-10-22T16:58:39.sql @@ -0,0 +1,39 @@ +BEGIN; + +CREATE FUNCTION spaceplanner.modified_floorplan() + RETURNS trigger AS $modified_floorplan$ + BEGIN + IF (TG_OP = 'DELETE') THEN + UPDATE spaceplanner.floorplans + SET updated = now() + WHERE id = OLD.floorplan; + ELSE + UPDATE spaceplanner.floorplans + SET updated = now() + WHERE id = OLD.floorplan; + END IF; + RETURN NEW; + END; + $modified_floorplan$ LANGUAGE plpgsql; + +CREATE TRIGGER updated_points + AFTER INSERT OR UPDATE OR DELETE ON spaceplanner.floorplan_points + FOR EACH ROW + EXECUTE FUNCTION spaceplanner.modified_floorplan(); + +CREATE TRIGGER updated_pointmaps + AFTER INSERT OR UPDATE OR DELETE ON spaceplanner.floorplan_pointmaps + FOR EACH ROW + EXECUTE FUNCTION spaceplanner.modified_floorplan(); + +CREATE TRIGGER updated_furniture + AFTER INSERT OR UPDATE OR DELETE ON spaceplanner.furniture + FOR EACH ROW + EXECUTE FUNCTION spaceplanner.modified_floorplan(); + +CREATE TRIGGER updated_furniture_maps + AFTER INSERT OR UPDATE OR DELETE ON spaceplanner.furniture_maps + FOR EACH ROW + EXECUTE FUNCTION spaceplanner.modified_floorplan(); + +COMMIT;