You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
Koito/internal/repository/sessions.sql.go

121 lines
2.5 KiB

// Code generated by sqlc. DO NOT EDIT.
// versions:
// sqlc v1.29.0
// source: sessions.sql
package repository
import (
"context"
"time"
"github.com/google/uuid"
)
const deleteSession = `-- name: DeleteSession :exec
DELETE FROM sessions WHERE id = $1
`
func (q *Queries) DeleteSession(ctx context.Context, id uuid.UUID) error {
_, err := q.db.Exec(ctx, deleteSession, id)
return err
}
const getSession = `-- name: GetSession :one
SELECT id, user_id, created_at, expires_at, persistent FROM sessions WHERE id = $1 AND expires_at > NOW()
`
func (q *Queries) GetSession(ctx context.Context, id uuid.UUID) (Session, error) {
row := q.db.QueryRow(ctx, getSession, id)
var i Session
err := row.Scan(
&i.ID,
&i.UserID,
&i.CreatedAt,
&i.ExpiresAt,
&i.Persistent,
)
return i, err
}
const getUserBySession = `-- name: GetUserBySession :one
SELECT u.id, username, role, password, s.id, user_id, created_at, expires_at, persistent
FROM users u
JOIN sessions s ON u.id = s.user_id
WHERE s.id = $1
`
type GetUserBySessionRow struct {
ID int32
Username string
Role Role
Password []byte
ID_2 uuid.UUID
UserID int32
CreatedAt time.Time
ExpiresAt time.Time
Persistent bool
}
func (q *Queries) GetUserBySession(ctx context.Context, id uuid.UUID) (GetUserBySessionRow, error) {
row := q.db.QueryRow(ctx, getUserBySession, id)
var i GetUserBySessionRow
err := row.Scan(
&i.ID,
&i.Username,
&i.Role,
&i.Password,
&i.ID_2,
&i.UserID,
&i.CreatedAt,
&i.ExpiresAt,
&i.Persistent,
)
return i, err
}
const insertSession = `-- name: InsertSession :one
INSERT INTO sessions (id, user_id, expires_at, persistent)
VALUES ($1, $2, $3, $4)
RETURNING id, user_id, created_at, expires_at, persistent
`
type InsertSessionParams struct {
ID uuid.UUID
UserID int32
ExpiresAt time.Time
Persistent bool
}
func (q *Queries) InsertSession(ctx context.Context, arg InsertSessionParams) (Session, error) {
row := q.db.QueryRow(ctx, insertSession,
arg.ID,
arg.UserID,
arg.ExpiresAt,
arg.Persistent,
)
var i Session
err := row.Scan(
&i.ID,
&i.UserID,
&i.CreatedAt,
&i.ExpiresAt,
&i.Persistent,
)
return i, err
}
const updateSessionExpiry = `-- name: UpdateSessionExpiry :exec
UPDATE sessions SET expires_at = $2 WHERE id = $1
`
type UpdateSessionExpiryParams struct {
ID uuid.UUID
ExpiresAt time.Time
}
func (q *Queries) UpdateSessionExpiry(ctx context.Context, arg UpdateSessionExpiryParams) error {
_, err := q.db.Exec(ctx, updateSessionExpiry, arg.ID, arg.ExpiresAt)
return err
}