mirror of
https://codeberg.org/Codeberg/pages-server.git
synced 2024-11-05 14:07:01 +00:00
39 lines
657 B
Go
39 lines
657 B
Go
|
package database
|
||
|
|
||
|
import (
|
||
|
"bytes"
|
||
|
"encoding/gob"
|
||
|
"github.com/akrylysov/pogreb"
|
||
|
)
|
||
|
|
||
|
func PogrebPut(db *pogreb.DB, name []byte, obj interface{}) {
|
||
|
var resGob bytes.Buffer
|
||
|
resEnc := gob.NewEncoder(&resGob)
|
||
|
err := resEnc.Encode(obj)
|
||
|
if err != nil {
|
||
|
panic(err)
|
||
|
}
|
||
|
err = db.Put(name, resGob.Bytes())
|
||
|
if err != nil {
|
||
|
panic(err)
|
||
|
}
|
||
|
}
|
||
|
|
||
|
func PogrebGet(db *pogreb.DB, name []byte, obj interface{}) bool {
|
||
|
resBytes, err := db.Get(name)
|
||
|
if err != nil {
|
||
|
panic(err)
|
||
|
}
|
||
|
if resBytes == nil {
|
||
|
return false
|
||
|
}
|
||
|
|
||
|
resGob := bytes.NewBuffer(resBytes)
|
||
|
resDec := gob.NewDecoder(resGob)
|
||
|
err = resDec.Decode(obj)
|
||
|
if err != nil {
|
||
|
panic(err)
|
||
|
}
|
||
|
return true
|
||
|
}
|