From 2709e8ba549eddd320cc86e310b36d867393ec20 Mon Sep 17 00:00:00 2001 From: Nikolaos Laskaris Date: Thu, 12 Oct 2017 16:57:52 +0200 Subject: [PATCH] Added UserInfo and UserAuth tables --- dmp-db-scema/DataManagementPlanDB.sql | 43 ++++++++++++++++++++++----- 1 file changed, 35 insertions(+), 8 deletions(-) diff --git a/dmp-db-scema/DataManagementPlanDB.sql b/dmp-db-scema/DataManagementPlanDB.sql index 5d46d5259..6cee82d02 100644 --- a/dmp-db-scema/DataManagementPlanDB.sql +++ b/dmp-db-scema/DataManagementPlanDB.sql @@ -447,20 +447,47 @@ ALTER TABLE ONLY "DatasetService" ADD CONSTRAINT "DatasetServiceServiceReference" FOREIGN KEY ("Service") REFERENCES "Service"("ID"); + +DROP table if exists "UserInfo"; + CREATE TABLE "UserInfo" ( "autoid" uuid DEFAULT uuid_generate_v4() NOT NULL, - "id" character varying(500), - "email" character varying(250), - "emailIsVerified" boolean, + "identification" character varying(500) NOT NULL, + "email" character varying(250) NOT NULL, + "authorization_level" smallint NOT NULL, + "usertype" smallint NOT NULL, + "authentication" uuid, + "verified_email" boolean, "name" character varying(250), - "pictureUrl" character varying(500), - "locale" character varying(50), - "familyName" character varying(250), - "givenName" character varying(250), + "created" timestamp, + "lastloggedin" timestamp, "additionalinfo" xml, - PRIMARY KEY (id, email) + PRIMARY KEY (identification, email) ); +COMMENT ON COLUMN "UserInfo"."authorization_level" IS 'This stores the authorization level of the user: 0 admin, 1 user, being able to be extended furthermore'; +COMMENT ON COLUMN "UserInfo"."usertype" IS 'This stores the type of user: 0 -> internal, 1 external'; + + +DROP table if exists "UserAuth"; + +CREATE TABLE "UserAuth" ( + "id" uuid DEFAULT uuid_generate_v4() NOT NULL, + "username" character varying(200) NOT NULL, + "password" character varying(250) NOT NULL, + PRIMARY KEY (id) +); + +CREATE INDEX idx_userauth_username ON "UserAuth"(username); + +ALTER TABLE "UserInfo" ADD CONSTRAINT fkey_userinfo_userauth FOREIGN KEY ("authentication") REFERENCES "UserAuth"(id); + +COMMENT ON COLUMN "UserAuth"."password" IS 'This field stores a password hash'; + +ALTER TABLE "UserInfo" OWNER TO dmptool; +ALTER TABLE "UserAuth" OWNER TO dmptool; + + REVOKE ALL ON SCHEMA public FROM PUBLIC; REVOKE ALL ON SCHEMA public FROM postgres;