feat: publish complete
This commit is contained in:
@@ -1,10 +1,12 @@
|
||||
package discover
|
||||
|
||||
import (
|
||||
"bytes"
|
||||
"fmt"
|
||||
"os"
|
||||
"os/exec"
|
||||
"path/filepath"
|
||||
"strconv"
|
||||
"strings"
|
||||
|
||||
"backend/common/media_store"
|
||||
@@ -84,7 +86,12 @@ func (d *DiscoverMedias) RunE(from, to string) error {
|
||||
}
|
||||
}
|
||||
|
||||
store.Add(uuid, dir)
|
||||
price, err := d.getPrice(dirPath)
|
||||
if err != nil {
|
||||
return errors.Wrapf(err, "get price: %s", dirPath)
|
||||
}
|
||||
|
||||
store.Add(uuid, dir, price)
|
||||
if err := store.Save(to); err != nil {
|
||||
return errors.Wrapf(err, "store save: %s", to)
|
||||
}
|
||||
@@ -241,3 +248,23 @@ func (d *DiscoverMedias) ffmpegVideoToPoster(video string, output string, second
|
||||
d.log.Infof("get snapshot: %s", logs)
|
||||
return nil
|
||||
}
|
||||
|
||||
func (d *DiscoverMedias) getPrice(dir string) (uint, error) {
|
||||
price, err := os.ReadFile(filepath.Join(dir, "price.txt"))
|
||||
if err != nil {
|
||||
return 0, errors.Wrapf(err, "read price: %s", dir)
|
||||
}
|
||||
|
||||
if len(price) == 0 {
|
||||
return 0, fmt.Errorf("%s, price is empty", dir)
|
||||
}
|
||||
|
||||
price = bytes.TrimSpace(price)
|
||||
|
||||
p, err := strconv.Atoi(string(price))
|
||||
if err != nil {
|
||||
return 0, fmt.Errorf(dir, ", price is not a number")
|
||||
}
|
||||
|
||||
return uint(p), nil
|
||||
}
|
||||
|
||||
@@ -59,7 +59,7 @@ func (d *StoreMedias) RunE(targetPath string) error {
|
||||
return errors.Wrap(err, "uuid from bytes")
|
||||
}
|
||||
|
||||
if err := d.mediasSvc.PublishTenantMedia(context.Background(), 1, u, item.Name); err != nil {
|
||||
if err := d.mediasSvc.PublishTenantMedia(context.Background(), 1, u, item.Name, item.Price); err != nil {
|
||||
return errors.Wrapf(err, "PublishTenant: %+v", item)
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user