profile.dart 842 B

123456789101112131415161718192021222324252627282930313233343536
  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. @Transient()
  11. User? user;
  12. bool isLogin = false;
  13. bool isLogout = false;
  14. Locale? locale;
  15. @Transient()
  16. String? get username => user?.username;
  17. @Transient()
  18. Future<String?> get token async {
  19. if (user == null) return null;
  20. final storage = FlutterSecureStorage();
  21. return await storage.read(key: _tokenKey);
  22. }
  23. setToken(String? token) async {
  24. final storage = FlutterSecureStorage();
  25. return await storage.write(key: _tokenKey, value: token);
  26. }
  27. String get _tokenKey => "e2ee_chat token of $username";
  28. }