// Code generated by sqlc. DO NOT EDIT. // versions: // sqlc v1.30.0 // source: login_events.sql package db import ( "context" "net/netip" "github.com/jackc/pgx/v5/pgtype" ) const createLoginEvent = `-- name: CreateLoginEvent :one INSERT INTO login_events (user_id, provider, success, ip, user_agent) VALUES ($1, $2, $3, $4, $5) RETURNING id, user_id, provider, success, ip, user_agent, created_at ` type CreateLoginEventParams struct { UserID pgtype.UUID `json:"user_id"` Provider pgtype.Text `json:"provider"` Success bool `json:"success"` Ip *netip.Addr `json:"ip"` UserAgent pgtype.Text `json:"user_agent"` } func (q *Queries) CreateLoginEvent(ctx context.Context, arg CreateLoginEventParams) (LoginEvent, error) { row := q.db.QueryRow(ctx, createLoginEvent, arg.UserID, arg.Provider, arg.Success, arg.Ip, arg.UserAgent, ) var i LoginEvent err := row.Scan( &i.ID, &i.UserID, &i.Provider, &i.Success, &i.Ip, &i.UserAgent, &i.CreatedAt, ) return i, err } const listLoginEventsForUser = `-- name: ListLoginEventsForUser :many SELECT id, user_id, provider, success, ip, user_agent, created_at FROM login_events WHERE user_id = $1 ORDER BY created_at DESC LIMIT $2 ` type ListLoginEventsForUserParams struct { UserID pgtype.UUID `json:"user_id"` Limit int32 `json:"limit"` } func (q *Queries) ListLoginEventsForUser(ctx context.Context, arg ListLoginEventsForUserParams) ([]LoginEvent, error) { rows, err := q.db.Query(ctx, listLoginEventsForUser, arg.UserID, arg.Limit) if err != nil { return nil, err } defer rows.Close() var items []LoginEvent for rows.Next() { var i LoginEvent if err := rows.Scan( &i.ID, &i.UserID, &i.Provider, &i.Success, &i.Ip, &i.UserAgent, &i.CreatedAt, ); err != nil { return nil, err } items = append(items, i) } if err := rows.Err(); err != nil { return nil, err } return items, nil }