save username in cookie

This commit is contained in:
Florian Hoss 2022-04-04 11:40:34 +02:00
parent 539a36dffe
commit 2d98665f92
7 changed files with 149 additions and 95 deletions

View file

@ -30,14 +30,31 @@ func (db *Database) CreateUser(username string, password string) error {
return result.Error
}
func (db *Database) LoginUser(username string, password string) (bool, error) {
func (db *Database) LoginUser(username string, password string) bool {
user := User{Username: username, Password: password}
result := db.ORM.Where("username = ? AND password = ?", username, password).Find(&user)
if result.Error != nil {
return false, result.Error
}
if result.RowsAffected == 1 {
return true, nil
db.ORM.Model(&user).Update("logged_in", true)
return true
}
return false, nil
return false
}
func (db *Database) LogoutUser(username string) bool {
user := User{Username: username}
result := db.ORM.Where("username = ? and logged_in = ?", username, true).Find(&user)
if result.RowsAffected == 1 {
db.ORM.Model(&user).Update("logged_in", false)
return true
}
return false
}
func (db *Database) UserIsLoggedIn(username string) bool {
user := User{Username: username}
result := db.ORM.Where("username = ? and logged_in = ?", username, true).Find(&user)
if result.RowsAffected == 1 {
return true
}
return false
}

View file

@ -10,7 +10,7 @@ type Database struct {
}
type User struct {
Username string `gorm:"primaryKey"`
Password string
CreatedAt int64 `gorm:"autoCreateTime"`
Username string `gorm:"primaryKey"`
Password string
LoggedIn bool
}