feat: namespace plugin permissions and keep them valid when a plugin is off

This commit is contained in:
LukeGus committed 2026-09-22 17:30:00 -05:00
1 parent 8431570ff7
commit cc15559ea1
53 files changed
+31442 -351

No files matched your search

+17
View File
@@ -0,0 +1,17 @@
CREATE TABLE `rbac_applied_defaults` (
`id` int AUTO_INCREMENT NOT NULL,
`role_name` varchar(255) NOT NULL,
`permission` varchar(255) NOT NULL,
`applied_at` text NOT NULL DEFAULT (CURRENT_TIMESTAMP),
CONSTRAINT `rbac_applied_defaults_id` PRIMARY KEY(`id`),
CONSTRAINT `idx_rbac_applied_defaults_role_permission` UNIQUE(`role_name`,`permission`)
);
--> statement-breakpoint
CREATE TABLE `rbac_known_permissions` (
`id` int AUTO_INCREMENT NOT NULL,
`permission` varchar(255) NOT NULL,
`plugin_id` varchar(255),
`first_seen_at` text NOT NULL DEFAULT (CURRENT_TIMESTAMP),
CONSTRAINT `rbac_known_permissions_id` PRIMARY KEY(`id`),
CONSTRAINT `idx_rbac_known_permissions_permission` UNIQUE(`permission`)
);
File diff suppressed because it is too large. Load diff
+7
View File
@@ -197,6 +197,13 @@
"when": 1790109037476,
"tag": "0027_watery_multiple_man",
"breakpoints": true
},
{
"idx": 28,
"version": "5",
"when": 1790114765594,
"tag": "0028_fair_tusk",
"breakpoints": true
}
]
}
+16
View File
@@ -0,0 +1,16 @@
CREATE TABLE "rbac_applied_defaults" (
"id" serial PRIMARY KEY NOT NULL,
"role_name" varchar(255) NOT NULL,
"permission" varchar(255) NOT NULL,
"applied_at" text DEFAULT CURRENT_TIMESTAMP NOT NULL
);
--> statement-breakpoint
CREATE TABLE "rbac_known_permissions" (
"id" serial PRIMARY KEY NOT NULL,
"permission" varchar(255) NOT NULL,
"plugin_id" varchar(255),
"first_seen_at" text DEFAULT CURRENT_TIMESTAMP NOT NULL
);
--> statement-breakpoint
CREATE UNIQUE INDEX "idx_rbac_applied_defaults_role_permission" ON "rbac_applied_defaults" USING btree ("role_name","permission");--> statement-breakpoint
CREATE UNIQUE INDEX "idx_rbac_known_permissions_permission" ON "rbac_known_permissions" USING btree ("permission");
File diff suppressed because it is too large. Load diff
+7
View File
@@ -204,6 +204,13 @@
"when": 1790109036999,
"tag": "0028_whole_zemo",
"breakpoints": true
},
{
"idx": 29,
"version": "7",
"when": 1790114765114,
"tag": "0029_nosy_roulette",
"breakpoints": true
}
]
}
+16
View File
@@ -0,0 +1,16 @@
CREATE TABLE `rbac_applied_defaults` (
`id` integer PRIMARY KEY AUTOINCREMENT NOT NULL,
`role_name` text NOT NULL,
`permission` text NOT NULL,
`applied_at` text DEFAULT CURRENT_TIMESTAMP NOT NULL
);
--> statement-breakpoint
CREATE UNIQUE INDEX `idx_rbac_applied_defaults_role_permission` ON `rbac_applied_defaults` (`role_name`,`permission`);--> statement-breakpoint
CREATE TABLE `rbac_known_permissions` (
`id` integer PRIMARY KEY AUTOINCREMENT NOT NULL,
`permission` text NOT NULL,
`plugin_id` text,
`first_seen_at` text DEFAULT CURRENT_TIMESTAMP NOT NULL
);
--> statement-breakpoint
CREATE UNIQUE INDEX `idx_rbac_known_permissions_permission` ON `rbac_known_permissions` (`permission`);
File diff suppressed because it is too large. Load diff
+7
View File
@@ -176,6 +176,13 @@
"when": 1790109036510,
"tag": "0024_public_hemingway",
"breakpoints": true
},
{
"idx": 25,
"version": "6",
"when": 1790114764617,
"tag": "0025_overrated_cable",
"breakpoints": true
}
]
}