ADD: first api route get bookings
This commit is contained in:
@@ -1,16 +1,44 @@
|
||||
package main
|
||||
|
||||
import (
|
||||
"arbeitszeitmessung/models"
|
||||
"database/sql"
|
||||
"fmt"
|
||||
)
|
||||
|
||||
func OpenDatabase() (*sql.DB, error){
|
||||
func OpenDatabase() (*sql.DB, error) {
|
||||
dbHost := getEnv("POSTGRES_HOST", "localhost")
|
||||
dbName := getEnv("POSTGRES_DB", "arbeitszeitmessung")
|
||||
dbUser := getEnv("POSTGRES_USER", "arbeit_zeit")
|
||||
dbPassword := getEnv("POSTGRES_PASS", "password")
|
||||
|
||||
connStr:= fmt.Sprintf("postgres://%s:%s@%s:5432/%s?sslmode=disable", dbUser, dbPassword, dbHost, dbName)
|
||||
connStr := fmt.Sprintf("postgres://%s:%s@%s:5432/%s?sslmode=disable", dbUser, dbPassword, dbHost, dbName)
|
||||
return sql.Open("postgres", connStr)
|
||||
}
|
||||
|
||||
func GetBookingsByCardID(db *sql.DB, card_id string) ([]models.Booking, error) {
|
||||
qStr, err := db.Prepare((`SELECT * FROM zeiten WHERE card_id = $1`))
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
var bookings []models.Booking
|
||||
rows, err := qStr.Query(card_id)
|
||||
if err == sql.ErrNoRows {
|
||||
return bookings, err
|
||||
}
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
defer rows.Close()
|
||||
for rows.Next() {
|
||||
var booking models.Booking
|
||||
if err := rows.Scan(&booking.Id, &booking.LoggedTime, &booking.CardID, &booking.ReaderID, &booking.BookingType); err != nil {
|
||||
return bookings, err
|
||||
}
|
||||
bookings = append(bookings, booking)
|
||||
}
|
||||
if err = rows.Err(); err != nil {
|
||||
return bookings, err
|
||||
}
|
||||
return bookings, nil
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user