Rename audit to event

This commit is contained in:
braginini
2022-12-06 13:33:10 +01:00
parent 0f68edbefb
commit 16e4d109ff
2 changed files with 13 additions and 10 deletions

View File

@@ -0,0 +1,66 @@
package event
import (
"database/sql"
"fmt"
_ "github.com/mattn/go-sqlite3"
)
const (
SQLiteEventSinkDB = "events.db"
createTableQuery = "CREATE TABLE IF NOT EXISTS events " +
"(id UNSIGNED BIG INT PRIMARY KEY AUTOINCREMENT, message TEXT, timestamp DATETIME);"
)
type SQLiteSink struct {
db *sql.DB
}
// NewSQLiteSink creates a new SQLiteSink with an event table if not exists.
func NewSQLiteSink(dbPath string) (*SQLiteSink, error) {
db, err := sql.Open("sqlite3", dbPath)
if err != nil {
return nil, err
}
_, err = db.Exec(createTableQuery)
if err != nil {
return nil, err
}
return &SQLiteSink{db: db}, nil
}
// Add an event to the SQLite table
func (sink *SQLiteSink) Add(event *Event) error {
_, err := sink.db.Exec(createTableQuery)
if err != nil {
return err
}
stmt, err := sink.db.Prepare("INSERT INTO events(message, timestamp) values(?, ?)")
if err != nil {
return err
}
result, err := stmt.Exec(event.Message, event.Timestamp)
if err != nil {
if err == sql.ErrNoRows {
// Handle the case of no rows returned.
}
return album, err
}
fmt.Println(result)
return nil
}
// Close the SQLiteSink
func (sink *SQLiteSink) Close() error {
if sink.db != nil {
return sink.db.Close()
}
return nil
}