github.com/unicornultrafoundation/go-u2u@v1.0.0-rc1.0.20240205080301-e74a83d3fadc/utils/migration/u2udb_id_store.go (about) 1 package migration 2 3 import ( 4 "github.com/unicornultrafoundation/go-helios/u2udb" 5 "github.com/unicornultrafoundation/go-u2u/log" 6 ) 7 8 // U2UdbIDStore stores id 9 type U2UdbIDStore struct { 10 table u2udb.Store 11 key []byte 12 } 13 14 // NewU2UdbIDStore constructor 15 func NewU2UdbIDStore(table u2udb.Store) *U2UdbIDStore { 16 return &U2UdbIDStore{ 17 table: table, 18 key: []byte("id"), 19 } 20 } 21 22 // GetID is a getter 23 func (p *U2UdbIDStore) GetID() string { 24 id, err := p.table.Get(p.key) 25 if err != nil { 26 log.Crit("Failed to get key-value", "err", err) 27 } 28 29 if id == nil { 30 return "" 31 } 32 return string(id) 33 } 34 35 // SetID is a setter 36 func (p *U2UdbIDStore) SetID(id string) { 37 err := p.table.Put(p.key, []byte(id)) 38 if err != nil { 39 log.Crit("Failed to put key-value", "err", err) 40 } 41 }