Browse Source

Core disconnect processing

pull/2/head
Rob Colbert 2 years ago
parent
commit
8463ad66fe
  1. 16
      app/services/core-node.js

16
app/services/core-node.js

@ -474,15 +474,23 @@ class CoreNodeService extends SiteService {
// provides an abort point if any listener throws // provides an abort point if any listener throws
await this.emitDtpEvent('disconnect-pre', { core }); await this.emitDtpEvent('disconnect-pre', { core });
const disconnect = await this.sendRequest(core, { let disconnect;
try {
disconnect = await this.sendRequest(core, {
method: 'DELETE', method: 'DELETE',
url: `/core/connect/node/${core.oauth.clientId}`, 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', { this.log.alert('Core disconnect request complete', {
name: core.meta.name, name: core.meta.name,
domain: core.meta.domain, domain: core.meta.domain,
disconnect, disconnect,
}); });
}
try { try {
await this.emitDtpEvent('disconnect-post', { core, disconnect }); await this.emitDtpEvent('disconnect-post', { core, disconnect });
@ -496,8 +504,8 @@ class CoreNodeService extends SiteService {
.cursor() .cursor()
.eachAsync(this.removeUser.bind(this, core), 1); .eachAsync(this.removeUser.bind(this, core), 1);
// await CoreNodeConnect.deleteMany({ 'site.domainKey': core.meta.domainKey }); await CoreNodeConnect.deleteMany({ 'site.domainKey': core.meta.domainKey });
// await CoreNodeRequest.deleteMany({ core: core._id }); await CoreNodeRequest.deleteMany({ core: core._id });
try { try {
await this.emitDtpEvent('disconnect', { core, disconnect }); await this.emitDtpEvent('disconnect', { core, disconnect });
@ -506,6 +514,8 @@ class CoreNodeService extends SiteService {
// keep going // keep going
} }
await CoreNode.deleteOne({ _id: core._id });
return disconnect; return disconnect;
} }

Loading…
Cancel
Save