/
githubmirror
/
client
Обзор
Документация
Войти
/
githubmirror
/
client
Код
Запросы
0
Пакеты
0
Релизы
0
Аналитика
Безопасность
master
go/chat/storage/basebox.go
52 строки
1 KB
chrisnojima-zoom
Version 670 - clean2 (#29122)
08 июн 2026, 19:31
Не верифицирован
08 июн 2026, 19:31
1943197
Код
Авторство
О чём код?
package storage import ( "context" "fmt" "github.com/keybase/client/go/chat/globals" "github.com/keybase/client/go/encrypteddb" "github.com/keybase/client/go/libkb" "github.com/keybase/client/go/protocol/keybase1" ) type baseBox struct { globals.Contextified encryptedDB *encrypteddb.EncryptedDB } type SecretUI struct{} func (d SecretUI) GetPassphrase(pinentry keybase1.GUIEntryArg, terminal *keybase1.SecretEntryArg) (keybase1.GetPassphraseRes, error) { return keybase1.GetPassphraseRes{}, fmt.Errorf("no secret UI available") } func newBaseBox(g *globals.Context) *baseBox { keyFn := func(ctx context.Context) ([32]byte, error) { return GetSecretBoxKey(ctx, g.ExternalG()) } dbFn := func(g *libkb.GlobalContext) *libkb.JSONLocalDb { return g.LocalChatDb } return &baseBox{ Contextified: globals.NewContextified(g), encryptedDB: encrypteddb.New(g.ExternalG(), dbFn, keyFn), } } func (i *baseBox) readDiskBox(ctx context.Context, key libkb.DbKey, res any) (bool, error) { return i.encryptedDB.Get(ctx, key, res) } func (i *baseBox) writeDiskBox(ctx context.Context, key libkb.DbKey, data any) error { return i.encryptedDB.Put(ctx, key, data) } func (i *baseBox) maybeNuke(err Error, key libkb.DbKey) { if err != nil && err.ShouldClear() { i.G().Log.Debug("nuking %v on err: %v", key, err) if err := i.G().LocalChatDb.Delete(key); err != nil { i.G().Log.Error("unable to clear box on error! err: %s", err) } } }