imc-vibe/backend/internal/db/queries/imc_users.sql

36 lines
1.2 KiB
SQL

-- name: GetImcUserByUsername :one
SELECT * FROM imc_users WHERE username = ?;
-- name: GetImcUserByID :one
SELECT * FROM imc_users WHERE id = ?;
-- name: CreateImcUser :exec
INSERT INTO imc_users (username, password_hash, role, domain_id) VALUES (?, ?, ?, ?);
-- name: UpdateImcUserPassword :exec
UPDATE imc_users SET password_hash = ? WHERE id = ?;
-- name: DeleteImcUser :exec
DELETE FROM imc_users WHERE id = ?;
-- name: GetUsersForDomain :many
SELECT imc_users.* FROM imc_users WHERE domain_id = ?;
-- name: GetUsersForDomainViaJoin :many
SELECT imc_users.* FROM imc_users
JOIN imc_users2domains ON imc_users.id = imc_users2domains.user_id
WHERE imc_users2domains.domain_id = ?;
-- name: AddUserToDomain :exec
INSERT INTO imc_users2domains (user_id, domain_id) VALUES (?, ?);
-- name: RemoveUserFromDomain :exec
DELETE FROM imc_users2domains WHERE user_id = ? AND domain_id = ?;
-- name: IsUserInDomain :one
SELECT COUNT(*) as count FROM imc_users2domains WHERE user_id = ? AND domain_id = ?;
-- name: GetAdditionalDomainsForUser :many
SELECT virtual_domains.* FROM virtual_domains
JOIN imc_users2domains ON virtual_domains.id = imc_users2domains.domain_id
WHERE imc_users2domains.user_id = ?;