147 lines
3.3 KiB
Go
147 lines
3.3 KiB
Go
// Code generated by sqlc. DO NOT EDIT.
|
|
// versions:
|
|
// sqlc v1.27.0
|
|
// source: sessions.sql
|
|
|
|
package database
|
|
|
|
import (
|
|
"context"
|
|
"database/sql"
|
|
)
|
|
|
|
const createSession = `-- name: CreateSession :exec
|
|
INSERT INTO sessions (user_id, title, token) VALUES ($1, $2, $3)
|
|
`
|
|
|
|
type CreateSessionParams struct {
|
|
UserID int32
|
|
Title sql.NullString
|
|
Token string
|
|
}
|
|
|
|
func (q *Queries) CreateSession(ctx context.Context, arg CreateSessionParams) error {
|
|
_, err := q.db.ExecContext(ctx, createSession, arg.UserID, arg.Title, arg.Token)
|
|
return err
|
|
}
|
|
|
|
const expireSession = `-- name: ExpireSession :exec
|
|
UPDATE sessions SET expires = 1 WHERE id = $1
|
|
`
|
|
|
|
func (q *Queries) ExpireSession(ctx context.Context, id int32) error {
|
|
_, err := q.db.ExecContext(ctx, expireSession, id)
|
|
return err
|
|
}
|
|
|
|
const getActiveSessions = `-- name: GetActiveSessions :many
|
|
SELECT id, user_id, title, token, password, last_activity, expires, created_at FROM sessions WHERE user_id = $1 AND (expires > CURRENT_TIMESTAMP OR expires IS NULL) ORDER BY $2
|
|
`
|
|
|
|
type GetActiveSessionsParams struct {
|
|
UserID int32
|
|
Column2 interface{}
|
|
}
|
|
|
|
func (q *Queries) GetActiveSessions(ctx context.Context, arg GetActiveSessionsParams) ([]Session, error) {
|
|
rows, err := q.db.QueryContext(ctx, getActiveSessions, arg.UserID, arg.Column2)
|
|
if err != nil {
|
|
return nil, err
|
|
}
|
|
defer rows.Close()
|
|
var items []Session
|
|
for rows.Next() {
|
|
var i Session
|
|
if err := rows.Scan(
|
|
&i.ID,
|
|
&i.UserID,
|
|
&i.Title,
|
|
&i.Token,
|
|
&i.Password,
|
|
&i.LastActivity,
|
|
&i.Expires,
|
|
&i.CreatedAt,
|
|
); err != nil {
|
|
return nil, err
|
|
}
|
|
items = append(items, i)
|
|
}
|
|
if err := rows.Close(); err != nil {
|
|
return nil, err
|
|
}
|
|
if err := rows.Err(); err != nil {
|
|
return nil, err
|
|
}
|
|
return items, nil
|
|
}
|
|
|
|
const getSessions = `-- name: GetSessions :many
|
|
SELECT id, user_id, title, token, password, last_activity, expires, created_at FROM sessions WHERE user_id = $1 ORDER BY $2
|
|
`
|
|
|
|
type GetSessionsParams struct {
|
|
UserID int32
|
|
Column2 interface{}
|
|
}
|
|
|
|
func (q *Queries) GetSessions(ctx context.Context, arg GetSessionsParams) ([]Session, error) {
|
|
rows, err := q.db.QueryContext(ctx, getSessions, arg.UserID, arg.Column2)
|
|
if err != nil {
|
|
return nil, err
|
|
}
|
|
defer rows.Close()
|
|
var items []Session
|
|
for rows.Next() {
|
|
var i Session
|
|
if err := rows.Scan(
|
|
&i.ID,
|
|
&i.UserID,
|
|
&i.Title,
|
|
&i.Token,
|
|
&i.Password,
|
|
&i.LastActivity,
|
|
&i.Expires,
|
|
&i.CreatedAt,
|
|
); err != nil {
|
|
return nil, err
|
|
}
|
|
items = append(items, i)
|
|
}
|
|
if err := rows.Close(); err != nil {
|
|
return nil, err
|
|
}
|
|
if err := rows.Err(); err != nil {
|
|
return nil, err
|
|
}
|
|
return items, nil
|
|
}
|
|
|
|
const getSesssion = `-- name: GetSesssion :one
|
|
SELECT id, user_id, title, token, password, last_activity, expires, created_at FROM sessions WHERE token = $1
|
|
`
|
|
|
|
func (q *Queries) GetSesssion(ctx context.Context, token string) (Session, error) {
|
|
row := q.db.QueryRowContext(ctx, getSesssion, token)
|
|
var i Session
|
|
err := row.Scan(
|
|
&i.ID,
|
|
&i.UserID,
|
|
&i.Title,
|
|
&i.Token,
|
|
&i.Password,
|
|
&i.LastActivity,
|
|
&i.Expires,
|
|
&i.CreatedAt,
|
|
)
|
|
return i, err
|
|
}
|
|
|
|
const quickUpdateSession = `-- name: QuickUpdateSession :exec
|
|
UPDATE sessions SET last_activity = GETDATE() WHERE id = $1
|
|
`
|
|
|
|
func (q *Queries) QuickUpdateSession(ctx context.Context, id int32) error {
|
|
_, err := q.db.ExecContext(ctx, quickUpdateSession, id)
|
|
return err
|
|
}
|