-- name: GetUserByEmail :one
SELECT id, email, phone, password_hash, name, avatar_url, status, created_at, updated_at
FROM users
WHERE email = sqlc.arg(email) AND deleted_at IS NULL;

-- name: GetUserByID :one
SELECT id, email, phone, password_hash, name, avatar_url, status, created_at, updated_at
FROM users
WHERE id = sqlc.arg(id) AND deleted_at IS NULL;

-- name: GetTenantMembership :one
SELECT id, tenant_id, user_id, tenant_role, created_at
FROM tenant_memberships
WHERE user_id = sqlc.arg(user_id) AND deleted_at IS NULL
LIMIT 1;

-- name: GetTenantMembershipByTenantAndUser :one
SELECT id, tenant_id, user_id, tenant_role, created_at
FROM tenant_memberships
WHERE tenant_id = sqlc.arg(tenant_id) AND user_id = sqlc.arg(user_id) AND deleted_at IS NULL;
