initial commit for bookish-server and local environment

This commit is contained in:
David Thompson
2020-05-26 00:30:20 -04:00
parent d634e9d00f
commit 2bc790c87b
48 changed files with 15860 additions and 1 deletions
+45
View File
@@ -0,0 +1,45 @@
package renter
import (
bookish "github.com/davidlick/bookish/bookish-server"
)
// Storage defines behavior for interacting with the renter store.
type Storage interface {
ListAll() (rr []bookish.Renter, err error)
FetchDetails(id int) (r bookish.Renter, err error)
New(name string, address string, email string, phoneNumber string) (id int, err error)
}
type service struct {
store Storage
}
// Service defines behavior for interacting with the renter service.
type Service interface {
ListRenters() (rr []bookish.Renter, err error)
FetchRenter(id int) (r bookish.Renter, err error)
RegisterRenter(fullName string, address string, email string, phoneNumber string) (id int, err error)
}
// NewService creates a new renter service.
func NewService(s Storage) *service {
return &service{
s,
}
}
// ListRenters returns all renters from the renter store.
func (s *service) ListRenters() (rr []bookish.Renter, err error) {
return s.store.ListAll()
}
// FetchRenter returns a specific renter from the renter store.
func (s *service) FetchRenter(id int) (r bookish.Renter, err error) {
return s.store.FetchDetails(id)
}
// RegisterRenter registers a new renter in the renter store.
func (s *service) RegisterRenter(fullName string, address string, email string, phoneNumber string) (id int, err error) {
return s.store.New(fullName, address, email, phoneNumber)
}