add database models and queries for user management

This commit is contained in:
2025-08-10 10:39:27 +03:00
parent 5d80a68b44
commit 07d3ea44ea
4 changed files with 163 additions and 0 deletions

View File

@ -0,0 +1,92 @@
// Code generated by sqlc. DO NOT EDIT.
// versions:
// sqlc v1.28.0
// source: users.sql
package db
import (
"context"
"github.com/google/uuid"
)
const createUser = `-- name: CreateUser :one
INSERT INTO users (phone_number)
VALUES ($1)
RETURNING uuid, phone_number, created_at, verified, verified_at
`
func (q *Queries) CreateUser(ctx context.Context, phoneNumber string) (User, error) {
row := q.db.QueryRow(ctx, createUser, phoneNumber)
var i User
err := row.Scan(
&i.Uuid,
&i.PhoneNumber,
&i.CreatedAt,
&i.Verified,
&i.VerifiedAt,
)
return i, err
}
const getByPhoneNumber = `-- name: GetByPhoneNumber :one
SELECT uuid, phone_number, created_at, verified, verified_at
FROM users
WHERE phone_number = $1
LIMIT 1
`
func (q *Queries) GetByPhoneNumber(ctx context.Context, phoneNumber string) (User, error) {
row := q.db.QueryRow(ctx, getByPhoneNumber, phoneNumber)
var i User
err := row.Scan(
&i.Uuid,
&i.PhoneNumber,
&i.CreatedAt,
&i.Verified,
&i.VerifiedAt,
)
return i, err
}
const getUserByUUID = `-- name: GetUserByUUID :one
SELECT uuid, phone_number, created_at, verified, verified_at
FROM users
WHERE uuid = $1
LIMIT 1
`
func (q *Queries) GetUserByUUID(ctx context.Context, argUuid uuid.UUID) (User, error) {
row := q.db.QueryRow(ctx, getUserByUUID, argUuid)
var i User
err := row.Scan(
&i.Uuid,
&i.PhoneNumber,
&i.CreatedAt,
&i.Verified,
&i.VerifiedAt,
)
return i, err
}
const updateUserVerified = `-- name: UpdateUserVerified :one
UPDATE users
SET verified = TRUE,
verified_at = CURRENT_TIMESTAMP
WHERE uuid = $1
RETURNING uuid, phone_number, created_at, verified, verified_at
`
func (q *Queries) UpdateUserVerified(ctx context.Context, argUuid uuid.UUID) (User, error) {
row := q.db.QueryRow(ctx, updateUserVerified, argUuid)
var i User
err := row.Scan(
&i.Uuid,
&i.PhoneNumber,
&i.CreatedAt,
&i.Verified,
&i.VerifiedAt,
)
return i, err
}