From 1b63a191d4a2194a61f8f9809f3cc47385e8481d Mon Sep 17 00:00:00 2001 From: Fabian Freund Date: Tue, 18 Jun 2024 18:03:50 +0200 Subject: [PATCH] refactor bang sources --- app/lib/features/bangs/data/models/bang.dart | 16 +++++++++++++--- .../features/bangs/domain/repositories/sync.dart | 12 +++--------- 2 files changed, 16 insertions(+), 12 deletions(-) diff --git a/app/lib/features/bangs/data/models/bang.dart b/app/lib/features/bangs/data/models/bang.dart index 30ed033c..eca5946f 100644 --- a/app/lib/features/bangs/data/models/bang.dart +++ b/app/lib/features/bangs/data/models/bang.dart @@ -8,9 +8,19 @@ import 'package:json_annotation/json_annotation.dart'; part 'bang.g.dart'; enum BangGroup { - general, - assistant, - kagi, + general( + 'https://raw.githubusercontent.com/kagisearch/bangs/main/data/bangs.json', + ), + assistant( + 'https://raw.githubusercontent.com/kagisearch/bangs/main/data/assistant_bangs.json', + ), + kagi( + 'https://raw.githubusercontent.com/kagisearch/bangs/main/data/kagi_bangs.json', + ); + + final String url; + + const BangGroup(this.url); } enum BangFormat { diff --git a/app/lib/features/bangs/domain/repositories/sync.dart b/app/lib/features/bangs/domain/repositories/sync.dart index 746630e2..5032bd61 100644 --- a/app/lib/features/bangs/domain/repositories/sync.dart +++ b/app/lib/features/bangs/domain/repositories/sync.dart @@ -87,27 +87,21 @@ class BangSyncRepository extends _$BangSyncRepository { Future> syncGeneralBangs({Duration? syncInterval}) => _syncBangGroup( BangGroup.general, - Uri.parse( - 'https://raw.githubusercontent.com/kagisearch/bangs/main/data/bangs.json', - ), + Uri.parse(BangGroup.general.url), syncInterval, ); Future> syncKagiBangs({Duration? syncInterval}) => _syncBangGroup( BangGroup.kagi, - Uri.parse( - 'https://raw.githubusercontent.com/kagisearch/bangs/main/data/kagi_bangs.json', - ), + Uri.parse(BangGroup.kagi.url), syncInterval, ); Future> syncAssistantBangs({Duration? syncInterval}) => _syncBangGroup( BangGroup.assistant, - Uri.parse( - 'https://raw.githubusercontent.com/kagisearch/bangs/main/data/assistant_bangs.json', - ), + Uri.parse(BangGroup.assistant.url), syncInterval, );