From 540d73002790efac6526eb249d4140000d3934c2 Mon Sep 17 00:00:00 2001 From: Sukanya Rath Date: Tue, 25 Jun 2024 12:16:35 -0700 Subject: [PATCH] added onboarding expiry Signed-off-by: Sukanya Rath --- .../db/migrations/V1.0.27__admin_tables.sql | 19 ++++++++++--------- backend/src/v1/prisma/schema.prisma | 3 +-- backend/src/v1/services/admin-auth-service.ts | 2 ++ .../src/v1/services/admin-users-services.ts | 3 ++- 4 files changed, 15 insertions(+), 12 deletions(-) diff --git a/backend/db/migrations/V1.0.27__admin_tables.sql b/backend/db/migrations/V1.0.27__admin_tables.sql index 8acd2e79..88f80763 100644 --- a/backend/db/migrations/V1.0.27__admin_tables.sql +++ b/backend/db/migrations/V1.0.27__admin_tables.sql @@ -2,15 +2,15 @@ SET search_path TO pay_transparency; create table if not exists admin_user ( - admin_user_id uuid not null default gen_random_uuid(), - idir_user_guid uuid not null, - display_name varchar(255) not null, - create_date timestamp default current_timestamp not null, - create_user varchar(255) not null, - update_date timestamp default current_timestamp not null, - update_user varchar(255) not null, - is_active boolean default true not null, - assigned_roles varchar(255) not null, + admin_user_id uuid not null default gen_random_uuid(), + idir_user_guid uuid not null, + display_name varchar(255) not null, + create_date timestamp default current_timestamp not null, + create_user varchar(255) not null, + update_date timestamp default current_timestamp not null, + update_user varchar(255) not null, + is_active boolean default true not null, + assigned_roles varchar(255) not null, constraint admin_user_id_pk primary key (admin_user_id) ); @@ -39,6 +39,7 @@ create table if not exists admin_user_onboarding create_date timestamp default current_timestamp not null, created_by uuid not null, is_onboarded boolean default false not null, + expiry_date timestamp not null, constraint admin_user_onboarding_id_pk primary key (admin_user_onboarding_id) ); diff --git a/backend/src/v1/prisma/schema.prisma b/backend/src/v1/prisma/schema.prisma index e1bd10c1..ce01e729 100644 --- a/backend/src/v1/prisma/schema.prisma +++ b/backend/src/v1/prisma/schema.prisma @@ -236,7 +236,6 @@ model admin_user { create_user String @db.VarChar(255) update_date DateTime @default(now()) @db.Timestamp(6) update_user String @db.VarChar(255) - last_login_date DateTime @default(now()) @db.Timestamp(6) is_active Boolean @default(true) assigned_roles String @db.VarChar(255) admin_user_history admin_user_history[] @@ -252,7 +251,6 @@ model admin_user_history { create_user String @db.VarChar(255) update_date DateTime @default(now()) @db.Timestamp(6) update_user String @db.VarChar(255) - last_login_date DateTime @default(now()) @db.Timestamp(6) is_active Boolean @default(true) assigned_roles String @db.VarChar(255) admin_user admin_user @relation(fields: [admin_user_id], references: [admin_user_id], onDelete: NoAction, onUpdate: NoAction, map: "admin_user_fk") @@ -267,6 +265,7 @@ model admin_user_onboarding { create_date DateTime @default(now()) @db.Timestamp(6) created_by String @db.Uuid is_onboarded Boolean @default(false) + expiry_date DateTime @db.Timestamp(6) } view reports_view { diff --git a/backend/src/v1/services/admin-auth-service.ts b/backend/src/v1/services/admin-auth-service.ts index 17ced083..4a0d7ed1 100644 --- a/backend/src/v1/services/admin-auth-service.ts +++ b/backend/src/v1/services/admin-auth-service.ts @@ -112,6 +112,8 @@ class AdminAuth extends AuthBase { is_onboarded: false } }); + //TODO - if onboarding request exists and has expired show the page to user to ask admin to add them again. + // record found , need to do the processing. if (adminUserOnboarding) { // get SSO roles from Keycloak diff --git a/backend/src/v1/services/admin-users-services.ts b/backend/src/v1/services/admin-users-services.ts index f9e5a707..6bc5e5b8 100644 --- a/backend/src/v1/services/admin-users-services.ts +++ b/backend/src/v1/services/admin-users-services.ts @@ -132,7 +132,8 @@ export class AdminUserService { first_name: firstname, assigned_roles: roles, is_onboarded: false, - created_by: createdBy + created_by: createdBy, + expiry_date: new Date(new Date().getTime() + 72 * 60 * 60 * 1000) //TODO make expiry configurable } });