From 9df2dc22a3eb68c993a0d1be48b3cdc3764c4abc Mon Sep 17 00:00:00 2001 From: Toby Bellwood Date: Wed, 21 Jul 2021 10:44:48 +1000 Subject: [PATCH 1/3] fix Tentant typos --- services/api/src/resources/group/opendistroSecurity.ts | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/services/api/src/resources/group/opendistroSecurity.ts b/services/api/src/resources/group/opendistroSecurity.ts index 23b663cb93..4bc1383b47 100644 --- a/services/api/src/resources/group/opendistroSecurity.ts +++ b/services/api/src/resources/group/opendistroSecurity.ts @@ -87,7 +87,7 @@ export const OpendistroSecurityOperations = ( try { // Create a new Tenant for this Group await opendistroSecurityClient.put(`tenants/${tenantName}`, { body: { description: `${tenantName}` } }); - logger.debug(`${groupName}: Created Tentant "${tenantName}"`); + logger.debug(`${groupName}: Created Tenant "${tenantName}"`); } catch (err) { logger.error(`Opendistro-Security create tenant error: ${err}`); } @@ -199,7 +199,7 @@ export const OpendistroSecurityOperations = ( // Delete the Tenant for this Group await opendistroSecurityClient.delete(`tenants/${tenantName}`); logger.debug( - `${tenantName}: Deleted Opendistro-Security Tentant "${tenantName}"` + `${tenantName}: Deleted Opendistro-Security Tenant "${tenantName}"` ); } catch (err) { // 404 Errors are expected and mean that the role does not exist From 70abc731a550912c3a104564bfd19c0e1f3129b3 Mon Sep 17 00:00:00 2001 From: Toby Bellwood Date: Wed, 21 Jul 2021 10:45:09 +1000 Subject: [PATCH 2/3] stringify project id for split --- services/api/src/resources/project/resolvers.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/services/api/src/resources/project/resolvers.ts b/services/api/src/resources/project/resolvers.ts index 2458a1c959..c7983f00a0 100644 --- a/services/api/src/resources/project/resolvers.ts +++ b/services/api/src/resources/project/resolvers.ts @@ -342,7 +342,7 @@ export const addProject = async ( OpendistroSecurityOperations(sqlClientPool, models.GroupModel).syncGroupWithSpecificTenant( `p${project.id}`, `project-${project.name}`, - project.id + `${project.id}` ); // Find or create a user that has the public key linked to them From d7eeb3e7c77305eb40e8fa7965e8b5fe4d0347d8 Mon Sep 17 00:00:00 2001 From: Toby Bellwood Date: Wed, 21 Jul 2021 10:45:32 +1000 Subject: [PATCH 3/3] delete tenants and roles from OpenDistro --- services/api/src/resources/group/opendistroSecurity.ts | 5 ++++- services/api/src/resources/project/resolvers.ts | 3 ++- 2 files changed, 6 insertions(+), 2 deletions(-) diff --git a/services/api/src/resources/group/opendistroSecurity.ts b/services/api/src/resources/group/opendistroSecurity.ts index 4bc1383b47..330c5e0d61 100644 --- a/services/api/src/resources/group/opendistroSecurity.ts +++ b/services/api/src/resources/group/opendistroSecurity.ts @@ -215,6 +215,9 @@ export const OpendistroSecurityOperations = ( } }, deleteGroup: async function(groupName) { + await this.deleteGroupWithSpecificTenant(groupName, groupName); + }, + deleteGroupWithSpecificTenant: async function(groupName, tenantName) { // delete groups that have no Projects assigned to them try { await opendistroSecurityClient.delete(`roles/${groupName}`); @@ -234,6 +237,6 @@ export const OpendistroSecurityOperations = ( } } - await this.deleteTenant(groupName); + await this.deleteTenant(tenantName); } }); diff --git a/services/api/src/resources/project/resolvers.ts b/services/api/src/resources/project/resolvers.ts index c7983f00a0..88b29d0fb3 100644 --- a/services/api/src/resources/project/resolvers.ts +++ b/services/api/src/resources/project/resolvers.ts @@ -451,7 +451,8 @@ export const deleteProject: ResolverFn = async ( `project-${project.name}` ); await models.GroupModel.deleteGroup(group.id); - OpendistroSecurityOperations(sqlClientPool, models.GroupModel).deleteGroup( + OpendistroSecurityOperations(sqlClientPool, models.GroupModel).deleteGroupWithSpecificTenant( + `p${pid}`, group.name ); } catch (err) {