aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorFuwn <[email protected]>2026-02-22 08:55:31 -0800
committerFuwn <[email protected]>2026-02-22 08:55:31 -0800
commitc01626aa3a72f3a0603c0c9453c4bb4be7da1af7 (patch)
treecefacfc8fb29a5463febef004a1cdd3edf569b17
parentfix(graphql): Enforce ownership checks for shadow-hide mutations (diff)
downloaddue.moe-main.tar.xz
due.moe-main.zip
chore(supabase): Move Supabase schema pathHEADmain
-rw-r--r--.gitignore4
-rw-r--r--supabase-schema.sql99
-rw-r--r--supabase/schema.sql1484
3 files changed, 1488 insertions, 99 deletions
diff --git a/.gitignore b/.gitignore
index d787d478..70f4bbd6 100644
--- a/.gitignore
+++ b/.gitignore
@@ -38,3 +38,7 @@ vite.config.*.timestamp-*
# Bun
bun.lock*
+
+# Supabase
+supabase/.temp
+
diff --git a/supabase-schema.sql b/supabase-schema.sql
deleted file mode 100644
index c8a5d584..00000000
--- a/supabase-schema.sql
+++ /dev/null
@@ -1,99 +0,0 @@
--- WARNING: This schema is for context only and is not meant to be run.
--- Table order and constraints may not be valid for execution.
-
-CREATE TABLE public.badges (
- id bigint GENERATED ALWAYS AS IDENTITY NOT NULL,
- created_at timestamp with time zone NOT NULL DEFAULT (now() AT TIME ZONE 'utc'::text),
- updated_at timestamp with time zone,
- image_url text NOT NULL,
- image_artist text,
- description text,
- event bigint NOT NULL,
- group bigint NOT NULL,
- CONSTRAINT badges_pkey PRIMARY KEY (id),
- CONSTRAINT badges_event_fkey FOREIGN KEY (event) REFERENCES public.events(id),
- CONSTRAINT badges_group_fkey FOREIGN KEY (group) REFERENCES public.groups(id)
-);
-CREATE TABLE public.events (
- id bigint GENERATED ALWAYS AS IDENTITY NOT NULL,
- created_at timestamp with time zone NOT NULL DEFAULT (now() AT TIME ZONE 'utc'::text),
- updated_at timestamp with time zone,
- title text NOT NULL UNIQUE,
- description text,
- group text NOT NULL,
- banner text NOT NULL,
- anilist_url text NOT NULL,
- alternative_banners ARRAY,
- CONSTRAINT events_pkey PRIMARY KEY (id),
- CONSTRAINT public_events_group_fkey FOREIGN KEY (group) REFERENCES public.groups(anilist_username)
-);
-CREATE TABLE public.groups (
- id bigint GENERATED ALWAYS AS IDENTITY NOT NULL,
- created_at timestamp with time zone NOT NULL DEFAULT (now() AT TIME ZONE 'utc'::text),
- updated_at timestamp with time zone,
- members ARRAY,
- avatar text NOT NULL,
- banner text NOT NULL,
- description text,
- name text NOT NULL UNIQUE,
- anilist_id bigint NOT NULL UNIQUE,
- anilist_username text NOT NULL DEFAULT ''::text UNIQUE,
- badge text,
- badge_description text,
- CONSTRAINT groups_pkey PRIMARY KEY (id)
-);
-CREATE TABLE public.user_badges (
- id bigint GENERATED ALWAYS AS IDENTITY NOT NULL,
- user_id bigint NOT NULL,
- post text NOT NULL,
- image text NOT NULL,
- description text,
- time timestamp without time zone DEFAULT CURRENT_TIMESTAMP,
- category text,
- hidden boolean NOT NULL DEFAULT false,
- source text,
- designer text,
- shadow_hidden boolean NOT NULL DEFAULT false,
- click_count bigint NOT NULL DEFAULT '0'::bigint,
- CONSTRAINT user_badges_pkey PRIMARY KEY (id)
-);
-CREATE TABLE public.user_configuration (
- id bigint GENERATED ALWAYS AS IDENTITY NOT NULL UNIQUE,
- user_id bigint NOT NULL UNIQUE,
- created_at timestamp without time zone NOT NULL DEFAULT now(),
- updated_at timestamp without time zone,
- configuration jsonb,
- CONSTRAINT user_configuration_pkey PRIMARY KEY (id)
-);
-CREATE TABLE public.user_notifications (
- id bigint GENERATED ALWAYS AS IDENTITY NOT NULL,
- created_at timestamp with time zone NOT NULL DEFAULT (now() AT TIME ZONE 'utc'::text),
- updated_at timestamp with time zone NOT NULL DEFAULT (now() AT TIME ZONE 'utc'::text),
- user_id bigint NOT NULL UNIQUE,
- subscription json NOT NULL,
- fingerprint text NOT NULL,
- CONSTRAINT user_notifications_pkey PRIMARY KEY (id)
-);
-CREATE TABLE public.user_preferences (
- id bigint GENERATED ALWAYS AS IDENTITY NOT NULL,
- created_at timestamp with time zone NOT NULL DEFAULT now(),
- updated_at timestamp with time zone,
- pinned_hololive_streams ARRAY NOT NULL DEFAULT '{}'::text[],
- hide_missing_badges boolean NOT NULL DEFAULT false,
- user_id bigint NOT NULL UNIQUE,
- biography text,
- badge_wall_css text NOT NULL DEFAULT ''::text,
- hide_awc_badges boolean NOT NULL DEFAULT false,
- pinned_badge_wall_categories ARRAY DEFAULT '{}'::text[],
- CONSTRAINT user_preferences_pkey PRIMARY KEY (id)
-);
-CREATE TABLE public.user_tracker (
- id bigint GENERATED ALWAYS AS IDENTITY NOT NULL,
- user_id bigint NOT NULL,
- created_at timestamp with time zone NOT NULL DEFAULT now(),
- updated_at timestamp with time zone NOT NULL DEFAULT now(),
- url text NOT NULL,
- title text NOT NULL,
- progress bigint NOT NULL DEFAULT '0'::bigint,
- CONSTRAINT user_tracker_pkey PRIMARY KEY (id)
-);
diff --git a/supabase/schema.sql b/supabase/schema.sql
new file mode 100644
index 00000000..7648b7e4
--- /dev/null
+++ b/supabase/schema.sql
@@ -0,0 +1,1484 @@
+--
+-- PostgreSQL database dump
+--
+
+-- \restrict ayCRchpk9QYAkH0FR7MzsPfEkgyq5Y02kQfarpa01RE4AwEybP0seWKhOVsHiST
+
+-- Dumped from database version 17.6
+-- Dumped by pg_dump version 17.6
+
+SET statement_timeout = 0;
+SET lock_timeout = 0;
+SET idle_in_transaction_session_timeout = 0;
+-- SET transaction_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;
+
+--
+-- Name: pgsodium; Type: EXTENSION; Schema: -; Owner: -
+--
+
+CREATE EXTENSION IF NOT EXISTS "pgsodium";
+
+
+--
+-- Name: EXTENSION "pgsodium"; Type: COMMENT; Schema: -; Owner:
+--
+
+-- COMMENT ON EXTENSION "pgsodium" IS 'Pgsodium is a modern cryptography library for Postgres.';
+
+
+--
+-- Name: SCHEMA "public"; Type: COMMENT; Schema: -; Owner: pg_database_owner
+--
+
+COMMENT ON SCHEMA "public" IS 'standard public schema';
+
+
+--
+-- Name: pg_graphql; Type: EXTENSION; Schema: -; Owner: -
+--
+
+CREATE EXTENSION IF NOT EXISTS "pg_graphql" WITH SCHEMA "graphql";
+
+
+--
+-- Name: EXTENSION "pg_graphql"; Type: COMMENT; Schema: -; Owner:
+--
+
+-- COMMENT ON EXTENSION "pg_graphql" IS 'pg_graphql: GraphQL support';
+
+
+--
+-- Name: pg_stat_statements; Type: EXTENSION; Schema: -; Owner: -
+--
+
+CREATE EXTENSION IF NOT EXISTS "pg_stat_statements" WITH SCHEMA "extensions";
+
+
+--
+-- Name: EXTENSION "pg_stat_statements"; Type: COMMENT; Schema: -; Owner:
+--
+
+-- COMMENT ON EXTENSION "pg_stat_statements" IS 'track planning and execution statistics of all SQL statements executed';
+
+
+--
+-- Name: pgcrypto; Type: EXTENSION; Schema: -; Owner: -
+--
+
+CREATE EXTENSION IF NOT EXISTS "pgcrypto" WITH SCHEMA "extensions";
+
+
+--
+-- Name: EXTENSION "pgcrypto"; Type: COMMENT; Schema: -; Owner:
+--
+
+-- COMMENT ON EXTENSION "pgcrypto" IS 'cryptographic functions';
+
+
+--
+-- Name: supabase_vault; Type: EXTENSION; Schema: -; Owner: -
+--
+
+CREATE EXTENSION IF NOT EXISTS "supabase_vault" WITH SCHEMA "vault";
+
+
+--
+-- Name: EXTENSION "supabase_vault"; Type: COMMENT; Schema: -; Owner:
+--
+
+-- COMMENT ON EXTENSION "supabase_vault" IS 'Supabase Vault Extension';
+
+
+--
+-- Name: uuid-ossp; Type: EXTENSION; Schema: -; Owner: -
+--
+
+CREATE EXTENSION IF NOT EXISTS "uuid-ossp" WITH SCHEMA "extensions";
+
+
+--
+-- Name: EXTENSION "uuid-ossp"; Type: COMMENT; Schema: -; Owner:
+--
+
+-- COMMENT ON EXTENSION "uuid-ossp" IS 'generate universally unique identifiers (UUIDs)';
+
+
+--
+-- Name: user_badges_increment_click_count(bigint); Type: FUNCTION; Schema: public; Owner: postgres
+--
+
+CREATE OR REPLACE FUNCTION "public"."user_badges_increment_click_count"("user_badge_id" bigint) RETURNS "void"
+ LANGUAGE "plpgsql"
+ AS $$
+BEGIN
+ UPDATE user_badges
+ SET click_count = click_count + 1
+ WHERE id = user_badge_id;
+END;
+$$;
+
+
+ALTER FUNCTION "public"."user_badges_increment_click_count"("user_badge_id" bigint) OWNER TO "postgres";
+
+SET default_tablespace = '';
+
+SET default_table_access_method = "heap";
+
+--
+-- Name: badges; Type: TABLE; Schema: public; Owner: postgres
+--
+
+CREATE TABLE IF NOT EXISTS "public"."badges" (
+ "id" bigint NOT NULL,
+ "created_at" timestamp with time zone DEFAULT ("now"() AT TIME ZONE 'utc'::"text") NOT NULL,
+ "updated_at" timestamp with time zone,
+ "image_url" "text" NOT NULL,
+ "image_artist" "text",
+ "description" "text",
+ "event" bigint NOT NULL,
+ "group" bigint NOT NULL
+);
+
+
+ALTER TABLE "public"."badges" OWNER TO "postgres";
+
+--
+-- Name: badges_id_seq; Type: SEQUENCE; Schema: public; Owner: postgres
+--
+
+ALTER TABLE "public"."badges" ALTER COLUMN "id" ADD GENERATED BY DEFAULT AS IDENTITY (
+ SEQUENCE NAME "public"."badges_id_seq"
+ START WITH 1
+ INCREMENT BY 1
+ NO MINVALUE
+ NO MAXVALUE
+ CACHE 1
+);
+
+
+--
+-- Name: events; Type: TABLE; Schema: public; Owner: postgres
+--
+
+CREATE TABLE IF NOT EXISTS "public"."events" (
+ "id" bigint NOT NULL,
+ "created_at" timestamp with time zone DEFAULT ("now"() AT TIME ZONE 'utc'::"text") NOT NULL,
+ "updated_at" timestamp with time zone,
+ "title" "text" NOT NULL,
+ "description" "text",
+ "group" "text" NOT NULL,
+ "banner" "text" NOT NULL,
+ "anilist_url" "text" NOT NULL,
+ "alternative_banners" "text"[]
+);
+
+
+ALTER TABLE "public"."events" OWNER TO "postgres";
+
+--
+-- Name: events_id_seq; Type: SEQUENCE; Schema: public; Owner: postgres
+--
+
+ALTER TABLE "public"."events" ALTER COLUMN "id" ADD GENERATED BY DEFAULT AS IDENTITY (
+ SEQUENCE NAME "public"."events_id_seq"
+ START WITH 1
+ INCREMENT BY 1
+ NO MINVALUE
+ NO MAXVALUE
+ CACHE 1
+);
+
+
+--
+-- Name: groups; Type: TABLE; Schema: public; Owner: postgres
+--
+
+CREATE TABLE IF NOT EXISTS "public"."groups" (
+ "id" bigint NOT NULL,
+ "created_at" timestamp with time zone DEFAULT ("now"() AT TIME ZONE 'utc'::"text") NOT NULL,
+ "updated_at" timestamp with time zone,
+ "members" bigint[],
+ "avatar" "text" NOT NULL,
+ "banner" "text" NOT NULL,
+ "description" "text",
+ "name" "text" NOT NULL,
+ "anilist_id" bigint NOT NULL,
+ "anilist_username" "text" DEFAULT ''::"text" NOT NULL,
+ "badge" "text",
+ "badge_description" "text"
+);
+
+
+ALTER TABLE "public"."groups" OWNER TO "postgres";
+
+--
+-- Name: groups_id_seq; Type: SEQUENCE; Schema: public; Owner: postgres
+--
+
+ALTER TABLE "public"."groups" ALTER COLUMN "id" ADD GENERATED BY DEFAULT AS IDENTITY (
+ SEQUENCE NAME "public"."groups_id_seq"
+ START WITH 1
+ INCREMENT BY 1
+ NO MINVALUE
+ NO MAXVALUE
+ CACHE 1
+);
+
+
+--
+-- Name: user_badges; Type: TABLE; Schema: public; Owner: postgres
+--
+
+CREATE TABLE IF NOT EXISTS "public"."user_badges" (
+ "id" bigint NOT NULL,
+ "user_id" bigint NOT NULL,
+ "post" "text" NOT NULL,
+ "image" "text" NOT NULL,
+ "description" "text",
+ "time" timestamp without time zone DEFAULT CURRENT_TIMESTAMP,
+ "category" "text",
+ "hidden" boolean DEFAULT false NOT NULL,
+ "source" "text",
+ "designer" "text",
+ "shadow_hidden" boolean DEFAULT false NOT NULL,
+ "click_count" bigint DEFAULT '0'::bigint NOT NULL
+);
+
+
+ALTER TABLE "public"."user_badges" OWNER TO "postgres";
+
+--
+-- Name: user_badges_id_seq; Type: SEQUENCE; Schema: public; Owner: postgres
+--
+
+ALTER TABLE "public"."user_badges" ALTER COLUMN "id" ADD GENERATED BY DEFAULT AS IDENTITY (
+ SEQUENCE NAME "public"."user_badges_id_seq"
+ START WITH 1
+ INCREMENT BY 1
+ NO MINVALUE
+ NO MAXVALUE
+ CACHE 1
+);
+
+
+--
+-- Name: user_configuration; Type: TABLE; Schema: public; Owner: postgres
+--
+
+CREATE TABLE IF NOT EXISTS "public"."user_configuration" (
+ "id" bigint NOT NULL,
+ "user_id" bigint NOT NULL,
+ "created_at" timestamp without time zone DEFAULT "now"() NOT NULL,
+ "updated_at" timestamp without time zone,
+ "configuration" "jsonb"
+);
+
+
+ALTER TABLE "public"."user_configuration" OWNER TO "postgres";
+
+--
+-- Name: user_configuration_id_seq; Type: SEQUENCE; Schema: public; Owner: postgres
+--
+
+ALTER TABLE "public"."user_configuration" ALTER COLUMN "id" ADD GENERATED BY DEFAULT AS IDENTITY (
+ SEQUENCE NAME "public"."user_configuration_id_seq"
+ START WITH 1
+ INCREMENT BY 1
+ NO MINVALUE
+ NO MAXVALUE
+ CACHE 1
+);
+
+
+--
+-- Name: user_notifications; Type: TABLE; Schema: public; Owner: postgres
+--
+
+CREATE TABLE IF NOT EXISTS "public"."user_notifications" (
+ "id" bigint NOT NULL,
+ "created_at" timestamp with time zone DEFAULT ("now"() AT TIME ZONE 'utc'::"text") NOT NULL,
+ "updated_at" timestamp with time zone DEFAULT ("now"() AT TIME ZONE 'utc'::"text") NOT NULL,
+ "user_id" bigint NOT NULL,
+ "subscription" json NOT NULL,
+ "fingerprint" "text" NOT NULL
+);
+
+
+ALTER TABLE "public"."user_notifications" OWNER TO "postgres";
+
+--
+-- Name: user_notifications_id_seq; Type: SEQUENCE; Schema: public; Owner: postgres
+--
+
+ALTER TABLE "public"."user_notifications" ALTER COLUMN "id" ADD GENERATED BY DEFAULT AS IDENTITY (
+ SEQUENCE NAME "public"."user_notifications_id_seq"
+ START WITH 1
+ INCREMENT BY 1
+ NO MINVALUE
+ NO MAXVALUE
+ CACHE 1
+);
+
+
+--
+-- Name: user_preferences; Type: TABLE; Schema: public; Owner: postgres
+--
+
+CREATE TABLE IF NOT EXISTS "public"."user_preferences" (
+ "id" bigint NOT NULL,
+ "created_at" timestamp with time zone DEFAULT "now"() NOT NULL,
+ "updated_at" timestamp with time zone,
+ "pinned_hololive_streams" "text"[] DEFAULT '{}'::"text"[] NOT NULL,
+ "hide_missing_badges" boolean DEFAULT false NOT NULL,
+ "user_id" bigint NOT NULL,
+ "biography" "text",
+ "badge_wall_css" "text" DEFAULT ''::"text" NOT NULL,
+ "hide_awc_badges" boolean DEFAULT false NOT NULL,
+ "pinned_badge_wall_categories" "text"[] DEFAULT '{}'::"text"[]
+);
+
+
+ALTER TABLE "public"."user_preferences" OWNER TO "postgres";
+
+--
+-- Name: user_preferences_id_seq; Type: SEQUENCE; Schema: public; Owner: postgres
+--
+
+ALTER TABLE "public"."user_preferences" ALTER COLUMN "id" ADD GENERATED BY DEFAULT AS IDENTITY (
+ SEQUENCE NAME "public"."user_preferences_id_seq"
+ START WITH 1
+ INCREMENT BY 1
+ NO MINVALUE
+ NO MAXVALUE
+ CACHE 1
+);
+
+
+--
+-- Name: user_tracker; Type: TABLE; Schema: public; Owner: postgres
+--
+
+CREATE TABLE IF NOT EXISTS "public"."user_tracker" (
+ "id" bigint NOT NULL,
+ "user_id" bigint NOT NULL,
+ "created_at" timestamp with time zone DEFAULT "now"() NOT NULL,
+ "updated_at" timestamp with time zone DEFAULT "now"() NOT NULL,
+ "url" "text" NOT NULL,
+ "title" "text" NOT NULL,
+ "progress" bigint DEFAULT '0'::bigint NOT NULL
+);
+
+
+ALTER TABLE "public"."user_tracker" OWNER TO "postgres";
+
+--
+-- Name: user_tracker_id_seq; Type: SEQUENCE; Schema: public; Owner: postgres
+--
+
+ALTER TABLE "public"."user_tracker" ALTER COLUMN "id" ADD GENERATED BY DEFAULT AS IDENTITY (
+ SEQUENCE NAME "public"."user_tracker_id_seq"
+ START WITH 1
+ INCREMENT BY 1
+ NO MINVALUE
+ NO MAXVALUE
+ CACHE 1
+);
+
+
+--
+-- Name: badges badges_pkey; Type: CONSTRAINT; Schema: public; Owner: postgres
+--
+
+ALTER TABLE ONLY "public"."badges"
+ ADD CONSTRAINT "badges_pkey" PRIMARY KEY ("id");
+
+
+--
+-- Name: events events_pkey; Type: CONSTRAINT; Schema: public; Owner: postgres
+--
+
+ALTER TABLE ONLY "public"."events"
+ ADD CONSTRAINT "events_pkey" PRIMARY KEY ("id");
+
+
+--
+-- Name: events events_title_key; Type: CONSTRAINT; Schema: public; Owner: postgres
+--
+
+ALTER TABLE ONLY "public"."events"
+ ADD CONSTRAINT "events_title_key" UNIQUE ("title");
+
+
+--
+-- Name: groups groups_anilist_id_key; Type: CONSTRAINT; Schema: public; Owner: postgres
+--
+
+ALTER TABLE ONLY "public"."groups"
+ ADD CONSTRAINT "groups_anilist_id_key" UNIQUE ("anilist_id");
+
+
+--
+-- Name: groups groups_name_key; Type: CONSTRAINT; Schema: public; Owner: postgres
+--
+
+ALTER TABLE ONLY "public"."groups"
+ ADD CONSTRAINT "groups_name_key" UNIQUE ("name");
+
+
+--
+-- Name: groups groups_pkey; Type: CONSTRAINT; Schema: public; Owner: postgres
+--
+
+ALTER TABLE ONLY "public"."groups"
+ ADD CONSTRAINT "groups_pkey" PRIMARY KEY ("id");
+
+
+--
+-- Name: groups groups_slug_key; Type: CONSTRAINT; Schema: public; Owner: postgres
+--
+
+ALTER TABLE ONLY "public"."groups"
+ ADD CONSTRAINT "groups_slug_key" UNIQUE ("anilist_username");
+
+
+--
+-- Name: user_badges user_badges_pkey; Type: CONSTRAINT; Schema: public; Owner: postgres
+--
+
+ALTER TABLE ONLY "public"."user_badges"
+ ADD CONSTRAINT "user_badges_pkey" PRIMARY KEY ("id");
+
+
+--
+-- Name: user_configuration user_configuration_id_key; Type: CONSTRAINT; Schema: public; Owner: postgres
+--
+
+ALTER TABLE ONLY "public"."user_configuration"
+ ADD CONSTRAINT "user_configuration_id_key" UNIQUE ("id");
+
+
+--
+-- Name: user_configuration user_configuration_pkey; Type: CONSTRAINT; Schema: public; Owner: postgres
+--
+
+ALTER TABLE ONLY "public"."user_configuration"
+ ADD CONSTRAINT "user_configuration_pkey" PRIMARY KEY ("id");
+
+
+--
+-- Name: user_configuration user_configuration_user_id_key; Type: CONSTRAINT; Schema: public; Owner: postgres
+--
+
+ALTER TABLE ONLY "public"."user_configuration"
+ ADD CONSTRAINT "user_configuration_user_id_key" UNIQUE ("user_id");
+
+
+--
+-- Name: user_notifications user_notifications_pkey; Type: CONSTRAINT; Schema: public; Owner: postgres
+--
+
+ALTER TABLE ONLY "public"."user_notifications"
+ ADD CONSTRAINT "user_notifications_pkey" PRIMARY KEY ("id");
+
+
+--
+-- Name: user_notifications user_notifications_user_id_key; Type: CONSTRAINT; Schema: public; Owner: postgres
+--
+
+ALTER TABLE ONLY "public"."user_notifications"
+ ADD CONSTRAINT "user_notifications_user_id_key" UNIQUE ("user_id");
+
+
+--
+-- Name: user_preferences user_preferences_pkey; Type: CONSTRAINT; Schema: public; Owner: postgres
+--
+
+ALTER TABLE ONLY "public"."user_preferences"
+ ADD CONSTRAINT "user_preferences_pkey" PRIMARY KEY ("id");
+
+
+--
+-- Name: user_preferences user_preferences_user_id_key; Type: CONSTRAINT; Schema: public; Owner: postgres
+--
+
+ALTER TABLE ONLY "public"."user_preferences"
+ ADD CONSTRAINT "user_preferences_user_id_key" UNIQUE ("user_id");
+
+
+--
+-- Name: user_tracker user_tracker_pkey; Type: CONSTRAINT; Schema: public; Owner: postgres
+--
+
+ALTER TABLE ONLY "public"."user_tracker"
+ ADD CONSTRAINT "user_tracker_pkey" PRIMARY KEY ("id");
+
+
+--
+-- Name: badges badges_event_fkey; Type: FK CONSTRAINT; Schema: public; Owner: postgres
+--
+
+ALTER TABLE ONLY "public"."badges"
+ ADD CONSTRAINT "badges_event_fkey" FOREIGN KEY ("event") REFERENCES "public"."events"("id") ON UPDATE CASCADE ON DELETE SET NULL;
+
+
+--
+-- Name: badges badges_group_fkey; Type: FK CONSTRAINT; Schema: public; Owner: postgres
+--
+
+ALTER TABLE ONLY "public"."badges"
+ ADD CONSTRAINT "badges_group_fkey" FOREIGN KEY ("group") REFERENCES "public"."groups"("id") ON UPDATE CASCADE ON DELETE SET NULL;
+
+
+--
+-- Name: events public_events_group_fkey; Type: FK CONSTRAINT; Schema: public; Owner: postgres
+--
+
+ALTER TABLE ONLY "public"."events"
+ ADD CONSTRAINT "public_events_group_fkey" FOREIGN KEY ("group") REFERENCES "public"."groups"("anilist_username") ON UPDATE CASCADE ON DELETE SET NULL;
+
+
+--
+-- Name: badges Unrestricted access to badges; Type: POLICY; Schema: public; Owner: postgres
+--
+
+CREATE POLICY "Unrestricted access to badges" ON "public"."badges" USING (true);
+
+
+--
+-- Name: events Unrestricted access to events; Type: POLICY; Schema: public; Owner: postgres
+--
+
+CREATE POLICY "Unrestricted access to events" ON "public"."events" USING (true);
+
+
+--
+-- Name: groups Unrestricted access to groups; Type: POLICY; Schema: public; Owner: postgres
+--
+
+CREATE POLICY "Unrestricted access to groups" ON "public"."groups" USING (true);
+
+
+--
+-- Name: user_badges Unrestricted access to user_badges; Type: POLICY; Schema: public; Owner: postgres
+--
+
+CREATE POLICY "Unrestricted access to user_badges" ON "public"."user_badges" USING (true);
+
+
+--
+-- Name: user_configuration Unrestricted access to user_configuration; Type: POLICY; Schema: public; Owner: postgres
+--
+
+CREATE POLICY "Unrestricted access to user_configuration" ON "public"."user_configuration" USING (true);
+
+
+--
+-- Name: user_notifications Unrestricted access to user_notifications; Type: POLICY; Schema: public; Owner: postgres
+--
+
+CREATE POLICY "Unrestricted access to user_notifications" ON "public"."user_notifications" USING (true);
+
+
+--
+-- Name: user_preferences Unrestricted access to user_preferences; Type: POLICY; Schema: public; Owner: postgres
+--
+
+CREATE POLICY "Unrestricted access to user_preferences" ON "public"."user_preferences" USING (true);
+
+
+--
+-- Name: user_tracker Unrestricted access to user_tracker; Type: POLICY; Schema: public; Owner: postgres
+--
+
+CREATE POLICY "Unrestricted access to user_tracker" ON "public"."user_tracker" USING (true);
+
+
+--
+-- Name: badges; Type: ROW SECURITY; Schema: public; Owner: postgres
+--
+
+ALTER TABLE "public"."badges" ENABLE ROW LEVEL SECURITY;
+
+--
+-- Name: events; Type: ROW SECURITY; Schema: public; Owner: postgres
+--
+
+ALTER TABLE "public"."events" ENABLE ROW LEVEL SECURITY;
+
+--
+-- Name: groups; Type: ROW SECURITY; Schema: public; Owner: postgres
+--
+
+ALTER TABLE "public"."groups" ENABLE ROW LEVEL SECURITY;
+
+--
+-- Name: user_badges; Type: ROW SECURITY; Schema: public; Owner: postgres
+--
+
+ALTER TABLE "public"."user_badges" ENABLE ROW LEVEL SECURITY;
+
+--
+-- Name: user_configuration; Type: ROW SECURITY; Schema: public; Owner: postgres
+--
+
+ALTER TABLE "public"."user_configuration" ENABLE ROW LEVEL SECURITY;
+
+--
+-- Name: user_notifications; Type: ROW SECURITY; Schema: public; Owner: postgres
+--
+
+ALTER TABLE "public"."user_notifications" ENABLE ROW LEVEL SECURITY;
+
+--
+-- Name: user_preferences; Type: ROW SECURITY; Schema: public; Owner: postgres
+--
+
+ALTER TABLE "public"."user_preferences" ENABLE ROW LEVEL SECURITY;
+
+--
+-- Name: user_tracker; Type: ROW SECURITY; Schema: public; Owner: postgres
+--
+
+ALTER TABLE "public"."user_tracker" ENABLE ROW LEVEL SECURITY;
+
+--
+-- Name: supabase_realtime; Type: PUBLICATION; Schema: -; Owner: postgres
+--
+
+-- CREATE PUBLICATION "supabase_realtime" WITH (publish = 'insert, update, delete, truncate');
+
+
+ALTER PUBLICATION "supabase_realtime" OWNER TO "postgres";
+
+--
+-- Name: SCHEMA "public"; Type: ACL; Schema: -; Owner: pg_database_owner
+--
+
+GRANT USAGE ON SCHEMA "public" TO "anon";
+GRANT USAGE ON SCHEMA "public" TO "authenticated";
+GRANT USAGE ON SCHEMA "public" TO "service_role";
+GRANT USAGE ON SCHEMA "public" TO "postgres";
+
+
+--
+-- Name: FUNCTION "armor"("bytea"); Type: ACL; Schema: extensions; Owner: postgres
+--
+
+-- REVOKE ALL ON FUNCTION "extensions"."armor"("bytea") FROM "postgres";
+-- GRANT ALL ON FUNCTION "extensions"."armor"("bytea") TO "postgres" WITH GRANT OPTION;
+-- GRANT ALL ON FUNCTION "extensions"."armor"("bytea") TO "dashboard_user";
+
+
+--
+-- Name: FUNCTION "armor"("bytea", "text"[], "text"[]); Type: ACL; Schema: extensions; Owner: postgres
+--
+
+-- REVOKE ALL ON FUNCTION "extensions"."armor"("bytea", "text"[], "text"[]) FROM "postgres";
+-- GRANT ALL ON FUNCTION "extensions"."armor"("bytea", "text"[], "text"[]) TO "postgres" WITH GRANT OPTION;
+-- GRANT ALL ON FUNCTION "extensions"."armor"("bytea", "text"[], "text"[]) TO "dashboard_user";
+
+
+--
+-- Name: FUNCTION "crypt"("text", "text"); Type: ACL; Schema: extensions; Owner: postgres
+--
+
+-- REVOKE ALL ON FUNCTION "extensions"."crypt"("text", "text") FROM "postgres";
+-- GRANT ALL ON FUNCTION "extensions"."crypt"("text", "text") TO "postgres" WITH GRANT OPTION;
+-- GRANT ALL ON FUNCTION "extensions"."crypt"("text", "text") TO "dashboard_user";
+
+
+--
+-- Name: FUNCTION "dearmor"("text"); Type: ACL; Schema: extensions; Owner: postgres
+--
+
+-- REVOKE ALL ON FUNCTION "extensions"."dearmor"("text") FROM "postgres";
+-- GRANT ALL ON FUNCTION "extensions"."dearmor"("text") TO "postgres" WITH GRANT OPTION;
+-- GRANT ALL ON FUNCTION "extensions"."dearmor"("text") TO "dashboard_user";
+
+
+--
+-- Name: FUNCTION "decrypt"("bytea", "bytea", "text"); Type: ACL; Schema: extensions; Owner: postgres
+--
+
+-- REVOKE ALL ON FUNCTION "extensions"."decrypt"("bytea", "bytea", "text") FROM "postgres";
+-- GRANT ALL ON FUNCTION "extensions"."decrypt"("bytea", "bytea", "text") TO "postgres" WITH GRANT OPTION;
+-- GRANT ALL ON FUNCTION "extensions"."decrypt"("bytea", "bytea", "text") TO "dashboard_user";
+
+
+--
+-- Name: FUNCTION "decrypt_iv"("bytea", "bytea", "bytea", "text"); Type: ACL; Schema: extensions; Owner: postgres
+--
+
+-- REVOKE ALL ON FUNCTION "extensions"."decrypt_iv"("bytea", "bytea", "bytea", "text") FROM "postgres";
+-- GRANT ALL ON FUNCTION "extensions"."decrypt_iv"("bytea", "bytea", "bytea", "text") TO "postgres" WITH GRANT OPTION;
+-- GRANT ALL ON FUNCTION "extensions"."decrypt_iv"("bytea", "bytea", "bytea", "text") TO "dashboard_user";
+
+
+--
+-- Name: FUNCTION "digest"("bytea", "text"); Type: ACL; Schema: extensions; Owner: postgres
+--
+
+-- REVOKE ALL ON FUNCTION "extensions"."digest"("bytea", "text") FROM "postgres";
+-- GRANT ALL ON FUNCTION "extensions"."digest"("bytea", "text") TO "postgres" WITH GRANT OPTION;
+-- GRANT ALL ON FUNCTION "extensions"."digest"("bytea", "text") TO "dashboard_user";
+
+
+--
+-- Name: FUNCTION "digest"("text", "text"); Type: ACL; Schema: extensions; Owner: postgres
+--
+
+-- REVOKE ALL ON FUNCTION "extensions"."digest"("text", "text") FROM "postgres";
+-- GRANT ALL ON FUNCTION "extensions"."digest"("text", "text") TO "postgres" WITH GRANT OPTION;
+-- GRANT ALL ON FUNCTION "extensions"."digest"("text", "text") TO "dashboard_user";
+
+
+--
+-- Name: FUNCTION "encrypt"("bytea", "bytea", "text"); Type: ACL; Schema: extensions; Owner: postgres
+--
+
+-- REVOKE ALL ON FUNCTION "extensions"."encrypt"("bytea", "bytea", "text") FROM "postgres";
+-- GRANT ALL ON FUNCTION "extensions"."encrypt"("bytea", "bytea", "text") TO "postgres" WITH GRANT OPTION;
+-- GRANT ALL ON FUNCTION "extensions"."encrypt"("bytea", "bytea", "text") TO "dashboard_user";
+
+
+--
+-- Name: FUNCTION "encrypt_iv"("bytea", "bytea", "bytea", "text"); Type: ACL; Schema: extensions; Owner: postgres
+--
+
+-- REVOKE ALL ON FUNCTION "extensions"."encrypt_iv"("bytea", "bytea", "bytea", "text") FROM "postgres";
+-- GRANT ALL ON FUNCTION "extensions"."encrypt_iv"("bytea", "bytea", "bytea", "text") TO "postgres" WITH GRANT OPTION;
+-- GRANT ALL ON FUNCTION "extensions"."encrypt_iv"("bytea", "bytea", "bytea", "text") TO "dashboard_user";
+
+
+--
+-- Name: FUNCTION "gen_random_bytes"(integer); Type: ACL; Schema: extensions; Owner: postgres
+--
+
+-- REVOKE ALL ON FUNCTION "extensions"."gen_random_bytes"(integer) FROM "postgres";
+-- GRANT ALL ON FUNCTION "extensions"."gen_random_bytes"(integer) TO "postgres" WITH GRANT OPTION;
+-- GRANT ALL ON FUNCTION "extensions"."gen_random_bytes"(integer) TO "dashboard_user";
+
+
+--
+-- Name: FUNCTION "gen_random_uuid"(); Type: ACL; Schema: extensions; Owner: postgres
+--
+
+-- REVOKE ALL ON FUNCTION "extensions"."gen_random_uuid"() FROM "postgres";
+-- GRANT ALL ON FUNCTION "extensions"."gen_random_uuid"() TO "postgres" WITH GRANT OPTION;
+-- GRANT ALL ON FUNCTION "extensions"."gen_random_uuid"() TO "dashboard_user";
+
+
+--
+-- Name: FUNCTION "gen_salt"("text"); Type: ACL; Schema: extensions; Owner: postgres
+--
+
+-- REVOKE ALL ON FUNCTION "extensions"."gen_salt"("text") FROM "postgres";
+-- GRANT ALL ON FUNCTION "extensions"."gen_salt"("text") TO "postgres" WITH GRANT OPTION;
+-- GRANT ALL ON FUNCTION "extensions"."gen_salt"("text") TO "dashboard_user";
+
+
+--
+-- Name: FUNCTION "gen_salt"("text", integer); Type: ACL; Schema: extensions; Owner: postgres
+--
+
+-- REVOKE ALL ON FUNCTION "extensions"."gen_salt"("text", integer) FROM "postgres";
+-- GRANT ALL ON FUNCTION "extensions"."gen_salt"("text", integer) TO "postgres" WITH GRANT OPTION;
+-- GRANT ALL ON FUNCTION "extensions"."gen_salt"("text", integer) TO "dashboard_user";
+
+
+--
+-- Name: FUNCTION "hmac"("bytea", "bytea", "text"); Type: ACL; Schema: extensions; Owner: postgres
+--
+
+-- REVOKE ALL ON FUNCTION "extensions"."hmac"("bytea", "bytea", "text") FROM "postgres";
+-- GRANT ALL ON FUNCTION "extensions"."hmac"("bytea", "bytea", "text") TO "postgres" WITH GRANT OPTION;
+-- GRANT ALL ON FUNCTION "extensions"."hmac"("bytea", "bytea", "text") TO "dashboard_user";
+
+
+--
+-- Name: FUNCTION "hmac"("text", "text", "text"); Type: ACL; Schema: extensions; Owner: postgres
+--
+
+-- REVOKE ALL ON FUNCTION "extensions"."hmac"("text", "text", "text") FROM "postgres";
+-- GRANT ALL ON FUNCTION "extensions"."hmac"("text", "text", "text") TO "postgres" WITH GRANT OPTION;
+-- GRANT ALL ON FUNCTION "extensions"."hmac"("text", "text", "text") TO "dashboard_user";
+
+
+--
+-- Name: FUNCTION "pg_stat_statements"("showtext" boolean, OUT "userid" "oid", OUT "dbid" "oid", OUT "toplevel" boolean, OUT "queryid" bigint, OUT "query" "text", OUT "plans" bigint, OUT "total_plan_time" double precision, OUT "min_plan_time" double precision, OUT "max_plan_time" double precision, OUT "mean_plan_time" double precision, OUT "stddev_plan_time" double precision, OUT "calls" bigint, OUT "total_exec_time" double precision, OUT "min_exec_time" double precision, OUT "max_exec_time" double precision, OUT "mean_exec_time" double precision, OUT "stddev_exec_time" double precision, OUT "rows" bigint, OUT "shared_blks_hit" bigint, OUT "shared_blks_read" bigint, OUT "shared_blks_dirtied" bigint, OUT "shared_blks_written" bigint, OUT "local_blks_hit" bigint, OUT "local_blks_read" bigint, OUT "local_blks_dirtied" bigint, OUT "local_blks_written" bigint, OUT "temp_blks_read" bigint, OUT "temp_blks_written" bigint, OUT "shared_blk_read_time" double precision, OUT "shared_blk_write_time" double precision, OUT "local_blk_read_time" double precision, OUT "local_blk_write_time" double precision, OUT "temp_blk_read_time" double precision, OUT "temp_blk_write_time" double precision, OUT "wal_records" bigint, OUT "wal_fpi" bigint, OUT "wal_bytes" numeric, OUT "jit_functions" bigint, OUT "jit_generation_time" double precision, OUT "jit_inlining_count" bigint, OUT "jit_inlining_time" double precision, OUT "jit_optimization_count" bigint, OUT "jit_optimization_time" double precision, OUT "jit_emission_count" bigint, OUT "jit_emission_time" double precision, OUT "jit_deform_count" bigint, OUT "jit_deform_time" double precision, OUT "stats_since" timestamp with time zone, OUT "minmax_stats_since" timestamp with time zone); Type: ACL; Schema: extensions; Owner: supabase_admin
+--
+
+-- GRANT ALL ON FUNCTION "extensions"."pg_stat_statements"("showtext" boolean, OUT "userid" "oid", OUT "dbid" "oid", OUT "toplevel" boolean, OUT "queryid" bigint, OUT "query" "text", OUT "plans" bigint, OUT "total_plan_time" double precision, OUT "min_plan_time" double precision, OUT "max_plan_time" double precision, OUT "mean_plan_time" double precision, OUT "stddev_plan_time" double precision, OUT "calls" bigint, OUT "total_exec_time" double precision, OUT "min_exec_time" double precision, OUT "max_exec_time" double precision, OUT "mean_exec_time" double precision, OUT "stddev_exec_time" double precision, OUT "rows" bigint, OUT "shared_blks_hit" bigint, OUT "shared_blks_read" bigint, OUT "shared_blks_dirtied" bigint, OUT "shared_blks_written" bigint, OUT "local_blks_hit" bigint, OUT "local_blks_read" bigint, OUT "local_blks_dirtied" bigint, OUT "local_blks_written" bigint, OUT "temp_blks_read" bigint, OUT "temp_blks_written" bigint, OUT "shared_blk_read_time" double precision, OUT "shared_blk_write_time" double precision, OUT "local_blk_read_time" double precision, OUT "local_blk_write_time" double precision, OUT "temp_blk_read_time" double precision, OUT "temp_blk_write_time" double precision, OUT "wal_records" bigint, OUT "wal_fpi" bigint, OUT "wal_bytes" numeric, OUT "jit_functions" bigint, OUT "jit_generation_time" double precision, OUT "jit_inlining_count" bigint, OUT "jit_inlining_time" double precision, OUT "jit_optimization_count" bigint, OUT "jit_optimization_time" double precision, OUT "jit_emission_count" bigint, OUT "jit_emission_time" double precision, OUT "jit_deform_count" bigint, OUT "jit_deform_time" double precision, OUT "stats_since" timestamp with time zone, OUT "minmax_stats_since" timestamp with time zone) TO "postgres" WITH GRANT OPTION;
+
+
+--
+-- Name: FUNCTION "pg_stat_statements_info"(OUT "dealloc" bigint, OUT "stats_reset" timestamp with time zone); Type: ACL; Schema: extensions; Owner: postgres
+--
+
+-- REVOKE ALL ON FUNCTION "extensions"."pg_stat_statements_info"(OUT "dealloc" bigint, OUT "stats_reset" timestamp with time zone) FROM "postgres";
+-- GRANT ALL ON FUNCTION "extensions"."pg_stat_statements_info"(OUT "dealloc" bigint, OUT "stats_reset" timestamp with time zone) TO "postgres" WITH GRANT OPTION;
+-- GRANT ALL ON FUNCTION "extensions"."pg_stat_statements_info"(OUT "dealloc" bigint, OUT "stats_reset" timestamp with time zone) TO "dashboard_user";
+
+
+--
+-- Name: FUNCTION "pgp_armor_headers"("text", OUT "key" "text", OUT "value" "text"); Type: ACL; Schema: extensions; Owner: postgres
+--
+
+-- REVOKE ALL ON FUNCTION "extensions"."pgp_armor_headers"("text", OUT "key" "text", OUT "value" "text") FROM "postgres";
+-- GRANT ALL ON FUNCTION "extensions"."pgp_armor_headers"("text", OUT "key" "text", OUT "value" "text") TO "postgres" WITH GRANT OPTION;
+-- GRANT ALL ON FUNCTION "extensions"."pgp_armor_headers"("text", OUT "key" "text", OUT "value" "text") TO "dashboard_user";
+
+
+--
+-- Name: FUNCTION "pgp_key_id"("bytea"); Type: ACL; Schema: extensions; Owner: postgres
+--
+
+-- REVOKE ALL ON FUNCTION "extensions"."pgp_key_id"("bytea") FROM "postgres";
+-- GRANT ALL ON FUNCTION "extensions"."pgp_key_id"("bytea") TO "postgres" WITH GRANT OPTION;
+-- GRANT ALL ON FUNCTION "extensions"."pgp_key_id"("bytea") TO "dashboard_user";
+
+
+--
+-- Name: FUNCTION "pgp_pub_decrypt"("bytea", "bytea"); Type: ACL; Schema: extensions; Owner: postgres
+--
+
+-- REVOKE ALL ON FUNCTION "extensions"."pgp_pub_decrypt"("bytea", "bytea") FROM "postgres";
+-- GRANT ALL ON FUNCTION "extensions"."pgp_pub_decrypt"("bytea", "bytea") TO "postgres" WITH GRANT OPTION;
+-- GRANT ALL ON FUNCTION "extensions"."pgp_pub_decrypt"("bytea", "bytea") TO "dashboard_user";
+
+
+--
+-- Name: FUNCTION "pgp_pub_decrypt"("bytea", "bytea", "text"); Type: ACL; Schema: extensions; Owner: postgres
+--
+
+-- REVOKE ALL ON FUNCTION "extensions"."pgp_pub_decrypt"("bytea", "bytea", "text") FROM "postgres";
+-- GRANT ALL ON FUNCTION "extensions"."pgp_pub_decrypt"("bytea", "bytea", "text") TO "postgres" WITH GRANT OPTION;
+-- GRANT ALL ON FUNCTION "extensions"."pgp_pub_decrypt"("bytea", "bytea", "text") TO "dashboard_user";
+
+
+--
+-- Name: FUNCTION "pgp_pub_decrypt"("bytea", "bytea", "text", "text"); Type: ACL; Schema: extensions; Owner: postgres
+--
+
+-- REVOKE ALL ON FUNCTION "extensions"."pgp_pub_decrypt"("bytea", "bytea", "text", "text") FROM "postgres";
+-- GRANT ALL ON FUNCTION "extensions"."pgp_pub_decrypt"("bytea", "bytea", "text", "text") TO "postgres" WITH GRANT OPTION;
+-- GRANT ALL ON FUNCTION "extensions"."pgp_pub_decrypt"("bytea", "bytea", "text", "text") TO "dashboard_user";
+
+
+--
+-- Name: FUNCTION "pgp_pub_decrypt_bytea"("bytea", "bytea"); Type: ACL; Schema: extensions; Owner: postgres
+--
+
+-- REVOKE ALL ON FUNCTION "extensions"."pgp_pub_decrypt_bytea"("bytea", "bytea") FROM "postgres";
+-- GRANT ALL ON FUNCTION "extensions"."pgp_pub_decrypt_bytea"("bytea", "bytea") TO "postgres" WITH GRANT OPTION;
+-- GRANT ALL ON FUNCTION "extensions"."pgp_pub_decrypt_bytea"("bytea", "bytea") TO "dashboard_user";
+
+
+--
+-- Name: FUNCTION "pgp_pub_decrypt_bytea"("bytea", "bytea", "text"); Type: ACL; Schema: extensions; Owner: postgres
+--
+
+-- REVOKE ALL ON FUNCTION "extensions"."pgp_pub_decrypt_bytea"("bytea", "bytea", "text") FROM "postgres";
+-- GRANT ALL ON FUNCTION "extensions"."pgp_pub_decrypt_bytea"("bytea", "bytea", "text") TO "postgres" WITH GRANT OPTION;
+-- GRANT ALL ON FUNCTION "extensions"."pgp_pub_decrypt_bytea"("bytea", "bytea", "text") TO "dashboard_user";
+
+
+--
+-- Name: FUNCTION "pgp_pub_decrypt_bytea"("bytea", "bytea", "text", "text"); Type: ACL; Schema: extensions; Owner: postgres
+--
+
+-- REVOKE ALL ON FUNCTION "extensions"."pgp_pub_decrypt_bytea"("bytea", "bytea", "text", "text") FROM "postgres";
+-- GRANT ALL ON FUNCTION "extensions"."pgp_pub_decrypt_bytea"("bytea", "bytea", "text", "text") TO "postgres" WITH GRANT OPTION;
+-- GRANT ALL ON FUNCTION "extensions"."pgp_pub_decrypt_bytea"("bytea", "bytea", "text", "text") TO "dashboard_user";
+
+
+--
+-- Name: FUNCTION "pgp_pub_encrypt"("text", "bytea"); Type: ACL; Schema: extensions; Owner: postgres
+--
+
+-- REVOKE ALL ON FUNCTION "extensions"."pgp_pub_encrypt"("text", "bytea") FROM "postgres";
+-- GRANT ALL ON FUNCTION "extensions"."pgp_pub_encrypt"("text", "bytea") TO "postgres" WITH GRANT OPTION;
+-- GRANT ALL ON FUNCTION "extensions"."pgp_pub_encrypt"("text", "bytea") TO "dashboard_user";
+
+
+--
+-- Name: FUNCTION "pgp_pub_encrypt"("text", "bytea", "text"); Type: ACL; Schema: extensions; Owner: postgres
+--
+
+-- REVOKE ALL ON FUNCTION "extensions"."pgp_pub_encrypt"("text", "bytea", "text") FROM "postgres";
+-- GRANT ALL ON FUNCTION "extensions"."pgp_pub_encrypt"("text", "bytea", "text") TO "postgres" WITH GRANT OPTION;
+-- GRANT ALL ON FUNCTION "extensions"."pgp_pub_encrypt"("text", "bytea", "text") TO "dashboard_user";
+
+
+--
+-- Name: FUNCTION "pgp_pub_encrypt_bytea"("bytea", "bytea"); Type: ACL; Schema: extensions; Owner: postgres
+--
+
+-- REVOKE ALL ON FUNCTION "extensions"."pgp_pub_encrypt_bytea"("bytea", "bytea") FROM "postgres";
+-- GRANT ALL ON FUNCTION "extensions"."pgp_pub_encrypt_bytea"("bytea", "bytea") TO "postgres" WITH GRANT OPTION;
+-- GRANT ALL ON FUNCTION "extensions"."pgp_pub_encrypt_bytea"("bytea", "bytea") TO "dashboard_user";
+
+
+--
+-- Name: FUNCTION "pgp_pub_encrypt_bytea"("bytea", "bytea", "text"); Type: ACL; Schema: extensions; Owner: postgres
+--
+
+-- REVOKE ALL ON FUNCTION "extensions"."pgp_pub_encrypt_bytea"("bytea", "bytea", "text") FROM "postgres";
+-- GRANT ALL ON FUNCTION "extensions"."pgp_pub_encrypt_bytea"("bytea", "bytea", "text") TO "postgres" WITH GRANT OPTION;
+-- GRANT ALL ON FUNCTION "extensions"."pgp_pub_encrypt_bytea"("bytea", "bytea", "text") TO "dashboard_user";
+
+
+--
+-- Name: FUNCTION "pgp_sym_decrypt"("bytea", "text"); Type: ACL; Schema: extensions; Owner: postgres
+--
+
+-- REVOKE ALL ON FUNCTION "extensions"."pgp_sym_decrypt"("bytea", "text") FROM "postgres";
+-- GRANT ALL ON FUNCTION "extensions"."pgp_sym_decrypt"("bytea", "text") TO "postgres" WITH GRANT OPTION;
+-- GRANT ALL ON FUNCTION "extensions"."pgp_sym_decrypt"("bytea", "text") TO "dashboard_user";
+
+
+--
+-- Name: FUNCTION "pgp_sym_decrypt"("bytea", "text", "text"); Type: ACL; Schema: extensions; Owner: postgres
+--
+
+-- REVOKE ALL ON FUNCTION "extensions"."pgp_sym_decrypt"("bytea", "text", "text") FROM "postgres";
+-- GRANT ALL ON FUNCTION "extensions"."pgp_sym_decrypt"("bytea", "text", "text") TO "postgres" WITH GRANT OPTION;
+-- GRANT ALL ON FUNCTION "extensions"."pgp_sym_decrypt"("bytea", "text", "text") TO "dashboard_user";
+
+
+--
+-- Name: FUNCTION "pgp_sym_decrypt_bytea"("bytea", "text"); Type: ACL; Schema: extensions; Owner: postgres
+--
+
+-- REVOKE ALL ON FUNCTION "extensions"."pgp_sym_decrypt_bytea"("bytea", "text") FROM "postgres";
+-- GRANT ALL ON FUNCTION "extensions"."pgp_sym_decrypt_bytea"("bytea", "text") TO "postgres" WITH GRANT OPTION;
+-- GRANT ALL ON FUNCTION "extensions"."pgp_sym_decrypt_bytea"("bytea", "text") TO "dashboard_user";
+
+
+--
+-- Name: FUNCTION "pgp_sym_decrypt_bytea"("bytea", "text", "text"); Type: ACL; Schema: extensions; Owner: postgres
+--
+
+-- REVOKE ALL ON FUNCTION "extensions"."pgp_sym_decrypt_bytea"("bytea", "text", "text") FROM "postgres";
+-- GRANT ALL ON FUNCTION "extensions"."pgp_sym_decrypt_bytea"("bytea", "text", "text") TO "postgres" WITH GRANT OPTION;
+-- GRANT ALL ON FUNCTION "extensions"."pgp_sym_decrypt_bytea"("bytea", "text", "text") TO "dashboard_user";
+
+
+--
+-- Name: FUNCTION "pgp_sym_encrypt"("text", "text"); Type: ACL; Schema: extensions; Owner: postgres
+--
+
+-- REVOKE ALL ON FUNCTION "extensions"."pgp_sym_encrypt"("text", "text") FROM "postgres";
+-- GRANT ALL ON FUNCTION "extensions"."pgp_sym_encrypt"("text", "text") TO "postgres" WITH GRANT OPTION;
+-- GRANT ALL ON FUNCTION "extensions"."pgp_sym_encrypt"("text", "text") TO "dashboard_user";
+
+
+--
+-- Name: FUNCTION "pgp_sym_encrypt"("text", "text", "text"); Type: ACL; Schema: extensions; Owner: postgres
+--
+
+-- REVOKE ALL ON FUNCTION "extensions"."pgp_sym_encrypt"("text", "text", "text") FROM "postgres";
+-- GRANT ALL ON FUNCTION "extensions"."pgp_sym_encrypt"("text", "text", "text") TO "postgres" WITH GRANT OPTION;
+-- GRANT ALL ON FUNCTION "extensions"."pgp_sym_encrypt"("text", "text", "text") TO "dashboard_user";
+
+
+--
+-- Name: FUNCTION "pgp_sym_encrypt_bytea"("bytea", "text"); Type: ACL; Schema: extensions; Owner: postgres
+--
+
+-- REVOKE ALL ON FUNCTION "extensions"."pgp_sym_encrypt_bytea"("bytea", "text") FROM "postgres";
+-- GRANT ALL ON FUNCTION "extensions"."pgp_sym_encrypt_bytea"("bytea", "text") TO "postgres" WITH GRANT OPTION;
+-- GRANT ALL ON FUNCTION "extensions"."pgp_sym_encrypt_bytea"("bytea", "text") TO "dashboard_user";
+
+
+--
+-- Name: FUNCTION "pgp_sym_encrypt_bytea"("bytea", "text", "text"); Type: ACL; Schema: extensions; Owner: postgres
+--
+
+-- REVOKE ALL ON FUNCTION "extensions"."pgp_sym_encrypt_bytea"("bytea", "text", "text") FROM "postgres";
+-- GRANT ALL ON FUNCTION "extensions"."pgp_sym_encrypt_bytea"("bytea", "text", "text") TO "postgres" WITH GRANT OPTION;
+-- GRANT ALL ON FUNCTION "extensions"."pgp_sym_encrypt_bytea"("bytea", "text", "text") TO "dashboard_user";
+
+
+--
+-- Name: FUNCTION "uuid_generate_v1"(); Type: ACL; Schema: extensions; Owner: postgres
+--
+
+-- REVOKE ALL ON FUNCTION "extensions"."uuid_generate_v1"() FROM "postgres";
+-- GRANT ALL ON FUNCTION "extensions"."uuid_generate_v1"() TO "postgres" WITH GRANT OPTION;
+-- GRANT ALL ON FUNCTION "extensions"."uuid_generate_v1"() TO "dashboard_user";
+
+
+--
+-- Name: FUNCTION "uuid_generate_v1mc"(); Type: ACL; Schema: extensions; Owner: postgres
+--
+
+-- REVOKE ALL ON FUNCTION "extensions"."uuid_generate_v1mc"() FROM "postgres";
+-- GRANT ALL ON FUNCTION "extensions"."uuid_generate_v1mc"() TO "postgres" WITH GRANT OPTION;
+-- GRANT ALL ON FUNCTION "extensions"."uuid_generate_v1mc"() TO "dashboard_user";
+
+
+--
+-- Name: FUNCTION "uuid_generate_v3"("namespace" "uuid", "name" "text"); Type: ACL; Schema: extensions; Owner: postgres
+--
+
+-- REVOKE ALL ON FUNCTION "extensions"."uuid_generate_v3"("namespace" "uuid", "name" "text") FROM "postgres";
+-- GRANT ALL ON FUNCTION "extensions"."uuid_generate_v3"("namespace" "uuid", "name" "text") TO "postgres" WITH GRANT OPTION;
+-- GRANT ALL ON FUNCTION "extensions"."uuid_generate_v3"("namespace" "uuid", "name" "text") TO "dashboard_user";
+
+
+--
+-- Name: FUNCTION "uuid_generate_v4"(); Type: ACL; Schema: extensions; Owner: postgres
+--
+
+-- REVOKE ALL ON FUNCTION "extensions"."uuid_generate_v4"() FROM "postgres";
+-- GRANT ALL ON FUNCTION "extensions"."uuid_generate_v4"() TO "postgres" WITH GRANT OPTION;
+-- GRANT ALL ON FUNCTION "extensions"."uuid_generate_v4"() TO "dashboard_user";
+
+
+--
+-- Name: FUNCTION "uuid_generate_v5"("namespace" "uuid", "name" "text"); Type: ACL; Schema: extensions; Owner: postgres
+--
+
+-- REVOKE ALL ON FUNCTION "extensions"."uuid_generate_v5"("namespace" "uuid", "name" "text") FROM "postgres";
+-- GRANT ALL ON FUNCTION "extensions"."uuid_generate_v5"("namespace" "uuid", "name" "text") TO "postgres" WITH GRANT OPTION;
+-- GRANT ALL ON FUNCTION "extensions"."uuid_generate_v5"("namespace" "uuid", "name" "text") TO "dashboard_user";
+
+
+--
+-- Name: FUNCTION "uuid_nil"(); Type: ACL; Schema: extensions; Owner: postgres
+--
+
+-- REVOKE ALL ON FUNCTION "extensions"."uuid_nil"() FROM "postgres";
+-- GRANT ALL ON FUNCTION "extensions"."uuid_nil"() TO "postgres" WITH GRANT OPTION;
+-- GRANT ALL ON FUNCTION "extensions"."uuid_nil"() TO "dashboard_user";
+
+
+--
+-- Name: FUNCTION "uuid_ns_dns"(); Type: ACL; Schema: extensions; Owner: postgres
+--
+
+-- REVOKE ALL ON FUNCTION "extensions"."uuid_ns_dns"() FROM "postgres";
+-- GRANT ALL ON FUNCTION "extensions"."uuid_ns_dns"() TO "postgres" WITH GRANT OPTION;
+-- GRANT ALL ON FUNCTION "extensions"."uuid_ns_dns"() TO "dashboard_user";
+
+
+--
+-- Name: FUNCTION "uuid_ns_oid"(); Type: ACL; Schema: extensions; Owner: postgres
+--
+
+-- REVOKE ALL ON FUNCTION "extensions"."uuid_ns_oid"() FROM "postgres";
+-- GRANT ALL ON FUNCTION "extensions"."uuid_ns_oid"() TO "postgres" WITH GRANT OPTION;
+-- GRANT ALL ON FUNCTION "extensions"."uuid_ns_oid"() TO "dashboard_user";
+
+
+--
+-- Name: FUNCTION "uuid_ns_url"(); Type: ACL; Schema: extensions; Owner: postgres
+--
+
+-- REVOKE ALL ON FUNCTION "extensions"."uuid_ns_url"() FROM "postgres";
+-- GRANT ALL ON FUNCTION "extensions"."uuid_ns_url"() TO "postgres" WITH GRANT OPTION;
+-- GRANT ALL ON FUNCTION "extensions"."uuid_ns_url"() TO "dashboard_user";
+
+
+--
+-- Name: FUNCTION "uuid_ns_x500"(); Type: ACL; Schema: extensions; Owner: postgres
+--
+
+-- REVOKE ALL ON FUNCTION "extensions"."uuid_ns_x500"() FROM "postgres";
+-- GRANT ALL ON FUNCTION "extensions"."uuid_ns_x500"() TO "postgres" WITH GRANT OPTION;
+-- GRANT ALL ON FUNCTION "extensions"."uuid_ns_x500"() TO "dashboard_user";
+
+
+--
+-- Name: FUNCTION "graphql"("operationName" "text", "query" "text", "variables" "jsonb", "extensions" "jsonb"); Type: ACL; Schema: graphql_public; Owner: supabase_admin
+--
+
+-- GRANT ALL ON FUNCTION "graphql_public"."graphql"("operationName" "text", "query" "text", "variables" "jsonb", "extensions" "jsonb") TO "postgres";
+-- GRANT ALL ON FUNCTION "graphql_public"."graphql"("operationName" "text", "query" "text", "variables" "jsonb", "extensions" "jsonb") TO "anon";
+-- GRANT ALL ON FUNCTION "graphql_public"."graphql"("operationName" "text", "query" "text", "variables" "jsonb", "extensions" "jsonb") TO "authenticated";
+-- GRANT ALL ON FUNCTION "graphql_public"."graphql"("operationName" "text", "query" "text", "variables" "jsonb", "extensions" "jsonb") TO "service_role";
+
+
+--
+-- Name: FUNCTION "crypto_aead_det_decrypt"("message" "bytea", "additional" "bytea", "key_uuid" "uuid", "nonce" "bytea"); Type: ACL; Schema: pgsodium; Owner: pgsodium_keymaker
+--
+
+-- GRANT ALL ON FUNCTION "pgsodium"."crypto_aead_det_decrypt"("message" "bytea", "additional" "bytea", "key_uuid" "uuid", "nonce" "bytea") TO "service_role";
+
+
+--
+-- Name: FUNCTION "crypto_aead_det_encrypt"("message" "bytea", "additional" "bytea", "key_uuid" "uuid", "nonce" "bytea"); Type: ACL; Schema: pgsodium; Owner: pgsodium_keymaker
+--
+
+-- GRANT ALL ON FUNCTION "pgsodium"."crypto_aead_det_encrypt"("message" "bytea", "additional" "bytea", "key_uuid" "uuid", "nonce" "bytea") TO "service_role";
+
+
+--
+-- Name: FUNCTION "crypto_aead_det_keygen"(); Type: ACL; Schema: pgsodium; Owner: supabase_admin
+--
+
+-- GRANT ALL ON FUNCTION "pgsodium"."crypto_aead_det_keygen"() TO "service_role";
+
+
+--
+-- Name: FUNCTION "user_badges_increment_click_count"("user_badge_id" bigint); Type: ACL; Schema: public; Owner: postgres
+--
+
+GRANT ALL ON FUNCTION "public"."user_badges_increment_click_count"("user_badge_id" bigint) TO "anon";
+GRANT ALL ON FUNCTION "public"."user_badges_increment_click_count"("user_badge_id" bigint) TO "authenticated";
+GRANT ALL ON FUNCTION "public"."user_badges_increment_click_count"("user_badge_id" bigint) TO "service_role";
+
+
+--
+-- Name: FUNCTION "_crypto_aead_det_decrypt"("message" "bytea", "additional" "bytea", "key_id" bigint, "context" "bytea", "nonce" "bytea"); Type: ACL; Schema: vault; Owner: supabase_admin
+--
+
+-- GRANT ALL ON FUNCTION "vault"."_crypto_aead_det_decrypt"("message" "bytea", "additional" "bytea", "key_id" bigint, "context" "bytea", "nonce" "bytea") TO "postgres" WITH GRANT OPTION;
+-- GRANT ALL ON FUNCTION "vault"."_crypto_aead_det_decrypt"("message" "bytea", "additional" "bytea", "key_id" bigint, "context" "bytea", "nonce" "bytea") TO "service_role";
+
+
+--
+-- Name: FUNCTION "create_secret"("new_secret" "text", "new_name" "text", "new_description" "text", "new_key_id" "uuid"); Type: ACL; Schema: vault; Owner: supabase_admin
+--
+
+-- GRANT ALL ON FUNCTION "vault"."create_secret"("new_secret" "text", "new_name" "text", "new_description" "text", "new_key_id" "uuid") TO "postgres" WITH GRANT OPTION;
+-- GRANT ALL ON FUNCTION "vault"."create_secret"("new_secret" "text", "new_name" "text", "new_description" "text", "new_key_id" "uuid") TO "service_role";
+
+
+--
+-- Name: FUNCTION "update_secret"("secret_id" "uuid", "new_secret" "text", "new_name" "text", "new_description" "text", "new_key_id" "uuid"); Type: ACL; Schema: vault; Owner: supabase_admin
+--
+
+-- GRANT ALL ON FUNCTION "vault"."update_secret"("secret_id" "uuid", "new_secret" "text", "new_name" "text", "new_description" "text", "new_key_id" "uuid") TO "postgres" WITH GRANT OPTION;
+-- GRANT ALL ON FUNCTION "vault"."update_secret"("secret_id" "uuid", "new_secret" "text", "new_name" "text", "new_description" "text", "new_key_id" "uuid") TO "service_role";
+
+
+--
+-- Name: TABLE "pg_stat_statements_info"; Type: ACL; Schema: extensions; Owner: postgres
+--
+
+-- REVOKE ALL ON TABLE "extensions"."pg_stat_statements_info" FROM "postgres";
+-- GRANT MAINTAIN ON TABLE "extensions"."pg_stat_statements_info" TO "postgres";
+-- GRANT SELECT,INSERT,REFERENCES,DELETE,TRIGGER,TRUNCATE,UPDATE ON TABLE "extensions"."pg_stat_statements_info" TO "postgres" WITH GRANT OPTION;
+-- GRANT SELECT,INSERT,REFERENCES,DELETE,TRIGGER,TRUNCATE,UPDATE ON TABLE "extensions"."pg_stat_statements_info" TO "dashboard_user";
+
+
+--
+-- Name: TABLE "decrypted_key"; Type: ACL; Schema: pgsodium; Owner: supabase_admin
+--
+
+-- GRANT SELECT,INSERT,REFERENCES,DELETE,TRIGGER,TRUNCATE,UPDATE ON TABLE "pgsodium"."decrypted_key" TO "pgsodium_keyholder";
+
+
+--
+-- Name: TABLE "masking_rule"; Type: ACL; Schema: pgsodium; Owner: supabase_admin
+--
+
+-- GRANT SELECT,INSERT,REFERENCES,DELETE,TRIGGER,TRUNCATE,UPDATE ON TABLE "pgsodium"."masking_rule" TO "pgsodium_keyholder";
+
+
+--
+-- Name: TABLE "mask_columns"; Type: ACL; Schema: pgsodium; Owner: supabase_admin
+--
+
+-- GRANT SELECT,INSERT,REFERENCES,DELETE,TRIGGER,TRUNCATE,UPDATE ON TABLE "pgsodium"."mask_columns" TO "pgsodium_keyholder";
+
+
+--
+-- Name: TABLE "badges"; Type: ACL; Schema: public; Owner: postgres
+--
+
+GRANT SELECT,INSERT,REFERENCES,DELETE,TRIGGER,TRUNCATE,UPDATE ON TABLE "public"."badges" TO "anon";
+GRANT SELECT,INSERT,REFERENCES,DELETE,TRIGGER,TRUNCATE,UPDATE ON TABLE "public"."badges" TO "authenticated";
+GRANT SELECT,INSERT,REFERENCES,DELETE,TRIGGER,TRUNCATE,UPDATE ON TABLE "public"."badges" TO "service_role";
+
+
+--
+-- Name: SEQUENCE "badges_id_seq"; Type: ACL; Schema: public; Owner: postgres
+--
+
+GRANT ALL ON SEQUENCE "public"."badges_id_seq" TO "anon";
+GRANT ALL ON SEQUENCE "public"."badges_id_seq" TO "authenticated";
+GRANT ALL ON SEQUENCE "public"."badges_id_seq" TO "service_role";
+
+
+--
+-- Name: TABLE "events"; Type: ACL; Schema: public; Owner: postgres
+--
+
+GRANT SELECT,INSERT,REFERENCES,DELETE,TRIGGER,TRUNCATE,UPDATE ON TABLE "public"."events" TO "anon";
+GRANT SELECT,INSERT,REFERENCES,DELETE,TRIGGER,TRUNCATE,UPDATE ON TABLE "public"."events" TO "authenticated";
+GRANT SELECT,INSERT,REFERENCES,DELETE,TRIGGER,TRUNCATE,UPDATE ON TABLE "public"."events" TO "service_role";
+
+
+--
+-- Name: SEQUENCE "events_id_seq"; Type: ACL; Schema: public; Owner: postgres
+--
+
+GRANT ALL ON SEQUENCE "public"."events_id_seq" TO "anon";
+GRANT ALL ON SEQUENCE "public"."events_id_seq" TO "authenticated";
+GRANT ALL ON SEQUENCE "public"."events_id_seq" TO "service_role";
+
+
+--
+-- Name: TABLE "groups"; Type: ACL; Schema: public; Owner: postgres
+--
+
+GRANT SELECT,INSERT,REFERENCES,DELETE,TRIGGER,TRUNCATE,UPDATE ON TABLE "public"."groups" TO "anon";
+GRANT SELECT,INSERT,REFERENCES,DELETE,TRIGGER,TRUNCATE,UPDATE ON TABLE "public"."groups" TO "authenticated";
+GRANT SELECT,INSERT,REFERENCES,DELETE,TRIGGER,TRUNCATE,UPDATE ON TABLE "public"."groups" TO "service_role";
+
+
+--
+-- Name: SEQUENCE "groups_id_seq"; Type: ACL; Schema: public; Owner: postgres
+--
+
+GRANT ALL ON SEQUENCE "public"."groups_id_seq" TO "anon";
+GRANT ALL ON SEQUENCE "public"."groups_id_seq" TO "authenticated";
+GRANT ALL ON SEQUENCE "public"."groups_id_seq" TO "service_role";
+
+
+--
+-- Name: TABLE "user_badges"; Type: ACL; Schema: public; Owner: postgres
+--
+
+GRANT SELECT,INSERT,REFERENCES,DELETE,TRIGGER,TRUNCATE,UPDATE ON TABLE "public"."user_badges" TO "anon";
+GRANT SELECT,INSERT,REFERENCES,DELETE,TRIGGER,TRUNCATE,UPDATE ON TABLE "public"."user_badges" TO "authenticated";
+GRANT SELECT,INSERT,REFERENCES,DELETE,TRIGGER,TRUNCATE,UPDATE ON TABLE "public"."user_badges" TO "service_role";
+
+
+--
+-- Name: SEQUENCE "user_badges_id_seq"; Type: ACL; Schema: public; Owner: postgres
+--
+
+GRANT ALL ON SEQUENCE "public"."user_badges_id_seq" TO "anon";
+GRANT ALL ON SEQUENCE "public"."user_badges_id_seq" TO "authenticated";
+GRANT ALL ON SEQUENCE "public"."user_badges_id_seq" TO "service_role";
+
+
+--
+-- Name: TABLE "user_configuration"; Type: ACL; Schema: public; Owner: postgres
+--
+
+GRANT SELECT,INSERT,REFERENCES,DELETE,TRIGGER,TRUNCATE,UPDATE ON TABLE "public"."user_configuration" TO "anon";
+GRANT SELECT,INSERT,REFERENCES,DELETE,TRIGGER,TRUNCATE,UPDATE ON TABLE "public"."user_configuration" TO "authenticated";
+GRANT SELECT,INSERT,REFERENCES,DELETE,TRIGGER,TRUNCATE,UPDATE ON TABLE "public"."user_configuration" TO "service_role";
+
+
+--
+-- Name: SEQUENCE "user_configuration_id_seq"; Type: ACL; Schema: public; Owner: postgres
+--
+
+GRANT ALL ON SEQUENCE "public"."user_configuration_id_seq" TO "anon";
+GRANT ALL ON SEQUENCE "public"."user_configuration_id_seq" TO "authenticated";
+GRANT ALL ON SEQUENCE "public"."user_configuration_id_seq" TO "service_role";
+
+
+--
+-- Name: TABLE "user_notifications"; Type: ACL; Schema: public; Owner: postgres
+--
+
+GRANT SELECT,INSERT,REFERENCES,DELETE,TRIGGER,TRUNCATE,UPDATE ON TABLE "public"."user_notifications" TO "anon";
+GRANT SELECT,INSERT,REFERENCES,DELETE,TRIGGER,TRUNCATE,UPDATE ON TABLE "public"."user_notifications" TO "authenticated";
+GRANT SELECT,INSERT,REFERENCES,DELETE,TRIGGER,TRUNCATE,UPDATE ON TABLE "public"."user_notifications" TO "service_role";
+
+
+--
+-- Name: SEQUENCE "user_notifications_id_seq"; Type: ACL; Schema: public; Owner: postgres
+--
+
+GRANT ALL ON SEQUENCE "public"."user_notifications_id_seq" TO "anon";
+GRANT ALL ON SEQUENCE "public"."user_notifications_id_seq" TO "authenticated";
+GRANT ALL ON SEQUENCE "public"."user_notifications_id_seq" TO "service_role";
+
+
+--
+-- Name: TABLE "user_preferences"; Type: ACL; Schema: public; Owner: postgres
+--
+
+GRANT SELECT,INSERT,REFERENCES,DELETE,TRIGGER,TRUNCATE,UPDATE ON TABLE "public"."user_preferences" TO "anon";
+GRANT SELECT,INSERT,REFERENCES,DELETE,TRIGGER,TRUNCATE,UPDATE ON TABLE "public"."user_preferences" TO "authenticated";
+GRANT SELECT,INSERT,REFERENCES,DELETE,TRIGGER,TRUNCATE,UPDATE ON TABLE "public"."user_preferences" TO "service_role";
+
+
+--
+-- Name: SEQUENCE "user_preferences_id_seq"; Type: ACL; Schema: public; Owner: postgres
+--
+
+GRANT ALL ON SEQUENCE "public"."user_preferences_id_seq" TO "anon";
+GRANT ALL ON SEQUENCE "public"."user_preferences_id_seq" TO "authenticated";
+GRANT ALL ON SEQUENCE "public"."user_preferences_id_seq" TO "service_role";
+
+
+--
+-- Name: TABLE "user_tracker"; Type: ACL; Schema: public; Owner: postgres
+--
+
+GRANT SELECT,INSERT,REFERENCES,DELETE,TRIGGER,TRUNCATE,UPDATE ON TABLE "public"."user_tracker" TO "anon";
+GRANT SELECT,INSERT,REFERENCES,DELETE,TRIGGER,TRUNCATE,UPDATE ON TABLE "public"."user_tracker" TO "authenticated";
+GRANT SELECT,INSERT,REFERENCES,DELETE,TRIGGER,TRUNCATE,UPDATE ON TABLE "public"."user_tracker" TO "service_role";
+
+
+--
+-- Name: SEQUENCE "user_tracker_id_seq"; Type: ACL; Schema: public; Owner: postgres
+--
+
+GRANT ALL ON SEQUENCE "public"."user_tracker_id_seq" TO "anon";
+GRANT ALL ON SEQUENCE "public"."user_tracker_id_seq" TO "authenticated";
+GRANT ALL ON SEQUENCE "public"."user_tracker_id_seq" TO "service_role";
+
+
+--
+-- Name: TABLE "secrets"; Type: ACL; Schema: vault; Owner: supabase_admin
+--
+
+-- GRANT SELECT,REFERENCES,DELETE,TRUNCATE ON TABLE "vault"."secrets" TO "postgres" WITH GRANT OPTION;
+-- GRANT SELECT,DELETE ON TABLE "vault"."secrets" TO "service_role";
+
+
+--
+-- Name: TABLE "decrypted_secrets"; Type: ACL; Schema: vault; Owner: supabase_admin
+--
+
+-- GRANT SELECT,REFERENCES,DELETE,TRUNCATE ON TABLE "vault"."decrypted_secrets" TO "postgres" WITH GRANT OPTION;
+-- GRANT SELECT,DELETE ON TABLE "vault"."decrypted_secrets" TO "service_role";
+
+
+--
+-- Name: DEFAULT PRIVILEGES FOR SEQUENCES; Type: DEFAULT ACL; Schema: public; Owner: supabase_admin
+--
+
+-- ALTER DEFAULT PRIVILEGES FOR ROLE "supabase_admin" IN SCHEMA "public" GRANT ALL ON SEQUENCES TO "postgres";
+-- ALTER DEFAULT PRIVILEGES FOR ROLE "supabase_admin" IN SCHEMA "public" GRANT ALL ON SEQUENCES TO "anon";
+-- ALTER DEFAULT PRIVILEGES FOR ROLE "supabase_admin" IN SCHEMA "public" GRANT ALL ON SEQUENCES TO "authenticated";
+-- ALTER DEFAULT PRIVILEGES FOR ROLE "supabase_admin" IN SCHEMA "public" GRANT ALL ON SEQUENCES TO "service_role";
+
+
+--
+-- Name: DEFAULT PRIVILEGES FOR SEQUENCES; Type: DEFAULT ACL; Schema: public; Owner: postgres
+--
+
+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";
+
+
+--
+-- Name: DEFAULT PRIVILEGES FOR FUNCTIONS; Type: DEFAULT ACL; Schema: public; Owner: supabase_admin
+--
+
+-- ALTER DEFAULT PRIVILEGES FOR ROLE "supabase_admin" IN SCHEMA "public" GRANT ALL ON FUNCTIONS TO "postgres";
+-- ALTER DEFAULT PRIVILEGES FOR ROLE "supabase_admin" IN SCHEMA "public" GRANT ALL ON FUNCTIONS TO "anon";
+-- ALTER DEFAULT PRIVILEGES FOR ROLE "supabase_admin" IN SCHEMA "public" GRANT ALL ON FUNCTIONS TO "authenticated";
+-- ALTER DEFAULT PRIVILEGES FOR ROLE "supabase_admin" IN SCHEMA "public" GRANT ALL ON FUNCTIONS TO "service_role";
+
+
+--
+-- Name: DEFAULT PRIVILEGES FOR FUNCTIONS; Type: DEFAULT ACL; Schema: public; Owner: postgres
+--
+
+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";
+
+
+--
+-- Name: DEFAULT PRIVILEGES FOR TABLES; Type: DEFAULT ACL; Schema: public; Owner: supabase_admin
+--
+
+-- ALTER DEFAULT PRIVILEGES FOR ROLE "supabase_admin" IN SCHEMA "public" GRANT SELECT,INSERT,REFERENCES,DELETE,TRIGGER,TRUNCATE,UPDATE ON TABLES TO "postgres";
+-- ALTER DEFAULT PRIVILEGES FOR ROLE "supabase_admin" IN SCHEMA "public" GRANT SELECT,INSERT,REFERENCES,DELETE,TRIGGER,TRUNCATE,UPDATE ON TABLES TO "anon";
+-- ALTER DEFAULT PRIVILEGES FOR ROLE "supabase_admin" IN SCHEMA "public" GRANT SELECT,INSERT,REFERENCES,DELETE,TRIGGER,TRUNCATE,UPDATE ON TABLES TO "authenticated";
+-- ALTER DEFAULT PRIVILEGES FOR ROLE "supabase_admin" IN SCHEMA "public" GRANT SELECT,INSERT,REFERENCES,DELETE,TRIGGER,TRUNCATE,UPDATE ON TABLES TO "service_role";
+
+
+--
+-- Name: DEFAULT PRIVILEGES FOR TABLES; Type: DEFAULT ACL; Schema: public; Owner: postgres
+--
+
+ALTER DEFAULT PRIVILEGES FOR ROLE "postgres" IN SCHEMA "public" GRANT SELECT,INSERT,REFERENCES,DELETE,TRIGGER,TRUNCATE,UPDATE ON TABLES TO "postgres";
+ALTER DEFAULT PRIVILEGES FOR ROLE "postgres" IN SCHEMA "public" GRANT SELECT,INSERT,REFERENCES,DELETE,TRIGGER,TRUNCATE,UPDATE ON TABLES TO "anon";
+ALTER DEFAULT PRIVILEGES FOR ROLE "postgres" IN SCHEMA "public" GRANT SELECT,INSERT,REFERENCES,DELETE,TRIGGER,TRUNCATE,UPDATE ON TABLES TO "authenticated";
+ALTER DEFAULT PRIVILEGES FOR ROLE "postgres" IN SCHEMA "public" GRANT SELECT,INSERT,REFERENCES,DELETE,TRIGGER,TRUNCATE,UPDATE ON TABLES TO "service_role";
+
+
+--
+-- Name: issue_graphql_placeholder; Type: EVENT TRIGGER; Schema: -; Owner: supabase_admin
+--
+
+-- CREATE EVENT TRIGGER "issue_graphql_placeholder" ON "sql_drop"
+-- WHEN TAG IN ('DROP EXTENSION')
+-- EXECUTE FUNCTION "extensions"."set_graphql_placeholder"();
+
+
+-- ALTER EVENT TRIGGER "issue_graphql_placeholder" OWNER TO "supabase_admin";
+
+--
+-- Name: issue_pg_cron_access; Type: EVENT TRIGGER; Schema: -; Owner: supabase_admin
+--
+
+-- CREATE EVENT TRIGGER "issue_pg_cron_access" ON "ddl_command_end"
+-- WHEN TAG IN ('CREATE EXTENSION')
+-- EXECUTE FUNCTION "extensions"."grant_pg_cron_access"();
+
+
+-- ALTER EVENT TRIGGER "issue_pg_cron_access" OWNER TO "supabase_admin";
+
+--
+-- Name: issue_pg_graphql_access; Type: EVENT TRIGGER; Schema: -; Owner: supabase_admin
+--
+
+-- CREATE EVENT TRIGGER "issue_pg_graphql_access" ON "ddl_command_end"
+-- WHEN TAG IN ('CREATE FUNCTION')
+-- EXECUTE FUNCTION "extensions"."grant_pg_graphql_access"();
+
+
+-- ALTER EVENT TRIGGER "issue_pg_graphql_access" OWNER TO "supabase_admin";
+
+--
+-- Name: issue_pg_net_access; Type: EVENT TRIGGER; Schema: -; Owner: postgres
+--
+
+-- CREATE EVENT TRIGGER "issue_pg_net_access" ON "ddl_command_end"
+-- WHEN TAG IN ('CREATE EXTENSION')
+-- EXECUTE FUNCTION "extensions"."grant_pg_net_access"();
+
+
+-- ALTER EVENT TRIGGER "issue_pg_net_access" OWNER TO "postgres";
+
+--
+-- Name: pgrst_ddl_watch; Type: EVENT TRIGGER; Schema: -; Owner: supabase_admin
+--
+
+-- CREATE EVENT TRIGGER "pgrst_ddl_watch" ON "ddl_command_end"
+-- EXECUTE FUNCTION "extensions"."pgrst_ddl_watch"();
+
+
+-- ALTER EVENT TRIGGER "pgrst_ddl_watch" OWNER TO "supabase_admin";
+
+--
+-- Name: pgrst_drop_watch; Type: EVENT TRIGGER; Schema: -; Owner: supabase_admin
+--
+
+-- CREATE EVENT TRIGGER "pgrst_drop_watch" ON "sql_drop"
+-- EXECUTE FUNCTION "extensions"."pgrst_drop_watch"();
+
+
+-- ALTER EVENT TRIGGER "pgrst_drop_watch" OWNER TO "supabase_admin";
+
+--
+-- PostgreSQL database dump complete
+--
+
+-- \unrestrict ayCRchpk9QYAkH0FR7MzsPfEkgyq5Y02kQfarpa01RE4AwEybP0seWKhOVsHiST
+