feat(vault): initialize fresh instances with public example notes
This commit is contained in:
1 parent
9ee7402c8e
commit
10fd6d8efb
24 files changed
+438
-14
No files matched your search
@@ -0,0 +1,34 @@
|
||||
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")
|
||||
}
|
||||
Reference in new issue
Block a user