From 8463ad66fe8a965321ab08388a4ec5002510bd2f Mon Sep 17 00:00:00 2001 From: rob Date: Sat, 5 Nov 2022 07:13:14 -0400 Subject: [PATCH 1/3] Core disconnect processing --- app/services/core-node.js | 32 +++++++++++++++++++++----------- 1 file changed, 21 insertions(+), 11 deletions(-) diff --git a/app/services/core-node.js b/app/services/core-node.js index 8f545d5..29bce6b 100644 --- a/app/services/core-node.js +++ b/app/services/core-node.js @@ -474,15 +474,23 @@ class CoreNodeService extends SiteService { // provides an abort point if any listener throws await this.emitDtpEvent('disconnect-pre', { core }); - const disconnect = await this.sendRequest(core, { - method: 'DELETE', - url: `/core/connect/node/${core.oauth.clientId}`, - }); - this.log.alert('Core disconnect request complete', { - name: core.meta.name, - domain: core.meta.domain, - disconnect, - }); + let disconnect; + try { + disconnect = await this.sendRequest(core, { + method: 'DELETE', + url: `/core/connect/node/${core.oauth.clientId}`, + }); + } catch (error) { + if ((error.code !== 'EPROTO') && (error.statusCode !== 404)) { + throw new SiteError(error.statusCode, 'Failed to disconnect from Core'); + } + } finally { + this.log.alert('Core disconnect request complete', { + name: core.meta.name, + domain: core.meta.domain, + disconnect, + }); + } try { await this.emitDtpEvent('disconnect-post', { core, disconnect }); @@ -496,8 +504,8 @@ class CoreNodeService extends SiteService { .cursor() .eachAsync(this.removeUser.bind(this, core), 1); - // await CoreNodeConnect.deleteMany({ 'site.domainKey': core.meta.domainKey }); - // await CoreNodeRequest.deleteMany({ core: core._id }); + await CoreNodeConnect.deleteMany({ 'site.domainKey': core.meta.domainKey }); + await CoreNodeRequest.deleteMany({ core: core._id }); try { await this.emitDtpEvent('disconnect', { core, disconnect }); @@ -506,6 +514,8 @@ class CoreNodeService extends SiteService { // keep going } + await CoreNode.deleteOne({ _id: core._id }); + return disconnect; } From 40e10b167ea403e4269d52f14dedb3cb09466eb8 Mon Sep 17 00:00:00 2001 From: rob Date: Sat, 5 Nov 2022 07:13:28 -0400 Subject: [PATCH 2/3] display CoreNode _id value on form --- app/views/admin/core-node/components/list-item.pug | 2 ++ 1 file changed, 2 insertions(+) diff --git a/app/views/admin/core-node/components/list-item.pug b/app/views/admin/core-node/components/list-item.pug index cf38271..382e2c2 100644 --- a/app/views/admin/core-node/components/list-item.pug +++ b/app/views/admin/core-node/components/list-item.pug @@ -10,6 +10,8 @@ mixin renderCoreNodeListItem (coreNode) +renderCell('Domain', coreNode.meta.domain) .uk-width-auto +renderCell('Domain Key', coreNode.meta.domainKey) + .uk-width-auto + +renderCell('id', coreNode._id) .uk-margin div(uk-grid).uk-flex-between From 2446a95a75a3366f22b2e43eab28c5ac2b303910 Mon Sep 17 00:00:00 2001 From: rob Date: Sat, 5 Nov 2022 07:14:21 -0400 Subject: [PATCH 3/3] v0.6.3 --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index dd45802..3d3a51a 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "dtp-base", - "version": "0.6.2", + "version": "0.6.3", "description": "Open source web app engine for the Digital Telepresence Platform.", "main": "dtp-webapp.js", "author": "DTP Technologies, LLC",