Files

30 lines
538 B
Go

package api
import (
"mime"
"net/http"
)
func GetDormanState(w http.ResponseWriter, request *http.Request) {
id := getDoormanIdFromRequest(w, request)
if id == "" {
Write404Error(w)
return
}
doorman, err := conn.GetDoorman(id)
if err != nil {
Write500Error(w, err)
return
} else if doorman == nil {
Write404Error(w)
return
}
if payload, err := doorman.AsDoormanUpdatePayload(); err != nil {
Write500Error(w, err)
} else {
w.Header().Add("Content-Type", mime.TypeByExtension(".json"))
w.Write(payload)
}
}