From de7b8e379f5f4e813f4364f7f05c2e690f6408b1 Mon Sep 17 00:00:00 2001 From: Kevin Wang Date: Thu, 18 Aug 2022 01:49:30 -0400 Subject: [PATCH 1/5] feat: add donations adapter --- lib/models/adapters/donations.dart | 30 ++++++++++++++++++++++++++++++ 1 file changed, 30 insertions(+) create mode 100644 lib/models/adapters/donations.dart diff --git a/lib/models/adapters/donations.dart b/lib/models/adapters/donations.dart new file mode 100644 index 000000000..7c6c9e670 --- /dev/null +++ b/lib/models/adapters/donations.dart @@ -0,0 +1,30 @@ +import 'package:cloud_firestore/cloud_firestore.dart'; + +class StreamlabsConfig { + final String? currency; + + StreamlabsConfig({this.currency}); +} + +class DonationsAdapter { + final FirebaseFirestore db; + + DonationsAdapter._({required this.db}); + + static DonationsAdapter get instance => + _instance ??= DonationsAdapter._(db: FirebaseFirestore.instance); + static DonationsAdapter? _instance; + + Stream forRealtimeChatAddress({required String userId}) { + return db + .collection("realtimechat") + .doc(userId) + .snapshots() + .map((doc) => doc.exists ? doc.get("address") : null); + } + + Stream forStreamlabsConfig({required String userId}) { + return db.collection("streamlabs").doc(userId).snapshots().map((doc) => + doc.exists ? StreamlabsConfig(currency: doc.get("currency")) : null); + } +} From 0c0445e8de13ab6d98303ae37e1573369eb9ec26 Mon Sep 17 00:00:00 2001 From: Kevin Wang Date: Thu, 18 Aug 2022 02:11:16 -0400 Subject: [PATCH 2/5] add setter --- lib/models/adapters/donations.dart | 15 +++++++++++++-- 1 file changed, 13 insertions(+), 2 deletions(-) diff --git a/lib/models/adapters/donations.dart b/lib/models/adapters/donations.dart index 7c6c9e670..20f993953 100644 --- a/lib/models/adapters/donations.dart +++ b/lib/models/adapters/donations.dart @@ -1,4 +1,5 @@ import 'package:cloud_firestore/cloud_firestore.dart'; +import 'package:cloud_functions/cloud_functions.dart'; class StreamlabsConfig { final String? currency; @@ -8,11 +9,13 @@ class StreamlabsConfig { class DonationsAdapter { final FirebaseFirestore db; + final FirebaseFunctions functions; - DonationsAdapter._({required this.db}); + DonationsAdapter._({required this.db, required this.functions}); static DonationsAdapter get instance => - _instance ??= DonationsAdapter._(db: FirebaseFirestore.instance); + _instance ??= DonationsAdapter._( + db: FirebaseFirestore.instance, functions: FirebaseFunctions.instance); static DonationsAdapter? _instance; Stream forRealtimeChatAddress({required String userId}) { @@ -23,6 +26,14 @@ class DonationsAdapter { .map((doc) => doc.exists ? doc.get("address") : null); } + Future setRealtimeChatAddress( + {required String userId, required String address}) { + return functions.httpsCallable("setRealtimeChatAddress")({ + "userId": userId, + "address": address, + }); + } + Stream forStreamlabsConfig({required String userId}) { return db.collection("streamlabs").doc(userId).snapshots().map((doc) => doc.exists ? StreamlabsConfig(currency: doc.get("currency")) : null); From 45326b22d4318867287bbc8f657ec76d92c5721a Mon Sep 17 00:00:00 2001 From: Kevin Wang Date: Thu, 18 Aug 2022 02:11:53 -0400 Subject: [PATCH 3/5] simplify --- lib/models/adapters/donations.dart | 5 +---- 1 file changed, 1 insertion(+), 4 deletions(-) diff --git a/lib/models/adapters/donations.dart b/lib/models/adapters/donations.dart index 20f993953..e0ec70e08 100644 --- a/lib/models/adapters/donations.dart +++ b/lib/models/adapters/donations.dart @@ -28,10 +28,7 @@ class DonationsAdapter { Future setRealtimeChatAddress( {required String userId, required String address}) { - return functions.httpsCallable("setRealtimeChatAddress")({ - "userId": userId, - "address": address, - }); + return functions.httpsCallable("setRealtimeChatAddress")(address); } Stream forStreamlabsConfig({required String userId}) { From f624c9af2d65da4cfa77131d9cb9c2d7aea219c6 Mon Sep 17 00:00:00 2001 From: Kevin Wang Date: Thu, 18 Aug 2022 02:12:31 -0400 Subject: [PATCH 4/5] typo --- lib/models/adapters/donations.dart | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/lib/models/adapters/donations.dart b/lib/models/adapters/donations.dart index e0ec70e08..2d2ee0f90 100644 --- a/lib/models/adapters/donations.dart +++ b/lib/models/adapters/donations.dart @@ -26,9 +26,9 @@ class DonationsAdapter { .map((doc) => doc.exists ? doc.get("address") : null); } - Future setRealtimeChatAddress( + Future setRealtimeCashAddress( {required String userId, required String address}) { - return functions.httpsCallable("setRealtimeChatAddress")(address); + return functions.httpsCallable("setRealtimeCashAddress")(address); } Stream forStreamlabsConfig({required String userId}) { From 3c4d4a2fdd2eb773597f64d7e6e9caae506eccef Mon Sep 17 00:00:00 2001 From: Kevin Wang Date: Thu, 18 Aug 2022 02:12:55 -0400 Subject: [PATCH 5/5] typo --- lib/models/adapters/donations.dart | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/models/adapters/donations.dart b/lib/models/adapters/donations.dart index 2d2ee0f90..0f912826d 100644 --- a/lib/models/adapters/donations.dart +++ b/lib/models/adapters/donations.dart @@ -20,7 +20,7 @@ class DonationsAdapter { Stream forRealtimeChatAddress({required String userId}) { return db - .collection("realtimechat") + .collection("realtimecash") .doc(userId) .snapshots() .map((doc) => doc.exists ? doc.get("address") : null);