57 lines
1.3 KiB
Go
57 lines
1.3 KiB
Go
package controllers
|
|
|
|
import (
|
|
"gocommunity.ru/workshop/internal/api"
|
|
"gocommunity.ru/workshop/internal/models"
|
|
u "gocommunity.ru/workshop/internal/utils"
|
|
"encoding/json"
|
|
"net/http"
|
|
)
|
|
|
|
var CreateService = func(w http.ResponseWriter, r *http.Request) {
|
|
service := &models.Service{}
|
|
err := json.NewDecoder(r.Body).Decode(service)
|
|
if err != nil {
|
|
u.Respond(w, u.Message(false, "Invalid request!"))
|
|
return
|
|
}
|
|
resp := service.CreateService()
|
|
u.Respond(w, resp)
|
|
}
|
|
|
|
var GetServices = func(w http.ResponseWriter, r *http.Request) {
|
|
data := models.GetServices()
|
|
resp := u.Message(true, "success")
|
|
resp["data"] = data
|
|
u.Respond(w, resp)
|
|
}
|
|
|
|
var AcceptVehicle = func(w http.ResponseWriter, r *http.Request) {
|
|
serviceVehicle := &models.ServiceVehicle{}
|
|
err := json.NewDecoder(r.Body).Decode(serviceVehicle)
|
|
if err != nil {
|
|
u.Respond(w, u.Message(false, "Invalid request!"))
|
|
return
|
|
}
|
|
resp := serviceVehicle.AcceptVehicle()
|
|
u.Respond(w, resp)
|
|
}
|
|
|
|
var Calculate = func(w http.ResponseWriter, r *http.Request) {
|
|
|
|
ids := &api.IdRequest{}
|
|
|
|
service := &models.Service{}
|
|
|
|
err := json.NewDecoder(r.Body).Decode(ids)
|
|
if err != nil {
|
|
u.Respond(w, u.Message(false, "Invalid request!"))
|
|
return
|
|
}
|
|
|
|
data := service.Calculate(ids.Ids)
|
|
resp := u.Message(true, "success")
|
|
resp["data"] = data
|
|
u.Respond(w, resp)
|
|
}
|