2015-03-04 20:14:14 +00:00
|
|
|
package db
|
|
|
|
|
|
|
|
import (
|
|
|
|
"time"
|
|
|
|
)
|
|
|
|
|
|
|
|
type (
|
|
|
|
Token struct {
|
|
|
|
ID int
|
2015-03-05 15:04:44 +00:00
|
|
|
User string
|
2015-03-04 20:14:14 +00:00
|
|
|
Token string
|
|
|
|
Limit int
|
|
|
|
Remaining int
|
|
|
|
ResetAt time.Time
|
|
|
|
CreatedAt time.Time
|
|
|
|
}
|
|
|
|
)
|
2015-03-05 12:57:36 +00:00
|
|
|
|
2015-03-05 15:04:44 +00:00
|
|
|
const (
|
|
|
|
saveTokenQuery = "" +
|
|
|
|
"insert into tokens (`user`, token, `limit`, remaining, reset_at, created_at) " +
|
|
|
|
"values (?, ?, ?, ?, ?, now()) " +
|
|
|
|
"on duplicate key update " +
|
|
|
|
"`limit` = values(`limit`), remaining = values(remaining), reset_at = values(reset_at)"
|
|
|
|
)
|
2015-03-05 12:57:36 +00:00
|
|
|
|
2015-03-05 15:04:44 +00:00
|
|
|
func (t *Token) Save() {
|
|
|
|
if _, err := stmt(saveTokenQuery).Exec(t.User, t.Token, t.Limit, t.Remaining, t.ResetAt); err != nil {
|
|
|
|
panic(err)
|
|
|
|
}
|
2015-03-05 12:57:36 +00:00
|
|
|
}
|