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 }