@@ -32,26 +32,14 @@ private IDbConnection CreateConnection()
3232 public async Task InitializeAsync ( )
3333 {
3434 using var db = CreateConnection ( ) ;
35-
3635 const string sql = @"
3736 CREATE TABLE IF NOT EXISTS WebhookUrls (
38- Id INTEGER PRIMARY KEY AUTOINCREMENT,
37+ Id TEXT PRIMARY KEY AUTOINCREMENT,
3938 Url TEXT NOT NULL UNIQUE,
40- Type INTEGER NOT NULL DEFAULT 0
39+ Source TEXT NOT NULL
4140 );" ;
4241
4342 await db . ExecuteAsync ( sql ) ;
44- try
45- {
46- const string alterTableSql = "ALTER TABLE WebhookUrls ADD COLUMN Type INTEGER NOT NULL DEFAULT 0;" ;
47- await db . ExecuteAsync ( alterTableSql ) ;
48- }
49- catch ( SqliteException ex ) when ( ex . SqliteErrorCode == 1 ) { }
50- catch ( Exception )
51- {
52- //re-throw any critical exceptions
53- throw ;
54- }
5543 }
5644
5745 /// <summary>
@@ -61,15 +49,15 @@ Type INTEGER NOT NULL DEFAULT 0
6149 public async Task < IEnumerable < WebhookUrl > > GetAllUrlsAsync ( )
6250 {
6351 using var db = CreateConnection ( ) ;
64- const string sql = "SELECT Id, Url FROM WebhookUrls ORDER BY Id;" ;
52+ const string sql = "SELECT Id, Url, Source FROM WebhookUrls ORDER BY Id;" ;
6553 return await db . QueryAsync < WebhookUrl > ( sql ) ;
6654 }
6755
68- public async Task < IEnumerable < WebhookUrl > > GetUrlsOfTypeAsync ( IWebhookService . WebhookType type )
56+ public async Task < IEnumerable < WebhookUrl > > GetUrlsOfSourceAsync ( string source )
6957 {
7058 using var db = CreateConnection ( ) ;
71- const string sql = "SELECT Id, Url, Type FROM WebhookUrls WHERE Type = @Type ;" ;
72- var parameters = new { Type = ( int ) type } ;
59+ const string sql = "SELECT Id, Url, Source FROM WebhookUrls WHERE Source = @Source ;" ;
60+ var parameters = new { Source = source } ;
7361
7462 return await db . QueryAsync < WebhookUrl > ( sql , parameters ) ;
7563 }
@@ -78,14 +66,15 @@ public async Task<IEnumerable<WebhookUrl>> GetUrlsOfTypeAsync(IWebhookService.We
7866 /// Adds a new URL to the database. Uses INSERT OR IGNORE to handle duplicates gracefully.
7967 /// </summary>
8068 /// <param name="url">The URL string to add.</param>
81- public async Task AddUrlAsync ( string url , IWebhookService . WebhookType type )
69+ /// <param name="source">The source string to categorize the URL.</param>
70+ public async Task AddUrlAsync ( string url , string source )
8271 {
8372 using var db = CreateConnection ( ) ;
84- const string sql = "INSERT OR IGNORE INTO WebhookUrls (Url, Type ) VALUES (@Url, @Type );" ;
73+ const string sql = "INSERT OR IGNORE INTO WebhookUrls (Url, Source ) VALUES (@Url, @Source );" ;
8574 var parameters = new
8675 {
8776 Url = url ,
88- Type = ( int ) type
77+ Source = source
8978 } ;
9079
9180 await db . ExecuteAsync ( sql , parameters ) ;
0 commit comments