mirror of
https://github.com/anotherhadi/spilltea.git
synced 2026-05-20 01:32:33 +02:00
Init
Signed-off-by: Hadi <112569860+anotherhadi@users.noreply.github.com>
This commit is contained in:
@@ -0,0 +1,45 @@
|
||||
package db
|
||||
|
||||
func (d *DB) SaveScope(whitelist, blacklist []string) error {
|
||||
tx, err := d.conn.Begin()
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
if _, err := tx.Exec(`DELETE FROM scope`); err != nil {
|
||||
tx.Rollback()
|
||||
return err
|
||||
}
|
||||
for _, p := range whitelist {
|
||||
if _, err := tx.Exec(`INSERT INTO scope (kind, pattern) VALUES ('whitelist', ?)`, p); err != nil {
|
||||
tx.Rollback()
|
||||
return err
|
||||
}
|
||||
}
|
||||
for _, p := range blacklist {
|
||||
if _, err := tx.Exec(`INSERT INTO scope (kind, pattern) VALUES ('blacklist', ?)`, p); err != nil {
|
||||
tx.Rollback()
|
||||
return err
|
||||
}
|
||||
}
|
||||
return tx.Commit()
|
||||
}
|
||||
|
||||
func (d *DB) LoadScope() (whitelist, blacklist []string, err error) {
|
||||
rows, err := d.conn.Query(`SELECT kind, pattern FROM scope`)
|
||||
if err != nil {
|
||||
return nil, nil, err
|
||||
}
|
||||
defer rows.Close()
|
||||
for rows.Next() {
|
||||
var kind, pattern string
|
||||
if err := rows.Scan(&kind, &pattern); err != nil {
|
||||
return nil, nil, err
|
||||
}
|
||||
if kind == "whitelist" {
|
||||
whitelist = append(whitelist, pattern)
|
||||
} else {
|
||||
blacklist = append(blacklist, pattern)
|
||||
}
|
||||
}
|
||||
return whitelist, blacklist, rows.Err()
|
||||
}
|
||||
Reference in New Issue
Block a user