From 27ce34272e25dba7810bae3183c4e9f5f4a168c3 Mon Sep 17 00:00:00 2001 From: DominicGBauer Date: Mon, 30 Sep 2024 09:45:41 +0200 Subject: [PATCH 1/2] chore(demos): remove sharedpreferences on logout --- demos/django-todolist/lib/api_client.dart | 3 --- demos/django-todolist/lib/main.dart | 1 + demos/django-todolist/lib/powersync.dart | 5 +++-- demos/django-todolist/lib/widgets/login_page.dart | 2 -- 4 files changed, 4 insertions(+), 7 deletions(-) diff --git a/demos/django-todolist/lib/api_client.dart b/demos/django-todolist/lib/api_client.dart index 0cfd287c..64a5a0d2 100644 --- a/demos/django-todolist/lib/api_client.dart +++ b/demos/django-todolist/lib/api_client.dart @@ -1,8 +1,5 @@ import 'dart:convert'; import 'package:http/http.dart' as http; -import 'package:logging/logging.dart'; - -final log = Logger('powersync-django-todolist'); class ApiClient { final String baseUrl; diff --git a/demos/django-todolist/lib/main.dart b/demos/django-todolist/lib/main.dart index 5fad8f77..42a5fdc5 100644 --- a/demos/django-todolist/lib/main.dart +++ b/demos/django-todolist/lib/main.dart @@ -53,6 +53,7 @@ class MyApp extends StatelessWidget { @override Widget build(BuildContext context) { + log.info('YOWDY'); return MaterialApp( title: 'PowerSync Django Todolist Demo', theme: ThemeData( diff --git a/demos/django-todolist/lib/powersync.dart b/demos/django-todolist/lib/powersync.dart index b5dabe94..4a40b4a2 100644 --- a/demos/django-todolist/lib/powersync.dart +++ b/demos/django-todolist/lib/powersync.dart @@ -11,6 +11,7 @@ import './app_config.dart'; import './models/schema.dart'; final log = Logger('powersync-django'); +final prefs = SharedPreferencesAsync(); /// Postgres Response codes that we cannot recover from by retrying. final List fatalResponseCodes = [ @@ -89,8 +90,7 @@ bool _dbInitialized = false; /// id of the user currently logged in Future getUserId() async { - final prefs = await SharedPreferences.getInstance(); - return prefs.getString('id'); + return await prefs.getString('id'); } Future isLoggedIn() async { @@ -129,5 +129,6 @@ Future openDatabase() async { /// Explicit sign out - clear database and log out. Future logout() async { + await prefs.remove('id'); await db.disconnectAndClear(); } diff --git a/demos/django-todolist/lib/widgets/login_page.dart b/demos/django-todolist/lib/widgets/login_page.dart index e2667d09..d68cece3 100644 --- a/demos/django-todolist/lib/widgets/login_page.dart +++ b/demos/django-todolist/lib/widgets/login_page.dart @@ -3,7 +3,6 @@ import 'package:flutter/material.dart'; import 'package:powersync_django_todolist_demo/api_client.dart'; import 'package:powersync_django_todolist_demo/app_config.dart'; import 'package:powersync_django_todolist_demo/powersync.dart'; -import 'package:shared_preferences/shared_preferences.dart'; import '../main.dart'; @@ -42,7 +41,6 @@ class _LoginPageState extends State { final payload = _parseJwt(session['access_token']); if (payload.containsKey('sub')) { - final prefs = await SharedPreferences.getInstance(); await prefs.setString('id', payload['sub'].toString()); //re-init PowerSync manually for first time sign in From 5fb7b9e8d6c02f810b1092949690e97e421bf5fc Mon Sep 17 00:00:00 2001 From: DominicGBauer Date: Mon, 30 Sep 2024 09:48:19 +0200 Subject: [PATCH 2/2] chore: remove log --- demos/django-todolist/lib/main.dart | 1 - 1 file changed, 1 deletion(-) diff --git a/demos/django-todolist/lib/main.dart b/demos/django-todolist/lib/main.dart index 42a5fdc5..5fad8f77 100644 --- a/demos/django-todolist/lib/main.dart +++ b/demos/django-todolist/lib/main.dart @@ -53,7 +53,6 @@ class MyApp extends StatelessWidget { @override Widget build(BuildContext context) { - log.info('YOWDY'); return MaterialApp( title: 'PowerSync Django Todolist Demo', theme: ThemeData(