Files
nCovTrack-Backend/handler/management.go
2022-05-04 20:06:21 +08:00

69 lines
1.5 KiB
Go

package handler
import (
"nCovTrack-Backend/service/management"
"nCovTrack-Backend/utils"
"strconv"
"github.com/gin-gonic/gin"
)
func PullContactHandler(c *gin.Context) {
claims := utils.ClaimsFromHeader(c)
patientId, _ := strconv.Atoi(c.Param("patientId"))
rowsAffected := management.PullFromFaker(claims, patientId)
if rowsAffected == -1 {
DataNotFound(c, map[string]interface{}{"patientId": patientId})
return
}
utils.Succ(c, map[string]interface{}{"pullAmount": rowsAffected})
}
func ListObservationsHandler(c *gin.Context) {
jsonMap := bindQuery(c)
utils.Succ(c, management.ListObservation(jsonMap))
}
func InsertObservationHandler(c *gin.Context) {
claims := utils.ClaimsFromHeader(c)
observaion := bindJson(c)
delete(observaion, "id")
ok := management.InsertObservation(claims, observaion)
if ok {
utils.Succ(c, nil)
} else {
OperationFailed(c)
}
}
func GetObservationHandler(c *gin.Context) {
id, _ := strconv.Atoi(c.Param("id"))
utils.Succ(c, management.GetObservation(id))
}
func ListLocationHandler(c *gin.Context) {
queryMap := bindQuery(c)
utils.Succ(c, management.ListLocation(queryMap))
}
func InsertLocationHandler(c *gin.Context) {
claims := utils.ClaimsFromHeader(c)
locationMap := bindJson(c)
ok := management.InsertLocation(claims, locationMap)
if ok {
utils.Succ(c, nil)
} else {
OperationFailed(c)
}
}
func DeleteLocationHandler(c *gin.Context) {
id, _ := strconv.Atoi(c.Param("id"))
ok := management.DeleteLocation(id)
if ok {
utils.Succ(c, nil)
} else {
OperationFailed(c)
}
}