mirror of
https://github.com/fleetdm/fleet
synced 2026-05-24 09:28:54 +00:00
Add software uninstall script property, hydrate with scripts
Also hydrate uninstall script content ID when pulling installers when uninstall script contents aren't requested
This commit is contained in:
parent
3287a245de
commit
aad34f8c27
2 changed files with 7 additions and 2 deletions
|
|
@ -222,6 +222,7 @@ SELECT
|
|||
si.install_script_content_id,
|
||||
si.pre_install_query,
|
||||
si.post_install_script_content_id,
|
||||
si.uninstall_script_content_id,
|
||||
si.uploaded_at,
|
||||
COALESCE(st.name, '') AS software_title,
|
||||
si.platform
|
||||
|
|
@ -246,9 +247,10 @@ WHERE
|
|||
func (ds *Datastore) GetSoftwareInstallerMetadataByTeamAndTitleID(ctx context.Context, teamID *uint, titleID uint, withScriptContents bool) (*fleet.SoftwareInstaller, error) {
|
||||
var scriptContentsSelect, scriptContentsFrom string
|
||||
if withScriptContents {
|
||||
scriptContentsSelect = ` , inst.contents AS install_script, COALESCE(pisnt.contents, '') AS post_install_script `
|
||||
scriptContentsSelect = ` , inst.contents AS install_script, COALESCE(pinst.contents, '') AS post_install_script, uninst.contents AS uninstall_script `
|
||||
scriptContentsFrom = ` LEFT OUTER JOIN script_contents inst ON inst.id = si.install_script_content_id
|
||||
LEFT OUTER JOIN script_contents pisnt ON pisnt.id = si.post_install_script_content_id `
|
||||
LEFT OUTER JOIN script_contents pinst ON pinst.id = si.post_install_script_content_id
|
||||
LEFT OUTER JOIN script_contents uninst ON uninst.id = si.uninstall_script_content_id`
|
||||
}
|
||||
|
||||
query := fmt.Sprintf(`
|
||||
|
|
@ -262,6 +264,7 @@ SELECT
|
|||
si.install_script_content_id,
|
||||
si.pre_install_query,
|
||||
si.post_install_script_content_id,
|
||||
si.uninstall_script_content_id,
|
||||
si.uploaded_at,
|
||||
si.uninstall_script_content_id,
|
||||
si.self_service,
|
||||
|
|
|
|||
|
|
@ -95,6 +95,8 @@ type SoftwareInstaller struct {
|
|||
PreInstallQuery string `json:"pre_install_query" db:"pre_install_query"`
|
||||
// PostInstallScript is the script to run after installing the software package.
|
||||
PostInstallScript string `json:"post_install_script" db:"post_install_script"`
|
||||
// UninstallScript is the script to run to uninstall the software package.
|
||||
UninstallScript string `json:"uninstall_script" db:"uninstall_script"`
|
||||
// PostInstallScriptContentID is the ID of the post-install script content.
|
||||
PostInstallScriptContentID *uint `json:"-" db:"post_install_script_content_id"`
|
||||
// StorageID is the unique identifier for the software package in the software installer store.
|
||||
|
|
|
|||
Loading…
Reference in a new issue