nidus-sync/sql/oauth_by_user_id.bob.go
Eli Ribble 109495b702
Track access token and refresh token expiry
Also make a bunch more progress on actually updating the tokens when we
need them updated.
2025-11-07 05:46:41 +00:00

109 lines
3.7 KiB
Go

// Code generated by BobGen psql v0.41.1. DO NOT EDIT.
// This file is meant to be re-generated in place and/or deleted at any time.
package sql
import (
"context"
_ "embed"
"io"
"iter"
"time"
"github.com/aarondl/opt/null"
"github.com/stephenafamo/bob"
"github.com/stephenafamo/bob/dialect/psql"
"github.com/stephenafamo/bob/dialect/psql/dialect"
"github.com/stephenafamo/bob/orm"
"github.com/stephenafamo/scan"
)
//go:embed oauth_by_user_id.bob.sql
var formattedQueries_oauth_by_user_id string
var oauthTokenByUserIdSQL = formattedQueries_oauth_by_user_id[156:642]
type OauthTokenByUserIdQuery = orm.ModQuery[*dialect.SelectQuery, oauthTokenByUserId, OauthTokenByUserIdRow, []OauthTokenByUserIdRow, oauthTokenByUserIdTransformer]
func OauthTokenByUserId(UserID int32) *OauthTokenByUserIdQuery {
var expressionTypArgs oauthTokenByUserId
expressionTypArgs.UserID = psql.Arg(UserID)
return &OauthTokenByUserIdQuery{
Query: orm.Query[oauthTokenByUserId, OauthTokenByUserIdRow, []OauthTokenByUserIdRow, oauthTokenByUserIdTransformer]{
ExecQuery: orm.ExecQuery[oauthTokenByUserId]{
BaseQuery: bob.BaseQuery[oauthTokenByUserId]{
Expression: expressionTypArgs,
Dialect: dialect.Dialect,
QueryType: bob.QueryTypeSelect,
},
},
Scanner: func(context.Context, []string) (func(*scan.Row) (any, error), func(any) (OauthTokenByUserIdRow, error)) {
return func(row *scan.Row) (any, error) {
var t OauthTokenByUserIdRow
row.ScheduleScanByIndex(0, &t.ID)
row.ScheduleScanByIndex(1, &t.AccessToken)
row.ScheduleScanByIndex(2, &t.AccessTokenExpires)
row.ScheduleScanByIndex(3, &t.RefreshToken)
row.ScheduleScanByIndex(4, &t.Username)
row.ScheduleScanByIndex(5, &t.UserID)
row.ScheduleScanByIndex(6, &t.ArcgisID)
row.ScheduleScanByIndex(7, &t.ArcgisLicenseTypeID)
row.ScheduleScanByIndex(8, &t.RefreshTokenExpires)
return &t, nil
}, func(v any) (OauthTokenByUserIdRow, error) {
return *(v.(*OauthTokenByUserIdRow)), nil
}
},
},
Mod: bob.ModFunc[*dialect.SelectQuery](func(q *dialect.SelectQuery) {
q.AppendSelect(expressionTypArgs.subExpr(7, 449))
q.SetTable(expressionTypArgs.subExpr(455, 466))
q.AppendWhere(expressionTypArgs.subExpr(474, 486))
}),
}
}
type OauthTokenByUserIdRow = struct {
ID int32 `db:"id"`
AccessToken string `db:"access_token"`
AccessTokenExpires time.Time `db:"access_token_expires"`
RefreshToken string `db:"refresh_token"`
Username string `db:"username"`
UserID int32 `db:"user_id"`
ArcgisID null.Val[string] `db:"arcgis_id"`
ArcgisLicenseTypeID null.Val[string] `db:"arcgis_license_type_id"`
RefreshTokenExpires time.Time `db:"refresh_token_expires"`
}
type oauthTokenByUserIdTransformer = bob.SliceTransformer[OauthTokenByUserIdRow, []OauthTokenByUserIdRow]
type oauthTokenByUserId struct {
UserID bob.Expression
}
func (o oauthTokenByUserId) args() iter.Seq[orm.ArgWithPosition] {
return func(yield func(arg orm.ArgWithPosition) bool) {
if !yield(orm.ArgWithPosition{
Name: "userID",
Start: 484,
Stop: 486,
Expression: o.UserID,
}) {
return
}
}
}
func (o oauthTokenByUserId) raw(from, to int) string {
return oauthTokenByUserIdSQL[from:to]
}
func (o oauthTokenByUserId) subExpr(from, to int) bob.Expression {
return orm.ArgsToExpression(oauthTokenByUserIdSQL, from, to, o.args())
}
func (o oauthTokenByUserId) WriteSQL(ctx context.Context, w io.Writer, d bob.Dialect, start int) ([]any, error) {
return o.subExpr(0, len(oauthTokenByUserIdSQL)).WriteSQL(ctx, w, d, start)
}