user.dart 862 B

12345678910111213141516171819202122232425262728293031
  1. import 'package:dash_chat/dash_chat.dart';
  2. import 'package:e2ee_chat/common/global.dart';
  3. import 'package:e2ee_chat/objectbox.g.dart';
  4. import 'package:e2ee_chat/presenter/contact.dart';
  5. import 'package:objectbox/objectbox.dart';
  6. import 'package:e2ee_chat/common/api.dart';
  7. import 'message.dart';
  8. @Entity()
  9. class User {
  10. User(this.username, {this.bio, this.phone, this.avatar});
  11. int id = 0;
  12. @Unique()
  13. final String username;
  14. final friends = ToMany<User>();
  15. final messages = ToMany<Message>();
  16. final groupMessages = ToMany<GroupMessage>();
  17. String? bio;
  18. String? phone;
  19. String? avatar;
  20. bool isDND = false;
  21. bool isStick = false;
  22. bool isSpecialAttention = false;
  23. ChatUser toChatUser() => ChatUser(uid: username, name: username, avatar: avatar);
  24. Future<bool> refreshProfile() => UserProfilePresenter(this).refresh();
  25. // TODO: avatar
  26. }