39 lines
876 B
Go
39 lines
876 B
Go
package database
|
|
|
|
const TOKENTABLECREATE string = `
|
|
CREATE TABLE IF NOT EXISTS tokens (
|
|
name varchar(32) PRIMARY KEY NOT NULL,
|
|
token varchar(32) NOT NULL
|
|
);`
|
|
|
|
const INSERTTOKENSQL string = "INSERT INTO tokens VALUES (?, ?);"
|
|
const DELETETOKENSQL string = "DELETE FROM tokens WHERE name = ?;"
|
|
const QUERYTOKENSQL string = "SELECT token FROM tokens;"
|
|
|
|
func InsertToken(name string, token string) error {
|
|
_, err := database.Exec(INSERTTOKENSQL, name, token)
|
|
return err
|
|
}
|
|
|
|
func DeleteToken(name string) error {
|
|
_, err := database.Exec(DELETETOKENSQL, name)
|
|
return err
|
|
}
|
|
|
|
func ValidateToken(token string) (bool, error) {
|
|
result, err := database.Query(QUERYTOKENSQL)
|
|
if err != nil {
|
|
return false, err
|
|
}
|
|
defer result.Close()
|
|
|
|
var foundToken string
|
|
for result.Next() {
|
|
result.Scan(&token)
|
|
if token == foundToken {
|
|
return true, nil
|
|
}
|
|
}
|
|
return false, nil
|
|
}
|