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  }