item and location names will be shown instead of their ids
This commit is contained in:
@@ -214,6 +214,34 @@ func Item(w http.ResponseWriter, r *http.Request) {
|
||||
|
||||
switch r.Method {
|
||||
case http.MethodGet:
|
||||
|
||||
idStr := r.URL.Query().Get("id")
|
||||
|
||||
if idStr != "" {
|
||||
id, err := strconv.Atoi(idStr)
|
||||
if err != nil {
|
||||
http.Error(w, "Invalid ID parameter", http.StatusBadRequest)
|
||||
return
|
||||
}
|
||||
|
||||
var item models.Item
|
||||
err = storage.DB.QueryRow("SELECT id, name, category, description, total_quantity FROM items WHERE id = ?", id).Scan(&item.ID, &item.Name, &item.Category, &item.Description, &item.TotalQuantity)
|
||||
if err != nil {
|
||||
if err == sql.ErrNoRows {
|
||||
log.Println("GET [api/locations] " + r.RemoteAddr + ": Location not found (ID " + idStr + ")")
|
||||
http.Error(w, "Location not found", http.StatusNotFound)
|
||||
return
|
||||
}
|
||||
log.Println("GET [api/item] DB Error: " + err.Error())
|
||||
http.Error(w, "Internal server error", http.StatusInternalServerError)
|
||||
return
|
||||
}
|
||||
|
||||
json.NewEncoder(w).Encode(item)
|
||||
log.Println("GET [api/item] " + r.RemoteAddr + ": Successfully retrieved item ID " + idStr)
|
||||
return
|
||||
}
|
||||
|
||||
query := `
|
||||
SELECT
|
||||
i.id, i.name, i.category, i.description,
|
||||
|
||||
Reference in New Issue
Block a user