mirror of
https://github.com/grafana/grafana.git
synced 2025-02-25 18:55:37 -06:00
* cleanup dependencies and improve list method * Improve Resource Server API, remove unnecessary dependencies * Reduce the API footprint of ResourceDBInterface and its implementation * Improve LifecycleHooks to use context * Improve testing * reduce API size and improve code * sqltemplate: add DialectForDriver func and improve naming * improve lifecycle API * many small fixes after adding more tests
33 lines
599 B
Go
33 lines
599 B
Go
package sql
|
|
|
|
import (
|
|
"encoding/base64"
|
|
"encoding/json"
|
|
"fmt"
|
|
)
|
|
|
|
type ContinueToken struct {
|
|
StartOffset int64 `json:"o"`
|
|
ResourceVersion int64 `json:"v"`
|
|
}
|
|
|
|
func (c ContinueToken) String() string {
|
|
b, _ := json.Marshal(c)
|
|
return base64.StdEncoding.EncodeToString(b)
|
|
}
|
|
|
|
func GetContinueToken(token string) (*ContinueToken, error) {
|
|
continueVal, err := base64.StdEncoding.DecodeString(token)
|
|
if err != nil {
|
|
return nil, fmt.Errorf("error decoding continue token")
|
|
}
|
|
|
|
t := &ContinueToken{}
|
|
err = json.Unmarshal(continueVal, t)
|
|
if err != nil {
|
|
return nil, err
|
|
}
|
|
|
|
return t, nil
|
|
}
|