Take event handlers from vise-event
This commit is contained in:
@@ -6,6 +6,8 @@ import (
|
||||
visedb "git.defalsify.org/vise.git/db"
|
||||
storedb "git.grassecon.net/grassrootseconomics/sarafu-vise/store/db"
|
||||
"git.grassecon.net/grassrootseconomics/sarafu-vise/store/db"
|
||||
"git.grassecon.net/grassrootseconomics/common/hex"
|
||||
"git.grassecon.net/grassrootseconomics/common/identity"
|
||||
)
|
||||
|
||||
// TODO: Rename interface, "datastore" is redundant naming and too general
|
||||
@@ -39,3 +41,37 @@ func (store *UserDataStore) WriteEntry(ctx context.Context, sessionId string, ty
|
||||
func StoreToPrefixDb(userStore *UserDataStore, pfx []byte) storedb.PrefixDb {
|
||||
return storedb.NewSubPrefixDb(userStore.Db, pfx)
|
||||
}
|
||||
|
||||
// IdentityFromAddress fully populates and Identity object from a given
|
||||
// checksum address.
|
||||
//
|
||||
// It is the caller's responsibility to ensure that a valid checksum address
|
||||
// is passed.
|
||||
func IdentityFromAddress(ctx context.Context, userStore *UserDataStore, address string) (identity.Identity, error) {
|
||||
var err error
|
||||
var ident identity.Identity
|
||||
|
||||
ident.ChecksumAddress = address
|
||||
ident.NormalAddress, err = hex.NormalizeHex(ident.ChecksumAddress)
|
||||
if err != nil {
|
||||
return ident, err
|
||||
}
|
||||
ident.SessionId, err = getSessionIdByAddress(ctx, userStore, ident.NormalAddress)
|
||||
if err != nil {
|
||||
return ident, err
|
||||
}
|
||||
return ident, nil
|
||||
}
|
||||
|
||||
// load matching session from address from db store.
|
||||
func getSessionIdByAddress(ctx context.Context, userStore *UserDataStore, address string) (string, error) {
|
||||
// TODO: replace with userdatastore when double sessionid issue fixed
|
||||
//r, err := store.ReadEntry(ctx, address, common.DATA_PUBLIC_KEY_REVERSE)
|
||||
userStore.Db.SetPrefix(visedb.DATATYPE_USERDATA)
|
||||
userStore.Db.SetSession(address)
|
||||
r, err := userStore.Db.Get(ctx, storedb.PackKey(storedb.DATA_PUBLIC_KEY_REVERSE, []byte{}))
|
||||
if err != nil {
|
||||
return "", err
|
||||
}
|
||||
return string(r), nil
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user