From 71ba81145a5ee686a6f48cd528a732893eb70be1 Mon Sep 17 00:00:00 2001 From: Yuqian Yang Date: Wed, 19 Feb 2025 02:05:39 +0800 Subject: chore(docker): remove crupest-api, forgejo and move dropped. --- .../CrupestApi.Commons/Crud/DbConnectionFactory.cs | 75 ---------------------- 1 file changed, 75 deletions(-) delete mode 100644 dropped/docker/crupest-api/CrupestApi/CrupestApi.Commons/Crud/DbConnectionFactory.cs (limited to 'dropped/docker/crupest-api/CrupestApi/CrupestApi.Commons/Crud/DbConnectionFactory.cs') diff --git a/dropped/docker/crupest-api/CrupestApi/CrupestApi.Commons/Crud/DbConnectionFactory.cs b/dropped/docker/crupest-api/CrupestApi/CrupestApi.Commons/Crud/DbConnectionFactory.cs deleted file mode 100644 index 701622c..0000000 --- a/dropped/docker/crupest-api/CrupestApi/CrupestApi.Commons/Crud/DbConnectionFactory.cs +++ /dev/null @@ -1,75 +0,0 @@ -using System.Data; -using Microsoft.Data.Sqlite; -using Microsoft.Extensions.Options; - -namespace CrupestApi.Commons.Crud; - -public interface IDbConnectionFactory -{ - IDbConnection Get(string? name = null); - bool ShouldDisposeConnection { get; } -} - -public class SqliteConnectionFactory : IDbConnectionFactory -{ - private readonly IOptionsMonitor _apiConfigMonitor; - - public SqliteConnectionFactory(IOptionsMonitor apiConfigMonitor) - { - _apiConfigMonitor = apiConfigMonitor; - } - - public IDbConnection Get(string? name = null) - { - var connectionString = new SqliteConnectionStringBuilder() - { - DataSource = Path.Combine(_apiConfigMonitor.CurrentValue.DataDir, $"{name ?? "crupest-api"}.db"), - Mode = SqliteOpenMode.ReadWriteCreate - }.ToString(); - - var connection = new SqliteConnection(connectionString); - connection.Open(); - return connection; - } - - public bool ShouldDisposeConnection => true; -} - -public class SqliteMemoryConnectionFactory : IDbConnectionFactory, IDisposable -{ - private readonly Dictionary _connections = new(); - - public IDbConnection Get(string? name = null) - { - name = name ?? "crupest-api"; - - if (_connections.TryGetValue(name, out var connection)) - { - return connection; - } - else - { - var connectionString = new SqliteConnectionStringBuilder() - { - DataSource = ":memory:", - Mode = SqliteOpenMode.ReadWriteCreate - }.ToString(); - - connection = new SqliteConnection(connectionString); - _connections.Add(name, connection); - connection.Open(); - return connection; - } - } - - public bool ShouldDisposeConnection => false; - - - public void Dispose() - { - foreach (var connection in _connections.Values) - { - connection.Dispose(); - } - } -} -- cgit v1.2.3