fix model and SpaceModelCardWidget and LinkSpaceModelSpacesDialog

This commit is contained in:
mohammad
2025-03-08 09:57:35 +03:00
parent fa39182386
commit 8af24e575c
3 changed files with 133 additions and 148 deletions

View File

@ -11,7 +11,7 @@ class SpaceTemplateModel extends Equatable {
List<SubspaceTemplateModel>? subspaceModels;
final List<TagModel>? tags;
String internalId;
String? createdAt;
DateTime? createdAt;
@override
List<Object?> get props => [modelName, subspaceModels, tags];
@ -24,23 +24,24 @@ class SpaceTemplateModel extends Equatable {
this.tags,
this.createdAt,
}) : internalId = internalId ?? const Uuid().v4();
factory SpaceTemplateModel.fromJson(Map<String, dynamic> json) {
final String internalId = json['internalId'] ?? const Uuid().v4();
return SpaceTemplateModel(
uuid: json['uuid'] ?? '',
createdAt: json['createdAt'] ?? '',
createdAt: json['createdAt'] != null
? DateTime.tryParse(json['createdAt'])
: null,
internalId: internalId,
modelName: json['modelName'] ?? '',
subspaceModels: (json['subspaceModels'] as List<dynamic>?)
?.where((e) => e is Map<String, dynamic>) // Validate type
?.where((e) => e is Map<String, dynamic>)
.map((e) =>
SubspaceTemplateModel.fromJson(e as Map<String, dynamic>))
.toList() ??
[],
tags: (json['tags'] as List<dynamic>?)
?.where((item) => item is Map<String, dynamic>) // Validate type
?.where((item) => item is Map<String, dynamic>)
.map((item) => TagModel.fromJson(item as Map<String, dynamic>))
.toList() ??
[],