updating rest-api
This commit is contained in:
@@ -12,12 +12,12 @@ type Event struct {
|
||||
Description string `binding:"required"`
|
||||
Location string `binding:"required"`
|
||||
DateTime time.Time `binding:"required"`
|
||||
UserID int
|
||||
UserID int64
|
||||
}
|
||||
|
||||
var events []Event = []Event{}
|
||||
|
||||
func (e Event) Save() error {
|
||||
func (e *Event) Save() error {
|
||||
query := `
|
||||
INSERT INTO events(name, description, location, dateTime, user_id)
|
||||
VALUES (?, ?, ?, ?, ?)`
|
||||
@@ -105,3 +105,33 @@ func (event Event) Delete() error {
|
||||
|
||||
return err
|
||||
}
|
||||
|
||||
func (e Event) Register(userId int64) error {
|
||||
query := "INSERT INTO registrations(event_id, user_id) VALUES (?, ?)"
|
||||
stmt, err := db.DB.Prepare(query)
|
||||
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
defer stmt.Close()
|
||||
|
||||
_, err = stmt.Exec(e.ID, userId)
|
||||
|
||||
return err
|
||||
}
|
||||
|
||||
func (e Event) CancelRegistration(userId int64) error {
|
||||
query := "DELETE FROM registrations WHERE event_id = ? AND user_id = ?"
|
||||
stmt, err := db.DB.Prepare(query)
|
||||
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
defer stmt.Close()
|
||||
|
||||
_, err = stmt.Exec(e.ID, userId)
|
||||
|
||||
return err
|
||||
}
|
||||
|
||||
@@ -1,6 +1,8 @@
|
||||
package models
|
||||
|
||||
import (
|
||||
"errors"
|
||||
|
||||
"example.com/rest-api/db"
|
||||
"example.com/rest-api/utils"
|
||||
)
|
||||
@@ -38,3 +40,23 @@ func (u User) Save() error {
|
||||
u.ID = userId
|
||||
return err
|
||||
}
|
||||
|
||||
func (u *User) ValidateCredentials() error {
|
||||
query := "SELECT id, password FROM users WHERE email = ?"
|
||||
row := db.DB.QueryRow(query, u.Email)
|
||||
|
||||
var retrievedPassword string
|
||||
err := row.Scan(&u.ID, &retrievedPassword)
|
||||
|
||||
if err != nil {
|
||||
return errors.New("Credentials invalid")
|
||||
}
|
||||
|
||||
passwordIsValid := utils.CheckPasswordHash(u.Password, retrievedPassword)
|
||||
|
||||
if !passwordIsValid {
|
||||
return errors.New("Credentials invalid")
|
||||
}
|
||||
|
||||
return nil
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user