Documentation ¶
Index ¶
- func DeleteOffers(offers db.Offers, users db.Users, sessionManager session.Manager, ...) router.HandlerWithParams
- func ListPagesManagedByUser(sessionManager session.Manager, auther facebook.Authenticator, ...) router.Handler
- func Logout(sessionManager session.Manager, usersCollection db.Users) router.Handler
- func OfferGroupPost(c db.OfferGroupPosts, sessionManager session.Manager, users db.Users, ...) router.HandlerWithParams
- func Page(sessionManager session.Manager, auther facebook.Authenticator, ...) router.HandlerWithParams
- func PostOfferGroupPost(c db.OfferGroupPosts, sessionManager session.Manager, users db.Users, ...) router.HandlerWithParams
- func PostOffers(offers db.Offers, users db.Users, restaurants db.Restaurants, ...) router.HandlerWithParams
- func PostRestaurants(c db.Restaurants, sessionManager session.Manager, users db.Users, ...) router.Handler
- func ProximalOffers(offersCollection db.Offers, imageStorage storage.Images) router.Handler
- func PutOfferGroupPost(c db.OfferGroupPosts, sessionManager session.Manager, users db.Users, ...) router.HandlerWithParams
- func PutOffers(offers db.Offers, users db.Users, restaurants db.Restaurants, ...) router.HandlerWithParams
- func RedirectToFBForLogin(sessionManager session.Manager, auther facebook.Authenticator) router.Handler
- func RedirectToFBForRegistration(sessionManager session.Manager, auther facebook.Authenticator, ...) router.Handler
- func RedirectedFromFBForLogin(sessionManager session.Manager, fbAuth facebook.Authenticator, users db.Users, ...) router.Handler
- func RedirectedFromFBForRegistration(sessionManager session.Manager, auther facebook.Authenticator, ...) router.Handler
- func RegionOffers(offersCollection db.Offers, regionsCollection db.Regions, ...) router.HandlerWithParams
- func Regions(regionsCollection db.Regions) router.Handler
- func Restaurant(c db.Restaurants, sessionManager session.Manager, users db.Users) router.HandlerWithParams
- func RestaurantOfferSuggestions(restaurants db.Restaurants, sessionManager session.Manager, users db.Users, ...) router.HandlerWithParams
- func RestaurantOffers(restaurants db.Restaurants, sessionManager session.Manager, users db.Users, ...) router.HandlerWithParams
- func Tags(tagsCollection db.Tags) router.Handler
- func UserRestaurants(restaurants db.Restaurants, sessionManager session.Manager, users db.Users) router.Handler
- type FacebookPage
- type HandlerWithParamsWithRestaurant
- type HandlerWithParamsWithUser
- type HandlerWithRegion
- type HandlerWithRestaurant
- type HandlerWithRestaurantAndDate
- type HandlerWithRestaurantAndOffer
- type HandlerWithUser
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func DeleteOffers ¶
func DeleteOffers(offers db.Offers, users db.Users, sessionManager session.Manager, restaurants db.Restaurants, facebookPost facebook.Post, regions db.Regions) router.HandlerWithParams
DeleteOffers handles DELETE requests to /offers. It deletes the offer from the DB and deletes the related Facebook post.
func ListPagesManagedByUser ¶
func ListPagesManagedByUser(sessionManager session.Manager, auther facebook.Authenticator, usersCollection db.Users) router.Handler
ListPagesManagedByUser returns a handler that lists all pages managed by the currently logged in user
func OfferGroupPost ¶
func OfferGroupPost(c db.OfferGroupPosts, sessionManager session.Manager, users db.Users, restaurants db.Restaurants) router.HandlerWithParams
OfferGroupPost handles GET requests to /restaurant/posts/:date. It returns all current day's offers for the region.
func Page ¶
func Page(sessionManager session.Manager, auther facebook.Authenticator, usersCollection db.Users) router.HandlerWithParams
Page returns a handler that returns information about the specified page
func PostOfferGroupPost ¶
func PostOfferGroupPost(c db.OfferGroupPosts, sessionManager session.Manager, users db.Users, restaurants db.Restaurants, facebookPost facebook.Post) router.HandlerWithParams
PostOfferGroupPost handles POST requests to /restaurant/posts. It stores the info in the DB and updates the post in FB.
func PostOffers ¶
func PostOffers(offers db.Offers, users db.Users, restaurants db.Restaurants, sessionManager session.Manager, imageStorage storage.Images, facebookPost facebook.Post, regions db.Regions) router.HandlerWithParams
PostOffers handles POST requests to /offers. It stores the offer in the DB and sends it to Facebook to be posted on the page's wall at the requested time.
func PostRestaurants ¶
func PostRestaurants(c db.Restaurants, sessionManager session.Manager, users db.Users, fbAuth facebook.Authenticator) router.Handler
PostRestaurants returns an handler for creating a restaurant
func ProximalOffers ¶
ProximalOffers handles requests that whish to know about offers near a certain location.
func PutOfferGroupPost ¶
func PutOfferGroupPost(c db.OfferGroupPosts, sessionManager session.Manager, users db.Users, restaurants db.Restaurants, facebookPost facebook.Post) router.HandlerWithParams
PutOfferGroupPost handles PUT requests to /restaurant/posts/:date. It stores the info in the DB and updates the post in FB.
func PutOffers ¶
func PutOffers(offers db.Offers, users db.Users, restaurants db.Restaurants, sessionManager session.Manager, imageStorage storage.Images, facebookPost facebook.Post, regions db.Regions) router.HandlerWithParams
PutOffers handles PUT requests to /offers. It updates the offer in the DB and updates the related Facebook post.
func RedirectToFBForLogin ¶
func RedirectToFBForLogin(sessionManager session.Manager, auther facebook.Authenticator) router.Handler
RedirectToFBForLogin returns a handler that redirects the user to Facebook to log in
func RedirectToFBForRegistration ¶
func RedirectToFBForRegistration(sessionManager session.Manager, auther facebook.Authenticator, tokens db.RegistrationAccessTokens) router.Handler
RedirectToFBForRegistration returns a handler that redirects the user to Facebook to log in so they could be registered in our system
func RedirectedFromFBForLogin ¶
func RedirectedFromFBForLogin(sessionManager session.Manager, fbAuth facebook.Authenticator, users db.Users, restaurants db.Restaurants) router.Handler
RedirectedFromFBForLogin returns a handler that receives the user and page tokens for the user who has just logged in through Facebook. Updates the user and page access tokens in the DB
func RedirectedFromFBForRegistration ¶
func RedirectedFromFBForRegistration(sessionManager session.Manager, auther facebook.Authenticator, usersCollection db.Users) router.Handler
RedirectedFromFBForRegistration provides a handler that stores the data about the current user required to continue the registration in the DB.
func RegionOffers ¶
func RegionOffers(offersCollection db.Offers, regionsCollection db.Regions, imageStorage storage.Images) router.HandlerWithParams
RegionOffers handles GET requests to /regions/:name/offers. It returns all current day's offers for the region.
func Restaurant ¶
func Restaurant(c db.Restaurants, sessionManager session.Manager, users db.Users) router.HandlerWithParams
Restaurant returns a router.Handler that returns the restaurant information for the specified restaurant
func RestaurantOfferSuggestions ¶
func RestaurantOfferSuggestions(restaurants db.Restaurants, sessionManager session.Manager, users db.Users, offers db.Offers) router.HandlerWithParams
RestaurantOfferSuggestions handles GET requests to /restaurants/:id/offer_suggestions and expects a 'title' query parameter. It returns a list of previously used offer titles matching the one provided.
func RestaurantOffers ¶
func RestaurantOffers(restaurants db.Restaurants, sessionManager session.Manager, users db.Users, offers db.Offers, imageStorage storage.Images, regions db.Regions) router.HandlerWithParams
RestaurantOffers returns all upcoming offers for the restaurant linked to the currently logged in user unless the request includes a 'title' query parameter, in which the offer with the specified title will be fetched instead.
func UserRestaurants ¶
func UserRestaurants(restaurants db.Restaurants, sessionManager session.Manager, users db.Users) router.Handler
UserRestaurants returns a list of restaurants the user has access to
Types ¶
type FacebookPage ¶
type FacebookPage struct { ID string `json:"id"` Name string `json:"name"` Address string `json:"address,omitempty"` Phone string `json:"phone,omitempty"` Website string `json:"website,omitempty"` Email string `json:"emails,omitempty"` }
FacebookPage defines the response format for the Page() handler
type HandlerWithParamsWithRestaurant ¶
type HandlerWithParamsWithRestaurant func(w http.ResponseWriter, r *http.Request, ps httprouter.Params, user *model.User, restaurant *model.Restaurant) *router.HandlerError
type HandlerWithParamsWithUser ¶
type HandlerWithParamsWithUser func(w http.ResponseWriter, r *http.Request, ps httprouter.Params, user *model.User) *router.HandlerError
type HandlerWithRegion ¶
type HandlerWithRegion func(w http.ResponseWriter, r *http.Request, region *model.Region) *router.HandlerError
type HandlerWithRestaurant ¶
type HandlerWithRestaurant func(w http.ResponseWriter, r *http.Request, user *model.User, restaurant *model.Restaurant) *router.HandlerError
type HandlerWithRestaurantAndDate ¶
type HandlerWithRestaurantAndDate func(w http.ResponseWriter, r *http.Request, user *model.User, restaurant *model.Restaurant, date model.DateWithoutTime) *router.HandlerError
type HandlerWithRestaurantAndOffer ¶
type HandlerWithRestaurantAndOffer func(http.ResponseWriter, *http.Request, *model.User, *model.Restaurant, *model.Offer) *router.HandlerError
type HandlerWithUser ¶
type HandlerWithUser func(w http.ResponseWriter, r *http.Request, user *model.User) *router.HandlerError