admissionServer/index.go
Marcel 8b9daa4f2c Dodano podstawowe modele i enumy
- Podstawowe modele reprezentujące tabele w DB zostały dodane;
- Podstawowe enumy zostały dodane
2018-11-25 12:46:45 +01:00

53 lines
1.5 KiB
Go

package main
import (
"encoding/json"
"fmt"
"html"
"log"
"net/http"
"time"
"github.com/gorilla/mux"
)
// Zrobione ostatnio:
// Podstawowe struktury modeli; niezbędne enumy;
// Zrobione:
// Podstawowy serwer;
//
// Do zrobienia:
// Funkcje modeli; Interfejsy json; łączenie z bazą danych; Rozne metody do tworzenia komend sql;
// Komunikacja z aplikacja desktopowa; Walidacja danych!! ;
func main() {
xx := getXxx()
xx.Pesel = "ssss"
muxRouter := mux.NewRouter().StrictSlash(true)
muxRouter.HandleFunc("/", index)
muxRouter.HandleFunc("/getfromdb", getAll)
muxRouter.HandleFunc("/getfromdb/{primaryKey}", getIndex)
log.Fatal(http.ListenAndServe(":8080", muxRouter))
}
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) {
patientsList := patients{
patient{"kss", "dasda", "asdasd a", time.Now(), patientStates(critical), sex(m), "xxx@yyy.zz"},
patient{"00112245789", "Adam", "Marcel", time.Now(), patientStates(stable), sex(k), "xxxx@yyy.zz"},
}
json.NewEncoder(w).Encode(patientsList)
}
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)
}
func getXxx() patient {
pat := patient{"kss", "dasda", "asdasd a", time.Now(), patientStates(critical), sex(m), "xxx@yyy.zz"}
return pat
}