32 lines
692 B
Go

package data
import (
"context"
)
// SMSRecipient models an entry in sms_recipients.
type SMSRecipient struct {
Phone string
Enabled bool
AlertLevel int
}
// ListEnabledSMSRecipients returns all enabled recipients.
func ListEnabledSMSRecipients(ctx context.Context) ([]SMSRecipient, error) {
const q = `SELECT phone, enabled, alert_level FROM sms_recipients WHERE enabled = TRUE`
rows, err := DB().QueryContext(ctx, q)
if err != nil {
return nil, err
}
defer rows.Close()
var out []SMSRecipient
for rows.Next() {
var r SMSRecipient
if err := rows.Scan(&r.Phone, &r.Enabled, &r.AlertLevel); err != nil {
continue
}
out = append(out, r)
}
return out, nil
}