feat: add SerializerAdapter support custom serializer

This commit is contained in:
weloe
2023-05-17 01:16:14 +08:00
parent 900e86123a
commit 2d9f8124cc
5 changed files with 148 additions and 3 deletions

27
persist/json_adapter.go Normal file
View File

@@ -0,0 +1,27 @@
package persist
import (
"encoding/json"
"github.com/weloe/token-go/model"
)
type JsonAdapter struct {
*DefaultAdapter
}
func NewJsonAdapter() *JsonAdapter {
return &JsonAdapter{NewDefaultAdapter()}
}
func (j *JsonAdapter) Serialize(session *model.Session) ([]byte, error) {
return json.Marshal(session)
}
func (j *JsonAdapter) UnSerialize(bytes []byte) (*model.Session, error) {
s := &model.Session{}
err := json.Unmarshal(bytes, s)
if err != nil {
return nil, err
}
return s, nil
}