Barazo AppView backend
barazo.forum
1CREATE TABLE "plugin_permissions" (
2 "id" uuid PRIMARY KEY DEFAULT gen_random_uuid() NOT NULL,
3 "plugin_id" uuid NOT NULL,
4 "permission" text NOT NULL,
5 "granted_at" timestamp with time zone DEFAULT now() NOT NULL,
6 CONSTRAINT "plugin_permissions_plugin_id_permission_unique" UNIQUE("plugin_id","permission")
7);
8--> statement-breakpoint
9ALTER TABLE "plugin_permissions" ENABLE ROW LEVEL SECURITY;--> statement-breakpoint
10CREATE TABLE "plugin_settings" (
11 "id" uuid PRIMARY KEY DEFAULT gen_random_uuid() NOT NULL,
12 "plugin_id" uuid NOT NULL,
13 "key" text NOT NULL,
14 "value" jsonb NOT NULL,
15 CONSTRAINT "plugin_settings_plugin_id_key_unique" UNIQUE("plugin_id","key")
16);
17--> statement-breakpoint
18ALTER TABLE "plugin_settings" ENABLE ROW LEVEL SECURITY;--> statement-breakpoint
19CREATE TABLE "plugins" (
20 "id" uuid PRIMARY KEY DEFAULT gen_random_uuid() NOT NULL,
21 "name" text NOT NULL,
22 "display_name" text NOT NULL,
23 "version" text NOT NULL,
24 "description" text NOT NULL,
25 "source" text NOT NULL,
26 "category" text NOT NULL,
27 "enabled" boolean DEFAULT false NOT NULL,
28 "manifest_json" jsonb NOT NULL,
29 "installed_at" timestamp with time zone DEFAULT now() NOT NULL,
30 "updated_at" timestamp with time zone DEFAULT now() NOT NULL,
31 CONSTRAINT "plugins_name_unique" UNIQUE("name")
32);
33--> statement-breakpoint
34ALTER TABLE "plugins" ENABLE ROW LEVEL SECURITY;--> statement-breakpoint
35ALTER TABLE "plugin_permissions" ADD CONSTRAINT "plugin_permissions_plugin_id_plugins_id_fk" FOREIGN KEY ("plugin_id") REFERENCES "public"."plugins"("id") ON DELETE cascade ON UPDATE no action;--> statement-breakpoint
36ALTER TABLE "plugin_settings" ADD CONSTRAINT "plugin_settings_plugin_id_plugins_id_fk" FOREIGN KEY ("plugin_id") REFERENCES "public"."plugins"("id") ON DELETE cascade ON UPDATE no action;--> statement-breakpoint
37CREATE POLICY "plugin_permissions_instance_wide" ON "plugin_permissions" AS PERMISSIVE FOR ALL TO "barazo_app" USING (true);--> statement-breakpoint
38CREATE POLICY "plugin_settings_instance_wide" ON "plugin_settings" AS PERMISSIVE FOR ALL TO "barazo_app" USING (true);--> statement-breakpoint
39CREATE POLICY "plugins_instance_wide" ON "plugins" AS PERMISSIVE FOR ALL TO "barazo_app" USING (true);