26 lines
791 B
Go
26 lines
791 B
Go
|
|
package store
|
||
|
|
|
||
|
|
import "context"
|
||
|
|
|
||
|
|
func (s *Store) SaveContact(ctx context.Context, name, email, message string) error {
|
||
|
|
_, err := s.db.ExecContext(ctx, `insert into contact_requests (name, email, message) values (?, ?, ?)`, name, email, message)
|
||
|
|
return err
|
||
|
|
}
|
||
|
|
|
||
|
|
func (s *Store) ContactRequests(ctx context.Context) ([]ContactRequest, error) {
|
||
|
|
rows, err := s.db.QueryContext(ctx, `select id, name, email, message, created_at from contact_requests order by created_at desc, id desc`)
|
||
|
|
if err != nil {
|
||
|
|
return nil, err
|
||
|
|
}
|
||
|
|
defer rows.Close()
|
||
|
|
var requests []ContactRequest
|
||
|
|
for rows.Next() {
|
||
|
|
var r ContactRequest
|
||
|
|
if err := rows.Scan(&r.ID, &r.Name, &r.Email, &r.Message, &r.CreatedAt); err != nil {
|
||
|
|
return nil, err
|
||
|
|
}
|
||
|
|
requests = append(requests, r)
|
||
|
|
}
|
||
|
|
return requests, rows.Err()
|
||
|
|
}
|