Files
Primora/apps/backend/internal/database/db/users.sql.go
T
2026-04-10 12:03:31 +02:00

120 lines
2.5 KiB
Go

// Code generated by sqlc. DO NOT EDIT.
// versions:
// sqlc v1.29.0
// source: users.sql
package db
import (
"context"
"github.com/google/uuid"
)
const countOrganizations = `-- name: CountOrganizations :one
SELECT COUNT(*)::BIGINT FROM core.organizations
`
func (q *Queries) CountOrganizations(ctx context.Context) (int64, error) {
row := q.db.QueryRow(ctx, countOrganizations)
var column_1 int64
err := row.Scan(&column_1)
return column_1, err
}
const getUserByAuthSubject = `-- name: GetUserByAuthSubject :one
SELECT id, auth_subject, email, name, email_verified, created_at, updated_at, last_seen_at FROM core.users
WHERE auth_subject = $1
`
func (q *Queries) GetUserByAuthSubject(ctx context.Context, authSubject string) (CoreUser, error) {
row := q.db.QueryRow(ctx, getUserByAuthSubject, authSubject)
var i CoreUser
err := row.Scan(
&i.ID,
&i.AuthSubject,
&i.Email,
&i.Name,
&i.EmailVerified,
&i.CreatedAt,
&i.UpdatedAt,
&i.LastSeenAt,
)
return i, err
}
const getUserByID = `-- name: GetUserByID :one
SELECT id, auth_subject, email, name, email_verified, created_at, updated_at, last_seen_at FROM core.users
WHERE id = $1
`
func (q *Queries) GetUserByID(ctx context.Context, id uuid.UUID) (CoreUser, error) {
row := q.db.QueryRow(ctx, getUserByID, id)
var i CoreUser
err := row.Scan(
&i.ID,
&i.AuthSubject,
&i.Email,
&i.Name,
&i.EmailVerified,
&i.CreatedAt,
&i.UpdatedAt,
&i.LastSeenAt,
)
return i, err
}
const upsertUser = `-- name: UpsertUser :one
INSERT INTO core.users (
auth_subject,
email,
name,
email_verified,
updated_at,
last_seen_at
) VALUES (
$1,
$2,
$3,
$4,
NOW(),
NOW()
)
ON CONFLICT (auth_subject) DO UPDATE
SET
email = EXCLUDED.email,
name = EXCLUDED.name,
email_verified = EXCLUDED.email_verified,
updated_at = NOW(),
last_seen_at = NOW()
RETURNING id, auth_subject, email, name, email_verified, created_at, updated_at, last_seen_at
`
type UpsertUserParams struct {
AuthSubject string `json:"auth_subject"`
Email string `json:"email"`
Name string `json:"name"`
EmailVerified bool `json:"email_verified"`
}
func (q *Queries) UpsertUser(ctx context.Context, arg UpsertUserParams) (CoreUser, error) {
row := q.db.QueryRow(ctx, upsertUser,
arg.AuthSubject,
arg.Email,
arg.Name,
arg.EmailVerified,
)
var i CoreUser
err := row.Scan(
&i.ID,
&i.AuthSubject,
&i.Email,
&i.Name,
&i.EmailVerified,
&i.CreatedAt,
&i.UpdatedAt,
&i.LastSeenAt,
)
return i, err
}