pwndrop/storage/db_session.go
2020-04-15 10:22:22 +02:00

54 lines
927 B
Go

package storage
type DbSession struct {
ID int `json:"id" storm:"id,increment"`
Uid int `json:"uid" storm:"index"`
Token string `json:"token" storm:"unique"`
CreateTime int64 `json:"create_time"`
}
func SessionCreate(o *DbSession) (*DbSession, error) {
err := db.Save(o)
if err != nil {
return nil, err
}
return o, nil
}
func SessionGet(id int) (*DbSession, error) {
var o DbSession
err := db.One("ID", id, &o)
if err != nil {
return nil, err
}
return &o, nil
}
func SessionGetByToken(token string) (*DbSession, error) {
var o DbSession
err := db.One("Token", token, &o)
if err != nil {
return nil, err
}
return &o, nil
}
func SessionDelete(id int) error {
o := &DbSession{
ID: id,
}
err := db.DeleteStruct(o)
if err != nil {
return err
}
return nil
}
func SessionDeleteAll() error {
err := db.Drop("DbSession")
if err != nil {
return err
}
return nil
}