You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
82 lines
2.2 KiB
82 lines
2.2 KiB
2 weeks ago
|
import 'organization.dart';
|
||
|
import 'page.dart';
|
||
|
import 'role.dart';
|
||
|
|
||
|
class User {
|
||
|
String? id;
|
||
|
String? username;
|
||
|
dynamic email;
|
||
|
String? name;
|
||
|
bool? enabled;
|
||
|
dynamic posts;
|
||
|
String? organizationId;
|
||
|
Organization? organization;
|
||
|
String? organizationName;
|
||
|
String? organizationLevel;
|
||
|
List<Role>? roles;
|
||
|
List<dynamic>? permissions;
|
||
|
List<Page>? pages;
|
||
|
dynamic company;
|
||
|
String? signatureImage;
|
||
|
|
||
|
User({
|
||
|
this.id,
|
||
|
this.username,
|
||
|
this.email,
|
||
|
this.name,
|
||
|
this.enabled,
|
||
|
this.posts,
|
||
|
this.organizationId,
|
||
|
this.organization,
|
||
|
this.organizationName,
|
||
|
this.organizationLevel,
|
||
|
this.roles,
|
||
|
this.permissions,
|
||
|
this.pages,
|
||
|
this.company,
|
||
|
this.signatureImage,
|
||
|
});
|
||
|
|
||
|
factory User.fromJson(Map<String, dynamic> json) => User(
|
||
|
id: json['id'] as String?,
|
||
|
username: json['username'] as String?,
|
||
|
email: json['email'] as dynamic,
|
||
|
name: json['name'] as String?,
|
||
|
enabled: json['enabled'] as bool?,
|
||
|
posts: json['posts'] as dynamic,
|
||
|
organizationId: json['organizationId'] as String?,
|
||
|
organization: json['organization'] == null
|
||
|
? null
|
||
|
: Organization.fromJson(json['organization'] as Map<String, dynamic>),
|
||
|
organizationName: json['organizationName'] as String?,
|
||
|
organizationLevel: json['organizationLevel'] as String?,
|
||
|
roles: (json['roles'] as List<dynamic>?)
|
||
|
?.map((e) => Role.fromJson(e as Map<String, dynamic>))
|
||
|
.toList(),
|
||
|
permissions: json['permissions'] as List<dynamic>?,
|
||
|
pages: (json['pages'] as List<dynamic>?)
|
||
|
?.map((e) => Page.fromJson(e as Map<String, dynamic>))
|
||
|
.toList(),
|
||
|
company: json['company'] as dynamic,
|
||
|
signatureImage: json['signatureImage'] as String?,
|
||
|
);
|
||
|
|
||
|
Map<String, dynamic> toJson() => {
|
||
|
'id': id,
|
||
|
'username': username,
|
||
|
'email': email,
|
||
|
'name': name,
|
||
|
'enabled': enabled,
|
||
|
'posts': posts,
|
||
|
'organizationId': organizationId,
|
||
|
'organization': organization?.toJson(),
|
||
|
'organizationName': organizationName,
|
||
|
'organizationLevel': organizationLevel,
|
||
|
'roles': roles?.map((e) => e.toJson()).toList(),
|
||
|
'permissions': permissions,
|
||
|
'pages': pages?.map((e) => e.toJson()).toList(),
|
||
|
'company': company,
|
||
|
'signatureImage': signatureImage,
|
||
|
};
|
||
|
}
|