-
Notifications
You must be signed in to change notification settings - Fork 23
Expand file tree
/
Copy pathStringeeUser.dart
More file actions
56 lines (47 loc) · 1.35 KB
/
StringeeUser.dart
File metadata and controls
56 lines (47 loc) · 1.35 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
import '../../stringee_plugin.dart';
class StringeeUser {
String? _userId;
String? _name;
String? _avatarUrl;
UserRole _role = UserRole.member;
StringeeUser({required String userId, String? name, String? avatarUrl}) {
this._userId = userId;
this._name = name;
this._avatarUrl = avatarUrl;
}
String? get userId => _userId;
String? get name => _name;
String? get avatarUrl => _avatarUrl;
UserRole get role => _role;
@override
String toString() {
return '{userId: $_userId, name: $name, avatarUrl: $avatarUrl, role: $role}';
}
Map<String, dynamic> toJson() {
Map<String, dynamic> params = new Map();
params['userId'] = _userId!.trim();
if (_name != null) params['name'] = _name!.trim();
if (_avatarUrl != null) params['avatarUrl'] = _avatarUrl!.trim();
params['role'] = _role.index;
return params;
}
StringeeUser.fromJson(Map<dynamic, dynamic> json) {
this._userId = json['user'];
this._name = json['displayName'];
this._avatarUrl = json['avatarUrl'];
if (json.containsKey('role')) {
String? role = json['role'];
switch (role) {
case 'member':
this._role = UserRole.member;
break;
case 'admin':
this._role = UserRole.admin;
break;
default:
this._role = UserRole.member;
break;
}
}
}
}