Searching for availability by Room
This commit is contained in:
		@ -246,15 +246,42 @@ func (m *Repository) PostAvailability(w http.ResponseWriter, r *http.Request) {
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
type responseJSON struct {
 | 
			
		||||
	OK      string `json:"ok"`
 | 
			
		||||
	OK      bool   `json:"ok"`
 | 
			
		||||
	Message string `json:"message"`
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
// AvailabilityJSON is the search for availability page handler
 | 
			
		||||
func (m *Repository) AvailabilityJSON(w http.ResponseWriter, r *http.Request) {
 | 
			
		||||
	sd := r.Form.Get("start")
 | 
			
		||||
	ed := r.Form.Get("end")
 | 
			
		||||
 | 
			
		||||
	layout := "2006-01-02"
 | 
			
		||||
	startDate, err := time.Parse(layout, sd)
 | 
			
		||||
	if err != nil {
 | 
			
		||||
		helpers.ServerError(w, err)
 | 
			
		||||
		return
 | 
			
		||||
	}
 | 
			
		||||
	endDate, err := time.Parse(layout, ed)
 | 
			
		||||
	if err != nil {
 | 
			
		||||
		helpers.ServerError(w, err)
 | 
			
		||||
		return
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	roomID, err := strconv.Atoi(r.Form.Get("room_id"))
 | 
			
		||||
	if err != nil {
 | 
			
		||||
		helpers.ServerError(w, err)
 | 
			
		||||
		return
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	available, err := m.DB.SearchAvailabilityByDatesByRoomID(startDate, endDate, roomID)
 | 
			
		||||
	if err != nil {
 | 
			
		||||
		helpers.ServerError(w, err)
 | 
			
		||||
		return
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	resp := responseJSON{
 | 
			
		||||
		OK:      "true",
 | 
			
		||||
		Message: "Available!",
 | 
			
		||||
		OK:      available,
 | 
			
		||||
		Message: "",
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	out, err := json.MarshalIndent(resp, "", "    ")
 | 
			
		||||
 | 
			
		||||
		Reference in New Issue
	
	Block a user