fixed #61, #62 refactored getTime variants
Some checks failed
Tests / Run Go Tests (push) Failing after 1m20s
Some checks failed
Tests / Run Go Tests (push) Failing after 1m20s
This commit is contained in:
@@ -10,6 +10,7 @@ import (
|
||||
"time"
|
||||
|
||||
"github.com/alexedwards/scs/v2"
|
||||
"github.com/lib/pq"
|
||||
)
|
||||
|
||||
type User struct {
|
||||
@@ -173,6 +174,38 @@ func GetUserByPersonalNr(personalNummer int) (User, error) {
|
||||
return user, nil
|
||||
}
|
||||
|
||||
func GetUserByPersonalNrMulti(personalNummerMulti []int) ([]User, error) {
|
||||
var users []User
|
||||
if len(personalNummerMulti) == 0 {
|
||||
return users, errors.New("No personalNumbers provided")
|
||||
}
|
||||
|
||||
qStr, err := DB.Prepare((`SELECT personal_nummer, card_uid, vorname, nachname, arbeitszeit_per_tag, arbeitszeit_per_woche FROM s_personal_daten WHERE personal_nummer = ANY($1::int[]);`))
|
||||
if err != nil {
|
||||
return users, err
|
||||
}
|
||||
|
||||
rows, err := qStr.Query(pq.Array(personalNummerMulti))
|
||||
if err == sql.ErrNoRows {
|
||||
return users, err
|
||||
}
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
defer rows.Close()
|
||||
for rows.Next() {
|
||||
var user User
|
||||
if err := rows.Scan(&user.PersonalNummer, &user.CardUID, &user.Vorname, &user.Name, &user.ArbeitszeitPerTag, &user.ArbeitszeitPerWoche); err != nil {
|
||||
return users, err
|
||||
}
|
||||
users = append(users, user)
|
||||
}
|
||||
if err = rows.Err(); err != nil {
|
||||
return users, err
|
||||
}
|
||||
return users, nil
|
||||
}
|
||||
|
||||
func (u *User) Login(password string) bool {
|
||||
var loginSuccess bool
|
||||
qStr, err := DB.Prepare((`SELECT (pass_hash = crypt($2, pass_hash)) AS pass_hash FROM user_password WHERE personal_nummer = $1;`))
|
||||
|
||||
Reference in New Issue
Block a user