implemented api handlers

This commit is contained in:
ston1th 2021-04-08 00:34:54 +02:00
commit 372915e24d
15 changed files with 302 additions and 73 deletions

View file

@ -15,6 +15,7 @@ func New(kv cluster.KV) *DB {
const (
ipPrefix = "/ip/"
namePrefix = "/name/"
lbPrefix = "/lb/"
)
func (db *DB) GetIPs() (ips []string, err error) {
@ -54,3 +55,31 @@ func (db *DB) GetName(name string) (string, error) {
v, err := db.kv.Get(namePrefix + name)
return string(v), err
}
func (db *DB) GetLBs(cl string) (lbs map[string][]byte, err error) {
lbs = make(map[string][]byte)
if cl != "" {
cl = cl + "/"
}
m, err := db.kv.GetPrefix(lbPrefix + cl)
if err == cluster.ErrPrefixNotFound {
err = nil
return
}
if err != nil {
return
}
for k, v := range m {
lbs[k] = v
}
return
}
func (db *DB) GetLB(name string) ([]byte, error) {
return db.kv.Get(lbPrefix + name)
}
func (db *DB) SetLB(name string, lb []byte) error {
return db.kv.Set(lbPrefix+name, lb)
}
func (db *DB) DeleteLB(name string) error {
return db.kv.Delete(lbPrefix + name)
}