term/lookup/db.go
2024-11-02 16:08:05 +00:00

39 lines
848 B
Go

package lookup
import (
"context"
"git.grassecon.net/urdt/ussd/common"
)
type Identity struct {
NormalAddress string
ChecksumAddress string
SessionId string
}
func IdentityFromAddress(ctx context.Context, store *common.UserDataStore, address string) (Identity, error) {
var err error
var ident Identity
ident.ChecksumAddress = address
ident.NormalAddress, err = common.NormalizeHex(ident.ChecksumAddress)
if err != nil {
return ident, err
}
ident.SessionId, err = getSessionIdByAddress(ctx, store, ident.NormalAddress)
if err != nil {
return ident, err
}
return ident, nil
}
func getSessionIdByAddress(ctx context.Context, store *common.UserDataStore, address string) (string, error) {
r, err := store.ReadEntry(ctx, address, common.DATA_PUBLIC_KEY_REVERSE)
if err != nil {
return "", err
}
return string(r), nil
}