mirror of
https://github.com/D4M13N-D3V/neroshitron.git
synced 2025-03-14 10:05:04 +00:00
238 lines
8.9 KiB
SQL
238 lines
8.9 KiB
SQL
|
|
SET statement_timeout = 0;
|
|
SET lock_timeout = 0;
|
|
SET idle_in_transaction_session_timeout = 0;
|
|
SET client_encoding = 'UTF8';
|
|
SET standard_conforming_strings = on;
|
|
SELECT pg_catalog.set_config('search_path', '', false);
|
|
SET check_function_bodies = false;
|
|
SET xmloption = content;
|
|
SET client_min_messages = warning;
|
|
SET row_security = off;
|
|
|
|
CREATE EXTENSION IF NOT EXISTS "pg_net" WITH SCHEMA "extensions";
|
|
|
|
CREATE EXTENSION IF NOT EXISTS "pgsodium" WITH SCHEMA "pgsodium";
|
|
|
|
COMMENT ON SCHEMA "public" IS 'standard public schema';
|
|
|
|
CREATE EXTENSION IF NOT EXISTS "pg_graphql" WITH SCHEMA "graphql";
|
|
|
|
CREATE EXTENSION IF NOT EXISTS "pg_stat_statements" WITH SCHEMA "extensions";
|
|
|
|
CREATE EXTENSION IF NOT EXISTS "pgcrypto" WITH SCHEMA "extensions";
|
|
|
|
CREATE EXTENSION IF NOT EXISTS "pgjwt" WITH SCHEMA "extensions";
|
|
|
|
CREATE EXTENSION IF NOT EXISTS "supabase_vault" WITH SCHEMA "vault";
|
|
|
|
CREATE EXTENSION IF NOT EXISTS "uuid-ossp" WITH SCHEMA "extensions";
|
|
|
|
CREATE TYPE "public"."interface_config_option" AS ENUM (
|
|
'color',
|
|
'image'
|
|
);
|
|
|
|
ALTER TYPE "public"."interface_config_option" OWNER TO "postgres";
|
|
|
|
CREATE TYPE "public"."tier" AS ENUM (
|
|
'Free',
|
|
'Tier 1',
|
|
'Tier 2',
|
|
'Tier 3'
|
|
);
|
|
|
|
ALTER TYPE "public"."tier" OWNER TO "postgres";
|
|
|
|
SET default_tablespace = '';
|
|
|
|
SET default_table_access_method = "heap";
|
|
|
|
CREATE TABLE IF NOT EXISTS "public"."admins" (
|
|
"user_id" "uuid" NOT NULL,
|
|
"created_at" timestamp with time zone DEFAULT "now"() NOT NULL,
|
|
"assigner" "uuid"
|
|
);
|
|
|
|
ALTER TABLE "public"."admins" OWNER TO "postgres";
|
|
|
|
CREATE TABLE IF NOT EXISTS "public"."galleries" (
|
|
"name" "text" NOT NULL,
|
|
"column_number" bigint,
|
|
"tier" "text" DEFAULT 'Free'::"text",
|
|
"nsfw" boolean,
|
|
"tags" "text"[],
|
|
"thumbnail_file" "text" DEFAULT ''::"text"
|
|
);
|
|
|
|
ALTER TABLE "public"."galleries" OWNER TO "postgres";
|
|
|
|
CREATE TABLE IF NOT EXISTS "public"."interface_configurations" (
|
|
"name" "text" NOT NULL,
|
|
"value" "text" NOT NULL,
|
|
"type" "public"."interface_config_option" DEFAULT 'color'::"public"."interface_config_option" NOT NULL
|
|
);
|
|
|
|
ALTER TABLE "public"."interface_configurations" OWNER TO "postgres";
|
|
|
|
CREATE TABLE IF NOT EXISTS "public"."tags" (
|
|
"name" "text" NOT NULL,
|
|
"gallery_name" "text"
|
|
);
|
|
|
|
ALTER TABLE "public"."tags" OWNER TO "postgres";
|
|
|
|
CREATE TABLE IF NOT EXISTS "public"."tiers" (
|
|
"name" "text" NOT NULL,
|
|
"price" double precision NOT NULL,
|
|
"color" "text" NOT NULL,
|
|
"description" "text" NOT NULL
|
|
);
|
|
|
|
ALTER TABLE "public"."tiers" OWNER TO "postgres";
|
|
|
|
CREATE TABLE IF NOT EXISTS "public"."user_subscriptions" (
|
|
"user_id" "uuid" NOT NULL,
|
|
"tier" "public"."tier"
|
|
);
|
|
|
|
ALTER TABLE "public"."user_subscriptions" OWNER TO "postgres";
|
|
|
|
ALTER TABLE ONLY "public"."admins"
|
|
ADD CONSTRAINT "admins_pkey" PRIMARY KEY ("user_id");
|
|
|
|
ALTER TABLE ONLY "public"."galleries"
|
|
ADD CONSTRAINT "galleries_pkey" PRIMARY KEY ("name");
|
|
|
|
ALTER TABLE ONLY "public"."interface_configurations"
|
|
ADD CONSTRAINT "interface_configurations_pkey" PRIMARY KEY ("name");
|
|
|
|
ALTER TABLE ONLY "public"."tags"
|
|
ADD CONSTRAINT "tags_pkey" PRIMARY KEY ("name");
|
|
|
|
ALTER TABLE ONLY "public"."tiers"
|
|
ADD CONSTRAINT "tiers_pkey" PRIMARY KEY ("name");
|
|
|
|
ALTER TABLE ONLY "public"."user_subscriptions"
|
|
ADD CONSTRAINT "user_subscriptions_pkey" PRIMARY KEY ("user_id");
|
|
|
|
ALTER TABLE ONLY "public"."admins"
|
|
ADD CONSTRAINT "admins_assigner_fkey" FOREIGN KEY ("assigner") REFERENCES "auth"."users"("id");
|
|
|
|
ALTER TABLE ONLY "public"."admins"
|
|
ADD CONSTRAINT "admins_user_id_fkey" FOREIGN KEY ("user_id") REFERENCES "auth"."users"("id");
|
|
|
|
ALTER TABLE ONLY "public"."tags"
|
|
ADD CONSTRAINT "tags_gallery_name_fkey" FOREIGN KEY ("gallery_name") REFERENCES "public"."galleries"("name");
|
|
|
|
ALTER TABLE ONLY "public"."user_subscriptions"
|
|
ADD CONSTRAINT "user_subscriptions_user_id_fkey" FOREIGN KEY ("user_id") REFERENCES "auth"."users"("id");
|
|
|
|
CREATE POLICY "Enable delete for admins" ON "public"."tags" FOR DELETE TO "authenticated" USING ((EXISTS ( SELECT 1
|
|
FROM "public"."admins"
|
|
WHERE ("admins"."user_id" = "auth"."uid"()))));
|
|
|
|
CREATE POLICY "Enable delete for users based on admins" ON "public"."galleries" FOR DELETE TO "authenticated" USING ((EXISTS ( SELECT 1
|
|
FROM "public"."admins"
|
|
WHERE ("admins"."user_id" = "auth"."uid"()))));
|
|
|
|
CREATE POLICY "Enable insert for admins" ON "public"."tags" FOR INSERT TO "authenticated" WITH CHECK ((EXISTS ( SELECT 1
|
|
FROM "public"."admins"
|
|
WHERE ("admins"."user_id" = "auth"."uid"()))));
|
|
|
|
CREATE POLICY "Enable insert for users based admins" ON "public"."galleries" FOR INSERT WITH CHECK ((EXISTS ( SELECT 1
|
|
FROM "public"."admins"
|
|
WHERE ("admins"."user_id" = "auth"."uid"()))));
|
|
|
|
CREATE POLICY "Enable read access for all users" ON "public"."admins" FOR SELECT USING (true);
|
|
|
|
CREATE POLICY "Enable read access for all users" ON "public"."galleries" FOR SELECT USING (true);
|
|
|
|
CREATE POLICY "Enable read access for all users" ON "public"."interface_configurations" FOR SELECT USING (true);
|
|
|
|
CREATE POLICY "Enable read access for all users" ON "public"."tags" FOR SELECT USING (true);
|
|
|
|
CREATE POLICY "Enable read access for all users" ON "public"."tiers" FOR SELECT USING (true);
|
|
|
|
CREATE POLICY "Enable read for users based on user_id" ON "public"."user_subscriptions" FOR SELECT USING (true);
|
|
|
|
CREATE POLICY "admin insert" ON "public"."tiers" FOR INSERT WITH CHECK ((EXISTS ( SELECT 1
|
|
FROM "public"."admins"
|
|
WHERE ("admins"."user_id" = "auth"."uid"()))));
|
|
|
|
CREATE POLICY "admin update" ON "public"."tiers" FOR UPDATE USING ((EXISTS ( SELECT 1
|
|
FROM "public"."admins"
|
|
WHERE ("admins"."user_id" = "auth"."uid"()))));
|
|
|
|
ALTER TABLE "public"."admins" ENABLE ROW LEVEL SECURITY;
|
|
|
|
CREATE POLICY "delete for admin" ON "public"."tiers" FOR DELETE USING ((EXISTS ( SELECT 1
|
|
FROM "public"."admins"
|
|
WHERE ("admins"."user_id" = "auth"."uid"()))));
|
|
|
|
ALTER TABLE "public"."galleries" ENABLE ROW LEVEL SECURITY;
|
|
|
|
ALTER TABLE "public"."interface_configurations" ENABLE ROW LEVEL SECURITY;
|
|
|
|
ALTER TABLE "public"."tags" ENABLE ROW LEVEL SECURITY;
|
|
|
|
ALTER TABLE "public"."tiers" ENABLE ROW LEVEL SECURITY;
|
|
|
|
CREATE POLICY "update for admin" ON "public"."galleries" FOR UPDATE USING ((EXISTS ( SELECT 1
|
|
FROM "public"."admins"
|
|
WHERE ("admins"."user_id" = "auth"."uid"()))));
|
|
|
|
CREATE POLICY "update theme admin" ON "public"."interface_configurations" FOR UPDATE USING ((EXISTS ( SELECT 1
|
|
FROM "public"."admins"
|
|
WHERE ("admins"."user_id" = "auth"."uid"()))));
|
|
|
|
ALTER TABLE "public"."user_subscriptions" ENABLE ROW LEVEL SECURITY;
|
|
|
|
ALTER PUBLICATION "supabase_realtime" OWNER TO "postgres";
|
|
|
|
GRANT USAGE ON SCHEMA "public" TO "postgres";
|
|
GRANT USAGE ON SCHEMA "public" TO "anon";
|
|
GRANT USAGE ON SCHEMA "public" TO "authenticated";
|
|
GRANT USAGE ON SCHEMA "public" TO "service_role";
|
|
|
|
GRANT ALL ON TABLE "public"."admins" TO "anon";
|
|
GRANT ALL ON TABLE "public"."admins" TO "authenticated";
|
|
GRANT ALL ON TABLE "public"."admins" TO "service_role";
|
|
|
|
GRANT ALL ON TABLE "public"."galleries" TO "anon";
|
|
GRANT ALL ON TABLE "public"."galleries" TO "authenticated";
|
|
GRANT ALL ON TABLE "public"."galleries" TO "service_role";
|
|
|
|
GRANT ALL ON TABLE "public"."interface_configurations" TO "anon";
|
|
GRANT ALL ON TABLE "public"."interface_configurations" TO "authenticated";
|
|
GRANT ALL ON TABLE "public"."interface_configurations" TO "service_role";
|
|
|
|
GRANT ALL ON TABLE "public"."tags" TO "anon";
|
|
GRANT ALL ON TABLE "public"."tags" TO "authenticated";
|
|
GRANT ALL ON TABLE "public"."tags" TO "service_role";
|
|
|
|
GRANT ALL ON TABLE "public"."tiers" TO "anon";
|
|
GRANT ALL ON TABLE "public"."tiers" TO "authenticated";
|
|
GRANT ALL ON TABLE "public"."tiers" TO "service_role";
|
|
|
|
GRANT ALL ON TABLE "public"."user_subscriptions" TO "anon";
|
|
GRANT ALL ON TABLE "public"."user_subscriptions" TO "authenticated";
|
|
GRANT ALL ON TABLE "public"."user_subscriptions" TO "service_role";
|
|
|
|
ALTER DEFAULT PRIVILEGES FOR ROLE "postgres" IN SCHEMA "public" GRANT ALL ON SEQUENCES TO "postgres";
|
|
ALTER DEFAULT PRIVILEGES FOR ROLE "postgres" IN SCHEMA "public" GRANT ALL ON SEQUENCES TO "anon";
|
|
ALTER DEFAULT PRIVILEGES FOR ROLE "postgres" IN SCHEMA "public" GRANT ALL ON SEQUENCES TO "authenticated";
|
|
ALTER DEFAULT PRIVILEGES FOR ROLE "postgres" IN SCHEMA "public" GRANT ALL ON SEQUENCES TO "service_role";
|
|
|
|
ALTER DEFAULT PRIVILEGES FOR ROLE "postgres" IN SCHEMA "public" GRANT ALL ON FUNCTIONS TO "postgres";
|
|
ALTER DEFAULT PRIVILEGES FOR ROLE "postgres" IN SCHEMA "public" GRANT ALL ON FUNCTIONS TO "anon";
|
|
ALTER DEFAULT PRIVILEGES FOR ROLE "postgres" IN SCHEMA "public" GRANT ALL ON FUNCTIONS TO "authenticated";
|
|
ALTER DEFAULT PRIVILEGES FOR ROLE "postgres" IN SCHEMA "public" GRANT ALL ON FUNCTIONS TO "service_role";
|
|
|
|
ALTER DEFAULT PRIVILEGES FOR ROLE "postgres" IN SCHEMA "public" GRANT ALL ON TABLES TO "postgres";
|
|
ALTER DEFAULT PRIVILEGES FOR ROLE "postgres" IN SCHEMA "public" GRANT ALL ON TABLES TO "anon";
|
|
ALTER DEFAULT PRIVILEGES FOR ROLE "postgres" IN SCHEMA "public" GRANT ALL ON TABLES TO "authenticated";
|
|
ALTER DEFAULT PRIVILEGES FOR ROLE "postgres" IN SCHEMA "public" GRANT ALL ON TABLES TO "service_role";
|
|
|
|
RESET ALL;
|