// To parse this JSON data, do // // final mataPelajaranModel = mataPelajaranModelFromJson(jsonString); import 'dart:convert'; MataPelajaranModel mataPelajaranModelFromJson(String str) => MataPelajaranModel.fromJson(json.decode(str)); String mataPelajaranModelToJson(MataPelajaranModel data) => json.encode(data.toJson()); class MataPelajaranModel { bool status; String message; List data; MataPelajaranModel({ required this.status, required this.message, required this.data, }); factory MataPelajaranModel.fromJson(Map json) => MataPelajaranModel( status: json["status"], message: json["message"], data: List.from(json["data"].map((x) => Datum.fromJson(x))), ); Map toJson() => { "status": status, "message": message, "data": List.from(data.map((x) => x.toJson())), }; } class Datum { int id; String nama; String guruNip; String kelas; String tahunAjaran; DateTime createdAt; DateTime updatedAt; Guru guru; List materi; int jumlahBuku; int jumlahVideo; Datum({ required this.id, required this.nama, required this.guruNip, required this.kelas, required this.tahunAjaran, required this.createdAt, required this.updatedAt, required this.guru, required this.materi, required this.jumlahBuku, required this.jumlahVideo, }); factory Datum.fromJson(Map json) => Datum( id: json["id"], nama: json["nama"], guruNip: json["guru_nip"], kelas: json["kelas"], tahunAjaran: json["tahun_ajaran"], createdAt: DateTime.parse(json["created_at"]), updatedAt: DateTime.parse(json["updated_at"]), guru: Guru.fromJson(json["guru"]), materi: List.from(json["materi"].map((x) => Materi.fromJson(x))), jumlahBuku: json["jumlah_buku"], jumlahVideo: json["jumlah_video"], ); Map toJson() => { "id": id, "nama": nama, "guru_nip": guruNip, "kelas": kelas, "tahun_ajaran": tahunAjaran, "created_at": createdAt.toIso8601String(), "updated_at": updatedAt.toIso8601String(), "guru": guru.toJson(), "materi": List.from(materi.map((x) => x.toJson())), "jumlah_buku": jumlahBuku, "jumlah_video": jumlahVideo, }; } class Guru { int id; int userId; String nip; String nama; String jk; DateTime createdAt; DateTime updatedAt; Guru({ required this.id, required this.userId, required this.nip, required this.nama, required this.jk, required this.createdAt, required this.updatedAt, }); factory Guru.fromJson(Map json) => Guru( id: json["id"], userId: json["user_id"], nip: json["nip"], nama: json["nama"], jk: json["jk"], createdAt: DateTime.parse(json["created_at"]), updatedAt: DateTime.parse(json["updated_at"]), ); Map toJson() => { "id": id, "user_id": userId, "nip": nip, "nama": nama, "jk": jk, "created_at": createdAt.toIso8601String(), "updated_at": updatedAt.toIso8601String(), }; } class Materi { int id; DateTime tanggal; int matapelajaranId; String semester; String type; String judulMateri; String deskripsi; String path; String tahunAjaran; DateTime createdAt; DateTime updatedAt; Materi({ required this.id, required this.tanggal, required this.matapelajaranId, required this.semester, required this.type, required this.judulMateri, required this.deskripsi, required this.path, required this.tahunAjaran, required this.createdAt, required this.updatedAt, }); factory Materi.fromJson(Map json) => Materi( id: json["id"], tanggal: DateTime.parse(json["tanggal"]), matapelajaranId: json["matapelajaran_id"], semester: json["semester"], type: json["type"], judulMateri: json["judul_materi"], deskripsi: json["deskripsi"], path: json["path"], tahunAjaran: json["tahun_ajaran"], createdAt: DateTime.parse(json["created_at"]), updatedAt: DateTime.parse(json["updated_at"]), ); Map toJson() => { "id": id, "tanggal": "${tanggal.year.toString().padLeft(4, '0')}-${tanggal.month.toString().padLeft(2, '0')}-${tanggal.day.toString().padLeft(2, '0')}", "matapelajaran_id": matapelajaranId, "semester": semester, "type": type, "judul_materi": judulMateri, "deskripsi": deskripsi, "path": path, "tahun_ajaran": tahunAjaran, "created_at": createdAt.toIso8601String(), "updated_at": updatedAt.toIso8601String(), }; }