Perbarui model dan tampilan untuk mendukung penyaluran baru

- Hapus properti tanggalPenjadwalan dari model PenyaluranBantuanModel
- Ganti referensi tanggalPenjadwalan dengan createdAt di tampilan PermintaanPenjadwalanWidget dan PermintaanPenjadwalanView
- Tambahkan fungsi baru untuk menambahkan penyaluran di JadwalPenyaluranController
- Tambahkan rute dan tampilan untuk menambah penyaluran di aplikasi
- Perbarui SupabaseService untuk menyimpan data penyaluran baru ke database
This commit is contained in:
Khafidh Fuadi
2025-03-14 21:29:32 +07:00
parent 7c94b85434
commit ecc1ccac59
11 changed files with 592 additions and 34 deletions

View File

@ -0,0 +1,60 @@
import 'dart:convert';
enum StatusKelayakan { pending, disetujui, ditolak }
class PengajuanKelayakanBantuanModel {
final String? id;
final String? buktiKelayakan;
final String? alasanVerifikasi;
final DateTime? createdAt;
final DateTime? updatedAt;
final String? skemaBantuanId;
final String? wargaId;
final StatusKelayakan? status;
PengajuanKelayakanBantuanModel({
this.id,
this.buktiKelayakan,
this.alasanVerifikasi,
this.createdAt,
this.updatedAt,
this.skemaBantuanId,
this.wargaId,
this.status,
});
factory PengajuanKelayakanBantuanModel.fromRawJson(String str) =>
PengajuanKelayakanBantuanModel.fromJson(json.decode(str));
String toRawJson() => json.encode(toJson());
factory PengajuanKelayakanBantuanModel.fromJson(Map<String, dynamic> json) =>
PengajuanKelayakanBantuanModel(
id: json["id"],
buktiKelayakan: json["bukti_kelayakan"],
alasanVerifikasi: json["alasan_verifikasi"],
createdAt: json["created_at"] != null
? DateTime.parse(json["created_at"])
: null,
updatedAt: json["updated_at"] != null
? DateTime.parse(json["updated_at"])
: null,
skemaBantuanId: json["skema_bantuan_id"],
wargaId: json["warga_id"],
status: json["status"] != null
? StatusKelayakan.values.firstWhere(
(e) => e.toString() == 'StatusKelayakan.${json["status"]}')
: null,
);
Map<String, dynamic> toJson() => {
"id": id,
"bukti_kelayakan": buktiKelayakan,
"alasan_verifikasi": alasanVerifikasi,
"created_at": createdAt?.toIso8601String(),
"updated_at": updatedAt?.toIso8601String(),
"skema_bantuan_id": skemaBantuanId,
"warga_id": wargaId,
"status": status?.toString().split('.').last,
};
}