mirror of
https://github.com/stashapp/stash.git
synced 2026-05-09 05:05:29 +02:00
* Bump go version in go.mod * Update compiler image. Changed github download url since existing one didn't have version 12 of the SDK. * Update macOS requirements in README for v0.32.0 * Update lint action * Bump golangci-lint version * Migrate golangci-lint config * Fix QF1012 errors (Use fmt.Fprintf(...) instead of WriteString(fmt.Sprintf(...))) * Fix QF1003 errors (could use tagged switch) * Fix ST1005 errors (error string capitalisation) * Fix ST1011 errors (seconds suffix) * Fix QF1006 errors (lift into loop condition) * Fix QF1002 errors (switch condition) * Fix gocritic error (deprecated paragraph) * Fix incorrect nolint directive * Ignore specific checks noctx should be addressed in a later PR --------- Co-authored-by: DogmaDragon <103123951+DogmaDragon@users.noreply.github.com> Co-authored-by: feederbox826 <me@feederbox.cc>
78 lines
1.9 KiB
Go
78 lines
1.9 KiB
Go
package api
|
|
|
|
import (
|
|
"context"
|
|
"strconv"
|
|
|
|
"github.com/stashapp/stash/internal/manager"
|
|
"github.com/stashapp/stash/internal/manager/task"
|
|
"github.com/stashapp/stash/pkg/models"
|
|
)
|
|
|
|
func refreshPackageType(typeArg PackageType) {
|
|
mgr := manager.GetInstance()
|
|
|
|
switch typeArg {
|
|
case PackageTypePlugin:
|
|
mgr.RefreshPluginCache()
|
|
case PackageTypeScraper:
|
|
mgr.RefreshScraperCache()
|
|
}
|
|
}
|
|
|
|
func (r *mutationResolver) InstallPackages(ctx context.Context, typeArg PackageType, packages []*models.PackageSpecInput) (string, error) {
|
|
pm, err := getPackageManager(typeArg)
|
|
if err != nil {
|
|
return "", err
|
|
}
|
|
|
|
mgr := manager.GetInstance()
|
|
t := &task.InstallPackagesJob{
|
|
PackagesJob: task.PackagesJob{
|
|
PackageManager: pm,
|
|
OnComplete: func() { refreshPackageType(typeArg) },
|
|
},
|
|
Packages: packages,
|
|
}
|
|
jobID := mgr.JobManager.Add(ctx, "Installing packages...", t)
|
|
|
|
return strconv.Itoa(jobID), nil
|
|
}
|
|
|
|
func (r *mutationResolver) UpdatePackages(ctx context.Context, typeArg PackageType, packages []*models.PackageSpecInput) (string, error) {
|
|
pm, err := getPackageManager(typeArg)
|
|
if err != nil {
|
|
return "", err
|
|
}
|
|
|
|
mgr := manager.GetInstance()
|
|
t := &task.UpdatePackagesJob{
|
|
PackagesJob: task.PackagesJob{
|
|
PackageManager: pm,
|
|
OnComplete: func() { refreshPackageType(typeArg) },
|
|
},
|
|
Packages: packages,
|
|
}
|
|
jobID := mgr.JobManager.Add(ctx, "Updating packages...", t)
|
|
|
|
return strconv.Itoa(jobID), nil
|
|
}
|
|
|
|
func (r *mutationResolver) UninstallPackages(ctx context.Context, typeArg PackageType, packages []*models.PackageSpecInput) (string, error) {
|
|
pm, err := getPackageManager(typeArg)
|
|
if err != nil {
|
|
return "", err
|
|
}
|
|
|
|
mgr := manager.GetInstance()
|
|
t := &task.UninstallPackagesJob{
|
|
PackagesJob: task.PackagesJob{
|
|
PackageManager: pm,
|
|
OnComplete: func() { refreshPackageType(typeArg) },
|
|
},
|
|
Packages: packages,
|
|
}
|
|
jobID := mgr.JobManager.Add(ctx, "Updating packages...", t)
|
|
|
|
return strconv.Itoa(jobID), nil
|
|
}
|