generated from dave/wails-template
	
		
			
				
	
	
		
			54 lines
		
	
	
		
			1.2 KiB
		
	
	
	
		
			Go
		
	
	
	
	
	
			
		
		
	
	
			54 lines
		
	
	
		
			1.2 KiB
		
	
	
	
		
			Go
		
	
	
	
	
	
package main
 | 
						|
 | 
						|
import "fmt"
 | 
						|
 | 
						|
type AddonService struct {
 | 
						|
	Addons map[string]Addon
 | 
						|
}
 | 
						|
 | 
						|
//var addons = map[string]*Addon{
 | 
						|
//	"Channeler":     NewAddon("Channeler", "https://git.site.quack-lab.dev/dave/wow_channeler"),
 | 
						|
//	"Heimdall":      NewAddon("Heimdall", "https://git.site.quack-lab.dev/dave/wow-Heimdall"),
 | 
						|
//	"Dechickenator": NewAddon("Dechickenator", "https://git.site.quack-lab.dev/dave/wow_dechickenator"),
 | 
						|
//}
 | 
						|
 | 
						|
func (a *AddonService) GetAddon(name string) (addon Addon, err error) {
 | 
						|
	var ok bool
 | 
						|
	addon, ok = a.Addons[name]
 | 
						|
	if !ok {
 | 
						|
		return addon, fmt.Errorf("addon with name %s not found", name)
 | 
						|
	}
 | 
						|
	return
 | 
						|
}
 | 
						|
 | 
						|
func (a *AddonService) GetRemoteVersion(name string) (string, error) {
 | 
						|
	addon, err := a.GetAddon(name)
 | 
						|
	if err != nil {
 | 
						|
		return "", err
 | 
						|
	}
 | 
						|
	return addon.GetRemoteVersion()
 | 
						|
}
 | 
						|
func (a *AddonService) GetLocalVersion(name string) (string, error) {
 | 
						|
	addon, err := a.GetAddon(name)
 | 
						|
	if err != nil {
 | 
						|
		return "", err
 | 
						|
	}
 | 
						|
	return addon.GetLocalVersion()
 | 
						|
}
 | 
						|
 | 
						|
func (a *AddonService) UpdateAddon(name string) (addon Addon, err error) {
 | 
						|
	addon, err = a.GetAddon(name)
 | 
						|
	if err != nil {
 | 
						|
		return
 | 
						|
	}
 | 
						|
	release, err := addon.GetRemoteRelease()
 | 
						|
	if err != nil {
 | 
						|
		return
 | 
						|
	}
 | 
						|
	err = addon.Update(release)
 | 
						|
	if err != nil {
 | 
						|
		return
 | 
						|
	}
 | 
						|
	return addon, nil
 | 
						|
}
 |