workshop/internal/controllers/serviceController.go
Dmitry Sirotkin 8ad58ca09d
Some checks failed
Deploy to Server (Docker) / deploy (push) Failing after 59s
5
2025-03-28 19:46:14 +03:00

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)
}