mirror of https://github.com/statping/statping
modified to r.query
parent
b0a5c55024
commit
de0859ade4
|
@ -7,6 +7,7 @@ import (
|
||||||
"github.com/statping/statping/types/services"
|
"github.com/statping/statping/types/services"
|
||||||
"github.com/statping/statping/utils"
|
"github.com/statping/statping/utils"
|
||||||
"net/http"
|
"net/http"
|
||||||
|
"net/url"
|
||||||
"time"
|
"time"
|
||||||
)
|
)
|
||||||
|
|
||||||
|
@ -21,15 +22,33 @@ func findDowntime(r *http.Request) (*downtimes.Downtime, error) {
|
||||||
return downtime, nil
|
return downtime, nil
|
||||||
}
|
}
|
||||||
|
|
||||||
|
func convertToMap(query url.Values) map[string]string{
|
||||||
|
vars := make(map[string]string)
|
||||||
|
if query.Get("start")!= "" {
|
||||||
|
vars["start"] = query.Get("start")
|
||||||
|
}
|
||||||
|
if query.Get("end")!= "" {
|
||||||
|
vars["end"] = query.Get("end")
|
||||||
|
}
|
||||||
|
if query.Get("sub_status")!= "" {
|
||||||
|
vars["sub_status"] = query.Get("sub_status")
|
||||||
|
}
|
||||||
|
if query.Get("service_id")!= "" {
|
||||||
|
vars["service_id"] = query.Get("service_id")
|
||||||
|
}
|
||||||
|
if query.Get("type")!= "" {
|
||||||
|
vars["type"] = query.Get("type")
|
||||||
|
}
|
||||||
|
return vars
|
||||||
|
}
|
||||||
func apiAllDowntimes(w http.ResponseWriter, r *http.Request) {
|
func apiAllDowntimes(w http.ResponseWriter, r *http.Request) {
|
||||||
vars := mux.Vars(r)
|
query := r.URL.Query()
|
||||||
fmt.Println(vars)
|
vars:=convertToMap(query)
|
||||||
downtime,err := downtimes.FindAll(vars)
|
downtime,err := downtimes.FindAll(vars)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
sendErrorJson(err, w, r)
|
sendErrorJson(err, w, r)
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
fmt.Println(downtime)
|
|
||||||
sendJsonAction(downtime, "fetch", w, r)
|
sendJsonAction(downtime, "fetch", w, r)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -79,9 +79,9 @@ func FindAll(vars map[string]string ) (*[]Downtime, error) {
|
||||||
var end time.Time
|
var end time.Time
|
||||||
var err error
|
var err error
|
||||||
var count int64
|
var count int64
|
||||||
st,ok1 := vars["start"]
|
st,err1 := vars["start"]
|
||||||
en,ok2 := vars["end"]
|
en,err2 := vars["end"]
|
||||||
if ok1 && ok2 && (en > st){
|
if err1 && err2 && (en > st){
|
||||||
start,err = ConvertToUnixTime(vars["start"])
|
start,err = ConvertToUnixTime(vars["start"])
|
||||||
if err!=nil {
|
if err!=nil {
|
||||||
return &downtime,err
|
return &downtime,err
|
||||||
|
@ -96,20 +96,20 @@ func FindAll(vars map[string]string ) (*[]Downtime, error) {
|
||||||
end = time.Now()
|
end = time.Now()
|
||||||
}
|
}
|
||||||
q := db.Where("start BETWEEN ? AND ? ", start, end)
|
q := db.Where("start BETWEEN ? AND ? ", start, end)
|
||||||
subStatus,ok3 := vars["sub_status"]
|
subStatus,err3 := vars["sub_status"]
|
||||||
if ok3{
|
if err3{
|
||||||
q = q.Where(" sub_status = ?", subStatus)
|
q = q.Where(" sub_status = ?", subStatus)
|
||||||
}
|
}
|
||||||
service,ok4 := vars["service"]
|
serviceId,err4 := vars["service_id"]
|
||||||
if ok4{
|
if err4{
|
||||||
q = q.Where(" service = ?", service)
|
q = q.Where(" service = ?", serviceId)
|
||||||
}
|
}
|
||||||
ty,ok5 := vars["type"]
|
ty,err5 := vars["type"]
|
||||||
if ok5{
|
if err5{
|
||||||
q = q.Where(" type = ?", ty)
|
q = q.Where(" type = ?", ty)
|
||||||
}
|
}
|
||||||
cnt,ok5 := vars["count"]
|
cnt,err5 := vars["count"]
|
||||||
if ok5{
|
if err5{
|
||||||
count,err = strconv.ParseInt(cnt,10,64)
|
count,err = strconv.ParseInt(cnt,10,64)
|
||||||
if count > 100 {
|
if count > 100 {
|
||||||
count = 100
|
count = 100
|
||||||
|
|
Loading…
Reference in New Issue