updating rest-api

This commit is contained in:
2026-07-17 11:56:13 -05:00
parent 39433a0044
commit c4d7f52d37
15 changed files with 276 additions and 9 deletions

View File

@@ -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
}

View File

@@ -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
}