mirror of https://github.com/status-im/fathom.git
add CountUsers func to sqlstore
This commit is contained in:
parent
b860937107
commit
291d53fcaf
|
@ -72,7 +72,7 @@ func (api *API) LogoutHandler(w http.ResponseWriter, r *http.Request) error {
|
|||
return respond(w, envelope{Data: true})
|
||||
}
|
||||
|
||||
/* middleware */
|
||||
// Authorize is middleware that aborts the request if unauthorized
|
||||
func (api *API) Authorize(next http.Handler) http.Handler {
|
||||
return http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) {
|
||||
// clear context from request after it is handled
|
||||
|
|
|
@ -10,11 +10,13 @@ import (
|
|||
// ErrNoResults is returned whenever a single-item query returns 0 results
|
||||
var ErrNoResults = sqlstore.ErrNoResults // ???
|
||||
|
||||
// Datastore represents a database implementations
|
||||
type Datastore interface {
|
||||
// users
|
||||
GetUser(int64) (*models.User, error)
|
||||
GetUserByEmail(string) (*models.User, error)
|
||||
SaveUser(*models.User) error
|
||||
CountUsers() (int64, error)
|
||||
|
||||
// site stats
|
||||
GetSiteStats(time.Time) (*models.SiteStats, error)
|
||||
|
|
|
@ -2,6 +2,7 @@ package sqlstore
|
|||
|
||||
import (
|
||||
"database/sql"
|
||||
|
||||
"github.com/usefathom/fathom/pkg/models"
|
||||
)
|
||||
|
||||
|
@ -49,3 +50,12 @@ func (db *sqlstore) SaveUser(u *models.User) error {
|
|||
u.ID, _ = result.LastInsertId()
|
||||
return nil
|
||||
}
|
||||
|
||||
// CountUsers returns the number of users
|
||||
func (db *sqlstore) CountUsers() (int64, error) {
|
||||
var c int64
|
||||
var sql = `SELECT COUNT(*) FROM users`
|
||||
query := db.Rebind(sql)
|
||||
err := db.Get(&c, query)
|
||||
return c, err
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue