fleet/ee/bulk-operations-dashboard/api/controllers/profiles/delete-profile.js
Eric debb2d1790
Add app to manage scripts and profiles. (#21450)
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.
2024-08-22 14:59:15 -06:00

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;
}
};