add voucher store
This commit is contained in:
@@ -184,6 +184,34 @@ func (fs *FileServer) PromotionsHandler(w http.ResponseWriter, r *http.Request)
|
|||||||
w.WriteHeader(http.StatusMethodNotAllowed)
|
w.WriteHeader(http.StatusMethodNotAllowed)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
func (fs *FileServer) VoucherHandler(w http.ResponseWriter, r *http.Request) {
|
||||||
|
fileName := filepath.Join(fs.dataDir, "vouchers.json")
|
||||||
|
if r.Method == http.MethodGet {
|
||||||
|
file, err := os.Open(fileName)
|
||||||
|
if err != nil {
|
||||||
|
writeJSON(w, http.StatusInternalServerError, map[string]string{"error": err.Error()})
|
||||||
|
return
|
||||||
|
}
|
||||||
|
defer file.Close()
|
||||||
|
|
||||||
|
io.Copy(w, file)
|
||||||
|
return
|
||||||
|
}
|
||||||
|
if r.Method == http.MethodPost {
|
||||||
|
file, err := os.Create(fileName)
|
||||||
|
if err != nil {
|
||||||
|
writeJSON(w, http.StatusInternalServerError, map[string]string{"error": err.Error()})
|
||||||
|
return
|
||||||
|
}
|
||||||
|
defer file.Close()
|
||||||
|
|
||||||
|
io.Copy(file, r.Body)
|
||||||
|
return
|
||||||
|
}
|
||||||
|
|
||||||
|
w.WriteHeader(http.StatusMethodNotAllowed)
|
||||||
|
}
|
||||||
|
|
||||||
func (fs *FileServer) PromotionPartHandler(w http.ResponseWriter, r *http.Request) {
|
func (fs *FileServer) PromotionPartHandler(w http.ResponseWriter, r *http.Request) {
|
||||||
idStr := r.PathValue("id")
|
idStr := r.PathValue("id")
|
||||||
if idStr == "" {
|
if idStr == "" {
|
||||||
|
|||||||
@@ -90,6 +90,7 @@ func main() {
|
|||||||
mux.HandleFunc("GET /carts", fs.CartsHandler)
|
mux.HandleFunc("GET /carts", fs.CartsHandler)
|
||||||
mux.HandleFunc("GET /cart/{id}", fs.CartHandler)
|
mux.HandleFunc("GET /cart/{id}", fs.CartHandler)
|
||||||
mux.HandleFunc("/promotions", fs.PromotionsHandler)
|
mux.HandleFunc("/promotions", fs.PromotionsHandler)
|
||||||
|
mux.HandleFunc("/vouchers", fs.VoucherHandler)
|
||||||
mux.HandleFunc("/promotion/{id}", fs.PromotionPartHandler)
|
mux.HandleFunc("/promotion/{id}", fs.PromotionPartHandler)
|
||||||
|
|
||||||
mux.HandleFunc("/ws", hub.ServeWS)
|
mux.HandleFunc("/ws", hub.ServeWS)
|
||||||
|
|||||||
Reference in New Issue
Block a user