Browse Source

Ergänzunng PhotoHandler

pull/1/head
Georg Spar 1 year ago
parent
commit
d4401abbf9
  1. 23
      wdm.go
  2. 22
      wdmdb.go

23
wdm.go

@ -39,6 +39,7 @@ func main() {
r.HandleFunc("/api/v1/pho/{id:[0-9]+}", deletePhotoHandler).Methods("DELETE", "OPTIONS") r.HandleFunc("/api/v1/pho/{id:[0-9]+}", deletePhotoHandler).Methods("DELETE", "OPTIONS")
r.HandleFunc("/api/v1/pho", showPhotoHandler).Methods("GET", "OPTIONS") r.HandleFunc("/api/v1/pho", showPhotoHandler).Methods("GET", "OPTIONS")
r.HandleFunc("/api/v1/pho/{id:[0-9]+}", getPhotoHandler).Methods("GET", "OPTIONS") r.HandleFunc("/api/v1/pho/{id:[0-9]+}", getPhotoHandler).Methods("GET", "OPTIONS")
r.HandleFunc("/api/v1/pho/itb/{id:[0-9]+}", getPhotoForItbHandler).Methods("GET", "OPTIONS")
r.HandleFunc("/api/v1/pho/{id:[0-9]+}", updatePhotoHandler).Methods("PUT", "OPTIONS") r.HandleFunc("/api/v1/pho/{id:[0-9]+}", updatePhotoHandler).Methods("PUT", "OPTIONS")
r.HandleFunc("/api/v1/meas", createMeasureHandler).Methods("POST", "OPTIONS") r.HandleFunc("/api/v1/meas", createMeasureHandler).Methods("POST", "OPTIONS")
@ -311,6 +312,28 @@ func getPhotoHandler(writer http.ResponseWriter, req *http.Request) {
writer.Write(b) writer.Write(b)
} }
func getPhotoForItbHandler(writer http.ResponseWriter, req *http.Request) {
writer.Header().Set("Access-Control-Allow-Origin", "*")
if req.Method == http.MethodOptions {
return
}
phoId, _ := strconv.ParseUint(mux.Vars(req)["id"], 10, 0)
res, err := GetPhotoForItb(uint64(phoId))
if err != nil {
log.Fatal("Error: Photo can't be shown ", err)
writer.WriteHeader(http.StatusInternalServerError)
}
b, err := json.Marshal(res)
if err != nil {
log.Fatal("Error: ", err)
}
location := req.URL.String()
writer.Header().Set("Location:", location)
writer.Header().Set("Content-Type", "application/json")
writer.WriteHeader(http.StatusOK)
writer.Write(b)
}
func updatePhotoHandler(writer http.ResponseWriter, req *http.Request) { func updatePhotoHandler(writer http.ResponseWriter, req *http.Request) {
writer.Header().Set("Access-Control-Allow-Origin", "*") writer.Header().Set("Access-Control-Allow-Origin", "*")
if req.Method == http.MethodOptions { if req.Method == http.MethodOptions {

22
wdmdb.go

@ -158,6 +158,28 @@ func ShowPhoto() (phoArray []Photos, err error) {
return phoArray, err return phoArray, err
} }
func GetPhotoForItb(itbid uint64) (phoArray []Photos, err error) {
conn, err := sql.Open(dbType, dbConnection)
if err != nil {
log.Println("Error while connecting DB: ", err)
}
log.Println("DB Verbindung hergestellt (Photo Itb SHOW)")
defer conn.Close()
results, err := conn.Query("SELECT * FROM photos where itembid=?", itbid)
if err != nil {
log.Fatal("Error while executing SELECt statement", err)
}
var pho Photos
for results.Next() {
err = results.Scan(&pho.Id, &pho.Pfad, &pho.ItembId, &pho.ItemextId)
if err != nil {
log.Fatal("Error: ", err)
}
phoArray = append(phoArray, pho)
}
return phoArray, err
}
func GetPhoto(id uint64) (pho Photos, err error) { func GetPhoto(id uint64) (pho Photos, err error) {
conn, err := sql.Open(dbType, dbConnection) conn, err := sql.Open(dbType, dbConnection)
if err != nil { if err != nil {

Loading…
Cancel
Save