feat: add tenant commands

This commit is contained in:
Rogee
2024-12-07 18:48:05 +08:00
parent e15d8d9bb2
commit 8f88929575
25 changed files with 271 additions and 48 deletions

View File

@@ -0,0 +1,26 @@
package store
import (
"backend/modules/medias"
"git.ipao.vip/rogeecn/atom/container"
"git.ipao.vip/rogeecn/atom/utils/opt"
)
func Provide(opts ...opt.Option) error {
if err := container.Container.Provide(func(
mediasSvc *medias.Service,
) (*StoreMedias, error) {
obj := &StoreMedias{
mediasSvc: mediasSvc,
}
if err := obj.Prepare(); err != nil {
return nil, err
}
return obj, nil
}); err != nil {
return err
}
return nil
}

View File

@@ -0,0 +1,41 @@
package store
import (
"context"
"backend/common/media_store"
"backend/modules/medias"
"github.com/pkg/errors"
log "github.com/sirupsen/logrus"
)
// @provider
type StoreMedias struct {
mediasSvc *medias.Service
log *log.Entry `inject:"false"`
}
// Prepare
func (d *StoreMedias) Prepare() error {
d.log = log.WithField("module", "StoreMedias")
return nil
}
func (d *StoreMedias) RunE(targetPath string) error {
d.log.Infof("Store medias from: %s ", targetPath)
store, err := media_store.NewStore(targetPath)
if err != nil {
return errors.Wrapf(err, "new store: %s", targetPath)
}
for _, item := range store {
err := d.mediasSvc.Upsert(context.Background(), 1, item)
if err != nil {
d.log.WithError(err).Errorf("upsert media: %s - %s", item.Hash, item.Name)
}
}
return nil
}