36 lines
1.2 KiB
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 = ?;
|