From 5f17f421b176d48ef556fb379f59bbb7d284b48e Mon Sep 17 00:00:00 2001 From: erdgeist Date: Fri, 31 Jul 2026 14:35:16 +0200 Subject: Retire the unused per-node permission subsystem Every path through Permission raised or lied: validates_presence_of on a boolean made granted = false unsaveable, since false.blank? is true; get_permission_for read a nonexistent identifier attribute; has_permission? called an undefined plural method and returned a truthy relation in every case; and set_permission mutated granted without saving. Nothing outside the model referenced it and the table was empty. --- db/migrate/20260731123346_drop_permissions.rb | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) create mode 100644 db/migrate/20260731123346_drop_permissions.rb (limited to 'db') diff --git a/db/migrate/20260731123346_drop_permissions.rb b/db/migrate/20260731123346_drop_permissions.rb new file mode 100644 index 00000000..6ea7d2f0 --- /dev/null +++ b/db/migrate/20260731123346_drop_permissions.rb @@ -0,0 +1,17 @@ +class DropPermissions < ActiveRecord::Migration[8.1] + def up + drop_table :permissions + end + + # Reversible for form's sake -- the table was empty and every write path + # in the model was broken, so there is nothing to restore. + def down + create_table :permissions, :id => :serial do |t| + t.boolean :granted + t.integer :node_id + t.integer :user_id + t.datetime :created_at, :precision => nil + t.datetime :updated_at, :precision => nil + end + end +end -- cgit v1.3