aegis-api/Aegis.Infrastructure/SQLite/Queries/UserQueries.cs

15 lines
821 B
C#

namespace Aegis.Repository.SQLite.Queries;
public static class UserQueries
{
// Cria user se não existir (subject+issuer é UNIQUE).
// Em seguida retorna o user_id.
public const string GetOrCreate = """
INSERT INTO users (user_id, created_at, subject, issuer, display_name, email)
VALUES ($user_id, $created_at, $sub, $iss, $display_name, $email)
ON CONFLICT(subject, issuer) DO UPDATE SET
display_name = COALESCE(excluded.display_name, users.display_name),
email = COALESCE(excluded.email, users.email)
RETURNING user_id;
""";
}