Added storer interface

Change-Id: I747bec339bdda26f0f68b24956912467ff67695d
This commit is contained in:
Stephen McQuay 2016-06-22 22:40:18 -07:00
parent 99cdbf1847
commit 9d3ce56e26
No known key found for this signature in database
GPG Key ID: 1ABF428F71BAFC3D
2 changed files with 18 additions and 2 deletions

View File

@ -31,7 +31,7 @@ func init() {
// Server serves up the http.
type Server struct {
db *DB
db Storer
static string
emailTimeout time.Duration
mail Mailer
@ -39,7 +39,7 @@ type Server struct {
}
// NewServer populates a server, adds the routes, and returns it for use.
func NewServer(sm *http.ServeMux, store *DB, m Mailer, static string, emailTimeout time.Duration, insecure bool) *Server {
func NewServer(sm *http.ServeMux, store Storer, m Mailer, static string, emailTimeout time.Duration, insecure bool) *Server {
s := &Server{
db: store,
static: static,

16
storage.go Normal file
View File

@ -0,0 +1,16 @@
package vain
import "time"
// Storer defines the db interface.
type Storer interface {
AddPackage(p Package) error
Confirm(token string) (string, error)
NSForToken(ns string, tok string) error
Package(path string) (Package, error)
PackageExists(path string) bool
Pkgs() []Package
Register(email string) (string, error)
RemovePackage(path string) error
forgot(email string, window time.Duration) (string, error)
}