ambil data stok bantuan
This commit is contained in:
@ -1,19 +1,21 @@
|
||||
import 'dart:convert';
|
||||
|
||||
class BentukBantuanModel {
|
||||
final String id;
|
||||
final String nama;
|
||||
final String? id;
|
||||
final String? nama;
|
||||
final String? deskripsi;
|
||||
final String? kategori;
|
||||
final DateTime createdAt;
|
||||
final String? satuan;
|
||||
final DateTime? createdAt;
|
||||
final DateTime? updatedAt;
|
||||
|
||||
BentukBantuanModel({
|
||||
required this.id,
|
||||
required this.nama,
|
||||
this.id,
|
||||
this.nama,
|
||||
this.deskripsi,
|
||||
this.kategori,
|
||||
required this.createdAt,
|
||||
this.satuan,
|
||||
this.createdAt,
|
||||
this.updatedAt,
|
||||
});
|
||||
|
||||
@ -28,10 +30,13 @@ class BentukBantuanModel {
|
||||
nama: json["nama"],
|
||||
deskripsi: json["deskripsi"],
|
||||
kategori: json["kategori"],
|
||||
createdAt: DateTime.parse(json["created_at"]),
|
||||
updatedAt: json["updated_at"] == null
|
||||
? null
|
||||
: DateTime.parse(json["updated_at"]),
|
||||
satuan: json["satuan"],
|
||||
createdAt: json["created_at"] != null
|
||||
? DateTime.parse(json["created_at"])
|
||||
: null,
|
||||
updatedAt: json["updated_at"] != null
|
||||
? DateTime.parse(json["updated_at"])
|
||||
: null,
|
||||
);
|
||||
|
||||
Map<String, dynamic> toJson() => {
|
||||
@ -39,7 +44,8 @@ class BentukBantuanModel {
|
||||
"nama": nama,
|
||||
"deskripsi": deskripsi,
|
||||
"kategori": kategori,
|
||||
"created_at": createdAt.toIso8601String(),
|
||||
"satuan": satuan,
|
||||
"created_at": createdAt?.toIso8601String(),
|
||||
"updated_at": updatedAt?.toIso8601String(),
|
||||
};
|
||||
}
|
||||
|
50
lib/app/data/models/desa_model.dart
Normal file
50
lib/app/data/models/desa_model.dart
Normal file
@ -0,0 +1,50 @@
|
||||
import 'dart:convert';
|
||||
|
||||
class DesaModel {
|
||||
final String id;
|
||||
final String nama;
|
||||
final String? kecamatan;
|
||||
final String? kabupaten;
|
||||
final String? provinsi;
|
||||
final DateTime? createdAt;
|
||||
final DateTime? updatedAt;
|
||||
|
||||
DesaModel({
|
||||
required this.id,
|
||||
required this.nama,
|
||||
this.kecamatan,
|
||||
this.kabupaten,
|
||||
this.provinsi,
|
||||
this.createdAt,
|
||||
this.updatedAt,
|
||||
});
|
||||
|
||||
factory DesaModel.fromRawJson(String str) =>
|
||||
DesaModel.fromJson(json.decode(str));
|
||||
|
||||
String toRawJson() => json.encode(toJson());
|
||||
|
||||
factory DesaModel.fromJson(Map<String, dynamic> json) => DesaModel(
|
||||
id: json["id"],
|
||||
nama: json["nama"],
|
||||
kecamatan: json["kecamatan"],
|
||||
kabupaten: json["kabupaten"],
|
||||
provinsi: json["provinsi"],
|
||||
createdAt: json["created_at"] != null
|
||||
? DateTime.parse(json["created_at"])
|
||||
: null,
|
||||
updatedAt: json["updated_at"] != null
|
||||
? DateTime.parse(json["updated_at"])
|
||||
: null,
|
||||
);
|
||||
|
||||
Map<String, dynamic> toJson() => {
|
||||
"id": id,
|
||||
"nama": nama,
|
||||
"kecamatan": kecamatan,
|
||||
"kabupaten": kabupaten,
|
||||
"provinsi": provinsi,
|
||||
"created_at": createdAt?.toIso8601String(),
|
||||
"updated_at": updatedAt?.toIso8601String(),
|
||||
};
|
||||
}
|
@ -1,23 +1,27 @@
|
||||
import 'dart:convert';
|
||||
|
||||
class DonaturModel {
|
||||
final String id;
|
||||
final String nama;
|
||||
final String? id;
|
||||
final String? nama;
|
||||
final String? alamat;
|
||||
final String? noTelp;
|
||||
final String? telepon;
|
||||
final String? email;
|
||||
final String? jenisDonatur; // Individu, Organisasi, Perusahaan, dll
|
||||
final DateTime createdAt;
|
||||
final String? jenis;
|
||||
final String? deskripsi;
|
||||
final String? status;
|
||||
final DateTime? createdAt;
|
||||
final DateTime? updatedAt;
|
||||
|
||||
DonaturModel({
|
||||
required this.id,
|
||||
required this.nama,
|
||||
this.id,
|
||||
this.nama,
|
||||
this.alamat,
|
||||
this.noTelp,
|
||||
this.telepon,
|
||||
this.email,
|
||||
this.jenisDonatur,
|
||||
required this.createdAt,
|
||||
this.jenis,
|
||||
this.deskripsi,
|
||||
this.status,
|
||||
this.createdAt,
|
||||
this.updatedAt,
|
||||
});
|
||||
|
||||
@ -30,23 +34,29 @@ class DonaturModel {
|
||||
id: json["id"],
|
||||
nama: json["nama"],
|
||||
alamat: json["alamat"],
|
||||
noTelp: json["no_telp"],
|
||||
telepon: json["telepon"],
|
||||
email: json["email"],
|
||||
jenisDonatur: json["jenis_donatur"],
|
||||
createdAt: DateTime.parse(json["created_at"]),
|
||||
updatedAt: json["updated_at"] == null
|
||||
? null
|
||||
: DateTime.parse(json["updated_at"]),
|
||||
jenis: json["jenis"],
|
||||
deskripsi: json["deskripsi"],
|
||||
status: json["status"],
|
||||
createdAt: json["created_at"] != null
|
||||
? DateTime.parse(json["created_at"])
|
||||
: null,
|
||||
updatedAt: json["updated_at"] != null
|
||||
? DateTime.parse(json["updated_at"])
|
||||
: null,
|
||||
);
|
||||
|
||||
Map<String, dynamic> toJson() => {
|
||||
"id": id,
|
||||
"nama": nama,
|
||||
"alamat": alamat,
|
||||
"no_telp": noTelp,
|
||||
"telepon": telepon,
|
||||
"email": email,
|
||||
"jenis_donatur": jenisDonatur,
|
||||
"created_at": createdAt.toIso8601String(),
|
||||
"jenis": jenis,
|
||||
"deskripsi": deskripsi,
|
||||
"status": status,
|
||||
"created_at": createdAt?.toIso8601String(),
|
||||
"updated_at": updatedAt?.toIso8601String(),
|
||||
};
|
||||
}
|
||||
|
@ -1,34 +1,34 @@
|
||||
import 'dart:convert';
|
||||
|
||||
class LaporanModel {
|
||||
final String id;
|
||||
final String judul;
|
||||
final String? id;
|
||||
final String? judul;
|
||||
final String? deskripsi;
|
||||
final String jenis; // Contoh: 'penyaluran', 'penitipan', 'pengaduan'
|
||||
final String? jenis; // Contoh: 'PENYALURAN', 'STOK_BANTUAN', 'PENERIMA'
|
||||
final String?
|
||||
referensiId; // ID dari entitas yang dilaporkan (penyaluran, penitipan, dll)
|
||||
final String status; // Contoh: 'draft', 'final', 'disetujui'
|
||||
final String? userId; // Pengguna yang membuat laporan
|
||||
final String? status; // Contoh: 'draft', 'final', 'disetujui'
|
||||
final String? petugasId; // Pengguna yang membuat laporan
|
||||
final List<String>? fileUrls; // URL file laporan (PDF, Excel, dll)
|
||||
final DateTime periodeAwal;
|
||||
final DateTime periodeAkhir;
|
||||
final DateTime tanggalLaporan;
|
||||
final DateTime createdAt;
|
||||
final DateTime? tanggalMulai;
|
||||
final DateTime? tanggalSelesai;
|
||||
final DateTime? tanggalLaporan;
|
||||
final DateTime? createdAt;
|
||||
final DateTime? updatedAt;
|
||||
|
||||
LaporanModel({
|
||||
required this.id,
|
||||
required this.judul,
|
||||
this.id,
|
||||
this.judul,
|
||||
this.deskripsi,
|
||||
required this.jenis,
|
||||
this.jenis,
|
||||
this.referensiId,
|
||||
required this.status,
|
||||
this.userId,
|
||||
this.status,
|
||||
this.petugasId,
|
||||
this.fileUrls,
|
||||
required this.periodeAwal,
|
||||
required this.periodeAkhir,
|
||||
required this.tanggalLaporan,
|
||||
required this.createdAt,
|
||||
this.tanggalMulai,
|
||||
this.tanggalSelesai,
|
||||
this.tanggalLaporan,
|
||||
this.createdAt,
|
||||
this.updatedAt,
|
||||
});
|
||||
|
||||
@ -44,17 +44,29 @@ class LaporanModel {
|
||||
jenis: json["jenis"],
|
||||
referensiId: json["referensi_id"],
|
||||
status: json["status"],
|
||||
userId: json["user_id"],
|
||||
petugasId: json["petugas_id"] ?? json["user_id"],
|
||||
fileUrls: json["file_urls"] == null
|
||||
? null
|
||||
: List<String>.from(json["file_urls"].map((x) => x)),
|
||||
periodeAwal: DateTime.parse(json["periode_awal"]),
|
||||
periodeAkhir: DateTime.parse(json["periode_akhir"]),
|
||||
tanggalLaporan: DateTime.parse(json["tanggal_laporan"]),
|
||||
createdAt: DateTime.parse(json["created_at"]),
|
||||
updatedAt: json["updated_at"] == null
|
||||
? null
|
||||
: DateTime.parse(json["updated_at"]),
|
||||
tanggalMulai: json["tanggal_mulai"] != null
|
||||
? DateTime.parse(json["tanggal_mulai"])
|
||||
: json["periode_awal"] != null
|
||||
? DateTime.parse(json["periode_awal"])
|
||||
: null,
|
||||
tanggalSelesai: json["tanggal_selesai"] != null
|
||||
? DateTime.parse(json["tanggal_selesai"])
|
||||
: json["periode_akhir"] != null
|
||||
? DateTime.parse(json["periode_akhir"])
|
||||
: null,
|
||||
tanggalLaporan: json["tanggal_laporan"] != null
|
||||
? DateTime.parse(json["tanggal_laporan"])
|
||||
: null,
|
||||
createdAt: json["created_at"] != null
|
||||
? DateTime.parse(json["created_at"])
|
||||
: null,
|
||||
updatedAt: json["updated_at"] != null
|
||||
? DateTime.parse(json["updated_at"])
|
||||
: null,
|
||||
);
|
||||
|
||||
Map<String, dynamic> toJson() => {
|
||||
@ -64,14 +76,14 @@ class LaporanModel {
|
||||
"jenis": jenis,
|
||||
"referensi_id": referensiId,
|
||||
"status": status,
|
||||
"user_id": userId,
|
||||
"petugas_id": petugasId,
|
||||
"file_urls": fileUrls == null
|
||||
? null
|
||||
: List<dynamic>.from(fileUrls!.map((x) => x)),
|
||||
"periode_awal": periodeAwal.toIso8601String(),
|
||||
"periode_akhir": periodeAkhir.toIso8601String(),
|
||||
"tanggal_laporan": tanggalLaporan.toIso8601String(),
|
||||
"created_at": createdAt.toIso8601String(),
|
||||
"tanggal_mulai": tanggalMulai?.toIso8601String(),
|
||||
"tanggal_selesai": tanggalSelesai?.toIso8601String(),
|
||||
"tanggal_laporan": tanggalLaporan?.toIso8601String(),
|
||||
"created_at": createdAt?.toIso8601String(),
|
||||
"updated_at": updatedAt?.toIso8601String(),
|
||||
};
|
||||
}
|
||||
|
@ -46,9 +46,8 @@ class LokasiPenyaluranModel {
|
||||
kabupaten: json["kabupaten"],
|
||||
provinsi: json["provinsi"],
|
||||
kodePos: json["kode_pos"],
|
||||
latitude: json["latitude"] != null ? json["latitude"].toDouble() : null,
|
||||
longitude:
|
||||
json["longitude"] != null ? json["longitude"].toDouble() : null,
|
||||
latitude: json["latitude"]?.toDouble(),
|
||||
longitude: json["longitude"]?.toDouble(),
|
||||
petugasDesaId: json["petugas_desa_id"],
|
||||
createdAt: DateTime.parse(json["created_at"]),
|
||||
updatedAt: json["updated_at"] == null
|
||||
|
@ -1,25 +1,27 @@
|
||||
import 'dart:convert';
|
||||
|
||||
class NotifikasiModel {
|
||||
final String id;
|
||||
final String judul;
|
||||
final String pesan;
|
||||
final String? jenis; // Contoh: 'penyaluran', 'penitipan', 'pengaduan'
|
||||
final String? referensiId; // ID dari entitas yang terkait notifikasi
|
||||
final String? userId; // Pengguna yang menerima notifikasi
|
||||
final bool dibaca;
|
||||
final DateTime createdAt;
|
||||
final String? id;
|
||||
final String? userId;
|
||||
final String? judul;
|
||||
final String? pesan;
|
||||
final String? jenis;
|
||||
final String? referensiId;
|
||||
final bool? dibaca;
|
||||
final DateTime? tanggalNotifikasi;
|
||||
final DateTime? createdAt;
|
||||
final DateTime? updatedAt;
|
||||
|
||||
NotifikasiModel({
|
||||
required this.id,
|
||||
required this.judul,
|
||||
required this.pesan,
|
||||
this.id,
|
||||
this.userId,
|
||||
this.judul,
|
||||
this.pesan,
|
||||
this.jenis,
|
||||
this.referensiId,
|
||||
this.userId,
|
||||
this.dibaca = false,
|
||||
required this.createdAt,
|
||||
this.dibaca,
|
||||
this.tanggalNotifikasi,
|
||||
this.createdAt,
|
||||
this.updatedAt,
|
||||
});
|
||||
|
||||
@ -31,27 +33,33 @@ class NotifikasiModel {
|
||||
factory NotifikasiModel.fromJson(Map<String, dynamic> json) =>
|
||||
NotifikasiModel(
|
||||
id: json["id"],
|
||||
userId: json["user_id"],
|
||||
judul: json["judul"],
|
||||
pesan: json["pesan"],
|
||||
jenis: json["jenis"],
|
||||
referensiId: json["referensi_id"],
|
||||
userId: json["user_id"],
|
||||
dibaca: json["dibaca"] ?? false,
|
||||
createdAt: DateTime.parse(json["created_at"]),
|
||||
updatedAt: json["updated_at"] == null
|
||||
? null
|
||||
: DateTime.parse(json["updated_at"]),
|
||||
dibaca: json["dibaca"],
|
||||
tanggalNotifikasi: json["tanggal_notifikasi"] != null
|
||||
? DateTime.parse(json["tanggal_notifikasi"])
|
||||
: null,
|
||||
createdAt: json["created_at"] != null
|
||||
? DateTime.parse(json["created_at"])
|
||||
: null,
|
||||
updatedAt: json["updated_at"] != null
|
||||
? DateTime.parse(json["updated_at"])
|
||||
: null,
|
||||
);
|
||||
|
||||
Map<String, dynamic> toJson() => {
|
||||
"id": id,
|
||||
"user_id": userId,
|
||||
"judul": judul,
|
||||
"pesan": pesan,
|
||||
"jenis": jenis,
|
||||
"referensi_id": referensiId,
|
||||
"user_id": userId,
|
||||
"dibaca": dibaca,
|
||||
"created_at": createdAt.toIso8601String(),
|
||||
"tanggal_notifikasi": tanggalNotifikasi?.toIso8601String(),
|
||||
"created_at": createdAt?.toIso8601String(),
|
||||
"updated_at": updatedAt?.toIso8601String(),
|
||||
};
|
||||
}
|
||||
|
@ -1,25 +1,29 @@
|
||||
import 'dart:convert';
|
||||
|
||||
class PengaduanModel {
|
||||
final String id;
|
||||
final String judul;
|
||||
final String deskripsi;
|
||||
final String? userId; // Pengguna yang membuat pengaduan
|
||||
final String? penyaluranBantuanId; // Referensi ke PenyaluranBantuan
|
||||
final String status; // Contoh: 'pending', 'diproses', 'selesai'
|
||||
final List<String>? gambarUrls; // URL gambar bukti pengaduan
|
||||
final DateTime createdAt;
|
||||
final String? id;
|
||||
final String? judul;
|
||||
final String? deskripsi;
|
||||
final String? status;
|
||||
final String? kategori;
|
||||
final String? pelapor;
|
||||
final String? kontakPelapor;
|
||||
final List<String>? gambarUrls;
|
||||
final DateTime? tanggalPengaduan;
|
||||
final DateTime? createdAt;
|
||||
final DateTime? updatedAt;
|
||||
|
||||
PengaduanModel({
|
||||
required this.id,
|
||||
required this.judul,
|
||||
required this.deskripsi,
|
||||
this.userId,
|
||||
this.penyaluranBantuanId,
|
||||
required this.status,
|
||||
this.id,
|
||||
this.judul,
|
||||
this.deskripsi,
|
||||
this.status,
|
||||
this.kategori,
|
||||
this.pelapor,
|
||||
this.kontakPelapor,
|
||||
this.gambarUrls,
|
||||
required this.createdAt,
|
||||
this.tanggalPengaduan,
|
||||
this.createdAt,
|
||||
this.updatedAt,
|
||||
});
|
||||
|
||||
@ -32,29 +36,37 @@ class PengaduanModel {
|
||||
id: json["id"],
|
||||
judul: json["judul"],
|
||||
deskripsi: json["deskripsi"],
|
||||
userId: json["user_id"],
|
||||
penyaluranBantuanId: json["penyaluran_bantuan_id"],
|
||||
status: json["status"],
|
||||
kategori: json["kategori"],
|
||||
pelapor: json["pelapor"],
|
||||
kontakPelapor: json["kontak_pelapor"],
|
||||
gambarUrls: json["gambar_urls"] == null
|
||||
? null
|
||||
: List<String>.from(json["gambar_urls"].map((x) => x)),
|
||||
createdAt: DateTime.parse(json["created_at"]),
|
||||
updatedAt: json["updated_at"] == null
|
||||
? null
|
||||
: DateTime.parse(json["updated_at"]),
|
||||
tanggalPengaduan: json["tanggal_pengaduan"] != null
|
||||
? DateTime.parse(json["tanggal_pengaduan"])
|
||||
: null,
|
||||
createdAt: json["created_at"] != null
|
||||
? DateTime.parse(json["created_at"])
|
||||
: null,
|
||||
updatedAt: json["updated_at"] != null
|
||||
? DateTime.parse(json["updated_at"])
|
||||
: null,
|
||||
);
|
||||
|
||||
Map<String, dynamic> toJson() => {
|
||||
"id": id,
|
||||
"judul": judul,
|
||||
"deskripsi": deskripsi,
|
||||
"user_id": userId,
|
||||
"penyaluran_bantuan_id": penyaluranBantuanId,
|
||||
"status": status,
|
||||
"kategori": kategori,
|
||||
"pelapor": pelapor,
|
||||
"kontak_pelapor": kontakPelapor,
|
||||
"gambar_urls": gambarUrls == null
|
||||
? null
|
||||
: List<dynamic>.from(gambarUrls!.map((x) => x)),
|
||||
"created_at": createdAt.toIso8601String(),
|
||||
"tanggal_pengaduan": tanggalPengaduan?.toIso8601String(),
|
||||
"created_at": createdAt?.toIso8601String(),
|
||||
"updated_at": updatedAt?.toIso8601String(),
|
||||
};
|
||||
}
|
||||
|
@ -1,31 +1,35 @@
|
||||
import 'dart:convert';
|
||||
|
||||
class PenitipanBantuanModel {
|
||||
final String id;
|
||||
final String? donaturId; // Referensi ke Donatur
|
||||
final String? bentukBantuanId; // Referensi ke BentukBantuan
|
||||
final String? sumberBantuanId; // Referensi ke SumberBantuan
|
||||
final double jumlah;
|
||||
final String? satuan; // Contoh: kg, buah, paket, dll
|
||||
final String? id;
|
||||
final String? donaturId;
|
||||
final String? bentukBantuanId;
|
||||
final String? nama;
|
||||
final double? jumlah;
|
||||
final String? satuan;
|
||||
final String? deskripsi;
|
||||
final String status; // Contoh: 'diterima', 'disalurkan', 'ditolak'
|
||||
final List<String>? gambarUrls; // URL gambar bukti penitipan
|
||||
final DateTime tanggalPenitipan;
|
||||
final DateTime createdAt;
|
||||
final String? status;
|
||||
final String? alasanPenolakan;
|
||||
final List<String>? gambarUrls;
|
||||
final DateTime? tanggalPenitipan;
|
||||
final DateTime? tanggalVerifikasi;
|
||||
final DateTime? createdAt;
|
||||
final DateTime? updatedAt;
|
||||
|
||||
PenitipanBantuanModel({
|
||||
required this.id,
|
||||
this.id,
|
||||
this.donaturId,
|
||||
this.bentukBantuanId,
|
||||
this.sumberBantuanId,
|
||||
required this.jumlah,
|
||||
this.nama,
|
||||
this.jumlah,
|
||||
this.satuan,
|
||||
this.deskripsi,
|
||||
required this.status,
|
||||
this.status,
|
||||
this.alasanPenolakan,
|
||||
this.gambarUrls,
|
||||
required this.tanggalPenitipan,
|
||||
required this.createdAt,
|
||||
this.tanggalPenitipan,
|
||||
this.tanggalVerifikasi,
|
||||
this.createdAt,
|
||||
this.updatedAt,
|
||||
});
|
||||
|
||||
@ -39,35 +43,45 @@ class PenitipanBantuanModel {
|
||||
id: json["id"],
|
||||
donaturId: json["donatur_id"],
|
||||
bentukBantuanId: json["bentuk_bantuan_id"],
|
||||
sumberBantuanId: json["sumber_bantuan_id"],
|
||||
jumlah: json["jumlah"].toDouble(),
|
||||
nama: json["nama"],
|
||||
jumlah: json["jumlah"] != null ? json["jumlah"].toDouble() : 0.0,
|
||||
satuan: json["satuan"],
|
||||
deskripsi: json["deskripsi"],
|
||||
status: json["status"],
|
||||
alasanPenolakan: json["alasan_penolakan"],
|
||||
gambarUrls: json["gambar_urls"] == null
|
||||
? null
|
||||
: List<String>.from(json["gambar_urls"].map((x) => x)),
|
||||
tanggalPenitipan: DateTime.parse(json["tanggal_penitipan"]),
|
||||
createdAt: DateTime.parse(json["created_at"]),
|
||||
updatedAt: json["updated_at"] == null
|
||||
? null
|
||||
: DateTime.parse(json["updated_at"]),
|
||||
tanggalPenitipan: json["tanggal_penitipan"] != null
|
||||
? DateTime.parse(json["tanggal_penitipan"])
|
||||
: null,
|
||||
tanggalVerifikasi: json["tanggal_verifikasi"] != null
|
||||
? DateTime.parse(json["tanggal_verifikasi"])
|
||||
: null,
|
||||
createdAt: json["created_at"] != null
|
||||
? DateTime.parse(json["created_at"])
|
||||
: null,
|
||||
updatedAt: json["updated_at"] != null
|
||||
? DateTime.parse(json["updated_at"])
|
||||
: null,
|
||||
);
|
||||
|
||||
Map<String, dynamic> toJson() => {
|
||||
"id": id,
|
||||
"donatur_id": donaturId,
|
||||
"bentuk_bantuan_id": bentukBantuanId,
|
||||
"sumber_bantuan_id": sumberBantuanId,
|
||||
"nama": nama,
|
||||
"jumlah": jumlah,
|
||||
"satuan": satuan,
|
||||
"deskripsi": deskripsi,
|
||||
"status": status,
|
||||
"alasan_penolakan": alasanPenolakan,
|
||||
"gambar_urls": gambarUrls == null
|
||||
? null
|
||||
: List<dynamic>.from(gambarUrls!.map((x) => x)),
|
||||
"tanggal_penitipan": tanggalPenitipan.toIso8601String(),
|
||||
"created_at": createdAt.toIso8601String(),
|
||||
"tanggal_penitipan": tanggalPenitipan?.toIso8601String(),
|
||||
"tanggal_verifikasi": tanggalVerifikasi?.toIso8601String(),
|
||||
"created_at": createdAt?.toIso8601String(),
|
||||
"updated_at": updatedAt?.toIso8601String(),
|
||||
};
|
||||
}
|
||||
|
@ -1,31 +1,29 @@
|
||||
import 'dart:convert';
|
||||
|
||||
class PenyaluranBantuanModel {
|
||||
final String id;
|
||||
final String? penitipanBantuanId; // Referensi ke PenitipanBantuan
|
||||
final String? lokasiPenyaluranId; // Referensi ke LokasiPenyaluran
|
||||
final String? petugasDesaId; // Referensi ke PetugasDesa
|
||||
final double jumlah;
|
||||
final String? satuan; // Contoh: kg, buah, paket, dll
|
||||
final String? id;
|
||||
final String? judul;
|
||||
final String? deskripsi;
|
||||
final String status; // Contoh: 'diproses', 'disalurkan', 'dibatalkan'
|
||||
final List<String>? gambarUrls; // URL gambar bukti penyaluran
|
||||
final DateTime tanggalPenyaluran;
|
||||
final DateTime createdAt;
|
||||
final String? lokasiPenyaluranId;
|
||||
final String? petugasId;
|
||||
final String? status;
|
||||
final String? alasanPenolakan;
|
||||
final DateTime? tanggalPenjadwalan;
|
||||
final DateTime? tanggalPenyaluran;
|
||||
final DateTime? createdAt;
|
||||
final DateTime? updatedAt;
|
||||
|
||||
PenyaluranBantuanModel({
|
||||
required this.id,
|
||||
this.penitipanBantuanId,
|
||||
this.lokasiPenyaluranId,
|
||||
this.petugasDesaId,
|
||||
required this.jumlah,
|
||||
this.satuan,
|
||||
this.id,
|
||||
this.judul,
|
||||
this.deskripsi,
|
||||
required this.status,
|
||||
this.gambarUrls,
|
||||
required this.tanggalPenyaluran,
|
||||
required this.createdAt,
|
||||
this.lokasiPenyaluranId,
|
||||
this.petugasId,
|
||||
this.status,
|
||||
this.alasanPenolakan,
|
||||
this.tanggalPenjadwalan,
|
||||
this.tanggalPenyaluran,
|
||||
this.createdAt,
|
||||
this.updatedAt,
|
||||
});
|
||||
|
||||
@ -37,37 +35,37 @@ class PenyaluranBantuanModel {
|
||||
factory PenyaluranBantuanModel.fromJson(Map<String, dynamic> json) =>
|
||||
PenyaluranBantuanModel(
|
||||
id: json["id"],
|
||||
penitipanBantuanId: json["penitipan_bantuan_id"],
|
||||
lokasiPenyaluranId: json["lokasi_penyaluran_id"],
|
||||
petugasDesaId: json["petugas_desa_id"],
|
||||
jumlah: json["jumlah"].toDouble(),
|
||||
satuan: json["satuan"],
|
||||
judul: json["judul"],
|
||||
deskripsi: json["deskripsi"],
|
||||
lokasiPenyaluranId: json["lokasi_penyaluran_id"],
|
||||
petugasId: json["petugas_id"],
|
||||
status: json["status"],
|
||||
gambarUrls: json["gambar_urls"] == null
|
||||
? null
|
||||
: List<String>.from(json["gambar_urls"].map((x) => x)),
|
||||
tanggalPenyaluran: DateTime.parse(json["tanggal_penyaluran"]),
|
||||
createdAt: DateTime.parse(json["created_at"]),
|
||||
updatedAt: json["updated_at"] == null
|
||||
? null
|
||||
: DateTime.parse(json["updated_at"]),
|
||||
alasanPenolakan: json["alasan_penolakan"],
|
||||
tanggalPenjadwalan: json["tanggal_penjadwalan"] != null
|
||||
? DateTime.parse(json["tanggal_penjadwalan"])
|
||||
: null,
|
||||
tanggalPenyaluran: json["tanggal_penyaluran"] != null
|
||||
? DateTime.parse(json["tanggal_penyaluran"])
|
||||
: null,
|
||||
createdAt: json["created_at"] != null
|
||||
? DateTime.parse(json["created_at"])
|
||||
: null,
|
||||
updatedAt: json["updated_at"] != null
|
||||
? DateTime.parse(json["updated_at"])
|
||||
: null,
|
||||
);
|
||||
|
||||
Map<String, dynamic> toJson() => {
|
||||
"id": id,
|
||||
"penitipan_bantuan_id": penitipanBantuanId,
|
||||
"lokasi_penyaluran_id": lokasiPenyaluranId,
|
||||
"petugas_desa_id": petugasDesaId,
|
||||
"jumlah": jumlah,
|
||||
"satuan": satuan,
|
||||
"judul": judul,
|
||||
"deskripsi": deskripsi,
|
||||
"lokasi_penyaluran_id": lokasiPenyaluranId,
|
||||
"petugas_id": petugasId,
|
||||
"status": status,
|
||||
"gambar_urls": gambarUrls == null
|
||||
? null
|
||||
: List<dynamic>.from(gambarUrls!.map((x) => x)),
|
||||
"tanggal_penyaluran": tanggalPenyaluran.toIso8601String(),
|
||||
"created_at": createdAt.toIso8601String(),
|
||||
"alasan_penolakan": alasanPenolakan,
|
||||
"tanggal_penjadwalan": tanggalPenjadwalan?.toIso8601String(),
|
||||
"tanggal_penyaluran": tanggalPenyaluran?.toIso8601String(),
|
||||
"created_at": createdAt?.toIso8601String(),
|
||||
"updated_at": updatedAt?.toIso8601String(),
|
||||
};
|
||||
}
|
||||
|
@ -1,27 +1,31 @@
|
||||
import 'dart:convert';
|
||||
|
||||
class StokBantuanModel {
|
||||
final String id;
|
||||
final String bentukBantuanId; // Referensi ke BentukBantuan
|
||||
final double jumlahMasuk;
|
||||
final double jumlahKeluar;
|
||||
final double stokSisa;
|
||||
final String? id;
|
||||
final String? nama;
|
||||
final String? bentukBantuanId;
|
||||
final String? sumberBantuanId;
|
||||
final double? jumlah;
|
||||
final String? satuan;
|
||||
final String? catatan;
|
||||
final DateTime tanggalUpdate;
|
||||
final DateTime createdAt;
|
||||
final String? deskripsi;
|
||||
final String? status;
|
||||
final DateTime? tanggalMasuk;
|
||||
final DateTime? tanggalKadaluarsa;
|
||||
final DateTime? createdAt;
|
||||
final DateTime? updatedAt;
|
||||
|
||||
StokBantuanModel({
|
||||
required this.id,
|
||||
required this.bentukBantuanId,
|
||||
required this.jumlahMasuk,
|
||||
required this.jumlahKeluar,
|
||||
required this.stokSisa,
|
||||
this.id,
|
||||
this.nama,
|
||||
this.bentukBantuanId,
|
||||
this.sumberBantuanId,
|
||||
this.jumlah,
|
||||
this.satuan,
|
||||
this.catatan,
|
||||
required this.tanggalUpdate,
|
||||
required this.createdAt,
|
||||
this.deskripsi,
|
||||
this.status,
|
||||
this.tanggalMasuk,
|
||||
this.tanggalKadaluarsa,
|
||||
this.createdAt,
|
||||
this.updatedAt,
|
||||
});
|
||||
|
||||
@ -33,29 +37,39 @@ class StokBantuanModel {
|
||||
factory StokBantuanModel.fromJson(Map<String, dynamic> json) =>
|
||||
StokBantuanModel(
|
||||
id: json["id"],
|
||||
nama: json["nama"],
|
||||
bentukBantuanId: json["bentuk_bantuan_id"],
|
||||
jumlahMasuk: json["jumlah_masuk"].toDouble(),
|
||||
jumlahKeluar: json["jumlah_keluar"].toDouble(),
|
||||
stokSisa: json["stok_sisa"].toDouble(),
|
||||
sumberBantuanId: json["sumber_bantuan_id"],
|
||||
jumlah: json["jumlah"] != null ? json["jumlah"].toDouble() : 0.0,
|
||||
satuan: json["satuan"],
|
||||
catatan: json["catatan"],
|
||||
tanggalUpdate: DateTime.parse(json["tanggal_update"]),
|
||||
createdAt: DateTime.parse(json["created_at"]),
|
||||
updatedAt: json["updated_at"] == null
|
||||
? null
|
||||
: DateTime.parse(json["updated_at"]),
|
||||
deskripsi: json["deskripsi"],
|
||||
status: json["status"],
|
||||
tanggalMasuk: json["tanggal_masuk"] != null
|
||||
? DateTime.parse(json["tanggal_masuk"])
|
||||
: null,
|
||||
tanggalKadaluarsa: json["tanggal_kadaluarsa"] != null
|
||||
? DateTime.parse(json["tanggal_kadaluarsa"])
|
||||
: null,
|
||||
createdAt: json["created_at"] != null
|
||||
? DateTime.parse(json["created_at"])
|
||||
: null,
|
||||
updatedAt: json["updated_at"] != null
|
||||
? DateTime.parse(json["updated_at"])
|
||||
: null,
|
||||
);
|
||||
|
||||
Map<String, dynamic> toJson() => {
|
||||
"id": id,
|
||||
"nama": nama,
|
||||
"bentuk_bantuan_id": bentukBantuanId,
|
||||
"jumlah_masuk": jumlahMasuk,
|
||||
"jumlah_keluar": jumlahKeluar,
|
||||
"stok_sisa": stokSisa,
|
||||
"sumber_bantuan_id": sumberBantuanId,
|
||||
"jumlah": jumlah,
|
||||
"satuan": satuan,
|
||||
"catatan": catatan,
|
||||
"tanggal_update": tanggalUpdate.toIso8601String(),
|
||||
"created_at": createdAt.toIso8601String(),
|
||||
"deskripsi": deskripsi,
|
||||
"status": status,
|
||||
"tanggal_masuk": tanggalMasuk?.toIso8601String(),
|
||||
"tanggal_kadaluarsa": tanggalKadaluarsa?.toIso8601String(),
|
||||
"created_at": createdAt?.toIso8601String(),
|
||||
"updated_at": updatedAt?.toIso8601String(),
|
||||
};
|
||||
}
|
||||
|
@ -1,27 +1,25 @@
|
||||
import 'dart:convert';
|
||||
|
||||
class TindakanPengaduanModel {
|
||||
final String id;
|
||||
final String pengaduanId; // Referensi ke Pengaduan
|
||||
final String? userId; // Pengguna yang melakukan tindakan
|
||||
final String tindakan; // Deskripsi tindakan yang dilakukan
|
||||
final String status; // Contoh: 'diproses', 'selesai'
|
||||
final String? id;
|
||||
final String? pengaduanId;
|
||||
final String? tindakan;
|
||||
final String? catatan;
|
||||
final List<String>? gambarUrls; // URL gambar bukti tindakan
|
||||
final DateTime tanggalTindakan;
|
||||
final DateTime createdAt;
|
||||
final String? status;
|
||||
final String? petugasId;
|
||||
final DateTime? tanggalTindakan;
|
||||
final DateTime? createdAt;
|
||||
final DateTime? updatedAt;
|
||||
|
||||
TindakanPengaduanModel({
|
||||
required this.id,
|
||||
required this.pengaduanId,
|
||||
this.userId,
|
||||
required this.tindakan,
|
||||
required this.status,
|
||||
this.id,
|
||||
this.pengaduanId,
|
||||
this.tindakan,
|
||||
this.catatan,
|
||||
this.gambarUrls,
|
||||
required this.tanggalTindakan,
|
||||
required this.createdAt,
|
||||
this.status,
|
||||
this.petugasId,
|
||||
this.tanggalTindakan,
|
||||
this.createdAt,
|
||||
this.updatedAt,
|
||||
});
|
||||
|
||||
@ -34,32 +32,30 @@ class TindakanPengaduanModel {
|
||||
TindakanPengaduanModel(
|
||||
id: json["id"],
|
||||
pengaduanId: json["pengaduan_id"],
|
||||
userId: json["user_id"],
|
||||
tindakan: json["tindakan"],
|
||||
status: json["status"],
|
||||
catatan: json["catatan"],
|
||||
gambarUrls: json["gambar_urls"] == null
|
||||
? null
|
||||
: List<String>.from(json["gambar_urls"].map((x) => x)),
|
||||
tanggalTindakan: DateTime.parse(json["tanggal_tindakan"]),
|
||||
createdAt: DateTime.parse(json["created_at"]),
|
||||
updatedAt: json["updated_at"] == null
|
||||
? null
|
||||
: DateTime.parse(json["updated_at"]),
|
||||
status: json["status"],
|
||||
petugasId: json["petugas_id"],
|
||||
tanggalTindakan: json["tanggal_tindakan"] != null
|
||||
? DateTime.parse(json["tanggal_tindakan"])
|
||||
: null,
|
||||
createdAt: json["created_at"] != null
|
||||
? DateTime.parse(json["created_at"])
|
||||
: null,
|
||||
updatedAt: json["updated_at"] != null
|
||||
? DateTime.parse(json["updated_at"])
|
||||
: null,
|
||||
);
|
||||
|
||||
Map<String, dynamic> toJson() => {
|
||||
"id": id,
|
||||
"pengaduan_id": pengaduanId,
|
||||
"user_id": userId,
|
||||
"tindakan": tindakan,
|
||||
"status": status,
|
||||
"catatan": catatan,
|
||||
"gambar_urls": gambarUrls == null
|
||||
? null
|
||||
: List<dynamic>.from(gambarUrls!.map((x) => x)),
|
||||
"tanggal_tindakan": tanggalTindakan.toIso8601String(),
|
||||
"created_at": createdAt.toIso8601String(),
|
||||
"status": status,
|
||||
"petugas_id": petugasId,
|
||||
"tanggal_tindakan": tanggalTindakan?.toIso8601String(),
|
||||
"created_at": createdAt?.toIso8601String(),
|
||||
"updated_at": updatedAt?.toIso8601String(),
|
||||
};
|
||||
}
|
||||
|
@ -1,3 +1,5 @@
|
||||
import 'package:penyaluran_app/app/data/models/desa_model.dart';
|
||||
|
||||
class UserModel {
|
||||
final String id;
|
||||
final String email;
|
||||
@ -5,6 +7,8 @@ class UserModel {
|
||||
final String? avatar;
|
||||
final String role;
|
||||
final bool isActive;
|
||||
final DesaModel? desa;
|
||||
final String? desaId;
|
||||
final DateTime? lastLogin;
|
||||
final DateTime? createdAt;
|
||||
final DateTime? updatedAt;
|
||||
@ -16,27 +20,41 @@ class UserModel {
|
||||
this.avatar,
|
||||
required this.role,
|
||||
this.isActive = true,
|
||||
this.desa,
|
||||
this.desaId,
|
||||
this.lastLogin,
|
||||
this.createdAt,
|
||||
this.updatedAt,
|
||||
});
|
||||
|
||||
factory UserModel.fromJson(Map<String, dynamic> json) {
|
||||
if (json['id'] == null || json['email'] == null) {
|
||||
throw Exception('UserModel: id dan email tidak boleh null');
|
||||
}
|
||||
|
||||
// Parse desa jika ada
|
||||
DesaModel? desaModel;
|
||||
if (json['desa'] != null && json['desa'] is Map<String, dynamic>) {
|
||||
desaModel = DesaModel.fromJson(json['desa'] as Map<String, dynamic>);
|
||||
}
|
||||
|
||||
return UserModel(
|
||||
id: json['id'],
|
||||
email: json['email'],
|
||||
name: json['name'],
|
||||
avatar: json['avatar'],
|
||||
desa: desaModel,
|
||||
desaId: json['desa_id'],
|
||||
role: json['role'] ?? 'WARGA',
|
||||
isActive: json['is_active'] ?? true,
|
||||
lastLogin: json['last_login'] != null
|
||||
? DateTime.parse(json['last_login'])
|
||||
: null,
|
||||
createdAt: json['CREATED_AT'] != null
|
||||
? DateTime.parse(json['CREATED_AT'])
|
||||
createdAt: json['created_at'] != null
|
||||
? DateTime.parse(json['created_at'])
|
||||
: null,
|
||||
updatedAt: json['UPDATED_AT'] != null
|
||||
? DateTime.parse(json['UPDATED_AT'])
|
||||
updatedAt: json['updated_at'] != null
|
||||
? DateTime.parse(json['updated_at'])
|
||||
: null,
|
||||
);
|
||||
}
|
||||
@ -47,11 +65,13 @@ class UserModel {
|
||||
'email': email,
|
||||
'name': name,
|
||||
'avatar': avatar,
|
||||
'desa_id': desaId,
|
||||
'desa': desa?.toJson(),
|
||||
'role': role,
|
||||
'is_active': isActive,
|
||||
'last_login': lastLogin?.toIso8601String(),
|
||||
'CREATED_AT': createdAt?.toIso8601String(),
|
||||
'UPDATED_AT': updatedAt?.toIso8601String(),
|
||||
'created_at': createdAt?.toIso8601String(),
|
||||
'updated_at': updatedAt?.toIso8601String(),
|
||||
};
|
||||
}
|
||||
|
||||
@ -60,6 +80,8 @@ class UserModel {
|
||||
String? email,
|
||||
String? name,
|
||||
String? avatar,
|
||||
DesaModel? desa,
|
||||
String? desaId,
|
||||
String? role,
|
||||
bool? isActive,
|
||||
DateTime? lastLogin,
|
||||
@ -71,6 +93,8 @@ class UserModel {
|
||||
email: email ?? this.email,
|
||||
name: name ?? this.name,
|
||||
avatar: avatar ?? this.avatar,
|
||||
desa: desa ?? this.desa,
|
||||
desaId: desaId ?? this.desaId,
|
||||
role: role ?? this.role,
|
||||
isActive: isActive ?? this.isActive,
|
||||
lastLogin: lastLogin ?? this.lastLogin,
|
||||
@ -79,3 +103,43 @@ class UserModel {
|
||||
);
|
||||
}
|
||||
}
|
||||
|
||||
class User {
|
||||
final String? id;
|
||||
final String? name;
|
||||
final String? email;
|
||||
final String? phone;
|
||||
final String? role;
|
||||
final String? token;
|
||||
|
||||
User({
|
||||
this.id,
|
||||
this.name,
|
||||
this.email,
|
||||
this.phone,
|
||||
this.role,
|
||||
this.token,
|
||||
});
|
||||
|
||||
factory User.fromJson(Map<String, dynamic> json) {
|
||||
return User(
|
||||
id: json['id'],
|
||||
name: json['name'],
|
||||
email: json['email'],
|
||||
phone: json['phone'],
|
||||
role: json['role'],
|
||||
token: json['token'],
|
||||
);
|
||||
}
|
||||
|
||||
Map<String, dynamic> toJson() {
|
||||
return {
|
||||
'id': id,
|
||||
'name': name,
|
||||
'email': email,
|
||||
'phone': phone,
|
||||
'role': role,
|
||||
'token': token,
|
||||
};
|
||||
}
|
||||
}
|
||||
|
@ -2,35 +2,39 @@ import 'dart:convert';
|
||||
|
||||
// warga == penerima bantuan
|
||||
class WargaModel {
|
||||
final String id;
|
||||
final String nama;
|
||||
final String? id;
|
||||
final String? nama;
|
||||
final String? nik;
|
||||
final String? alamat;
|
||||
final String? desa;
|
||||
final String? kecamatan;
|
||||
final String? kabupaten;
|
||||
final String? provinsi;
|
||||
final String? noTelp;
|
||||
final String? telepon;
|
||||
final String? email;
|
||||
final String? catatan;
|
||||
final String? kategori; // Contoh: 'lansia', 'disabilitas', 'miskin', dll
|
||||
final String? status; // Contoh: 'aktif', 'nonaktif'
|
||||
final String? status; // Contoh: 'AKTIF', 'NONAKTIF'
|
||||
final String? lokasiPenyaluranId; // Referensi ke LokasiPenyaluran
|
||||
final DateTime createdAt;
|
||||
final DateTime? createdAt;
|
||||
final DateTime? updatedAt;
|
||||
|
||||
WargaModel({
|
||||
required this.id,
|
||||
required this.nama,
|
||||
this.id,
|
||||
this.nama,
|
||||
this.nik,
|
||||
this.alamat,
|
||||
this.desa,
|
||||
this.kecamatan,
|
||||
this.kabupaten,
|
||||
this.provinsi,
|
||||
this.noTelp,
|
||||
this.telepon,
|
||||
this.email,
|
||||
this.catatan,
|
||||
this.kategori,
|
||||
this.status,
|
||||
this.lokasiPenyaluranId,
|
||||
required this.createdAt,
|
||||
this.createdAt,
|
||||
this.updatedAt,
|
||||
});
|
||||
|
||||
@ -48,14 +52,18 @@ class WargaModel {
|
||||
kecamatan: json["kecamatan"],
|
||||
kabupaten: json["kabupaten"],
|
||||
provinsi: json["provinsi"],
|
||||
noTelp: json["no_telp"],
|
||||
telepon: json["telepon"] ?? json["no_telp"],
|
||||
email: json["email"],
|
||||
catatan: json["catatan"],
|
||||
kategori: json["kategori"],
|
||||
status: json["status"],
|
||||
lokasiPenyaluranId: json["lokasi_penyaluran_id"],
|
||||
createdAt: DateTime.parse(json["created_at"]),
|
||||
updatedAt: json["updated_at"] == null
|
||||
? null
|
||||
: DateTime.parse(json["updated_at"]),
|
||||
createdAt: json["created_at"] != null
|
||||
? DateTime.parse(json["created_at"])
|
||||
: null,
|
||||
updatedAt: json["updated_at"] != null
|
||||
? DateTime.parse(json["updated_at"])
|
||||
: null,
|
||||
);
|
||||
|
||||
Map<String, dynamic> toJson() => {
|
||||
@ -67,11 +75,13 @@ class WargaModel {
|
||||
"kecamatan": kecamatan,
|
||||
"kabupaten": kabupaten,
|
||||
"provinsi": provinsi,
|
||||
"no_telp": noTelp,
|
||||
"telepon": telepon,
|
||||
"email": email,
|
||||
"catatan": catatan,
|
||||
"kategori": kategori,
|
||||
"status": status,
|
||||
"lokasi_penyaluran_id": lokasiPenyaluranId,
|
||||
"created_at": createdAt.toIso8601String(),
|
||||
"created_at": createdAt?.toIso8601String(),
|
||||
"updated_at": updatedAt?.toIso8601String(),
|
||||
};
|
||||
}
|
||||
|
Reference in New Issue
Block a user