From 2709e8ba549eddd320cc86e310b36d867393ec20 Mon Sep 17 00:00:00 2001 From: Nikolaos Laskaris Date: Thu, 12 Oct 2017 16:57:52 +0200 Subject: [PATCH 1/2] 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; From 592dcbc70615e2c68ef75d287f402695c68358fc Mon Sep 17 00:00:00 2001 From: Nikolaos Laskaris Date: Thu, 12 Oct 2017 17:17:34 +0200 Subject: [PATCH 2/2] Minor change --- dmp-db-scema/DataManagementPlanDB.sql | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/dmp-db-scema/DataManagementPlanDB.sql b/dmp-db-scema/DataManagementPlanDB.sql index 6cee82d02..9a97eae62 100644 --- a/dmp-db-scema/DataManagementPlanDB.sql +++ b/dmp-db-scema/DataManagementPlanDB.sql @@ -447,7 +447,6 @@ ALTER TABLE ONLY "DatasetService" ADD CONSTRAINT "DatasetServiceServiceReference" FOREIGN KEY ("Service") REFERENCES "Service"("ID"); - DROP table if exists "UserInfo"; CREATE TABLE "UserInfo" ( @@ -472,10 +471,10 @@ COMMENT ON COLUMN "UserInfo"."usertype" IS 'This stores the type of user: 0 -> i DROP table if exists "UserAuth"; CREATE TABLE "UserAuth" ( - "id" uuid DEFAULT uuid_generate_v4() NOT NULL, + "id" uuid DEFAULT uuid_generate_v4() NOT NULL UNIQUE, "username" character varying(200) NOT NULL, "password" character varying(250) NOT NULL, - PRIMARY KEY (id) + PRIMARY KEY (username) ); CREATE INDEX idx_userauth_username ON "UserAuth"(username);