github.com/navikt/knorten@v0.0.0-20240419132333-1333f46ed8b6/pkg/database/gensql/sessions.sql.go (about)

     1  // Code generated by sqlc. DO NOT EDIT.
     2  // source: sessions.sql
     3  
     4  package gensql
     5  
     6  import (
     7  	"context"
     8  	"time"
     9  )
    10  
    11  const sessionCreate = `-- name: SessionCreate :exec
    12  INSERT INTO "sessions" (
    13      "name",
    14      "email",
    15      "token",
    16      "access_token",
    17      "expires",
    18      "is_admin"
    19  ) VALUES (
    20      $1,
    21      $2,
    22      $3,
    23      $4,
    24      $5,
    25      $6
    26  )
    27  `
    28  
    29  type SessionCreateParams struct {
    30  	Name        string
    31  	Email       string
    32  	Token       string
    33  	AccessToken string
    34  	Expires     time.Time
    35  	IsAdmin     bool
    36  }
    37  
    38  func (q *Queries) SessionCreate(ctx context.Context, arg SessionCreateParams) error {
    39  	_, err := q.db.ExecContext(ctx, sessionCreate,
    40  		arg.Name,
    41  		arg.Email,
    42  		arg.Token,
    43  		arg.AccessToken,
    44  		arg.Expires,
    45  		arg.IsAdmin,
    46  	)
    47  	return err
    48  }
    49  
    50  const sessionDelete = `-- name: SessionDelete :exec
    51  UPDATE "sessions"
    52  SET "expires" = NOW()
    53  WHERE token = $1
    54  `
    55  
    56  func (q *Queries) SessionDelete(ctx context.Context, token string) error {
    57  	_, err := q.db.ExecContext(ctx, sessionDelete, token)
    58  	return err
    59  }
    60  
    61  const sessionGet = `-- name: SessionGet :one
    62  SELECT token, access_token, email, name, created, expires, is_admin
    63  FROM "sessions"
    64  WHERE token = $1
    65  AND expires > now()
    66  `
    67  
    68  func (q *Queries) SessionGet(ctx context.Context, token string) (Session, error) {
    69  	row := q.db.QueryRowContext(ctx, sessionGet, token)
    70  	var i Session
    71  	err := row.Scan(
    72  		&i.Token,
    73  		&i.AccessToken,
    74  		&i.Email,
    75  		&i.Name,
    76  		&i.Created,
    77  		&i.Expires,
    78  		&i.IsAdmin,
    79  	)
    80  	return i, err
    81  }