Browse Source

chore: basic convertDatesToUnix function added; needs work to not re-write every possible date param

cli-archive
nic 1 year ago
parent
commit
c2db027890
  1. 40
      internal/handlers/web/jobs.go

40
internal/handlers/web/jobs.go

@ -7,6 +7,7 @@ import (
"marmic/servicetrade-toolbox/internal/api" "marmic/servicetrade-toolbox/internal/api"
"net/http" "net/http"
"net/url" "net/url"
"time"
) )
func JobsHandler(w http.ResponseWriter, r *http.Request) { func JobsHandler(w http.ResponseWriter, r *http.Request) {
@ -59,20 +60,43 @@ func JobsHandler(w http.ResponseWriter, r *http.Request) {
http.Error(w, "Not Found", http.StatusNotFound) http.Error(w, "Not Found", http.StatusNotFound)
} }
} }
func convertDatesToUnix(params url.Values) url.Values {
func handleJobSearch(r *http.Request, session *api.Session) ([]api.Job, error) {
queryParams := r.URL.Query()
cleanedParams := url.Values{} cleanedParams := url.Values{}
log.Printf("Searching jobs with filters: %v", queryParams)
for key, values := range queryParams { const layout = "2006-01-02"
for _, value := range values {
if value != "" { if beginDate := params.Get("dueByBegin"); beginDate != "" {
cleanedParams.Add(key, value) if t, err := time.Parse(layout, beginDate); err == nil {
cleanedParams.Add("dueByBegin", fmt.Sprintf("%d", t.Unix()))
} else {
fmt.Printf("Error parsing dueByBegin: %v\n", err)
}
}
if endDate := params.Get("dueByEnd"); endDate != "" {
if t, err := time.Parse(layout, endDate); err == nil {
cleanedParams.Add("dueByEnd", fmt.Sprintf("%d", t.Unix()))
} else {
fmt.Printf("Error parsing dueByEnd: %v\n", err)
}
}
for key, values := range params {
if key != "dueByBegin" && key != "dueByEnd" {
for _, value := range values {
if value != "" {
cleanedParams.Add(key, value)
}
} }
} }
} }
return cleanedParams
}
func handleJobSearch(r *http.Request, session *api.Session) ([]api.Job, error) {
queryParams := r.URL.Query()
cleanedParams := convertDatesToUnix(queryParams)
jobs, err := session.SearchJobs(cleanedParams) jobs, err := session.SearchJobs(cleanedParams)
if err != nil { if err != nil {
return nil, fmt.Errorf("error fetching jobs: %w", err) return nil, fmt.Errorf("error fetching jobs: %w", err)

Loading…
Cancel
Save