// StickyBoard.Core/Infrastructure/Db/DataSourceFactory.cs using Npgsql; using StickyBoard.Core.Models; namespace StickyBoard.Core.Infrastructure.Db; public static class DataSourceFactory { public static NpgsqlDataSource Create(string connectionString) { var b = new NpgsqlDataSourceBuilder(connectionString); b.MapEnum("user_role"); b.MapEnum("workspace_role"); b.MapEnum("view_type"); b.MapEnum("card_status"); b.MapEnum("message_channel"); b.MapEnum("notification_type"); b.MapEnum("invite_status"); b.MapEnum("invite_scope"); b.MapEnum("contact_status"); b.MapEnum("entity_type"); b.MapEnum("worker_job_kind"); b.MapEnum("worker_job_status"); b.MapEnum("push_provider"); b.MapEnum("notification_channel"); b.MapEnum("sync_scope_type"); b.MapEnum("attachment_status"); b.MapEnum("attachment_variant_type"); b.MapEnum("outbox_topic"); b.MapEnum("outbox_operation"); b.MapEnum("file_token_audience"); return b.Build(); } }