mirror of https://github.com/Xhofe/alist
37 lines
926 B
Go
37 lines
926 B
Go
package search
|
|
|
|
import (
|
|
"context"
|
|
|
|
"github.com/alist-org/alist/v3/internal/conf"
|
|
"github.com/alist-org/alist/v3/internal/db"
|
|
"github.com/alist-org/alist/v3/internal/model"
|
|
"github.com/alist-org/alist/v3/internal/setting"
|
|
"github.com/alist-org/alist/v3/pkg/utils"
|
|
log "github.com/sirupsen/logrus"
|
|
)
|
|
|
|
func Progress(ctx context.Context) (*model.IndexProgress, error) {
|
|
p := setting.GetStr(conf.IndexProgress)
|
|
var progress model.IndexProgress
|
|
err := utils.Json.UnmarshalFromString(p, &progress)
|
|
return &progress, err
|
|
}
|
|
|
|
func WriteProgress(progress *model.IndexProgress) {
|
|
p, err := utils.Json.MarshalToString(progress)
|
|
if err != nil {
|
|
log.Errorf("marshal progress error: %+v", err)
|
|
}
|
|
err = db.SaveSettingItem(model.SettingItem{
|
|
Key: conf.IndexProgress,
|
|
Value: p,
|
|
Type: conf.TypeText,
|
|
Group: model.SINGLE,
|
|
Flag: model.PRIVATE,
|
|
})
|
|
if err != nil {
|
|
log.Errorf("save progress error: %+v", err)
|
|
}
|
|
}
|