Files
member-console/internal/identity/users.sql.go
T
cgalo5758 88db730fcc Add dual licensing and SPDX headers
Introduce a commercial license option alongside AGPL-3.0-only, require a
CLA for contributors, and document the terms in COMMERCIAL.md and
NOTICE. Add a script to stamp SPDX headers on Go files and apply it
across the tree.
2026-09-06 02:29:42 -05:00

98 lines
2.5 KiB
Go

// SPDX-License-Identifier: AGPL-3.0-only OR LicenseRef-Commercial
// SPDX-FileCopyrightText: 2025-2026 Christian Galo
// Code generated by sqlc. DO NOT EDIT.
// versions:
// sqlc v1.29.0
// source: users.sql
package identity
import (
"context"
"database/sql"
)
const createUser = `-- name: CreateUser :one
INSERT INTO core.users (oidc_subject)
VALUES ($1)
RETURNING user_id, oidc_subject, status, last_login_at, last_login_ip, created_at, updated_at
`
func (q *Queries) CreateUser(ctx context.Context, oidcSubject string) (User, error) {
row := q.db.QueryRowContext(ctx, createUser, oidcSubject)
var i User
err := row.Scan(
&i.UserID,
&i.OidcSubject,
&i.Status,
&i.LastLoginAt,
&i.LastLoginIp,
&i.CreatedAt,
&i.UpdatedAt,
)
return i, err
}
const ensureSystemUser = `-- name: EnsureSystemUser :exec
INSERT INTO core.users (oidc_subject)
VALUES ($1)
ON CONFLICT (oidc_subject) DO NOTHING
`
// Idempotently insert the reserved, non-loginable system user (keyed on the
// unique oidc_subject sentinel). Safe under concurrent boots; read back with
// GetUserByOIDCSubject.
func (q *Queries) EnsureSystemUser(ctx context.Context, oidcSubject string) error {
_, err := q.db.ExecContext(ctx, ensureSystemUser, oidcSubject)
return err
}
const getUserByOIDCSubject = `-- name: GetUserByOIDCSubject :one
SELECT user_id, oidc_subject, status, last_login_at, last_login_ip, created_at, updated_at FROM core.users
WHERE oidc_subject = $1
`
func (q *Queries) GetUserByOIDCSubject(ctx context.Context, oidcSubject string) (User, error) {
row := q.db.QueryRowContext(ctx, getUserByOIDCSubject, oidcSubject)
var i User
err := row.Scan(
&i.UserID,
&i.OidcSubject,
&i.Status,
&i.LastLoginAt,
&i.LastLoginIp,
&i.CreatedAt,
&i.UpdatedAt,
)
return i, err
}
const updateUserLogin = `-- name: UpdateUserLogin :one
UPDATE core.users
SET last_login_at = $1, last_login_ip = $2
WHERE user_id = $3
RETURNING user_id, oidc_subject, status, last_login_at, last_login_ip, created_at, updated_at
`
type UpdateUserLoginParams struct {
LastLoginAt sql.NullTime `json:"last_login_at"`
LastLoginIp sql.NullString `json:"last_login_ip"`
UserID string `json:"user_id"`
}
func (q *Queries) UpdateUserLogin(ctx context.Context, arg UpdateUserLoginParams) (User, error) {
row := q.db.QueryRowContext(ctx, updateUserLogin, arg.LastLoginAt, arg.LastLoginIp, arg.UserID)
var i User
err := row.Scan(
&i.UserID,
&i.OidcSubject,
&i.Status,
&i.LastLoginAt,
&i.LastLoginIp,
&i.CreatedAt,
&i.UpdatedAt,
)
return i, err
}