summaryrefslogtreecommitdiff
path: root/db/dump.sql
diff options
context:
space:
mode:
Diffstat (limited to 'db/dump.sql')
-rw-r--r--db/dump.sql250
1 files changed, 249 insertions, 1 deletions
diff --git a/db/dump.sql b/db/dump.sql
index 5cb3a51..9486eb6 100644
--- a/db/dump.sql
+++ b/db/dump.sql
@@ -32,6 +32,28 @@ COMMENT ON EXTENSION pgcrypto IS 'cryptographic functions';
--
+-- Name: assignment_state; Type: TYPE; Schema: public; Owner: postgres
+--
+
+CREATE TYPE public.assignment_state AS ENUM (
+ 'AWAITING_GARDENER_NOTIFICATION',
+ 'AWAITING_FINISH',
+ 'AWAITING_WATERMARKING',
+ 'AWAITING_OWNER_NOTIFICATION',
+ 'DONE'
+);
+
+
+ALTER TYPE public.assignment_state OWNER TO postgres;
+
+--
+-- Name: TYPE assignment_state; Type: COMMENT; Schema: public; Owner: postgres
+--
+
+COMMENT ON TYPE public.assignment_state IS 'The states for an assignment.';
+
+
+--
-- Name: role; Type: TYPE; Schema: public; Owner: postgres
--
@@ -55,6 +77,120 @@ SET default_tablespace = '';
SET default_table_access_method = heap;
--
+-- Name: assignments; Type: TABLE; Schema: public; Owner: postgres
+--
+
+CREATE TABLE public.assignments (
+ id integer NOT NULL,
+ gardener_id integer NOT NULL,
+ cemetary_plot_id integer NOT NULL,
+ date date,
+ state public.assignment_state DEFAULT 'AWAITING_GARDENER_NOTIFICATION'::public.assignment_state NOT NULL,
+ note text
+);
+
+
+ALTER TABLE public.assignments OWNER TO postgres;
+
+--
+-- Name: COLUMN assignments.note; Type: COMMENT; Schema: public; Owner: postgres
+--
+
+COMMENT ON COLUMN public.assignments.note IS 'When an assignment is finished, the gardener can supply a note.';
+
+
+--
+-- Name: assignments_id_seq; Type: SEQUENCE; Schema: public; Owner: postgres
+--
+
+ALTER TABLE public.assignments ALTER COLUMN id ADD GENERATED ALWAYS AS IDENTITY (
+ SEQUENCE NAME public.assignments_id_seq
+ START WITH 1
+ INCREMENT BY 1
+ NO MINVALUE
+ NO MAXVALUE
+ CACHE 1
+);
+
+
+--
+-- Name: cemetary_plots; Type: TABLE; Schema: public; Owner: postgres
+--
+
+CREATE TABLE public.cemetary_plots (
+ id integer NOT NULL,
+ address text NOT NULL,
+ owner_id integer NOT NULL,
+ assignment_interval interval day DEFAULT '14 days'::interval NOT NULL
+);
+
+
+ALTER TABLE public.cemetary_plots OWNER TO postgres;
+
+--
+-- Name: COLUMN cemetary_plots.assignment_interval; Type: COMMENT; Schema: public; Owner: postgres
+--
+
+COMMENT ON COLUMN public.cemetary_plots.assignment_interval IS 'The interval between when cleaning assignments. If there was a job at time N, the next one would be at N + assignment_interval.';
+
+
+--
+-- Name: cementary_plots_id_seq; Type: SEQUENCE; Schema: public; Owner: postgres
+--
+
+ALTER TABLE public.cemetary_plots ALTER COLUMN id ADD GENERATED ALWAYS AS IDENTITY (
+ SEQUENCE NAME public.cementary_plots_id_seq
+ START WITH 1
+ INCREMENT BY 1
+ NO MINVALUE
+ NO MAXVALUE
+ CACHE 1
+);
+
+
+--
+-- Name: images; Type: TABLE; Schema: public; Owner: postgres
+--
+
+CREATE TABLE public.images (
+ id integer NOT NULL,
+ s3_path text NOT NULL,
+ original_filename text NOT NULL,
+ assignment_id integer
+);
+
+
+ALTER TABLE public.images OWNER TO postgres;
+
+--
+-- Name: TABLE images; Type: COMMENT; Schema: public; Owner: postgres
+--
+
+COMMENT ON TABLE public.images IS 'This table stores the images uploaded when finishing an assignment.';
+
+
+--
+-- Name: COLUMN images.assignment_id; Type: COMMENT; Schema: public; Owner: postgres
+--
+
+COMMENT ON COLUMN public.images.assignment_id IS 'Reference to the owning assignment';
+
+
+--
+-- Name: images_id_seq; Type: SEQUENCE; Schema: public; Owner: postgres
+--
+
+ALTER TABLE public.images ALTER COLUMN id ADD GENERATED ALWAYS AS IDENTITY (
+ SEQUENCE NAME public.images_id_seq
+ START WITH 1
+ INCREMENT BY 1
+ NO MINVALUE
+ NO MAXVALUE
+ CACHE 1
+);
+
+
+--
-- Name: sessions; Type: TABLE; Schema: public; Owner: postgres
--
@@ -105,12 +241,44 @@ ALTER TABLE public.users ALTER COLUMN id ADD GENERATED ALWAYS AS IDENTITY (
--
+-- Data for Name: assignments; Type: TABLE DATA; Schema: public; Owner: postgres
+--
+
+COPY public.assignments (id, gardener_id, cemetary_plot_id, date, state, note) FROM stdin;
+2 1 2 2025-03-05 AWAITING_GARDENER_NOTIFICATION \N
+1 1 1 2025-02-28 AWAITING_WATERMARKING \N
+\.
+
+
+--
+-- Data for Name: cemetary_plots; Type: TABLE DATA; Schema: public; Owner: postgres
+--
+
+COPY public.cemetary_plots (id, address, owner_id, assignment_interval) FROM stdin;
+1 24B, Kirkevej 64, Egå 8328 4 21 days
+2 26C, Kirkevej 64, Egå 8328 5 14 days
+\.
+
+
+--
+-- Data for Name: images; Type: TABLE DATA; Schema: public; Owner: postgres
+--
+
+COPY public.images (id, s3_path, original_filename, assignment_id) FROM stdin;
+3 fe5e7c27-99c4-4d4b-ba77-fcad5c6607e3 eva.jpeg 1
+\.
+
+
+--
-- Data for Name: sessions; Type: TABLE DATA; Schema: public; Owner: postgres
--
COPY public.sessions (token, user_id, expires_at) FROM stdin;
je2bic5i5jou7woob4ehreoqojuir4co 1 2025-03-19 18:04:35.904+01
27ghlb4vzh543kxpnkniip2oai6q4dvx 1 2025-03-19 18:04:47.722+01
+bjt7wgbfrlzrg7fhphsxezpc7fornezv 1 2025-03-19 20:42:57.838+01
+bgrgdtxmiq44ig6dh32pop4wkterqj6r 1 2025-03-20 18:03:54.199+01
+q6ifvlkjdoncw5usnb37da3sf4y3fxyq 1 2025-03-20 20:01:53.318+01
\.
@@ -122,14 +290,54 @@ COPY public.users (id, role, first_name, last_name, password_hash, email) FROM s
1 gardener Emil Blomst $2a$06$vw1iVTLDQzeUwmhyW17ZzeJL.gyC4xWWzAwvJO8dsZi7Jdg2w5zbu [email protected]
2 gardener Sarah Hækkesen $2a$06$RyzzMad/jmKZwg9hRDymCO/KvxiSUFcdYQZdxB9trHHOU3tKhtFIK sarah.hækkesen@kirkefætrene.dk
3 gardener Sten Graversen $2a$06$/InJ2HFv1/z0YVXMwoHWZuV7aTlWl3GH9csKEvN5gb4nEPSECEdFq [email protected]
+4 owner Lotte Ejersen $2a$06$C1JTdp2y9lIO57S7kGsBruE2oLj87AYpNNrZqx/5Zgap5lqcDj.my [email protected]
+5 owner Mads Hylgaard Jensen $2a$06$FuFHsoFo1cPJ9ms9TceVG..2BAHAyJpE2NyBUTH9JnG6v8GWuOh4u [email protected]
+6 owner Lukas Ibasen $2a$06$p2nOFXtLC0YE/7TTxqzUOeEfpPKVjVZr2sge1KBFT/7lrx2rpsvO2 [email protected]
\.
--
+-- Name: assignments_id_seq; Type: SEQUENCE SET; Schema: public; Owner: postgres
+--
+
+SELECT pg_catalog.setval('public.assignments_id_seq', 2, true);
+
+
+--
+-- Name: cementary_plots_id_seq; Type: SEQUENCE SET; Schema: public; Owner: postgres
+--
+
+SELECT pg_catalog.setval('public.cementary_plots_id_seq', 2, true);
+
+
+--
+-- Name: images_id_seq; Type: SEQUENCE SET; Schema: public; Owner: postgres
+--
+
+SELECT pg_catalog.setval('public.images_id_seq', 3, true);
+
+
+--
-- Name: users_id_seq; Type: SEQUENCE SET; Schema: public; Owner: postgres
--
-SELECT pg_catalog.setval('public.users_id_seq', 3, true);
+SELECT pg_catalog.setval('public.users_id_seq', 6, true);
+
+
+--
+-- Name: assignments assignments_id_pkey; Type: CONSTRAINT; Schema: public; Owner: postgres
+--
+
+ALTER TABLE ONLY public.assignments
+ ADD CONSTRAINT assignments_id_pkey PRIMARY KEY (id);
+
+
+--
+-- Name: cemetary_plots cemetary_plots_pkey; Type: CONSTRAINT; Schema: public; Owner: postgres
+--
+
+ALTER TABLE ONLY public.cemetary_plots
+ ADD CONSTRAINT cemetary_plots_pkey PRIMARY KEY (id);
--
@@ -148,6 +356,14 @@ COMMENT ON CONSTRAINT email_uniqueness ON public.users IS 'Multiple users cannot
--
+-- Name: images images_s3_path_key; Type: CONSTRAINT; Schema: public; Owner: postgres
+--
+
+ALTER TABLE ONLY public.images
+ ADD CONSTRAINT images_s3_path_key UNIQUE (s3_path);
+
+
+--
-- Name: sessions sessions_pkey; Type: CONSTRAINT; Schema: public; Owner: postgres
--
@@ -164,6 +380,38 @@ ALTER TABLE ONLY public.users
--
+-- Name: assignments assignments_cemetary_plot_id_fkey; Type: FK CONSTRAINT; Schema: public; Owner: postgres
+--
+
+ALTER TABLE ONLY public.assignments
+ ADD CONSTRAINT assignments_cemetary_plot_id_fkey FOREIGN KEY (cemetary_plot_id) REFERENCES public.cemetary_plots(id);
+
+
+--
+-- Name: assignments assignments_gardener_id_fkey; Type: FK CONSTRAINT; Schema: public; Owner: postgres
+--
+
+ALTER TABLE ONLY public.assignments
+ ADD CONSTRAINT assignments_gardener_id_fkey FOREIGN KEY (gardener_id) REFERENCES public.users(id);
+
+
+--
+-- Name: cemetary_plots cemetary_plots_owner_id_fkey; Type: FK CONSTRAINT; Schema: public; Owner: postgres
+--
+
+ALTER TABLE ONLY public.cemetary_plots
+ ADD CONSTRAINT cemetary_plots_owner_id_fkey FOREIGN KEY (owner_id) REFERENCES public.users(id);
+
+
+--
+-- Name: images images_assignment_id_fkey; Type: FK CONSTRAINT; Schema: public; Owner: postgres
+--
+
+ALTER TABLE ONLY public.images
+ ADD CONSTRAINT images_assignment_id_fkey FOREIGN KEY (assignment_id) REFERENCES public.assignments(id) ON UPDATE CASCADE ON DELETE CASCADE;
+
+
+--
-- Name: sessions sessions_userid_fkey; Type: FK CONSTRAINT; Schema: public; Owner: postgres
--