From 4bafd539162b2f51fe320e540f3177bc2a932172 Mon Sep 17 00:00:00 2001 From: Patrick Alvin Alcala Date: Thu, 27 Mar 2025 10:28:17 +0800 Subject: [PATCH] added settings table api --- .../customer_settings_page.dart | 3 ++ lib/tables/cart.dart | 1 - lib/tables/settings.dart | 51 +++++++++++++++++++ 3 files changed, 54 insertions(+), 1 deletion(-) create mode 100644 lib/tables/settings.dart diff --git a/lib/pages/customer_pages/customer_settings_page.dart b/lib/pages/customer_pages/customer_settings_page.dart index cc4e698..f786eab 100644 --- a/lib/pages/customer_pages/customer_settings_page.dart +++ b/lib/pages/customer_pages/customer_settings_page.dart @@ -46,6 +46,9 @@ class _CustomerSettingsPageState extends State { // ignore: use_build_context_synchronously currentLanguage = await getLanguage(context); setState(() {}); + + //delay this for 1 second + } void autoRun() async { diff --git a/lib/tables/cart.dart b/lib/tables/cart.dart index 270ccaf..31ee48c 100644 --- a/lib/tables/cart.dart +++ b/lib/tables/cart.dart @@ -8,7 +8,6 @@ class Carts { Future getCart(String uuid) async { try { final data = await _supabase.from('carts').select('carts_uuid').eq('user_id', uuid); - log('data: $data'); return data.toList(); } catch (e) { return []; diff --git a/lib/tables/settings.dart b/lib/tables/settings.dart new file mode 100644 index 0000000..e6f5b1c --- /dev/null +++ b/lib/tables/settings.dart @@ -0,0 +1,51 @@ +import 'package:supabase_flutter/supabase_flutter.dart'; +import 'package:uuid/uuid.dart'; + +class Carts { + final SupabaseClient _supabase = Supabase.instance.client; + + Future getSettings(String user) async { + try { + final data = await _supabase.from('settings').select('language, name').eq('user_id', user); + return data.toList(); + } catch (e) { + return []; + } + } + + Future postSettings(String user, String language, String name) async { + final uuid = Uuid().v4(); + + final setting = { + 'settings_uuid': uuid, + 'user_id': user, + 'language': language, + 'name': name, + }; + + try { + await _supabase.from('settings').insert(setting); + return true; + } catch (e) { + return false; + } + } + + Future updateLanguage(String uuid, String language) async { + try { + await _supabase.from('settings').update({'language': language}).eq('settings_uuid', uuid).select(); + return true; + } catch (e) { + return false; + } + } + + Future updateName(String uuid, String name) async { + try { + await _supabase.from('settings').update({'name': name}).eq('settings_uuid', uuid).select(); + return true; + } catch (e) { + return false; + } + } +}