mirror of
https://github.com/Dvorinka/Primora.git
synced 2026-06-04 12:33:01 +00:00
120 lines
2.5 KiB
Go
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
|
|
}
|