Add HTTP Server #6

Merged
tueem merged 2 commits from feat/http into dev 2026-01-23 21:27:45 +00:00
Showing only changes of commit 812a19e129 - Show all commits

View File

@@ -1,5 +1,9 @@
package database package database
import (
"maps"
)
const TOKENTABLECREATE string = ` const TOKENTABLECREATE string = `
CREATE TABLE IF NOT EXISTS tokens ( CREATE TABLE IF NOT EXISTS tokens (
name varchar(32) PRIMARY KEY NOT NULL, name varchar(32) PRIMARY KEY NOT NULL,
@@ -8,7 +12,9 @@ const TOKENTABLECREATE string = `
const INSERTTOKENSQL string = "INSERT INTO tokens VALUES (?, ?);" const INSERTTOKENSQL string = "INSERT INTO tokens VALUES (?, ?);"
const DELETETOKENSQL string = "DELETE FROM tokens WHERE name = ?;" const DELETETOKENSQL string = "DELETE FROM tokens WHERE name = ?;"
const QUERYTOKENSQL string = "SELECT token FROM tokens;" const QUERYTOKENSQL string = "SELECT * FROM tokens;"
var tokenCache map[string]string = make(map[string]string)
func InsertToken(name string, token string) error { func InsertToken(name string, token string) error {
_, err := database.Exec(INSERTTOKENSQL, name, token) _, err := database.Exec(INSERTTOKENSQL, name, token)
@@ -20,6 +26,15 @@ func DeleteToken(name string) error {
return err return err
} }
func ValidateTokenCache(token string) (bool, error) {
for v := range maps.Values(tokenCache) {
if token == v {
return true, nil
}
}
return ValidateToken(token)
}
func ValidateToken(token string) (bool, error) { func ValidateToken(token string) (bool, error) {
result, err := database.Query(QUERYTOKENSQL) result, err := database.Query(QUERYTOKENSQL)
if err != nil { if err != nil {
@@ -27,12 +42,14 @@ func ValidateToken(token string) (bool, error) {
} }
defer result.Close() defer result.Close()
var foundToken string var name, foundToken string
for result.Next() { for result.Next() {
result.Scan(&token) result.Scan(&name, &foundToken)
tokenCache[name] = foundToken
if token == foundToken { if token == foundToken {
return true, nil return true, nil
} }
} }
return false, nil err = result.Err()
return false, err
} }