separation of models into different files

This commit is contained in:
hannathkadher
2025-01-05 15:31:32 +04:00
parent 69092823a2
commit 0bed2573a0
11 changed files with 314 additions and 80 deletions

View File

@ -1,4 +1,6 @@
import 'package:syncrow_web/pages/spaces_management/all_spaces/model/product_model.dart';
import 'package:syncrow_web/pages/spaces_management/space_model/models/subspace_template_model.dart';
import 'package:syncrow_web/pages/spaces_management/space_model/models/tag_model.dart';
import 'package:syncrow_web/utils/constants/action_enum.dart';
import 'package:uuid/uuid.dart';
@ -59,81 +61,6 @@ class SpaceTemplateModel {
}
}
class SubspaceTemplateModel {
final String? uuid;
final String subspaceName;
final bool disabled;
final List<TagModel>? tags;
SubspaceTemplateModel({
this.uuid,
required this.subspaceName,
required this.disabled,
this.tags,
});
factory SubspaceTemplateModel.fromJson(Map<String, dynamic> json) {
return SubspaceTemplateModel(
uuid: json['uuid'] ?? '',
subspaceName: json['subspaceName'] ?? '',
disabled: json['disabled'] ?? false,
tags: (json['tags'] as List)
.map((item) => TagModel.fromJson(item))
.toList(),
);
}
Map<String, dynamic> toJson() {
return {
'uuid': uuid,
'subspaceName': subspaceName,
'disabled': disabled,
'tags': tags?.map((e) => e.toJson()).toList() ?? [],
};
}
}
class TagModel {
final String uuid;
final DateTime createdAt;
final DateTime updatedAt;
final String tag;
final bool disabled;
final ProductModel? product;
TagModel({
required this.uuid,
required this.createdAt,
required this.updatedAt,
required this.tag,
required this.disabled,
this.product,
});
factory TagModel.fromJson(Map<String, dynamic> json) {
return TagModel(
uuid: json['uuid'] ?? '',
createdAt: DateTime.parse(json['createdAt']),
updatedAt: DateTime.parse(json['updatedAt']),
tag: json['tag'] ?? '',
disabled: json['disabled'] ?? false,
product: json['product'] != null
? ProductModel.fromMap(json['product'])
: null,
);
}
Map<String, dynamic> toJson() {
return {
'uuid': uuid,
'createdAt': createdAt.toIso8601String(),
'updatedAt': updatedAt.toIso8601String(),
'tag': tag,
'disabled': disabled,
'product': product?.toMap(),
};
}
}
class UpdateSubspaceTemplateModel {
final String uuid;

View File

@ -0,0 +1,35 @@
import 'package:syncrow_web/pages/spaces_management/space_model/models/tag_model.dart';
class SubspaceTemplateModel {
final String? uuid;
final String subspaceName;
final bool disabled;
final List<TagModel>? tags;
SubspaceTemplateModel({
this.uuid,
required this.subspaceName,
required this.disabled,
this.tags,
});
factory SubspaceTemplateModel.fromJson(Map<String, dynamic> json) {
return SubspaceTemplateModel(
uuid: json['uuid'] ?? '',
subspaceName: json['subspaceName'] ?? '',
disabled: json['disabled'] ?? false,
tags: (json['tags'] as List)
.map((item) => TagModel.fromJson(item))
.toList(),
);
}
Map<String, dynamic> toJson() {
return {
'uuid': uuid,
'subspaceName': subspaceName,
'disabled': disabled,
'tags': tags?.map((e) => e.toJson()).toList() ?? [],
};
}
}

View File

@ -0,0 +1,44 @@
import 'package:syncrow_web/pages/spaces_management/all_spaces/model/product_model.dart';
class TagModel {
final String uuid;
final DateTime createdAt;
final DateTime updatedAt;
final String tag;
final bool disabled;
final ProductModel? product;
TagModel({
required this.uuid,
required this.createdAt,
required this.updatedAt,
required this.tag,
required this.disabled,
this.product,
});
factory TagModel.fromJson(Map<String, dynamic> json) {
return TagModel(
uuid: json['uuid'] ?? '',
createdAt: DateTime.parse(json['createdAt']),
updatedAt: DateTime.parse(json['updatedAt']),
tag: json['tag'] ?? '',
disabled: json['disabled'] ?? false,
product: json['product'] != null
? ProductModel.fromMap(json['product'])
: null,
);
}
Map<String, dynamic> toJson() {
return {
'uuid': uuid,
'createdAt': createdAt.toIso8601String(),
'updatedAt': updatedAt.toIso8601String(),
'tag': tag,
'disabled': disabled,
'product': product?.toMap(),
};
}
}