diff options
Diffstat (limited to 'database')
| -rw-r--r-- | database/dns.go | 40 |
1 files changed, 40 insertions, 0 deletions
diff --git a/database/dns.go b/database/dns.go new file mode 100644 index 0000000..17487b7 --- /dev/null +++ b/database/dns.go @@ -0,0 +1,40 @@ +package database + +import ( + "database/sql" + _ "github.com/mattn/go-sqlite3" + "log" + "time" +) + +type DNSRecord struct { + ID string + UserID string + Name string + Type string + Content string + TTL int + CreatedAt time.Time +} + +func GetUserDNSRecords(db *sql.DB, userID string) ([]DNSRecord, error) { + log.Println("getting dns records for user", userID) + + rows, err := db.Query("SELECT * FROM dns_records WHERE user_id = ?", userID) + if err != nil { + return nil, err + } + defer rows.Close() + + var records []DNSRecord + for rows.Next() { + var record DNSRecord + err := rows.Scan(&record.ID, &record.UserID, &record.Name, &record.Type, &record.Content, &record.TTL, &record.CreatedAt) + if err != nil { + return nil, err + } + records = append(records, record) + } + + return records, nil +} |
