Browse Source

add: answer & file & questio model

pull/9/head
AmirrezaChegini 1 week ago
parent
commit
ae6768f4c5
  1. 26
      lib/features/question/data/model/answer_model.dart
  2. 17
      lib/features/question/data/model/file_model.dart
  3. 21
      lib/features/question/data/model/question_model.dart

26
lib/features/question/data/model/answer_model.dart

@ -0,0 +1,26 @@
import 'package:hadi_hoda_flutter/features/question/data/model/file_model.dart';
import 'package:hadi_hoda_flutter/features/question/domain/entity/answer_entity.dart';
class AnswerModel extends AnswerEntity {
AnswerModel({
super.id,
super.title,
super.imageId,
super.imageInfo,
super.order,
super.isActive,
});
factory AnswerModel.fromJson(Map<String, dynamic> json) {
return AnswerModel(
id: json['id'],
title: json['title'],
imageId: json['image_id'],
imageInfo: json['image_info'] == null
? null
: FileModel.fromJson(json['image_info']),
order: json['order'],
isActive: json['is_active'],
);
}
}

17
lib/features/question/data/model/file_model.dart

@ -0,0 +1,17 @@
import 'package:hadi_hoda_flutter/features/question/domain/entity/file_entity.dart';
class FileModel extends FileEntity {
FileModel({
super.filename,
super.size,
super.extension,
});
factory FileModel.fromJson(Map<String, dynamic> json) {
return FileModel(
filename: json['filename'],
size: json['size'],
extension: json['extension'],
);
}
}

21
lib/features/question/data/model/question_model.dart

@ -1,13 +1,34 @@
import 'package:hadi_hoda_flutter/features/question/data/model/answer_model.dart';
import 'package:hadi_hoda_flutter/features/question/data/model/file_model.dart';
import 'package:hadi_hoda_flutter/features/question/domain/entity/answer_entity.dart';
import 'package:hadi_hoda_flutter/features/question/domain/entity/question_entity.dart'; import 'package:hadi_hoda_flutter/features/question/domain/entity/question_entity.dart';
class QuestionModel extends QuestionEntity { class QuestionModel extends QuestionEntity {
QuestionModel({ QuestionModel({
super.id, super.id,
super.title,
super.audioId,
super.audioInfo,
super.order,
super.correctAnswer,
super.isActive,
super.answers,
}); });
factory QuestionModel.fromJson(Map<String, dynamic> json) { factory QuestionModel.fromJson(Map<String, dynamic> json) {
return QuestionModel( return QuestionModel(
id: json['id'], id: json['id'],
title: json['title'],
audioId: json['audio_id'],
audioInfo: json['audio_info'] == null
? null
: FileModel.fromJson(json['audio_info']),
order: json['order'],
correctAnswer: json['correct_answer'],
isActive: json['is_active'],
answers: json['answers']
?.map<AnswerEntity>((e) => AnswerModel.fromJson(e))
.toList(),
); );
} }
} }
Loading…
Cancel
Save