admissionServer/handlers.go
Marcel 3977c3e9fe Dodawanie dodatkowych funkcji obsługujących bazę danych.
- dodano UpdateRecord i wstępnie InsertRecord + powiązane handlery i potrzebne dodatkowe funkcje.
- Dodano metody do modeli zwracające primarykey
2018-12-18 22:09:23 +01:00

54 lines
1.3 KiB
Go

package main
import (
"encoding/json"
"fmt"
"html"
"net/http"
"strconv"
"github.com/gorilla/mux"
)
func index(w http.ResponseWriter, r *http.Request) {
fmt.Fprintf(w, "Hello, %q", html.EscapeString(r.URL.Path))
}
func getAll(w http.ResponseWriter, r *http.Request) {
args := mux.Vars(r)
table := args["tableName"]
patientsList, _ := readDatabase(table)
json.NewEncoder(w).Encode(patientsList)
}
func update(w http.ResponseWriter, r *http.Request) {
args := mux.Vars(r)
tableName := args["tableName"]
primaryKey := args["primaryKey"]
primaryKeyName := args["primaryKeyName"]
fieldToUpdate := args["fieldToUpdate"]
valueToInsert := args["valueToInsert"]
rowsAffected :=
updateRecord(tableName, primaryKey, primaryKeyName, fieldToUpdate, valueToInsert)
fmt.Fprint(w, rowsAffected)
}
//DO POPRAWY
func insert(w http.ResponseWriter, r *http.Request) {
args := mux.Vars(r)
tsqlCommand := "INSERT INTO " + args["tableName"] + " VALUES (" + args["primaryKey"]
max, _ := strconv.Atoi(args["count"])
for i := 1; i < max; i++ {
key := "val" + strconv.Itoa(i)
tsqlCommand += ", " + args[key]
}
tsqlCommand += ")"
rowsAffected := insertRecord(tsqlCommand)
fmt.Fprint(w, rowsAffected)
}
func getIndex(w http.ResponseWriter, r *http.Request) {
args := mux.Vars(r)
pk := args["primaryKey"]
fmt.Fprintf(w, "Tutaj bedzie wynik dla PK = %s", pk)
}