profile.dart 774 B

12345678910111213141516171819202122232425262728293031323334
  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. @Entity()
  6. class Profile {
  7. Profile();
  8. int id = 0;
  9. int theme = Global.themes[0].value;
  10. String? username;
  11. bool isLogin = false;
  12. bool isLogout = false;
  13. Locale? locale;
  14. @Transient()
  15. Future<String?> get token async {
  16. if (username == null) return null;
  17. final storage = FlutterSecureStorage();
  18. return await storage.read(key: _tokenKey);
  19. }
  20. setToken(String? token) async {
  21. final storage = FlutterSecureStorage();
  22. return await storage.write(key: _tokenKey, value: token);
  23. }
  24. String get _tokenKey => "e2ee_chat token of $username";
  25. }