fix: issues
This commit is contained in:
62
backend/pkg/service/tasks/tasks.go
Normal file
62
backend/pkg/service/tasks/tasks.go
Normal file
@@ -0,0 +1,62 @@
|
||||
package tasks
|
||||
|
||||
import (
|
||||
"backend/modules/commands/discover"
|
||||
"backend/modules/commands/store"
|
||||
"backend/modules/medias"
|
||||
"backend/providers/app"
|
||||
"backend/providers/postgres"
|
||||
"backend/providers/storage"
|
||||
|
||||
"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(),
|
||||
storage.DefaultProvider(),
|
||||
postgres.DefaultProvider(),
|
||||
}, providers...)
|
||||
}
|
||||
|
||||
func Command() atom.Option {
|
||||
return atom.Command(
|
||||
atom.Name("tasks"),
|
||||
atom.Short("run tasks"),
|
||||
atom.Command(
|
||||
atom.Name("discover"),
|
||||
atom.Arguments(func(cmd *cobra.Command) {
|
||||
cmd.Flags().String("from", "", "from path")
|
||||
cmd.Flags().String("to", "", "to path")
|
||||
}),
|
||||
atom.Providers(defaultProviders().With(
|
||||
medias.Provide,
|
||||
discover.Provide,
|
||||
)),
|
||||
atom.RunE(func(cmd *cobra.Command, args []string) error {
|
||||
return container.Container.Invoke(func(task *discover.DiscoverMedias) error {
|
||||
from, to := cmd.Flag("from").Value.String(), cmd.Flag("to").Value.String()
|
||||
return task.RunE(from, to)
|
||||
})
|
||||
}),
|
||||
),
|
||||
atom.Command(
|
||||
atom.Name("store"),
|
||||
atom.Providers(defaultProviders().With(
|
||||
medias.Provide,
|
||||
store.Provide,
|
||||
)),
|
||||
atom.Arguments(func(cmd *cobra.Command) {
|
||||
cmd.Flags().String("from", "", "from path")
|
||||
}),
|
||||
atom.RunE(func(cmd *cobra.Command, args []string) error {
|
||||
return container.Container.Invoke(func(task *store.StoreMedias) error {
|
||||
from := cmd.Flag("from").Value.String()
|
||||
return task.RunE(from)
|
||||
})
|
||||
}),
|
||||
),
|
||||
)
|
||||
}
|
||||
Reference in New Issue
Block a user