mirror of
https://github.com/fleetdm/fleet
synced 2026-05-14 12:38:41 +00:00
Related to: #20296 Changes: - Added `ee/bulk-operations-dashboard`, a Sails.js app that lets users manage configuration profiles and scripts across multiple teams on a Fleet instance. - Added a Github workflow to deploy the app to Heroku - Added a Github workflow to test changes to the bulk operations dashboard.
46 lines
1 KiB
JavaScript
46 lines
1 KiB
JavaScript
module.exports = {
|
|
|
|
|
|
friendlyName: 'Delete profile',
|
|
|
|
|
|
description: '',
|
|
|
|
|
|
inputs: {
|
|
profile: {
|
|
type: {},
|
|
description: 'The configuration profile that will be deleted.',
|
|
required: true,
|
|
}
|
|
},
|
|
|
|
|
|
exits: {
|
|
|
|
},
|
|
|
|
|
|
fn: async function ({profile}) {
|
|
// If the provided profile does not have a teams array and has an ID, it is an undeployed profile that will be deleted.
|
|
if(profile.id && !profile.teams){
|
|
await UndeployedProfile.destroy({id: profile.id});
|
|
} else {// Otherwise, this is a deployed profile, and we'll use information from the teams array to remove the profile.
|
|
for(let team of profile.teams){
|
|
await sails.helpers.http.sendHttpRequest.with({
|
|
method: 'DELETE',
|
|
baseUrl: sails.config.custom.fleetBaseUrl,
|
|
url: `/api/v1/fleet/configuration_profiles/${team.uuid}`,
|
|
headers: {
|
|
Authorization: `Bearer ${sails.config.custom.fleetApiToken}`,
|
|
}
|
|
});
|
|
}
|
|
}
|
|
// All done.
|
|
return;
|
|
|
|
}
|
|
|
|
|
|
};
|