package session import ( "fmt" "lishwist/core/internal/db" "github.com/Teajey/sqlstore" ) func NewStore(keyPairs ...[]byte) (*sqlstore.Store, error) { deleteStmt, err := db.Connection.Prepare("DELETE FROM session WHERE id = ?;") if err != nil { return nil, fmt.Errorf("Failed to prepare delete statement: %w", err) } insertStmt, err := db.Connection.Prepare("INSERT INTO session (value) VALUES (?);") if err != nil { return nil, fmt.Errorf("Failed to prepare insert statement: %w", err) } selectStmt, err := db.Connection.Prepare("SELECT value FROM session WHERE id = ?;") if err != nil { return nil, fmt.Errorf("Failed to prepare select statement: %w", err) } updateStmt, err := db.Connection.Prepare("UPDATE session SET value = ?2 WHERE id = ?1;") if err != nil { return nil, fmt.Errorf("Failed to prepare update statement: %w", err) } s := sqlstore.NewSqlStore(db.Connection, sqlstore.Statements{ Delete: deleteStmt, Insert: insertStmt, Select: selectStmt, Update: updateStmt, }, keyPairs...) return s, nil }