Searching for availability by Room

This commit is contained in:
2024-07-10 23:09:45 +02:00
parent e0a29d21c3
commit 5eb9284b6f
2 changed files with 37 additions and 6 deletions

View File

@ -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, "", " ")