Protected POST /account and fixed with JWT stuff in general

This commit is contained in:
2021-01-03 18:21:42 +01:00
parent bb7e525adc
commit a36ec47324
13 changed files with 352 additions and 40 deletions

View File

@@ -3,11 +3,11 @@
CREATE TABLE "accounts" (
"id" uuid PRIMARY KEY,
"created" timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP,
"accountName" text NOT NULL,
"name" text NOT NULL,
"apiKey" text,
"password" text
);
CREATE UNIQUE INDEX idx_accountname ON accounts ("accountName");
CREATE UNIQUE INDEX idx_accountname ON accounts ("name");
CREATE TABLE "accountsFields" (
"id" uuid PRIMARY KEY,
@@ -20,4 +20,15 @@ ALTER TABLE "accountsFields"
ADD FOREIGN KEY ("accountId") REFERENCES "accounts" ("id") ON DELETE RESTRICT ON UPDATE RESTRICT;
CREATE UNIQUE INDEX idx_accountsfields ON "accountsFields" ("accountId", "name");
CREATE TABLE "renewalTokens" (
"accountId" uuid NOT NULL,
"exp" timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP + '24 hours',
"token" char(60) NOT NULL
);
ALTER TABLE "renewalTokens"
ADD FOREIGN KEY ("accountId") REFERENCES "accounts" ("id") ON DELETE RESTRICT ON UPDATE RESTRICT;
CREATE INDEX idx_renewaltokensaccountid ON "renewalTokens" ("accountId");
CREATE INDEX idx_renewaltokensexp ON "renewalTokens" ("exp");
CREATE INDEX idx_renewaltokenstoken ON "renewalTokens" ("token");
-- migrate:down

View File

@@ -20,7 +20,7 @@ SET default_table_access_method = heap;
CREATE TABLE public.accounts (
id uuid NOT NULL,
created timestamp without time zone DEFAULT CURRENT_TIMESTAMP NOT NULL,
"accountName" text NOT NULL,
name text NOT NULL,
"apiKey" text,
password text
);
@@ -39,6 +39,17 @@ CREATE TABLE public."accountsFields" (
);
--
-- Name: renewalTokens; Type: TABLE; Schema: public; Owner: -
--
CREATE TABLE public."renewalTokens" (
"accountId" uuid NOT NULL,
exp timestamp without time zone DEFAULT (CURRENT_TIMESTAMP + '24:00:00'::interval) NOT NULL,
token character(60) NOT NULL
);
--
-- Name: schema_migrations; Type: TABLE; Schema: public; Owner: -
--
@@ -76,7 +87,7 @@ ALTER TABLE ONLY public.schema_migrations
-- Name: idx_accountname; Type: INDEX; Schema: public; Owner: -
--
CREATE UNIQUE INDEX idx_accountname ON public.accounts USING btree ("accountName");
CREATE UNIQUE INDEX idx_accountname ON public.accounts USING btree (name);
--
@@ -86,6 +97,27 @@ CREATE UNIQUE INDEX idx_accountname ON public.accounts USING btree ("accountName
CREATE UNIQUE INDEX idx_accountsfields ON public."accountsFields" USING btree ("accountId", name);
--
-- Name: idx_renewaltokensaccountid; Type: INDEX; Schema: public; Owner: -
--
CREATE INDEX idx_renewaltokensaccountid ON public."renewalTokens" USING btree ("accountId");
--
-- Name: idx_renewaltokensexp; Type: INDEX; Schema: public; Owner: -
--
CREATE INDEX idx_renewaltokensexp ON public."renewalTokens" USING btree (exp);
--
-- Name: idx_renewaltokenstoken; Type: INDEX; Schema: public; Owner: -
--
CREATE INDEX idx_renewaltokenstoken ON public."renewalTokens" USING btree (token);
--
-- Name: accountsFields accountsFields_accountId_fkey; Type: FK CONSTRAINT; Schema: public; Owner: -
--
@@ -94,6 +126,14 @@ ALTER TABLE ONLY public."accountsFields"
ADD CONSTRAINT "accountsFields_accountId_fkey" FOREIGN KEY ("accountId") REFERENCES public.accounts(id) ON UPDATE RESTRICT ON DELETE RESTRICT;
--
-- Name: renewalTokens renewalTokens_accountId_fkey; Type: FK CONSTRAINT; Schema: public; Owner: -
--
ALTER TABLE ONLY public."renewalTokens"
ADD CONSTRAINT "renewalTokens_accountId_fkey" FOREIGN KEY ("accountId") REFERENCES public.accounts(id) ON UPDATE RESTRICT ON DELETE RESTRICT;
--
-- PostgreSQL database dump complete
--