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