Datenbank von SQLite auf Postgres umgestellt
Verbindung über KVER_DSN; Tabelle user heißt jetzt account (reserviertes Wort in Postgres). kver import-sqlite übernimmt die alte Datei einmalig in einer Transaktion. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01TiXsPUqw7oeomZ8wZrQW5q
This commit is contained in:
co-authored by
Claude Opus 5.5
parent
c6ab082f8c
commit
2714fdb1a5
@@ -39,7 +39,7 @@ func getSession(r *http.Request) (*Session, bool) {
|
||||
|
||||
s := Session{Value: c.Value}
|
||||
err = db.QueryRow(
|
||||
`SELECT uid, created_at, expires, description FROM session WHERE value = ?`,
|
||||
`SELECT uid, created_at, expires, description FROM session WHERE value = $1`,
|
||||
c.Value,
|
||||
).Scan(&s.UID, &s.CreatedAt, &s.Expires, &s.Description)
|
||||
if err != nil {
|
||||
@@ -47,7 +47,7 @@ func getSession(r *http.Request) (*Session, bool) {
|
||||
}
|
||||
|
||||
if s.Expires < time.Now().Unix() {
|
||||
db.Exec(`DELETE FROM session WHERE value = ?`, c.Value)
|
||||
db.Exec(`DELETE FROM session WHERE value = $1`, c.Value)
|
||||
return nil, false
|
||||
}
|
||||
|
||||
@@ -73,7 +73,7 @@ func handleLogin(w http.ResponseWriter, r *http.Request) error {
|
||||
// wird der Endpunkt zum Nutzernamen-Orakel.
|
||||
var uid int64
|
||||
var hash []byte
|
||||
err := db.QueryRow(`SELECT uid, password FROM user WHERE username = ?`, username).Scan(&uid, &hash)
|
||||
err := db.QueryRow(`SELECT uid, password FROM account WHERE username = $1`, username).Scan(&uid, &hash)
|
||||
if err == sql.ErrNoRows {
|
||||
return errBadCredentials
|
||||
} else if err != nil {
|
||||
@@ -112,14 +112,14 @@ func startSession(w http.ResponseWriter, r *http.Request, uid int64) error {
|
||||
return Internal(err)
|
||||
}
|
||||
|
||||
db.Exec(`DELETE FROM session WHERE expires < ?`, now)
|
||||
db.Exec(`DELETE FROM session WHERE expires < $1`, now)
|
||||
if _, err := db.Exec(
|
||||
`INSERT INTO session (uid, created_at, expires, description, value) VALUES (?, ?, ?, ?, ?)`,
|
||||
`INSERT INTO session (uid, created_at, expires, description, value) VALUES ($1, $2, $3, $4, $5)`,
|
||||
uid, now, expires, "", token,
|
||||
); err != nil {
|
||||
return Internal(err)
|
||||
}
|
||||
db.Exec(`UPDATE user SET last_login = ? WHERE uid = ?`, now, uid)
|
||||
db.Exec(`UPDATE account SET last_login = $1 WHERE uid = $2`, now, uid)
|
||||
|
||||
http.SetCookie(w, &http.Cookie{
|
||||
Name: "session",
|
||||
@@ -135,7 +135,7 @@ func startSession(w http.ResponseWriter, r *http.Request, uid int64) error {
|
||||
|
||||
func handleLogout(w http.ResponseWriter, r *http.Request) {
|
||||
if s, ok := getSession(r); ok {
|
||||
db.Exec(`DELETE FROM session WHERE value = ?`, s.Value)
|
||||
db.Exec(`DELETE FROM session WHERE value = $1`, s.Value)
|
||||
}
|
||||
http.SetCookie(w, &http.Cookie{
|
||||
Name: "session",
|
||||
|
||||
Reference in New Issue
Block a user