You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
68 lines
1.4 KiB
Dart
68 lines
1.4 KiB
Dart
import 'package:test_sa/models/base.dart';
|
|
|
|
class ModuleWithSubModulesModel extends Base {
|
|
int? id;
|
|
String? name;
|
|
List<SubModuleModel>? subModules;
|
|
|
|
ModuleWithSubModulesModel({
|
|
this.id,
|
|
this.name,
|
|
this.subModules,
|
|
});
|
|
|
|
ModuleWithSubModulesModel.fromJson(Map<String, dynamic> json) {
|
|
id = json['id'];
|
|
identifier = id?.toString();
|
|
name = json['name'];
|
|
if (json['subModules'] != null) {
|
|
subModules = <SubModuleModel>[];
|
|
json['subModules'].forEach((v) {
|
|
subModules!.add(SubModuleModel.fromJson(v));
|
|
});
|
|
}
|
|
}
|
|
|
|
Map<String, dynamic> toJson() {
|
|
final Map<String, dynamic> data = <String, dynamic>{};
|
|
data['id'] = id;
|
|
data['name'] = name;
|
|
if (subModules != null) {
|
|
data['subModules'] = subModules!.map((v) => v.toJson()).toList();
|
|
}
|
|
return data;
|
|
}
|
|
|
|
@override
|
|
String toString() => name ?? '';
|
|
}
|
|
|
|
class SubModuleModel extends Base {
|
|
int? id;
|
|
String? name;
|
|
String? mainTableName;
|
|
|
|
SubModuleModel({
|
|
this.id,
|
|
this.name,
|
|
this.mainTableName,
|
|
});
|
|
|
|
SubModuleModel.fromJson(Map<String, dynamic> json) {
|
|
id = json['id'];
|
|
name = json['name'];
|
|
mainTableName = json['mainTableName'];
|
|
}
|
|
|
|
Map<String, dynamic> toJson() {
|
|
final Map<String, dynamic> data = <String, dynamic>{};
|
|
data['id'] = id;
|
|
data['name'] = name;
|
|
data['mainTableName'] = mainTableName;
|
|
return data;
|
|
}
|
|
|
|
@override
|
|
String toString() => name ?? '';
|
|
}
|