aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorFuwn <[email protected]>2026-01-23 21:39:38 -0800
committerFuwn <[email protected]>2026-01-23 21:39:38 -0800
commit81979b722c3051f5a669dc3720be2c902af1b08a (patch)
treeaea9b1483ea59783a52fd2b6d6bcacb946b7a9a5
parentfix(graphql): Resolve resolver type mismatches and improve error handling (diff)
downloaddue.moe-81979b722c3051f5a669dc3720be2c902af1b08a.tar.xz
due.moe-81979b722c3051f5a669dc3720be2c902af1b08a.zip
chore: Add Supabase schema for reference
-rw-r--r--supabase-schema.sql99
1 files changed, 99 insertions, 0 deletions
diff --git a/supabase-schema.sql b/supabase-schema.sql
new file mode 100644
index 00000000..c8a5d584
--- /dev/null
+++ b/supabase-schema.sql
@@ -0,0 +1,99 @@
+-- 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)
+);