profile.dart 827 B

1234567891011121314151617181920212223242526272829303132333435
  1. import 'package:flutter/material.dart';
  2. import 'package:flutter_secure_storage/flutter_secure_storage.dart';
  3. import 'package:e2ee_chat/common/global.dart';
  4. import 'package:objectbox/objectbox.dart';
  5. import 'user.dart';
  6. @Entity()
  7. class Profile {
  8. int id = 0;
  9. int theme = Global.themes[0].value;
  10. User? user;
  11. bool isLogin = false;
  12. bool isLogout = false;
  13. Locale? locale;
  14. @Transient()
  15. String? get username => user?.username;
  16. @Transient()
  17. Future<String?> get token async {
  18. if (user == null) return null;
  19. final storage = FlutterSecureStorage();
  20. return await storage.read(key: _tokenKey);
  21. }
  22. setToken(String? token) async {
  23. final storage = FlutterSecureStorage();
  24. return await storage.write(key: _tokenKey, value: token);
  25. }
  26. String get _tokenKey => "e2ee_chat token of $username";
  27. }