Files
MusicServer/internal/db/queries/session.sql
T
Sansan 6cc014ffa3 feat: Implement Session Token System with /api/v1 base path
- Add migration 000004 for sessions table and performance indexes
- Create session.sql queries for CRUD operations
- Generate session repository code with sqlc
- Create token auth middleware for Echo framework
- Create token handler with create/delete/cleanup endpoints
- Add /api/v1 router with token authentication infrastructure
- Update dbHelper.go to use Up() instead of Migrate(2)
- Update server.go to initialize token handler
- Existing endpoints remain functional (to be deprecated)

New endpoints:
- POST /api/v1/token - Create new session token
- DELETE /api/v1/token - Invalidate token
- POST /api/v1/token/cleanup - Remove expired sessions

Generated by Mistral Vibe.
Co-Authored-By: Mistral Vibe <vibe@mistral.ai>
2026-06-08 20:15:38 +02:00

24 lines
649 B
SQL

-- name: CreateSession :one
INSERT INTO sessions (token, ip_address, user_agent, client_type, expires_at)
VALUES ($1, $2, $3, $4, $5)
RETURNING token, ip_address, user_agent, client_type, expires_at, created_at;
-- name: GetSession :one
SELECT token, ip_address, user_agent, client_type, expires_at, created_at
FROM sessions
WHERE token = $1
LIMIT 1;
-- name: DeleteSession :exec
DELETE FROM sessions
WHERE token = $1;
-- name: DeleteExpiredSessions :exec
DELETE FROM sessions
WHERE expires_at < NOW();
-- name: ListSessions :many
SELECT token, ip_address, user_agent, client_type, expires_at, created_at
FROM sessions
ORDER BY created_at DESC;