The communications platform that puts data protection first.
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
Rocket.Chat/apps/meteor/app/cloud/server/functions/removeWorkspaceRegistration...

38 lines
1.0 KiB

import { Settings } from '@rocket.chat/models';
import { notifyOnSettingChangedById } from '../../../lib/server/lib/notifyListener';
import { retrieveRegistrationStatus } from './retrieveRegistrationStatus';
export async function removeWorkspaceRegistrationInfo() {
const { workspaceRegistered } = await retrieveRegistrationStatus();
if (!workspaceRegistered) {
return true;
}
const settingsIds = [
'Cloud_Workspace_Id',
'Cloud_Workspace_Name',
'Cloud_Workspace_Client_Id',
'Cloud_Workspace_Client_Secret',
'Cloud_Workspace_Client_Secret_Expires_At',
'Cloud_Workspace_PublicKey',
'Cloud_Workspace_Registration_Client_Uri',
'Show_Setup_Wizard',
];
const promises = settingsIds.map((settingId) => {
if (settingId === 'Show_Setup_Wizard') {
return Settings.updateValueById('Show_Setup_Wizard', 'in_progress');
}
return Settings.resetValueById(settingId, null);
});
(await Promise.all(promises)).forEach((value, index) => {
if (value?.modifiedCount) {
void notifyOnSettingChangedById(settingsIds[index]);
}
});
return true;
}