diff --git a/Backend/endpoints/user.go b/Backend/endpoints/user.go index 9e98a31..bb3a972 100644 --- a/Backend/endpoints/user.go +++ b/Backend/endpoints/user.go @@ -5,6 +5,7 @@ import ( "arbeitszeitmessung/templates" "log" "net/http" + "strconv" "time" "github.com/alexedwards/scs/v2" @@ -39,15 +40,24 @@ func loginUser(w http.ResponseWriter, r *http.Request){ if err != nil { log.Println("Error parsing form!", err) http.Error(w, "Internal error", http.StatusBadRequest) + return } - card_uid := r.FormValue("card_uid") - if(card_uid == ""){ - log.Println("No card_uid provided!") - http.Error(w, "No card_uid provided", http.StatusBadRequest) + _personal_nummer := r.FormValue("personal_nummer") + if(_personal_nummer == ""){ + log.Println("No personal_nummer provided!") + http.Error(w, "No personal_nummer provided", http.StatusBadRequest) + return } - user, err := (*models.User).GetByCardUID(nil, card_uid) + personal_nummer, err := strconv.Atoi(_personal_nummer) if(err != nil){ - log.Println("No user found under this card_uid!") + log.Println("Cannot parse personal nubmer!") + http.Error(w, "Cannot parse number", http.StatusBadRequest) + return + } + + user, err := (*models.User).GetByPersonalNummer(nil, personal_nummer) + if(err != nil){ + log.Println("No user found under this personal number!") http.Error(w, "No user found!", http.StatusNotFound) } diff --git a/Backend/models/user.go b/Backend/models/user.go index e2823e8..ab2d740 100644 --- a/Backend/models/user.go +++ b/Backend/models/user.go @@ -9,12 +9,11 @@ type User struct { CardUID string `json:"card_uid"` Name string `json:"name"` Vorname string `json:"vorname"` - HauptbeschaeftigungsOrt int8 `json:"hauptbeschaeftigungsort"` PersonalNummer int `json:"personal_nummer"` } func (u *User) GetAll() ([]User, error) { - qStr, err := DB.Prepare((`SELECT card_uid, vorname, nachname, hauptbeschaeftigung_ort FROM personal_daten;`)) + qStr, err := DB.Prepare((`SELECT card_uid, vorname, nachname FROM personal_daten;`)) var users []User if err != nil { fmt.Printf("Error preparing query statement %v\n", err) @@ -28,7 +27,7 @@ func (u *User) GetAll() ([]User, error) { defer rows.Close() for rows.Next() { var user User - if err := rows.Scan(&user.CardUID, &user.Vorname, &user.Name, &user.HauptbeschaeftigungsOrt); err != nil { + if err := rows.Scan(&user.CardUID, &user.Vorname, &user.Name); err != nil { return users, nil } users = append(users, user) @@ -69,11 +68,11 @@ func (u *User) Logout() error { func (u *User) GetByCardUID(card_uid string) (User, error) { var user User - qStr, err := DB.Prepare((`SELECT personal_nummer, card_uid, vorname, nachname, hauptbeschaeftigung_ort FROM personal_daten WHERE card_uid = $1;`)) + qStr, err := DB.Prepare((`SELECT personal_nummer, card_uid, vorname, nachname FROM personal_daten WHERE card_uid = $1;`)) if err != nil { return user, err } - err = qStr.QueryRow(card_uid).Scan(&user.PersonalNummer, &user.CardUID, &user.Vorname, &user.Name, &user.HauptbeschaeftigungsOrt) + err = qStr.QueryRow(card_uid).Scan(&user.PersonalNummer, &user.CardUID, &user.Vorname, &user.Name) if err != nil{ return user, err } @@ -83,11 +82,11 @@ func (u *User) GetByCardUID(card_uid string) (User, error) { func (u *User) GetByPersonalNummer (personalNummer int) (User, error) { var user User - qStr, err := DB.Prepare((`SELECT personal_nummer, card_uid, vorname, nachname, hauptbeschaeftigung_ort FROM personal_daten WHERE personal_nummer = $1;`)) + qStr, err := DB.Prepare((`SELECT personal_nummer, card_uid, vorname, nachname FROM personal_daten WHERE personal_nummer = $1;`)) if err != nil { return user, err } - err = qStr.QueryRow(personalNummer).Scan(&user.PersonalNummer, &user.CardUID, &user.Vorname, &user.Name, &user.HauptbeschaeftigungsOrt) + err = qStr.QueryRow(personalNummer).Scan(&user.PersonalNummer, &user.CardUID, &user.Vorname, &user.Name) if err != nil{ return user, err } diff --git a/Backend/templates/user.templ b/Backend/templates/user.templ index ee7d1f6..af78e52 100644 --- a/Backend/templates/user.templ +++ b/Backend/templates/user.templ @@ -3,7 +3,7 @@ package templates templ LoginForm(){ @Style()
diff --git a/Backend/templates/user_templ.go b/Backend/templates/user_templ.go index 18ef07c..58d9457 100644 --- a/Backend/templates/user_templ.go +++ b/Backend/templates/user_templ.go @@ -33,7 +33,7 @@ func LoginForm() templ.Component { if templ_7745c5c3_Err != nil { return templ_7745c5c3_Err } - templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 1, "") + templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 1, "") if templ_7745c5c3_Err != nil { return templ_7745c5c3_Err } diff --git a/DB/initdb/02_create_user.sh b/DB/initdb/02_create_user.sh index 977d7d9..d7dd475 100644 --- a/DB/initdb/02_create_user.sh +++ b/DB/initdb/02_create_user.sh @@ -1,7 +1,7 @@ #!/bin/bash set -e # Exit on error -echo "Creating PostgreSQL user and setting permissions..." +echo "Creating PostgreSQL user and setting permissions... $POSTGRES_USER for API user $POSTGRES_API_USER" psql -v ON_ERROR_STOP=1 --username "$POSTGRES_USER" --dbname "$POSTGRES_DB" <<-EOSQL CREATE USER $POSTGRES_API_USER WITH ENCRYPTED PASSWORD '$POSTGRES_API_PASSWORD'; diff --git a/Docker/docker-compose.dev.yml b/Docker/docker-compose.dev.yml index 6789329..2b3cd28 100644 --- a/Docker/docker-compose.dev.yml +++ b/Docker/docker-compose.dev.yml @@ -6,9 +6,6 @@ services: env_file: - .env environment: - POSTGRES_USER: ${POSTGRES_USER} - POSTGRES_PASSWORD: ${POSTGRES_PASSWORD} - POSTGRES_DB: ${POSTGRES_DB} PGDATA: /var/lib/postgresql/data/pg_data volumes: - ${POSTGRES_PATH}:/var/lib/postgresql/data