Switch to using user ID for invite log

This commit is contained in:
Gabriel Simmer 2022-07-06 17:55:18 +01:00
parent 7f7a601a49
commit ae09c0d92a
2 changed files with 9 additions and 9 deletions

View file

@ -27,7 +27,7 @@ type Storer interface {
SaveServer(server Server) error SaveServer(server Server) error
GetUserServers(user User) ([]Server, error) GetUserServers(user User) ([]Server, error)
DeleteServer(server Server, user User) error DeleteServer(server Server, user User) error
LogInviteUse(user string, invite Invite) error LogInviteUse(user User, invite Invite) error
InviteLog(invite Invite) ([]InviteLog, error) InviteLog(invite Invite) ([]InviteLog, error)
DeleteInvite(invite Invite) error DeleteInvite(invite Invite) error
GetUser(uid string) (User, error) GetUser(uid string) (User, error)
@ -163,14 +163,14 @@ func (s *Store) GetInvite(token string) (Invite, error) {
return in, nil return in, nil
} }
func (s *Store) LogInviteUse(user string, invite Invite) error { func (s *Store) LogInviteUse(user User, invite Invite) error {
q, err := s.database.Prepare("INSERT INTO invite_log (entry_id, invite, user) VALUES ($1, $2, $3)") q, err := s.database.Prepare("INSERT INTO invite_log (entry_id, invite, user) VALUES ($1, $2, $3)")
if err != nil { if err != nil {
return err return err
} }
entryId := uuid.New().String() entryId := uuid.New().String()
_, err = q.Exec(entryId, invite.Token, user) _, err = q.Exec(entryId, invite.Token, user.Id)
return err return err
} }
@ -180,22 +180,22 @@ func (s *Store) InviteLog(invite Invite) ([]InviteLog, error) {
return []InviteLog{}, nil return []InviteLog{}, nil
} }
var log []InviteLog var logs []InviteLog
for q.Next() { for q.Next() {
var logEntry InviteLog var logEntry InviteLog
err := q.Scan(&logEntry.EntryID, &logEntry.Invite.Token, &logEntry.User.Id) err := q.Scan(&logEntry.EntryID, &logEntry.Invite.Token, &logEntry.User.Id)
if err != nil { if err != nil {
continue log.Println(err.Error())
} }
user, err := s.GetUser(logEntry.User.Id) user, err := s.GetUser(logEntry.User.Id)
if err != nil { if err != nil {
continue log.Println(err.Error())
} }
logEntry.User = user logEntry.User = user
log = append(log, logEntry) logs = append(logs, logEntry)
} }
return log, nil return logs, nil
} }
func (s *Store) GetServer(id string) (Server, error) { func (s *Store) GetServer(id string) (Server, error) {

View file

@ -165,7 +165,7 @@ func (h *Handler) AcceptInvite(w http.ResponseWriter, r *http.Request) {
} }
if resp == fmt.Sprintf("Added %s to the whitelist", user.DisplayName) { if resp == fmt.Sprintf("Added %s to the whitelist", user.DisplayName) {
err = h.store.LogInviteUse(user.DisplayName, in) err = h.store.LogInviteUse(user, in)
if err != nil { if err != nil {
http.Error(w, err.Error(), http.StatusInternalServerError) http.Error(w, err.Error(), http.StatusInternalServerError)
return return