Files

35 lines
779 B
Go

package main
import (
"fmt"
"io/fs"
"rawmark/deploy"
"rawmark/internal/auth"
"rawmark/internal/store"
"rawmark/internal/vault"
)
// Keep bootstrap state out of user preferences so resetting settings cannot restore deleted examples.
const examplesSetting = "bootstrap.examples"
func initializeExamples(v *vault.Vault, st *store.Store) error {
_, done, err := st.Setting(examplesSetting)
if err != nil || done {
return err
}
setUp, err := auth.New(st).IsSetUp()
if err != nil {
return err
}
if !setUp {
examples, err := fs.Sub(deploy.Examples, "data/vault")
if err != nil {
return err
}
if err := v.SeedExamples(examples); err != nil {
return fmt.Errorf("初始化示例笔记失败: %w", err)
}
}
return st.SetSetting(examplesSetting, "1")
}