Files
mp-qvyun/backend/common/service/task/cmd.go
2024-12-04 19:50:14 +08:00

40 lines
967 B
Go

package task
import (
"backend/modules/tasks"
"backend/providers/app"
"git.ipao.vip/rogeecn/atom"
"git.ipao.vip/rogeecn/atom/container"
"github.com/spf13/cobra"
)
func defaultProviders(providers ...container.ProviderContainer) container.Providers {
return append(container.Providers{
app.DefaultProvider(),
}, providers...)
}
func Command() atom.Option {
return atom.Command(
atom.Name("tasks"),
atom.Short("run tasks"),
atom.Providers(defaultProviders().With(
tasks.Provide,
)),
atom.Command(
atom.Name("discover"),
atom.Arguments(func(cmd *cobra.Command) {
cmd.Flags().String("from", "", "from path")
cmd.Flags().String("to", "", "to path")
}),
atom.RunE(func(cmd *cobra.Command, args []string) error {
return container.Container.Invoke(func(task *tasks.DiscoverMedias) error {
from, to := cmd.Flag("from").Value.String(), cmd.Flag("to").Value.String()
return task.RunE(from, to)
})
}),
),
)
}