RAJAWALI COMPUTER · PANDUAN SIDANG

Pahami kode.
Tunjukkan buktinya.
Latih perubahan manual.

Backend Laravel, frontend React, keamanan, Clark–Wilson, database dan contoh ngoding. Penjelasan pendek per fungsi. Kode asli tersedia dalam satu file.

459 berkas teks578 metode PHP aplikasi248 fungsi JS atau TS aplikasi16 latihan perubahan

Snapshot kode dipertahankan. Catatan versi 28, koreksi chat terbaru dan katalog command diperbarui pada 20 Oktober 2026.

Pencarian menyaring indeks berkas. Untuk kalimat pada bab, gunakan pencarian browser. Tombol cetak mengabaikan kode asli agar hasil tetap ringkas.

01 · Cara memakai panduan

Panduan ini membahas kode Rajawali Computer yang tersedia untuk diperiksa. Tiap berkas memiliki fungsi, lokasi perubahan, daftar fungsi atau metode, petunjuk pembacaan, dan tombol kode asli dengan nomor baris.

  • Untuk menjawab penguji, cari nama fitur, klik berkasnya, lalu klik fungsi yang diminta.
  • Untuk ngoding manual, buka bagian Latihan perubahan. Contoh latihan diberi label belum dipasang.
  • Semua path proyek dihitung dari root proyek. Pada VPS root yang kamu sebut adalah /home/rajawalicompgresik/rajawalicompgresik.
  • Kode aplikasi dan ZIP tidak diubah dalam pekerjaan penulisan ini. Panduan merupakan satu file baru khusus belajar kode.
  • Nomor baris mengikuti snapshot sumber dalam panduan. Setelah kode diedit, gunakan nama fungsi sebagai penanda utama.
Dasar pembacaanKeterangan
Sumber utamaRajawali_SOURCE_DIPERIKSA.zip, unggahan 17 Oktober 2026.
Overlay revisiRajawali_PATCH_REVISI_FITUR_SAJA_17Okt2026_KOREKSI.zip versi 5, revisi 19 Oktober 2026.
PendukungBerkas deployment, aset teks, factory, dan sebagian tes dari salinan sebelumnya. Ditandai per berkas.
Jangkauan459 berkas teks kode atau konfigurasi, 578 metode PHP aplikasi, dan 248 fungsi bernama JS atau TS aplikasi.
Bukan bukti deploymentPenerapan ZIP versi 5 ke VPS belum dikonfirmasi dari keluaran pengguna yang tersedia.
Batas materiImplementasi vendor dan node_modules tidak disertakan sumber. Peran dependensi dijelaskan dari manifest, bukan dengan mengklaim membaca seluruh kode vendor.
Status pengujianPembacaan dan pemeriksaan panduan tidak menjalankan ulang Laravel, PostgreSQL, browser aplikasi, Burp, atau UAT manusia.

02 · Arsitektur dan alur request

LapisanTugasBerkas penunjuk
BrowserMenampilkan form dan mengirim requestresources/js/*.tsx
Halaman awalMengirim shell HTML dan entry aset
Entry ReactMemilih katalog, login atau aktivasi
RouteMemilih URL, HTTP method, controller dan middleware
MiddlewareMemeriksa session, role, tenant, body dan header
Request atau DTOMemeriksa bentuk serta isi input
ControllerMenghubungkan HTTP dengan layananapp/Http/Controllers
TP atau workflowMenjalankan perubahan bisnis yang dibatasi
IVPMemeriksa invariant sebelum hasil diterima
DatabaseMenyimpan, mengunci, dan membatasi perubahan stok
Audit dan realtimeMerekam perubahan lalu meminta UI memperbarui data

Alur konkret tombol Simpan penjualan

UrutanApa yang terjadiPenunjuk kode
1Form kasir menyusun item dan uang bayar.
2Axios membawa cookie dan header XSRF.
3POST /api/penjualan melewati session, akun, role dan tenant.
4SaleRequest memeriksa izin dan rules dari SaleData.
5Controller mengubah input menjadi objek SaleData.
6TP memeriksa aktor dan tenant terbaru. Harga dibaca dari master.
7Header serta item ditulis dan fungsi PostgreSQL mengurangi stok.
8IVP memeriksa total, pembayaran, garansi dan persamaan stok.
9Audit CDI dicatat sebelum transaksi tenant commit.
10JSON hasil diterima UI. Event perubahan mengawali refresh data.

Tiga database bisnis

KoneksiIsi utamaCatatan penting
mastercabang, pengguna, supplier, produk, mutasi, session, coordinator, pengaturan pembayaran dan metadata provisioning.Data referensi bersama tidak berarti semua tabel bisnis dicampur.
tenant_samanhudipelanggan, stok, pembelian, penjualan, servis, garansi, retur, nota dan audit cabang Samanhudi.Identitas tenant ditentukan server.
tenant_pegandenJenis tabel tenant yang sama untuk cabang Peganden.ID transaksi yang sama antar database belum tentu transaksi yang sama.

Nested DB::transaction pada koneksi berbeda tidak otomatis menjadi transaksi terdistribusi. Coordinator 2PC eksplisit hanya dipakai operasi mutasi yang didaftarkan di .

Cara membaca schema dan relasi database

DefinisiArti dan batas
primary atau incrementsIdentitas unik record. increments juga menyediakan nomor bertambah. Detail item tertentu memakai primary key gabungan.
foreign, references, onDatabase memeriksa hubungan ke tabel pada database yang sama. Tidak membuat foreign key PostgreSQL langsung ke database master lain.
uniqueMencegah duplikasi nilai atau pasangan kolom sesuai indeks. Pemeriksaan aplikasi saja dapat kalah oleh request bersamaan.
nullable dan defaultNullable mengizinkan null. Default dipakai ketika kolom tidak diisi, bukan ketika nilai salah secara eksplisit dikirim.
integer dan bigIntegerBilangan bulat dengan rentang berbeda. Harga atau total harus mengikuti kapasitas tipe dan validasi input.
timestampTzWaktu dengan informasi zona. Tampilan lokal dan penyaringan tanggal harus memakai aturan zona yang konsisten.
CHECKInvariant SQL, misalnya stok tidak negatif atau status dalam himpunan yang dikenal.
restrictOnDeleteMelarang penghapusan record induk yang masih dirujuk sesuai constraint.
belongsTo dan hasManyRelasi pembacaan Eloquent. Relasi model bukan pengganti seluruh constraint atau verifikasi referensi lintas database.
Referensi tenant ke produk masterKode mengambil serta memeriksa produk pada master. Shared lock mempertahankan referensi selama transaksi terkait berjalan.

03 · Cara membaca sintaks yang dipakai

Bentuk kodeArti praktis
namespace App\Services\TransactionsAlamat logis kelas PHP. Harus sesuai pemetaan App pada composer.json.
use App\Services\Security\BusinessAccessMengimpor nama kelas. Ini berbeda dari trait use di dalam kelas.
class … extends ControllerMewarisi perilaku kelas induk. Nama file dan kelas sebaiknya sesuai autoload.
final readonly class SaleDataObjek input tidak diturunkan lagi dan properti tidak dapat diganti setelah diisi. Isinya tetap perlu divalidasi.
public function / private functionPublic dapat dipanggil pemakai kelas. Private hanya dipakai dalam kelas itu sendiri.
__construct(private BusinessAccess $access)Constructor property promotion. Container Laravel memasok dependensi bertipe tersebut.
$actor / $this->access / self::rules()Variabel lokal, properti objek saat ini, dan pemanggilan anggota static kelas sendiri.
?int / int|string / : arrayNullable integer, union type, dan tipe hasil fungsi. Type hint bukan pemeriksaan izin pengguna.
$user?->isOwner() ?? falsePanggil metode jika objek tidak null. Pakai false jika hasil null.
=== / !==Perbandingan nilai sekaligus tipe. Berguna agar angka dan teks tidak tertukar diam-diam.
$input + ['id_cabang' => $branch]Union array PHP mempertahankan key di sebelah kiri. Pemetaan field wajib ditinjau agar input tidak menimpa field otoritas.
...$items / ...$rolesMenyebarkan isi array atau menerima daftar argumen variadic menurut konteksnya.
fn ($row) => …Arrow function untuk pemetaan singkat. Closure function use membawa variabel ke callback transaksi.
DB::connection($name)->transaction(fn () => …)Membuka batas commit atau rollback pada koneksi itu. Exception harus keluar dari callback untuk membatalkan.
transaction($callback, 3)Mengizinkan percobaan ulang pada konflik concurrency yang dikenali framework. Bukan izin mengulang semua side effect sembarangan.
sharedLock() / lockForUpdate()Menahan referensi saat dibaca atau mengunci baris yang akan diputuskan atau diubah.
where('id_produk', $id)Query builder mengikat nilai sebagai parameter. Nama kolom dinamis tetap perlu allowlist.
selectRaw('… ?', [$limit])SQL tambahan tetap memakai binding nilai. Jangan menggabungkan input pengguna menjadi sintaks SQL.
abort_unless($condition, 403)Hentikan request bila syarat tidak terpenuhi. abort_if menghentikan bila kondisi justru benar.
throw new IntegrityViolation(…)Melempar kegagalan invariant ke pemanggil. Dalam callback transaksi yang sesuai, exception memicu rollback.
$request->validated()Hanya data yang lolos aturan Request. Data tetap diperiksa lagi pada batas DTO atau TP bila implementasinya menyediakan itu.
items.*.jumlah / array:id_produk,jumlahAturan setiap jumlah dalam array dan pembatasan key setiap item. Mencegah harga atau status tambahan dari browser.
$guarded = ['*']Mass assignment model ditutup. Kode tepercaya dapat mengisi atribut eksplisit, sehingga TP tetap menjadi batas bisnis.
casts() => ['jumlah' => 'integer']Konversi representasi atribut saat model dibaca. Ini bukan pengganti CHECK database.
export default function InventoryPanel(…)Komponen React yang diekspor sebagai komponen utama berkas. Nama menu tetap dipetakan di InternalPanels.
type Props / interface / <Summary>TypeScript memeriksa kontrak saat pengembangan. Payload browser tetap harus divalidasi backend.
useState / setStateNilai tampilan dan fungsi perubahan state. Mengubah state tidak otomatis menyimpan ke database.
useEffect(() => …, [revision])Menjalankan sinkronisasi ketika dependensi berubah. Return callback dipakai membersihkan listener, timer atau request.
useMemo / useRefMemo menyimpan hasil hitungan menurut dependensi. Ref menyimpan nilai atau elemen tanpa menjadwalkan render.
onSubmit / event.preventDefault()Menangani submit melalui React dan mencegah navigasi form bawaan browser.
async / await / try / finallyMenunggu operasi, menangani kegagalan, dan memulihkan state loading atau busy pada semua jalur.
{rows.map(row => <… key={…}/>)}Menggambar daftar. Key harus stabil dan membedakan cabang serta produk pada keranjang.
value={query} onChange={…}Controlled input. Teks di layar mengikuti state komponen.
response.data.datadata pertama milik respons Axios. data berikutnya adalah struktur JSON aplikasi.
history.state / pushState / popstateState navigasi browser dan event Back atau Forward. Ini tidak menjadi bukti otorisasi.
sessionStoragePenyimpanan browser per tab untuk keranjang. Tidak boleh dipercaya sebagai harga, pembayaran atau tenant otoritatif.
textContent / JSX {value}Isi ditampilkan sebagai teks pada jalur ini. Jangan menggantinya dengan HTML mentah dari input.

04 · Peta fitur ke kode

Bab ini mengacu snapshot kode panduan sebelumnya. Pembaruan peran Admin, satu pengiriman dan audit 20 Oktober dijelaskan pada Bab 14. Source paket revisi bukan bukti bahwa paket sudah terpasang pada VPS.

FiturFrontendControllerValidasiLayanan utamaData
Login pegawaipengguna, sessions
CAPTCHA dan kode emailsession auth_challenge
Profil dan passwordpengguna, sessions, audit_hak_pengguna
Pegawai dan undanganpengguna, employee_invitations
Produk, supplier, cabangproduk, supplier, cabang
Pelangganpelanggan, audit_log
Persediaan dan karantinaValidasi pada controller atau DTOproduk_cabang
Pembelianpembelian, detail_pembelian, produk_cabang
Kasir dan riwayat tokopenjualan, detail_penjualan, produk_cabang
Harga khususpenjualan, detail_penjualan, audit_log
Retur jualretur_penjualan, detail_retur_penjualan, produk_cabang
Retur beliretur_pembelian, detail_retur_pembelian, produk_cabang
Katalog dan checkoutpelanggan, penjualan, detail_penjualan, pengiriman
Pesanan internalpenjualan, pengiriman, produk_cabang
Transfer stokValidasi pada controller atau DTOmutasi_stok master dan stok kedua tenant
Servisservis, log_servis, sparepart_servis
Garansiklaim_garansi, audit_log
Nota instansinota_instansi, histori_nota_instansi
Pembayaran ownerpayment_settings, payment_settings_audit
Laporan dan auditValidasi pada controller atau DTOquery master atau tenant sesuai jenis
Tugas dan dashboardValidasi pada controller atau DTOdata operasional, tanpa tabel notifikasi khusus pada alur ini

Klik nama berkas untuk membuka penjelasan dan kode asli. Satu controller dapat memiliki beberapa endpoint. Daftar metode lengkap berada pada kartu berkasnya.

05 · Implementasi keamanan yang perlu kamu tunjukkan

Batas izin efektif merupakan gabungan middleware, Request, BusinessAccess, registry TP, tenant, dan syarat pelaku dalam workflow. Menyembunyikan tombol tidak cukup untuk melarang request langsung.

KemampuanOwnerAdminKasirTeknisi
Kasir dan online order internalYa, tetap tunduk SoDYa, mewarisi kasirYaTidak
Pembelian, supplier, produk, nota, transferYaYaTidak, kecuali pembacaan produk yang diizinkanTidak, kecuali pembacaan produk yang diizinkan
Tahap teknis servis atau klaimYa dengan syarat pelaku dan penugasanTidak dari pewarisan admin sajaTidakYa dengan syarat tahap dan penugasan
Pegawai, pembayaran, laporan, auditYaTidakTidakTidak
Mengubah registry sertifikasi dari UITidak tersediaTidak tersediaTidak tersediaTidak tersedia

Aturan pewarisan dibaca dari . Role owner tidak otomatis menghapus larangan pengaju sama dengan pemutus. Larangan itu diperiksa berdasarkan ID akun pada TP yang bersangkutan.

Peta bukti keamanan

KontrolImplementasi yang ditunjukkanCara membuktikan
Session dan CSRF Request perubahan tanpa session atau token CSRF sah ditolak. Bedakan cookie session HttpOnly dari cookie XSRF yang memang dibaca klien.
Session lama Ubah penempatan atau status akun dalam data latihan lalu coba session lama.
Isolasi cabang Coba membaca atau mengubah transaksi cabang lain dengan akun pegawai cabang pertama.
Harga server Kirim tambahan harga, status atau id_pengguna melalui alat request. Backend harus menolak atau tidak memakainya sesuai batas input.
Kunci stok Dua transaksi bersamaan pada stok terakhir tidak boleh menghasilkan stok negatif.
Bukti privat File tidak dapat diakses sebagai path publik mentah dan akses cabang berbeda ditolak.
CSP dan header Lihat header domain publik. Proxy dapat mengganti header yang dibuat PHP.
Error amanRespons gagal tidak memuat SQL, credential atau stack trace produksi.
Audit Transaksi berhasil memiliki audit sesuai entity dan jalur modifikasi audit ditolak.
Tautan sementara Parameter signature atau token diubah, waktu habis, atau keputusan diulang harus ditolak.

06 · Clark–Wilson dalam kode dan pembuktiannya

IstilahArti singkatContoh sistem ini
UDIMasukan yang belum dipercaya.Input form atau JSON dan bukti pembayaran yang belum diverifikasi.
CDIData yang harus mempertahankan aturan integritas.Stok, transaksi, keputusan dan audit dalam batas kebijakan.
TPProsedur perubahan yang diizinkan.CreateRetailSale dan fungsi rajawali_stock_issue.
IVPPemeriksa keadaan data terhadap invariant.SaleIntegrity dan GlobalIntegrityVerifier.
AturanMakna singkatLokasi implementasiBukti dan batas klaim
C1IVP memastikan CDI valid saat diperiksa.Tes GlobalIntegrityVerificationTest dan verifier domain.
C2TP mempertahankan keadaan CDI yang sah.IVP dipanggil dalam transaksi sebelum commit. Registry memberi relasi, bukan sertifikat pihak independen.
C3Relasi pelaksana memenuhi pemisahan tugas.Pengaju dan pemutus berbeda. ServiceAccess serta histori klaim memeriksa pemisahan lain.
C4TP menambah log untuk merekonstruksi operasi.Audit CDI memakai snapshot dan transaksi yang sama. Perilaku audit kejadian keamanan berbeda.
C5UDI diterima menjadi perubahan sah atau ditolak.Rules, normalisasi, harga server, pembatasan field dan IVP.
E1CDI berubah melalui TP yang berwenang.Batas database eksplisit ada pada produk_cabang kedua tenant awal. Jangan perluas klaim menjadi seluruh tabel.
E2Pelaksana hanya menjalankan relasi TP dan CDI yang sah.Registry, RoleAccess, akun terbaru, dan tenant diperiksa bersama.
E3Identitas pelaksana TP harus diautentikasi.Session SPA dan identitas akun terbaru memeriksa pelaksana internal. Input publik memiliki batas UDI tersendiri.
E4Pengubah relasi sertifikasi terpisah dari eksekutor.deployment_certifier di luar role runtime. Kontrol perubahan source atau deployment masih memerlukan bukti proses operasional.

Definisi C1 sampai C5 dan E1 sampai E4 diringkas dari Clark dan Wilson, 1987, bagian formal model, halaman tercetak 189 sampai 191. Pemetaan ke berkas merupakan hasil pembacaan kode proyek ini.

Contoh pembuktian aritmetika stok

SkenarioSebelumInputHasil sah
Pembelian baik dan rusakTersedia 10, karantina 2Diterima 5, rusak 1Tersedia 14, karantina 3.
PenjualanTersedia 10Terjual 3Tersedia 7. Karantina tidak berubah.
Retur rusak dengan tukarTersedia 10, karantina 2Retur 1 rusak dan pengganti 1Tersedia 9, karantina 3.
Retur pembelianKarantina 3Dikembalikan 2Karantina 1.
Transfer disetujuiAsal 10, tujuan 4Dipindah 3Asal 7, tujuan 7. Total dua cabang tetap 14.

Mengapa fungsi SQL awal INVOKER lalu menjadi DEFINER

  • Migration menyediakan kelima fungsi dan algoritma stok dengan SECURITY INVOKER.
  • Installer E1 memindahkan ownership ke guardian NOLOGIN, mengganti fungsi menjadi SECURITY DEFINER, menetapkan STRICT dan search_path, lalu memberi EXECUTE kepada runtime.
  • DML langsung runtime dicabut. Hak UPDATE hanya pada updated_at diperlukan untuk row lock PostgreSQL, tetapi trigger ALWAYS tetap menolak perubahan langsung.
  • Superuser atau administrator yang dapat mengganti ownership berada di luar batas akun runtime. Bukti E1 harus memakai identitas role yang benar.

Buka untuk daftar objek dan privilege yang diverifikasi. Nama registry certified dan status preflight tidak sama dengan pembuktian formal semua properti sistem.

07 · Pemetaan OWASP yang sesuai edisinya

Penomoran berikut memakai OWASP Top 10 edisi 2025, sesuai berkas . Penomoran 2021 berbeda. Jangan menggabungkan nama kategori dua edisi.

Kategori 2025Kontrol kodeBerkas pengujian yang tersediaApa yang belum otomatis terbukti
A01 Broken Access ControlRequireRole, EnsureTenantAccess, ServiceAccessClarkWilsonBoundaryTest, FinalRoleSecurityTestUji akses objek dan cabang langsung melalui API.
A02 Security MisconfigurationSecurityHeaders, ProductionConfiguration, proxyCspAndCookieSecurityTest, DeploymentSecurityTestNilai efektif domain publik harus diperiksa.
A03 Software Supply Chain Failurescomposer.json, lockfile, Dockerfile, buildOwasp2025RegressionTestLockfile bukan bukti tidak ada CVE. Audit dependensi dan image terpisah.
A04 Cryptographic Failureshashing Argon2id, session encrypt, Crypt, HTTPSSessionEncryptionTest, AuthSecurityTestEnkripsi session tidak berarti seluruh database terenkripsi.
A05 InjectionBinding query, allowlist entity atau sort, render teksOwasp2025RegressionTest, PrintDocumentSecurityTestQuery raw aman hanya jika sintaks tetap dan nilai dibinding.
A06 Insecure DesignTP, IVP, SoD, status machine dan batas stokClarkWilsonControlsTest, OnlineOrderConcurrencyTestUji penyalahgunaan alur, bukan hanya validasi teks.
A07 Authentication FailuresLoginService, limiter, session baru, challenge opsionalAuthSecurityTest, OwnPasswordChangeTestCAPTCHA dan kode email belum terbukti aktif dari log VPS sebelumnya.
A08 Software or Data Integrity FailuresIVP, protected stock functions, signed link, verifikasi patchClarkWilsonFormalCertificationTest, StockTransferTestHash artefak mendeteksi perubahan terhadap hash acuan yang dipercaya, tidak menyatakan siapa pembuatnya.
A09 Security Logging and Alerting FailuresAuditLogger, OperationalAlert, loggingOperationalAlertingTest, MasterRightsAuditTestPenerima alert dan arsip log eksternal memerlukan konfigurasi serta bukti penerimaan.
A10 Mishandling of Exceptional ConditionsSafeApiErrors, transaksi, 2PC recovery, cleanup fileApiFailureBoundaryTest, DistributedTransactionTestRespons 500 aman harus disertai pemeriksaan rollback dan status pemulihan.

Nama kategori merujuk OWASP Top 10 2025 resmi. Tabel kontrol adalah pemetaan implementasi proyek. Keberadaan tes tidak berarti tes tersebut sudah dijalankan atau lulus pada VPS.

08 · Cara kerja frontend, keranjang, dan URL

Bab ini mengacu snapshot kode panduan sebelumnya. Pembaruan peran Admin, satu pengiriman dan audit 20 Oktober dijelaskan pada Bab 14. Source paket revisi bukan bukti bahwa paket sudah terpasang pada VPS.

Bagian frontendTugas dan tempat perubahan
Entryapp.tsx memilih EmployeeActivationPage, AuthApp atau OnlineStoreApp dari pathname.
Menu internalInternalPanels.menu membentuk daftar. JSX panel memilih komponen. Keduanya perlu ditambah ketika membuat menu.
State formuseState menyimpan teks, data hasil API, pilihan, modal, busy dan error. State bukan database.
Pengambilan datauseEffect dan fungsi load memanggil api. Dependensi filter atau revision memicu pembacaan ulang.
TabelRajawaliDataTable menangani rendering responsif. Pagination dan pencarian dilakukan panel serta API, bukan fitur bawaan DataTables.
RealtimesubscribeTenant mengirim pemberitahuan minimal. revision berubah agar panel memuat ulang data.
Waktu pembaruanUpdatedAt menunjukkan waktu pemuatan UI, bukan timestamp commit lintas seluruh database.
CetakprintDocument memakai elemen DOM dan textContent. Format ada pada print.css dan data cetak disusun panel.
Gayaapp.css dan className TSX. Teks pada className tidak mengubah aturan akses backend.

Keranjang beberapa cabang

  • cart["ID_CABANG:ID_PRODUK"] = jumlah membedakan produk sama pada dua cabang.
  • cartProducts menyimpan metadata produk. cartLines menghitung item dengan cabang dan subtotal.
  • cartGroups mengelompokkan item agar cabang terlihat sebelum checkout.
  • branchId adalah preferensi cabang detail produk. checkoutBranchId menentukan satu kelompok yang sedang checkout.
  • checkoutLines dan checkoutTotal hanya memakai cabang checkout. Backend tetap menerima satu id_cabang per order.
  • removePurchasedLines mengurangi jumlah yang berhasil dibuat. Isi cabang lain tetap tersimpan.
  • Perubahan cabang satu item meminta konfirmasi dan memeriksa hasil gabungan jumlah terhadap stok cabang tujuan.

Penunjuk kode dan . Nilai keranjang yang diubah melalui DevTools tetap tidak boleh menentukan harga atau status transaksi server.

URL tanpa tanda pagar

BentukMaknaImplementasi atau batas
/login#pegawaiFragment dibaca browser dan tidak dikirim dalam request HTTP.app.tsx dan clearUrlFragment menghapus fragment lama. Backend tidak dapat mengandalkan fragment untuk kontrol akses.
/loginPath halaman login.Menu internal dipulihkan lewat history.state, user dan cabang. URL menu tidak menjadi deep link mandiri yang dapat dibagikan.
/?///Query mentah yang tidak diterima aturan halaman.SecurityHeaders mengirim 302 ke /. Path tidak diubah menjadi endpoint baru.
/url-tidak-adaPath tanpa route.HTTP 404 dan halaman error Rajawali.
/?tracking=…Query yang memang dipakai fitur tracking.Dipertahankan bila bentuk URL sesuai pemeriksaan. API signed tetap memvalidasi signature.

Dasar perilaku browser merujuk MDN Fragment dan MDN History API. Pilihan penggunaan history.state adalah implementasi proyek ini.

09 · Latihan perubahan kode manual

Seluruh perubahan pada bagian ini adalah latihan yang belum dipasang ke aplikasi. Ketik pada salinan pengembangan dengan PostgreSQL latihan. Contoh berkas baru di bawah adalah instruksi latihan, bukan file tambahan yang dibuat bersama panduan ini.

L01 · Menemukan kode dari pertanyaan penguji

rg -n "function menu|id: 'pos'|panel === 'pos'" resources/js/InternalPanels.tsx
rg -n "penjualan|SalesController" routes/api.php
rg -n "actorFor|verifyCompleted|recordCdi" app/Services/Transactions/CreateRetailSale.php
rg -n "rajawali_stock_issue" app database
Dari permintaanCari awalLanjutkan
Tulisan atau tombolTeks tampil di resources/js.Periksa onClick, onSubmit dan state terkait.
Data kosong atau salahURL API yang dipanggil panel.Cocokkan JSON, cabang aktif, filter dan pagination.
Izin ditolakRoute dan middleware.Periksa Request, RoleAccess, actorFor dan syarat pelaku.
Stok atau total salahService transaksi.Ikuti TP stok, IVP, transaksi dan audit.

L02 · Mengganti nama menu tanpa memutus fungsinya

Buka . Pada item kasir, ubah label saja. ID pos tetap dipakai pemilih panel, notifikasi, dashboard dan history.

{ id: 'pos', label: 'Kasir' }
{ id: 'pos', label: 'Penjualan Toko' }
  • Judul di dalam halaman diubah terpisah pada PosPanel jika perlu.
  • Periksa menu owner, admin dan kasir, klik item, lalu coba Back dan Forward.
  • Mengganti label tidak memerlukan migration atau perubahan route.

L03 · Menambah menu Ringkasan Stok untuk owner

Latihan ini menambah endpoint baca saja. Tidak ada perubahan CDI, sehingga tidak menambah TP tulis baru. Izin owner, session dan tenant tetap diperiksa backend.

UrutanBerkas latihanYang dikerjakan
1app/Http/Controllers/StockSummaryController.phpKetik controller lengkap berikut.
2routes/api.phpTambahkan import dan route di luar group lain yang sudah ditutup.
3resources/js/StockSummaryPanel.tsxKetik komponen berikut.
4resources/js/InternalPanels.tsxTambahkan import, item menu dan kondisi render.
5tests/Feature/StockSummaryTest.phpUji izin dan respons kosong. Uji isolasi cabang juga diperlukan dengan stok latihan berbeda.
<?php
namespace App\Http\Controllers;

use App\Services\Security\BusinessAccess;
use Illuminate\Http\JsonResponse;
use Illuminate\Http\Request;
use Illuminate\Support\Facades\DB;

class StockSummaryController extends Controller
{
    public function index(Request $request, BusinessAccess $access): JsonResponse
    {
        return DB::connection('master')->transaction(function () use ($request, $access): JsonResponse {
            $actor = $access->actor($request->user(), ['owner']);
            $tenant = $access->tenant($actor);
            $row = DB::connection($tenant->connection)->table('produk_cabang')
                ->where('id_cabang', $tenant->cabang->id_cabang)
                ->selectRaw('COUNT(*)::integer AS jenis_produk, COALESCE(SUM(stok_tersedia), 0)::bigint AS tersedia, COALESCE(SUM(stok_karantina), 0)::bigint AS karantina')
                ->first();

            return response()->json(['data' => [
                'jenis_produk' => (int) $row->jenis_produk,
                'tersedia' => (int) $row->tersedia,
                'karantina' => (int) $row->karantina,
            ]]);
        });
    }
}
Baris konsepPenjelasan
actor dalam transaksi masterMemeriksa akun terbaru sambil mempertahankan shared lock referensi.
tenant dari BusinessAccessTidak menerima id_cabang kiriman browser sebagai pengganti tenant session.
where cabangMembatasi aggregate pada cabang yang ditentukan server.
selectRaw statisTidak menyisipkan input pengguna ke SQL. COALESCE memberi nol ketika tidak ada stok.
Respons dataStruktur dipasangkan dengan tipe Summary pada React.

Tambahkan import ini bersama import controller pada .

use App\Http\Controllers\StockSummaryController;

Tambahkan route ini pada tingkat atas routes/api.php. Prefix /api sudah diberikan Laravel.

Route::middleware(['spa.session', 'auth:sanctum', 'account.session', 'tenant', 'role:owner'])
    ->get('/ringkasan-stok', [StockSummaryController::class, 'index'])
    ->name('api.ringkasan-stok');
import { useEffect, useState } from 'react';
import { api, errorMessage } from './lib/api';

type Summary = { jenis_produk: number; tersedia: number; karantina: number };

export default function StockSummaryPanel({ revision }: { revision: number }) {
    const [summary, setSummary] = useState<Summary | null>(null);
    const [error, setError] = useState('');

    useEffect(() => {
        let active = true;
        setSummary(null);
        setError('');
        api.get<{ data: Summary }>('/api/ringkasan-stok')
            .then(({ data }) => { if (active) setSummary(data.data); })
            .catch(reason => { if (active) setError(errorMessage(reason)); });
        return () => { active = false; };
    }, [revision]);

    if (error) return <p role="alert">{error}</p>;
    if (!summary) return <p role="status">Memuat ringkasan stok…</p>;
    return <section aria-label="Ringkasan Stok">
        <h2 className="text-xl font-bold">Ringkasan Stok</h2>
        <p>Jenis produk {summary.jenis_produk}</p>
        <p>Unit tersedia {summary.tersedia}</p>
        <p>Unit karantina {summary.karantina}</p>
    </section>;
}

Pada InternalPanels.tsx tambahkan import bersama import panel.

import StockSummaryPanel from './StockSummaryPanel';

Pada array items grup Persediaan di fungsi menu, tambahkan spread berikut sebagai satu elemen array. Jangan menempelkannya di luar array.

...(role === 'owner' ? [{ id: 'ringkasan-stok', label: 'Ringkasan Stok' }] : []),

Di deretan kondisi render panel, tambahkan kondisi ini. allowed dibentuk otomatis dari menu(role). Ikon default tetap dapat dipakai.

{panel === 'ringkasan-stok' && role === 'owner' && <StockSummaryPanel revision={revision} />}
<?php
namespace Tests\Feature;

use Tests\PostgresSecurityTestCase;

class StockSummaryTest extends PostgresSecurityTestCase
{
    public function test_guest_cannot_read_summary(): void
    {
        $this->spa('GET', '/api/ringkasan-stok')->assertUnauthorized();
    }

    public function test_cashier_cannot_read_owner_summary(): void
    {
        $this->login($this->employee())->assertOk();
        $this->spa('GET', '/api/ringkasan-stok')->assertForbidden();
    }

    public function test_owner_reads_empty_active_branch_summary(): void
    {
        $this->login($this->owner())->assertOk();
        $this->spa('POST', '/api/owner/cabang-aktif', [
            'id_cabang' => $this->samanhudi->id_cabang,
        ])->assertOk();
        $this->spa('GET', '/api/ringkasan-stok')->assertOk()
            ->assertJsonPath('data.jenis_produk', 0)
            ->assertJsonPath('data.tersedia', 0)
            ->assertJsonPath('data.karantina', 0);
    }
}
  • Jalankan tes ini di database latihan yang dikonfigurasi khusus. Base class membuat schema uji dan rollback, tetapi tetap memerlukan koneksi PostgreSQL yang sesuai.
  • Uji tambahan perlu memasukkan stok berbeda pada dua cabang lalu memastikan hasil tidak bercampur.
  • Di UI, owner memilih cabang lalu membuka menu. Kasir tidak melihat menu dan request langsung kasir tetap 403.
  • Contoh ini belum dieksekusi dengan PHP atau PostgreSQL dalam pekerjaan penulisan panduan.

L04 · Menambah kolom barcode pada produk

Ini latihan perubahan schema master. barcode belum merupakan kolom fitur yang dipasang oleh contoh ini. Migration lama yang sudah dijalankan tidak diedit.

php artisan make:migration add_barcode_to_produk_table --path=database/migrations/master

Dalam file migration baru yang dihasilkan, gunakan struktur berikut.

<?php
use Illuminate\Database\Migrations\Migration;
use Illuminate\Database\Schema\Blueprint;
use Illuminate\Support\Facades\Schema;

return new class extends Migration
{
    protected $connection = 'master';

    public function up(): void
    {
        Schema::connection('master')->table('produk', function (Blueprint $table) {
            $table->string('barcode', 50)->nullable()->unique();
        });
    }

    public function down(): void
    {
        Schema::connection('master')->table('produk', function (Blueprint $table) {
            $table->dropUnique('produk_barcode_unique');
            $table->dropColumn('barcode');
        });
    }
};
Lokasi editPerubahan manual
Tambahkan string barcode pada array produk. Daftar ini dipakai penyimpanan, SELECT dan payload controller, serta allowlist audit master data.
Tambahkan rules barcode pada cabang produk dengan unique yang mengabaikan ID record saat update.
Tambahkan tuple field barcode pada config.produk.fields. Tipe text menjaga nol di depan.
Jika barcode harus dapat dicari, tambahkan orWhere barcode dalam closure pencarian produk.
Tinjau invariant baru. Jika hanya nullable string unik, constraint DB menjaga unik. Jika ada format bisnis, tambahkan pemeriksaan sesuai format itu.
Tambahkan barcode ke SELECT, tipe Product dan JSX hanya jika sengaja dipublikasikan ke pelanggan.

Baris tambahan pada rules produk dan tuple form ditunjukkan berikut. Baris rules ditaruh di array produk, bukan di luar fungsi rules.

'barcode' => ['sometimes', 'nullable', 'string', 'max:50', Rule::unique('master.produk', 'barcode')->ignore($id, 'id_produk')],
['barcode', 'Barcode', 'text']
->orWhere('barcode', 'ilike', $term)
php artisan migrate --database=master --path=database/migrations/master
  • Uji create barcode 0012345678901. Nol di depan harus tetap ada.
  • Uji dua produk memakai barcode sama, hasil kedua ditolak.
  • Uji update produk tanpa mengganti barcode dan barcode null.
  • Model Produk tidak perlu cast integer untuk barcode.
  • down hanya contoh rollback schema. Jangan menghapus kolom produksi yang sudah berisi data sebagai cara latihan.

L05 · Menambah satu kolom tampilan tabel

Buka . Tambahkan header dan nilai sel pada posisi yang sama di props RajawaliDataTable. Jika data belum ada pada JSON, perluas respons backend lebih dahulu.

// Contoh bentuk. Pasangkan header dan nilai pada urutan yang sama.
headers={['Kode', 'Produk', 'Satuan', 'Tersedia']}
rows={rows.map(row => [row.kode_produk, row.nama_produk, row.satuan, row.stok_tersedia])}
  • Bandingkan jumlah header dan jumlah sel tiap baris.
  • DataTables bawaan tidak mengerjakan pagination server pada wrapper ini.
  • Untuk angka terformat, nilai dasar dan elemen display dapat dipisah melalui objek Cell.

L06 · Mengubah batas stok hampir habis

Sumber aturannya adalah . InventoryController, DashboardController dan NotificationReader membacanya. Tidak perlu menambah kolom stok_minimum pada produk_cabang.

LOW_STOCK_THRESHOLD=8
  • Atur environment salinan latihan lalu perbarui cache konfigurasi sesuai cara menjalankan proyek.
  • Dengan batas 8, stok 1 sampai 8 dianggap rendah. Stok 0 merupakan habis.
  • Periksa kartu dashboard, filter hampir habis, dan daftar tugas. Nilai awal UI 5 hanya fallback sebelum data API dimuat.

L07 · Menambah filter backend dan frontend

Contoh filter yang sudah ada adalah status pada persediaan. Untuk filter baru, jalurnya sama. Jangan menerima nama kolom SQL langsung dari query pengguna.

LapisanLangkah
Controller atau RequestTambahkan key tervalidasi dan allowlist nilai.
QueryTambahkan where terikat parameter pada tenant aktif.
RingkasanPutuskan apakah kartu summary mengikuti filter baru. Clone base query sebelum filter status tambahan jika perilaku lama memang demikian.
React stateTambahkan state untuk nilai filter dan kontrol input.
API paramsKirim nilai filter atau undefined, tambahkan ke dependensi pembacaan data.
PaginationKembalikan page ke 1 ketika filter berubah.
ResetBersihkan filter dalam clearFilters.
TesUji nilai sah, nilai tidak dikenal, hasil kosong dan cabang berbeda.

L08 · Mengubah aturan password

Contoh permintaan penguji minimal 14 karakter harus diterapkan pada seluruh jalur pembuatan atau perubahan password yang relevan, bukan pada input login saja.

rg -n "min:12|minLength|password.*min" app resources/js
JalurTempat utama
Ganti password sendiri dan MyAccountPanel.
Buat atau reset pegawai oleh owner dan EmployeesPanel.
Aktivasi undangan dan EmployeeActivationPage.
Setup owner lokal.
PenyimpananHash.make dengan Argon2id, bukan menyimpan password mentah.
UjiPanjang 13 ditolak pada jalur kebijakan baru, panjang 14 diterima, konfirmasi berbeda ditolak.

Batas panjang saat login sengaja berbeda dari aturan membuat password. Menaikkan minimal pada login saja dapat menghalangi akun lama tanpa proses migrasi kebijakan.

L09 · Mengubah harga normal atau aturan diskon

Saat ini selalu mengembalikan harga_jual. ProductPrice pada katalog juga memakai harga_jual. Adanya harga_grosir dalam tabel belum membuat diskon otomatis berjalan.

  • Ubah kebijakan harga server pada SalePricing sebagai sumber keputusan bisnis.
  • Sesuaikan estimasi di productPrice OnlineStoreApp dan perhitungan kasir jika kebijakan diskon memang disetujui.
  • Sesuaikan IVP dan snapshot harga agar transaksi lama tidak berubah mengikuti harga terbaru.
  • Jangan menambahkan field harga bebas pada SaleData untuk penjualan normal. Harga khusus memakai jalur persetujuan.
  • Uji batas jumlah diskon, harga nol yang memang diizinkan, perubahan harga ketika pengajuan menunggu, dan nilai terlalu besar.

L10 · Menambah status servis atau jenis tindakan

UrutanTempat yang harus ditinjau
Input dan hak, , route operation dan role.
Arah transisi serta mutable dan capability.
Pelaksanaan atau TP bernama khusus bila operasinya baru.
Integritas dan GlobalIntegrityVerifier.
Pendaftaran TP dan implementation untuk operasi baru.
DatabasePeriksa CHECK status pada migration servis. Buat migration lanjutan jika constraint perlu berubah.
Audit dan kronologiEvent log, snapshot dan prasyarat biaya atau garansi atau tanggal selesai.
TampilanServicePanel, presentation, dashboard, notification dan laporan.
PengujianTransisi sah, lompatan status, pelaku salah, tenant salah dan rollback.

Menambah satu opsi dropdown saja hanya menambah tampilan pilihan. Backend tetap menolak operasi yang belum dikenalnya.

L11 · Mengubah pesan error dan halaman 404

PesanLokasi edit
Field form checkout dan showCustomerError pada OnlineStoreApp.
Pelanggaran bisnisException atau validation pada TP. SafeApiErrors dapat mengganti pesan response sesuai status.
Pesan umum API dan errorMessage Axios.
Halaman tidak ditemukan dan CSS error.
Query halaman salah. Keputusan revisi adalah redirect path bersih untuk query shell yang ditolak.

Uji status HTTP dan isi halaman secara terpisah. Teks “tidak ditemukan” pada respons 200 tidak sama dengan HTTP 404.

L12 · Mengubah tampilan, logo, dan cetak

PermintaanLokasi tepat
Warna dan jarak global.
Warna tombol satu panelclassName tombol pada file panel tersebut.
Logo pada header login atau toko dan elemen img pada AuthApp atau OnlineStoreApp.
Favicon dan metadata.
Isi nota cetakprintReceipt atau printSale atau printOrder pada panel terkait.
Gaya nota cetak. Pembuat DOM bersama berada pada printDocument.

Gunakan teks melalui JSX atau textContent. Perubahan desain tidak membutuhkan penonaktifan CSP.

L13 · Menambah menu yang mengubah data bisnis

  • Tentukan dulu field input, invariant, pelaku, tenant dan perubahan CDI.
  • Tambahkan schema lanjutan bila diperlukan, kemudian Request atau DTO dan TP transaksi.
  • Panggil BusinessAccess.actorFor dengan nama TP yang didaftarkan. Tambahkan pemetaan registry ke kelas pelaksana.
  • Jalankan IVP dan AuditLogger.recordCdi dalam transaksi tenant yang sama.
  • Jika mengubah stok, panggil wrapper fungsi SQL yang sesuai. Jangan menulis stok langsung.
  • Tambahkan route berizin, controller, komponen, item menu, ikon bila perlu, kondisi render dan tes.
  • Buktikan juga request salah, field tambahan, pelaku salah, tenant lain, status tidak sah dan kegagalan audit.

L14 · Menelusuri masalah tanpa menebak

GejalaPeriksa berurutan
Menu tidak munculmenu(role), kondisi render, role akun dari /api/me, bundle yang sedang dimuat.
Menu muncul tetapi 403Route role, Request.authorize, RoleAccess, registry, aktor yang sama pada approval atau penugasan.
401Session cookie, Sanctum stateful, RequireSpaSession, akun terbaru dan auth_account.
419CSRF cookie dan header X-XSRF-TOKEN, origin serta domain session.
409Cabang instance berbeda, status operasi tidak cocok, nomor unik ganda atau versi nota berubah.
422Baca errors pada respons, rules Request dan pemeriksaan ulang DTO.
429Rate limit route atau Nginx, limiter login, atau blokir IP manual.
500 atau 503Log yang disaring, koneksi database, IVP, kesiapan master atau tenant atau konfigurasi layanan.
UI tetap lamaBuild Vite, manifest, image yang dipakai, cache browser, serta pembersihan service worker lama.
Data cabang tidak sesuaiTenant session, TenantContext, koneksi model, instance cookie, dan guard backend.
Realtime tidak berubahMeta Reverb, WebSocket WSS, auth private channel, listener, serta revision panel.

L15 · Pemeriksaan perubahan pada lingkungan latihan

Perintah berikut merupakan petunjuk setelah kamu mengedit kode latihan. Panduan ini tidak mengklaim perintah sudah dijalankan pada VPS.

php artisan route:list --path=ringkasan-stok
php -l app/Http/Controllers/StockSummaryController.php
php artisan test --filter=StockSummaryTest
npm run build
  • Jika dependensi belum tersedia, pasang versi dari lockfile sesuai proyek. composer install dan npm ci memiliki tujuan berbeda dari composer update atau npm update.
  • Tes Laravel memerlukan PostgreSQL latihan. Jangan menunjuk environment tes ke database bisnis VPS.
  • Untuk proyek yang berjalan dari image Docker, kode frontend perlu dibangun ke image dan dilepas melalui prosedur rilis proyek. php artisan serve bukan pengganti arsitektur produksi ini.
  • Sesudah perubahan lolos teknis, kamu sebagai pengguna mencoba skenario dan memutuskan hasil UAT.

L16 · Membatalkan latihan

  • Jika salinan proyek memakai Git, lihat git diff untuk memastikan perubahan yang akan dibatalkan hanya pekerjaan latihan ini.
  • Hapus menu, render, import, route dan berkas latihan yang baru secara berpasangan jika memang ingin membatalkan latihan menu.
  • Rollback schema hanya pada database latihan dan setelah memeriksa isi migration down.
  • Jangan memakai reset menyeluruh, migrate:fresh atau menghapus volume untuk membatalkan edit tampilan.

10 · Pertanyaan sidang dan jawaban pendek

Mulai menjelaskan kode dari mana?

Mulai dari tombol panel, URL request, route beserta middleware, Request, controller, service TP, IVP, audit, lalu database. Contoh lengkap penjualan ada pada bab Arsitektur.

Mengapa React tidak langsung mengubah PostgreSQL?

Browser tidak membawa credential database. React memanggil API yang memeriksa session, role, tenant dan aturan bisnis sebelum mengubah data.

Bagian MVC ada pada apa?

Model berada pada app/Models, controller pada app/Http/Controllers, dan shell view pada resources/views. Tampilan fitur utama berupa React pada resources/js. Layanan bisnis memisahkan aturan transaksi dari controller.

Mengapa controller tidak menampung semua aturan?

Controller mengurus batas HTTP dan memilih layanan. TP dipakai kembali serta diperiksa dengan IVP, audit dan batas transaksi yang lebih jelas. Beberapa operasi pelanggan tetap diimplementasikan dalam controller dan terdaftar demikian pada registry.

Bagaimana dependency injection bekerja?

Laravel membaca tipe parameter constructor atau metode dan menyelesaikan dependensinya dari container. BusinessAccess dapat dipasok tanpa membuat new BusinessAccess di setiap controller.

Apakah validasi frontend cukup?

Tidak. Pengguna dapat mengirim request langsung. Backend memvalidasi Request, DTO, referensi, status dan invariant. TypeScript tidak mengawasi payload penyerang ketika aplikasi berjalan.

Mengapa input divalidasi lagi pada DTO?

Pemanggil service dapat berasal dari luar HTTP. fromInput menjaga batas input service. Properti readonly menjaga bentuk objek setelah dibuat, tetapi tidak menyatakan data asalnya benar tanpa validasi.

Mengapa harga tidak diambil dari keranjang browser?

Jumlah dan ID produk merupakan masukan. Harga normal dibaca dari produk master oleh SalePricing. Harga khusus harus melalui alur request dan keputusan owner.

Mengapa password tidak dapat ditampilkan ulang?

Yang disimpan password_hash dengan Argon2id. Hash dipakai memverifikasi kecocokan, bukan mendekripsi menjadi password asli. Pengguna mengganti atau mereset password melalui jalur yang diizinkan.

Apakah semua data database terenkripsi?

Kode menunjukkan hash password, enkripsi payload session ketika dikonfigurasi, dan enkripsi credential tenant atau kode tertentu. Ini tidak membuktikan seluruh database atau seluruh backup terenkripsi.

Apakah aplikasi menggunakan JWT?

Alur aktif menggunakan session SPA Sanctum dengan guard web. RequireSpaSession menolak bearer token, dan provider menonaktifkan jalur access token. Nama Sanctum tidak berarti aplikasi memakai JWT.

Apa beda login dan izin?

Login membuktikan identitas. Otorisasi menentukan apakah identitas boleh menjalankan operasi atas data cabang dan tahap tertentu. Session sah masih dapat mendapat 403.

Mengapa owner tetap bisa ditolak?

Owner mewarisi kemampuan, tetapi syarat pelaku, tenant, status, masa token dan versi dokumen tetap berlaku. Pengaju tidak boleh memutus pengajuannya sendiri.

Bagaimana mencegah IDOR?

Query dibatasi tenant yang ditentukan server, kemudian objek dan pelakunya diperiksa. Mengganti ID pada URL tidak boleh memberi akses objek cabang lain. Keberhasilan perlu dibuktikan dengan tes negatif.

Apa beda cookie routing dengan tenant?

Cookie membantu Nginx memilih instance. Tenant yang dipercaya tetap berasal dari pemeriksaan akun dan session backend. Cookie yang dipalsukan bukan hak akses cabang.

Mengapa stok tidak diedit langsung?

Stok adalah CDI persediaan. Perubahan melalui fungsi SQL TP yang memeriksa argumen, row lock dan batas nilai. E1 membatasi role runtime agar tidak mengubah stok langsung.

Apakah role-based access sama dengan Clark–Wilson?

Role merupakan sebagian kontrol pelaksana. Clark–Wilson juga memerlukan relasi TP dan CDI, invariant atau IVP, SoD, audit, validasi UDI dan batas perubahan kebijakan.

Di mana contoh TP, IVP dan CDI?

CreateRetailSale adalah TP penjualan, SaleIntegrity adalah IVP penjualan, dan penjualan atau detail_penjualan atau produk_cabang merupakan CDI yang terkait. Registry menghubungkan unsur tersebut.

Apakah registry isValid membuktikan sistem sempurna?

Tidak. isValid memeriksa konsistensi registry dan kelas rujukannya. Validitas perilaku, hasil tes, deployment, dan kontrol perubahan source perlu bukti tambahan.

Apakah append-only kebal terhadap DBA?

Pembatasan model dan trigger melindungi jalur yang ditentukan. Administrator database dengan hak istimewa dapat mengubah kontrol. Klaim harus menyebut identitas penyerang dan privilege yang diuji.

Apakah audit selalu membuat transaksi rollback?

recordCdi dan audit hak master bersifat wajib pada transaksi pemanggil. record kejadian keamanan dan fanout tertentu menangkap kegagalan tujuan lalu mencatat log. Keduanya tidak boleh dijelaskan sebagai satu perilaku.

Apakah semua transaksi memakai 2PC?

Tidak. DistributedTransactionManager membatasi tiga operasi mutasi dan tiga koneksi peserta awal. Transaksi penjualan dan servis menggunakan transaksi tenant dengan referensi master yang dikunci.

Mengapa jurnal 2PC memakai koneksi sendiri?

Keputusan harus tersimpan secara durable di luar transaksi peserta yang akan diprepare, sehingga pemulihan dapat membaca keputusan setelah proses terputus.

Bila proses mati sesudah sebagian peserta commit?

Recovery mengikuti keputusan durable yang sama dan menyelesaikan peserta tersisa. UI dapat menerima kegagalan sementara, sehingga status transaksi perlu dibaca sebelum mencoba ulang.

Apakah lock berarti tidak ada deadlock?

Tidak. Row lock mengendalikan konflik atas data. Urutan lock konsisten dan retry yang sesuai membantu penanganan konflik, tetapi tes concurrency serta penanganan exception tetap diperlukan.

Kapan stok pesanan online dikurangi?

Pada verifikasi pembayaran diterima melalui workflow internal, bukan saat pelanggan sekadar memasukkan produk ke keranjang atau mencatat pesanan awal.

Apakah bukti pembayaran sama dengan uang sudah masuk?

Tidak. File bukti adalah masukan. Pegawai berwenang memeriksanya dan mengambil keputusan pembayaran melalui workflow. Tidak ada bukti integrasi konfirmasi bank otomatis pada jalur ini.

Bagaimana keranjang dua cabang tetap terpisah?

Key terdiri atas ID cabang dan ID produk. UI membentuk kelompok. Checkout mengirim satu kelompok. Penghapusan setelah sukses mengurangi hanya jumlah kelompok tersebut.

Mengapa URL sudah tanpa hash tetapi Back tetap bekerja?

Navigasi menyimpan view, user dan cabang pada history.state. popstate memulihkan state yang masih valid. Detail ini berbeda dari penggunaan path menu terpisah pada server.

Apakah URL query aneh selalu serangan?

Tidak. Query mempunyai arti yang ditentukan aplikasi. Revisi memilih menormalkan query shell yang tidak dikenal. Tracking yang sah tetap memiliki query dan signature.

Apakah signed URL Laravel adalah tanda tangan digital PKI?

Tidak otomatis. Signed URL menjaga keutuhan parameter dan masa berlaku melalui mekanisme Laravel. Itu tidak membuktikan penggunaan pasangan private key dan public key, sertifikat PKI, atau nonrepudiation.

Apakah realtime mengirim semua data pelanggan?

Event utama mengirim area, resource_id, event_id dan waktu. Detail diambil ulang lewat API berizin. Subscription channel privat juga memeriksa cabang dan pengguna.

Apakah paket react-router-dom berarti router itu aktif?

Tidak. Dependency tercantum pada manifest, tetapi graph import entry aktif memakai helper navigation sendiri. Tunjukkan import dan pemanggil aktual.

Apakah file PWA berarti fitur PWA aktif?

Tidak. Entry revisi membersihkan registration lama, tidak mengimpor helper PWA, dan proxy menolak manifest serta sw.js. Berkas lama harus dibedakan dari jalur aktif.

Apakah file .xls ekspor membuktikan workbook Excel asli?

Tidak. exportTable membentuk HTML berlabel .xls dari result.data halaman yang sedang dimuat. Itu bukan workbook .xlsx dan tidak mengambil seluruh halaman secara otomatis. Nilai formula dan isi HTML disaring.

Apakah INFO preflight sama dengan lulus UAT?

Tidak. Preflight memeriksa kesiapan teknis. Kamu sebagai end user mencoba alur fitur dan memberi hasil penerimaan. Tes otomatis, uji keamanan dan UAT merupakan bukti yang berbeda.

Bagaimana menyatakan keterbatasan dengan tepat?

Sebutkan kontrol yang terlihat di kode, hasil pengujian yang benar-benar tersedia, dan bagian yang belum terbukti. Jangan menyebut tersedia pada source sebagai sudah aktif atau lulus pada VPS.

Pola jawaban sambil menunjukkan kode

  • Sebutkan tujuan fitur dalam satu kalimat.
  • Tunjukkan fungsi entry dan inputnya.
  • Tunjukkan pemeriksaan yang menentukan boleh atau ditolak.
  • Tunjukkan perubahan data dan invariant yang dijaga.
  • Tunjukkan audit dan tes terkait. Jelaskan apakah tes itu sudah dijalankan atau baru tersedia.

11 · Temuan kode dan batas pembuktian

Bab ini mengacu snapshot kode panduan sebelumnya. Pembaruan peran Admin, satu pengiriman dan audit 20 Oktober dijelaskan pada Bab 14. Source paket revisi bukan bukti bahwa paket sudah terpasang pada VPS.

Hal yang ditemukanBukti sourceImplikasi penjelasan
Challenge login opsional dan log pengguna sebelumnya LOGIN_CHALLENGE_ENABLED=TIDAK.Ada implementasi, belum terbukti aktif dan terkirim melalui SMTP produksi.
Harga grosir masih menjadi kolom dan productPrice frontend.Perhitungan normal saat ini memakai harga_jual. Jangan mengklaim diskon grosir otomatis.
Runtime E1 persediaan memakai dua tenant awal.Jelaskan batas perlindungan CDI persediaan dan akun runtime secara eksplisit.
Coordinator peserta tetap menetapkan CONNECTIONS.Cabang baru tidak otomatis tercakup mutasi terdistribusi.
Opsi worker dan command tidak cocok memanggil --tenant. Signature InstallClarkWilsonE1 hanya memiliki --check dan --prompt-admin.Rangkaian provisioning dalam sumber gabungan belum dapat dinyatakan bekerja menyeluruh.
Mapping proxy cabang baru belum terhubung tidak meng-include branch-map.conf yang dibuat worker.Ada kode pembuat fragmen, tetapi belum ada bukti fragmen dipakai template revisi yang dibaca.
Guard instance masih dua cabang dan tenantKey.Identitas b_ID dari worker belum ditangani guard ini.
Antrean provisioning belum terlihat pada jalur simpan master dan .Jalur yang dibaca menyimpan Cabang, tetapi tidak terlihat membuat tenant_instances pending. Keberadaan worker saja belum membuktikan klik tambah cabang memicu seluruh proses.
Audit tenant masih allowlist koneksi awal dan recordGuestUdi.Tenant dinamis perlu ditinjau juga pada batas audit, tidak cukup TenantRegistry.
Audit banyak tujuan bukan 2PC.Commit audit tenant yang lebih dahulu tidak otomatis dibatalkan bila tujuan berikutnya atau master gagal.
Berkas lama masih tersediaGraph import dari app.tsx ditandai pada kartu frontend.Ketersediaan nama file tidak sama dengan eksekusi aktif.
Ekspor mengikuti halaman aktif membaca result.data tanpa loop pengambilan halaman lain.Unduhan .xls dan cetak belum dapat disebut ekspor seluruh hasil terfilter.
Pengujian tersediatests/Feature dan tests/e2e.Kartu tes menjelaskan skenario dan assertion source. Kartu tidak menyatakan lulus.

Temuan ini berasal dari pembacaan source yang tersedia, termasuk berkas pendukung lama. Ini belum menyatakan keadaan VPS persis sama. Pekerjaan perbaikan aplikasi dihentikan sesuai permintaanmu, sehingga panduan tidak diam-diam mengubah perilaku aplikasi.

Rujukan primer untuk istilah

RujukanDipakai untuk
Clark dan Wilson, 1987Ringkasan konsep dan sembilan aturan integritas.
OWASP Top 10 2025Nama dan nomor kategori risiko.
Laravel 13 signed URLsTautan yang mendeteksi perubahan parameter dan mempunyai kedaluwarsa.
Laravel 13 hashingHashing dan pemeriksaan password.
MDN FragmentBagian fragment dikelola browser dan tidak menjadi bagian request server.
MDN History APIpushState, replaceState dan popstate.

12 · Penjelasan seluruh berkas dan fungsi

Setiap kartu menjelaskan satu berkas. Gunakan pencarian untuk menyaring nama, fungsi, catatan maupun isi kode. Buka kartu dan klik Kode untuk menuju nomor baris fungsi. Berkas deployment lama memiliki penanda asal tersendiri.

459 berkas tersedia.

Backend dan layanan keamanan 191

app/Console/Commands/ConfigureRealtime.php67 baris · 2 fungsi bernama
Unggahan sumber 17 Oktober

Untuk apa

Menyiapkan konfigurasi realtime untuk lingkungan yang dipilih.

Jika diminta mengubah

Ubah parameter Reverb melalui konfigurasi, bukan menulis key rahasia ke komponen React.

Fungsi dan metode

Fungsi dan input atau hasilPenjelasan singkatBukti source
function handle(): intMenjalankan alur command sesuai signature dan opsi yang ditampilkan di atas kode. Mengembalikan exit code sukses atau gagal.Panggilan components.error, components.info
function put(string $content, string $key, string $value): stringMemperbarui satu nilai konfigurasi environment sesuai aturan command.return (string) preg_replace($pattern, $line, $content, 1);

Signature command asli

rajawali:configure-realtime {--force : Replace existing local Reverb values}
Buka kode asli bernomor baris

Kode hanya ditampilkan sebagai teks. Tidak dieksekusi oleh panduan. Nomor baris mengikuti sumber yang dibaca.

Identitas snapshot

SHA-256 11f1a624becf9e6115587db71db30f6e1977c64e07c9b13f5cd39b30cae514e7

app/Console/Commands/InstallClarkWilsonE1.php214 baris · 6 fungsi bernama
Unggahan sumber 17 Oktober

Untuk apa

Memasang dan memeriksa E1 persediaan dengan akun provisioning yang terpisah.

Jika diminta mengubah

Mode --check membaca kondisi. Mode instalasi melakukan DDL administratif dan tidak dipakai sebagai latihan bebas pada VPS.

Fungsi dan metode

Fungsi dan input atau hasilPenjelasan singkatBukti source
function handle(InventoryE1Status $status): intMenjalankan alur command sesuai signature dan opsi yang ditampilkan di atas kode. Mengembalikan exit code sukses atau gagal.Batas transaksi
Panggilan input.isInteractive, components.info
function adminConnection(string $tenant, string $username, string $password): ConnectionMembuat koneksi administratif sementara yang berbeda dari role runtime.return DB::connectUsing($name, array_replace($base, [
function preflight(Connection $db, string $runtimeRole, string $guardian, string $tenant): voidMemeriksa superuser provisioning, role runtime minim hak, guardian, tabel, dan kelengkapan fungsi sebelum mengubah privilege.Lihat signature dan isi fungsi.
function hardenTenant(Connection $db, string $runtimeRole, string $guardian): voidMembuat guardian NOLOGIN, trigger ALWAYS, dan fungsi SECURITY DEFINER. Mengalihkan ownership, mencabut DML langsung, serta memberi EXECUTE dan hak minimum untuk row lock.Lihat signature dan isi fungsi.
function inspect(InventoryE1Status $status, string $guardian): intMenampilkan hasil pemeriksaan privilege dan objek setiap tenant tanpa provisioning.return $passed ? self::SUCCESS : self::FAILURE;
function identifier(string $value): stringMemvalidasi nama role sebagai identifier PostgreSQL lalu mengquote.return '"'.$value.'"';

Signature command asli

rajawali:cw-e1-install
        {--check : Inspect runtime roles and E1 without provisioning}
        {--prompt-admin : Read provisioning credentials interactively without storing them}
Dependensi kode proyek yang diimpor
Buka kode asli bernomor baris

Kode hanya ditampilkan sebagai teks. Tidak dieksekusi oleh panduan. Nomor baris mengikuti sumber yang dibaca.

Identitas snapshot

SHA-256 3ab2627667fd569b08d7577f2c3b139f055ede272c5d7896b20afad22c8f9282

app/Console/Commands/RajawaliAlertTest.php37 baris · 1 fungsi bernama
Unggahan sumber 17 Oktober

Untuk apa

Mengirim kejadian uji ke penerima alert yang dikonfigurasi.

Jika diminta mengubah

Sukses perintah harus dibuktikan juga pada sisi penerima.

Fungsi dan metode

Fungsi dan input atau hasilPenjelasan singkatBukti source
function handle(OperationalAlert $alert): intMenjalankan alur command sesuai signature dan opsi yang ditampilkan di atas kode. Mengembalikan exit code sukses atau gagal.Panggilan components.error, components.info

Signature command asli

rajawali:alert-test
Dependensi kode proyek yang diimpor
Buka kode asli bernomor baris

Kode hanya ditampilkan sebagai teks. Tidak dieksekusi oleh panduan. Nomor baris mengikuti sumber yang dibaca.

Identitas snapshot

SHA-256 0a838bffb9f940dde13420374f4297aab829721b77050cb5b7db1d411fe19ea8

app/Console/Commands/RajawaliBackup.php66 baris · 2 fungsi bernama
Unggahan sumber 17 Oktober

Untuk apa

Menjalankan backup melalui PostgresBackup.

Jika diminta mengubah

Tinjau prasyarat maintenance dan scheduler sebelum menjalankan pada data nyata.

Fungsi dan metode

Fungsi dan input atau hasilPenjelasan singkatBukti source
function handle(PostgresBackup $backup): intMenjalankan alur command sesuai signature dan opsi yang ditampilkan di atas kode. Mengembalikan exit code sukses atau gagal.Panggilan input.isInteractive, components.error
Assertion assertBackupIdentity
function assertBackupIdentity(Connection $connection): voidMemastikan identitas dan batas hak akun backup sebelum pembuatan arsip.Lihat signature dan isi fungsi.

Signature command asli

rajawali:backup {directory} {--pg-bin=} {--isolated : Only owned testing schemas} {--prompt-backup : Prompt for dedicated backup credentials, never runtime/admin credentials}
Dependensi kode proyek yang diimpor
Buka kode asli bernomor baris

Kode hanya ditampilkan sebagai teks. Tidak dieksekusi oleh panduan. Nomor baris mengikuti sumber yang dibaca.

Identitas snapshot

SHA-256 d7a1b8ba6c3d0f036f978492ce5cd68b41864b366eff3bf9a4a4cafa7d872885

app/Console/Commands/RajawaliPreflight.php101 baris · 5 fungsi bernama
Unggahan sumber 17 Oktober

Untuk apa

Pemeriksaan kesiapan aplikasi dan konfigurasi produksi.

Jika diminta mengubah

INFO preflight bukan hasil manusia mencoba fitur dan bukan hasil semua uji keamanan.

Fungsi dan metode

Fungsi dan input atau hasilPenjelasan singkatBukti source
function handle(): intMenjalankan alur command sesuai signature dan opsi yang ditampilkan di atas kode. Mengembalikan exit code sukses atau gagal.Panggilan components.info, components.warn
function originsRestricted(): boolMemeriksa allowlist origin realtime yang eksplisit.return is_array($origins) && $origins !== [] && ! in_array('*', $origins, true);
function databasesReachable(): boolMemeriksa koneksi seluruh database bisnis yang dipakai pemeriksaan.return false;
function preparedTransactionsReady(): boolMemeriksa max_prepared_transactions tersedia pada peserta yang ditentukan.return false;
function noStaleCoordinator(): boolMemeriksa coordinator belum selesai yang sudah melewati batas waktu.Tabel distributed_transactions

Signature command asli

rajawali:preflight {--strict : Treat every failed deployment check as fatal} {--production : Require complete production configuration}
Dependensi kode proyek yang diimpor
Buka kode asli bernomor baris

Kode hanya ditampilkan sebagai teks. Tidak dieksekusi oleh panduan. Nomor baris mengikuti sumber yang dibaca.

Identitas snapshot

SHA-256 1f254a3bfcc2f12aac7be05906cf7bc3d5b542457e73f0f1974acbe9855d9d71

app/Console/Commands/RajawaliRestoreDrill.php32 baris · 1 fungsi bernama
Unggahan sumber 17 Oktober

Untuk apa

Menjalankan simulasi restore arsip ke target uji.

Jika diminta mengubah

Perintah ini harus memulihkan ke target latihan yang dikendalikan layanan, bukan menimpa database bisnis.

Fungsi dan metode

Fungsi dan input atau hasilPenjelasan singkatBukti source
function handle(PostgresBackup $backup): intMenjalankan alur command sesuai signature dan opsi yang ditampilkan di atas kode. Mengembalikan exit code sukses atau gagal.Pemeriksaan IVP
Panggilan components.info, components.error

Signature command asli

rajawali:restore-drill {directory} {--pg-bin=} {--verify-only} {--connection= : Configured connection with CREATEDB on an isolated restore server}
Dependensi kode proyek yang diimpor
Buka kode asli bernomor baris

Kode hanya ditampilkan sebagai teks. Tidak dieksekusi oleh panduan. Nomor baris mengikuti sumber yang dibaca.

Identitas snapshot

SHA-256 9ac3f87d6bed5d7bf1348a8b594f957e38dec0b9cb58768574fdeff7939b3654

app/Console/Commands/RajawaliSecurityCheck.php108 baris · 4 fungsi bernama
Unggahan sumber 17 Oktober

Untuk apa

Pemeriksaan konfigurasi keamanan, registry TP, transaksi dan E1.

Jika diminta mengubah

Hasil pemeriksaan harus dibaca bersama WARN dan bukti pengujian negatif.

Fungsi dan metode

Fungsi dan input atau hasilPenjelasan singkatBukti source
function handle(InventoryE1Status $inventoryStatus): intMenjalankan alur command sesuai signature dan opsi yang ditampilkan di atas kode. Mengembalikan exit code sukses atau gagal.Panggilan components.info, components.warn
function preparedTransactionsReady(): boolMemeriksa kesiapan prepared transaction PostgreSQL.return false;
function preparedTransactionCount(): intMenghitung prepared transaction yang terkait lingkup pemeriksaan.return PHP_INT_MAX;
function noStaleCoordinator(): boolMemeriksa jurnal transaksi tertinggal menurut batas konfigurasi.Tabel distributed_transactions

Signature command asli

rajawali:security-check {--strict : Fail when production hardening is incomplete}
Dependensi kode proyek yang diimpor
Buka kode asli bernomor baris

Kode hanya ditampilkan sebagai teks. Tidak dieksekusi oleh panduan. Nomor baris mengikuti sumber yang dibaca.

Identitas snapshot

SHA-256 7e232a8e33e1540c3bd2fc11d192a33eca10926900dc4212b1d4f5705e8bcecb

app/Console/Commands/RajawaliSetup.php79 baris · 1 fungsi bernama
Unggahan sumber 17 Oktober

Untuk apa

Setup interaktif lokal cabang awal dan owner tanpa password bawaan.

Jika diminta mengubah

Dibatasi environment local. Ini bukan prosedur mereset akun produksi.

Fungsi dan metode

Fungsi dan input atau hasilPenjelasan singkatBukti source
function handle(): intMenjalankan alur command sesuai signature dan opsi yang ditampilkan di atas kode. Mengembalikan exit code sukses atau gagal.Batas transaksi
Pembuatan hash
Panggilan input.isInteractive

Signature command asli

rajawali:setup
Dependensi kode proyek yang diimpor
Buka kode asli bernomor baris

Kode hanya ditampilkan sebagai teks. Tidak dieksekusi oleh panduan. Nomor baris mengikuti sumber yang dibaca.

Identitas snapshot

SHA-256 49f1e9a7fb4bd40847ca4453f138b738557845f257415c4961fff471cade5fd3

app/Console/Commands/RajawaliSmoke.php134 baris · 6 fungsi bernama
Unggahan sumber 17 Oktober

Untuk apa

Pemeriksaan singkat endpoint dan batas konfigurasi jaringan.

Jika diminta mengubah

Smoke memeriksa jalur teknis, sedangkan UAT dilaporkan pengguna.

Fungsi dan metode

Fungsi dan input atau hasilPenjelasan singkatBukti source
function handle(): intMenjalankan alur command sesuai signature dan opsi yang ditampilkan di atas kode. Mengembalikan exit code sukses atau gagal.Panggilan components.info, components.error
function externalChecks(string $baseUrl): arrayMenggabungkan hasil endpoint publik, header dan redirect HTTPS.return [
function externalGet(string $url): ResponseMengirim request pemeriksaan eksternal dengan batas waktu.return Http::connectTimeout(5)
function hasRequiredEdgeHeaders(Response $response): boolMemastikan header yang diwajibkan terlihat dari sisi proxy publik.return str_contains($hsts, 'max-age=')
function httpRedirectsToHttps(string $host): boolMemeriksa pengalihan HTTP ke HTTPS pada domain publik.return in_array($response->status(), [301, 308], true)
function preparedCount(): intMenghitung prepared transaction saat smoke dijalankan.return $total;

Signature command asli

rajawali:smoke {--external-url= : Optional HTTPS base URL for reverse-proxy smoke checks}
Buka kode asli bernomor baris

Kode hanya ditampilkan sebagai teks. Tidak dieksekusi oleh panduan. Nomor baris mengikuti sumber yang dibaca.

Identitas snapshot

SHA-256 fcb1284a17e45f6b2b9d37d6d518aeaa87955709409907248013e359df82963f

app/Console/Commands/RajawaliUatData.php178 baris · 1 fungsi bernama
Unggahan sumber 17 Oktober

Untuk apa

Menyediakan atau mengelola data latihan yang dikendalikan command.

Jika diminta mengubah

Baca pembatasan environment dan opsi cleanup di kode sebelum menjalankan. Jangan menganggapnya read-only.

Fungsi dan metode

Fungsi dan input atau hasilPenjelasan singkatBukti source
function handle(TenantResolver $resolver, ReceiveStock $receiveStock): intMenjalankan alur command sesuai signature dan opsi yang ditampilkan di atas kode. Mengembalikan exit code sukses atau gagal.Batas transaksi
Pembuatan hash
Tabel produk_cabang

Signature command asli

rajawali:uat-data
Dependensi kode proyek yang diimpor
Buka kode asli bernomor baris

Kode hanya ditampilkan sebagai teks. Tidak dieksekusi oleh panduan. Nomor baris mengikuti sumber yang dibaca.

Identitas snapshot

SHA-256 2971c5d9cf6735bc590d6ba80d289225ff9e02943dc8ef41c7be4cac92e24551

app/Console/Commands/RecoverDistributedTransactions.php29 baris · 1 fungsi bernama
Unggahan sumber 17 Oktober

Untuk apa

Pemulihan coordinator dan prepared transaction Rajawali.

Jika diminta mengubah

Perintah dijadwalkan setiap menit melalui routes/console.php.

Fungsi dan metode

Fungsi dan input atau hasilPenjelasan singkatBukti source
function handle(DistributedTransactionManager $manager): intMenjalankan alur command sesuai signature dan opsi yang ditampilkan di atas kode. Mengembalikan exit code sukses atau gagal.return self::SUCCESS;

Signature command asli

distributed-transactions:recover
Dependensi kode proyek yang diimpor
Buka kode asli bernomor baris

Kode hanya ditampilkan sebagai teks. Tidak dieksekusi oleh panduan. Nomor baris mengikuti sumber yang dibaca.

Identitas snapshot

SHA-256 d573e40220ed771fd4168159e51b4c73ab99cd6ce9b4510890077da2cd272461

app/Console/Commands/RegisterProvisionedBranch.php94 baris · 1 fungsi bernama
Unggahan sumber 17 Oktober

Untuk apa

Verifikasi dan registrasi cabang hasil worker administratif.

Jika diminta mengubah

Kredensial tenant dibaca dari stdin, diverifikasi, lalu disimpan terenkripsi pada master.

Fungsi dan metode

Fungsi dan input atau hasilPenjelasan singkatBukti source
function handle(InventoryE1Status $e1): intMenjalankan alur command sesuai signature dan opsi yang ditampilkan di atas kode. Mengembalikan exit code sukses atau gagal.Batas transaksi
Kunci baris perubahan
Tabel tenant_instances

Signature command asli

rajawali:branch-provision-finish {branchId : Integer branch ID} {--failed : Mark a failed provisioning attempt}
Dependensi kode proyek yang diimpor
Buka kode asli bernomor baris

Kode hanya ditampilkan sebagai teks. Tidak dieksekusi oleh panduan. Nomor baris mengikuti sumber yang dibaca.

Identitas snapshot

SHA-256 4b03f3f1c71a8044df9d04d40f08e2bf8043536582d1a52b55e6a8c844746f9e

app/Console/Commands/VerifyPurchaseIntegrity.php80 baris · 2 fungsi bernama
Unggahan sumber 17 Oktober

Untuk apa

Memeriksa integritas data tersimpan melalui IVP global dan pembelian.

Jika diminta mengubah

Gunakan laporan hasil untuk menunjukkan invariant. Jangan mengubah database agar tes terlihat lulus.

Fungsi dan metode

Fungsi dan input atau hasilPenjelasan singkatBukti source
function handle(TenantResolver $resolver, PurchaseIntegrity $purchases, GlobalIntegrityVerifier $global): intMenjalankan alur command sesuai signature dan opsi yang ditampilkan di atas kode. Mengembalikan exit code sukses atau gagal.Tabel pembelian
function formatCounts(array $counts): stringMerapikan jumlah objek yang berhasil diperiksa untuk keluaran command.return collect($counts)->map(fn (int $count, string $name): string => "{$name}={$count}")->implode(', ');

Signature command asli

rajawali:integrity {--cabang= : ID cabang yang diperiksa} {--all : Periksa master dan seluruh tenant aktif}
Dependensi kode proyek yang diimpor
Buka kode asli bernomor baris

Kode hanya ditampilkan sebagai teks. Tidak dieksekusi oleh panduan. Nomor baris mengikuti sumber yang dibaca.

Identitas snapshot

SHA-256 8386c80bea0adc8ae6647a139d62a187403d2598c1cd101ba946ba9d089a2125

app/Events/BusinessDataChanged.php49 baris · 4 fungsi bernama
Unggahan sumber 17 Oktober

Untuk apa

Event perubahan bisnis pada channel privat cabang.

Jika diminta mengubah

Payload event hanya pemberitahuan perubahan. Frontend mengambil ulang detail melalui API.

Fungsi dan metode

Fungsi dan input atau hasilPenjelasan singkatBukti source
function __construct( public int $branchId, public string $area, public ?int $resourceId = null, )Menerima dependensi atau data awal objek. Parameter bertipe disediakan pemanggil atau container Laravel sesuai jalurnya.Lihat signature dan isi fungsi.
function broadcastOn(): PrivateChannelMemilih PrivateChannel tenant.ID.return new PrivateChannel('tenant.'.$this->branchId);
function broadcastAs(): stringMenamai event business.changed.return 'business.changed';
function broadcastWith(): arrayMengirim event_id, area, resource_id, dan waktu perubahan.return [
Buka kode asli bernomor baris

Kode hanya ditampilkan sebagai teks. Tidak dieksekusi oleh panduan. Nomor baris mengikuti sumber yang dibaca.

Identitas snapshot

SHA-256 a1db06a8497a6734ce6b74cc7c547dbc69ff59a26b35f3c87652f76c0d0b3b7b

app/Http/Controllers/AuthController.php199 baris · 9 fungsi bernama
Revisi ZIP v5

Untuk apa

Menghubungkan login, kode email, session, profil, password, dan logout dengan HTTP.

Jika diminta mengubah

Ubah alur respons autentikasi di sini. Aturan password berada di Request dan pemeriksa kredensial berada di LoginService.

Fungsi dan metode

Fungsi dan input atau hasilPenjelasan singkatBukti source
function login(LoginRequest $request, LoginService $login, AuditLogger $audit, TenantContext $context, OperationalAlert $alert, StaffLoginChallenge $challenge): PenggunaResource|JsonResponseMenolak login ganda, memeriksa blokir IP dan CAPTCHA opsional, lalu memanggil LoginService. Menghasilkan 202 untuk tantangan email atau membuat session setelah berhasil.Pemeriksaan CAPTCHA
Respons JSON
function securityOptions(StaffLoginChallenge $challenge): JsonResponseMengirim status tantangan dan site key publik. Secret key tidak dikirim ke browser.Respons JSON
function verifyLoginCode(Request $request, StaffLoginChallenge $challenge, TenantResolver $resolver, TenantContext $context, AuditLogger $audit, OperationalAlert $alert, LoginService $login): PenggunaResource|JsonResponseMemeriksa kode enam angka, batas percobaan, akun terbaru, dan cabang. Session login baru dibuat setelah kode diterima.Verifikasi kode
Respons JSON
function cancelLoginCode(Request $request): JsonResponseMenghapus tantangan email dari session.Respons JSON
function blockedLoginIp(Request $request, LoginService $login): ?JsonResponseMenghasilkan 429 dan Retry-After ketika blokir manual IP masih berlaku.Respons JSON
function me(Request $request): PenggunaResourceMengirim pengguna dan cabang aktif melalui PenggunaResource.return new PenggunaResource($request->user());
function changeProfile( ChangeOwnProfileRequest $request, ChangeOwnProfile $change, AuditLogger $audit, ): PenggunaResourceMenyerahkan perubahan profil owner yang telah divalidasi kepada ChangeOwnProfile.return new PenggunaResource($user);
function changePassword( ChangeOwnPasswordRequest $request, ChangeOwnPassword $change, AuditLogger $audit, TenantContext $context, ): JsonResponseMenjalankan perubahan password, mengakhiri session aktif, membuat token CSRF baru, lalu meminta login ulang.Respons JSON
function logout(Request $request, AuditLogger $audit, TenantContext $context): ResponseMencatat logout, mengakhiri autentikasi, membatalkan session dan token lama, serta membersihkan tenant request.return response()->noContent();
Dependensi kode proyek yang diimpor
Buka kode asli bernomor baris

Kode hanya ditampilkan sebagai teks. Tidak dieksekusi oleh panduan. Nomor baris mengikuti sumber yang dibaca.

Identitas snapshot

SHA-256 0231e0c8842435a8b4094a35d0d77f5f345828a4a954ad90d8dc4f050df14641

app/Http/Controllers/BranchAssignmentController.php30 baris · 1 fungsi bernama
Unggahan sumber 17 Oktober

Untuk apa

Endpoint perubahan penempatan cabang pegawai.

Jika diminta mengubah

Perubahan aturan penempatan harus masuk ke ChangeBranchAssignment dan audit hak pengguna.

Fungsi dan metode

Fungsi dan input atau hasilPenjelasan singkatBukti source
function __invoke(BranchRequest $request, int $id, ChangeBranchAssignment $change, AuditLogger $audit): JsonResponseMembaca ID pegawai dan ID cabang tervalidasi, memanggil layanan perubahan penempatan, lalu membentuk JSON hasil.Respons JSON
Dependensi kode proyek yang diimpor
Buka kode asli bernomor baris

Kode hanya ditampilkan sebagai teks. Tidak dieksekusi oleh panduan. Nomor baris mengikuti sumber yang dibaca.

Identitas snapshot

SHA-256 f766c840c9955b5ec6151540ed7097d0dc72c768f048ec4028511b3ef2c153e6

app/Http/Controllers/Controller.php8 baris · 0 fungsi bernama
Unggahan sumber 17 Oktober

Untuk apa

Kelas dasar controller aplikasi.

Jika diminta mengubah

Dipakai sebagai induk controller. Tidak berisi alur transaksi bisnis tambahan.

Buka kode asli bernomor baris

Kode hanya ditampilkan sebagai teks. Tidak dieksekusi oleh panduan. Nomor baris mengikuti sumber yang dibaca.

Identitas snapshot

SHA-256 25d1c1ef8e6cc8a376553faacfba2b07d9dfaee9bdbb84f14f77517580e9deb1

app/Http/Controllers/CustomerController.php217 baris · 7 fungsi bernama
Unggahan sumber 17 Oktober

Untuk apa

CRUD pelanggan cabang dan ringkasan riwayat belanja, servis, serta garansi.

Jika diminta mengubah

Tambah field pelanggan melalui migration tenant, CustomerRequest, normalize, payload, form React, dan audit yang sesuai.

Fungsi dan metode

Fungsi dan input atau hasilPenjelasan singkatBukti source
function index(Request $request): JsonResponseMemvalidasi pencarian, memilih field pelanggan yang boleh dibaca, menghitung ringkasan, dan membuat halaman hasil.Respons JSON
function show(int $id, TenantContext $context): JsonResponseMembaca pelanggan pada tenant aktif dan menggabungkan ringkasan serta transaksi terakhirnya.Respons JSON
Tabel pelanggan, penjualan, servis, penjualan as p, klaim_garansi
function store(CustomerRequest $request, AuditLogger $audit, BusinessAccess $access): JsonResponseMemvalidasi aktor TP customer.create dan tenant, menyimpan pelanggan, memeriksa hasil, serta menulis audit dalam transaksi tenant.Batas transaksi
Relasi aktor dan TP
Audit CDI wajib
Respons JSON
Tabel pelanggan
function update(CustomerRequest $request, int $id, AuditLogger $audit, BusinessAccess $access): JsonResponseMemeriksa aktor TP customer.update, mengunci pelanggan yang akan diubah, memperbarui field pilihan, dan mengaudit perubahan.Batas transaksi
Kunci baris perubahan
Relasi aktor dan TP
Audit CDI wajib
Respons JSON
Tabel pelanggan
function normalize(array $data): arrayMerapikan nama dan kontak serta mengubah teks opsional kosong menjadi null.return $data;
function payload(object $customer): arrayMenyusun field pelanggan yang masuk respons API.return [
function auditSnapshot(object $current, ?object $compare = null): arrayMenyimpan identitas pelanggan dan nama field berubah tanpa menyalin seluruh data kontak ke audit.return [
Dependensi kode proyek yang diimpor
Buka kode asli bernomor baris

Kode hanya ditampilkan sebagai teks. Tidak dieksekusi oleh panduan. Nomor baris mengikuti sumber yang dibaca.

Identitas snapshot

SHA-256 f2e462485eb66dc6c6b493684126b9ac7ff6dbcdab44c36bd35db2bd51176193

app/Http/Controllers/DashboardController.php102 baris · 3 fungsi bernama
Unggahan sumber 17 Oktober

Untuk apa

Ringkasan operasional menurut role dan cabang aktif.

Jika diminta mengubah

Tambah kartu dengan menambah nilai backend index dan tampilan DashboardPanel. Terapkan pembatasan role yang sama.

Fungsi dan metode

Fungsi dan input atau hasilPenjelasan singkatBukti source
function index(Request $request, BusinessAccess $access, NotificationReader $notifications): JsonResponseMengambil aktor terbaru dan tenant, menghitung stok, transaksi, persetujuan, servis, garansi, serta tugas yang relevan bagi role.Batas transaksi
Respons JSON
Tabel produk_cabang, penjualan, nota_instansi, mutasi_stok, pembelian
function serviceCount($db, Pengguna $actor, int $branchId): intMembatasi pekerjaan servis teknisi pada penugasannya sendiri. Role pelayanan membaca lingkup operasional cabang.Tabel servis
function warrantyCount($db, Pengguna $actor): intMemilih jumlah klaim sesuai tahap yang dapat ditindaklanjuti oleh role.Tabel klaim_garansi
Dependensi kode proyek yang diimpor
Buka kode asli bernomor baris

Kode hanya ditampilkan sebagai teks. Tidak dieksekusi oleh panduan. Nomor baris mengikuti sumber yang dibaca.

Identitas snapshot

SHA-256 444cee77aa77459d75118980de6c91b0b2db1f543c6254db2eaa8097fd1d878a

app/Http/Controllers/EmployeeActivationController.php21 baris · 1 fungsi bernama
Unggahan sumber 17 Oktober

Untuk apa

Menerima token undangan dan password baru pegawai.

Jika diminta mengubah

Ubah aturan input aktivasi di sini dan mekanisme token di EmployeeInvitation.

Fungsi dan metode

Fungsi dan input atau hasilPenjelasan singkatBukti source
function activate(Request $request, EmployeeInvitation $invitations): JsonResponseMemvalidasi token, password minimal 12 karakter beserta konfirmasinya, lalu menjalankan aktivasi akun.Respons JSON
Dependensi kode proyek yang diimpor
Buka kode asli bernomor baris

Kode hanya ditampilkan sebagai teks. Tidak dieksekusi oleh panduan. Nomor baris mengikuti sumber yang dibaca.

Identitas snapshot

SHA-256 1ddc05b4472004d9bde6688234d3027fbad24e0c280cc3b7237084438fe1b01d

app/Http/Controllers/EmployeeController.php280 baris · 7 fungsi bernama
Unggahan sumber 17 Oktober

Untuk apa

Manajemen pegawai oleh owner, undangan, dan riwayat hak akun.

Jika diminta mengubah

Tambah field akun melalui EmployeeRequest, pemetaan penyimpanan, payload, EmployeesPanel, dan audit master.

Fungsi dan metode

Fungsi dan input atau hasilPenjelasan singkatBukti source
function index(Request $request): JsonResponseMenyaring pegawai menurut pencarian, role, status, cabang, dan kondisi keamanan. Tidak mengirim hash password.Respons JSON
Tabel employee_invitations
function store(EmployeeRequest $request, TenantResolver $resolver, AuditLogger $audit, EmployeeInvitation $invitation): JsonResponseMembuat akun manual atau akun nonaktif yang menunggu undangan, memvalidasi cabang, menghash password, dan menulis audit hak pada master.Batas transaksi
Relasi aktor dan TP
Audit hak pada master
Pembuatan hash
Respons JSON
Assertion assertMailConfigured
function update(EmployeeRequest $request, int $id, TenantResolver $resolver, AuditLogger $audit, InvalidateUserSessions $invalidateSessions): JsonResponseMengunci akun, melarang perubahan owner dari halaman pegawai, memperbarui field yang diizinkan, mengaudit, dan mencabut session terkait.Batas transaksi
Kunci baris perubahan
Relasi aktor dan TP
Audit hak pada master
Pembuatan hash
Respons JSON
Tabel employee_invitations
function resendInvitation(Request $request, int $id, EmployeeInvitation $invitations): JsonResponseMemeriksa akun undangan yang masih nonaktif, mengganti token, lalu mengirim ulang email.Batas transaksi
Kunci baris perubahan
Respons JSON
Tabel employee_invitations
Assertion assertMailConfigured
function revokeInvitation(Request $request, int $id): JsonResponseMenghapus token undangan akun nonaktif tanpa mengaktifkan akun tersebut.Batas transaksi
Kunci baris perubahan
Respons JSON
Tabel employee_invitations
function history(Request $request): JsonResponseMengirim riwayat audit_hak_pengguna untuk owner dengan pilihan subjek dan pagination.Respons JSON
Tabel audit_hak_pengguna as log
function payload(Pengguna $employee, bool $pendingInvitation = false): arrayMenyusun data pegawai aman, nama cabang, indikator penguncian, dan status undangan.return [
Dependensi kode proyek yang diimpor
Buka kode asli bernomor baris

Kode hanya ditampilkan sebagai teks. Tidak dieksekusi oleh panduan. Nomor baris mengikuti sumber yang dibaca.

Identitas snapshot

SHA-256 d061a0e38de9c6035ed5344068442088bb00533b6b7a8cc3d35a545c18629edf

app/Http/Controllers/InstitutionInvoiceController.php83 baris · 4 fungsi bernama
Unggahan sumber 17 Oktober

Untuk apa

Daftar, sumber penjualan, detail, dan dispatch operasi nota instansi.

Jika diminta mengubah

Aturan perubahan dokumen berada di InstitutionInvoiceWorkflow, bukan pada tombol React.

Fungsi dan metode

Fungsi dan input atau hasilPenjelasan singkatBukti source
function index(Request $request, TenantContext $context): JsonResponseMencari nota pada cabang aktif menurut nama atau nomor dan status.Respons JSON
Tabel nota_instansi
function sources(Request $request, TenantContext $context): JsonResponseMemilih penjualan lunas dan selesai yang belum memiliki nota instansi.Respons JSON
Tabel penjualan as p
function show(Request $request, int $id, TenantContext $context, InstitutionInvoiceWorkflow $workflow): JsonResponseMembaca detail nota beserta riwayatnya pada tenant yang diizinkan.Respons JSON
Tabel nota_instansi, detail_penjualan, histori_nota_instansi, penjualan
function mutate(InstitutionInvoiceRequest $request, InstitutionInvoiceWorkflow $workflow): JsonResponseMemilih operasi dari route, memvalidasi input, dan menyerahkan perubahan kepada workflow nota.Respons JSON
Dependensi kode proyek yang diimpor
Buka kode asli bernomor baris

Kode hanya ditampilkan sebagai teks. Tidak dieksekusi oleh panduan. Nomor baris mengikuti sumber yang dibaca.

Identitas snapshot

SHA-256 75eed7d251574650cbf942e88f85a46ef0acb63ecdc7c7ddfef2e5ef2b078077

app/Http/Controllers/InventoryController.php77 baris · 1 fungsi bernama
Revisi ZIP v5

Untuk apa

API persediaan dan barang karantina pada cabang aktif.

Jika diminta mengubah

Tambah filter backend di index dan kontrol filter di InventoryPanel. Perubahan stok tetap melalui TP persediaan.

Fungsi dan metode

Fungsi dan input atau hasilPenjelasan singkatBukti source
function index(Request $request, TenantContext $context): JsonResponseMemvalidasi filter, membatasi tenant, mencari produk master, menghitung ringkasan, menyortir, dan memaginasi stok.Respons JSON
Dependensi kode proyek yang diimpor
Buka kode asli bernomor baris

Kode hanya ditampilkan sebagai teks. Tidak dieksekusi oleh panduan. Nomor baris mengikuti sumber yang dibaca.

Identitas snapshot

SHA-256 368e66663d12090ea270a5c4bf661503ef2b07cc3d1d33de8d016779043d2cdd

app/Http/Controllers/LivenessController.php16 baris · 1 fungsi bernama
Unggahan sumber 17 Oktober

Untuk apa

Pemeriksaan bahwa proses aplikasi dapat menjawab.

Jika diminta mengubah

Jangan menambahkan operasi perubahan data ke endpoint liveness.

Fungsi dan metode

Fungsi dan input atau hasilPenjelasan singkatBukti source
function __invoke(): JsonResponseMengembalikan tanda hidup proses tanpa menganggap semua layanan bisnis siap.Respons JSON
Buka kode asli bernomor baris

Kode hanya ditampilkan sebagai teks. Tidak dieksekusi oleh panduan. Nomor baris mengikuti sumber yang dibaca.

Identitas snapshot

SHA-256 500eac649f02bc629ef7fef577527a1b647687f946007155363f3eaefe73dd0c

app/Http/Controllers/MasterDataController.php80 baris · 3 fungsi bernama
Unggahan sumber 17 Oktober

Untuk apa

Controller generik cabang, supplier, dan produk.

Jika diminta mengubah

Bentuk field ada pada MasterDataDefinition. Form ada pada MasterDataPanel.

Fungsi dan metode

Fungsi dan input atau hasilPenjelasan singkatBukti source
function index(Request $request): JsonResponseMemilih model dari entity route, menerapkan pencarian dan status, serta mengirim daftar dan ringkasan.Respons JSON
function store(MasterDataRequest $request, SaveMasterData $save): JsonResponseMeneruskan input tervalidasi ke SaveMasterData untuk membuat record.Respons JSON
function update(MasterDataRequest $request, SaveMasterData $save): JsonResponseMeneruskan ID dan input tervalidasi ke SaveMasterData untuk mengubah record.Respons JSON
Dependensi kode proyek yang diimpor
Buka kode asli bernomor baris

Kode hanya ditampilkan sebagai teks. Tidak dieksekusi oleh panduan. Nomor baris mengikuti sumber yang dibaca.

Identitas snapshot

SHA-256 3fc324c98a3cdb76a648483b14ae9b47d3193704ebd977a54d0c4f8a889c0691

app/Http/Controllers/NotificationController.php15 baris · 1 fungsi bernama
Unggahan sumber 17 Oktober

Untuk apa

API pusat tugas yang perlu ditindaklanjuti.

Jika diminta mengubah

Tambahkan sumber tugas pada NotificationReader lalu tujuan menunya pada NotificationsPanel.

Fungsi dan metode

Fungsi dan input atau hasilPenjelasan singkatBukti source
function index(Request $request, NotificationReader $reader): JsonResponseMembaca notifikasi operasional dari NotificationReader menurut pengguna dan cabang.Respons JSON
Dependensi kode proyek yang diimpor
Buka kode asli bernomor baris

Kode hanya ditampilkan sebagai teks. Tidak dieksekusi oleh panduan. Nomor baris mengikuti sumber yang dibaca.

Identitas snapshot

SHA-256 00c16f73911ef2722fc4b28d4d93b88a999488b61cf4c731b572af83ff662090

app/Http/Controllers/OnlineOrderController.php604 baris · 14 fungsi bernama
Unggahan sumber 17 Oktober

Untuk apa

Katalog publik, checkout, pelacakan, bukti pembayaran, serta pengelolaan pesanan oleh pegawai.

Jika diminta mengubah

Pisahkan perubahan tampilan katalog, validasi payload, dan aturan transaksi. Harga final ditentukan backend.

Fungsi dan metode

Fungsi dan input atau hasilPenjelasan singkatBukti source
function branches(): JsonResponseMengirim cabang aktif yang menerima pesanan, kategori produk, dan metode pembayaran yang siap digunakan.Respons JSON
function catalog(Request $request, TenantResolver $tenants): JsonResponseMemvalidasi filter, membaca produk master dan stok setiap cabang yang tersedia, lalu memaginasi katalog.Respons JSON
Tabel produk_cabang
function checkout( OnlineCheckoutRequest $request, CreateOnlineOrder $create, OnlineOrderLinks $links, ): JsonResponseMembuat OnlineOrderData, menjalankan CreateOnlineOrder untuk satu cabang, dan mengirim tautan serta kode pelacakan.Respons JSON
function trackByCode(Request $request, TenantResolver $tenants, OnlineOrderLinks $links): JsonResponseMenerima kode pelacakan melalui POST, mencari kecocokan hash, lalu memberikan informasi dan tautan pesanan yang sesuai.Respons JSON
Tabel penjualan
function track(Request $request, string $nomor, TenantResolver $tenants, OnlineOrderLinks $links): JsonResponseMembaca pesanan berdasarkan nomor dan cabang dari tautan yang telah melewati pemeriksaan signature.Respons JSON
Tabel penjualan
function uploadProof( OnlinePaymentProofRequest $request, string $nomor, TenantResolver $tenants, UploadOnlinePaymentProof $upload, ): JsonResponseMeneruskan file bukti pada tautan sah kepada UploadOnlinePaymentProof.Respons JSON
function cancel( Request $request, string $nomor, CancelOnlineOrder $cancel, ): JsonResponseMeneruskan pembatalan pelanggan pada tautan sah ke CancelOnlineOrder.Respons JSON
function index(Request $request, TenantContext $context): JsonResponseMembaca daftar pesanan ONLINE pada tenant aktif dengan filter operasional.Respons JSON
Tabel penjualan, detail_penjualan, pengiriman, pelanggan
function show(int $id, TenantContext $context): JsonResponseMembaca detail pesanan online milik tenant aktif.Respons JSON
Tabel penjualan
function paymentProof( int $id, TenantContext $context, OnlinePaymentProofStorage $storage, ): StreamedResponseMelayani unduhan bukti melalui penyimpanan privat setelah akses pesanan diperiksa.Tabel penjualan
function mutate( OnlineOrderActionRequest $request, int $id, OnlineOrderWorkflow $workflow, TenantContext $context, OnlineOrderLinks $links, ): JsonResponseMenerjemahkan operasi route menjadi OnlineOrderActionData dan menjalankan workflow internal.Respons JSON
Tabel penjualan, pelanggan, detail_penjualan
function paymentMethodLabel(string $method): stringMengubah kode metode pembayaran menjadi label yang mudah dibaca.return match ($method) {
function fulfillmentMethodLabel(string $method): stringMengubah kode ambil atau kirim menjadi label penerimaan.return match ($method) {
function payload(Connection $db, object $sale, bool $public): arrayMenyusun detail pesanan, item, total, pembayaran, pengiriman, serta tautan yang diperlukan. Field internal tidak disalin sembarang.Tabel detail_penjualan, pengiriman, pelanggan
Dependensi kode proyek yang diimpor
Buka kode asli bernomor baris

Kode hanya ditampilkan sebagai teks. Tidak dieksekusi oleh panduan. Nomor baris mengikuti sumber yang dibaca.

Identitas snapshot

SHA-256 65ca500688a72cbe5a5f27d6897f5854c5aba8a107697330c740d4884f84363a

app/Http/Controllers/OperationalHealthController.php59 baris · 1 fungsi bernama
Unggahan sumber 17 Oktober

Untuk apa

Readiness aplikasi, database bisnis, dan transaksi terdistribusi.

Jika diminta mengubah

Tambah dependensi wajib pada pemeriksaan readiness dan skenario kegagalannya.

Fungsi dan metode

Fungsi dan input atau hasilPenjelasan singkatBukti source
function __invoke(): JsonResponseMemeriksa konektivitas, prepared transaction dan coordinator, lalu mengembalikan 200 atau 503 tanpa membocorkan rincian rahasia.Respons JSON
Tabel distributed_transactions
Buka kode asli bernomor baris

Kode hanya ditampilkan sebagai teks. Tidak dieksekusi oleh panduan. Nomor baris mengikuti sumber yang dibaca.

Identitas snapshot

SHA-256 0f26b734c79f74db61078ffadf9b8491daa755e3fbcc79a7fbe1167f836c7876

app/Http/Controllers/OwnerBranchController.php54 baris · 2 fungsi bernama
Unggahan sumber 17 Oktober

Untuk apa

Daftar cabang yang dapat dipilih owner dan pemilihan tenant aktif.

Jika diminta mengubah

Aturan pemetaan cabang ada pada TenantResolver dan TenantRegistry.

Fungsi dan metode

Fungsi dan input atau hasilPenjelasan singkatBukti source
function index(TenantResolver $resolver): JsonResponseMengirim cabang yang tersedia bagi owner.Respons JSON
function select(BranchRequest $request, TenantResolver $resolver, TenantContext $context, AuditLogger $audit): JsonResponseMemvalidasi cabang yang dipilih owner, menyimpan tenant pada session, dan mengembalikan data pemilihan.Respons JSON
Dependensi kode proyek yang diimpor
Buka kode asli bernomor baris

Kode hanya ditampilkan sebagai teks. Tidak dieksekusi oleh panduan. Nomor baris mengikuti sumber yang dibaca.

Identitas snapshot

SHA-256 adf9f04da0048973340a4ad97ad7db02e6bb67fc5d10d5a1f630eafd06f04033

app/Http/Controllers/OwnerBranchProvisionController.php26 baris · 1 fungsi bernama
Unggahan sumber 17 Oktober

Untuk apa

Menjadwalkan ulang penyediaan cabang yang gagal.

Jika diminta mengubah

Pekerjaan administratif database dilakukan worker host, tidak melalui kredensial admin dalam request web.

Fungsi dan metode

Fungsi dan input atau hasilPenjelasan singkatBukti source
function retry(Request $request, int $id): JsonResponseMemeriksa owner, cabang nonaktif, status failed, dan jumlah percobaan di bawah tiga sebelum menjadwalkan ulang.Batas transaksi
Kunci baris perubahan
Respons JSON
Tabel tenant_instances
Dependensi kode proyek yang diimpor
Buka kode asli bernomor baris

Kode hanya ditampilkan sebagai teks. Tidak dieksekusi oleh panduan. Nomor baris mengikuti sumber yang dibaca.

Identitas snapshot

SHA-256 aceabf4c9aa1dc3afa374d16f2b11f1dbd4a0c2f90b719062fd5ef8c95526fff

app/Http/Controllers/PaymentSettingsController.php129 baris · 4 fungsi bernama
Unggahan sumber 17 Oktober

Untuk apa

Pengaturan rekening dan QRIS oleh owner.

Jika diminta mengubah

Form berada di PaymentSettingsPanel. Validasi HTTP berada di PaymentSettingsRequest. Pembacaan metode publik melalui PaymentSettings.

Fungsi dan metode

Fungsi dan input atau hasilPenjelasan singkatBukti source
function index(PaymentSettings $settings): JsonResponseMengirim konfigurasi pembayaran yang dapat diedit owner.Respons JSON
function update(PaymentSettingsRequest $request, PaymentSettings $settings, AuditLogger $audit): JsonResponseMemeriksa PNG QRIS dan kesiapan bank, mengunci singleton konfigurasi, menyimpan audit master, serta membersihkan file baru jika transaksi gagal.Batas transaksi
Kunci baris perubahan
Respons JSON
Tabel payment_settings, payment_settings_audit
function qris(string $filename, PaymentSettings $settings): BinaryFileResponseMengirim PNG QRIS yang namanya valid dan tersedia pada disk khusus.return response()->file(Storage::disk('payment_qris')->path($filename), [
function auditSnapshot(array $row): arrayMencatat metadata pembayaran dengan empat digit terakhir rekening sebagai pengganti nomor rekening lengkap.return [
Dependensi kode proyek yang diimpor
Buka kode asli bernomor baris

Kode hanya ditampilkan sebagai teks. Tidak dieksekusi oleh panduan. Nomor baris mengikuti sumber yang dibaca.

Identitas snapshot

SHA-256 6ef706b0f5f542f1d7dc129ce1894de6e89c6c12746f5ed555fa0480d7a00b76

app/Http/Controllers/PurchaseController.php100 baris · 3 fungsi bernama
Unggahan sumber 17 Oktober

Untuk apa

Pencatatan dan pembacaan pembelian cabang.

Jika diminta mengubah

Aturan stok baik dan rusak berada di RecordPurchase, PurchaseData, ReceiveStock, dan PurchaseIntegrity.

Fungsi dan metode

Fungsi dan input atau hasilPenjelasan singkatBukti source
function store(PurchaseRequest $request, RecordPurchase $record): JsonResponseMengubah input menjadi PurchaseData dan memanggil TP pencatatan pembelian.Respons JSON
function index(Request $request, TenantContext $context): JsonResponseMencari dan memaginasi pembelian cabang aktif beserta ringkasannya.Respons JSON
Tabel detail_pembelian as d, detail_pembelian
function show(int $id, TenantContext $context): JsonResponseMembaca header dan detail pembelian beserta nama produk pada cabang aktif.Respons JSON
Dependensi kode proyek yang diimpor
Buka kode asli bernomor baris

Kode hanya ditampilkan sebagai teks. Tidak dieksekusi oleh panduan. Nomor baris mengikuti sumber yang dibaca.

Identitas snapshot

SHA-256 0907d9be2d164799eae8559ba1a4fe468e0002b43def4414f972181458c0790e

app/Http/Controllers/PurchaseReturnController.php107 baris · 4 fungsi bernama
Unggahan sumber 17 Oktober

Untuk apa

Retur pembelian dari stok karantina ke supplier.

Jika diminta mengubah

Aturan jumlah tersedia untuk retur ada pada RecordPurchaseReturn dan ReturnQuarantinedStock.

Fungsi dan metode

Fungsi dan input atau hasilPenjelasan singkatBukti source
function store(PurchaseReturnRequest $request, RecordPurchaseReturn $service): JsonResponseMemanggil TP retur pembelian setelah request tervalidasi.Respons JSON
function sources(Request $request, TenantContext $context): JsonResponseMemilih pembelian dan sisa item yang dapat diretur.Respons JSON
Tabel pembelian, detail_pembelian, detail_retur_pembelian as d, produk_cabang
function index(Request $request, TenantContext $context): JsonResponseMembaca riwayat retur pembelian cabang dengan filter.Respons JSON
Tabel retur_pembelian as r
function show(int $id, TenantContext $context): JsonResponseMembaca detail retur pembelian pada cabang aktif.Respons JSON
Tabel retur_pembelian as r, detail_retur_pembelian
Dependensi kode proyek yang diimpor
Buka kode asli bernomor baris

Kode hanya ditampilkan sebagai teks. Tidak dieksekusi oleh panduan. Nomor baris mengikuti sumber yang dibaca.

Identitas snapshot

SHA-256 a0a341204a775762b9c9cd39a319a1ac3bdb5103845cfa4dfb43a309c572d6b0

app/Http/Controllers/ReportController.php59 baris · 3 fungsi bernama
Unggahan sumber 17 Oktober

Untuk apa

Pintu masuk laporan owner dan audit log.

Jika diminta mengubah

Jenis laporan baru memerlukan ReportReader, filter ReportScope, pilihan frontend, dan pengujian akses.

Fungsi dan metode

Fungsi dan input atau hasilPenjelasan singkatBukti source
function options(Request $request, BusinessAccess $access, ReportScope $scope, ReportReader $reader): JsonResponseMengirim jenis laporan dan pilihan filter yang boleh digunakan.Batas transaksi
Respons JSON
function report(Request $request, string $type, BusinessAccess $access, ReportScope $scope, ReportReader $reader): JsonResponseMemvalidasi cakupan laporan dan mengirim hasil dari ReportReader.Batas transaksi
Respons JSON
function audit(Request $request, BusinessAccess $access, ReportScope $scope, AuditReader $reader): JsonResponseMemvalidasi filter audit lalu membaca audit yang sudah disaring dari AuditReader.Batas transaksi
Respons JSON
Dependensi kode proyek yang diimpor
Buka kode asli bernomor baris

Kode hanya ditampilkan sebagai teks. Tidak dieksekusi oleh panduan. Nomor baris mengikuti sumber yang dibaca.

Identitas snapshot

SHA-256 83c211fad20ce852aef5d43694d0ca94800c39446be752ebad55af0baa18d85c

app/Http/Controllers/SaleApprovalController.php50 baris · 4 fungsi bernama
Unggahan sumber 17 Oktober

Untuk apa

Persetujuan harga khusus melalui URL bertanda tangan.

Jika diminta mengubah

Ubah aturan keputusan pada DecideSpecialPriceSale. Signature tidak menggantikan pemeriksaan akun dan pemisahan pelaku.

Fungsi dan metode

Fungsi dan input atau hasilPenjelasan singkatBukti source
function __construct(private TenantResolver $resolver, private TenantContext $context)Menerima dependensi atau data awal objek. Parameter bertipe disediakan pemanggil atau container Laravel sesuai jalurnya.Lihat signature dan isi fungsi.
function show(Request $request, int $id, DecideSpecialPriceSale $approval): JsonResponseMengikat tenant dari tautan sah dan meminta preview pengajuan.Respons JSON
function decide(ApprovalDecisionRequest $request, int $id, DecideSpecialPriceSale $approval): JsonResponseMengikat tenant, membaca keputusan, lalu menjalankan keputusan harga khusus.Respons JSON
function bindSignedTenant(Request $request): ResolvedTenantMemeriksa ID cabang dari query signed dan menetapkan konteks tenant yang sesuai.Panggilan resolver.resolve, context.set
Dependensi kode proyek yang diimpor
Buka kode asli bernomor baris

Kode hanya ditampilkan sebagai teks. Tidak dieksekusi oleh panduan. Nomor baris mengikuti sumber yang dibaca.

Identitas snapshot

SHA-256 ee4ed0c7a2569896d98195f7efb162de469290a36adb3164cd3a42b373de3b67

app/Http/Controllers/SaleReturnController.php96 baris · 4 fungsi bernama
Unggahan sumber 17 Oktober

Untuk apa

Retur penjualan, refund tercatat, dan tukar barang.

Jika diminta mengubah

Pembayaran refund tidak terhubung otomatis ke bank. Perhitungan dan stok berada di RecordSaleReturn.

Fungsi dan metode

Fungsi dan input atau hasilPenjelasan singkatBukti source
function store(SaleReturnRequest $request, RecordSaleReturn $service): JsonResponseMemanggil TP retur penjualan setelah validasi.Respons JSON
function sources(Request $request, TenantContext $context): JsonResponseMembaca transaksi selesai dan sisa jumlah yang dapat diretur.Respons JSON
Tabel penjualan as p, detail_penjualan, detail_retur_penjualan as d
function index(Request $request, TenantContext $context): JsonResponseMembaca daftar retur cabang beserta ringkasan nilai refund.Respons JSON
Tabel retur_penjualan as r
function show(int $id, TenantContext $context): JsonResponseMembaca satu retur dan itemnya pada cabang aktif.Respons JSON
Tabel retur_penjualan as r, detail_retur_penjualan
Dependensi kode proyek yang diimpor
Buka kode asli bernomor baris

Kode hanya ditampilkan sebagai teks. Tidak dieksekusi oleh panduan. Nomor baris mengikuti sumber yang dibaca.

Identitas snapshot

SHA-256 e023fcbac9fdbcc207f1bdc39fbcc535e51c46e1caa200e9fc7c5ab8e5265cb3

app/Http/Controllers/SalesController.php133 baris · 5 fungsi bernama
Unggahan sumber 17 Oktober

Untuk apa

API kasir, pengajuan harga khusus, dan riwayat penjualan toko.

Jika diminta mengubah

Harga normal ada pada SalePricing, harga khusus pada workflow approval, tampilan pada PosPanel.

Fungsi dan metode

Fungsi dan input atau hasilPenjelasan singkatBukti source
function store(SaleRequest $request, CreateRetailSale $create): JsonResponseMenjalankan CreateRetailSale dengan SaleData dan mengirim nota hasil.Respons JSON
function special(SpecialPriceSaleRequest $request, RequestSpecialPriceSale $create): JsonResponseMenjalankan pengajuan harga khusus lalu mengirim 202.Respons JSON
function index(Request $request, TenantContext $context): JsonResponseMencari transaksi OFFLINE cabang menurut pencarian, metode, tanggal, dan status.Respons JSON
function show(int $id, TenantContext $context): JsonResponseMembaca satu transaksi OFFLINE pada tenant aktif.Respons JSON
function enrichSales(Collection $sales): CollectionMenambahkan nama produk, nilai per item, dan informasi nota ke hasil penjualan.return $sales->map(function (Penjualan $sale) use ($products): array {
Dependensi kode proyek yang diimpor
Buka kode asli bernomor baris

Kode hanya ditampilkan sebagai teks. Tidak dieksekusi oleh panduan. Nomor baris mengikuti sumber yang dibaca.

Identitas snapshot

SHA-256 33c8db18cf83443806d7a06f394eb5bfaf18cef83713708e7115e789a0a6de2b

app/Http/Controllers/ServiceController.php190 baris · 10 fungsi bernama
Unggahan sumber 17 Oktober

Untuk apa

Daftar servis, pilihan teknisi, detail, log, sparepart, foto, serta pemanggilan TP servis.

Jika diminta mengubah

Aturan transisi berada di ServiceStatus dan ServiceWorkflow. Teknisi hanya membaca pekerjaan yang ditugaskan kepadanya.

Fungsi dan metode

Fungsi dan input atau hasilPenjelasan singkatBukti source
function mutate(ServiceRequest $request): JsonResponseMemilih kelas TP berdasarkan operation route, memanggil handle, lalu membaca hasil servis.Respons JSON
function index(Request $request): JsonResponseMemvalidasi pencarian dan filter servis, membatasi akses teknisi, lalu memaginasi hasil.Respons JSON
function options(Request $request): JsonResponseMengirim pilihan teknisi aktif yang sesuai cabang dan berbeda dari penerima.Respons JSON
function show(Request $request, int $id): JsonResponseMembaca detail servis melalui query yang sudah dibatasi akses.Respons JSON
function logs(Request $request, int $id): JsonResponseMengirim log servis dari lingkup query pengguna.Respons JSON
function parts(Request $request, int $id): JsonResponseMengirim sparepart untuk servis yang dapat diakses.Respons JSON
function photo(Request $request, int $id, int $log, ServicePhotoStorage $photos): StreamedResponseMemeriksa servis dan log foto yang terkait sebelum mengirim file privat.return $photos->response($entry->bukti_foto, (int) $service->id_cabang, $id);
function query(Request $request): BuilderMemasang filter cabang. Untuk teknisi, menambah filter ID teknisi yang sedang login.return $query;
function detailData(Servis $service): arrayMenyusun detail servis, nama teknisi, sparepart, dan nilai biaya.return $part->toArray() + ['nama_produk' => $names[$part->id_produk] ?? 'Produk #'.$part->id_produk];
function logsData(Servis $service): arrayMenyusun kronologi dan tautan foto log yang diperbolehkan.return $service->logs()->orderBy('id_log_servis')->get()->map(function ($log) use ($service): array {
Dependensi kode proyek yang diimpor
Buka kode asli bernomor baris

Kode hanya ditampilkan sebagai teks. Tidak dieksekusi oleh panduan. Nomor baris mengikuti sumber yang dibaca.

Identitas snapshot

SHA-256 a575b39518f2aeb4f0f9e0a7d141dca9cd11fb76aa543824496b86083dd5d0e5

app/Http/Controllers/StockTransferController.php160 baris · 9 fungsi bernama
Unggahan sumber 17 Oktober

Untuk apa

Pengajuan, preview, persetujuan, dan daftar transfer stok.

Jika diminta mengubah

Mutasi lintas database memakai DistributedTransactionManager. Jangan menggantinya dengan dua update terpisah.

Fungsi dan metode

Fungsi dan input atau hasilPenjelasan singkatBukti source
function options(Request $request, BusinessAccess $access): JsonResponseMengirim cabang dan produk yang memiliki stok tersedia pada tenant asal.Batas transaksi
Respons JSON
Tabel produk_cabang
function index(Request $request, BusinessAccess $access): JsonResponseMemvalidasi filter, mencari mutasi masuk atau keluar cabang, dan memaginasi.Batas transaksi
Respons JSON
function show(Request $request, int $id, BusinessAccess $access): JsonResponseMembaca satu mutasi pada cabang yang berhubungan dengan mutasi.Batas transaksi
Respons JSON
function store(Request $request, RequestStockTransfer $transfer): JsonResponseMembentuk StockTransferData dan meminta transfer melalui TP.Respons JSON
function preview(Request $request, int $id, DecideStockTransfer $transfer): JsonResponseMemeriksa cabang dari signed URL lalu meminta preview keputusan.Respons JSON
function decide(ApprovalDecisionRequest $request, int $id, DecideStockTransfer $transfer): JsonResponseMeneruskan keputusan owner dan token kepada DecideStockTransfer.Respons JSON
function signedBranch(Request $request): intMemastikan ID cabang pada query merupakan bilangan bulat positif.return $id;
function scoped(int $branch): BuilderMembatasi query master pada mutasi dengan asal atau tujuan cabang aktif.Tabel mutasi_stok
function payload(object $header): arrayMenambahkan nama pengaju, approver, cabang, dan rincian item mutasi.Tabel detail_mutasi_stok AS d
Dependensi kode proyek yang diimpor
Buka kode asli bernomor baris

Kode hanya ditampilkan sebagai teks. Tidak dieksekusi oleh panduan. Nomor baris mengikuti sumber yang dibaca.

Identitas snapshot

SHA-256 96425e0fe7628aa1680d0ed122a412cb21e8d7090c607287711d35e880ee2e7c

app/Http/Controllers/WarrantyClaimController.php215 baris · 6 fungsi bernama
Unggahan sumber 17 Oktober

Untuk apa

Pembuatan klaim produk atau servis dan pengelolaan tahap garansi.

Jika diminta mengubah

Aturan status berada di WarrantyClaimStatus. Validitas sumber dan riwayat diperiksa layanan Integrity.

Fungsi dan metode

Fungsi dan input atau hasilPenjelasan singkatBukti source
function mutate(WarrantyClaimRequest $request): JsonResponseMemilih TP klaim berdasarkan operation lalu mengirim detail hasil.Respons JSON
function index(Request $request): JsonResponseMemvalidasi filter klaim, menyaring akses dan tahap, lalu memaginasi.Respons JSON
function show(Request $request, int $id): JsonResponseMembaca klaim dan audit tahap yang terkait.Respons JSON
Tabel audit_log
function query(Request $request): BuilderMembatasi data teknisi pada tahap teknis yang relevan.return $query;
function enrichClaims(Collection $claims): CollectionMenambahkan keterangan sumber servis atau penjualan, produk, dan pelanggan.Tabel servis, penjualan, pelanggan
function sources(Request $request): JsonResponseMencari sumber servis selesai atau item penjualan selesai serta keterangan masa garansi.Respons JSON
Tabel servis, detail_penjualan
Dependensi kode proyek yang diimpor
Buka kode asli bernomor baris

Kode hanya ditampilkan sebagai teks. Tidak dieksekusi oleh panduan. Nomor baris mengikuti sumber yang dibaca.

Identitas snapshot

SHA-256 aefded6e9a79b17207fee74f471dbfd871dd3c01cacc70c8171868a75431d734

app/Http/Middleware/AuthorizeTenantBroadcastChannel.php39 baris · 2 fungsi bernama
Unggahan sumber 17 Oktober

Untuk apa

Pemeriksaan akses channel privat Reverb sebelum subscribe.

Jika diminta mengubah

Channel baru perlu pola nama, pemeriksaan tenant, dan callback routes/channels.php.

Fungsi dan metode

Fungsi dan input atau hasilPenjelasan singkatBukti source
function __construct(private TenantContext $context)Menerima dependensi atau data awal objek. Parameter bertipe disediakan pemanggil atau container Laravel sesuai jalurnya.Lihat signature dan isi fungsi.
function handle(Request $request, Closure $next): ResponseMewajibkan nama private-tenant.ID, tenant session yang sama, akun aktif, dan penempatan cabang yang sah.Panggilan context.current
Dependensi kode proyek yang diimpor
Buka kode asli bernomor baris

Kode hanya ditampilkan sebagai teks. Tidak dieksekusi oleh panduan. Nomor baris mengikuti sumber yang dibaca.

Identitas snapshot

SHA-256 5b6b62d2f4671546202541df8bd540426787a9a249bd61a789920e59e9b65dce

app/Http/Middleware/BroadcastMutationChanges.php129 baris · 6 fungsi bernama
Unggahan sumber 17 Oktober

Untuk apa

Mengumumkan perubahan bisnis setelah respons mutasi berhasil.

Jika diminta mengubah

Tambah area atau pengecualian realtime di sini. Data lengkap tetap dibaca ulang melalui API yang berizin.

Fungsi dan metode

Fungsi dan input atau hasilPenjelasan singkatBukti source
function __construct(private TenantContext $tenantContext)Menerima dependensi atau data awal objek. Parameter bertipe disediakan pemanggil atau container Laravel sesuai jalurnya.Lihat signature dan isi fungsi.
function handle(Request $request, Closure $next): ResponseMengirim BusinessDataChanged untuk mutasi sukses. Kegagalan broadcast dicatat tanpa membatalkan transaksi bisnis yang sudah selesai.return $response;
function shouldBroadcast(Request $request, Response $response): boolMemilih mutasi API dengan status 2xx dan mengecualikan route autentikasi atau pemilihan cabang tertentu.return false;
function branchId(Request $request, Response $response): ?intMenentukan cabang terkait dari konteks atau metadata request dan respons.Panggilan tenantContext.current
function area(Request $request): stringMengubah route menjadi area perubahan.return match (true) {
function resourceId(Request $request, Response $response): ?intMengambil ID resource yang berubah jika tersedia.return (int) $routeId;
Dependensi kode proyek yang diimpor
Buka kode asli bernomor baris

Kode hanya ditampilkan sebagai teks. Tidak dieksekusi oleh panduan. Nomor baris mengikuti sumber yang dibaca.

Identitas snapshot

SHA-256 1d00a2bba3ccee29352a43b8b2ba05953b5ef95cc6621e354ac72c7f0d59f76a

app/Http/Middleware/EnsureAccountSession.php38 baris · 2 fungsi bernama
Unggahan sumber 17 Oktober

Untuk apa

Mendeteksi session yang tidak cocok lagi dengan akun terbaru.

Jika diminta mengubah

Tambah atribut identitas yang harus memutus session pada Pengguna.sessionIdentity dan sesuaikan observer serta tes.

Fungsi dan metode

Fungsi dan input atau hasilPenjelasan singkatBukti source
function __construct(private TenantContext $context)Menerima dependensi atau data awal objek. Parameter bertipe disediakan pemanggil atau container Laravel sesuai jalurnya.Lihat signature dan isi fungsi.
function handle(Request $request, Closure $next): ResponseMembersihkan konteks request, memuat akun terbaru, membandingkan identitas session, dan membatalkan session jika role, cabang, atau status berubah.Respons JSON
Panggilan context.clear
Dependensi kode proyek yang diimpor
Buka kode asli bernomor baris

Kode hanya ditampilkan sebagai teks. Tidak dieksekusi oleh panduan. Nomor baris mengikuti sumber yang dibaca.

Identitas snapshot

SHA-256 bc0b076be1a52bffabca5ead926ab34ffa6bc8bdb8ce33e2c612c21dbc3b5260

app/Http/Middleware/EnsureTenantAccess.php48 baris · 2 fungsi bernama
Unggahan sumber 17 Oktober

Untuk apa

Menetapkan tenant dari akun dan session yang dipercaya backend.

Jika diminta mengubah

Jangan mengambil tenant pegawai hanya dari parameter kiriman browser.

Fungsi dan metode

Fungsi dan input atau hasilPenjelasan singkatBukti source
function __construct( private TenantResolver $resolver, private TenantContext $context, private InstanceTenantGuard $instanceTenantGuard, )Menerima dependensi atau data awal objek. Parameter bertipe disediakan pemanggil atau container Laravel sesuai jalurnya.Lihat signature dan isi fungsi.
function handle(Request $request, Closure $next, string $mode = 'required'): ResponseMemilih tenant owner dari session atau pegawai dari penempatan, memeriksa konsistensi, memvalidasi instance, lalu mengisi TenantContext.Panggilan context.clear, resolver.resolve, instanceTenantGuard.assertAllows, context.set
Assertion assertAllows
Dependensi kode proyek yang diimpor
Buka kode asli bernomor baris

Kode hanya ditampilkan sebagai teks. Tidak dieksekusi oleh panduan. Nomor baris mengikuti sumber yang dibaca.

Identitas snapshot

SHA-256 9d8a32c7056de0689bfd2b99463e7e2c4fb018d1133aa1932688f4da2e18dceb

app/Http/Middleware/InstanceRoutingCookie.php49 baris · 1 fungsi bernama
Unggahan sumber 17 Oktober

Untuk apa

Petunjuk routing reverse proxy ke instance cabang.

Jika diminta mengubah

Cookie routing bukan bukti otorisasi. Backend tetap memeriksa TenantContext dan akun.

Fungsi dan metode

Fungsi dan input atau hasilPenjelasan singkatBukti source
function handle(Request $request, Closure $next): ResponseMenentukan cookie instance dari cabang session untuk request berikutnya dan membuang petunjuk yang tidak sesuai.return $response;
Buka kode asli bernomor baris

Kode hanya ditampilkan sebagai teks. Tidak dieksekusi oleh panduan. Nomor baris mengikuti sumber yang dibaca.

Identitas snapshot

SHA-256 e7e9da122232bc5418421cd8b3514f88c75d503f5f00b29c623e1a880fb36ce0

app/Http/Middleware/RequireRole.php18 baris · 1 fungsi bernama
Unggahan sumber 17 Oktober

Untuk apa

Pemeriksaan role pada route backend.

Jika diminta mengubah

Ubah kewenangan melalui RoleAccess, route, registry TP, dan pengujian akses sekaligus.

Fungsi dan metode

Fungsi dan input atau hasilPenjelasan singkatBukti source
function handle(Request $request, Closure $next, string ...$roles): ResponseMemeriksa pengguna dan canActAs terhadap daftar role pada middleware route. Respons 403 jika tidak diizinkan.return $next($request);
Buka kode asli bernomor baris

Kode hanya ditampilkan sebagai teks. Tidak dieksekusi oleh panduan. Nomor baris mengikuti sumber yang dibaca.

Identitas snapshot

SHA-256 e9014c5fe87cd70e246a0c1810b2b6c63f3ddf2a3cfe1001069d2b804e20e7fc

app/Http/Middleware/RequireSpaSession.php19 baris · 1 fungsi bernama
Unggahan sumber 17 Oktober

Untuk apa

Mewajibkan autentikasi dengan session SPA aplikasi.

Jika diminta mengubah

Token bearer tidak dipakai sebagai jalur alternatif login aplikasi ini.

Fungsi dan metode

Fungsi dan input atau hasilPenjelasan singkatBukti source
function handle(Request $request, Closure $next): ResponseMenolak request tanpa session stateful Sanctum atau request yang membawa bearer token.Respons JSON
Buka kode asli bernomor baris

Kode hanya ditampilkan sebagai teks. Tidak dieksekusi oleh panduan. Nomor baris mengikuti sumber yang dibaca.

Identitas snapshot

SHA-256 c8bc7b15ae28e38e9c7b01da9df575857e8268d258372dc6193b97195653684c

app/Http/Middleware/SecurityHeaders.php135 baris · 3 fungsi bernama
Revisi ZIP v5

Untuk apa

Header keamanan HTTP dan normalisasi query halaman masuk.

Jika diminta mengubah

Kebijakan respons publik dapat ditimpa Nginx. Pemeriksaan harus dilakukan pada domain yang diakses pengguna.

Fungsi dan metode

Fungsi dan input atau hasilPenjelasan singkatBukti source
function handle(Request $request, Closure $next): ResponseMengalihkan query halaman yang tidak dikenal ke path bersih, lalu memasang header keamanan dan aturan cache.return $response;
function invalidPageQuery(Request $request): boolMemeriksa query GET atau HEAD khusus / dan /login. Query tracking serta approval yang sesuai pola tetap dipertahankan.return false;
function contentSecurityPolicy(): stringMembentuk CSP untuk produksi, lokal, pengujian, WebSocket, serta CAPTCHA opsional.return implode('; ', $directives);
Buka kode asli bernomor baris

Kode hanya ditampilkan sebagai teks. Tidak dieksekusi oleh panduan. Nomor baris mengikuti sumber yang dibaca.

Identitas snapshot

SHA-256 5bcccf5c8985cccac996fdda3fa3e2a654470201ab617e4dd339572c727e3ba6

app/Http/Middleware/ValidateApiPayload.php45 baris · 1 fungsi bernama
Unggahan sumber 17 Oktober

Untuk apa

Batas tipe dan ukuran body mutasi API.

Jika diminta mengubah

Batas upload juga harus cocok dengan PHP dan client_max_body_size Nginx.

Fungsi dan metode

Fungsi dan input atau hasilPenjelasan singkatBukti source
function handle(Request $request, Closure $next): ResponseMenolak tipe body yang tidak didukung, JSON terlalu besar, JSON rusak, atau bentuk dasar yang tidak sesuai.return $next($request);
Buka kode asli bernomor baris

Kode hanya ditampilkan sebagai teks. Tidak dieksekusi oleh panduan. Nomor baris mengikuti sumber yang dibaca.

Identitas snapshot

SHA-256 487d673914e1259fcc817dc0dba27f98076f8fd9762dc8a063516ff2bb5bdb98

app/Http/Requests/ApprovalDecisionRequest.php30 baris · 3 fungsi bernama
Unggahan sumber 17 Oktober

Untuk apa

Keputusan setujui atau tolak oleh owner dan penolakan field tambahan.

Jika diminta mengubah

Edit authorize untuk kewenangan, rules untuk batas input, dan normalisasi bila ada. Form frontend hanya pemeriksaan awal pengguna.

Fungsi dan metode

Fungsi dan input atau hasilPenjelasan singkatBukti source
function authorize(): boolMemutuskan apakah request boleh dilanjutkan sebelum validasi. Kondisi user atau kemampuan yang dipakai tampak pada ekspresi return di kode.return $this->user()?->isOwner() ?? false;
function rules(): arrayMenetapkan aturan input atau mendelegasikannya kepada DTO. Setiap key, batas dan enum asli dapat dilihat pada tabel aturan serta kode fungsi.return [
function after(): arrayMenambahkan pemeriksaan setelah validation dasar, terutama menolak field yang tidak ada dalam allowlist operasi.Panggilan request.all
Aturan field asli
Potongan aturanBaris
'keputusan' => ['required', 'string', 'in:setujui,tolak'],18
Buka kode asli bernomor baris

Kode hanya ditampilkan sebagai teks. Tidak dieksekusi oleh panduan. Nomor baris mengikuti sumber yang dibaca.

Identitas snapshot

SHA-256 c936f6ccc9e13c7cd2cb1c1d7e039a3c50884a82d4502b5af67cfd27d0517b97

app/Http/Requests/BranchRequest.php18 baris · 2 fungsi bernama
Unggahan sumber 17 Oktober

Untuk apa

ID cabang tujuan perubahan penempatan pegawai.

Jika diminta mengubah

Edit authorize untuk kewenangan, rules untuk batas input, dan normalisasi bila ada. Form frontend hanya pemeriksaan awal pengguna.

Fungsi dan metode

Fungsi dan input atau hasilPenjelasan singkatBukti source
function authorize(): boolMemutuskan apakah request boleh dilanjutkan sebelum validasi. Kondisi user atau kemampuan yang dipakai tampak pada ekspresi return di kode.return $this->user()?->canActAs('admin') ?? false;
function rules(): arrayMenetapkan aturan input atau mendelegasikannya kepada DTO. Setiap key, batas dan enum asli dapat dilihat pada tabel aturan serta kode fungsi.return ['id_cabang' => ['required', 'integer', 'min:1']];
Buka kode asli bernomor baris

Kode hanya ditampilkan sebagai teks. Tidak dieksekusi oleh panduan. Nomor baris mengikuti sumber yang dibaca.

Identitas snapshot

SHA-256 5a3658dfb44fc637fe2001eaa20ed9a6444c413c2092e52cd1251b0dbc27de0d

app/Http/Requests/BusinessRequest.php20 baris · 1 fungsi bernama
Unggahan sumber 17 Oktober

Untuk apa

Induk Request bisnis yang menolak field tingkat atas di luar rules.

Jika diminta mengubah

Edit authorize untuk kewenangan, rules untuk batas input, dan normalisasi bila ada. Form frontend hanya pemeriksaan awal pengguna.

Fungsi dan metode

Fungsi dan input atau hasilPenjelasan singkatBukti source
function after(): arrayMenambahkan pemeriksaan setelah validation dasar, terutama menolak field yang tidak ada dalam allowlist operasi.return [function (Validator $validator): void {
Buka kode asli bernomor baris

Kode hanya ditampilkan sebagai teks. Tidak dieksekusi oleh panduan. Nomor baris mengikuti sumber yang dibaca.

Identitas snapshot

SHA-256 1d2fa3b4ec028a84f39ba51b6d23f96d465e3f2c7052629157da25a72e19bc36

app/Http/Requests/ChangeOwnPasswordRequest.php20 baris · 2 fungsi bernama
Unggahan sumber 17 Oktober

Untuk apa

Password lama, password baru minimal 12 karakter, dan konfirmasi.

Jika diminta mengubah

Edit authorize untuk kewenangan, rules untuk batas input, dan normalisasi bila ada. Form frontend hanya pemeriksaan awal pengguna.

Fungsi dan metode

Fungsi dan input atau hasilPenjelasan singkatBukti source
function authorize(): boolMemutuskan apakah request boleh dilanjutkan sebelum validasi. Kondisi user atau kemampuan yang dipakai tampak pada ekspresi return di kode.return $this->user() !== null;
function rules(): arrayMenetapkan aturan input atau mendelegasikannya kepada DTO. Setiap key, batas dan enum asli dapat dilihat pada tabel aturan serta kode fungsi.return [
Aturan field asli
Potongan aturanBaris
'current_password' => ['required', 'string', 'max:128'],15
'password' => ['required', 'string', 'min:12', 'max:128', 'confirmed', 'different:current_password'],16
'password_confirmation' => ['required', 'string', 'max:128'],17
Buka kode asli bernomor baris

Kode hanya ditampilkan sebagai teks. Tidak dieksekusi oleh panduan. Nomor baris mengikuti sumber yang dibaca.

Identitas snapshot

SHA-256 6ec3ddb6f0e42f55553b1acc6256c0e424f4a5efebc67424a2668fc9514192a9

app/Http/Requests/ChangeOwnProfileRequest.php34 baris · 3 fungsi bernama
Unggahan sumber 17 Oktober

Untuk apa

Nama dan email unik untuk profil owner sendiri.

Jika diminta mengubah

Edit authorize untuk kewenangan, rules untuk batas input, dan normalisasi bila ada. Form frontend hanya pemeriksaan awal pengguna.

Fungsi dan metode

Fungsi dan input atau hasilPenjelasan singkatBukti source
function authorize(): boolMemutuskan apakah request boleh dilanjutkan sebelum validasi. Kondisi user atau kemampuan yang dipakai tampak pada ekspresi return di kode.return $this->user()?->isOwner() ?? false;
function prepareForValidation(): voidMenormalisasi field sebelum rules dievaluasi, misalnya trim, email huruf kecil, atau nilai kosong menjadi null.Lihat signature dan isi fungsi.
function rules(): arrayMenetapkan aturan input atau mendelegasikannya kepada DTO. Setiap key, batas dan enum asli dapat dilihat pada tabel aturan serta kode fungsi.return [
Aturan field asli
Potongan aturanBaris
'nama_pengguna' => ['required', 'string', 'max:100'],25
'email' => [26
Buka kode asli bernomor baris

Kode hanya ditampilkan sebagai teks. Tidak dieksekusi oleh panduan. Nomor baris mengikuti sumber yang dibaca.

Identitas snapshot

SHA-256 d1edc29ca73f315884946383a2bcc489102cb1f7d0f9420d836c39b5c926fd6a

app/Http/Requests/CustomerRequest.php41 baris · 3 fungsi bernama
Unggahan sumber 17 Oktober

Untuk apa

Nama, WhatsApp, email dan alamat pelanggan serta normalisasinya.

Jika diminta mengubah

Edit authorize untuk kewenangan, rules untuk batas input, dan normalisasi bila ada. Form frontend hanya pemeriksaan awal pengguna.

Fungsi dan metode

Fungsi dan input atau hasilPenjelasan singkatBukti source
function authorize(): boolMemutuskan apakah request boleh dilanjutkan sebelum validasi. Kondisi user atau kemampuan yang dipakai tampak pada ekspresi return di kode.return $this->user()?->canActAs('kasir') ?? false;
function prepareForValidation(): voidMenormalisasi field sebelum rules dievaluasi, misalnya trim, email huruf kecil, atau nilai kosong menjadi null.Lihat signature dan isi fungsi.
function rules(): arrayMenetapkan aturan input atau mendelegasikannya kepada DTO. Setiap key, batas dan enum asli dapat dilihat pada tabel aturan serta kode fungsi.return [
Aturan field asli
Potongan aturanBaris
'nama_pelanggan' => [$creating ? 'required' : 'sometimes', 'string', 'min:1', 'max:100'],35
'no_wa' => ['sometimes', 'nullable', 'string', 'max:20', 'regex:/^[0-9+() .-]+$/'],36
'email' => ['sometimes', 'nullable', 'email:rfc', 'max:100'],37
'alamat' => ['sometimes', 'nullable', 'string', 'max:2000'],38
Buka kode asli bernomor baris

Kode hanya ditampilkan sebagai teks. Tidak dieksekusi oleh panduan. Nomor baris mengikuti sumber yang dibaca.

Identitas snapshot

SHA-256 31c5120242f0c02344dbd6bba7ef6d2a1aec1c734ae0d7553a8a35df25c479e1

app/Http/Requests/EmployeeRequest.php29 baris · 2 fungsi bernama
Unggahan sumber 17 Oktober

Untuk apa

Nama, email unik, role pegawai selain owner, cabang, status, password atau mode undangan.

Jika diminta mengubah

Edit authorize untuk kewenangan, rules untuk batas input, dan normalisasi bila ada. Form frontend hanya pemeriksaan awal pengguna.

Fungsi dan metode

Fungsi dan input atau hasilPenjelasan singkatBukti source
function authorize(): boolMemutuskan apakah request boleh dilanjutkan sebelum validasi. Kondisi user atau kemampuan yang dipakai tampak pada ekspresi return di kode.return $this->user()?->canActAs('owner') ?? false;
function rules(): arrayMenetapkan aturan input atau mendelegasikannya kepada DTO. Setiap key, batas dan enum asli dapat dilihat pada tabel aturan serta kode fungsi.return [
Aturan field asli
Potongan aturanBaris
'nama_pengguna' => [$creating ? 'required' : 'sometimes', 'string', 'max:100'],20
'email' => [$creating ? 'required' : 'sometimes', 'email:rfc', 'max:100', Rule::unique('master.pengguna', 'email')->ignore($id, 'id_pengguna')],21
'role' => [$creating ? 'required' : 'sometimes', Rule::in(['admin', 'kasir', 'teknisi'])],22
'id_cabang' => [$creating ? 'required' : 'sometimes', 'integer', 'min:1', 'max:2147483647'],23
'status_akun' => ['sometimes', Rule::in(['aktif', 'nonaktif'])],24
'password' => [$creating && $this->input('activation_mode') !== 'undangan' ? 'required' : 'sometimes', $creating && $this->input('activation_mode') === 'undangan' ? 'prohibited' : 'nullable', 'string', 'min:12', 'max:128'],25
'activation_mode' => [$creating ? 'sometimes' : 'prohibited', Rule::in(['manual', 'undangan'])],26
Buka kode asli bernomor baris

Kode hanya ditampilkan sebagai teks. Tidak dieksekusi oleh panduan. Nomor baris mengikuti sumber yang dibaca.

Identitas snapshot

SHA-256 aca16ab5fbe44a860c8573d71ff86c97e7cab975ff89c13a931c557fad8dc2dc

app/Http/Requests/InstitutionInvoiceRequest.php31 baris · 3 fungsi bernama
Unggahan sumber 17 Oktober

Untuk apa

Kewenangan dan input menurut operasi nota instansi.

Jika diminta mengubah

Edit authorize untuk kewenangan, rules untuk batas input, dan normalisasi bila ada. Form frontend hanya pemeriksaan awal pengguna.

Fungsi dan metode

Fungsi dan input atau hasilPenjelasan singkatBukti source
function authorize(): boolMemutuskan apakah request boleh dilanjutkan sebelum validasi. Kondisi user atau kemampuan yang dipakai tampak pada ekspresi return di kode.return $this->route('operation') === 'decide'
function rules(): arrayMenetapkan aturan input atau mendelegasikannya kepada DTO. Setiap key, batas dan enum asli dapat dilihat pada tabel aturan serta kode fungsi.return InstitutionInvoiceData::rules((string) $this->route('operation'));
function after(): arrayMenambahkan pemeriksaan setelah validation dasar, terutama menolak field yang tidak ada dalam allowlist operasi.Panggilan request.all
Dependensi kode proyek yang diimpor
Buka kode asli bernomor baris

Kode hanya ditampilkan sebagai teks. Tidak dieksekusi oleh panduan. Nomor baris mengikuti sumber yang dibaca.

Identitas snapshot

SHA-256 f034b94f884f4a912355cd80d9257b4bf282bcf2d18a9deef8175ad1b293a738

app/Http/Requests/LoginRequest.php25 baris · 3 fungsi bernama
Revisi ZIP v5

Untuk apa

Normalisasi email serta bentuk email, password dan token CAPTCHA opsional.

Jika diminta mengubah

Edit authorize untuk kewenangan, rules untuk batas input, dan normalisasi bila ada. Form frontend hanya pemeriksaan awal pengguna.

Fungsi dan metode

Fungsi dan input atau hasilPenjelasan singkatBukti source
function authorize(): boolMemutuskan apakah request boleh dilanjutkan sebelum validasi. Kondisi user atau kemampuan yang dipakai tampak pada ekspresi return di kode.return true;
function prepareForValidation(): voidMenormalisasi field sebelum rules dievaluasi, misalnya trim, email huruf kecil, atau nilai kosong menjadi null.Lihat signature dan isi fungsi.
function rules(): arrayMenetapkan aturan input atau mendelegasikannya kepada DTO. Setiap key, batas dan enum asli dapat dilihat pada tabel aturan serta kode fungsi.return ['email' => ['required', 'string', 'email', 'max:100'], 'password' => ['required', 'string', 'max:1024'], 'captcha_token' => ['sometimes', '
Buka kode asli bernomor baris

Kode hanya ditampilkan sebagai teks. Tidak dieksekusi oleh panduan. Nomor baris mengikuti sumber yang dibaca.

Identitas snapshot

SHA-256 21f8988b01a86a43977cd05fb159fae59eeaf62d9cfc6cac8f3f6476e9015e16

app/Http/Requests/MasterDataRequest.php18 baris · 2 fungsi bernama
Unggahan sumber 17 Oktober

Untuk apa

Kewenangan dan rules dinamis cabang, supplier atau produk.

Jika diminta mengubah

Edit authorize untuk kewenangan, rules untuk batas input, dan normalisasi bila ada. Form frontend hanya pemeriksaan awal pengguna.

Fungsi dan metode

Fungsi dan input atau hasilPenjelasan singkatBukti source
function authorize(): boolMemutuskan apakah request boleh dilanjutkan sebelum validasi. Kondisi user atau kemampuan yang dipakai tampak pada ekspresi return di kode.return $this->user()?->canActAs('admin') ?? false;
function rules(): arrayMenetapkan aturan input atau mendelegasikannya kepada DTO. Setiap key, batas dan enum asli dapat dilihat pada tabel aturan serta kode fungsi.return MasterDataDefinition::rules($this->route('entity'), $this->route('id') ? (int) $this->route('id') : null);
Dependensi kode proyek yang diimpor
Buka kode asli bernomor baris

Kode hanya ditampilkan sebagai teks. Tidak dieksekusi oleh panduan. Nomor baris mengikuti sumber yang dibaca.

Identitas snapshot

SHA-256 5dfd40300a81373bbffad35c838d42baac73b700c6677f93b57db266d6b91508

app/Http/Requests/OnlineCheckoutRequest.php49 baris · 4 fungsi bernama
Unggahan sumber 17 Oktober

Untuk apa

Input checkout publik serta kesiapan metode pembayaran yang dipilih.

Jika diminta mengubah

Edit authorize untuk kewenangan, rules untuk batas input, dan normalisasi bila ada. Form frontend hanya pemeriksaan awal pengguna.

Fungsi dan metode

Fungsi dan input atau hasilPenjelasan singkatBukti source
function authorize(): boolMemutuskan apakah request boleh dilanjutkan sebelum validasi. Kondisi user atau kemampuan yang dipakai tampak pada ekspresi return di kode.return true;
function rules(): arrayMenetapkan aturan input atau mendelegasikannya kepada DTO. Setiap key, batas dan enum asli dapat dilihat pada tabel aturan serta kode fungsi.return OnlineOrderData::rules();
function messages(): arrayMengganti pesan validation default dengan pesan form checkout berbahasa Indonesia.return [
function withValidator($validator): voidMenolak transfer bank atau QRIS ketika konfigurasi metode belum siap, meskipun nilai metodenya sudah lolos enum.Lihat signature dan isi fungsi.
Dependensi kode proyek yang diimpor
Buka kode asli bernomor baris

Kode hanya ditampilkan sebagai teks. Tidak dieksekusi oleh panduan. Nomor baris mengikuti sumber yang dibaca.

Identitas snapshot

SHA-256 b5cd1c84f2e7ef24571989d26fcf7f82d3377754eb06e37819ac40bdf08dcaf9

app/Http/Requests/OnlineOrderActionRequest.php19 baris · 2 fungsi bernama
Unggahan sumber 17 Oktober

Untuk apa

Input tindakan kasir pada pesanan online menurut operasi route.

Jika diminta mengubah

Edit authorize untuk kewenangan, rules untuk batas input, dan normalisasi bila ada. Form frontend hanya pemeriksaan awal pengguna.

Fungsi dan metode

Fungsi dan input atau hasilPenjelasan singkatBukti source
function authorize(): boolMemutuskan apakah request boleh dilanjutkan sebelum validasi. Kondisi user atau kemampuan yang dipakai tampak pada ekspresi return di kode.return $this->user()?->canActAs(OnlineOrderStatus::internalCapability()) ?? false;
function rules(): arrayMenetapkan aturan input atau mendelegasikannya kepada DTO. Setiap key, batas dan enum asli dapat dilihat pada tabel aturan serta kode fungsi.return OnlineOrderActionData::rules((string) $this->route('operation'));
Dependensi kode proyek yang diimpor
Buka kode asli bernomor baris

Kode hanya ditampilkan sebagai teks. Tidak dieksekusi oleh panduan. Nomor baris mengikuti sumber yang dibaca.

Identitas snapshot

SHA-256 2ad234eb1ce8de71fb3324ac824d34bfddeb1ab73d78359f13bf0a80489875d8

app/Http/Requests/OnlinePaymentProofRequest.php25 baris · 2 fungsi bernama
Unggahan sumber 17 Oktober

Untuk apa

File bukti JPEG, PNG, WebP atau PDF dan batas ukuran.

Jika diminta mengubah

Edit authorize untuk kewenangan, rules untuk batas input, dan normalisasi bila ada. Form frontend hanya pemeriksaan awal pengguna.

Fungsi dan metode

Fungsi dan input atau hasilPenjelasan singkatBukti source
function authorize(): boolMemutuskan apakah request boleh dilanjutkan sebelum validasi. Kondisi user atau kemampuan yang dipakai tampak pada ekspresi return di kode.return true;
function rules(): arrayMenetapkan aturan input atau mendelegasikannya kepada DTO. Setiap key, batas dan enum asli dapat dilihat pada tabel aturan serta kode fungsi.return [
Aturan field asli
Potongan aturanBaris
'bukti_pembayaran' => [17
Buka kode asli bernomor baris

Kode hanya ditampilkan sebagai teks. Tidak dieksekusi oleh panduan. Nomor baris mengikuti sumber yang dibaca.

Identitas snapshot

SHA-256 da324f212bcde2dc0263a2b3873ef1b8d89b5619f6a3f6f53e0f47c235080756

app/Http/Requests/PaymentSettingsRequest.php26 baris · 2 fungsi bernama
Unggahan sumber 17 Oktober

Untuk apa

Input rekening, sakelar metode pembayaran dan file QRIS PNG.

Jika diminta mengubah

Edit authorize untuk kewenangan, rules untuk batas input, dan normalisasi bila ada. Form frontend hanya pemeriksaan awal pengguna.

Fungsi dan metode

Fungsi dan input atau hasilPenjelasan singkatBukti source
function authorize(): boolMemutuskan apakah request boleh dilanjutkan sebelum validasi. Kondisi user atau kemampuan yang dipakai tampak pada ekspresi return di kode.return $this->user()?->isOwner() === true;
function rules(): arrayMenetapkan aturan input atau mendelegasikannya kepada DTO. Setiap key, batas dan enum asli dapat dilihat pada tabel aturan serta kode fungsi.return [
Aturan field asli
Potongan aturanBaris
'bank_name' => ['nullable', 'string', 'max:100'],17
'bank_account' => ['nullable', 'string', 'max:40', 'regex:/^[0-9\s]+$/D'],18
'bank_beneficiary' => ['nullable', 'string', 'max:120'],19
'bank_enabled' => ['required', 'boolean'],20
'qris_enabled' => ['required', 'boolean'],21
'qris_image' => ['nullable', 'file', 'mimes:png', 'max:2048'],22
'remove_qris' => ['required', 'boolean'],23
Buka kode asli bernomor baris

Kode hanya ditampilkan sebagai teks. Tidak dieksekusi oleh panduan. Nomor baris mengikuti sumber yang dibaca.

Identitas snapshot

SHA-256 756ff97f0cec5a90866b8b0be376d19d30cfd5df214cf4b144f2153eb82ebef9

app/Http/Requests/PurchaseRequest.php18 baris · 2 fungsi bernama
Unggahan sumber 17 Oktober

Untuk apa

Input pembelian melalui PurchaseData.

Jika diminta mengubah

Edit authorize untuk kewenangan, rules untuk batas input, dan normalisasi bila ada. Form frontend hanya pemeriksaan awal pengguna.

Fungsi dan metode

Fungsi dan input atau hasilPenjelasan singkatBukti source
function authorize(): boolMemutuskan apakah request boleh dilanjutkan sebelum validasi. Kondisi user atau kemampuan yang dipakai tampak pada ekspresi return di kode.return $this->user()?->canActAs('admin') ?? false;
function rules(): arrayMenetapkan aturan input atau mendelegasikannya kepada DTO. Setiap key, batas dan enum asli dapat dilihat pada tabel aturan serta kode fungsi.return PurchaseData::rules();
Dependensi kode proyek yang diimpor
Buka kode asli bernomor baris

Kode hanya ditampilkan sebagai teks. Tidak dieksekusi oleh panduan. Nomor baris mengikuti sumber yang dibaca.

Identitas snapshot

SHA-256 3cf3488a82d5a50e70e2575bc4b549c61d02574b3f490d2d4d8d8816e8c7d96a

app/Http/Requests/PurchaseReturnRequest.php20 baris · 2 fungsi bernama
Unggahan sumber 17 Oktober

Untuk apa

Input retur pembelian melalui ReturnData.

Jika diminta mengubah

Edit authorize untuk kewenangan, rules untuk batas input, dan normalisasi bila ada. Form frontend hanya pemeriksaan awal pengguna.

Fungsi dan metode

Fungsi dan input atau hasilPenjelasan singkatBukti source
function authorize(): boolMemutuskan apakah request boleh dilanjutkan sebelum validasi. Kondisi user atau kemampuan yang dipakai tampak pada ekspresi return di kode.return $this->user()?->canActAs('admin') ?? false;
function rules(): arrayMenetapkan aturan input atau mendelegasikannya kepada DTO. Setiap key, batas dan enum asli dapat dilihat pada tabel aturan serta kode fungsi.return ReturnData::rules(true);
Dependensi kode proyek yang diimpor
Buka kode asli bernomor baris

Kode hanya ditampilkan sebagai teks. Tidak dieksekusi oleh panduan. Nomor baris mengikuti sumber yang dibaca.

Identitas snapshot

SHA-256 e941343868247560c82a69630703f07d13188e701a6c0fd9d6be4974e8e3df7f

app/Http/Requests/SaleRequest.php18 baris · 2 fungsi bernama
Unggahan sumber 17 Oktober

Untuk apa

Input penjualan normal melalui SaleData.

Jika diminta mengubah

Edit authorize untuk kewenangan, rules untuk batas input, dan normalisasi bila ada. Form frontend hanya pemeriksaan awal pengguna.

Fungsi dan metode

Fungsi dan input atau hasilPenjelasan singkatBukti source
function authorize(): boolMemutuskan apakah request boleh dilanjutkan sebelum validasi. Kondisi user atau kemampuan yang dipakai tampak pada ekspresi return di kode.return $this->user()?->canActAs('kasir') ?? false;
function rules(): arrayMenetapkan aturan input atau mendelegasikannya kepada DTO. Setiap key, batas dan enum asli dapat dilihat pada tabel aturan serta kode fungsi.return SaleData::rules();
Dependensi kode proyek yang diimpor
Buka kode asli bernomor baris

Kode hanya ditampilkan sebagai teks. Tidak dieksekusi oleh panduan. Nomor baris mengikuti sumber yang dibaca.

Identitas snapshot

SHA-256 7fc289207bdc70f7c2c6b3df6df83f0b3034501206174f72d7ceedad1e744c87

app/Http/Requests/SaleReturnRequest.php20 baris · 2 fungsi bernama
Unggahan sumber 17 Oktober

Untuk apa

Input retur penjualan melalui ReturnData.

Jika diminta mengubah

Edit authorize untuk kewenangan, rules untuk batas input, dan normalisasi bila ada. Form frontend hanya pemeriksaan awal pengguna.

Fungsi dan metode

Fungsi dan input atau hasilPenjelasan singkatBukti source
function authorize(): boolMemutuskan apakah request boleh dilanjutkan sebelum validasi. Kondisi user atau kemampuan yang dipakai tampak pada ekspresi return di kode.return $this->user()?->canActAs('kasir') ?? false;
function rules(): arrayMenetapkan aturan input atau mendelegasikannya kepada DTO. Setiap key, batas dan enum asli dapat dilihat pada tabel aturan serta kode fungsi.return ReturnData::rules(false);
Dependensi kode proyek yang diimpor
Buka kode asli bernomor baris

Kode hanya ditampilkan sebagai teks. Tidak dieksekusi oleh panduan. Nomor baris mengikuti sumber yang dibaca.

Identitas snapshot

SHA-256 48cc1f4ae5ae6ed5f0104eb1fb10d5a85becc3879f9aea2d119cb8572b5fc0f1

app/Http/Requests/ServiceRequest.php19 baris · 2 fungsi bernama
Unggahan sumber 17 Oktober

Untuk apa

Input dan kemampuan pelaku sesuai operasi servis.

Jika diminta mengubah

Edit authorize untuk kewenangan, rules untuk batas input, dan normalisasi bila ada. Form frontend hanya pemeriksaan awal pengguna.

Fungsi dan metode

Fungsi dan input atau hasilPenjelasan singkatBukti source
function authorize(): boolMemutuskan apakah request boleh dilanjutkan sebelum validasi. Kondisi user atau kemampuan yang dipakai tampak pada ekspresi return di kode.return $this->user()?->canActAs(ServiceStatus::capability($this->route('operation'))) ?? false;
function rules(): arrayMenetapkan aturan input atau mendelegasikannya kepada DTO. Setiap key, batas dan enum asli dapat dilihat pada tabel aturan serta kode fungsi.return ServiceData::rules($this->route('operation'));
Dependensi kode proyek yang diimpor
Buka kode asli bernomor baris

Kode hanya ditampilkan sebagai teks. Tidak dieksekusi oleh panduan. Nomor baris mengikuti sumber yang dibaca.

Identitas snapshot

SHA-256 355cc08e7957425b130d871bb4d3f568be783cd62c96879db6fe03a809370520

app/Http/Requests/SpecialPriceSaleRequest.php18 baris · 2 fungsi bernama
Unggahan sumber 17 Oktober

Untuk apa

Input pengajuan harga khusus melalui SpecialPriceSaleData.

Jika diminta mengubah

Edit authorize untuk kewenangan, rules untuk batas input, dan normalisasi bila ada. Form frontend hanya pemeriksaan awal pengguna.

Fungsi dan metode

Fungsi dan input atau hasilPenjelasan singkatBukti source
function authorize(): boolMemutuskan apakah request boleh dilanjutkan sebelum validasi. Kondisi user atau kemampuan yang dipakai tampak pada ekspresi return di kode.return $this->user()?->canActAs('kasir') ?? false;
function rules(): arrayMenetapkan aturan input atau mendelegasikannya kepada DTO. Setiap key, batas dan enum asli dapat dilihat pada tabel aturan serta kode fungsi.return SpecialPriceSaleData::rules();
Dependensi kode proyek yang diimpor
Buka kode asli bernomor baris

Kode hanya ditampilkan sebagai teks. Tidak dieksekusi oleh panduan. Nomor baris mengikuti sumber yang dibaca.

Identitas snapshot

SHA-256 aaa0d5973f71d5e46c545c2861f0de0848fd57c5ab89207e363b59956f394096

app/Http/Requests/WarrantyClaimRequest.php19 baris · 2 fungsi bernama
Unggahan sumber 17 Oktober

Untuk apa

Input dan kemampuan pelaku sesuai operasi klaim.

Jika diminta mengubah

Edit authorize untuk kewenangan, rules untuk batas input, dan normalisasi bila ada. Form frontend hanya pemeriksaan awal pengguna.

Fungsi dan metode

Fungsi dan input atau hasilPenjelasan singkatBukti source
function authorize(): boolMemutuskan apakah request boleh dilanjutkan sebelum validasi. Kondisi user atau kemampuan yang dipakai tampak pada ekspresi return di kode.return $this->user()?->canActAs(WarrantyClaimStatus::capability($this->route('operation'))) ?? false;
function rules(): arrayMenetapkan aturan input atau mendelegasikannya kepada DTO. Setiap key, batas dan enum asli dapat dilihat pada tabel aturan serta kode fungsi.return WarrantyClaimData::rules($this->route('operation'));
Dependensi kode proyek yang diimpor
Buka kode asli bernomor baris

Kode hanya ditampilkan sebagai teks. Tidak dieksekusi oleh panduan. Nomor baris mengikuti sumber yang dibaca.

Identitas snapshot

SHA-256 fbd0704d31bfba1d22e4e2c7f7ed243d970408a97efb46654c070fe1e958eb13

app/Http/Resources/PenggunaResource.php29 baris · 1 fungsi bernama
Unggahan sumber 17 Oktober

Untuk apa

Bentuk data akun yang dikirim ke frontend.

Jika diminta mengubah

Tambahkan field yang boleh dibaca ke toArray, jangan menserialisasi seluruh model.

Fungsi dan metode

Fungsi dan input atau hasilPenjelasan singkatBukti source
function toArray(Request $request): arrayMengirim identitas pengguna, role, status, cabang penempatan dan cabang aktif tanpa password_hash atau token.return [
Dependensi kode proyek yang diimpor
Buka kode asli bernomor baris

Kode hanya ditampilkan sebagai teks. Tidak dieksekusi oleh panduan. Nomor baris mengikuti sumber yang dibaca.

Identitas snapshot

SHA-256 367cb8835b6ccdfcabb58b6f611e275caca8f67aae838fdacff05068e5f097da

app/Mail/EmployeeActivationMail.php20 baris · 2 fungsi bernama
Unggahan sumber 17 Oktober

Untuk apa

Pembentuk email aktivasi pegawai.

Jika diminta mengubah

Layout teks berada pada Blade resources/views/mail yang dirujuk build.

Fungsi dan metode

Fungsi dan input atau hasilPenjelasan singkatBukti source
function __construct(public string $employeeName, public string $activationUrl)Menerima dependensi atau data awal objek. Parameter bertipe disediakan pemanggil atau container Laravel sesuai jalurnya.Lihat signature dan isi fungsi.
function build(): staticMenetapkan subjek, view, dan data email aktivasi pegawai. Jangan mencatat nilai token atau kode ke log.return $this->subject('Aktivasi Akun Pegawai Rajawali Computer')
Buka kode asli bernomor baris

Kode hanya ditampilkan sebagai teks. Tidak dieksekusi oleh panduan. Nomor baris mengikuti sumber yang dibaca.

Identitas snapshot

SHA-256 0a717260734841ee9643d382383f29a614da16e393dac10f42a3d979dd64926f

app/Mail/StaffLoginCodeMail.php21 baris · 2 fungsi bernama
Revisi ZIP v5

Untuk apa

Pembentuk email kode login.

Jika diminta mengubah

Layout teks berada pada Blade resources/views/mail yang dirujuk build.

Fungsi dan metode

Fungsi dan input atau hasilPenjelasan singkatBukti source
function __construct(public string $verificationCode)Menerima dependensi atau data awal objek. Parameter bertipe disediakan pemanggil atau container Laravel sesuai jalurnya.Lihat signature dan isi fungsi.
function build(): staticMenetapkan subjek, view, dan data email kode login. Jangan mencatat nilai token atau kode ke log.return $this->subject('Kode verifikasi login Rajawali Computer')
Buka kode asli bernomor baris

Kode hanya ditampilkan sebagai teks. Tidak dieksekusi oleh panduan. Nomor baris mengikuti sumber yang dibaca.

Identitas snapshot

SHA-256 1618d5f16563b50e5df5b7f869b97d1413455a0f9de7447e588ad6e1270f98ab

app/Models/AuditLog.php45 baris · 4 fungsi bernama
Unggahan sumber 17 Oktober

Untuk apa

Snapshot perubahan bisnis dan kejadian keamanan tenant yang hanya boleh ditambah.

Jika diminta mengubah

Mapping table, primaryKey, connection, casts dan relasi berada di model. Aturan transaksi dan perubahan stok tetap berada pada layanan TP.

Fungsi dan metode

Fungsi dan input atau hasilPenjelasan singkatBukti source
function save(array $options = []): boolMenolak jalur perubahan yang tidak diperbolehkan untuk histori append-only atau model kunci gabungan. Perhatikan apakah save hanya mengizinkan record baru.return parent::save($options);
function delete(): ?boolMenolak jalur perubahan yang tidak diperbolehkan untuk histori append-only atau model kunci gabungan. Perhatikan apakah save hanya mengizinkan record baru.Lihat signature dan isi fungsi.
function newEloquentBuilder(mixed $query): AppendOnlyLogBuilderMengganti builder biasa dengan AppendOnlyLogBuilder agar update atau delete melalui query model juga ditolak.return new AppendOnlyLogBuilder($query);
function casts(): arrayMengatur konversi tipe atribut model. Pasangan atribut dan tipe asli terlihat pada potongan fungsi ini.return [

Mapping model

PropertiNilai kode
$table'audit_log'
$primaryKey'id_audit_log'
$timestampsfalse
Dependensi kode proyek yang diimpor
Buka kode asli bernomor baris

Kode hanya ditampilkan sebagai teks. Tidak dieksekusi oleh panduan. Nomor baris mengikuti sumber yang dibaca.

Identitas snapshot

SHA-256 f2b078094a68c1cf5fcff5fecd997282cde0c8b9d18c79f62a32f8f4fefb64fb

app/Models/Cabang.php30 baris · 1 fungsi bernama
Unggahan sumber 17 Oktober

Untuk apa

Identitas dan status cabang pada master.

Jika diminta mengubah

Mapping table, primaryKey, connection, casts dan relasi berada di model. Aturan transaksi dan perubahan stok tetap berada pada layanan TP.

Fungsi dan metode

Fungsi dan input atau hasilPenjelasan singkatBukti source
function casts(): arrayMengatur konversi tipe atribut model. Pasangan atribut dan tipe asli terlihat pada potongan fungsi ini.return ['created_at' => 'immutable_datetime', 'updated_at' => 'immutable_datetime'];

Mapping model

PropertiNilai kode
$connection'master'
$table'cabang'
$primaryKey'id_cabang'
$incrementingtrue
$keyType'int'
$dateFormat'Y-m-d H:i:sP'
$guarded['*']
Buka kode asli bernomor baris

Kode hanya ditampilkan sebagai teks. Tidak dieksekusi oleh panduan. Nomor baris mengikuti sumber yang dibaca.

Identitas snapshot

SHA-256 f38fd060b87f633299a6a1d41e47352c8b7fc7f1e789948fbda20b0e15795e41

app/Models/Concerns/AppendOnlyLogBuilder.php49 baris · 8 fungsi bernama
Unggahan sumber 17 Oktober

Untuk apa

Builder yang menolak jalur update, delete, upsert dan operasi pengubah angka pada histori.

Jika diminta mengubah

Mapping table, primaryKey, connection, casts dan relasi berada di model. Aturan transaksi dan perubahan stok tetap berada pada layanan TP.

Fungsi dan metode

Fungsi dan input atau hasilPenjelasan singkatBukti source
function update(array $values): neverMenolak perubahan histori melalui Eloquent builder dengan exception.Lihat signature dan isi fungsi.
function delete(): neverMenolak jalur perubahan yang tidak diperbolehkan untuk histori append-only atau model kunci gabungan. Perhatikan apakah save hanya mengizinkan record baru.Lihat signature dan isi fungsi.
function forceDelete(): neverMenolak jalur perubahan yang tidak diperbolehkan untuk histori append-only atau model kunci gabungan. Perhatikan apakah save hanya mengizinkan record baru.Lihat signature dan isi fungsi.
function upsert(array $values, mixed $uniqueBy, mixed $update = null): neverMenolak jalur perubahan yang tidak diperbolehkan untuk histori append-only atau model kunci gabungan. Perhatikan apakah save hanya mengizinkan record baru.Lihat signature dan isi fungsi.
function increment(mixed $column, mixed $amount = 1, array $extra = []): neverMenolak jalur perubahan yang tidak diperbolehkan untuk histori append-only atau model kunci gabungan. Perhatikan apakah save hanya mengizinkan record baru.Lihat signature dan isi fungsi.
function decrement(mixed $column, mixed $amount = 1, array $extra = []): neverMenolak jalur perubahan yang tidak diperbolehkan untuk histori append-only atau model kunci gabungan. Perhatikan apakah save hanya mengizinkan record baru.Lihat signature dan isi fungsi.
function incrementEach(array $columns, array $extra = []): neverMenolak jalur perubahan yang tidak diperbolehkan untuk histori append-only atau model kunci gabungan. Perhatikan apakah save hanya mengizinkan record baru.Lihat signature dan isi fungsi.
function decrementEach(array $columns, array $extra = []): neverMenolak jalur perubahan yang tidak diperbolehkan untuk histori append-only atau model kunci gabungan. Perhatikan apakah save hanya mengizinkan record baru.Lihat signature dan isi fungsi.
Buka kode asli bernomor baris

Kode hanya ditampilkan sebagai teks. Tidak dieksekusi oleh panduan. Nomor baris mengikuti sumber yang dibaca.

Identitas snapshot

SHA-256 3e265b002e88e79269d803e32b881af50d2e1066c9f3295dbb9bec1b7d831396

app/Models/Concerns/CompositeKeyReadOnly.php22 baris · 2 fungsi bernama
Unggahan sumber 17 Oktober

Untuk apa

Trait yang mencegah save atau delete model dengan kunci gabungan yang tidak disebut lengkap.

Jika diminta mengubah

Mapping table, primaryKey, connection, casts dan relasi berada di model. Aturan transaksi dan perubahan stok tetap berada pada layanan TP.

Fungsi dan metode

Fungsi dan input atau hasilPenjelasan singkatBukti source
function save(array $options = []): boolMenolak jalur perubahan yang tidak diperbolehkan untuk histori append-only atau model kunci gabungan. Perhatikan apakah save hanya mengizinkan record baru.Lihat signature dan isi fungsi.
function delete(): ?boolMenolak jalur perubahan yang tidak diperbolehkan untuk histori append-only atau model kunci gabungan. Perhatikan apakah save hanya mengizinkan record baru.Lihat signature dan isi fungsi.
Buka kode asli bernomor baris

Kode hanya ditampilkan sebagai teks. Tidak dieksekusi oleh panduan. Nomor baris mengikuti sumber yang dibaca.

Identitas snapshot

SHA-256 21bf43efd96ec387d87905c4f91b99d787680c00cf8ad1ebe2fa2f3866c7a700

app/Models/DetailMutasiStok.php38 baris · 3 fungsi bernama
Unggahan sumber 17 Oktober

Untuk apa

Produk dan jumlah tiap mutasi pada master dengan kunci gabungan.

Jika diminta mengubah

Mapping table, primaryKey, connection, casts dan relasi berada di model. Aturan transaksi dan perubahan stok tetap berada pada layanan TP.

Fungsi dan metode

Fungsi dan input atau hasilPenjelasan singkatBukti source
function casts(): arrayMengatur konversi tipe atribut model. Pasangan atribut dan tipe asli terlihat pada potongan fungsi ini.return [
function produk(): BelongsToMendefinisikan relasi Eloquent dengan model tujuan serta foreign key dan owner key yang disebutkan. Relasi bukan penyalin data otomatis.return $this->belongsTo(Produk::class, 'id_produk', 'id_produk');
function mutasi(): BelongsToMendefinisikan relasi Eloquent dengan model tujuan serta foreign key dan owner key yang disebutkan. Relasi bukan penyalin data otomatis.return $this->belongsTo(MutasiStok::class, 'id_mutasi_stok', 'id_mutasi_stok');

Mapping model

PropertiNilai kode
$table'detail_mutasi_stok'
$primaryKeynull
$incrementingfalse
$timestampsfalse
Dependensi kode proyek yang diimpor
Buka kode asli bernomor baris

Kode hanya ditampilkan sebagai teks. Tidak dieksekusi oleh panduan. Nomor baris mengikuti sumber yang dibaca.

Identitas snapshot

SHA-256 ca0f5c591b125a8c9e80ff20bfa0d72cdc031dc3022f4de959d3f149b7703b98

app/Models/DetailPembelian.php40 baris · 3 fungsi bernama
Unggahan sumber 17 Oktober

Untuk apa

Item penerimaan, harga beli dan jumlah rusak dengan kunci gabungan.

Jika diminta mengubah

Mapping table, primaryKey, connection, casts dan relasi berada di model. Aturan transaksi dan perubahan stok tetap berada pada layanan TP.

Fungsi dan metode

Fungsi dan input atau hasilPenjelasan singkatBukti source
function casts(): arrayMengatur konversi tipe atribut model. Pasangan atribut dan tipe asli terlihat pada potongan fungsi ini.return [
function pembelian(): BelongsToMendefinisikan relasi Eloquent dengan model tujuan serta foreign key dan owner key yang disebutkan. Relasi bukan penyalin data otomatis.return $this->belongsTo(Pembelian::class, 'id_pembelian', 'id_pembelian');
function produk(): BelongsToMendefinisikan relasi Eloquent dengan model tujuan serta foreign key dan owner key yang disebutkan. Relasi bukan penyalin data otomatis.return $this->belongsTo(Produk::class, 'id_produk', 'id_produk');

Mapping model

PropertiNilai kode
$table'detail_pembelian'
$primaryKeynull
$incrementingfalse
$timestampsfalse
Dependensi kode proyek yang diimpor
Buka kode asli bernomor baris

Kode hanya ditampilkan sebagai teks. Tidak dieksekusi oleh panduan. Nomor baris mengikuti sumber yang dibaca.

Identitas snapshot

SHA-256 ab37fc8afbd0c46f447945a7bd28274bd4bdbf7077979186c724ee6826ceb10c

app/Models/DetailPenjualan.php40 baris · 3 fungsi bernama
Unggahan sumber 17 Oktober

Untuk apa

Item penjualan, harga transaksi dan tanggal garansi dengan kunci gabungan.

Jika diminta mengubah

Mapping table, primaryKey, connection, casts dan relasi berada di model. Aturan transaksi dan perubahan stok tetap berada pada layanan TP.

Fungsi dan metode

Fungsi dan input atau hasilPenjelasan singkatBukti source
function casts(): arrayMengatur konversi tipe atribut model. Pasangan atribut dan tipe asli terlihat pada potongan fungsi ini.return [
function produk(): BelongsToMendefinisikan relasi Eloquent dengan model tujuan serta foreign key dan owner key yang disebutkan. Relasi bukan penyalin data otomatis.return $this->belongsTo(Produk::class, 'id_produk', 'id_produk');
function penjualan(): BelongsToMendefinisikan relasi Eloquent dengan model tujuan serta foreign key dan owner key yang disebutkan. Relasi bukan penyalin data otomatis.return $this->belongsTo(Penjualan::class, 'id_penjualan', 'id_penjualan');

Mapping model

PropertiNilai kode
$table'detail_penjualan'
$primaryKeynull
$incrementingfalse
$timestampsfalse
Dependensi kode proyek yang diimpor
Buka kode asli bernomor baris

Kode hanya ditampilkan sebagai teks. Tidak dieksekusi oleh panduan. Nomor baris mengikuti sumber yang dibaca.

Identitas snapshot

SHA-256 7d8e886d79ce912ee80ee3386663976cf6d02d001361b7520bb4c13f86716e14

app/Models/DomainModel.php20 baris · 0 fungsi bernama
Unggahan sumber 17 Oktober

Untuk apa

Induk model domain master dengan mass assignment ditutup dan token approval disembunyikan.

Jika diminta mengubah

Mapping table, primaryKey, connection, casts dan relasi berada di model. Aturan transaksi dan perubahan stok tetap berada pada layanan TP.

Mapping model

PropertiNilai kode
$connection'master'
$guarded['*']
$dateFormat'Y-m-d H:i:sP'
$hidden['approval_token_hash']
Buka kode asli bernomor baris

Kode hanya ditampilkan sebagai teks. Tidak dieksekusi oleh panduan. Nomor baris mengikuti sumber yang dibaca.

Identitas snapshot

SHA-256 b3bfb4f736d9acaafefe046576b6069d9f765ae1ab4a9c0f5b135e1f6f2c5ff4

app/Models/KlaimGaransi.php31 baris · 2 fungsi bernama
Unggahan sumber 17 Oktober

Untuk apa

Status dan sumber klaim garansi.

Jika diminta mengubah

Mapping table, primaryKey, connection, casts dan relasi berada di model. Aturan transaksi dan perubahan stok tetap berada pada layanan TP.

Fungsi dan metode

Fungsi dan input atau hasilPenjelasan singkatBukti source
function casts(): arrayMengatur konversi tipe atribut model. Pasangan atribut dan tipe asli terlihat pada potongan fungsi ini.return [
function servis(): BelongsToMendefinisikan relasi Eloquent dengan model tujuan serta foreign key dan owner key yang disebutkan. Relasi bukan penyalin data otomatis.return $this->belongsTo(Servis::class, 'id_servis', 'id_servis');

Mapping model

PropertiNilai kode
$table'klaim_garansi'
$primaryKey'id_klaim_garansi'
Buka kode asli bernomor baris

Kode hanya ditampilkan sebagai teks. Tidak dieksekusi oleh panduan. Nomor baris mengikuti sumber yang dibaca.

Identitas snapshot

SHA-256 2c54a98dc23b3bd5f15d532e69ba3deb959ab024bef281da6ed33e89b9abcc7d

app/Models/LogServis.php49 baris · 5 fungsi bernama
Unggahan sumber 17 Oktober

Untuk apa

Kronologi servis yang hanya boleh ditambah.

Jika diminta mengubah

Mapping table, primaryKey, connection, casts dan relasi berada di model. Aturan transaksi dan perubahan stok tetap berada pada layanan TP.

Fungsi dan metode

Fungsi dan input atau hasilPenjelasan singkatBukti source
function save(array $options = []): boolMenolak jalur perubahan yang tidak diperbolehkan untuk histori append-only atau model kunci gabungan. Perhatikan apakah save hanya mengizinkan record baru.return parent::save($options);
function delete(): ?boolMenolak jalur perubahan yang tidak diperbolehkan untuk histori append-only atau model kunci gabungan. Perhatikan apakah save hanya mengizinkan record baru.Lihat signature dan isi fungsi.
function newEloquentBuilder(mixed $query): AppendOnlyLogBuilderMengganti builder biasa dengan AppendOnlyLogBuilder agar update atau delete melalui query model juga ditolak.return new AppendOnlyLogBuilder($query);
function casts(): arrayMengatur konversi tipe atribut model. Pasangan atribut dan tipe asli terlihat pada potongan fungsi ini.return [
function servis(): BelongsToMendefinisikan relasi Eloquent dengan model tujuan serta foreign key dan owner key yang disebutkan. Relasi bukan penyalin data otomatis.return $this->belongsTo(Servis::class, 'id_servis', 'id_servis');

Mapping model

PropertiNilai kode
$table'log_servis'
$primaryKey'id_log_servis'
Dependensi kode proyek yang diimpor
Buka kode asli bernomor baris

Kode hanya ditampilkan sebagai teks. Tidak dieksekusi oleh panduan. Nomor baris mengikuti sumber yang dibaca.

Identitas snapshot

SHA-256 0b15833ebe237011b1bcdd890942f5203e8ad93dd26ef14db5ec7793bde4e3d8

app/Models/MutasiStok.php32 baris · 2 fungsi bernama
Unggahan sumber 17 Oktober

Untuk apa

Header mutasi dan keputusan pada master.

Jika diminta mengubah

Mapping table, primaryKey, connection, casts dan relasi berada di model. Aturan transaksi dan perubahan stok tetap berada pada layanan TP.

Fungsi dan metode

Fungsi dan input atau hasilPenjelasan singkatBukti source
function casts(): arrayMengatur konversi tipe atribut model. Pasangan atribut dan tipe asli terlihat pada potongan fungsi ini.return [
function details(): HasManyMendefinisikan relasi Eloquent dengan model tujuan serta foreign key dan owner key yang disebutkan. Relasi bukan penyalin data otomatis.return $this->hasMany(DetailMutasiStok::class, 'id_mutasi_stok', 'id_mutasi_stok');

Mapping model

PropertiNilai kode
$table'mutasi_stok'
$primaryKey'id_mutasi_stok'
Buka kode asli bernomor baris

Kode hanya ditampilkan sebagai teks. Tidak dieksekusi oleh panduan. Nomor baris mengikuti sumber yang dibaca.

Identitas snapshot

SHA-256 3dc9e3f61d9e87e08bd2677ac8e977e0cf924a9f61b75332e5819553cbca6469

app/Models/Pelanggan.php18 baris · 1 fungsi bernama
Unggahan sumber 17 Oktober

Untuk apa

Data pelanggan masing-masing tenant.

Jika diminta mengubah

Mapping table, primaryKey, connection, casts dan relasi berada di model. Aturan transaksi dan perubahan stok tetap berada pada layanan TP.

Fungsi dan metode

Fungsi dan input atau hasilPenjelasan singkatBukti source
function casts(): arrayMengatur konversi tipe atribut model. Pasangan atribut dan tipe asli terlihat pada potongan fungsi ini.return [

Mapping model

PropertiNilai kode
$table'pelanggan'
$primaryKey'id_pelanggan'
Buka kode asli bernomor baris

Kode hanya ditampilkan sebagai teks. Tidak dieksekusi oleh panduan. Nomor baris mengikuti sumber yang dibaca.

Identitas snapshot

SHA-256 3bc82008bc2c33f0d3e9cb515c3a2bb7cf509ba89d8f91ba4e8e16a3e1893016

app/Models/Pembelian.php40 baris · 4 fungsi bernama
Unggahan sumber 17 Oktober

Untuk apa

Header penerimaan supplier pada tenant.

Jika diminta mengubah

Mapping table, primaryKey, connection, casts dan relasi berada di model. Aturan transaksi dan perubahan stok tetap berada pada layanan TP.

Fungsi dan metode

Fungsi dan input atau hasilPenjelasan singkatBukti source
function casts(): arrayMengatur konversi tipe atribut model. Pasangan atribut dan tipe asli terlihat pada potongan fungsi ini.return [
function details(): HasManyMendefinisikan relasi Eloquent dengan model tujuan serta foreign key dan owner key yang disebutkan. Relasi bukan penyalin data otomatis.return $this->hasMany(DetailPembelian::class, 'id_pembelian', 'id_pembelian');
function supplier(): BelongsToMendefinisikan relasi Eloquent dengan model tujuan serta foreign key dan owner key yang disebutkan. Relasi bukan penyalin data otomatis.return $this->belongsTo(Supplier::class, 'id_supplier', 'id_supplier');
function pengguna(): BelongsToMendefinisikan relasi Eloquent dengan model tujuan serta foreign key dan owner key yang disebutkan. Relasi bukan penyalin data otomatis.return $this->belongsTo(Pengguna::class, 'id_pengguna', 'id_pengguna');

Mapping model

PropertiNilai kode
$table'pembelian'
$primaryKey'id_pembelian'
Buka kode asli bernomor baris

Kode hanya ditampilkan sebagai teks. Tidak dieksekusi oleh panduan. Nomor baris mengikuti sumber yang dibaca.

Identitas snapshot

SHA-256 c4534ec4cbc0eb2abfd69af25fe6b9a014d9b7cd9c6d78cba90f053a2b21ae5b

app/Models/Pengguna.php78 baris · 6 fungsi bernama
Unggahan sumber 17 Oktober

Untuk apa

Akun autentikasi master, hash password, identitas session, role dan penempatan.

Jika diminta mengubah

Mapping table, primaryKey, connection, casts dan relasi berada di model. Aturan transaksi dan perubahan stok tetap berada pada layanan TP.

Fungsi dan metode

Fungsi dan input atau hasilPenjelasan singkatBukti source
function casts(): arrayMengatur konversi tipe atribut model. Pasangan atribut dan tipe asli terlihat pada potongan fungsi ini.return [
function email(): AttributeMenormalisasi email menjadi huruf kecil dan memangkas spasi saat atribut diset.return Attribute::make(set: fn (string $value) => mb_strtolower(trim($value)));
function cabang(): BelongsToMendefinisikan relasi Eloquent dengan model tujuan serta foreign key dan owner key yang disebutkan. Relasi bukan penyalin data otomatis.return $this->belongsTo(Cabang::class, 'id_cabang', 'id_cabang');
function sessionIdentity(): arrayMenghasilkan ID, role, cabang dan status untuk dibandingkan dengan identitas session.return [
function isOwner(): boolMendelegasikan pemeriksaan owner kepada RoleAccess.return RoleAccess::isOwner($this->role);
function canActAs(string ...$roles): boolMemakai aturan RoleAccess untuk kemampuan yang diminta.return RoleAccess::allows($this->role, $roles);

Mapping model

PropertiNilai kode
$connection'master'
$table'pengguna'
$primaryKey'id_pengguna'
$incrementingtrue
$keyType'int'
$dateFormat'Y-m-d H:i:sP'
$guarded['*']
$hidden['password_hash', 'approval_token_hash', 'remember_token']
$authPasswordName'password_hash'
$rememberTokenName''
Dependensi kode proyek yang diimpor
Buka kode asli bernomor baris

Kode hanya ditampilkan sebagai teks. Tidak dieksekusi oleh panduan. Nomor baris mengikuti sumber yang dibaca.

Identitas snapshot

SHA-256 37750af5858e8cc7164074e118b038e58f1885effb609c0a41434792340d3828

app/Models/Pengiriman.php28 baris · 2 fungsi bernama
Unggahan sumber 17 Oktober

Untuk apa

Data pengiriman satu penjualan online.

Jika diminta mengubah

Mapping table, primaryKey, connection, casts dan relasi berada di model. Aturan transaksi dan perubahan stok tetap berada pada layanan TP.

Fungsi dan metode

Fungsi dan input atau hasilPenjelasan singkatBukti source
function casts(): arrayMengatur konversi tipe atribut model. Pasangan atribut dan tipe asli terlihat pada potongan fungsi ini.return [
function penjualan(): BelongsToMendefinisikan relasi Eloquent dengan model tujuan serta foreign key dan owner key yang disebutkan. Relasi bukan penyalin data otomatis.return $this->belongsTo(Penjualan::class, 'id_penjualan', 'id_penjualan');

Mapping model

PropertiNilai kode
$table'pengiriman'
$primaryKey'id_pengiriman'
$timestampsfalse
Buka kode asli bernomor baris

Kode hanya ditampilkan sebagai teks. Tidak dieksekusi oleh panduan. Nomor baris mengikuti sumber yang dibaca.

Identitas snapshot

SHA-256 5fbc5a271fa7f8d75dd55cbf01b6d5b031faf808eb15e2c2b8f1853ffa8f2775

app/Models/Penjualan.php39 baris · 3 fungsi bernama
Unggahan sumber 17 Oktober

Untuk apa

Header penjualan toko atau online pada tenant.

Jika diminta mengubah

Mapping table, primaryKey, connection, casts dan relasi berada di model. Aturan transaksi dan perubahan stok tetap berada pada layanan TP.

Fungsi dan metode

Fungsi dan input atau hasilPenjelasan singkatBukti source
function casts(): arrayMengatur konversi tipe atribut model. Pasangan atribut dan tipe asli terlihat pada potongan fungsi ini.return [
function details(): HasManyMendefinisikan relasi Eloquent dengan model tujuan serta foreign key dan owner key yang disebutkan. Relasi bukan penyalin data otomatis.return $this->hasMany(DetailPenjualan::class, 'id_penjualan', 'id_penjualan');
function pelanggan(): BelongsToMendefinisikan relasi Eloquent dengan model tujuan serta foreign key dan owner key yang disebutkan. Relasi bukan penyalin data otomatis.return $this->belongsTo(Pelanggan::class, 'id_pelanggan', 'id_pelanggan');

Mapping model

PropertiNilai kode
$table'penjualan'
$primaryKey'id_penjualan'
Buka kode asli bernomor baris

Kode hanya ditampilkan sebagai teks. Tidak dieksekusi oleh panduan. Nomor baris mengikuti sumber yang dibaca.

Identitas snapshot

SHA-256 d5582c39e2a7faf1dd66cd4cae4ee398a53be7df9811b22aa914464af0cd1067

app/Models/Produk.php22 baris · 1 fungsi bernama
Unggahan sumber 17 Oktober

Untuk apa

Produk master, harga, kategori, merek, satuan dan garansi.

Jika diminta mengubah

Mapping table, primaryKey, connection, casts dan relasi berada di model. Aturan transaksi dan perubahan stok tetap berada pada layanan TP.

Fungsi dan metode

Fungsi dan input atau hasilPenjelasan singkatBukti source
function casts(): arrayMengatur konversi tipe atribut model. Pasangan atribut dan tipe asli terlihat pada potongan fungsi ini.return [

Mapping model

PropertiNilai kode
$table'produk'
$primaryKey'id_produk'
Buka kode asli bernomor baris

Kode hanya ditampilkan sebagai teks. Tidak dieksekusi oleh panduan. Nomor baris mengikuti sumber yang dibaca.

Identitas snapshot

SHA-256 38b8976dfd49b5a0cf9b5fb714c234430c10648f45e55413b0776646292fa42d

app/Models/ProdukCabang.php37 baris · 2 fungsi bernama
Unggahan sumber 17 Oktober

Untuk apa

Dua jenis stok per pasangan produk dan cabang.

Jika diminta mengubah

Mapping table, primaryKey, connection, casts dan relasi berada di model. Aturan transaksi dan perubahan stok tetap berada pada layanan TP.

Fungsi dan metode

Fungsi dan input atau hasilPenjelasan singkatBukti source
function casts(): arrayMengatur konversi tipe atribut model. Pasangan atribut dan tipe asli terlihat pada potongan fungsi ini.return [
function produk(): BelongsToMendefinisikan relasi Eloquent dengan model tujuan serta foreign key dan owner key yang disebutkan. Relasi bukan penyalin data otomatis.return $this->belongsTo(Produk::class, 'id_produk', 'id_produk');

Mapping model

PropertiNilai kode
$table'produk_cabang'
$primaryKeynull
$incrementingfalse
$timestampstrue
Dependensi kode proyek yang diimpor
Buka kode asli bernomor baris

Kode hanya ditampilkan sebagai teks. Tidak dieksekusi oleh panduan. Nomor baris mengikuti sumber yang dibaca.

Identitas snapshot

SHA-256 e50a0364c4a16b91803e1bfcb267681b4f0be4d587ad4403d1a5af8ac4ccfca7

app/Models/Servis.php45 baris · 4 fungsi bernama
Unggahan sumber 17 Oktober

Untuk apa

Unit servis, penerima, teknisi, biaya, garansi dan kronologi.

Jika diminta mengubah

Mapping table, primaryKey, connection, casts dan relasi berada di model. Aturan transaksi dan perubahan stok tetap berada pada layanan TP.

Fungsi dan metode

Fungsi dan input atau hasilPenjelasan singkatBukti source
function casts(): arrayMengatur konversi tipe atribut model. Pasangan atribut dan tipe asli terlihat pada potongan fungsi ini.return [
function pelanggan(): BelongsToMendefinisikan relasi Eloquent dengan model tujuan serta foreign key dan owner key yang disebutkan. Relasi bukan penyalin data otomatis.return $this->belongsTo(Pelanggan::class, 'id_pelanggan', 'id_pelanggan');
function spareparts(): HasManyMendefinisikan relasi Eloquent dengan model tujuan serta foreign key dan owner key yang disebutkan. Relasi bukan penyalin data otomatis.return $this->hasMany(SparepartServis::class, 'id_servis', 'id_servis');
function logs(): HasManyMendefinisikan relasi Eloquent dengan model tujuan serta foreign key dan owner key yang disebutkan. Relasi bukan penyalin data otomatis.return $this->hasMany(LogServis::class, 'id_servis', 'id_servis');

Mapping model

PropertiNilai kode
$table'servis'
$primaryKey'id_servis'
Buka kode asli bernomor baris

Kode hanya ditampilkan sebagai teks. Tidak dieksekusi oleh panduan. Nomor baris mengikuti sumber yang dibaca.

Identitas snapshot

SHA-256 e47251eda213cc03212fe0c4f35e0d8c8f4708e2ea246a2a5df1ed7a1f2f83d9

app/Models/SparepartServis.php40 baris · 3 fungsi bernama
Unggahan sumber 17 Oktober

Untuk apa

Produk yang digunakan pada servis dengan kunci gabungan.

Jika diminta mengubah

Mapping table, primaryKey, connection, casts dan relasi berada di model. Aturan transaksi dan perubahan stok tetap berada pada layanan TP.

Fungsi dan metode

Fungsi dan input atau hasilPenjelasan singkatBukti source
function casts(): arrayMengatur konversi tipe atribut model. Pasangan atribut dan tipe asli terlihat pada potongan fungsi ini.return [
function servis(): BelongsToMendefinisikan relasi Eloquent dengan model tujuan serta foreign key dan owner key yang disebutkan. Relasi bukan penyalin data otomatis.return $this->belongsTo(Servis::class, 'id_servis', 'id_servis');
function produk(): BelongsToMendefinisikan relasi Eloquent dengan model tujuan serta foreign key dan owner key yang disebutkan. Relasi bukan penyalin data otomatis.return $this->belongsTo(Produk::class, 'id_produk', 'id_produk');

Mapping model

PropertiNilai kode
$table'sparepart_servis'
$primaryKeynull
$incrementingfalse
$timestampsfalse
Dependensi kode proyek yang diimpor
Buka kode asli bernomor baris

Kode hanya ditampilkan sebagai teks. Tidak dieksekusi oleh panduan. Nomor baris mengikuti sumber yang dibaca.

Identitas snapshot

SHA-256 c195dcba9684d82b85c3b991bab29b0c7a7711935df9a335474fcfadee9a38ce

app/Models/Supplier.php18 baris · 1 fungsi bernama
Unggahan sumber 17 Oktober

Untuk apa

Supplier master.

Jika diminta mengubah

Mapping table, primaryKey, connection, casts dan relasi berada di model. Aturan transaksi dan perubahan stok tetap berada pada layanan TP.

Fungsi dan metode

Fungsi dan input atau hasilPenjelasan singkatBukti source
function casts(): arrayMengatur konversi tipe atribut model. Pasangan atribut dan tipe asli terlihat pada potongan fungsi ini.return [

Mapping model

PropertiNilai kode
$table'supplier'
$primaryKey'id_supplier'
Buka kode asli bernomor baris

Kode hanya ditampilkan sebagai teks. Tidak dieksekusi oleh panduan. Nomor baris mengikuti sumber yang dibaca.

Identitas snapshot

SHA-256 855c26babf7e659cd80a32f0d4fddb222a2639be52954472fee1acf0a4d73431

app/Models/TenantModel.php21 baris · 1 fungsi bernama
Unggahan sumber 17 Oktober

Untuk apa

Induk model tenant yang mewajibkan TenantContext sah untuk memilih koneksi.

Jika diminta mengubah

Mapping table, primaryKey, connection, casts dan relasi berada di model. Aturan transaksi dan perubahan stok tetap berada pada layanan TP.

Fungsi dan metode

Fungsi dan input atau hasilPenjelasan singkatBukti source
function getConnectionName(): stringMengambil koneksi dari tenant request yang sah dan menolak penggantian koneksi yang bertentangan.return $tenant->connection;

Mapping model

PropertiNilai kode
$connectionnull
Dependensi kode proyek yang diimpor
Buka kode asli bernomor baris

Kode hanya ditampilkan sebagai teks. Tidak dieksekusi oleh panduan. Nomor baris mengikuti sumber yang dibaca.

Identitas snapshot

SHA-256 577258715f4a34c12b310e1ec024d3ac138c7e070cd5927a0a2da60c079edbb0

app/Notifications/InstitutionInvoiceApprovalNotification.php25 baris · 3 fungsi bernama
Unggahan sumber 17 Oktober

Untuk apa

Notifikasi nota instansi.

Jika diminta mengubah

Ubah judul dan isi pada toMail serta template Blade yang dirujuk. Email bukan sumber kebenaran status transaksi.

Fungsi dan metode

Fungsi dan input atau hasilPenjelasan singkatBukti source
function __construct(public readonly string $approvalUrl, public readonly string $number)Menerima dependensi atau data awal objek. Parameter bertipe disediakan pemanggil atau container Laravel sesuai jalurnya.Lihat signature dan isi fungsi.
function via(object $notifiable): arrayMenetapkan kanal pengiriman notifikasi.return ['mail'];
function toMail(object $notifiable): MailMessageMenyusun subjek, isi, dan tautan terkait nota instansi.return (new MailMessage)->subject('Persetujuan nota instansi '.$this->number)
Buka kode asli bernomor baris

Kode hanya ditampilkan sebagai teks. Tidak dieksekusi oleh panduan. Nomor baris mengikuti sumber yang dibaca.

Identitas snapshot

SHA-256 28d3498ff91608a3ee8aa9c3105353dd0b1e7b0d469ef671ad7501198c567f4f

app/Notifications/OnlineOrderPaidNotification.php48 baris · 3 fungsi bernama
Unggahan sumber 17 Oktober

Untuk apa

Notifikasi pesanan online lunas.

Jika diminta mengubah

Ubah judul dan isi pada toMail serta template Blade yang dirujuk. Email bukan sumber kebenaran status transaksi.

Fungsi dan metode

Fungsi dan input atau hasilPenjelasan singkatBukti source
function __construct( public readonly string $trackingUrl, public readonly string $saleNumber, public readonly string $branchName, public readonly int $total, public readonly string $trackingCode, public readonly array $items, public readonly string $customerName = 'Pelanggan', public readonly string $paymentMethod = 'Pembayaran digital', public readonly string $fulfillmentMethod = 'Pesanan', )Menerima dependensi atau data awal objek. Parameter bertipe disediakan pemanggil atau container Laravel sesuai jalurnya.Lihat signature dan isi fungsi.
function via(object $notifiable): arrayMenetapkan kanal pengiriman notifikasi.return ['mail'];
function toMail(object $notifiable): MailMessageMenyusun subjek, isi, dan tautan terkait pesanan online lunas.return (new MailMessage)
Buka kode asli bernomor baris

Kode hanya ditampilkan sebagai teks. Tidak dieksekusi oleh panduan. Nomor baris mengikuti sumber yang dibaca.

Identitas snapshot

SHA-256 a9c56758d851d8e4acbfe17d433ea42656710bc200013b450311690ac01de264

app/Notifications/SpecialPriceApprovalNotification.php34 baris · 3 fungsi bernama
Unggahan sumber 17 Oktober

Untuk apa

Notifikasi harga khusus.

Jika diminta mengubah

Ubah judul dan isi pada toMail serta template Blade yang dirujuk. Email bukan sumber kebenaran status transaksi.

Fungsi dan metode

Fungsi dan input atau hasilPenjelasan singkatBukti source
function __construct( public readonly string $approvalUrl, public readonly string $saleNumber, public readonly string $branchName, )Menerima dependensi atau data awal objek. Parameter bertipe disediakan pemanggil atau container Laravel sesuai jalurnya.Lihat signature dan isi fungsi.
function via(object $notifiable): arrayMenetapkan kanal pengiriman notifikasi.return ['mail'];
function toMail(object $notifiable): MailMessageMenyusun subjek, isi, dan tautan terkait harga khusus.return (new MailMessage)
Buka kode asli bernomor baris

Kode hanya ditampilkan sebagai teks. Tidak dieksekusi oleh panduan. Nomor baris mengikuti sumber yang dibaca.

Identitas snapshot

SHA-256 d32bebd02eb8ce724fd88910563fae6698b570313e83e90173e310cf48e50878

app/Notifications/StockTransferApprovalNotification.php24 baris · 3 fungsi bernama
Unggahan sumber 17 Oktober

Untuk apa

Notifikasi transfer stok.

Jika diminta mengubah

Ubah judul dan isi pada toMail serta template Blade yang dirujuk. Email bukan sumber kebenaran status transaksi.

Fungsi dan metode

Fungsi dan input atau hasilPenjelasan singkatBukti source
function __construct(public readonly string $approvalUrl, public readonly int $transferId)Menerima dependensi atau data awal objek. Parameter bertipe disediakan pemanggil atau container Laravel sesuai jalurnya.Lihat signature dan isi fungsi.
function via(object $notifiable): arrayMenetapkan kanal pengiriman notifikasi.return ['mail'];
function toMail(object $notifiable): MailMessageMenyusun subjek, isi, dan tautan terkait transfer stok.return (new MailMessage)->subject('Persetujuan mutasi stok #'.$this->transferId)
Buka kode asli bernomor baris

Kode hanya ditampilkan sebagai teks. Tidak dieksekusi oleh panduan. Nomor baris mengikuti sumber yang dibaca.

Identitas snapshot

SHA-256 76c09197f0583d9f8403c291daf24f33190bea43f27fbf7ea9487e2bd84b14d3

app/Observers/PenggunaObserver.php16 baris · 1 fungsi bernama
Unggahan sumber 17 Oktober

Untuk apa

Reaksi ketika hak pengguna berubah melalui model.

Jika diminta mengubah

Query builder yang melewati event model tidak otomatis memanggil observer.

Fungsi dan metode

Fungsi dan input atau hasilPenjelasan singkatBukti source
function updated(Pengguna $pengguna): voidMencabut session jika id_cabang, role, atau status_akun berubah.Lihat signature dan isi fungsi.
Dependensi kode proyek yang diimpor
Buka kode asli bernomor baris

Kode hanya ditampilkan sebagai teks. Tidak dieksekusi oleh panduan. Nomor baris mengikuti sumber yang dibaca.

Identitas snapshot

SHA-256 3a30b0d6b16bae000c1b2451fd912791871cbd847022f21de5d6e4188994164b

app/Providers/AppServiceProvider.php57 baris · 2 fungsi bernama
Revisi ZIP v5

Untuk apa

Pendaftaran tenant scoped, observer pengguna, pembatasan Sanctum, dan rate limiter login.

Jika diminta mengubah

Tambah layanan scoped pada register. Aturan awal aplikasi dan limiter berada pada boot.

Fungsi dan metode

Fungsi dan input atau hasilPenjelasan singkatBukti source
function register(): voidMendaftarkan TenantContext dengan masa hidup satu request.Panggilan app.scoped
function boot(): voidMewajibkan dukungan Argon2id, memasang proxy tepercaya, observer, menonaktifkan bearer token Sanctum, dan mendefinisikan limiter email plus IP serta limiter IP agregat.Respons JSON
Dependensi kode proyek yang diimpor
Buka kode asli bernomor baris

Kode hanya ditampilkan sebagai teks. Tidak dieksekusi oleh panduan. Nomor baris mengikuti sumber yang dibaca.

Identitas snapshot

SHA-256 23a94534b701c7c744ebb626d18205da1d21e6c9dea8ade40a72836ab593b026

app/Services/Audit/AuditLogger.php258 baris · 6 fungsi bernama
Unggahan sumber 17 Oktober

Untuk apa

Catatan kejadian keamanan, hak pengguna, UDI pelanggan, dan perubahan CDI.

Jika diminta mengubah

recordCdi dan recordMasterUserChange harus berhasil dalam transaksi yang sesuai. record keamanan dan fanout recordUserChange dapat mencatat kegagalan lalu melanjutkan.

Fungsi dan metode

Fungsi dan input atau hasilPenjelasan singkatBukti source
function __construct(private TenantResolver $resolver)Menerima dependensi atau data awal objek. Parameter bertipe disediakan pemanggil atau container Laravel sesuai jalurnya.Lihat signature dan isi fungsi.
function record( string $action, ?Pengguna $pengguna, Request $request, array $before = [], array $after = [], ?array $branchIds = null, ): voidMencatat kejadian keamanan ke cabang tujuan dengan field allowlist. Kegagalan tujuan dicatat pada log, tidak dilempar ulang.Tabel audit_log
Panggilan resolver.resolve
function recordMasterUserChange( Connection $db, string $action, Pengguna $actor, Pengguna $subject, Request $request, array $before, array $after, array $changedFields = [], ): voidMenulis audit_hak_pengguna pada transaksi master yang sama dengan perubahan akun. Kegagalan menyebabkan exception.Audit hak pada master
Tabel audit_hak_pengguna
function recordUserChange( string $action, Pengguna $actor, Pengguna $subject, Request $request, array $before = [], array $after = [], ): voidMenyebarkan ringkasan perubahan hak ke cabang terkait. Ini tambahan terhadap audit master yang menjadi catatan utama.Tabel audit_log
Panggilan resolver.resolve
function recordGuestUdi( Connection $db, string $table, int $id, string $action, Request $request, array $before, array $after, ): voidMencatat tahap input publik tanpa aktor internal pada transaksi tenant yang sama. Field dibatasi menurut entity.Audit input publik
Tabel audit_log
function recordCdi( Connection $db, string $table, int $id, string $action, Pengguna $actor, Request $request, array $before, array $after, ): voidMencatat sebelum dan sesudah CDI melalui allowlist entity. Kegagalan audit melempar IntegrityViolation agar transaksi pemanggil dibatalkan.Audit CDI wajib
Tabel audit_log
Dependensi kode proyek yang diimpor
Buka kode asli bernomor baris

Kode hanya ditampilkan sebagai teks. Tidak dieksekusi oleh panduan. Nomor baris mengikuti sumber yang dibaca.

Identitas snapshot

SHA-256 03b0cd5ae13824868d08275fb0e473aee28c481900c0ebe419c8090be277d7ae

app/Services/Integrity/GlobalIntegrityVerifier.php524 baris · 12 fungsi bernama
Unggahan sumber 17 Oktober

Untuk apa

IVP menyeluruh untuk data master, tenant, riwayat, dan coordinator.

Jika diminta mengubah

Penambahan tabel atau aturan bisnis harus disertai perluasan verifier dan data uji rusaknya.

Fungsi dan metode

Fungsi dan input atau hasilPenjelasan singkatBukti source
function __construct( private InstitutionInvoiceIntegrity $institutionInvoices, private WarrantyClaimHistory $warrantyHistory, )Menerima dependensi atau data awal objek. Parameter bertipe disediakan pemanggil atau container Laravel sesuai jalurnya.Lihat signature dan isi fungsi.
function verifyMaster(): arrayMemeriksa cabang, pengguna, supplier, produk, mutasi, hak pengguna, dan hubungan coordinator yang tersimpan.Tabel cabang, pengguna, supplier, produk, mutasi_stok, detail_mutasi_stok, audit_hak_pengguna
Assertion assertJson
function verifyTenant(ResolvedTenant $tenant): arrayMemeriksa seluruh kelompok CDI tenant termasuk stok, pembelian, penjualan, servis, garansi, retur, nota dan audit.Pemeriksaan IVP
Tabel produk, supplier, pengguna, pelanggan, produk_cabang, pembelian, detail_pembelian, penjualan, detail_penjualan, pengiriman
Panggilan warrantyHistory.verify, institutionInvoices.verify
function verifyDistributedTransactions(Connection $db): intMemvalidasi identitas, peserta, keputusan, dan hubungan jurnal transaksi terdistribusi.Tabel distributed_transactions, mutasi_stok
function verifyInstitutionInvoiceHistory(Connection $db, object $invoice, array $userIds): voidMerekonstruksi versi dan status nota dari histori dan membandingkannya dengan keadaan terakhir.Tabel histori_nota_instansi
function verifyOfflineSaleState(object $sale, int $total): voidMemvalidasi aktor internal, kanal, pembayaran, status penjualan toko, dan approval.Lihat signature dan isi fungsi.
function verifyOnlineSaleState(Connection $db, object $sale, int $total): voidMemvalidasi kombinasi pembayaran, status, approval dan pengiriman pesanan online.Tabel pengiriman
function verifyStoredService(Connection $db, object $service, int $branchId, array $userIds, array $productIds): voidMemeriksa referensi, kronologi, biaya, sparepart, log, dan penyerahan servis tersimpan.Tabel pelanggan, sparepart_servis, log_servis
function verifyReturns(Connection $db, int $branchId, array $userIds, array $productIds): voidMemeriksa sumber, rincian, jumlah kumulatif, nilai refund, dan kesesuaian retur.Tabel retur_penjualan, penjualan, detail_retur_penjualan, detail_penjualan, retur_pembelian, pembelian, detail_retur_pembelian, detail_pembelian
function verifyAuditRows(Connection $db, array $userIds): voidMemeriksa bentuk audit tenant dan snapshot JSON yang diperlukan.Tabel audit_log
Assertion assertJson
function assertJson(mixed $value, bool $required = false): voidMemastikan nilai JSON audit dapat diperiksa sebagai objek.Lihat signature dan isi fungsi.
function decodeJsonObject(mixed $value, bool $required = false): arrayMenolak JSON hilang, rusak, atau bukan objek untuk snapshot yang diwajibkan.return [];
Dependensi kode proyek yang diimpor
Buka kode asli bernomor baris

Kode hanya ditampilkan sebagai teks. Tidak dieksekusi oleh panduan. Nomor baris mengikuti sumber yang dibaca.

Identitas snapshot

SHA-256 1b9b9d6bc0fd9485ef1b1bd1a5893868fc0fd208c3214a1e96fc0c58bc3095f4

app/Services/Integrity/InstitutionInvoiceIntegrity.php30 baris · 1 fungsi bernama
Unggahan sumber 17 Oktober

Untuk apa

IVP nota instansi terhadap transaksi sumber.

Jika diminta mengubah

Sumber harus lunas dan selesai. Penyusun atau pengaju tidak boleh menjadi pemutus yang sama.

Fungsi dan metode

Fungsi dan input atau hasilPenjelasan singkatBukti source
function verify(Connection $db, object $invoice, int $branchId): voidMemeriksa cabang, penjualan sumber, total detail, status, versi dan pemisahan pelaku nota.Tabel penjualan, detail_penjualan
Dependensi kode proyek yang diimpor
Buka kode asli bernomor baris

Kode hanya ditampilkan sebagai teks. Tidak dieksekusi oleh panduan. Nomor baris mengikuti sumber yang dibaca.

Identitas snapshot

SHA-256 d780461b668b630cde8db1d76482d97b4f84c1aa5d833ea94d94c9955a8ee321

app/Services/Integrity/IntegrityViolation.php7 baris · 0 fungsi bernama
Unggahan sumber 17 Oktober

Untuk apa

Jenis exception untuk invariant bisnis yang dilanggar.

Jika diminta mengubah

Dilempar agar transaksi pemanggil dapat rollback dan handler mengirim respons aman.

Buka kode asli bernomor baris

Kode hanya ditampilkan sebagai teks. Tidak dieksekusi oleh panduan. Nomor baris mengikuti sumber yang dibaca.

Identitas snapshot

SHA-256 34051e798b31b51a7ec19a9f4901859685f92dc1d8be4049c6b20d542cf6a08f

app/Services/Integrity/MasterDataIntegrity.php115 baris · 2 fungsi bernama
Unggahan sumber 17 Oktober

Untuk apa

Validasi perubahan dan hasil data master.

Jika diminta mengubah

Aturan konsistensi bisnis terpisah dari validasi tipe Request.

Fungsi dan metode

Fungsi dan input atau hasilPenjelasan singkatBukti source
function validateMutation(string $entity, ?Model $existing, array $values): voidMemeriksa perubahan cabang agar tidak merusak mapping dan referensi yang diperlukan.Lihat signature dan isi fungsi.
function verify(string $entity, Model $model): voidMemastikan nilai produk dan cabang sesuai invariant serta nama cabang ternormalisasi tidak ganda.Lihat signature dan isi fungsi.
Dependensi kode proyek yang diimpor
Buka kode asli bernomor baris

Kode hanya ditampilkan sebagai teks. Tidak dieksekusi oleh panduan. Nomor baris mengikuti sumber yang dibaca.

Identitas snapshot

SHA-256 be673cdc0d58dc205ad16e04efe37abc82e738dc2accf97c8c6f2a2a1ef113ca

app/Services/Integrity/OnlineOrderIntegrity.php148 baris · 4 fungsi bernama
Unggahan sumber 17 Oktober

Untuk apa

IVP tahap awal dan tahap lunas online order.

Jika diminta mengubah

Stok baru dianggap berubah ketika workflow pembayaran benar-benar diterima.

Fungsi dan metode

Fungsi dan input atau hasilPenjelasan singkatBukti source
function __construct( private SalePricing $pricing, private OnlinePaymentProofStorage $proofs, )Menerima dependensi atau data awal objek. Parameter bertipe disediakan pemanggil atau container Laravel sesuai jalurnya.Lihat signature dan isi fungsi.
function verifyPending( object $header, array $details, array $expectedPrices, ResolvedTenant $tenant, bool $shipping, ): voidMemeriksa keadaan awal, snapshot harga, garansi, dan pengiriman tanpa mengasumsikan pembayaran lunas.Tabel pengiriman
function verifyPaid( object $header, array $details, array $before, array $after, array $products, Pengguna $actor, ResolvedTenant $tenant, CarbonImmutable $paidAt, ): voidMemeriksa bukti, referensi, total, garansi, status pembayaran, dan persamaan stok setelah verifikasi.IVP pesanan lunas
Panggilan proofs.validPath, proofs.exists, pricing.total
function verifyTenantAndDetails(object $header, array $details, ResolvedTenant $tenant): voidMemeriksa tenant pelanggan dan keutuhan item pesanan.Tabel pelanggan
Dependensi kode proyek yang diimpor
Buka kode asli bernomor baris

Kode hanya ditampilkan sebagai teks. Tidak dieksekusi oleh panduan. Nomor baris mengikuti sumber yang dibaca.

Identitas snapshot

SHA-256 33dcd2fcdb527efbb55d8f197feb723686502603de0dab313ab2fb0e95d3b8dc

app/Services/Integrity/PurchaseIntegrity.php91 baris · 2 fungsi bernama
Unggahan sumber 17 Oktober

Untuk apa

IVP pembelian dan perubahan stok penerimaan.

Jika diminta mengubah

Contoh persamaan tersedia akhir sama dengan awal ditambah jumlah diterima dikurangi rusak.

Fungsi dan metode

Fungsi dan input atau hasilPenjelasan singkatBukti source
function verify(object $header, array $details, array $before, array $after, ResolvedTenant $tenant): voidMemeriksa referensi master, aktor, cabang, status, detail unik, dan persamaan dua jenis stok.Lihat signature dan isi fungsi.
function verifyStored(int $purchaseId, ResolvedTenant $tenant): voidMembaca pembelian, detail, serta snapshot audit yang tersimpan untuk memverifikasi pembelian secara ulang.Pemeriksaan IVP
Tabel pembelian, detail_pembelian, audit_log
Dependensi kode proyek yang diimpor
Buka kode asli bernomor baris

Kode hanya ditampilkan sebagai teks. Tidak dieksekusi oleh panduan. Nomor baris mengikuti sumber yang dibaca.

Identitas snapshot

SHA-256 961760059fc84dcc30ecd71e39f722cc9ba5a978423833a6fb3279b4266d0bea

app/Services/Integrity/SaleIntegrity.php213 baris · 7 fungsi bernama
Unggahan sumber 17 Oktober

Untuk apa

IVP penjualan normal, pengajuan harga khusus, dan penolakan.

Jika diminta mengubah

Harga, pembayaran, garansi, dan stok diperiksa terhadap referensi server.

Fungsi dan metode

Fungsi dan input atau hasilPenjelasan singkatBukti source
function __construct(private SalePricing $pricing)Menerima dependensi atau data awal objek. Parameter bertipe disediakan pemanggil atau container Laravel sesuai jalurnya.Lihat signature dan isi fungsi.
function verifyCompleted( object $header, array $details, array $before, array $after, array $expectedPrices, ResolvedTenant $tenant, bool $specialPrice = false, ): voidMemeriksa penjualan selesai, harga, garansi, pembayaran, approval, dan stok akhir.IVP penjualan selesai
Panggilan pricing.normalPrice
function verifyPendingSpecial(object $header, array $details, array $normalPrices, ResolvedTenant $tenant): voidMemeriksa pengajuan belum selesai, harga diminta, serta kecukupan stok saat pengajuan.Tabel produk_cabang
function verifyRejected(object $header, array $details, ResolvedTenant $tenant): voidMemeriksa keadaan penolakan dan pembatalan konsisten.Lihat signature dan isi fungsi.
function verifyReferences( object $header, array $details, ResolvedTenant $tenant, array $roles, bool $requireActiveProducts = true, ): arrayMemeriksa aktor, cabang, pelanggan, kanal, produk, serta keunikan detail.Tabel pelanggan
function verifyPayment(object $header, array $details): voidMemeriksa total, uang bayar dan persamaan kembalian.Panggilan pricing.total
function warrantyDate(mixed $soldAt, Produk $product): ?stringMenghitung tanggal akhir garansi dari waktu transaksi dan jumlah hari produk.return $days > 0 ? CarbonImmutable::parse((string) $soldAt)->utc()->addDays($days)->toDateString() : null;
Dependensi kode proyek yang diimpor
Buka kode asli bernomor baris

Kode hanya ditampilkan sebagai teks. Tidak dieksekusi oleh panduan. Nomor baris mengikuti sumber yang dibaca.

Identitas snapshot

SHA-256 d6c3e5473aea9fb4812fecf3e264c2e008a7c3d554bbdbf4c005680fd5240821

app/Services/Integrity/ServiceIntegrity.php143 baris · 2 fungsi bernama
Unggahan sumber 17 Oktober

Untuk apa

IVP servis, peran pelaku, log, biaya, kronologi, dan stok sparepart.

Jika diminta mengubah

Operasi teknis harus sesuai teknisi yang ditugaskan dan berbeda dari penerima.

Fungsi dan metode

Fungsi dan input atau hasilPenjelasan singkatBukti source
function verify( object $service, ?object $before, object $log, Pengguna $actor, ResolvedTenant $tenant, string $operation, array $stockBefore = [], array $stockAfter = [], array $prices = [], ): voidMembandingkan sebelum dan sesudah servis dengan operasi, aktor, tenant, log dan perubahan stok.Kunci referensi baca
Tabel pelanggan, sparepart_servis, audit_log
function validUser(?Pengguna $user, string $capability, int $branchId): boolMemastikan referensi pengguna aktif, memiliki kemampuan, dan sesuai cabang.return $user && $user->status_akun === 'aktif' && $user->canActAs($capability)
Dependensi kode proyek yang diimpor
Buka kode asli bernomor baris

Kode hanya ditampilkan sebagai teks. Tidak dieksekusi oleh panduan. Nomor baris mengikuti sumber yang dibaca.

Identitas snapshot

SHA-256 e77c12662dfbfbb0d7c511bfd48310a1a014f725ac1205ace8be5408d61cdf62

app/Services/Integrity/StockTransferIntegrity.php138 baris · 3 fungsi bernama
Unggahan sumber 17 Oktober

Untuk apa

IVP keutuhan pengajuan, audit mutasi, dan persamaan stok dua cabang.

Jika diminta mengubah

Fingerprint bukan signature pihak ketiga. Nilainya digunakan untuk membandingkan isi pengajuan dan audit.

Fungsi dan metode

Fungsi dan input atau hasilPenjelasan singkatBukti source
function fingerprint(object $header, array $details): stringMenghasilkan fingerprint dari data pengajuan yang seharusnya tidak berubah.return hash('sha256', json_encode($values, JSON_THROW_ON_ERROR));
function assertRequest(object $header, array $details): voidMemastikan catatan pengajuan tunggal dan fingerprint sesuai snapshot audit.Tabel audit_log
function verify(int $id, string $phase, Pengguna $actor, array $before): voidMemeriksa peserta, pelaku, status persetujuan, detail serta persamaan stok asal dan tujuan.Tabel mutasi_stok, detail_mutasi_stok, audit_log, produk_cabang
Assertion assertRequest
Dependensi kode proyek yang diimpor
Buka kode asli bernomor baris

Kode hanya ditampilkan sebagai teks. Tidak dieksekusi oleh panduan. Nomor baris mengikuti sumber yang dibaca.

Identitas snapshot

SHA-256 6caf606e6cf9eddbe7a282c00fea6d1fbe2511f4de3de9cd1a383a13256be296

app/Services/Integrity/WarrantyClaimHistory.php95 baris · 2 fungsi bernama
Unggahan sumber 17 Oktober

Untuk apa

Rekonstruksi perjalanan klaim dari audit.

Jika diminta mengubah

Perubahan tabel klaim tanpa audit yang sesuai harus terdeteksi oleh IVP.

Fungsi dan metode

Fungsi dan input atau hasilPenjelasan singkatBukti source
function snapshot(object|array $claim): arrayMembentuk snapshot klaim dengan field yang dibutuhkan rekonstruksi.return $state;
function verify(object $claim, ResolvedTenant $tenant): arrayMenyusun ulang transisi, pelaku frontdesk, dan waktu dari audit serta mencocokkan keadaan terakhir.Navigasi browser
Tabel audit_log
Dependensi kode proyek yang diimpor
Buka kode asli bernomor baris

Kode hanya ditampilkan sebagai teks. Tidak dieksekusi oleh panduan. Nomor baris mengikuti sumber yang dibaca.

Identitas snapshot

SHA-256 9bd86c29c0b10fe1d989b4374ce8869a6c8db078b2b4e206076858d53b1cebe7

app/Services/Integrity/WarrantyClaimIntegrity.php76 baris · 2 fungsi bernama
Unggahan sumber 17 Oktober

Untuk apa

IVP klaim setelah transaksi dijalankan.

Jika diminta mengubah

Kelayakan sumber, sejarah, urutan status, dan SoD diperiksa bersamaan.

Fungsi dan metode

Fungsi dan input atau hasilPenjelasan singkatBukti source
function __construct(private WarrantySource $sources, private WarrantyClaimHistory $history)Menerima dependensi atau data awal objek. Parameter bertipe disediakan pemanggil atau container Laravel sesuai jalurnya.Lihat signature dan isi fungsi.
function verify(object $claim, ?object $before, Pengguna $actor, ResolvedTenant $tenant, string $operation, CarbonImmutable $processedAt): voidMemeriksa aktor, tenant, keluhan, sumber, masa garansi, transisi, serta kesesuaian audit dengan klaim.Kunci referensi baca
Pemeriksaan IVP
Tabel klaim_garansi
Panggilan sources.resolve, sources.eligible, history.verify, history.snapshot
Dependensi kode proyek yang diimpor
Buka kode asli bernomor baris

Kode hanya ditampilkan sebagai teks. Tidak dieksekusi oleh panduan. Nomor baris mengikuti sumber yang dibaca.

Identitas snapshot

SHA-256 a0895db5c19ac096beaa2bd58038796ad80c9ea3c549ce1d2cb46ebb83f05d78

app/Services/Integrity/WarrantySource.php113 baris · 4 fungsi bernama
Unggahan sumber 17 Oktober

Untuk apa

Penentuan satu sumber klaim dan masa garansinya.

Jika diminta mengubah

Sumber klaim merupakan servis atau pasangan item penjualan, tidak keduanya sekaligus.

Fungsi dan metode

Fungsi dan input atau hasilPenjelasan singkatBukti source
function key(object|array $source): arrayMembentuk identitas sumber dan menolak kombinasi sumber tidak lengkap.return $key;
function resolve(object|array $source, ResolvedTenant $tenant, bool $lock = false): arrayMengunci serta membaca sumber pada tenant, memastikan sumber selesai dan memiliki garansi.Kunci baris perubahan
Kunci referensi baca
Tabel servis, penjualan, detail_penjualan
function eligible(array $source, CarbonImmutable $time): boolMemeriksa waktu klaim terhadap jendela garansi.return $time->gte($source['start']) && $time->lte($source['expires']);
function claims(ResolvedTenant $tenant): BuilderMenyusun kriteria klaim yang terhubung pada sumber yang sama.return KlaimGaransi::query()->where(function (Builder $query) use ($branch): void {
Dependensi kode proyek yang diimpor
Buka kode asli bernomor baris

Kode hanya ditampilkan sebagai teks. Tidak dieksekusi oleh panduan. Nomor baris mengikuti sumber yang dibaca.

Identitas snapshot

SHA-256 24a803dcdbba09b2d0f23e5e786189713389829b8fcd1388766746c8900026e0

app/Services/Inventory/ApplySaleReturnStock.php70 baris · 2 fungsi bernama
Unggahan sumber 17 Oktober

Untuk apa

Menerapkan perubahan stok akibat refund atau tukar barang.

Jika diminta mengubah

Aritmetika stok utama berada di fungsi PostgreSQL. Pertahankan keharusan transaksi dan pemeriksaan hasil.

Fungsi dan metode

Fungsi dan input atau hasilPenjelasan singkatBukti source
function handle( Connection $db, int $branchId, int $productId, int $quantity, string $condition, string $solution, ): arrayMemeriksa input serta transaksi aktif, memanggil rajawali_stock_sale_return dengan parameter binding, dan memetakan kegagalan atau hasilnya.return inventory TP received invalid input.');
function snapshot(object $row, int $branchId, int $productId): arrayMembentuk snapshot stok sebelum dan sesudah dengan ID produk serta cabang.return [
Dependensi kode proyek yang diimpor
Buka kode asli bernomor baris

Kode hanya ditampilkan sebagai teks. Tidak dieksekusi oleh panduan. Nomor baris mengikuti sumber yang dibaca.

Identitas snapshot

SHA-256 6f91bf7decfb25a6277666e3fd335fd0c43be49f847bc036007a72ab7918d783

app/Services/Inventory/EnsureStockRow.php23 baris · 1 fungsi bernama
Unggahan sumber 17 Oktober

Untuk apa

Menyiapkan baris stok kosong jika belum ada.

Jika diminta mengubah

Aritmetika stok utama berada di fungsi PostgreSQL. Pertahankan keharusan transaksi dan pemeriksaan hasil.

Fungsi dan metode

Fungsi dan input atau hasilPenjelasan singkatBukti source
function handle(Connection $db, int $branchId, int $productId): voidMemeriksa input serta transaksi aktif, memanggil rajawali_stock_ensure dengan parameter binding, dan memetakan kegagalan atau hasilnya.Lihat signature dan isi fungsi.
Dependensi kode proyek yang diimpor
Buka kode asli bernomor baris

Kode hanya ditampilkan sebagai teks. Tidak dieksekusi oleh panduan. Nomor baris mengikuti sumber yang dibaca.

Identitas snapshot

SHA-256 faf44479fd2f2563a6a13dfe4ef08ff5632a8966caddeb6f9d92c346fa3a1356

app/Services/Inventory/IssueStock.php53 baris · 1 fungsi bernama
Unggahan sumber 17 Oktober

Untuk apa

Mengurangi stok tersedia.

Jika diminta mengubah

Aritmetika stok utama berada di fungsi PostgreSQL. Pertahankan keharusan transaksi dan pemeriksaan hasil.

Fungsi dan metode

Fungsi dan input atau hasilPenjelasan singkatBukti source
function handle(Connection $db, int $branchId, int $productId, int $quantity): arrayMemeriksa input serta transaksi aktif, memanggil rajawali_stock_issue dengan parameter binding, dan memetakan kegagalan atau hasilnya.return [
Dependensi kode proyek yang diimpor
Buka kode asli bernomor baris

Kode hanya ditampilkan sebagai teks. Tidak dieksekusi oleh panduan. Nomor baris mengikuti sumber yang dibaca.

Identitas snapshot

SHA-256 c1ff3c27ec55c57a86f5bea3539979029b859d741af522e1eb00f5b5586c6547

app/Services/Inventory/ReceiveStock.php56 baris · 2 fungsi bernama
Unggahan sumber 17 Oktober

Untuk apa

Menambah stok tersedia dan stok karantina dari penerimaan.

Jika diminta mengubah

Aritmetika stok utama berada di fungsi PostgreSQL. Pertahankan keharusan transaksi dan pemeriksaan hasil.

Fungsi dan metode

Fungsi dan input atau hasilPenjelasan singkatBukti source
function handle(Connection $db, int $branchId, int $productId, int $quantity, int $damaged = 0): arrayMemeriksa input serta transaksi aktif, memanggil rajawali_stock_receive dengan parameter binding, dan memetakan kegagalan atau hasilnya.return $this->snapshot($row, $branchId, $productId);
function snapshot(object $row, int $branchId, int $productId): arrayMembentuk snapshot stok sebelum dan sesudah dengan ID produk serta cabang.return [
Dependensi kode proyek yang diimpor
Buka kode asli bernomor baris

Kode hanya ditampilkan sebagai teks. Tidak dieksekusi oleh panduan. Nomor baris mengikuti sumber yang dibaca.

Identitas snapshot

SHA-256 93f0d00515841662ba9eb254cdf14363840ead8911f6c0ea8a2cacffd307f0ac

app/Services/Inventory/ReturnQuarantinedStock.php51 baris · 1 fungsi bernama
Unggahan sumber 17 Oktober

Untuk apa

Mengurangi stok karantina untuk retur ke supplier.

Jika diminta mengubah

Aritmetika stok utama berada di fungsi PostgreSQL. Pertahankan keharusan transaksi dan pemeriksaan hasil.

Fungsi dan metode

Fungsi dan input atau hasilPenjelasan singkatBukti source
function handle(Connection $db, int $branchId, int $productId, int $quantity): arrayMemeriksa input serta transaksi aktif, memanggil rajawali_stock_purchase_return dengan parameter binding, dan memetakan kegagalan atau hasilnya.return inventory TP received invalid input.');
Dependensi kode proyek yang diimpor
Buka kode asli bernomor baris

Kode hanya ditampilkan sebagai teks. Tidak dieksekusi oleh panduan. Nomor baris mengikuti sumber yang dibaca.

Identitas snapshot

SHA-256 9277f14acdd6439eb18328b66b3a69a121fe23a6fb134b78a5bffb4df7749d59

app/Services/MasterData/MasterDataDefinition.php67 baris · 3 fungsi bernama
Unggahan sumber 17 Oktober

Untuk apa

Daftar model, field yang boleh diubah, dan aturan data master.

Jika diminta mengubah

Untuk field produk baru, edit fields dan rules. Form di MasterDataPanel merupakan langkah terpisah.

Fungsi dan metode

Fungsi dan input atau hasilPenjelasan singkatBukti source
function model(string $entity): stringMemilih kelas model berdasarkan entity cabang, supplier, atau produk.return match ($entity) {
function fields(string $entity): arrayMengembalikan allowlist kolom bisnis per entity.return match ($entity) {
function rules(string $entity, ?int $id = null): arrayMenentukan required atau sometimes, tipe, batas angka, enum, dan aturan unik untuk create atau update.return match ($entity) {
Dependensi kode proyek yang diimpor
Buka kode asli bernomor baris

Kode hanya ditampilkan sebagai teks. Tidak dieksekusi oleh panduan. Nomor baris mengikuti sumber yang dibaca.

Identitas snapshot

SHA-256 315158afc272410b563312666561017067a2d5ae959c8fa5c888b60842bc7f84

app/Services/MasterData/SaveMasterData.php82 baris · 2 fungsi bernama
Unggahan sumber 17 Oktober

Untuk apa

Jalur penyimpanan terkontrol data master.

Jika diminta mengubah

Audit cabang dijalankan melalui transaksi koneksi masing-masing. Ini bukan 2PC lintas seluruh tujuan audit.

Fungsi dan metode

Fungsi dan input atau hasilPenjelasan singkatBukti source
function __construct( private BusinessAccess $access, private MasterDataIntegrity $integrity, private TenantResolver $resolver, private AuditLogger $audit, )Menyimpan field objek input bertipe. Jalur fromInput atau validate memeriksa nilai sebelum objek dipakai.Lihat signature dan isi fungsi.
function handle(string $entity, ?int $id, array $input, Pengguna $actor, Request $request): ModelMemvalidasi field, menahan referensi dan lock yang diperlukan, menjalankan pemeriksaan perubahan serta hasil, menyimpan model, lalu menulis audit pada tujuan tenant yang tersedia.Batas transaksi
Kunci baris perubahan
Relasi aktor dan TP
Audit CDI wajib
Pemeriksaan IVP
Panggilan access.actorFor, resolver.resolve, integrity.validateMutation, integrity.verify, audit.recordCdi
Dependensi kode proyek yang diimpor
Buka kode asli bernomor baris

Kode hanya ditampilkan sebagai teks. Tidak dieksekusi oleh panduan. Nomor baris mengikuti sumber yang dibaca.

Identitas snapshot

SHA-256 95ade2629384fc1422f53e210b030669e28ad53e0b739bb09556b60e362b52d2

app/Services/Notifications/NotificationReader.php121 baris · 2 fungsi bernama
Unggahan sumber 17 Oktober

Untuk apa

Ringkasan tugas nyata dari data operasional.

Jika diminta mengubah

Tambahkan tugas dengan tujuan menu yang benar dan role yang dapat menindaklanjutinya.

Fungsi dan metode

Fungsi dan input atau hasilPenjelasan singkatBukti source
function read(Pengguna $actor): arrayMembaca pengajuan harga khusus, transfer, nota, online order, servis, dan klaim sesuai role serta tenant.Tabel penjualan, mutasi_stok, nota_instansi, servis, klaim_garansi
function push(array &$items, string $id, string $title, int $count, string $description, string $page, string $priority): voidMenambahkan satu jenis tugas jika jumlahnya relevan, beserta judul dan tujuan navigasinya.Lihat signature dan isi fungsi.
Dependensi kode proyek yang diimpor
Buka kode asli bernomor baris

Kode hanya ditampilkan sebagai teks. Tidak dieksekusi oleh panduan. Nomor baris mengikuti sumber yang dibaca.

Identitas snapshot

SHA-256 ef9024c02a72d3a32b372a390f8fc3e9ec1a3077239e67e09a8ece464046ab1b

app/Services/Operations/InstanceTenantGuard.php38 baris · 3 fungsi bernama
Unggahan sumber 17 Oktober

Untuk apa

Mencegah request tenant salah diproses instance cabang.

Jika diminta mengubah

Implementasi ini masih mengenal dua identitas awal secara eksplisit. Menambah cabang perlu meninjau guard dan konfigurasi routing.

Fungsi dan metode

Fungsi dan input atau hasilPenjelasan singkatBukti source
function assertAllows(ResolvedTenant $tenant): voidMembandingkan tenant request dengan identitas instance dan memberi 409 bila berbeda.Lihat signature dan isi fungsi.
function configuredTenant(): ?stringMembaca identitas instance yang dikenali konfigurasi.return in_array($value, ['samanhudi', 'peganden'], true) ? $value : null;
function tenantKey(string $connection): ?stringMemetakan koneksi dua tenant awal ke identitas instance.return match ($connection) {
Dependensi kode proyek yang diimpor
Buka kode asli bernomor baris

Kode hanya ditampilkan sebagai teks. Tidak dieksekusi oleh panduan. Nomor baris mengikuti sumber yang dibaca.

Identitas snapshot

SHA-256 e07faa7c8d6d2a7cbd0d97f73b428ea6483b35bb80c6fd96c4bbe8c0384db31e

app/Services/Operations/OperationalAlert.php106 baris · 4 fungsi bernama
Revisi ZIP v5

Untuk apa

Pengiriman alert operasional ke webhook terkonfigurasi.

Jika diminta mengubah

Keberadaan kode tidak membuktikan penerima atau arsip log eksternal sudah siap.

Fungsi dan metode

Fungsi dan input atau hasilPenjelasan singkatBukti source
function send(string $event, string $severity = 'error', array $context = []): boolMemeriksa konfigurasi, menyaring context, mengirim webhook dengan timeout, serta mencatat kegagalan pengiriman.return false;
function isConfigured(): boolMemeriksa kesiapan endpoint dan parameter alert yang diperlukan.return $this->configured(
function configured(string $url, string $token): boolMengevaluasi konfigurasi endpoint dan token yang diterima.return is_array($parts)
function safeContext(array $context): arrayMembatasi field context agar alert tidak membawa password, token atau payload mentah.return $safe;
Buka kode asli bernomor baris

Kode hanya ditampilkan sebagai teks. Tidak dieksekusi oleh panduan. Nomor baris mengikuti sumber yang dibaca.

Identitas snapshot

SHA-256 dbc45045c04ee39e36723b4c471887a19dbb65f3f4c63b65490207a2d46560c6

app/Services/Operations/PaymentSettings.php110 baris · 5 fungsi bernama
Unggahan sumber 17 Oktober

Untuk apa

Pembacaan konfigurasi bank dan QRIS yang terpusat.

Jika diminta mengubah

Konfigurasi DB diutamakan. Fallback konfigurasi lama dipakai hanya jika singleton belum ada.

Fungsi dan metode

Fungsi dan input atau hasilPenjelasan singkatBukti source
function record(): ?arrayMembaca record id 1 pada master. Kegagalan master runtime tidak dianggap konfigurasi kosong.Tabel payment_settings
function publicMethods(): arrayMengirim hanya metode bank atau QRIS yang aktif dan lengkap.API /api/online/qris/
function ownerPayload(): arrayMengirim data form owner beserta indikator configured.API /api/online/qris/
function enabled(mixed $value): boolMenormalkan bentuk boolean PostgreSQL atau PHP yang diterima.return in_array($value, [true, 1, '1', 't', 'true'], true);
function validQrisFile(string $filename): boolMemeriksa pola nama ULID.png dan keberadaan pada disk QRIS.return preg_match('/^[0-9A-HJKMNP-TV-Z]{26}\.png$/D', $filename) === 1
Buka kode asli bernomor baris

Kode hanya ditampilkan sebagai teks. Tidak dieksekusi oleh panduan. Nomor baris mengikuti sumber yang dibaca.

Identitas snapshot

SHA-256 0ac3fe1deb0ce8fff8b421f769db411e62a1ffdb14f669c0b887979ae9fb3f42

app/Services/Operations/PostgresBackup.php245 baris · 7 fungsi bernama
Unggahan sumber 17 Oktober

Untuk apa

Backup PostgreSQL, verifikasi arsip, dan simulasi restore.

Jika diminta mengubah

Backup lintas database memerlukan kondisi operasional yang konsisten. restoreDrill memakai target khusus pemeriksaan.

Fungsi dan metode

Fungsi dan input atau hasilPenjelasan singkatBukti source
function backup(string $root, string $bin, bool $isolated = false, array $connections = []): arrayMemastikan maintenance kedua instance serta scheduler berhenti, mengunci proses, membuat arsip, metadata, checksum dan inventaris.Tabel distributed_transactions
function verify(string $directory, string $bin): arrayMemeriksa kelengkapan, checksum, format serta inventaris arsip.return $manifest;
function restoreDrill(string $directory, string $bin, ?string $restoreConnection = null): arrayMemulihkan ke target uji, membandingkan schema dan inventaris, lalu membersihkan hanya target yang dikenal.Pemeriksaan IVP
function inventory(Connection $db, string $schema): arrayMengumpulkan tabel dan informasi pembanding database.return ['rows' => $rows, 'constraints' => array_map(fn ($row): array => (array) $row, $constraints)];
function constraintComparable(array $constraint): arrayMenormalkan constraint agar hasil restore dapat dibandingkan.return $comparable;
function identifier(string $identifier): stringMemvalidasi dan mengquote nama objek database.return '"'.str_replace('"', '""', $identifier).'"';
function run(string $bin, string $command, array $arguments, array $config): voidMenjalankan utilitas PostgreSQL dengan batas waktu dan pesan kegagalan aman.Lihat signature dan isi fungsi.
Dependensi kode proyek yang diimpor
Buka kode asli bernomor baris

Kode hanya ditampilkan sebagai teks. Tidak dieksekusi oleh panduan. Nomor baris mengikuti sumber yang dibaca.

Identitas snapshot

SHA-256 01665d8faaf8623929ea43d67204fe340c70eeaa17bc89ba1b19cc068241203d

app/Services/Operations/ProductionConfiguration.php135 baris · 7 fungsi bernama
Revisi ZIP v5

Untuk apa

Daftar pemeriksaan konfigurasi produksi.

Jika diminta mengubah

Hasil konfigurasi tidak menggantikan UAT atau pembuktian keamanan melalui pengujian negatif.

Fungsi dan metode

Fungsi dan input atau hasilPenjelasan singkatBukti source
function checks(): arrayMenyusun pemeriksaan HTTPS, cookie, proxy, host, Reverb, hashing, SMTP, pembayaran, upload, tautan, backup dan alert.return $checks;
function boundedKilobytes(mixed $value): boolMemastikan batas ukuran dalam rentang yang diterima.return is_int($kilobytes) && $kilobytes >= 1 && $kilobytes <= 8192;
function boundedMinutes(mixed $value, int $maximum): boolMemastikan masa tautan dalam rentang yang diperbolehkan.return is_int($minutes) && $minutes >= 1 && $minutes <= $maximum;
function httpsEndpoint(string $url): boolMemeriksa URL HTTPS yang layak untuk tujuan operasional.return is_array($parts)
function literalHost(mixed $value): boolMenolak wildcard dan bentuk host yang tidak dikenal.return is_string($value) && ! $this->placeholder($value) && filter_var($value, FILTER_VALIDATE_DOMAIN, FILTER_FLAG_HOSTNAME) !== false && ! str_con
function placeholder(mixed $value): boolMendeteksi nilai contoh yang belum diganti.return ! is_string($value) || trim($value) === '' || preg_match('/change[_ -]?me|your[_ -]|replace[_ -]?me|example\.com|<|>/i', $value) === 1;
function proxy(mixed $value): boolMemvalidasi alamat proxy atau CIDR yang dipercaya.return false;
Buka kode asli bernomor baris

Kode hanya ditampilkan sebagai teks. Tidak dieksekusi oleh panduan. Nomor baris mengikuti sumber yang dibaca.

Identitas snapshot

SHA-256 64354c8079b20fcd7061f69fff6fc3ac2215370a493daaef489d14cc5061ce32

app/Services/Reporting/AuditReader.php80 baris · 3 fungsi bernama
Unggahan sumber 17 Oktober

Untuk apa

Pembacaan audit tenant dengan penyaringan snapshot.

Jika diminta mengubah

AuditReader tidak memperbarui audit. Field yang boleh ditampilkan ada di safeSnapshot.

Fungsi dan metode

Fungsi dan input atau hasilPenjelasan singkatBukti source
function __construct(private ReportScope $scope)Menerima dependensi atau data awal objek. Parameter bertipe disediakan pemanggil atau container Laravel sesuai jalurnya.Lihat signature dan isi fungsi.
function read(Pengguna $actor, array $input): arrayMemilih tenant, tanggal, tabel, aksi dan pelaku, lalu mengirim halaman audit.Tabel audit_log
Panggilan scope.tenants, scope.dates, scope.paginate
function safeSnapshot(?string $json): arrayMemilih isi snapshot yang boleh terlihat dan menyamarkan nilai yang tidak diperlukan pembaca.return [];
Dependensi kode proyek yang diimpor
Buka kode asli bernomor baris

Kode hanya ditampilkan sebagai teks. Tidak dieksekusi oleh panduan. Nomor baris mengikuti sumber yang dibaca.

Identitas snapshot

SHA-256 7b2c579b172d510229a316fbfac8a3ebe5a7e6b56de1f97bc52fcb29f76f86cf

app/Services/Reporting/ReportReader.php331 baris · 8 fungsi bernama
Unggahan sumber 17 Oktober

Untuk apa

Query berbagai laporan bisnis.

Jika diminta mengubah

Tambah laporan dengan menambah REPORTS, query, catatan nilai, kontrol frontend dan pengujian.

Fungsi dan metode

Fungsi dan input atau hasilPenjelasan singkatBukti source
function __construct(private ReportScope $scope)Menerima dependensi atau data awal objek. Parameter bertipe disediakan pemanggil atau container Laravel sesuai jalurnya.Lihat signature dan isi fungsi.
function available(Pengguna $actor): arrayMengembalikan jenis laporan yang boleh dibaca role.return $actor->isOwner() ? self::REPORTS : [];
function read(Pengguna $actor, string $type, array $input): arrayMemeriksa jenis dan izin, membangun query per tenant, memaginasi, dan menambahkan label referensi.Panggilan scope.tenants, scope.paginate
function paid(ResolvedTenant $tenant, array $input): BuilderMembatasi sumber penjualan pada pembayaran lunas dan status yang dihitung oleh laporan.Tabel penjualan AS p
Panggilan scope.dates
function query(Pengguna $actor, string $type, ResolvedTenant $tenant, array $input, ?array $productIds): BuilderMembangun query khusus tipe laporan melalui cabang kode yang sudah ditentukan aplikasi.Tabel nota_instansi, produk_cabang, pembelian AS p, retur_penjualan AS r, detail_retur_penjualan, retur_pembelian AS r, detail_retur_pembelian, penjualan AS p, pengiriman AS g, servis AS s
Panggilan scope.dates
function productIds(array $input): ?arrayMencari ID produk sesuai filter master.return null;
function whereIds(Builder $query, string $column, ?array $ids): voidMenerapkan filter ID produk dengan query builder.Lihat signature dan isi fungsi.
function filterSaleProducts(Builder $query, ?array $ids, string $saleAlias): voidMembatasi transaksi yang mempunyai item produk terpilih.Lihat signature dan isi fungsi.
Dependensi kode proyek yang diimpor
Buka kode asli bernomor baris

Kode hanya ditampilkan sebagai teks. Tidak dieksekusi oleh panduan. Nomor baris mengikuti sumber yang dibaca.

Identitas snapshot

SHA-256 94f4b62434a99766ce80b3c7d7c4ab1cccbf27f0b8d4eacb83400879aa418715

app/Services/Reporting/ReportScope.php101 baris · 4 fungsi bernama
Unggahan sumber 17 Oktober

Untuk apa

Filter tanggal, cabang, dan pagination laporan.

Jika diminta mengubah

Rentang maksimal 366 hari. Pembacaan multi-cabang berurutan bukan snapshot database lintas cabang yang serentak.

Fungsi dan metode

Fungsi dan input atau hasilPenjelasan singkatBukti source
function input(Request $request): arrayMenolak filter tidak dikenal, memvalidasi nilai, membuat batas tanggal awal inklusif dan akhir eksklusif.return $input + ['from' => $from->toIso8601String(), 'until' => $until->toIso8601String(),
function tenants(Pengguna $actor, array $input): arrayMemilih tenant yang boleh dibaca aktor dan memvalidasi pilihan cabang owner.Kunci referensi baca
function dates(Builder $query, string $column, array $input): BuilderMenambahkan batas waktu >= awal dan < akhir.return $query->where($column, '>=', $input['from'])->where($column, '<', $input['until']);
function paginate(array $queries, array $input): arrayMembagi halaman hasil beberapa query cabang tanpa memuat semua baris ke memori sekaligus.return ['data' => $rows, 'meta' => ['total' => $total, 'current_page' => (int) $input['page'],
Dependensi kode proyek yang diimpor
Buka kode asli bernomor baris

Kode hanya ditampilkan sebagai teks. Tidak dieksekusi oleh panduan. Nomor baris mengikuti sumber yang dibaca.

Identitas snapshot

SHA-256 d9e0d727eb22aa86407c69d58c54de3ba944b7c675c7e2e1928751d3ec4f9749

app/Services/Security/BusinessAccess.php45 baris · 3 fungsi bernama
Unggahan sumber 17 Oktober

Untuk apa

Memeriksa aktor terbaru dan tenant tepat sebelum TP bekerja.

Jika diminta mengubah

Pemanggil harus sudah membuka transaksi master sebelum actor dijalankan.

Fungsi dan metode

Fungsi dan input atau hasilPenjelasan singkatBukti source
function actorFor(Pengguna $actor, string $certifiedTransaction): PenggunaMembaca role yang diizinkan registry untuk nama TP, lalu memanggil pemeriksaan aktor.Relasi aktor dan TP
function actor(Pengguna $actor, array $roles): PenggunaMewajibkan transaksi master, mengambil shared lock akun terbaru, dan mencocokkan identitas serta kewenangannya.Kunci referensi baca
function tenant(Pengguna $actor): ResolvedTenantMemeriksa cabang konteks, status aktif, mapping koneksi, dan kecocokan penempatan aktor.Kunci referensi baca
Dependensi kode proyek yang diimpor
Buka kode asli bernomor baris

Kode hanya ditampilkan sebagai teks. Tidak dieksekusi oleh panduan. Nomor baris mengikuti sumber yang dibaca.

Identitas snapshot

SHA-256 767b37a84a48e73b324166a181c8ff5721a466cdbfbc949f1c8cc63d2ec4b8fb

app/Services/Security/ChangeBranchAssignment.php38 baris · 2 fungsi bernama
Unggahan sumber 17 Oktober

Untuk apa

Perubahan cabang pegawai dengan pencabutan session.

Jika diminta mengubah

Aturan perpindahan role owner tidak dijalankan melalui layanan ini.

Fungsi dan metode

Fungsi dan input atau hasilPenjelasan singkatBukti source
function __construct(private TenantResolver $resolver)Menerima dependensi atau data awal objek. Parameter bertipe disediakan pemanggil atau container Laravel sesuai jalurnya.Lihat signature dan isi fungsi.
function handle(int $idPengguna, int $idCabang, Pengguna $actor, Request $request, AuditLogger $audit): arrayMemvalidasi aktor, akun subjek dan cabang tujuan, mengubah penempatan, serta mencatat audit hak dan membatalkan session yang tidak berlaku.Batas transaksi
Kunci baris perubahan
Relasi aktor dan TP
Audit hak pada master
Panggilan resolver.resolve
Dependensi kode proyek yang diimpor
Buka kode asli bernomor baris

Kode hanya ditampilkan sebagai teks. Tidak dieksekusi oleh panduan. Nomor baris mengikuti sumber yang dibaca.

Identitas snapshot

SHA-256 1b69604d03baec77c6b622005585bb661e681cbcf2a4cdd6fe4d2ea033fb4665

app/Services/Security/ChangeOwnPassword.php46 baris · 1 fungsi bernama
Unggahan sumber 17 Oktober

Untuk apa

Mengganti password sendiri dan mencabut session terkait.

Jika diminta mengubah

Aturan panjang password ada pada ChangeOwnPasswordRequest. Hash bukan enkripsi yang dapat dikembalikan ke password asli.

Fungsi dan metode

Fungsi dan input atau hasilPenjelasan singkatBukti source
function handle(Pengguna $actor, array $input, Request $request, AuditLogger $audit): voidMengunci akun, memeriksa password lama dan perbedaan password baru, menghash nilai baru, menulis audit master, serta menghapus semua session akun dalam transaksi master.Batas transaksi
Kunci baris perubahan
Audit hak pada master
Pemeriksaan hash
Pembuatan hash
Tabel sessions
Dependensi kode proyek yang diimpor
Buka kode asli bernomor baris

Kode hanya ditampilkan sebagai teks. Tidak dieksekusi oleh panduan. Nomor baris mengikuti sumber yang dibaca.

Identitas snapshot

SHA-256 4ccc77fd1b3733418ad80d548ac425524e048948fbf7f369c93948eeeef812d4

app/Services/Security/ChangeOwnProfile.php53 baris · 1 fungsi bernama
Unggahan sumber 17 Oktober

Untuk apa

Perubahan nama dan email profil owner.

Jika diminta mengubah

Field role dan cabang tidak boleh ditambahkan ke form profil sendiri.

Fungsi dan metode

Fungsi dan input atau hasilPenjelasan singkatBukti source
function handle(Pengguna $actor, array $input, Request $request, AuditLogger $audit): PenggunaMemvalidasi TP owner.profile.update, mengunci akun, menormalisasi input, menyimpan hanya perubahan, dan mengaudit nama field berubah.Batas transaksi
Kunci baris perubahan
Relasi aktor dan TP
Audit hak pada master
Dependensi kode proyek yang diimpor
Buka kode asli bernomor baris

Kode hanya ditampilkan sebagai teks. Tidak dieksekusi oleh panduan. Nomor baris mengikuti sumber yang dibaca.

Identitas snapshot

SHA-256 5165d48438ffda35847b978eec1c96902db429c5c2a2b49fbd4ca286126c79cc

app/Services/Security/ClarkWilsonCertification.php228 baris · 6 fungsi bernama
Unggahan sumber 17 Oktober

Untuk apa

Registry kode untuk relasi TP, role, CDI, validasi input, IVP, audit, dan SoD.

Jika diminta mengubah

TP baru harus ditambahkan pada all dan implementation, lalu dihubungkan ke BusinessAccess dan diuji.

Fungsi dan metode

Fungsi dan input atau hasilPenjelasan singkatBukti source
function all(): arrayMendaftarkan definisi setiap TP aplikasi beserta objek data dan bukti pemeriksaannya.return [
function roles(string $transaction): arrayMengambil daftar role dasar yang terkait TP.return self::get($transaction)['roles'];
function get(string $transaction): arrayMengambil definisi satu TP dan menolak nama yang tidak terdaftar.return $definition;
function implementation(string $transaction): stringMemetakan nama TP ke kelas implementasi yang menjalankannya.return match (true) {
function isValid(): boolMemeriksa konsistensi internal registry dan kelas yang dirujuk. Hasil true bukan bukti sertifikasi formal oleh pihak independen.return false;
function definition(array $roles, array $cdis, string $udi, string $ivp, array $audit, ?string $sod = null): arrayMenyusun struktur satu definisi registry tanpa mengubah hak runtime.return compact('roles', 'cdis', 'udi', 'ivp', 'audit', 'sod');
Dependensi kode proyek yang diimpor
Buka kode asli bernomor baris

Kode hanya ditampilkan sebagai teks. Tidak dieksekusi oleh panduan. Nomor baris mengikuti sumber yang dibaca.

Identitas snapshot

SHA-256 ba3add2af00c84841765d475eb092961fbf3bd38ad75a24c63bb32076d030804

app/Services/Security/EmployeeInvitation.php70 baris · 4 fungsi bernama
Unggahan sumber 17 Oktober

Untuk apa

Token aktivasi akun pegawai nonaktif.

Jika diminta mengubah

Tautan aktivasi berbeda dari OTP login. Token undangan berlaku satu hari dan disimpan sebagai hash.

Fungsi dan metode

Fungsi dan input atau hasilPenjelasan singkatBukti source
function assertMailConfigured(): voidMemastikan SMTP dan pengirim tersedia sebelum undangan dibuat.Lihat signature dan isi fungsi.
function issue(Pengguna $user): stringMembuat token acak 32 byte, menyimpan SHA-256 dan waktu kedaluwarsa per akun.Tabel employee_invitations
function send(Pengguna $user, #[\SensitiveParameter] string $token): voidMembentuk URL aktivasi dari token mentah yang hanya dikirim melalui email.Lihat signature dan isi fungsi.
function activate(string $token, string $password, Request $request): voidMengunci undangan dan akun, memeriksa kedaluwarsa dan status, menghash password baru, mengaktifkan pegawai, serta menghapus undangan.Batas transaksi
Kunci baris perubahan
Pembuatan hash
Tabel employee_invitations
Dependensi kode proyek yang diimpor
Buka kode asli bernomor baris

Kode hanya ditampilkan sebagai teks. Tidak dieksekusi oleh panduan. Nomor baris mengikuti sumber yang dibaca.

Identitas snapshot

SHA-256 bba5a3c14b249040891bbe068e71c25378423352f566e41df303a27f11154ff6

app/Services/Security/InvalidateUserSessions.php13 baris · 1 fungsi bernama
Unggahan sumber 17 Oktober

Untuk apa

Mencabut session master milik satu akun.

Jika diminta mengubah

Dipanggil ketika penempatan, role, atau status akun tidak lagi cocok.

Fungsi dan metode

Fungsi dan input atau hasilPenjelasan singkatBukti source
function handle(int $idPengguna): intMenghapus baris sessions dengan user_id yang bersangkutan.Tabel sessions
Buka kode asli bernomor baris

Kode hanya ditampilkan sebagai teks. Tidak dieksekusi oleh panduan. Nomor baris mengikuti sumber yang dibaca.

Identitas snapshot

SHA-256 fe01ed9363c38d1a262f6f874d45835a27110e6b6f4959c3b85775b005a55914

app/Services/Security/InventoryE1Status.php80 baris · 1 fungsi bernama
Unggahan sumber 17 Oktober

Untuk apa

Memeriksa batas tulis database pada CDI produk_cabang.

Jika diminta mengubah

E1 yang diverifikasi khusus persediaan. Role admin database dan superuser berada di luar batas akun aplikasi.

Fungsi dan metode

Fungsi dan input atau hasilPenjelasan singkatBukti source
function checks(Connection $db, string $guardian, ?string $runtimeRole = null): arrayMemeriksa atribut role runtime dan guardian, ownership, trigger ALWAYS, hak kolom row lock, dan kelima fungsi TP SECURITY DEFINER.return $checks;
Buka kode asli bernomor baris

Kode hanya ditampilkan sebagai teks. Tidak dieksekusi oleh panduan. Nomor baris mengikuti sumber yang dibaca.

Identitas snapshot

SHA-256 9e3a7af8dcbdcf3e30b6c75295bcf8e2d3994e79b7bc74e6b7b49944039f3a66

app/Services/Security/LoginService.php199 baris · 7 fungsi bernama
Revisi ZIP v5

Untuk apa

Validasi password, penghitung gagal, penguncian akun, dan blokir IP manual.

Jika diminta mengubah

Jangan menggabungkan penguncian akun, rate limit request, dan blokir IP seolah ketiganya satu mekanisme.

Fungsi dan metode

Fungsi dan input atau hasilPenjelasan singkatBukti source
function __construct(private TenantResolver $resolver)Menerima dependensi atau data awal objek. Parameter bertipe disediakan pemanggil atau container Laravel sesuai jalurnya.Lihat signature dan isi fungsi.
function blockedIp(string $ip): ?arrayMembaca blokir manual berdasarkan hash IP kanonis dan masa berlakunya.return null;
function blockIp(string $ip, int $minutes, string $reason): voidMemvalidasi IP, durasi 1 sampai 1440 menit, alasan, serta kapasitas daftar sebelum menyimpan blokir.Lihat signature dan isi fungsi.
function unblockIp(string $ip): voidMenghapus blokir manual IP tanpa mereset penguncian akun atau rate limit.Lihat signature dan isi fungsi.
function canonicalIp(string $ip): stringMemvalidasi alamat dan menyamakan representasi IPv4 serta IPv4-mapped IPv6.return (string) inet_ntop($packed);
function withIpBlocks(Closure $operation, bool $write = false): mixedMembaca atau menulis daftar privat dengan file lock, validasi isi, izin file, dan penggantian file sementara.return $result;
function attempt(string $email, #[\SensitiveParameter] string $password, bool $pendingVerification = false): arrayMengunci akun master, memeriksa status, role, waktu penguncian, dan Hash.check. Kesalahan password disimpan melalui return agar penghitung gagal tetap commit.Batas transaksi
Kunci baris perubahan
Pemeriksaan hash
Pembuatan hash
Panggilan resolver.resolve
Dependensi kode proyek yang diimpor
Buka kode asli bernomor baris

Kode hanya ditampilkan sebagai teks. Tidak dieksekusi oleh panduan. Nomor baris mengikuti sumber yang dibaca.

Identitas snapshot

SHA-256 22156aa27fb2558a403939bdefe6f380dc976deeb18f83871778ead93fe8431c

app/Services/Security/RoleAccess.php39 baris · 4 fungsi bernama
Unggahan sumber 17 Oktober

Untuk apa

Otoritas role bisnis dan pewarisan kewenangannya.

Jika diminta mengubah

Owner mewarisi hak bisnis. Admin mewarisi hak kasir. Pemisahan pelaku harus diperiksa lagi pada TP.

Fungsi dan metode

Fungsi dan input atau hasilPenjelasan singkatBukti source
function valid(?string $role): boolMenerima hanya owner, admin, kasir, dan teknisi.return in_array($role, self::ROLES, true);
function isOwner(?string $role): boolMemeriksa apakah role bernilai owner.return $role === 'owner';
function integrityCertifierIsRuntimeRole(): boolMemastikan deployment_certifier tidak termasuk role bisnis runtime.return self::valid(self::INTEGRITY_CERTIFIER);
function allows(?string $role, array $allowed): boolMenolak role atau daftar izin yang tidak valid, lalu menerapkan hak owner, daftar eksplisit, dan pewarisan admin ke kasir.return false;
Buka kode asli bernomor baris

Kode hanya ditampilkan sebagai teks. Tidak dieksekusi oleh panduan. Nomor baris mengikuti sumber yang dibaca.

Identitas snapshot

SHA-256 ccd60aa071d3ecd864ce8aadc3201935e45307afdcd5788f22b31bc78cb06023

app/Services/Security/SafeApiErrors.php74 baris · 3 fungsi bernama
Unggahan sumber 17 Oktober

Untuk apa

Mengubah exception menjadi respons API yang tidak membocorkan SQL atau rahasia.

Jika diminta mengubah

Detail IVP hanya dimunculkan dalam log pengujian. Respons umum 500 tidak membuktikan transaksi sudah rollback, cek batas transaksinya.

Fungsi dan metode

Fungsi dan input atau hasilPenjelasan singkatBukti source
function __construct(private OperationalAlert $alerts)Menerima dependensi atau data awal objek. Parameter bertipe disediakan pemanggil atau container Laravel sesuai jalurnya.Lihat signature dan isi fungsi.
function render(Throwable $exception, Request $request): ?JsonResponseMemetakan exception autentikasi, status HTTP, konflik unik PostgreSQL, dan kegagalan umum ke JSON aman.Respons JSON
function report(Throwable $exception): ?boolMencatat tipe serta kode exception dan mengirim alert operasional pada kondisi produksi yang memenuhi syarat.Panggilan alerts.send
Dependensi kode proyek yang diimpor
Buka kode asli bernomor baris

Kode hanya ditampilkan sebagai teks. Tidak dieksekusi oleh panduan. Nomor baris mengikuti sumber yang dibaca.

Identitas snapshot

SHA-256 a96740de18e15ccc99b0ef843c541920803c9354aea461844f9e8af4f2ff2df8

app/Services/Security/ServiceAccess.php36 baris · 2 fungsi bernama
Unggahan sumber 17 Oktober

Untuk apa

Pemisahan penerima servis dan teknisi yang mengerjakan.

Jika diminta mengubah

Hak owner tidak menghapus larangan menerima dan mengerjakan servis yang sama oleh orang yang sama.

Fungsi dan metode

Fungsi dan input atau hasilPenjelasan singkatBukti source
function technician(int $id, int $receiverId, ResolvedTenant $tenant, Pengguna $actor, bool $assignment = false): PenggunaMemeriksa teknisi aktif, cabang, perbedaan dengan penerima, serta syarat penugasan owner kepada dirinya sendiri.Kunci referensi baca
function action(Pengguna $actor, object $service, string $operation): voidMembatasi operasi teknis pada teknisi yang ditugaskan dan berbeda dari penerima.Lihat signature dan isi fungsi.
Dependensi kode proyek yang diimpor
Buka kode asli bernomor baris

Kode hanya ditampilkan sebagai teks. Tidak dieksekusi oleh panduan. Nomor baris mengikuti sumber yang dibaca.

Identitas snapshot

SHA-256 3604bb2ca56b6e4096efd1045a8c8f00526a0be27ee0f1daeec895906cffe34f

app/Services/Security/StaffLoginChallenge.php116 baris · 6 fungsi bernama
Revisi ZIP v5

Untuk apa

CAPTCHA Turnstile dan kode email sekali pakai yang dapat diaktifkan lewat konfigurasi.

Jika diminta mengubah

Kode tersedia, tetapi keluaran VPS sebelumnya menyatakan tantangan belum aktif. Aktivasi membutuhkan kunci asli dan SMTP yang berhasil diuji.

Fungsi dan metode

Fungsi dan input atau hasilPenjelasan singkatBukti source
function enabled(): boolMembaca sakelar STAFF_LOGIN_CHALLENGE_ENABLED.return (bool) config('security.staff_login_challenge_enabled', false);
function configured(): boolMemastikan site key, secret key, pengirim, dan pengaturan SMTP tersedia tanpa placeholder.return trim((string) config('security.turnstile_site_key')) !== ''
function verifyCaptcha(Request $request): boolMemvalidasi token ke Cloudflare dengan timeout serta mencocokkan hostname aplikasi.Pemeriksaan CAPTCHA
function begin(Request $request, Pengguna $user): voidMembuat kode enam angka, menyimpan HMAC, fingerprint password, batas lima menit, dan jumlah percobaan pada session, lalu mengirim email.Lihat signature dan isi fungsi.
function validateCode(Request $request, string $code): ?PenggunaMemeriksa waktu, maksimal lima kesalahan, HMAC kode, status akun, role, penguncian, dan fingerprint password. Menghapus tantangan setelah berhasil.Verifikasi kode
function codeHash(string $code): stringMenghasilkan HMAC SHA-256 kode dengan APP_KEY sebagai kunci.return hash_hmac('sha256', $code, (string) config('app.key'));
Dependensi kode proyek yang diimpor
Buka kode asli bernomor baris

Kode hanya ditampilkan sebagai teks. Tidak dieksekusi oleh panduan. Nomor baris mengikuti sumber yang dibaca.

Identitas snapshot

SHA-256 d82a36d6c05f8a62b28d48cc548375eec40337d44edc693793b88b4513b18b78

app/Services/Tenancy/ResolvedTenant.php15 baris · 2 fungsi bernama
Unggahan sumber 17 Oktober

Untuk apa

Objek hasil resolusi cabang dan nama koneksi.

Jika diminta mengubah

Tambahkan metadata tenant di sini hanya jika dibutuhkan pemanggil.

Fungsi dan metode

Fungsi dan input atau hasilPenjelasan singkatBukti source
function __construct(public Cabang $cabang, public string $connection)Menyimpan field objek input bertipe. Jalur fromInput atau validate memeriksa nilai sebelum objek dipakai.Lihat signature dan isi fungsi.
function sessionData(): arrayMenghasilkan ID cabang dan nama koneksi untuk disimpan pada session.return ['id_cabang' => (int) $this->cabang->id_cabang, 'connection' => $this->connection];
Dependensi kode proyek yang diimpor
Buka kode asli bernomor baris

Kode hanya ditampilkan sebagai teks. Tidak dieksekusi oleh panduan. Nomor baris mengikuti sumber yang dibaca.

Identitas snapshot

SHA-256 ccaf2a91c71e8d4b30cd5756fd05dd98bca310963353355450e6749ea450ad4b

app/Services/Tenancy/TenantContext.php23 baris · 3 fungsi bernama
Unggahan sumber 17 Oktober

Untuk apa

Wadah tenant untuk satu request.

Jika diminta mengubah

Didaftarkan scoped oleh AppServiceProvider agar konteks tidak dipakai silang request.

Fungsi dan metode

Fungsi dan input atau hasilPenjelasan singkatBukti source
function set(ResolvedTenant $tenant): voidMenyimpan tenant yang sudah diselesaikan backend.Lihat signature dan isi fungsi.
function clear(): voidMenghapus tenant dari konteks request.Lihat signature dan isi fungsi.
function current(): ?ResolvedTenantMengembalikan tenant aktif atau null.return $this->tenant;
Buka kode asli bernomor baris

Kode hanya ditampilkan sebagai teks. Tidak dieksekusi oleh panduan. Nomor baris mengikuti sumber yang dibaca.

Identitas snapshot

SHA-256 8771bc3d48969dd900faa5991fbc60637841f757ad4931f7db2865c972ad1ae4

app/Services/Tenancy/TenantRegistry.php86 baris · 5 fungsi bernama
Unggahan sumber 17 Oktober

Untuk apa

Pemetaan dua cabang awal dan tenant hasil provisioning.

Jika diminta mengubah

Cabang tambahan memerlukan database, role, schema, E1, metadata tenant, serta dukungan komponen lain yang masih statis.

Fungsi dan metode

Fungsi dan input atau hasilPenjelasan singkatBukti source
function key(int $branchId): stringMembentuk kunci b_ID dari ID cabang.return 'b_'.$branchId;
function connectionName(int $branchId): stringMembentuk nama koneksi tenant_b_ID.return 'tenant_b_'.$branchId;
function connection(Cabang $branch): ?stringMencoba mapping cabang awal, lalu metadata tenant ready. Kredensial disimpan terenkripsi dan didekripsi hanya saat membentuk koneksi.Tabel tenant_instances
function tenantConnections(): arrayMenggabungkan koneksi cabang awal dan cabang baru yang aktif serta siap.Tabel tenant_instances
function tenantKey(string $connection): ?stringMengubah nama koneksi kembali menjadi kunci tenant yang dikenali.return $legacy;
Dependensi kode proyek yang diimpor
Buka kode asli bernomor baris

Kode hanya ditampilkan sebagai teks. Tidak dieksekusi oleh panduan. Nomor baris mengikuti sumber yang dibaca.

Identitas snapshot

SHA-256 476daa3301c949e31942fbd8b901689458fff5d2ae631f93a81e9ab88fbb987e

app/Services/Tenancy/TenantResolver.php28 baris · 1 fungsi bernama
Unggahan sumber 17 Oktober

Untuk apa

Mengubah ID cabang menjadi cabang aktif dan koneksi PostgreSQL yang dikenal.

Jika diminta mengubah

Pemetaan statis dan cabang baru ditangani TenantRegistry.

Fungsi dan metode

Fungsi dan input atau hasilPenjelasan singkatBukti source
function resolve(int $idCabang): ResolvedTenantMenolak cabang tidak aktif, memastikan mapping koneksi tersedia, lalu mengembalikan ResolvedTenant.return new ResolvedTenant($cabang, $connection);
Dependensi kode proyek yang diimpor
Buka kode asli bernomor baris

Kode hanya ditampilkan sebagai teks. Tidak dieksekusi oleh panduan. Nomor baris mengikuti sumber yang dibaca.

Identitas snapshot

SHA-256 fa60cb55a2d34a62d13fd818bff0954b8a24b66d575f5d256c64200848a1c49c

app/Services/Transactions/AssignServiceTechnician.php16 baris · 2 fungsi bernama
Unggahan sumber 17 Oktober

Untuk apa

Menugaskan teknisi melalui TP bernama khusus.

Jika diminta mengubah

Aturan bersama berada pada ServiceWorkflow dan ServiceData.

Fungsi dan metode

Fungsi dan input atau hasilPenjelasan singkatBukti source
function __construct(private ServiceWorkflow $workflow)Menerima dependensi atau data awal objek. Parameter bertipe disediakan pemanggil atau container Laravel sesuai jalurnya.Lihat signature dan isi fungsi.
function handle(Pengguna $actor, array $input, Request $request, int $id): intMembentuk ServiceData untuk operasi assign lalu meneruskan aktor, input, request, dan ID yang diperlukan kepada workflow.Panggilan workflow.handle
Dependensi kode proyek yang diimpor
Buka kode asli bernomor baris

Kode hanya ditampilkan sebagai teks. Tidak dieksekusi oleh panduan. Nomor baris mengikuti sumber yang dibaca.

Identitas snapshot

SHA-256 a6945311162c70b72731aa21fd0cdf4e339ef2ce8e71a9a0ee33b706a1552c8a

app/Services/Transactions/CancelOnlineOrder.php43 baris · 2 fungsi bernama
Unggahan sumber 17 Oktober

Untuk apa

Pembatalan pesanan melalui tautan pelanggan yang sah.

Jika diminta mengubah

Pembatalan hanya diizinkan pada tahap yang diterima workflow ini.

Fungsi dan metode

Fungsi dan input atau hasilPenjelasan singkatBukti source
function __construct( private TenantResolver $tenants, private AuditLogger $audit, )Menerima dependensi atau data awal objek. Parameter bertipe disediakan pemanggil atau container Laravel sesuai jalurnya.Lihat signature dan isi fungsi.
function handle(int $branchId, string $saleNumber, Request $request): voidMenyelesaikan tenant dari tautan, mengunci pesanan, memeriksa status, memperbarui pembatalan, dan menulis audit UDI.Batas transaksi
Kunci baris perubahan
Audit input publik
Tabel penjualan
Panggilan tenants.resolve, audit.recordGuestUdi
Dependensi kode proyek yang diimpor
Buka kode asli bernomor baris

Kode hanya ditampilkan sebagai teks. Tidak dieksekusi oleh panduan. Nomor baris mengikuti sumber yang dibaca.

Identitas snapshot

SHA-256 432f66a4720080cda75868db4fb06270e787d1cfaca994ebed78c2b454531e66

app/Services/Transactions/CompleteWarrantyClaim.php16 baris · 2 fungsi bernama
Unggahan sumber 17 Oktober

Untuk apa

Penyelesaian teknis klaim melalui TP bernama khusus.

Jika diminta mengubah

Aturan bersama berada di WarrantyClaimData dan WarrantyClaimWorkflow.

Fungsi dan metode

Fungsi dan input atau hasilPenjelasan singkatBukti source
function __construct(private WarrantyClaimWorkflow $workflow)Menerima dependensi atau data awal objek. Parameter bertipe disediakan pemanggil atau container Laravel sesuai jalurnya.Lihat signature dan isi fungsi.
function handle(Pengguna $actor, array $input, Request $request, int $id): intMembentuk input untuk operasi complete dan menyerahkan pelaksanaannya ke workflow garansi.Panggilan workflow.handle
Dependensi kode proyek yang diimpor
Buka kode asli bernomor baris

Kode hanya ditampilkan sebagai teks. Tidak dieksekusi oleh panduan. Nomor baris mengikuti sumber yang dibaca.

Identitas snapshot

SHA-256 f11bcd3bb8748c2b33093e4d41a4fe706040154fa3a20acf75a7887316ff486f

app/Services/Transactions/CreateOnlineOrder.php168 baris · 3 fungsi bernama
Unggahan sumber 17 Oktober

Untuk apa

Mencatat pesanan publik awal untuk satu cabang.

Jika diminta mengubah

Tahap pesanan awal belum memotong stok. Pengurangan terjadi pada verifikasi pembayaran yang sah.

Fungsi dan metode

Fungsi dan input atau hasilPenjelasan singkatBukti source
function __construct( private TenantResolver $tenants, private SalePricing $pricing, private OnlineOrderIntegrity $integrity, private AuditLogger $audit, )Menerima dependensi atau data awal objek. Parameter bertipe disediakan pemanggil atau container Laravel sesuai jalurnya.Lihat signature dan isi fungsi.
function handle(OnlineOrderData $input, Request $request): arrayMenyelesaikan cabang, memeriksa produk dan jumlah tersedia, menentukan harga server, menyimpan pelanggan dan pesanan awal serta snapshot pembayaran, memverifikasi keadaan pending, dan mencatat audit UDI.Batas transaksi
Kunci referensi baca
Audit input publik
Tabel produk_cabang, pelanggan, penjualan, detail_penjualan, pengiriman
Panggilan tenants.resolve, pricing.normalPrice, pricing.total, integrity.verifyPending, audit.recordGuestUdi
function newTrackingCode(): stringMembuat kode pelacakan acak yang tidak bergantung pada nomor urut transaksi.return $code;
Dependensi kode proyek yang diimpor
Buka kode asli bernomor baris

Kode hanya ditampilkan sebagai teks. Tidak dieksekusi oleh panduan. Nomor baris mengikuti sumber yang dibaca.

Identitas snapshot

SHA-256 f241ae7941d111a133586fb5ca46f2e320dd7cfeb153cff20144c1d8eadbd406

app/Services/Transactions/CreateProductWarrantyClaim.php16 baris · 2 fungsi bernama
Unggahan sumber 17 Oktober

Untuk apa

Pengajuan klaim produk melalui TP bernama khusus.

Jika diminta mengubah

Aturan bersama berada di WarrantyClaimData dan WarrantyClaimWorkflow.

Fungsi dan metode

Fungsi dan input atau hasilPenjelasan singkatBukti source
function __construct(private WarrantyClaimWorkflow $workflow)Menerima dependensi atau data awal objek. Parameter bertipe disediakan pemanggil atau container Laravel sesuai jalurnya.Lihat signature dan isi fungsi.
function handle(Pengguna $actor, array $input, Request $request): intMembentuk input untuk operasi product dan menyerahkan pelaksanaannya ke workflow garansi.Panggilan workflow.handle
Dependensi kode proyek yang diimpor
Buka kode asli bernomor baris

Kode hanya ditampilkan sebagai teks. Tidak dieksekusi oleh panduan. Nomor baris mengikuti sumber yang dibaca.

Identitas snapshot

SHA-256 94fb6012aca9583caba8977116278c9c8dba8c2feae7bbc0162728e12f74bb57

app/Services/Transactions/CreateRetailSale.php135 baris · 3 fungsi bernama
Unggahan sumber 17 Oktober

Untuk apa

TP penjualan toko dengan harga dari server.

Jika diminta mengubah

Ubah harga di SalePricing, input di SaleData, bukti persamaan di SaleIntegrity, dan tampilan di PosPanel.

Fungsi dan metode

Fungsi dan input atau hasilPenjelasan singkatBukti source
function __construct( private BusinessAccess $access, private SalePricing $pricing, private IssueStock $inventory, private SaleIntegrity $integrity, private AuditLogger $audit, )Menerima dependensi atau data awal objek. Parameter bertipe disediakan pemanggil atau container Laravel sesuai jalurnya.Lihat signature dan isi fungsi.
function handle(Pengguna $actor, SaleData $input, Request $request): intMenahan referensi master dengan shared lock, memvalidasi pembayaran, menulis header serta item tenant, mengurangi stok melalui TP, menjalankan IVP, dan menulis audit sebelum commit.Batas transaksi
Kunci referensi baca
Relasi aktor dan TP
Audit CDI wajib
IVP penjualan selesai
Tabel penjualan, detail_penjualan
Panggilan access.actorFor, access.tenant, pricing.normalPrice, pricing.total, inventory.handle, integrity.verifyCompleted, audit.recordCdi
function stockSnapshot(Connection $db, int $branchId, array $productIds): arrayMembaca stok semua produk transaksi pada cabang yang sama untuk pembuktian sebelum dan sesudah.Tabel produk_cabang
Dependensi kode proyek yang diimpor
Buka kode asli bernomor baris

Kode hanya ditampilkan sebagai teks. Tidak dieksekusi oleh panduan. Nomor baris mengikuti sumber yang dibaca.

Identitas snapshot

SHA-256 d22b33b8ce54cde9a6af6e12ca9ffc5934d4ffa2ad8de7b4abeca78b233522fc

app/Services/Transactions/CreateServiceWarrantyClaim.php16 baris · 2 fungsi bernama
Unggahan sumber 17 Oktober

Untuk apa

Pengajuan klaim servis melalui TP bernama khusus.

Jika diminta mengubah

Aturan bersama berada di WarrantyClaimData dan WarrantyClaimWorkflow.

Fungsi dan metode

Fungsi dan input atau hasilPenjelasan singkatBukti source
function __construct(private WarrantyClaimWorkflow $workflow)Menerima dependensi atau data awal objek. Parameter bertipe disediakan pemanggil atau container Laravel sesuai jalurnya.Lihat signature dan isi fungsi.
function handle(Pengguna $actor, array $input, Request $request): intMembentuk input untuk operasi service dan menyerahkan pelaksanaannya ke workflow garansi.Panggilan workflow.handle
Dependensi kode proyek yang diimpor
Buka kode asli bernomor baris

Kode hanya ditampilkan sebagai teks. Tidak dieksekusi oleh panduan. Nomor baris mengikuti sumber yang dibaca.

Identitas snapshot

SHA-256 0f9a489c227e366a96f352f46678cfbf10413336192d8232127b3247b104a7ef

app/Services/Transactions/DecideSpecialPriceSale.php312 baris · 7 fungsi bernama
Unggahan sumber 17 Oktober

Untuk apa

Preview dan keputusan owner atas pengajuan harga khusus.

Jika diminta mengubah

Owner pengaju tetap tidak boleh menyetujui pengajuannya sendiri. Perubahan harga normal setelah pengajuan juga diperiksa.

Fungsi dan metode

Fungsi dan input atau hasilPenjelasan singkatBukti source
function __construct( private BusinessAccess $access, private SalePricing $pricing, private IssueStock $inventory, private SaleIntegrity $integrity, private AuditLogger $audit, )Menerima dependensi atau data awal objek. Parameter bertipe disediakan pemanggil atau container Laravel sesuai jalurnya.Lihat signature dan isi fungsi.
function preview(Pengguna $actor, ResolvedTenant $tenant, int $saleId, string $token): arrayMemeriksa hak owner dan token sebelum memperlihatkan pengajuan.Batas transaksi
Relasi aktor dan TP
Tabel penjualan, detail_penjualan, audit_log
Panggilan access.actorFor
Assertion assertPendingToken
function decide(Pengguna $actor, ResolvedTenant $tenant, int $saleId, string $token, string $decision, Request $request): arrayMengunci pengajuan, memeriksa token, pemisahan pelaku, produk dan harga normal. Persetujuan mengurangi stok, menjalankan IVP, serta menulis audit.Batas transaksi
Kunci baris perubahan
Kunci referensi baca
Relasi aktor dan TP
Audit CDI wajib
IVP penjualan selesai
Tabel detail_penjualan, penjualan
Panggilan access.actorFor, pricing.normalPrice, inventory.handle, integrity.verifyCompleted, audit.recordCdi
Assertion assertPendingToken
function reject( Connection $db, object $header, array $details, Pengguna $actor, Request $request, ResolvedTenant $tenant, ): voidMembatalkan pengajuan, memeriksa hasil penolakan, dan mengaudit tanpa mengurangi stok.Audit CDI wajib
Tabel penjualan
Panggilan integrity.verifyRejected, audit.recordCdi
function assertPendingToken(object $header, string $token): voidMenolak keputusan ulang, token salah, atau tautan kedaluwarsa.Lihat signature dan isi fungsi.
function normalPriceSnapshots(Connection $db, int $saleId): arrayMembaca snapshot harga normal dari audit saat pengajuan.Tabel audit_log
function stockSnapshot(Connection $db, int $branchId, array $productIds): arrayMembaca stok per produk untuk memeriksa hasil keputusan.Tabel produk_cabang
Dependensi kode proyek yang diimpor
Buka kode asli bernomor baris

Kode hanya ditampilkan sebagai teks. Tidak dieksekusi oleh panduan. Nomor baris mengikuti sumber yang dibaca.

Identitas snapshot

SHA-256 a7d33237b8a78e9c45f657c92bd2153548818c557cb09765ce16e4b449f60e26

app/Services/Transactions/DecideStockTransfer.php110 baris · 4 fungsi bernama
Unggahan sumber 17 Oktober

Untuk apa

TP keputusan transfer stok.

Jika diminta mengubah

Keputusan owner memeriksa identitas pengaju dan fingerprint pengajuan sebelum menyentuh stok.

Fungsi dan metode

Fungsi dan input atau hasilPenjelasan singkatBukti source
function __construct( private DistributedTransactionManager $transactions, private BusinessAccess $access, private RequestStockTransfer $requests, private StockTransferIntegrity $integrity, private AuditLogger $audit, private IssueStock $issue, private ReceiveStock $receive, )Menerima dependensi atau data awal objek. Parameter bertipe disediakan pemanggil atau container Laravel sesuai jalurnya.Lihat signature dan isi fungsi.
function preview(Pengguna $actor, int $id, int $branchId, string $token): arrayMemeriksa role, cabang asal aktif, token, dan keutuhan pengajuan sebelum preview.Batas transaksi
Relasi aktor dan TP
Tabel mutasi_stok, detail_mutasi_stok
Panggilan access.actorFor, access.tenant, integrity.assertRequest
Assertion assertRequest
function handle(Pengguna $actor, int $id, int $branchId, string $token, string $decision, Request $request): arrayMenjalankan keputusan 2PC, mengunci pengajuan, menolak pelaku yang sama, memindahkan stok pada persetujuan, serta memverifikasi audit dan persamaan stok.Kunci baris perubahan
Relasi aktor dan TP
Audit CDI wajib
Pemeriksaan IVP
Tabel mutasi_stok, detail_mutasi_stok
Panggilan transactions.run, access.actorFor, access.tenant, integrity.assertRequest, requests.references, requests.lockStock, audit.recordCdi
Assertion assertRequest
function token(object $header, string $token): voidMenolak pengajuan yang telah diputuskan, token tidak cocok, atau waktu persetujuan yang sudah lewat.Lihat signature dan isi fungsi.
Dependensi kode proyek yang diimpor
Buka kode asli bernomor baris

Kode hanya ditampilkan sebagai teks. Tidak dieksekusi oleh panduan. Nomor baris mengikuti sumber yang dibaca.

Identitas snapshot

SHA-256 98dc1616ffa6fda1d78ff2ad9a0d32a03d8969e10df81b1ea01fc03bb2405f21

app/Services/Transactions/DistributedTransactionManager.php258 baris · 11 fungsi bernama
Unggahan sumber 17 Oktober

Untuk apa

Coordinator two-phase commit PostgreSQL untuk mutasi dua cabang awal.

Jika diminta mengubah

run hanya menerima mutasi_request, mutasi_approve, dan mutasi_reject. Bukan mekanisme untuk semua transaksi aplikasi.

Fungsi dan metode

Fungsi dan input atau hasilPenjelasan singkatBukti source
function run(string $operation, ?int $reference, Closure $work): arrayMembuat jurnal terpisah dan advisory lock, membuka transaksi peserta, menjalankan pekerjaan, melakukan PREPARE, menyimpan keputusan durable, lalu menyelesaikan peserta. Penanganan error membaca keputusan yang telah tersimpan.Tabel distributed_transactions
function recover(): arrayMencari coordinator yang belum selesai dan prepared transaction Rajawali, mengambil lock, memulihkan menurut keputusan durable, serta menandai hasil.Tabel distributed_transactions
function journal(): ConnectionMembuka koneksi master tersendiri agar jurnal tidak ikut transaksi yang akan diprepare.return $db;
function prefix(Connection $journal): stringMembuat prefix GID dari identitas database dan schema jurnal.return 'rajawali_'.substr(hash('sha256', $identity->db.'.'.$identity->schema), 0, 16).'_';
function participants(string $prefix, string $global): arrayMencatat GID, database, dan schema setiap peserta yang ditentukan.return $result;
function lock(Connection $journal, string $identity): boolMengambil advisory lock nonblocking untuk satu transaksi global.return (bool) $journal->selectOne('SELECT pg_try_advisory_lock(hashtextextended(?, 0)) AS acquired', [$identity])->acquired;
function decide(Connection $journal, string $global, string $decision): voidMengunci jurnal dan menyimpan keputusan commit atau rollback yang tidak boleh dibalik.Batas transaksi
Kunci baris perubahan
Tabel distributed_transactions
function finish(Connection $journal, string $global, array $participants, string $decision): voidMenyelesaikan setiap peserta sesuai keputusan lalu menandai coordinator completed.Tabel distributed_transactions
function resolveParticipant(string $name, array $participant, string $decision): voidMemeriksa prepared transaction pada database dan owner yang benar sebelum menyelesaikannya.Lihat signature dan isi fungsi.
function preparedStatement(Connection $db, string $command, string $gid): voidMenjalankan perintah PREPARE atau penyelesaiannya menggunakan quoting GID dari PDO.Lihat signature dan isi fungsi.
function checkpoint(string $phase, string $global, ?string $participant = null): voidTitik injeksi kegagalan untuk tes crash recovery. Implementasi dasar sengaja kosong.Lihat signature dan isi fungsi.
Buka kode asli bernomor baris

Kode hanya ditampilkan sebagai teks. Tidak dieksekusi oleh panduan. Nomor baris mengikuti sumber yang dibaca.

Identitas snapshot

SHA-256 89b325bc27f291456c5d2d3a8dd3b397759034b20229d84ae2174aaf9e405784

app/Services/Transactions/HandOverService.php16 baris · 2 fungsi bernama
Unggahan sumber 17 Oktober

Untuk apa

Menyerahkan unit selesai melalui TP bernama khusus.

Jika diminta mengubah

Aturan bersama berada pada ServiceWorkflow dan ServiceData.

Fungsi dan metode

Fungsi dan input atau hasilPenjelasan singkatBukti source
function __construct(private ServiceWorkflow $workflow)Menerima dependensi atau data awal objek. Parameter bertipe disediakan pemanggil atau container Laravel sesuai jalurnya.Lihat signature dan isi fungsi.
function handle(Pengguna $actor, array $input, Request $request, int $id): intMembentuk ServiceData untuk operasi handover lalu meneruskan aktor, input, request, dan ID yang diperlukan kepada workflow.Panggilan workflow.handle
Dependensi kode proyek yang diimpor
Buka kode asli bernomor baris

Kode hanya ditampilkan sebagai teks. Tidak dieksekusi oleh panduan. Nomor baris mengikuti sumber yang dibaca.

Identitas snapshot

SHA-256 36df7cdad9b107072d8edaf9af6a42cf53a8b0702afade6a184e3d2137157834

app/Services/Transactions/HandleWarrantyClaim.php16 baris · 2 fungsi bernama
Unggahan sumber 17 Oktober

Untuk apa

Penanganan teknis klaim melalui TP bernama khusus.

Jika diminta mengubah

Aturan bersama berada di WarrantyClaimData dan WarrantyClaimWorkflow.

Fungsi dan metode

Fungsi dan input atau hasilPenjelasan singkatBukti source
function __construct(private WarrantyClaimWorkflow $workflow)Menerima dependensi atau data awal objek. Parameter bertipe disediakan pemanggil atau container Laravel sesuai jalurnya.Lihat signature dan isi fungsi.
function handle(Pengguna $actor, array $input, Request $request, int $id): intMembentuk input untuk operasi handle dan menyerahkan pelaksanaannya ke workflow garansi.Panggilan workflow.handle
Dependensi kode proyek yang diimpor
Buka kode asli bernomor baris

Kode hanya ditampilkan sebagai teks. Tidak dieksekusi oleh panduan. Nomor baris mengikuti sumber yang dibaca.

Identitas snapshot

SHA-256 27578f1acd46dfc9ab58111d5735d5a03cae14634375387e5914cccd25a91f1b

app/Services/Transactions/InspectWarrantyClaim.php16 baris · 2 fungsi bernama
Unggahan sumber 17 Oktober

Untuk apa

Pemeriksaan awal klaim melalui TP bernama khusus.

Jika diminta mengubah

Aturan bersama berada di WarrantyClaimData dan WarrantyClaimWorkflow.

Fungsi dan metode

Fungsi dan input atau hasilPenjelasan singkatBukti source
function __construct(private WarrantyClaimWorkflow $workflow)Menerima dependensi atau data awal objek. Parameter bertipe disediakan pemanggil atau container Laravel sesuai jalurnya.Lihat signature dan isi fungsi.
function handle(Pengguna $actor, array $input, Request $request, int $id): intMembentuk input untuk operasi inspect dan menyerahkan pelaksanaannya ke workflow garansi.Panggilan workflow.handle
Dependensi kode proyek yang diimpor
Buka kode asli bernomor baris

Kode hanya ditampilkan sebagai teks. Tidak dieksekusi oleh panduan. Nomor baris mengikuti sumber yang dibaca.

Identitas snapshot

SHA-256 bb112602b63277dcae63cea43f385ce4c2677276940e1f29ea4994646afd9f66

app/Services/Transactions/InstitutionInvoiceData.php48 baris · 3 fungsi bernama
Unggahan sumber 17 Oktober

Untuk apa

Input per operasi nota instansi dan snapshot field publik.

Jika diminta mengubah

Tambah atau ubah field di rules, normalisasi, konstruktor jika ada, Request pemanggil, layanan transaksi, dan form frontend.

Fungsi dan metode

Fungsi dan input atau hasilPenjelasan singkatBukti source
function rules(string $operation): arrayMenetapkan field, tipe, nilai yang diperbolehkan, panjang, jumlah item, dan batas angka untuk operasi terkait.return match ($operation) {
function validate(array $input, string $operation): arrayMemvalidasi input per operasi dan menolak field tambahan menurut aturan layanan ini.return Validator::make($input, $rules)->validate();
function publicFields(object $row): arrayMemilih field nota yang boleh menjadi snapshot publik dan histori.return array_diff_key((array) $row, array_flip(['approval_token_hash']));
Aturan field asli
Potongan aturanBaris
'nama_instansi' => ['required', 'string', 'max:150'],14
'alamat_instansi' => ['required', 'string', 'max:2000'],15
'nama_kontak' => ['required', 'string', 'max:100'],16
'nomor_po' => ['nullable', 'string', 'max:100'],17
'catatan' => ['nullable', 'string', 'max:2000'],18
'create' => ['id_penjualan' => ['required', 'integer', 'min:1', 'max:2147483647']] + $fields,22
'update' => ['versi' => ['required', 'integer', 'min:1']] + $fields,23
'cancel' => ['versi' => ['required', 'integer', 'min:1'], 'catatan' => ['required', 'string', 'max:2000']],25
'decide' => ['versi' => ['required', 'integer', 'min:1'], 'keputusan' => ['required', 'in:setujui,tolak'], 'catatan' => ['required', 'string', 'max:2000']],26
Buka kode asli bernomor baris

Kode hanya ditampilkan sebagai teks. Tidak dieksekusi oleh panduan. Nomor baris mengikuti sumber yang dibaca.

Identitas snapshot

SHA-256 2b50c3f8a5a559ff59ffc9207c438e9cce4c7153d93ee3aec193279c5f3ce1b3

app/Services/Transactions/InstitutionInvoiceWorkflow.php135 baris · 3 fungsi bernama
Unggahan sumber 17 Oktober

Untuk apa

TP dokumen instansi berdasarkan penjualan lunas yang sudah selesai.

Jika diminta mengubah

Nilai nota bukan penjualan tambahan. Kolom versi mencegah keputusan pada dokumen yang sudah berubah.

Fungsi dan metode

Fungsi dan input atau hasilPenjelasan singkatBukti source
function __construct( private BusinessAccess $access, private InstitutionInvoiceIntegrity $integrity, private AuditLogger $audit, )Menerima dependensi atau data awal objek. Parameter bertipe disediakan pemanggil atau container Laravel sesuai jalurnya.Lihat signature dan isi fungsi.
function handle(Pengguna $actor, string $operation, ?int $id, array $input, Request $request): arrayMemvalidasi operasi, memeriksa aktor dan tenant, mengunci sumber atau nota, menjalankan aturan draft sampai keputusan, memeriksa versi dan SoD, lalu menulis histori serta audit. Email dikirim setelah transaksi hasilnya tersedia.Batas transaksi
Kunci baris perubahan
Kunci referensi baca
Relasi aktor dan TP
Audit CDI wajib
Tautan sementara
Pemeriksaan IVP
Tabel penjualan, nota_instansi, detail_penjualan, histori_nota_instansi
Panggilan access.actorFor, access.tenant, integrity.verify, audit.recordCdi
function checkLink(object $row, Request $request, int $branch): voidMemeriksa signature, cabang, status diajukan, masa token, dan kecocokan hash token.Pemeriksaan signature
Dependensi kode proyek yang diimpor
Buka kode asli bernomor baris

Kode hanya ditampilkan sebagai teks. Tidak dieksekusi oleh panduan. Nomor baris mengikuti sumber yang dibaca.

Identitas snapshot

SHA-256 23d21cbb4649bf6b3646b94ff86fe6f607d47b1d976cc98e329a97e586d73d08

app/Services/Transactions/OnlineOrderActionData.php57 baris · 3 fungsi bernama
Unggahan sumber 17 Oktober

Untuk apa

Input khusus setiap tindakan pegawai pada pesanan online.

Jika diminta mengubah

Tambah atau ubah field di rules, normalisasi, konstruktor jika ada, Request pemanggil, layanan transaksi, dan form frontend.

Fungsi dan metode

Fungsi dan input atau hasilPenjelasan singkatBukti source
function __construct( public string $operation, public ?string $decision, public ?string $reason, public ?string $courier, public ?string $trackingNumber, )Menyimpan field objek input bertipe. Jalur fromInput atau validate memeriksa nilai sebelum objek dipakai.Lihat signature dan isi fungsi.
function rules(string $operation): arrayMenetapkan field, tipe, nilai yang diperbolehkan, panjang, jumlah item, dan batas angka untuk operasi terkait.return match ($operation) {
function fromInput(string $operation, array $input): selfMemvalidasi ulang input pada batas TP, menormalisasi nilai, mengubah tipe, dan membentuk objek input. Urutan produk dibuat konsisten bila operasi memerlukan beberapa stok.return new self(
Aturan field asli
Potongan aturanBaris
'payment' => [22
'keputusan' => ['required', 'string', 'in:terima,tolak'],23
'alasan' => ['nullable', 'string', 'max:500'],24
'ship' => [26
'kurir' => ['required', 'string', 'max:50'],27
'nomor_resi' => ['nullable', 'string', 'max:100'],28
Buka kode asli bernomor baris

Kode hanya ditampilkan sebagai teks. Tidak dieksekusi oleh panduan. Nomor baris mengikuti sumber yang dibaca.

Identitas snapshot

SHA-256 2e4ed11cca11d9156a4d055c845f4d89e6990e38eadce80651fa4234401cc4a4

app/Services/Transactions/OnlineOrderData.php80 baris · 3 fungsi bernama
Unggahan sumber 17 Oktober

Untuk apa

Input checkout satu cabang, identitas pelanggan, penerimaan, metode pembayaran, dan item.

Jika diminta mengubah

Tambah atau ubah field di rules, normalisasi, konstruktor jika ada, Request pemanggil, layanan transaksi, dan form frontend.

Fungsi dan metode

Fungsi dan input atau hasilPenjelasan singkatBukti source
function __construct( public int $branchId, public string $customerName, public ?string $whatsApp, public string $email, public ?string $address, public string $fulfilment, public ?string $recipientName, public ?string $shippingAddress, public string $paymentMethod, public array $items, )Menyimpan field objek input bertipe. Jalur fromInput atau validate memeriksa nilai sebelum objek dipakai.Lihat signature dan isi fungsi.
function rules(): arrayMenetapkan field, tipe, nilai yang diperbolehkan, panjang, jumlah item, dan batas angka untuk operasi terkait.return [
function fromInput(array $input): selfMemvalidasi ulang input pada batas TP, menormalisasi nilai, mengubah tipe, dan membentuk objek input. Urutan produk dibuat konsisten bila operasi memerlukan beberapa stok.return new self(
Aturan field asli
Potongan aturanBaris
'id_cabang' => ['required', 'integer', 'min:1', 'max:2147483647'],28
'nama_pelanggan' => ['required', 'string', 'max:100'],29
'no_wa' => ['nullable', 'string', 'max:20', 'regex:/^(?:\+62|62|0)8[0-9 .-]{7,15}$/'],30
'email' => ['required', 'string', 'email', 'max:100'],31
'alamat' => ['required', 'string', 'max:2000'],32
'metode_penerimaan' => ['required', 'string', 'in:ambil,kirim'],33
'nama_penerima' => ['nullable', 'string', 'max:100'],34
'alamat_pengiriman' => ['nullable', 'string', 'max:2000'],35
'metode_pembayaran' => ['required', 'string', 'in:transfer_bank,qris'],36
'items' => ['required', 'array', 'min:1', 'max:100'],37
'items.*' => ['required', 'array:id_produk,jumlah'],38
'items.*.id_produk' => ['required', 'integer', 'min:1', 'max:2147483647', 'distinct'],39
'items.*.jumlah' => ['required', 'integer', 'min:1', 'max:2147483647'],40
Buka kode asli bernomor baris

Kode hanya ditampilkan sebagai teks. Tidak dieksekusi oleh panduan. Nomor baris mengikuti sumber yang dibaca.

Identitas snapshot

SHA-256 e38202aacf2b709d3220cb13a8c05a12c80dd28c4d3f6863cf97b5f36d17480a

app/Services/Transactions/OnlineOrderLinks.php40 baris · 1 fungsi bernama
Unggahan sumber 17 Oktober

Untuk apa

Pembuat tautan sementara untuk tracking, bukti, dan pembatalan.

Jika diminta mengubah

Batas unggah 15 menit dihitung dari waktu pesanan. Masa tracking diatur terpisah.

Fungsi dan metode

Fungsi dan input atau hasilPenjelasan singkatBukti source
function make(int $branchId, string $saleNumber, CarbonInterface|string|null $createdAt = null): arrayMembuat temporarySignedRoute dengan cabang dan nomor pesanan, halaman tracking, URL bukti, URL pembatalan, serta batas pembayaran.Tautan sementara
Buka kode asli bernomor baris

Kode hanya ditampilkan sebagai teks. Tidak dieksekusi oleh panduan. Nomor baris mengikuti sumber yang dibaca.

Identitas snapshot

SHA-256 ec18cfeb25fa93896b3b7d37cb025df0ab28eea42c39702cceb1a3e93e99be8e

app/Services/Transactions/OnlineOrderStatus.php41 baris · 1 fungsi bernama
Unggahan sumber 17 Oktober

Untuk apa

Konstanta status pembayaran, penjualan online, dan pengiriman.

Jika diminta mengubah

Penambahan konstanta perlu aturan transisi pada workflow serta tampilan status.

Fungsi dan metode

Fungsi dan input atau hasilPenjelasan singkatBukti source
function internalCapability(): stringMenetapkan kasir sebagai kemampuan dasar operasi internal online order. Pewarisan mengikuti RoleAccess.return 'kasir';
Buka kode asli bernomor baris

Kode hanya ditampilkan sebagai teks. Tidak dieksekusi oleh panduan. Nomor baris mengikuti sumber yang dibaca.

Identitas snapshot

SHA-256 33b1963af20e3a49250012ccd9a3e836b0cb7f08f824f78fe2e703b97695d690

app/Services/Transactions/OnlineOrderWorkflow.php249 baris · 8 fungsi bernama
Unggahan sumber 17 Oktober

Untuk apa

TP internal verifikasi pembayaran dan pemenuhan pesanan.

Jika diminta mengubah

Setiap operasi punya prasyarat status. Edit juga OnlineOrderActionData, IVP, dan skenario pengujian jika menambah tahap.

Fungsi dan metode

Fungsi dan input atau hasilPenjelasan singkatBukti source
function __construct( private BusinessAccess $access, private IssueStock $inventory, private OnlineOrderIntegrity $integrity, private OnlinePaymentProofStorage $proofs, private SalePricing $pricing, private AuditLogger $audit, )Menerima dependensi atau data awal objek. Parameter bertipe disediakan pemanggil atau container Laravel sesuai jalurnya.Lihat signature dan isi fungsi.
function handle(Pengguna $actor, int $saleId, OnlineOrderActionData $input, Request $request): arrayMemvalidasi aktor dari registry, menahan referensi produk, mengunci pesanan tenant, lalu dispatch operasi internal.Batas transaksi
Kunci baris perubahan
Kunci referensi baca
Relasi aktor dan TP
Tabel detail_penjualan, penjualan
Panggilan access.actorFor, access.tenant
function payment( Connection $db, ResolvedTenant $tenant, object $sale, Pengguna $actor, array $products, OnlineOrderActionData $input, Request $request, ): voidMemeriksa bukti privat dan keadaan pembayaran. Keputusan diterima mengurangi stok melalui TP dan memverifikasi keadaan lunas. Penolakan mengikuti cabang keputusan tersendiri.Kunci baris perubahan
Audit CDI wajib
IVP pesanan lunas
Tabel penjualan, detail_penjualan
Panggilan proofs.validPath, proofs.exists, audit.recordCdi, inventory.handle, pricing.total, integrity.verifyPaid
function process(Connection $db, object $sale, Pengguna $actor, Request $request): voidMengizinkan proses hanya setelah pesanan berstatus dibayar.Lihat signature dan isi fungsi.
function ship(Connection $db, object $sale, Pengguna $actor, OnlineOrderActionData $input, Request $request): voidMengizinkan pengiriman pada pesanan kirim yang sedang diproses dan mencatat kurir, resi, serta audit.Kunci baris perubahan
Audit CDI wajib
Tabel pengiriman
Panggilan audit.recordCdi
function ready(Connection $db, object $sale, Pengguna $actor, Request $request): voidMengizinkan siap diambil hanya untuk pesanan ambil yang sedang diproses.Tabel pengiriman
function complete(Connection $db, object $sale, Pengguna $actor, Request $request): voidMemeriksa prasyarat pesanan kirim atau ambil sebelum menandai selesai.Kunci baris perubahan
Audit CDI wajib
Tabel pengiriman
Panggilan audit.recordCdi
function updateSaleStatus( Connection $db, object $sale, string $status, string $action, Pengguna $actor, Request $request, ): voidMemperbarui status penjualan dan mencatat audit perubahan status.Audit CDI wajib
Tabel penjualan
Panggilan audit.recordCdi
Dependensi kode proyek yang diimpor
Buka kode asli bernomor baris

Kode hanya ditampilkan sebagai teks. Tidak dieksekusi oleh panduan. Nomor baris mengikuti sumber yang dibaca.

Identitas snapshot

SHA-256 0653b024f47d1d220135beeee4a713f028bb28aa88a985a854063c1fec28227f

app/Services/Transactions/OnlinePaymentProofStorage.php66 baris · 5 fungsi bernama
Unggahan sumber 17 Oktober

Untuk apa

Penyimpanan dan pembacaan bukti pembayaran privat.

Jika diminta mengubah

Tidak memakai nama asli upload sebagai path. Pengunduhan harus tetap melewati route yang berizin.

Fungsi dan metode

Fungsi dan input atau hasilPenjelasan singkatBukti source
function store(UploadedFile $file, int $branchId, int $saleId): stringMemeriksa MIME isi file, membuat nama acak 48 karakter hex dalam path cabang dan pesanan, menulis stream privat, lalu membersihkan file jika gagal.return $path;
function validPath(string $path, int $branchId, int $saleId): boolMemastikan pola path sesuai cabang, ID pesanan, nama acak, dan ekstensi yang diizinkan.return preg_match('#\Acabang/'.$branchId.'/online-order/'.$saleId.'/[a-f0-9]{48}\.(jpg|png|webp|pdf)\z#', $path) === 1;
function exists(string $path): boolMemeriksa keberadaan file pada disk bukti.return Storage::disk(self::DISK)->exists($path);
function remove(string $path): voidMenghapus file bukti pada disk yang ditentukan.Lihat signature dan isi fungsi.
function response(string $path, int $branchId, int $saleId): StreamedResponseMemvalidasi path dan keberadaan lalu mengirim attachment dengan no-store, nosniff, dan CSP sandbox.return Storage::disk(self::DISK)->response($path, 'bukti-pembayaran.'.pathinfo($path, PATHINFO_EXTENSION), [
Dependensi kode proyek yang diimpor
Buka kode asli bernomor baris

Kode hanya ditampilkan sebagai teks. Tidak dieksekusi oleh panduan. Nomor baris mengikuti sumber yang dibaca.

Identitas snapshot

SHA-256 1269bd7f8d2b6e2089ee8854550386b4dcee6fd75127aa3524273af2d526fbda

app/Services/Transactions/ProgressService.php16 baris · 2 fungsi bernama
Unggahan sumber 17 Oktober

Untuk apa

Mencatat progres teknis melalui TP bernama khusus.

Jika diminta mengubah

Aturan bersama berada pada ServiceWorkflow dan ServiceData.

Fungsi dan metode

Fungsi dan input atau hasilPenjelasan singkatBukti source
function __construct(private ServiceWorkflow $workflow)Menerima dependensi atau data awal objek. Parameter bertipe disediakan pemanggil atau container Laravel sesuai jalurnya.Lihat signature dan isi fungsi.
function handle(Pengguna $actor, array $input, Request $request, int $id): intMembentuk ServiceData untuk operasi progress lalu meneruskan aktor, input, request, dan ID yang diperlukan kepada workflow.Panggilan workflow.handle
Dependensi kode proyek yang diimpor
Buka kode asli bernomor baris

Kode hanya ditampilkan sebagai teks. Tidak dieksekusi oleh panduan. Nomor baris mengikuti sumber yang dibaca.

Identitas snapshot

SHA-256 7e5e0f34d5315874df3cc2526238026667ff67ce4c38385c9dc9721be3048073

app/Services/Transactions/PurchaseData.php57 baris · 3 fungsi bernama
Unggahan sumber 17 Oktober

Untuk apa

Input pembelian dengan jumlah rusak dan catatan kondisi.

Jika diminta mengubah

Tambah atau ubah field di rules, normalisasi, konstruktor jika ada, Request pemanggil, layanan transaksi, dan form frontend.

Fungsi dan metode

Fungsi dan input atau hasilPenjelasan singkatBukti source
function __construct( public int $supplierId, public string $number, public CarbonImmutable $purchasedAt, public array $items, )Menyimpan field objek input bertipe. Jalur fromInput atau validate memeriksa nilai sebelum objek dipakai.Lihat signature dan isi fungsi.
function rules(): arrayMenetapkan field, tipe, nilai yang diperbolehkan, panjang, jumlah item, dan batas angka untuk operasi terkait.return [
function fromInput(array $input): selfMemvalidasi ulang input pada batas TP, menormalisasi nilai, mengubah tipe, dan membentuk objek input. Urutan produk dibuat konsisten bila operasi memerlukan beberapa stok.return new self((int) $data['id_supplier'], $data['nomor_pembelian'],
Aturan field asli
Potongan aturanBaris
'id_supplier' => ['required', 'integer', 'min:1', 'max:2147483647'],23
'nomor_pembelian' => ['required', 'string', 'max:50'],24
'tanggal_pembelian' => ['required', 'date_format:Y-m-d\TH:i:sP'],25
'items' => ['required', 'array', 'min:1', 'max:100'],26
'items.*' => ['required', 'array:id_produk,jumlah,harga_beli,jumlah_rusak,catatan_kerusakan'],27
'items.*.id_produk' => ['required', 'integer', 'min:1', 'max:2147483647', 'distinct'],28
'items.*.jumlah' => ['required', 'integer', 'min:1', 'max:2147483647'],29
'items.*.jumlah_rusak' => ['sometimes', 'integer', 'min:0', 'lte:items.*.jumlah'],30
'items.*.catatan_kerusakan' => ['nullable', 'string', 'max:2000'],31
'items.*.harga_beli' => ['required', 'integer', 'min:0', 'max:999999999999'],32
Buka kode asli bernomor baris

Kode hanya ditampilkan sebagai teks. Tidak dieksekusi oleh panduan. Nomor baris mengikuti sumber yang dibaca.

Identitas snapshot

SHA-256 f23f82bec7dd5e9b34c17d324b9aec9ac08fbb9ba690d4acd563398cf29f8be0

app/Services/Transactions/ReceiveService.php16 baris · 2 fungsi bernama
Unggahan sumber 17 Oktober

Untuk apa

Menerima unit servis melalui TP bernama khusus.

Jika diminta mengubah

Aturan bersama berada pada ServiceWorkflow dan ServiceData.

Fungsi dan metode

Fungsi dan input atau hasilPenjelasan singkatBukti source
function __construct(private ServiceWorkflow $workflow)Menerima dependensi atau data awal objek. Parameter bertipe disediakan pemanggil atau container Laravel sesuai jalurnya.Lihat signature dan isi fungsi.
function handle(Pengguna $actor, array $input, Request $request): intMembentuk ServiceData untuk operasi receive lalu meneruskan aktor, input, request, dan ID yang diperlukan kepada workflow.Panggilan workflow.handle
Dependensi kode proyek yang diimpor
Buka kode asli bernomor baris

Kode hanya ditampilkan sebagai teks. Tidak dieksekusi oleh panduan. Nomor baris mengikuti sumber yang dibaca.

Identitas snapshot

SHA-256 8a6f98263991d8e6f4e9f9e37043490c9e47c5bc006a228db4df2ae3a96997ac

app/Services/Transactions/RecordPurchase.php81 baris · 2 fungsi bernama
Unggahan sumber 17 Oktober

Untuk apa

TP penerimaan pembelian, termasuk barang rusak.

Jika diminta mengubah

Jumlah tersedia bertambah jumlah diterima dikurangi jumlah rusak. Jumlah rusak masuk karantina.

Fungsi dan metode

Fungsi dan input atau hasilPenjelasan singkatBukti source
function __construct( private BusinessAccess $access, private ReceiveStock $inventory, private PurchaseIntegrity $integrity, private AuditLogger $audit, )Menerima dependensi atau data awal objek. Parameter bertipe disediakan pemanggil atau container Laravel sesuai jalurnya.Lihat signature dan isi fungsi.
function handle(Pengguna $actor, PurchaseData $input, Request $request): intMemvalidasi supplier, produk dan aktor, menyimpan pembelian serta detail, menjalankan ReceiveStock per produk, memverifikasi hasil, lalu mencatat audit dalam transaksi tenant.Batas transaksi
Kunci referensi baca
Relasi aktor dan TP
Audit CDI wajib
Pemeriksaan IVP
Tabel pembelian, detail_pembelian, produk_cabang
Panggilan access.actorFor, access.tenant, inventory.handle, integrity.verify, audit.recordCdi
Dependensi kode proyek yang diimpor
Buka kode asli bernomor baris

Kode hanya ditampilkan sebagai teks. Tidak dieksekusi oleh panduan. Nomor baris mengikuti sumber yang dibaca.

Identitas snapshot

SHA-256 902f32611d9fbb6815cffd29a80d56bc7a4fe2cc8754e07a5a70e6ba97e3bc4e

app/Services/Transactions/RecordPurchaseReturn.php87 baris · 2 fungsi bernama
Unggahan sumber 17 Oktober

Untuk apa

TP retur pembelian ke supplier.

Jika diminta mengubah

Barang retur pembelian dikurangi dari stok karantina, bukan stok yang siap dijual.

Fungsi dan metode

Fungsi dan input atau hasilPenjelasan singkatBukti source
function __construct( private BusinessAccess $access, private AuditLogger $audit, private ReturnQuarantinedStock $inventory, )Menerima dependensi atau data awal objek. Parameter bertipe disediakan pemanggil atau container Laravel sesuai jalurnya.Lihat signature dan isi fungsi.
function handle(Pengguna $actor, array $input, Request $request): intMengunci pembelian serta retur terdahulu, memeriksa sisa item, menyimpan retur, mengurangi karantina melalui TP, memeriksa hasil, dan mengaudit.Batas transaksi
Kunci baris perubahan
Relasi aktor dan TP
Audit CDI wajib
Tabel pembelian, detail_pembelian, detail_retur_pembelian as d, retur_pembelian, detail_retur_pembelian
Panggilan access.actorFor, access.tenant, audit.recordCdi, inventory.handle
Dependensi kode proyek yang diimpor
Buka kode asli bernomor baris

Kode hanya ditampilkan sebagai teks. Tidak dieksekusi oleh panduan. Nomor baris mengikuti sumber yang dibaca.

Identitas snapshot

SHA-256 79bbe81c67577f00e0f14f88930fec1ed868a99a6e8d09e3fd54d4ed1fe02e0f

app/Services/Transactions/RecordSaleReturn.php111 baris · 2 fungsi bernama
Unggahan sumber 17 Oktober

Untuk apa

TP retur penjualan dan perhitungan refund atau tukar barang.

Jika diminta mengubah

Harga acuan berasal dari transaksi awal. Jumlah kumulatif retur tidak boleh melebihi jumlah terjual.

Fungsi dan metode

Fungsi dan input atau hasilPenjelasan singkatBukti source
function __construct( private BusinessAccess $access, private AuditLogger $audit, private ApplySaleReturnStock $inventory, )Menerima dependensi atau data awal objek. Parameter bertipe disediakan pemanggil atau container Laravel sesuai jalurnya.Lihat signature dan isi fungsi.
function handle(Pengguna $actor, array $input, Request $request): intMengunci sumber dan retur terdahulu, memvalidasi sisa jumlah, menghitung refund, memanggil TP penyesuaian stok sesuai kondisi, memeriksa hasil, dan menulis audit.Batas transaksi
Kunci baris perubahan
Relasi aktor dan TP
Audit CDI wajib
Tabel penjualan, detail_penjualan, detail_retur_penjualan as d, retur_penjualan, detail_retur_penjualan
Panggilan access.actorFor, access.tenant, audit.recordCdi, inventory.handle
Dependensi kode proyek yang diimpor
Buka kode asli bernomor baris

Kode hanya ditampilkan sebagai teks. Tidak dieksekusi oleh panduan. Nomor baris mengikuti sumber yang dibaca.

Identitas snapshot

SHA-256 64c76a2c8f1583716553efd0c9988d14244601c22748c46d6c45f6fb4ae59ff0

app/Services/Transactions/RequestSpecialPriceSale.php213 baris · 3 fungsi bernama
Unggahan sumber 17 Oktober

Untuk apa

Membuat penjualan yang menunggu keputusan harga khusus.

Jika diminta mengubah

Permintaan belum merupakan penjualan selesai. Stok diperiksa lagi pada keputusan.

Fungsi dan metode

Fungsi dan input atau hasilPenjelasan singkatBukti source
function __construct( private BusinessAccess $access, private SalePricing $pricing, private SaleIntegrity $integrity, private AuditLogger $audit, )Menerima dependensi atau data awal objek. Parameter bertipe disediakan pemanggil atau container Laravel sesuai jalurnya.Lihat signature dan isi fungsi.
function handle(Pengguna $actor, SpecialPriceSaleData $input, Request $request): arrayMemvalidasi aktor, produk, stok, harga yang diminta dan alasan, menyimpan pengajuan serta token, menjalankan IVP, mengaudit, dan mengirim permintaan persetujuan.Batas transaksi
Kunci referensi baca
Relasi aktor dan TP
Audit CDI wajib
Tautan sementara
Tabel produk_cabang, penjualan, detail_penjualan
Panggilan access.actorFor, access.tenant, pricing.normalPrice, pricing.total, integrity.verifyPendingSpecial, audit.recordCdi
function normalTotal(SpecialPriceSaleData $input, array $normalPrices): intMenghitung total harga normal sebagai pembanding harga khusus.Panggilan pricing.total
Dependensi kode proyek yang diimpor
Buka kode asli bernomor baris

Kode hanya ditampilkan sebagai teks. Tidak dieksekusi oleh panduan. Nomor baris mengikuti sumber yang dibaca.

Identitas snapshot

SHA-256 adc7343fb2abddda378a69e1a900974becd9080f3f8dcd9f9b01cd5ff1a784bf

app/Services/Transactions/RequestStockTransfer.php132 baris · 4 fungsi bernama
Unggahan sumber 17 Oktober

Untuk apa

TP pengajuan transfer antar cabang.

Jika diminta mengubah

Dua cabang awal menggunakan coordinator 2PC. Penambahan tenant tidak otomatis menambah peserta coordinator.

Fungsi dan metode

Fungsi dan input atau hasilPenjelasan singkatBukti source
function __construct( private DistributedTransactionManager $transactions, private BusinessAccess $access, private StockTransferIntegrity $integrity, private AuditLogger $audit, private EnsureStockRow $inventory, )Menerima dependensi atau data awal objek. Parameter bertipe disediakan pemanggil atau container Laravel sesuai jalurnya.Lihat signature dan isi fungsi.
function handle(Pengguna $actor, StockTransferData $input, Request $request): arrayMenjalankan mutasi_request melalui coordinator, memeriksa asal dan tujuan serta stok, membuat pengajuan dan fingerprint, lalu menjalankan IVP dan audit.Kunci referensi baca
Relasi aktor dan TP
Audit CDI wajib
Tautan sementara
Pemeriksaan IVP
Tabel mutasi_stok, detail_mutasi_stok
Panggilan transactions.run, access.actorFor, access.tenant, integrity.fingerprint, audit.recordCdi, integrity.verify
function references(int $source, int $destination, array $productIds): voidMemvalidasi cabang, produk aktif, serta referensi yang diperlukan mutasi.Kunci referensi baca
function lockStock(int $source, int $destination, array $items, bool $receive, bool $checkAvailability): arrayMengunci stok yang terkait dalam urutan produk dan memastikan stok asal cukup.Kunci baris perubahan
Tabel produk_cabang
Panggilan inventory.handle
Dependensi kode proyek yang diimpor
Buka kode asli bernomor baris

Kode hanya ditampilkan sebagai teks. Tidak dieksekusi oleh panduan. Nomor baris mengikuti sumber yang dibaca.

Identitas snapshot

SHA-256 e5b64d7d2a147f3fbe3e00755fbfb6089b479b286c2f7077f85a47a8997955de

app/Services/Transactions/ReturnData.php43 baris · 2 fungsi bernama
Unggahan sumber 17 Oktober

Untuk apa

Input retur penjualan atau pembelian beserta batas jumlah dan kondisi barang.

Jika diminta mengubah

Tambah atau ubah field di rules, normalisasi, konstruktor jika ada, Request pemanggil, layanan transaksi, dan form frontend.

Fungsi dan metode

Fungsi dan input atau hasilPenjelasan singkatBukti source
function rules(bool $purchase): arrayMenetapkan field, tipe, nilai yang diperbolehkan, panjang, jumlah item, dan batas angka untuk operasi terkait.return [
function validate(array $input, bool $purchase): arrayMemvalidasi input per operasi dan menolak field tambahan menurut aturan layanan ini.return Validator::make($input, $rules)->validate();
Aturan field asli
Potongan aturanBaris
'alasan_retur' => ['required', 'string', 'min:5', 'max:500'],17
'items' => ['required', 'array', 'min:1', 'max:30'],19
'items.*' => ['required', $purchase ? 'array:id_produk,jumlah' : 'array:id_produk,jumlah,kondisi_barang'],20
'items.*.id_produk' => ['required', 'integer', 'min:1', 'max:2147483647', 'distinct'],21
'items.*.jumlah' => ['required', 'integer', 'min:1', 'max:1000000'],22
Buka kode asli bernomor baris

Kode hanya ditampilkan sebagai teks. Tidak dieksekusi oleh panduan. Nomor baris mengikuti sumber yang dibaca.

Identitas snapshot

SHA-256 9c9338df8a770755e7564855cca865b683124dc911fd2f500b558fe05f9cf6e8

app/Services/Transactions/SaleData.php54 baris · 3 fungsi bernama
Unggahan sumber 17 Oktober

Untuk apa

Input penjualan normal tanpa harga kiriman browser.

Jika diminta mengubah

Tambah atau ubah field di rules, normalisasi, konstruktor jika ada, Request pemanggil, layanan transaksi, dan form frontend.

Fungsi dan metode

Fungsi dan input atau hasilPenjelasan singkatBukti source
function __construct( public ?int $customerId, public string $paymentMethod, public int $amountPaid, public array $items, )Menyimpan field objek input bertipe. Jalur fromInput atau validate memeriksa nilai sebelum objek dipakai.Lihat signature dan isi fungsi.
function rules(): arrayMenetapkan field, tipe, nilai yang diperbolehkan, panjang, jumlah item, dan batas angka untuk operasi terkait.return [
function fromInput(array $input): selfMemvalidasi ulang input pada batas TP, menormalisasi nilai, mengubah tipe, dan membentuk objek input. Urutan produk dibuat konsisten bila operasi memerlukan beberapa stok.return new self(
Aturan field asli
Potongan aturanBaris
'id_pelanggan' => ['nullable', 'integer', 'min:1', 'max:2147483647'],22
'metode_pembayaran' => ['required', 'string', 'max:30', 'regex:/^[a-zA-Z0-9 _-]+$/'],23
'jumlah_bayar' => ['required', 'integer', 'min:0'],24
'items' => ['required', 'array', 'min:1', 'max:100'],25
'items.*' => ['required', 'array:id_produk,jumlah'],26
'items.*.id_produk' => ['required', 'integer', 'min:1', 'max:2147483647', 'distinct'],27
'items.*.jumlah' => ['required', 'integer', 'min:1', 'max:2147483647'],28
Buka kode asli bernomor baris

Kode hanya ditampilkan sebagai teks. Tidak dieksekusi oleh panduan. Nomor baris mengikuti sumber yang dibaca.

Identitas snapshot

SHA-256 a371ee760b7dec366eeb470d988023ad91f9e52d2ceee0d9ec7ecbcb3650a753

app/Services/Transactions/SalePricing.php42 baris · 3 fungsi bernama
Unggahan sumber 17 Oktober

Untuk apa

Perhitungan harga normal dan total menggunakan integer.

Jika diminta mengubah

normalPrice saat ini memakai harga_jual. Kolom harga_grosir dan min_qty_grosir belum mengaktifkan diskon otomatis.

Fungsi dan metode

Fungsi dan input atau hasilPenjelasan singkatBukti source
function normalPrice(Produk $product, int $quantity): intMemastikan jumlah positif dan mengembalikan harga_jual produk.return (int) $product->harga_jual;
function lineTotal(int $quantity, int $price): intMemvalidasi jumlah serta harga dan mencegah perkalian melampaui PHP_INT_MAX.return $quantity * $price;
function total(array $lines): intMenjumlahkan nilai tiap item dan mencegah penjumlahan melampaui kapasitas integer.return $total;
Dependensi kode proyek yang diimpor
Buka kode asli bernomor baris

Kode hanya ditampilkan sebagai teks. Tidak dieksekusi oleh panduan. Nomor baris mengikuti sumber yang dibaca.

Identitas snapshot

SHA-256 4ab44f46c6a83c7de8300fe6c03bf2f820d6c9824d611b5da53a02c0835f3404

app/Services/Transactions/SaleStatus.php26 baris · 0 fungsi bernama
Unggahan sumber 17 Oktober

Untuk apa

Konstanta pembayaran, status penjualan toko, dan approval harga khusus.

Jika diminta mengubah

Perubahan nilai status harus selaras dengan CHECK database, IVP, laporan, serta frontend.

Buka kode asli bernomor baris

Kode hanya ditampilkan sebagai teks. Tidak dieksekusi oleh panduan. Nomor baris mengikuti sumber yang dibaca.

Identitas snapshot

SHA-256 f82fc2716ff6e827fbb7a6fbceff5a8ef690d75f424849d3d5f4fcf384ce6d50

app/Services/Transactions/ServiceData.php84 baris · 3 fungsi bernama
Unggahan sumber 17 Oktober

Untuk apa

Input khusus receive, assign, progress, parts, dan handover.

Jika diminta mengubah

Tambah atau ubah field di rules, normalisasi, konstruktor jika ada, Request pemanggil, layanan transaksi, dan form frontend.

Fungsi dan metode

Fungsi dan input atau hasilPenjelasan singkatBukti source
function __construct(public string $operation, public array $values)Menyimpan field objek input bertipe. Jalur fromInput atau validate memeriksa nilai sebelum objek dipakai.Lihat signature dan isi fungsi.
function rules(string $operation): arrayMenetapkan field, tipe, nilai yang diperbolehkan, panjang, jumlah item, dan batas angka untuk operasi terkait.return match ($operation) {
function fromInput(string $operation, array $input): selfMemvalidasi ulang input pada batas TP, menormalisasi nilai, mengubah tipe, dan membentuk objek input. Urutan produk dibuat konsisten bila operasi memerlukan beberapa stok.return new self($operation, $values);
Aturan field asli
Potongan aturanBaris
'receive' => [20
'jenis_unit' => ['required', 'string', 'max:50'],22
'merek_unit' => ['required', 'string', 'max:50'],23
'tipe_unit' => ['required', 'string', 'max:100'],24
'kelengkapan' => ['nullable', 'string', 'max:5000'],26
'id_teknisi' => ['nullable', 'integer', 'min:1', 'max:2147483647'],27
'assign' => ['id_teknisi' => $id, 'catatan' => $note],29
'progress' => [30
'status_servis' => ['sometimes', 'required', 'in:'.implode(',', [ServiceStatus::DIAGNOSING, ServiceStatus::REPAIRING, ServiceStatus::READY])],32
'biaya_jasa' => ['sometimes', 'required', 'integer', 'min:0', 'max:999999999999'],33
'garansi_hari' => ['sometimes', 'required', 'integer', 'min:0', 'max:32767'],34
'bukti_foto' => ['nullable', 'file', 'image', 'mimetypes:image/jpeg,image/png,image/webp', 'max:'.max(1, (int) config('security.service_photo_max_kb', 5120))],35
'parts' => [37
'items' => ['required', 'array', 'min:1', 'max:100'],39
'items.*' => ['required', 'array:id_produk,jumlah'],40
'items.*.id_produk' => [...$id, 'distinct'],41
'items.*.jumlah' => ['required', 'integer', 'min:1', 'max:2147483647'],42
'handover' => ['catatan' => $note],44
Buka kode asli bernomor baris

Kode hanya ditampilkan sebagai teks. Tidak dieksekusi oleh panduan. Nomor baris mengikuti sumber yang dibaca.

Identitas snapshot

SHA-256 f75f477901ac1d682a23e8bdb6318aeb331707efccd80ec5946cf5e005f204d9

app/Services/Transactions/ServicePhotoStorage.php58 baris · 4 fungsi bernama
Unggahan sumber 17 Oktober

Untuk apa

Penyimpanan bukti foto servis secara privat.

Jika diminta mengubah

Validasi image di ServiceData dan validasi MIME isi di storage ini saling melengkapi.

Fungsi dan metode

Fungsi dan input atau hasilPenjelasan singkatBukti source
function store(UploadedFile $file, int $branchId, int $serviceId): stringMenyimpan JPEG, PNG, atau WebP dengan nama acak pada folder cabang dan servis. Membersihkan file yang gagal ditulis.return $path;
function validPath(string $path, int $branchId, int $serviceId): boolMemeriksa pola path cabang dan servis serta ekstensi yang dibolehkan.return preg_match('#\Acabang/'.$branchId.'/servis/'.$serviceId.'/[a-f0-9]{48}\.(jpg|png|webp)\z#', $path) === 1;
function remove(string $path): voidMembersihkan file foto pada disk bukti servis.Lihat signature dan isi fungsi.
function response(string $path, int $branchId, int $serviceId): StreamedResponseMengirim bukti sebagai attachment privat setelah pola dan keberadaan diperiksa.return Storage::disk(self::DISK)->response($path, 'bukti-servis.'.pathinfo($path, PATHINFO_EXTENSION), [
Dependensi kode proyek yang diimpor
Buka kode asli bernomor baris

Kode hanya ditampilkan sebagai teks. Tidak dieksekusi oleh panduan. Nomor baris mengikuti sumber yang dibaca.

Identitas snapshot

SHA-256 2cb2732e7c9dbb9ed762fde594fe709aace871e1db9a87ff97fde7941aa6fe40

app/Services/Transactions/ServiceStatus.php40 baris · 3 fungsi bernama
Unggahan sumber 17 Oktober

Untuk apa

Daftar status servis dan arah perubahan yang diizinkan.

Jika diminta mengubah

Tambahkan status hanya setelah jalur masuk, jalur keluar, peran, biaya, log, dan frontend ditentukan.

Fungsi dan metode

Fungsi dan input atau hasilPenjelasan singkatBukti source
function technical(string $before, string $after): boolMengatur transisi antre ke diagnosa, diagnosa ke diagnosa atau dikerjakan, dan dikerjakan ke dikerjakan atau siap diambil.return match ($before) {
function mutable(string $status): boolMenentukan tahap yang masih dapat diubah penugasannya.return in_array($status, [self::QUEUED, self::DIAGNOSING, self::REPAIRING], true);
function capability(string $operation): stringMemisahkan operasi kasir receive, assign, handover dari operasi teknisi progress dan parts.return match ($operation) {
Buka kode asli bernomor baris

Kode hanya ditampilkan sebagai teks. Tidak dieksekusi oleh panduan. Nomor baris mengikuti sumber yang dibaca.

Identitas snapshot

SHA-256 cef772fa59a26e9395534b4cade62558b394d035bc76f622a99e8eed5e98b7bc

app/Services/Transactions/ServiceWorkflow.php174 baris · 3 fungsi bernama
Unggahan sumber 17 Oktober

Untuk apa

Batas transaksi untuk penerimaan, penugasan, progres, sparepart, dan penyerahan servis.

Jika diminta mengubah

Tambah operasi harus mengubah Request atau DTO, status, capability, workflow, IVP, registry, audit, frontend, dan tes.

Fungsi dan metode

Fungsi dan input atau hasilPenjelasan singkatBukti source
function __construct( private BusinessAccess $access, private ServiceAccess $serviceAccess, private ServiceIntegrity $integrity, private IssueStock $stock, private AuditLogger $audit, private ServicePhotoStorage $photos, )Menerima dependensi atau data awal objek. Parameter bertipe disediakan pemanggil atau container Laravel sesuai jalurnya.Lihat signature dan isi fungsi.
function handle(Pengguna $actor, ServiceData $input, Request $request, ?int $id = null): intMemvalidasi aktor dan tenant, memeriksa SoD, mengunci servis, menjalankan operasi yang diizinkan, mengelola foto dan stok sparepart, menambah log, menjalankan IVP, serta mengaudit.Batas transaksi
Kunci baris perubahan
Kunci referensi baca
Relasi aktor dan TP
Audit CDI wajib
Pemeriksaan IVP
Tabel pelanggan, servis, sparepart_servis, log_servis
Panggilan access.actorFor, access.tenant, serviceAccess.technician, serviceAccess.action, photos.store, stock.handle, integrity.verify
function stockSnapshot(Connection $db, int $branchId, int $productId): arrayMembaca kedua jenis stok satu produk pada cabang untuk pembuktian pemakaian sparepart.Tabel produk_cabang
Dependensi kode proyek yang diimpor
Buka kode asli bernomor baris

Kode hanya ditampilkan sebagai teks. Tidak dieksekusi oleh panduan. Nomor baris mengikuti sumber yang dibaca.

Identitas snapshot

SHA-256 0752e8c236809f54b5d0a76a0922cce40bcb2fccb2d647abf4e66b08f1d6c5c9

app/Services/Transactions/SpecialPriceSaleData.php63 baris · 3 fungsi bernama
Unggahan sumber 17 Oktober

Untuk apa

Input harga khusus, jumlah, pembayaran, dan alasan.

Jika diminta mengubah

Tambah atau ubah field di rules, normalisasi, konstruktor jika ada, Request pemanggil, layanan transaksi, dan form frontend.

Fungsi dan metode

Fungsi dan input atau hasilPenjelasan singkatBukti source
function __construct( public ?int $customerId, public string $paymentMethod, public int $amountPaid, public string $reason, public array $items, )Menyimpan field objek input bertipe. Jalur fromInput atau validate memeriksa nilai sebelum objek dipakai.Lihat signature dan isi fungsi.
function rules(): arrayMenetapkan field, tipe, nilai yang diperbolehkan, panjang, jumlah item, dan batas angka untuk operasi terkait.return [
function fromInput(array $input): selfMemvalidasi ulang input pada batas TP, menormalisasi nilai, mengubah tipe, dan membentuk objek input. Urutan produk dibuat konsisten bila operasi memerlukan beberapa stok.return new self(
Aturan field asli
Potongan aturanBaris
'id_pelanggan' => ['nullable', 'integer', 'min:1', 'max:2147483647'],23
'metode_pembayaran' => ['required', 'string', 'max:30', 'regex:/^[a-zA-Z0-9 _-]+$/'],24
'jumlah_bayar' => ['required', 'integer', 'min:0'],25
'alasan' => ['required', 'string', 'max:500'],26
'items' => ['required', 'array', 'min:1', 'max:100'],27
'items.*' => ['required', 'array:id_produk,jumlah,harga_khusus'],28
'items.*.id_produk' => ['required', 'integer', 'min:1', 'max:2147483647', 'distinct'],29
'items.*.jumlah' => ['required', 'integer', 'min:1', 'max:2147483647'],30
'items.*.harga_khusus' => ['required', 'integer', 'min:1', 'max:999999999999'],31
Buka kode asli bernomor baris

Kode hanya ditampilkan sebagai teks. Tidak dieksekusi oleh panduan. Nomor baris mengikuti sumber yang dibaca.

Identitas snapshot

SHA-256 c16a9e16ad6ec091bd21c17343de79e843e3df04adb110182bc15aa6afe54686

app/Services/Transactions/StockTransferData.php36 baris · 2 fungsi bernama
Unggahan sumber 17 Oktober

Untuk apa

Input cabang asal, tujuan, item, dan alasan transfer.

Jika diminta mengubah

Tambah atau ubah field di rules, normalisasi, konstruktor jika ada, Request pemanggil, layanan transaksi, dan form frontend.

Fungsi dan metode

Fungsi dan input atau hasilPenjelasan singkatBukti source
function __construct(public int $source, public int $destination, public string $reason, public array $items)Menyimpan field objek input bertipe. Jalur fromInput atau validate memeriksa nilai sebelum objek dipakai.Lihat signature dan isi fungsi.
function fromInput(array $input): selfMemvalidasi ulang input pada batas TP, menormalisasi nilai, mengubah tipe, dan membentuk objek input. Urutan produk dibuat konsisten bila operasi memerlukan beberapa stok.return new self((int) $data['id_cabang_asal'], (int) $data['id_cabang_tujuan'], trim($data['alasan_mutasi']), $items);
Aturan field asli
Potongan aturanBaris
'id_cabang_asal' => ['required', 'integer', 'min:1'],20
'id_cabang_tujuan' => ['required', 'integer', 'min:1', 'different:id_cabang_asal'],21
'alasan_mutasi' => ['required', 'string', 'max:2000'],22
'items' => ['required', 'array', 'min:1', 'max:100'],23
'items.*' => ['required', 'array:id_produk,jumlah'],24
'items.*.id_produk' => ['required', 'integer', 'min:1', 'distinct:strict'],25
'items.*.jumlah' => ['required', 'integer', 'min:1', 'max:2147483647'],26
Buka kode asli bernomor baris

Kode hanya ditampilkan sebagai teks. Tidak dieksekusi oleh panduan. Nomor baris mengikuti sumber yang dibaca.

Identitas snapshot

SHA-256 2e4c13a79307c673267484039c1591f514405a6efcb882e0dbe6add55e7220c4

app/Services/Transactions/UploadOnlinePaymentProof.php74 baris · 2 fungsi bernama
Unggahan sumber 17 Oktober

Untuk apa

Penerimaan bukti pembayaran pelanggan.

Jika diminta mengubah

Menerima file belum berarti pembayaran lunas. Verifikasi pegawai dilakukan terpisah.

Fungsi dan metode

Fungsi dan input atau hasilPenjelasan singkatBukti source
function __construct( private TenantResolver $tenants, private OnlinePaymentProofStorage $storage, private AuditLogger $audit, )Menerima dependensi atau data awal objek. Parameter bertipe disediakan pemanggil atau container Laravel sesuai jalurnya.Lihat signature dan isi fungsi.
function handle(int $branchId, string $saleNumber, UploadedFile $file, Request $request): voidMemeriksa tenant, status dan batas 15 menit, menyimpan file privat, mengunci ulang pesanan, mencatat perubahan serta audit UDI, dan membersihkan file jika gagal.Batas transaksi
Kunci baris perubahan
Audit input publik
Tabel penjualan
Panggilan tenants.resolve, storage.store, audit.recordGuestUdi, storage.remove
Dependensi kode proyek yang diimpor
Buka kode asli bernomor baris

Kode hanya ditampilkan sebagai teks. Tidak dieksekusi oleh panduan. Nomor baris mengikuti sumber yang dibaca.

Identitas snapshot

SHA-256 3d2d9849539fe27b21e9852519fbdd500fb606b0125eac3abd4800904ca0c23b

app/Services/Transactions/UseServiceParts.php16 baris · 2 fungsi bernama
Unggahan sumber 17 Oktober

Untuk apa

Memakai sparepart servis melalui TP bernama khusus.

Jika diminta mengubah

Aturan bersama berada pada ServiceWorkflow dan ServiceData.

Fungsi dan metode

Fungsi dan input atau hasilPenjelasan singkatBukti source
function __construct(private ServiceWorkflow $workflow)Menerima dependensi atau data awal objek. Parameter bertipe disediakan pemanggil atau container Laravel sesuai jalurnya.Lihat signature dan isi fungsi.
function handle(Pengguna $actor, array $input, Request $request, int $id): intMembentuk ServiceData untuk operasi parts lalu meneruskan aktor, input, request, dan ID yang diperlukan kepada workflow.Panggilan workflow.handle
Dependensi kode proyek yang diimpor
Buka kode asli bernomor baris

Kode hanya ditampilkan sebagai teks. Tidak dieksekusi oleh panduan. Nomor baris mengikuti sumber yang dibaca.

Identitas snapshot

SHA-256 3a625822c6cee5502a633c0735fc3b044f8ac0fca35798f62770dfdc326cdf16

app/Services/Transactions/WarrantyClaimData.php46 baris · 3 fungsi bernama
Unggahan sumber 17 Oktober

Untuk apa

Input klaim dari produk atau servis serta tindakan pemeriksaannya.

Jika diminta mengubah

Tambah atau ubah field di rules, normalisasi, konstruktor jika ada, Request pemanggil, layanan transaksi, dan form frontend.

Fungsi dan metode

Fungsi dan input atau hasilPenjelasan singkatBukti source
function __construct(public string $operation, public array $values)Menyimpan field objek input bertipe. Jalur fromInput atau validate memeriksa nilai sebelum objek dipakai.Lihat signature dan isi fungsi.
function rules(string $operation): arrayMenetapkan field, tipe, nilai yang diperbolehkan, panjang, jumlah item, dan batas angka untuk operasi terkait.return match ($operation) {
function fromInput(string $operation, array $input): selfMemvalidasi ulang input pada batas TP, menormalisasi nilai, mengubah tipe, dan membentuk objek input. Urutan produk dibuat konsisten bila operasi memerlukan beberapa stok.return new self($operation, $values);
Aturan field asli
Potongan aturanBaris
'service' => ['id_servis' => $id, 'keluhan_klaim' => $text],20
'product' => ['id_penjualan' => $id, 'id_produk' => $id, 'keluhan_klaim' => $text],21
'inspect' => ['hasil_pemeriksaan' => $text, 'keputusan' => ['required', 'in:periksa,terima,tolak']],22
Buka kode asli bernomor baris

Kode hanya ditampilkan sebagai teks. Tidak dieksekusi oleh panduan. Nomor baris mengikuti sumber yang dibaca.

Identitas snapshot

SHA-256 5fca1672b2190277cea5b00b521dcc3263d977f17b0f3b22701915d5830cadf4

app/Services/Transactions/WarrantyClaimStatus.php65 baris · 5 fungsi bernama
Unggahan sumber 17 Oktober

Untuk apa

Status klaim, peran, event audit, dan transisi yang sah.

Jika diminta mengubah

Ditolak dan selesai merupakan status akhir. Jangan sekadar menambah opsi pada dropdown.

Fungsi dan metode

Fungsi dan input atau hasilPenjelasan singkatBukti source
function capability(string $operation): stringMenetapkan kemampuan kasir untuk pengajuan dan pemeriksaan, serta teknisi untuk penanganan dan penyelesaian.return match ($operation) {
function transition(?string $before, string $event): ?stringMengubah pasangan status lama dan event menjadi status baru, atau null bila transisi tidak sah.return match (true) {
function technicalEvent(string $event): boolMenandai event penanganan atau penyelesaian sebagai tahap teknis.return in_array($event, ['klaim_ditangani', 'klaim_selesai'], true);
function terminal(): arrayMengembalikan ditolak dan selesai sebagai tahap akhir.return [self::REJECTED, self::COMPLETED];
function event(string $operation, ?string $decision = null): stringMemetakan operasi dan keputusan pemeriksaan menjadi nama event audit yang dikenal.return match ($operation) {
Buka kode asli bernomor baris

Kode hanya ditampilkan sebagai teks. Tidak dieksekusi oleh panduan. Nomor baris mengikuti sumber yang dibaca.

Identitas snapshot

SHA-256 58e4ccd41a40a598957a94431f58c25761a02b4501a52b987d099bd5510fb847

app/Services/Transactions/WarrantyClaimWorkflow.php96 baris · 2 fungsi bernama
Unggahan sumber 17 Oktober

Untuk apa

Batas transaksi untuk klaim produk atau servis dan tahap pemeriksaannya.

Jika diminta mengubah

Riwayat klaim dipakai untuk membuktikan SoD, bukan hanya untuk ditampilkan.

Fungsi dan metode

Fungsi dan input atau hasilPenjelasan singkatBukti source
function __construct( private BusinessAccess $access, private WarrantySource $sources, private WarrantyClaimHistory $history, private WarrantyClaimIntegrity $integrity, private AuditLogger $audit, )Menerima dependensi atau data awal objek. Parameter bertipe disediakan pemanggil atau container Laravel sesuai jalurnya.Lihat signature dan isi fungsi.
function handle(Pengguna $actor, WarrantyClaimData $input, Request $request, ?int $id = null): intMemeriksa aktor, tenant, sumber dan masa garansi, mencegah klaim aktif ganda, mengunci klaim, memvalidasi urutan status dan perbedaan pelaku teknis, menulis audit, lalu menjalankan IVP.Batas transaksi
Kunci baris perubahan
Relasi aktor dan TP
Audit CDI wajib
Pemeriksaan IVP
Tabel klaim_garansi
Panggilan access.actorFor, access.tenant, sources.claims, sources.key, sources.resolve, sources.eligible, history.verify
Dependensi kode proyek yang diimpor
Buka kode asli bernomor baris

Kode hanya ditampilkan sebagai teks. Tidak dieksekusi oleh panduan. Nomor baris mengikuti sumber yang dibaca.

Identitas snapshot

SHA-256 f1aae82841bb4c8cb82d5ab895d921162fb89674f8933bb66b446436b4366103

Frontend, view dan aset teks 55

public/css/rajawali-error.css9 baris · 0 fungsi bernama
Revisi ZIP v5

Untuk apa

CSS halaman 404.

Jika diminta mengubah

CSS dipisah dari Blade agar sesuai kebijakan style produksi.

Buka kode asli bernomor baris

Kode hanya ditampilkan sebagai teks. Tidak dieksekusi oleh panduan. Nomor baris mengikuti sumber yang dibaca.

Identitas snapshot

SHA-256 c4e7acf513335eceb17da5f5740038610e53526f99b3ee3eb6d629fca929ee1e

public/icons/rajawali.svg4 baris · 0 fungsi bernama
Salinan pendukung sebelumnya

Untuk apa

Ikon vektor merek dalam aset publik.

Jika diminta mengubah

Gambar tidak mengubah aturan transaksi atau autentikasi.

Buka kode asli bernomor baris

Kode hanya ditampilkan sebagai teks. Tidak dieksekusi oleh panduan. Nomor baris mengikuti sumber yang dibaca.

Identitas snapshot

SHA-256 da53103163bfa710677fc538ac6147ef16c231715ace118776fb88603e0f0052

public/index.php20 baris · 0 fungsi bernama
Salinan pendukung sebelumnya

Untuk apa

Front controller HTTP Laravel.

Jika diminta mengubah

Mengarahkan request ke aplikasi. Aturan bisnis tidak ditambahkan ke file entry ini.

Buka kode asli bernomor baris

Kode hanya ditampilkan sebagai teks. Tidak dieksekusi oleh panduan. Nomor baris mengikuti sumber yang dibaca.

Identitas snapshot

SHA-256 eba77cba39695b6bd091fe5211d481f7ebb2ce2d8d26230b5a609465d0a4aff9

public/manifest.webmanifest15 baris · 0 fungsi bernama
Salinan pendukung sebelumnya

Untuk apa

Manifest instalasi PWA versi lama.

Jika diminta mengubah

Masih dirujuk HTML shell, tetapi proxy revisi mengembalikan 404 dan entry aktif tidak mendaftarkan PWA.

Buka kode asli bernomor baris

Kode hanya ditampilkan sebagai teks. Tidak dieksekusi oleh panduan. Nomor baris mengikuti sumber yang dibaca.

Identitas snapshot

SHA-256 01064a22059543092e7bfa1afc2067923631fcdee026f223f3d123c14da03543

public/offline.css1 baris · 0 fungsi bernama
Salinan pendukung sebelumnya

Untuk apa

Gaya halaman offline lama.

Jika diminta mengubah

Tidak mengubah perilaku API atau menyimpan transaksi.

Buka kode asli bernomor baris

Kode hanya ditampilkan sebagai teks. Tidak dieksekusi oleh panduan. Nomor baris mengikuti sumber yang dibaca.

Identitas snapshot

SHA-256 d64059d0af4b4166e6f094eda7a5d341fb8eea03d70b52abc00ddecdabbb1a6e

public/offline.html11 baris · 0 fungsi bernama
Salinan pendukung sebelumnya

Untuk apa

Halaman offline lama yang ditujukan untuk service worker terdahulu.

Jika diminta mengubah

Tidak menandakan transaksi dapat berjalan offline pada entry aktif.

Buka kode asli bernomor baris

Kode hanya ditampilkan sebagai teks. Tidak dieksekusi oleh panduan. Nomor baris mengikuti sumber yang dibaca.

Identitas snapshot

SHA-256 d732c0b9ff0e000e5211e2b64cc7f872a268fd3b97dc92c0d05f8eb899703ce8

public/print.css1 baris · 0 fungsi bernama
Salinan pendukung sebelumnya

Untuk apa

Gaya dokumen cetak.

Jika diminta mengubah

Dipanggil printDocument melalui link CSS eksternal pada popup.

Buka kode asli bernomor baris

Kode hanya ditampilkan sebagai teks. Tidak dieksekusi oleh panduan. Nomor baris mengikuti sumber yang dibaca.

Identitas snapshot

SHA-256 2cf4b5865d01e3e321716a67ea55d28eeddd6694bb5dd3dfcae47392e0f782d5

public/robots.txt2 baris · 0 fungsi bernama
Salinan pendukung sebelumnya

Untuk apa

Petunjuk crawler mesin pencari.

Jika diminta mengubah

robots.txt bukan mekanisme pembatasan akses.

Buka kode asli bernomor baris

Kode hanya ditampilkan sebagai teks. Tidak dieksekusi oleh panduan. Nomor baris mengikuti sumber yang dibaca.

Identitas snapshot

SHA-256 e5c4b84484ee4216e9373be99380320c25dd94805f99f0a805846f087636553f

public/sw.js59 baris · 1 fungsi bernama
Salinan pendukung sebelumnya

Untuk apa

Service worker peninggalan versi PWA.

Jika diminta mengubah

Entry aktif melepas registration lama dan proxy revisi mengembalikan 404 untuk sw.js. Tidak menjadi bukti PWA aktif.

Fungsi dan metode

Fungsi dan input atau hasilPenjelasan singkatBukti source
isSensitive · L26Memilih request yang tidak boleh dicache oleh service worker lama, termasuk query, API, CSRF, bukti pembayaran dan foto. Worker ini tidak didaftarkan entry aktif.API /api/, /sanctum/

Path API literal pada source

  • /api/
  • /sanctum/
Buka kode asli bernomor baris

Kode hanya ditampilkan sebagai teks. Tidak dieksekusi oleh panduan. Nomor baris mengikuti sumber yang dibaca.

Identitas snapshot

SHA-256 1febb2e77da7129fc887e0c27f40d80e514ebbec91ec6cd1a9c756676de5621c

resources/css/app.css36 baris · 0 fungsi bernama
Unggahan sumber 17 Oktober

Untuk apa

Gaya global aplikasi, Tailwind, layout dan tabel responsif.

Jika diminta mengubah

Warna atau spacing lokal juga dapat berada pada className tiap komponen TSX.

Buka kode asli bernomor baris

Kode hanya ditampilkan sebagai teks. Tidak dieksekusi oleh panduan. Nomor baris mengikuti sumber yang dibaca.

Identitas snapshot

SHA-256 5d6f6c641d5ae36e0b47b33311e54753ebbad51a17241ece6f0dbd350819fb4c

resources/js/AuthApp.tsx368 baris · 14 fungsi bernama
Revisi ZIP v5Diimpor entry aktif

Untuk apa

Form login, CAPTCHA dan kode email, pemulihan session, header akun, pemilihan cabang owner, serta shell internal.

Jika diminta mengubah

Ubah label, urutan field, state, tombol, dan JSX di sini. Payload dan aturan backend harus ikut diubah jika kontrak data berubah.

Fungsi dan metode

Fungsi dan input atau hasilPenjelasan singkatBukti source
browserTurnstile · L24Membaca API Turnstile yang tersedia pada window tanpa menganggap script selalu sudah termuat.Lihat signature dan isi fungsi.
UserIcon · L26Menggambar ikon pengguna tanpa melakukan request API.return <svg className="h-5 w-5" viewBox="0 0 24 24" fill="none" stroke="currentColor" strokeWidth="1.9" aria-hidden="true"><circle cx="12" cy="8" r
AuthApp · L30Form login, CAPTCHA dan kode email, pemulihan session, header akun, pemilihan cabang owner, serta shell internal.Navigasi browser
API /api/notifikasi, /api/me, /api/owner/cabang, /api/login/security-options, /api/login/verify-code, /api/login/cancel-code
refreshTasks · L59Membaca jumlah tugas notifikasi cabang dan menerapkan hasil hanya selama efek masih aktif.API /api/notifikasi
onActivity · L70Memicu pembacaan ulang jumlah tugas pada event aktivitas yang didaftarkan.Lihat signature dan isi fungsi.
loadUser · L81Membaca /api/me, menyimpan akun serta cabang aktif, dan memuat pilihan cabang untuk owner.API /api/me, /api/owner/cabang
mount · L127Memasang widget Turnstile setelah script dan elemen tujuan tersedia, beserta callback token.Lihat signature dan isi fungsi.
acceptLogin · L156Menerapkan akun hasil login, mengambil kembali cabang bila perlu, lalu membersihkan password dan state tantangan.API /api/me, /api/owner/cabang
verifyEmailCode · L184Mengirim kode enam angka ke API verifikasi dan menerapkan akun hanya bila API berhasil.API /api/login/verify-code
cancelEmailCode · L196Meminta pembatalan tantangan dan mengembalikan form login.API /api/login/cancel-code
login · L203Mengambil CSRF cookie, mengirim email, password dan token CAPTCHA jika aktif, lalu menangani respons login 200 atau tantangan 202.API /sanctum/csrf-cookie, /api/login
logout · L236Memanggil API logout dan mengosongkan state akun serta cabang setelah session berakhir.API /sanctum/csrf-cookie, /api/logout
selectBranch · L261Meminta backend memilih cabang owner. State pilihan lama dipulihkan jika permintaan gagal.API /api/owner/cabang-aktif
passwordChanged · L285Mengosongkan workspace dan meminta login ulang dengan password baru.Navigasi browser

Path API literal pada source

  • /api/notifikasi
  • /api/me
  • /api/owner/cabang
  • /api/login/security-options
  • /api/login/verify-code
  • /api/login/cancel-code
  • /sanctum/csrf-cookie
  • /api/login
  • /api/logout
  • /api/owner/cabang-aktif
State komponen dan nilai awal
StateSetterInisialisasi asli
usersetUseruseState<ActiveUser | null>(null)
approvalUrlsetApprovalUrluseState(() => new URL(window.location.href).searchParams.get('approval') ?? '')
branchessetBranchesuseState<Branch[]>([])
emailsetEmailuseState('')
passwordsetPassworduseState('')
branchIdsetBranchIduseState('')
loadingsetLoadinguseState(true)
busysetBusyuseState(false)
branchBusysetBranchBusyuseState(false)
loggingOutsetLoggingOutuseState(false)
errorsetErroruseState('')
authNoticesetAuthNoticeuseState('')
loginSecurityLoadedsetLoginSecurityLoadeduseState(false)
loginChallengeEnabledsetLoginChallengeEnableduseState(false)
turnstileSiteKeysetTurnstileSiteKeyuseState('')
captchaTokensetCaptchaTokenuseState('')
awaitingCodesetAwaitingCodeuseState(false)
emailCodesetEmailCodeuseState('')
turnstileElementsetTurnstileElementuseState<HTMLDivElement | null>(null)
pendingTaskssetPendingTasksuseState(0)
Effect dan memo yang perlu diperhatikan
HookIsi yang terdeteksiKode
useEffect L53API, listener browser, interval, cleanup
useEffect L93Perhitungan atau sinkronisasi state sesuai dependensi.
useEffect L109API, cleanup
useEffect L123API, listener browser, cleanup
Dependensi kode proyek yang diimpor
Buka kode asli bernomor baris

Kode hanya ditampilkan sebagai teks. Tidak dieksekusi oleh panduan. Nomor baris mengikuti sumber yang dibaca.

Identitas snapshot

SHA-256 8362f7642da25523038ef9daf22840440537c4f20f822d04e0ab01a9825719b2

resources/js/CustomersPanel.tsx73 baris · 10 fungsi bernama
Unggahan sumber 17 OktoberDiimpor entry aktif

Untuk apa

Form pelanggan, pencarian, daftar, dan dialog riwayat pelanggan.

Jika diminta mengubah

Ubah label, urutan field, state, tombol, dan JSX di sini. Payload dan aturan backend harus ikut diubah jika kontrak data berubah.

Fungsi dan metode

Fungsi dan input atau hasilPenjelasan singkatBukti source
waLink · L11Membentuk tautan WhatsApp dengan normalisasi nomor Indonesia.return 'https://wa.me/' + value.replace(/\D/g, '').replace(/^0/, '62'); }
statusText · L12Mengubah underscore dan kapitalisasi kode status menjadi label yang dapat dibaca.return value.replaceAll('_', ' ').replace(/\b\w/g, letter => letter.toUpperCase()); }
CustomersPanel · L14Form pelanggan, pencarian, daftar, dan dialog riwayat pelanggan.Navigasi browser
API /api/pelanggan, /api/pelanggan/
load · L21Membaca data panel melalui API, menerapkan hasil ke state dan menangani kegagalan pemuatan.API /api/pelanggan
search · L27Menerapkan teks pencarian dan mengawali pagination pada halaman pertama.Lihat signature dan isi fungsi.
clearSearch · L28Mengosongkan teks serta filter pencarian dan mengembalikan halaman awal.Lihat signature dan isi fungsi.
edit · L29Mengisi state form dari record yang dipilih dan membuka mode edit.Lihat signature dan isi fungsi.
reset · L30Mengakhiri mode edit atau membersihkan pencarian sesuai state yang diubah di fungsi ini.Lihat signature dan isi fungsi.
openHistory · L31Mengambil riwayat pelanggan dan menampilkannya tanpa mengubah transaksi sumber.API /api/pelanggan/
submit · L32Menyusun payload form dan mengirim create atau update ke API. Respons backend menentukan apakah perubahan diterima.API /api/pelanggan/, /api/pelanggan

Path API literal pada source

  • /api/pelanggan
  • /api/pelanggan/
State komponen dan nilai awal
StateSetterInisialisasi asli
querysetQueryuseState('')
appliedsetApplieduseState('')
rowssetRowsuseState<Customer[]>([])
pagesetPageuseState(1)
lastPagesetLastPageuseState(1)
totalsetTotaluseState(0)
refreshsetRefreshuseState(0)
updatedAtsetUpdatedAtuseState<Date|null>(null)
summarysetSummaryuseState<Summary>({ customer_count: 0, with_whatsapp: 0, with_email: 0 })
formsetFormuseState(emptyForm)
editingsetEditinguseState<Customer | null>(null)
historysetHistoryuseState<History | null>(null)
loadingsetLoadinguseState(true)
historyLoadingsetHistoryLoadinguseState(false)
busysetBusyuseState(false)
errorsetErroruseState('')
noticesetNoticeuseState('')
Effect dan memo yang perlu diperhatikan
HookIsi yang terdeteksiKode
useEffect L26Perhitungan atau sinkronisasi state sesuai dependensi.
Dependensi kode proyek yang diimpor
Buka kode asli bernomor baris

Kode hanya ditampilkan sebagai teks. Tidak dieksekusi oleh panduan. Nomor baris mengikuti sumber yang dibaca.

Identitas snapshot

SHA-256 e311538a5ea81dfafc5149172de45b0dd55fca3328836fad03ea8117b338c85a

resources/js/DashboardPanel.tsx74 baris · 3 fungsi bernama
Unggahan sumber 17 OktoberDiimpor entry aktif

Untuk apa

Kartu ringkasan dan pintasan tugas pada dashboard.

Jika diminta mengubah

Ubah label, urutan field, state, tombol, dan JSX di sini. Payload dan aturan backend harus ikut diubah jika kontrak data berubah.

Fungsi dan metode

Fungsi dan input atau hasilPenjelasan singkatBukti source
DashboardPanel · L25Kartu ringkasan dan pintasan tugas pada dashboard.API /api/dashboard-summary
load · L34Membaca data panel melalui API, menerapkan hasil ke state dan menangani kegagalan pemuatan.API /api/dashboard-summary
renderCard · L51Menggambar satu kartu ringkasan dashboard dan tujuan navigasinya.return <button type="button" onClick={() => onNavigate(card.page)} key={card.key} className={'rounded-2xl border p-5 text-left transition hover:-tr

Path API literal pada source

  • /api/dashboard-summary
State komponen dan nilai awal
StateSetterInisialisasi asli
datasetDatauseState<DashboardData | null>(null)
loadingsetLoadinguseState(true)
errorsetErroruseState('')
refreshKeysetRefreshKeyuseState(0)
Effect dan memo yang perlu diperhatikan
HookIsi yang terdeteksiKode
useEffect L31API, interval, pembatalan request, cleanup
useMemo L46Perhitungan atau sinkronisasi state sesuai dependensi.
Dependensi kode proyek yang diimpor
Buka kode asli bernomor baris

Kode hanya ditampilkan sebagai teks. Tidak dieksekusi oleh panduan. Nomor baris mengikuti sumber yang dibaca.

Identitas snapshot

SHA-256 1354355630e6e34cf596af87f63260c6d9751e11a9a8cd73cbf100ab405290b7

resources/js/EmployeeActivationPage.tsx35 baris · 2 fungsi bernama
Unggahan sumber 17 OktoberDiimpor entry aktif

Untuk apa

Form password baru pada tautan undangan aktivasi.

Jika diminta mengubah

Ubah label, urutan field, state, tombol, dan JSX di sini. Payload dan aturan backend harus ikut diubah jika kontrak data berubah.

Fungsi dan metode

Fungsi dan input atau hasilPenjelasan singkatBukti source
EmployeeActivationPage · L5Form password baru pada tautan undangan aktivasi.Navigasi browser
API /api/aktivasi-akun
submit · L12Menyusun payload form dan mengirim create atau update ke API. Respons backend menentukan apakah perubahan diterima.Navigasi browser
API /api/aktivasi-akun

Path API literal pada source

  • /api/aktivasi-akun
State komponen dan nilai awal
StateSetterInisialisasi asli
passwordsetPassworduseState('')
confirmationsetConfirmationuseState('')
busysetBusyuseState(false)
messagesetMessageuseState('')
errorsetErroruseState('')
Dependensi kode proyek yang diimpor
Buka kode asli bernomor baris

Kode hanya ditampilkan sebagai teks. Tidak dieksekusi oleh panduan. Nomor baris mengikuti sumber yang dibaca.

Identitas snapshot

SHA-256 0d2b36d85f28899c836188a5066f4c7f82c1cae163074fa8d1d678d6f283109b

resources/js/EmployeesPanel.tsx83 baris · 10 fungsi bernama
Unggahan sumber 17 OktoberDiimpor entry aktif

Untuk apa

Filter pegawai, form akun, pengiriman undangan dan riwayat perubahan hak.

Jika diminta mengubah

Ubah label, urutan field, state, tombol, dan JSX di sini. Payload dan aturan backend harus ikut diubah jika kontrak data berubah.

Fungsi dan metode

Fungsi dan input atau hasilPenjelasan singkatBukti source
EmployeesPanel · L11Filter pegawai, form akun, pengiriman undangan dan riwayat perubahan hak.API /api/pengguna/riwayat, /api/pengguna, /api/owner/cabang, /api/pengguna/, /api/pengguna/${id}/undangan-batalkan, /api/pengguna/${id}/undangan-ulang
branchName · L15Mencari nama cabang dari ID dan memberikan penanda ketika tidak ada cabang.return 'Tanpa cabang';return branches.find(b=>b.id_cabang===id)?.nama_cabang??`Cabang #${id}`;}
viewHistory · L16Memilih pegawai subjek histori, mengawali halaman pertama dan membuka area riwayat.Lihat signature dan isi fungsi.
load · L18Membaca data panel melalui API, menerapkan hasil ke state dan menangani kegagalan pemuatan.API /api/pengguna, /api/owner/cabang
reset · L21Mengakhiri mode edit atau membersihkan pencarian sesuai state yang diubah di fungsi ini.Lihat signature dan isi fungsi.
clearFilters · L22Mengembalikan filter dan nomor halaman ke nilai awal panel.Lihat signature dan isi fungsi.
edit · L23Mengisi state form dari record yang dipilih dan membuka mode edit.Lihat signature dan isi fungsi.
submit · L24Menyusun payload form dan mengirim create atau update ke API. Respons backend menentukan apakah perubahan diterima.API /api/pengguna/, /api/pengguna
revokeInvite · L25Meminta konfirmasi, membatalkan undangan melalui API, dan memuat daftar pegawai terbaru.API /api/pengguna/${id}/undangan-batalkan
resendInvite · L26Meminta API menerbitkan dan mengirim ulang undangan pegawai.API /api/pengguna/${id}/undangan-ulang

Path API literal pada source

  • /api/pengguna/riwayat
  • /api/pengguna
  • /api/owner/cabang
  • /api/pengguna/
  • /api/pengguna/${id}/undangan-batalkan
  • /api/pengguna/${id}/undangan-ulang
State komponen dan nilai awal
StateSetterInisialisasi asli
rowssetRowsuseState<Employee[]>([])
branchessetBranchesuseState<Branch[]>([])
querysetQueryuseState('')
appliedsetApplieduseState('')
roleFiltersetRoleFilteruseState('')
statusFiltersetStatusFilteruseState('')
branchFiltersetBranchFilteruseState('')
securityFiltersetSecurityFilteruseState('')
pagesetPageuseState(1)
lastPagesetLastPageuseState(1)
totalsetTotaluseState(0)
summarysetSummaryuseState<Summary>({account_count:0,active_count:0,inactive_count:0,locked_count:0})
refreshsetRefreshuseState(0)
updatedAtsetUpdatedAtuseState<Date|null>(null)
historyOpensetHistoryOpenuseState(false)
historySubjectsetHistorySubjectuseState('')
historyPagesetHistoryPageuseState(1)
historyLastPagesetHistoryLastPageuseState(1)
historyRowssetHistoryRowsuseState<HistoryEntry[]>([])
historyLoadingsetHistoryLoadinguseState(false)
historyErrorsetHistoryErroruseState('')
editingsetEditinguseState<Employee|null>(null)
formsetFormuseState({nama_pengguna:'',email:'',role:'kasir',id_cabang:'',status_akun:'aktif',password:'',activation_mode:'manual'})
busysetBusyuseState(false)
loadingsetLoadinguseState(true)
errorsetErroruseState('')
noticesetNoticeuseState('')
Effect dan memo yang perlu diperhatikan
HookIsi yang terdeteksiKode
useEffect L14API
useEffect L19Perhitungan atau sinkronisasi state sesuai dependensi.
useEffect L20timer
Dependensi kode proyek yang diimpor
Buka kode asli bernomor baris

Kode hanya ditampilkan sebagai teks. Tidak dieksekusi oleh panduan. Nomor baris mengikuti sumber yang dibaca.

Identitas snapshot

SHA-256 98a486d0739932fa8170dc3c5d38fb9e0dc1b289f9072625f08d2bf7ab53812f

resources/js/InstitutionInvoicesPanel.tsx185 baris · 9 fungsi bernama
Unggahan sumber 17 OktoberDiimpor entry aktif

Untuk apa

Form nota instansi, pilihan sumber, detail, versi, pengajuan, approval dan cetak.

Jika diminta mengubah

Ubah label, urutan field, state, tombol, dan JSX di sini. Payload dan aturan backend harus ikut diubah jika kontrak data berubah.

Fungsi dan metode

Fungsi dan input atau hasilPenjelasan singkatBukti source
money · L20Memformat nilai menjadi Rupiah untuk tampilan.Lihat signature dan isi fungsi.
InstitutionInvoicesPanel · L22Form nota instansi, pilihan sumber, detail, versi, pengajuan, approval dan cetak.Dokumen cetak
API /api/nota-instansi, /api/nota-instansi/sumber, /api/nota-instansi/
open · L63Membaca detail record yang dipilih dari API.API /api/nota-instansi/
save · L69Mengirim field form yang sedang diedit ke API penyimpanan dan menerapkan hasil atau pesan kesalahan.API /api/nota-instansi/, /api/nota-instansi
signedPath · L82Memeriksa origin dan path persetujuan nota yang akan diakses.return url.pathname + url.search;
preview · L89Membaca preview keputusan melalui URL persetujuan yang telah diperiksa.Lihat signature dan isi fungsi.
act · L95Mengirim operasi yang dipilih beserta payload atau versi yang diperlukan dan memuat hasil terbaru.API /api/nota-instansi/
edit · L110Mengisi state form dari record yang dipilih dan membuka mode edit.Lihat signature dan isi fungsi.
print · L115Menyusun isi nota instansi dan memanggil helper cetak bersama.Dokumen cetak

Path API literal pada source

  • /api/nota-instansi
  • /api/nota-instansi/sumber
  • /api/nota-instansi/
State komponen dan nilai awal
StateSetterInisialisasi asli
rowssetRowsuseState<Invoice[]>([])
sourcessetSourcesuseState<Source[]>([])
querysetQueryuseState('')
statussetStatususeState('')
sourceQuerysetSourceQueryuseState('')
sourcePagesetSourcePageuseState(1)
sourceLastsetSourceLastuseState(1)
pagesetPageuseState(1)
lastPagesetLastPageuseState(1)
loadingsetLoadinguseState(true)
sourceLoadingsetSourceLoadinguseState(true)
busysetBusyuseState(false)
refreshsetRefreshuseState(0)
errorsetErroruseState('')
noticesetNoticeuseState('')
selectedsetSelecteduseState<Invoice | null>(null)
sourcesetSourceuseState<Source | null>(null)
editingsetEditinguseState<Invoice | null>(null)
formsetFormuseState(blank)
decisionNotesetDecisionNoteuseState('')
decisionsetDecisionuseState('setujui')
cancelNotesetCancelNoteuseState('')
previewedsetPrevieweduseState(false)
Effect dan memo yang perlu diperhatikan
HookIsi yang terdeteksiKode
useEffect L37API, pembatalan request, cleanup
useEffect L45API, pembatalan request, cleanup
useEffect L54API, pembatalan request, cleanup
Dependensi kode proyek yang diimpor
Buka kode asli bernomor baris

Kode hanya ditampilkan sebagai teks. Tidak dieksekusi oleh panduan. Nomor baris mengikuti sumber yang dibaca.

Identitas snapshot

SHA-256 0f64067e231c66edce1bb75b4334976971faf30eecb5889ab46acbaafd43e249

resources/js/InternalPanels.tsx164 baris · 9 fungsi bernama
Revisi ZIP v5Diimpor entry aktif

Untuk apa

Daftar grup menu menurut role, ikon, navigasi history, pemilihan komponen panel, dan subscription realtime tenant.

Jika diminta mengubah

Ubah label, urutan field, state, tombol, dan JSX di sini. Payload dan aturan backend harus ikut diubah jika kontrak data berubah.

Fungsi dan metode

Fungsi dan input atau hasilPenjelasan singkatBukti source
MenuIcon · L31Mengembalikan SVG sesuai ID menu.return <svg {...common}><path d="M4 13h6V4H4zM14 20h6v-9h-6zM4 20h6v-3H4zM14 7h6V4h-6z"/></svg>;
menu · L58Membentuk grup dan ID menu yang tampil untuk role. Label dapat diubah tanpa mengganti ID panel.return [
InternalPanels · L82Daftar grup menu menurut role, ikon, navigasi history, pemilihan komponen panel, dan subscription realtime tenant.return state?.branch === branch && state.user === userId && allowed.has(state.view) ? state.view : 'dashboard';
panelFromHistory · L86Memulihkan panel hanya jika user, cabang dan ID menu masih diizinkan.return state?.branch === branch && state.user === userId && allowed.has(state.view) ? state.view : 'dashboard';
navigate · L99Memvalidasi ID menu, mengganti panel, menutup drawer dan menyimpan history.state tanpa hash.Lihat signature dan isi fungsi.
restorePage · L108Memulihkan panel history yang masih sesuai akun, cabang dan menu yang diizinkan.Lihat signature dan isi fungsi.
openMenu · L115Membuka drawer menu internal.Lihat signature dan isi fungsi.
openAccount · L116Memindahkan panel ke profil akun.Lihat signature dan isi fungsi.
openNotifications · L117Memindahkan panel ke daftar tugas.Lihat signature dan isi fungsi.
State komponen dan nilai awal
StateSetterInisialisasi asli
panelsetPaneluseState(approvalPage || panelFromHistory())
revisionsetRevisionuseState(0)
menuOpensetMenuOpenuseState(false)
openGroupssetOpenGroupsuseState<Record<string, boolean>>({ Utama: true })
realtimesetRealtimeuseState<RealtimeState>('connecting')
noticesetNoticeuseState('')
Effect dan memo yang perlu diperhatikan
HookIsi yang terdeteksiKode
useMemo L83Perhitungan atau sinkronisasi state sesuai dependensi.
useMemo L84Perhitungan atau sinkronisasi state sesuai dependensi.
useEffect L107listener browser, cleanup
useEffect L113Perhitungan atau sinkronisasi state sesuai dependensi.
useEffect L114listener browser, cleanup
useEffect L123timer, subscription tenant
Dependensi kode proyek yang diimpor
Buka kode asli bernomor baris

Kode hanya ditampilkan sebagai teks. Tidak dieksekusi oleh panduan. Nomor baris mengikuti sumber yang dibaca.

Identitas snapshot

SHA-256 1ddb0dd557bd7f6300595d684c9b27003df00bae7e621a940731531b35b56430

resources/js/InventoryPanel.tsx77 baris · 2 fungsi bernama
Revisi ZIP v5Diimpor entry aktif

Untuk apa

Filter persediaan, ringkasan, daftar stok dan tampilan khusus karantina.

Jika diminta mengubah

Ubah label, urutan field, state, tombol, dan JSX di sini. Payload dan aturan backend harus ikut diubah jika kontrak data berubah.

Fungsi dan metode

Fungsi dan input atau hasilPenjelasan singkatBukti source
InventoryPanel · L9Filter persediaan, ringkasan, daftar stok dan tampilan khusus karantina.API /api/stok
clearFilters · L42Mengembalikan filter dan nomor halaman ke nilai awal panel.Lihat signature dan isi fungsi.

Path API literal pada source

  • /api/stok
State komponen dan nilai awal
StateSetterInisialisasi asli
rowssetRowsuseState<Stock[]>([])
querysetQueryuseState('')
appliedsetApplieduseState('')
stockStatussetStockStatususeState(onlyQuarantine ? 'karantina' : '')
sortsetSortuseState(onlyQuarantine ? 'karantina_tertinggi' : 'produk')
pagesetPageuseState(1)
perPagesetPerPageuseState(10)
lastPagesetLastPageuseState(1)
totalsetTotaluseState(0)
summarysetSummaryuseState<Summary>({ product_count: 0, available_units: 0, quarantine_units: 0, out_of_stock: 0, low_stock: 0, low_stock_threshold: 5 })
updatedAtsetUpdatedAtuseState<Date | null>(null)
refreshsetRefreshuseState(0)
loadingsetLoadinguseState(true)
errorsetErroruseState('')
Effect dan memo yang perlu diperhatikan
HookIsi yang terdeteksiKode
useEffect L25API, pembatalan request, cleanup
useEffect L37timer, cleanup
Dependensi kode proyek yang diimpor
Buka kode asli bernomor baris

Kode hanya ditampilkan sebagai teks. Tidak dieksekusi oleh panduan. Nomor baris mengikuti sumber yang dibaca.

Identitas snapshot

SHA-256 0577ff74ec88578f8ca1aa2028e59f69d29f276dd2520ff5e284448b6153d6ac

resources/js/MasterDataPanel.tsx67 baris · 9 fungsi bernama
Unggahan sumber 17 OktoberDiimpor entry aktif

Untuk apa

Form dan tabel generik untuk produk, supplier dan cabang dari objek config lokal.

Jika diminta mengubah

Ubah label, urutan field, state, tombol, dan JSX di sini. Payload dan aturan backend harus ikut diubah jika kontrak data berubah.

Fungsi dan metode

Fungsi dan input atau hasilPenjelasan singkatBukti source
MasterDataPanel · L16Form dan tabel generik untuk produk, supplier dan cabang dari objek config lokal.API /api/, /api/${entity}/${editing}, /api/owner/cabang/${id}/provision-ulang
load · L22Membaca data panel melalui API, menerapkan hasil ke state dan menangani kegagalan pemuatan.API /api/
edit · L27Mengisi state form dari record yang dipilih dan membuka mode edit.Lihat signature dan isi fungsi.
reset · L28Mengakhiri mode edit atau membersihkan pencarian sesuai state yang diubah di fungsi ini.Lihat signature dan isi fungsi.
clearFilters · L29Mengembalikan filter dan nomor halaman ke nilai awal panel.Lihat signature dan isi fungsi.
submit · L30Menyusun payload form dan mengirim create atau update ke API. Respons backend menentukan apakah perubahan diterima.API /api/${entity}/${editing}, /api/
retryProvision · L31Meminta API owner menjadwalkan ulang provisioning yang gagal.API /api/owner/cabang/${id}/provision-ulang
provisionStatus · L32Menampilkan status provisioning cabang dan tombol coba lagi untuk keadaan yang sesuai.return null;
display · L37Memformat nilai field menjadi teks atau elemen tampilan yang sesuai.return '—';if(type==='number'&&field.includes('harga'))return `Rp ${Number(value).toLocaleString('id-ID')}`;if(field==='masa_garansi'){const days=N

Path API literal pada source

  • /api/
  • /api/${entity}/${editing}
  • /api/owner/cabang/${id}/provision-ulang
State komponen dan nilai awal
StateSetterInisialisasi asli
rowssetRowsuseState<RecordRow[]>([])
formsetFormuseState<Record<string,any>>({})
editingsetEditinguseState<number|null>(null)
querysetQueryuseState('')
appliedsetApplieduseState('')
statusFiltersetStatusFilteruseState('')
pagesetPageuseState(1)
lastPagesetLastPageuseState(1)
totalsetTotaluseState(0)
summarysetSummaryuseState<Summary>({record_count:0})
refreshsetRefreshuseState(0)
updatedAtsetUpdatedAtuseState<Date|null>(null)
loadingsetLoadinguseState(true)
busysetBusyuseState(false)
errorsetErroruseState('')
noticesetNoticeuseState('')
Effect dan memo yang perlu diperhatikan
HookIsi yang terdeteksiKode
useMemo L21Perhitungan atau sinkronisasi state sesuai dependensi.
useEffect L23Perhitungan atau sinkronisasi state sesuai dependensi.
useEffect L24Perhitungan atau sinkronisasi state sesuai dependensi.
useEffect L25interval
useEffect L26timer
Dependensi kode proyek yang diimpor
Buka kode asli bernomor baris

Kode hanya ditampilkan sebagai teks. Tidak dieksekusi oleh panduan. Nomor baris mengikuti sumber yang dibaca.

Identitas snapshot

SHA-256 f0f656726d0a2243e41cd8b0d607af9aaba9bc1a7097a5df2e24b246635b7113

resources/js/MyAccountPanel.tsx103 baris · 3 fungsi bernama
Unggahan sumber 17 OktoberDiimpor entry aktif

Untuk apa

Tampilan profil, perubahan profil owner, dan perubahan password sendiri.

Jika diminta mengubah

Ubah label, urutan field, state, tombol, dan JSX di sini. Payload dan aturan backend harus ikut diubah jika kontrak data berubah.

Fungsi dan metode

Fungsi dan input atau hasilPenjelasan singkatBukti source
MyAccountPanel · L17Tampilan profil, perubahan profil owner, dan perubahan password sendiri.API /api/me/profile, /api/me/password
changeProfile · L31Mengirim nama serta email owner ke endpoint profil dan memuat kembali akun yang diterima server.API /api/me/profile
changePassword · L43Mengirim password lama, baru dan konfirmasi, lalu mengembalikan UI ke login setelah backend berhasil.API /api/me/password

Path API literal pada source

  • /api/me/profile
  • /api/me/password
State komponen dan nilai awal
StateSetterInisialisasi asli
profileNamesetProfileNameuseState(name)
profileEmailsetProfileEmailuseState(email)
profileBusysetProfileBusyuseState(false)
profileErrorsetProfileErroruseState('')
profileNoticesetProfileNoticeuseState('')
currentsetCurrentuseState('')
passwordsetPassworduseState('')
confirmationsetConfirmationuseState('')
busysetBusyuseState(false)
errorsetErroruseState('')
Effect dan memo yang perlu diperhatikan
HookIsi yang terdeteksiKode
useEffect L29Perhitungan atau sinkronisasi state sesuai dependensi.
Dependensi kode proyek yang diimpor
Buka kode asli bernomor baris

Kode hanya ditampilkan sebagai teks. Tidak dieksekusi oleh panduan. Nomor baris mengikuti sumber yang dibaca.

Identitas snapshot

SHA-256 9146ebb8c27c038021887132af587b0f45eb4b2d60a3968e53b1848697b515b2

resources/js/NotificationsPanel.tsx65 baris · 3 fungsi bernama
Unggahan sumber 17 OktoberDiimpor entry aktif

Untuk apa

Daftar tugas operasional dan tombol menuju panel terkait.

Jika diminta mengubah

Ubah label, urutan field, state, tombol, dan JSX di sini. Payload dan aturan backend harus ikut diubah jika kontrak data berubah.

Fungsi dan metode

Fungsi dan input atau hasilPenjelasan singkatBukti source
NotificationIcon · L15Menggambar ikon tugas sesuai jenisnya.return <svg {...common}><path d="M9 11l2 2 4-4"/><path d="M6 3h12v18H6z"/></svg>;
NotificationsPanel · L24Daftar tugas operasional dan tombol menuju panel terkait.API /api/notifikasi
load · L29Membaca data panel melalui API, menerapkan hasil ke state dan menangani kegagalan pemuatan.API /api/notifikasi

Path API literal pada source

  • /api/notifikasi
State komponen dan nilai awal
StateSetterInisialisasi asli
itemssetItemsuseState<NotificationItem[]>([])
loadingsetLoadinguseState(true)
errorsetErroruseState('')
Effect dan memo yang perlu diperhatikan
HookIsi yang terdeteksiKode
useEffect L42interval, cleanup
Dependensi kode proyek yang diimpor
Buka kode asli bernomor baris

Kode hanya ditampilkan sebagai teks. Tidak dieksekusi oleh panduan. Nomor baris mengikuti sumber yang dibaca.

Identitas snapshot

SHA-256 5859a95c61d46121722d7bc2ad77722aed3b37b475e8816d6ffb8131c1c08a13

resources/js/PaymentSettingsPanel.tsx91 baris · 3 fungsi bernama
Unggahan sumber 17 OktoberDiimpor entry aktif

Untuk apa

Form rekening, sakelar metode, unggah atau hapus QRIS oleh owner.

Jika diminta mengubah

Ubah label, urutan field, state, tombol, dan JSX di sini. Payload dan aturan backend harus ikut diubah jika kontrak data berubah.

Fungsi dan metode

Fungsi dan input atau hasilPenjelasan singkatBukti source
PaymentSettingsPanel · L19Form rekening, sakelar metode, unggah atau hapus QRIS oleh owner.API /api/owner/pengaturan-pembayaran
update · L35Menggabungkan sebagian perubahan pada state pengaturan pembayaran.Lihat signature dan isi fungsi.
save · L40Mengirim field form yang sedang diedit ke API penyimpanan dan menerapkan hasil atau pesan kesalahan.API /api/owner/pengaturan-pembayaran

Path API literal pada source

  • /api/owner/pengaturan-pembayaran
State komponen dan nilai awal
StateSetterInisialisasi asli
datasetDatauseState<PaymentSettings>(empty)
imagesetImageuseState<File | null>(null)
removeQrissetRemoveQrisuseState(false)
loadingsetLoadinguseState(true)
savingsetSavinguseState(false)
errorsetErroruseState('')
noticesetNoticeuseState('')
Effect dan memo yang perlu diperhatikan
HookIsi yang terdeteksiKode
useEffect L28API
Dependensi kode proyek yang diimpor
Buka kode asli bernomor baris

Kode hanya ditampilkan sebagai teks. Tidak dieksekusi oleh panduan. Nomor baris mengikuti sumber yang dibaca.

Identitas snapshot

SHA-256 022f2429ca79bc7eaa084ca4920b6983def23ec0069b4fd8eb715cc87827beb5

resources/js/PosPanel.tsx163 baris · 7 fungsi bernama
Unggahan sumber 17 OktoberDiimpor entry aktif

Untuk apa

Keranjang kasir, pembayaran, pengajuan harga khusus, approval dan cetak nota.

Jika diminta mengubah

Ubah label, urutan field, state, tombol, dan JSX di sini. Payload dan aturan backend harus ikut diubah jika kontrak data berubah.

Fungsi dan metode

Fungsi dan input atau hasilPenjelasan singkatBukti source
PosPanel · L11Keranjang kasir, pembayaran, pengajuan harga khusus, approval dan cetak nota.Dokumen cetak
API /api/produk, /api/stok, /api/pelanggan, /api/penjualan/harga-khusus, /api/penjualan, /api/penjualan/
price · L45Membaca harga normal produk untuk perhitungan tampilan kasir. Keputusan harga tetap berasal dari backend.Lihat signature dan isi fungsi.
submit · L47Menyusun payload form dan mengirim create atau update ke API. Respons backend menentukan apakah perubahan diterima.API /api/penjualan/harga-khusus, /api/penjualan, /api/penjualan/
printReceipt · L62Menyusun nota penjualan kasir untuk printDocument.Dokumen cetak
formatMoney · L65Memformat nilai angka untuk nota atau ringkasan.Lihat signature dan isi fungsi.
safeApproval · L100Memeriksa origin dan bentuk URL persetujuan harga khusus yang dimasukkan.return url.pathname + url.search;
approve · L106Membaca atau mengirim keputusan harga khusus melalui URL persetujuan yang telah diperiksa.Lihat signature dan isi fungsi.

Path API literal pada source

  • /api/produk
  • /api/stok
  • /api/pelanggan
  • /api/penjualan/harga-khusus
  • /api/penjualan
  • /api/penjualan/
State komponen dan nilai awal
StateSetterInisialisasi asli
searchsetSearchuseState('')
productssetProductsuseState<Product[]>([])
customerssetCustomersuseState<Customer[]>([])
customerSearchsetCustomerSearchuseState('')
customerIdsetCustomerIduseState('')
selectedCustomersetSelectedCustomeruseState<Customer | null>(null)
linessetLinesuseState<Line[]>([])
paidsetPaiduseState('')
methodsetMethoduseState('tunai')
specialsetSpecialuseState(false)
reasonsetReasonuseState('')
receiptsetReceiptuseState<any>(null)
previewsetPreviewuseState<any>(null)
errorsetErroruseState('')
busysetBusyuseState(false)
Effect dan memo yang perlu diperhatikan
HookIsi yang terdeteksiKode
useEffect L28API, pembatalan request, cleanup
useEffect L39API, pembatalan request, cleanup
Dependensi kode proyek yang diimpor
Buka kode asli bernomor baris

Kode hanya ditampilkan sebagai teks. Tidak dieksekusi oleh panduan. Nomor baris mengikuti sumber yang dibaca.

Identitas snapshot

SHA-256 5f31d876fec00af5a62c0c3d8e165de44de4a03f94a73fa4530c62377de2d207

resources/js/PurchasePanel.tsx108 baris · 8 fungsi bernama
Unggahan sumber 17 OktoberDiimpor entry aktif

Untuk apa

Form pembelian multi-item, jumlah rusak, daftar, detail dan cetak.

Jika diminta mengubah

Ubah label, urutan field, state, tombol, dan JSX di sini. Payload dan aturan backend harus ikut diubah jika kontrak data berubah.

Fungsi dan metode

Fungsi dan input atau hasilPenjelasan singkatBukti source
isoWithOffset · L12Mengubah tanggal atau jam input menjadi format ISO yang menyertakan offset zona waktu.return `${date.getFullYear()}-${pad(date.getMonth() + 1)}-${pad(date.getDate())}T${pad(date.getHours())}:${pad(date.getMinutes())}:00${sign}${pad(M
pad · L14Menambahkan nol di depan bagian angka tanggal atau jam.Lihat signature dan isi fungsi.
PurchasePanel · L21Form pembelian multi-item, jumlah rusak, daftar, detail dan cetak.Dokumen cetak
API /api/pembelian, /api/supplier, /api/produk, /api/pembelian/
load · L31Membaca data panel melalui API, menerapkan hasil ke state dan menangani kegagalan pemuatan.API /api/pembelian
addLine · L57Menambahkan satu item form pembelian dari pilihan produk dan input jumlah atau harga.Lihat signature dan isi fungsi.
submit · L74Menyusun payload form dan mengirim create atau update ke API. Respons backend menentukan apakah perubahan diterima.API /api/pembelian
productName · L81Mencari nama produk dari daftar referensi yang telah dimuat.Lihat signature dan isi fungsi.
printPurchase · L84Menyusun identitas pembelian, supplier, dan rincian barang baik atau rusak untuk dicetak.Dokumen cetak

Path API literal pada source

  • /api/pembelian
  • /api/supplier
  • /api/produk
  • /api/pembelian/
State komponen dan nilai awal
StateSetterInisialisasi asli
supplierssetSuppliersuseState<Supplier[]>([])
productssetProductsuseState<Product[]>([])
purchasessetPurchasesuseState<Purchase[]>([])
supplierSearchsetSupplierSearchuseState('')
productSearchsetProductSearchuseState('')
productNamessetProductNamesuseState<Record<number, string>>({})
suppliersetSupplieruseState('')
numbersetNumberuseState('')
datesetDateuseState(() => new Date(Date.now() - new Date().getTimezoneOffset() * 60000).toISOString().slice(0, 16))
productIdsetProductIduseState('')
quantitysetQuantityuseState(1)
costsetCostuseState('')
linessetLinesuseState<Line[]>([])
damagedsetDamageduseState(0)
damageNotesetDamageNoteuseState('')
detailsetDetailuseState<any>(null)
busysetBusyuseState(false)
loadingsetLoadinguseState(true)
errorsetErroruseState('')
noticesetNoticeuseState('')
purchaseQuerysetPurchaseQueryuseState('')
purchaseSuppliersetPurchaseSupplieruseState('')
purchaseFromsetPurchaseFromuseState('')
purchaseUntilsetPurchaseUntiluseState('')
pagesetPageuseState(1)
lastPagesetLastPageuseState(1)
totalsetTotaluseState(0)
historySummarysetHistorySummaryuseState({transaction_count:0,total_units:0,total_value:0})
updatedAtsetUpdatedAtuseState<Date|null>(null)
Effect dan memo yang perlu diperhatikan
HookIsi yang terdeteksiKode
useEffect L38Perhitungan atau sinkronisasi state sesuai dependensi.
useEffect L39API, timer, pembatalan request, cleanup
useEffect L48API, timer, pembatalan request, cleanup
Dependensi kode proyek yang diimpor
Buka kode asli bernomor baris

Kode hanya ditampilkan sebagai teks. Tidak dieksekusi oleh panduan. Nomor baris mengikuti sumber yang dibaca.

Identitas snapshot

SHA-256 98fdd499e365013fb9ec2fb5fa20321de7b7d21561cfa9143ee36bb9cad2cfcd

resources/js/PurchaseReturnsPanel.tsx78 baris · 5 fungsi bernama
Unggahan sumber 17 OktoberDiimpor entry aktif

Untuk apa

Pemilihan sumber pembelian, item sisa retur karantina dan detail retur.

Jika diminta mengubah

Ubah label, urutan field, state, tombol, dan JSX di sini. Payload dan aturan backend harus ikut diubah jika kontrak data berubah.

Fungsi dan metode

Fungsi dan input atau hasilPenjelasan singkatBukti source
money · L6Memformat nilai menjadi Rupiah untuk tampilan.Lihat signature dan isi fungsi.
PurchaseReturnsPanel · L11Pemilihan sumber pembelian, item sisa retur karantina dan detail retur.Navigasi browser
API /api/retur-pembelian/sumber, /api/retur-pembelian, /api/retur-pembelian/
select · L38Menentukan record sumber retur dan mengosongkan isian retur sebelumnya.Lihat signature dan isi fungsi.
submit · L43Menyusun payload form dan mengirim create atau update ke API. Respons backend menentukan apakah perubahan diterima.API /api/retur-pembelian
openDetail · L54Membaca detail record untuk dialog atau area detail.API /api/retur-pembelian/

Path API literal pada source

  • /api/retur-pembelian/sumber
  • /api/retur-pembelian
  • /api/retur-pembelian/
State komponen dan nilai awal
StateSetterInisialisasi asli
qsetQuseState('')
appliedsetApplieduseState('')
sourcePagesetSourcePageuseState(1)
sourceLastsetSourceLastuseState(1)
sourcessetSourcesuseState<PurchaseSource[]>([])
chosensetChosenuseState<PurchaseSource | null>(null)
quantitiessetQuantitiesuseState<Record<number, number>>({})
reasonsetReasonuseState('')
historyQsetHistoryQuseState('')
historyPagesetHistoryPageuseState(1)
historyLastsetHistoryLastuseState(1)
historysetHistoryuseState<History[]>([])
countsetCountuseState(0)
detailsetDetailuseState<Detail | null>(null)
sourceLoadingsetSourceLoadinguseState(true)
historyLoadingsetHistoryLoadinguseState(true)
busysetBusyuseState(false)
errorsetErroruseState('')
noticesetNoticeuseState('')
updatedAtsetUpdatedAtuseState<Date | null>(null)
reloadsetReloaduseState(0)
Effect dan memo yang perlu diperhatikan
HookIsi yang terdeteksiKode
useEffect L22API, pembatalan request, cleanup
useEffect L30API, pembatalan request, cleanup
Dependensi kode proyek yang diimpor
Buka kode asli bernomor baris

Kode hanya ditampilkan sebagai teks. Tidak dieksekusi oleh panduan. Nomor baris mengikuti sumber yang dibaca.

Identitas snapshot

SHA-256 1b7e0cff33e59386469da3eec7e461006b85ba4d21ab72f212980b80fd42a70e

resources/js/RajawaliGresik.tsx15 baris · 1 fungsi bernama
Unggahan sumber 17 OktoberTidak diimpor entry aktif

Untuk apa

Komponen demo penghubung Laravel dan React yang tidak diimpor entry aktif.

Jika diminta mengubah

Ubah label, urutan field, state, tombol, dan JSX di sini. Payload dan aturan backend harus ikut diubah jika kontrak data berubah.

Fungsi dan metode

Fungsi dan input atau hasilPenjelasan singkatBukti source
RajawaliGresik · L1Komponen demo penghubung Laravel dan React yang tidak diimpor entry aktif.return (
Buka kode asli bernomor baris

Kode hanya ditampilkan sebagai teks. Tidak dieksekusi oleh panduan. Nomor baris mengikuti sumber yang dibaca.

Identitas snapshot

SHA-256 737e22385895c2e26d622ec6cc853d5f885f78fbafd4af309615d58bd97484e4

resources/js/ReportsPanel.tsx240 baris · 12 fungsi bernama
Unggahan sumber 17 OktoberDiimpor entry aktif

Untuk apa

Pilihan laporan atau audit, filter, tabel, cetak atau simpan PDF, dan file HTML yang kompatibel Excel dengan ekstensi .xls.

Jika diminta mengubah

Ubah label, urutan field, state, tombol, dan JSX di sini. Payload dan aturan backend harus ikut diubah jika kontrak data berubah.

Fungsi dan metode

Fungsi dan input atau hasilPenjelasan singkatBukti source
label · L11Mengubah nama kolom data menjadi label tampilan.Lihat signature dan isi fungsi.
display · L12Memformat nilai field menjadi teks atau elemen tampilan yang sesuai.Lihat signature dan isi fungsi.
localDate · L13Membentuk representasi tanggal lokal untuk input dan filter.Lihat signature dan isi fungsi.
spreadsheetValue · L45Menormalkan isi sel dan menetralkan awalan yang dapat dianggap formula spreadsheet.Lihat signature dan isi fungsi.
escapeHtml · L46Mengescape karakter HTML sebelum nilai dimasukkan ke string dokumen ekspor.Lihat signature dan isi fungsi.
ReportsPanel · L48Pilihan laporan atau audit, filter, tabel, cetak atau simpan PDF, dan file HTML yang kompatibel Excel dengan ekstensi .xls.Dokumen cetak
API /api/laporan/options, /api/audit-log, /api/laporan/
buildFilters · L95Membentuk query tanggal dan filter laporan atau audit yang sedang dipakai.return {
apply · L112Menerapkan pilihan filter, mengembalikan halaman awal, dan memicu pengambilan data.Lihat signature dan isi fungsi.
preset · L118Menghitung rentang tanggal cepat dan menerapkan filter tanggal tersebut.Lihat signature dan isi fungsi.
resetAuditFilters · L128Mengembalikan tanggal dan filter audit ke keadaan awal.Lihat signature dan isi fungsi.
resetReportFilters · L135Mengembalikan tanggal dan filter laporan ke keadaan awal.Lihat signature dan isi fungsi.
exportTable · L142Mencetak atau membuat file HTML .xls dari result.data yang sedang dimuat. Menyaring nilai formula dan mengescape HTML. Tidak mengambil seluruh halaman laporan secara otomatis.Dokumen cetak

Path API literal pada source

  • /api/laporan/options
  • /api/audit-log
  • /api/laporan/
State komponen dan nilai awal
StateSetterInisialisasi asli
optionssetOptionsuseState<Options | null>(null)
reportsetReportuseState('')
fromsetFromuseState(today.slice(0, 7) + '-01')
untilsetUntiluseState(today)
branchsetBranchuseState('')
actionsetActionuseState('')
tablesetTableuseState('')
actorsetActoruseState('')
dataIdsetDataIduseState('')
reportStatussetReportStatususeState('')
reportCategorysetReportCategoryuseState('')
reportBrandsetReportBranduseState('')
reportSuppliersetReportSupplieruseState('')
reportProductsetReportProductuseState('')
filterssetFiltersuseState<Record<string, string>>({ dari: from, sampai: until })
pagesetPageuseState(1)
resultsetResultuseState<Result | null>(null)
loadingsetLoadinguseState(true)
errorsetErroruseState('')
Effect dan memo yang perlu diperhatikan
HookIsi yang terdeteksiKode
useEffect L70API, pembatalan request, cleanup
useEffect L81API, pembatalan request, cleanup
Dependensi kode proyek yang diimpor
Buka kode asli bernomor baris

Kode hanya ditampilkan sebagai teks. Tidak dieksekusi oleh panduan. Nomor baris mengikuti sumber yang dibaca.

Identitas snapshot

SHA-256 25dbf3520a8bc9ee1fff6860e23f9115c574aa7915c3c4a6922e9856fef6efa5

resources/js/SaleReturnsPanel.tsx127 baris · 6 fungsi bernama
Unggahan sumber 17 OktoberDiimpor entry aktif

Untuk apa

Pemilihan penjualan, jumlah retur, kondisi, refund atau tukar barang, dan detail.

Jika diminta mengubah

Ubah label, urutan field, state, tombol, dan JSX di sini. Payload dan aturan backend harus ikut diubah jika kontrak data berubah.

Fungsi dan metode

Fungsi dan input atau hasilPenjelasan singkatBukti source
rupiah · L7Memformat nilai menjadi Rupiah untuk tampilan.Lihat signature dan isi fungsi.
SaleReturnsPanel · L15Pemilihan penjualan, jumlah retur, kondisi, refund atau tukar barang, dan detail.Navigasi browser
API /api/retur-penjualan/sumber, /api/retur-penjualan, /api/retur-penjualan/
choose · L60Menentukan sumber transaksi untuk retur dan membersihkan pilihan sebelumnya.Lihat signature dan isi fungsi.
changeLine · L65Memperbarui field satu item tanpa mengganti seluruh koleksi item.Lihat signature dan isi fungsi.
submit · L72Menyusun payload form dan mengirim create atau update ke API. Respons backend menentukan apakah perubahan diterima.API /api/retur-penjualan
openDetail · L87Membaca detail record untuk dialog atau area detail.API /api/retur-penjualan/

Path API literal pada source

  • /api/retur-penjualan/sumber
  • /api/retur-penjualan
  • /api/retur-penjualan/
State komponen dan nilai awal
StateSetterInisialisasi asli
sourceSearchsetSourceSearchuseState('')
sourceQuerysetSourceQueryuseState('')
sourcessetSourcesuseState<SaleSource[]>([])
sourcePagesetSourcePageuseState(1)
sourceLastsetSourceLastuseState(1)
chosensetChosenuseState<SaleSource | null>(null)
linessetLinesuseState<InputLine[]>([])
reasonsetReasonuseState('')
solutionsetSolutionuseState<'refund' | 'tukar_barang'>('refund')
searchsetSearchuseState('')
historysetHistoryuseState<History[]>([])
historyPagesetHistoryPageuseState(1)
historyLastsetHistoryLastuseState(1)
summarysetSummaryuseState({ return_count: 0, refund_value: 0 })
detailsetDetailuseState<ReturnDetail | null>(null)
busysetBusyuseState(false)
sourceLoadingsetSourceLoadinguseState(false)
historyLoadingsetHistoryLoadinguseState(false)
errorsetErroruseState('')
noticesetNoticeuseState('')
updatedAtsetUpdatedAtuseState<Date | null>(null)
reloadsetReloaduseState(0)
Effect dan memo yang perlu diperhatikan
HookIsi yang terdeteksiKode
useEffect L40API, pembatalan request, cleanup
useEffect L50API, pembatalan request, cleanup
useMemo L68Perhitungan atau sinkronisasi state sesuai dependensi.
Dependensi kode proyek yang diimpor
Buka kode asli bernomor baris

Kode hanya ditampilkan sebagai teks. Tidak dieksekusi oleh panduan. Nomor baris mengikuti sumber yang dibaca.

Identitas snapshot

SHA-256 aab2c38e116c0e755a887affc024893161d3984cdd17ed1dcb83eba4d7af99a2

resources/js/SalesHistoryPanel.tsx153 baris · 7 fungsi bernama
Unggahan sumber 17 OktoberDiimpor entry aktif

Untuk apa

Pencarian dan filter penjualan toko, detail serta cetak nota.

Jika diminta mengubah

Ubah label, urutan field, state, tombol, dan JSX di sini. Payload dan aturan backend harus ikut diubah jika kontrak data berubah.

Fungsi dan metode

Fungsi dan input atau hasilPenjelasan singkatBukti source
money · L24Memformat nilai menjadi Rupiah untuk tampilan.Lihat signature dan isi fungsi.
when · L25Memformat waktu transaksi agar dapat dibaca pengguna.Lihat signature dan isi fungsi.
SalesHistoryPanel · L27Pencarian dan filter penjualan toko, detail serta cetak nota.Dokumen cetak
API /api/penjualan, /api/penjualan/${id}
search · L68Menerapkan teks pencarian dan mengawali pagination pada halaman pertama.Lihat signature dan isi fungsi.
reset · L73Mengakhiri mode edit atau membersihkan pencarian sesuai state yang diubah di fungsi ini.Lihat signature dan isi fungsi.
inspect · L77Mengambil detail transaksi penjualan yang dipilih.API /api/penjualan/${id}
printSale · L89Menyusun nota transaksi penjualan yang sedang dibuka.Dokumen cetak

Path API literal pada source

  • /api/penjualan
  • /api/penjualan/${id}
State komponen dan nilai awal
StateSetterInisialisasi asli
draftsetDraftuseState('')
querysetQueryuseState('')
statussetStatususeState('')
methodsetMethoduseState('')
fromsetFromuseState('')
untilsetUntiluseState('')
pagesetPageuseState(1)
lastPagesetLastPageuseState(1)
totalsetTotaluseState(0)
summarysetSummaryuseState<Summary>(emptySummary)
rowssetRowsuseState<Sale[]>([])
selectedsetSelecteduseState<Sale | null>(null)
loadingsetLoadinguseState(true)
detailLoadingsetDetailLoadinguseState(false)
errorsetErroruseState('')
updatedAtsetUpdatedAtuseState<Date | null>(null)
refreshsetRefreshuseState(0)
Effect dan memo yang perlu diperhatikan
HookIsi yang terdeteksiKode
useEffect L46API, pembatalan request, cleanup
Dependensi kode proyek yang diimpor
Buka kode asli bernomor baris

Kode hanya ditampilkan sebagai teks. Tidak dieksekusi oleh panduan. Nomor baris mengikuti sumber yang dibaca.

Identitas snapshot

SHA-256 3185638fe7a5347ba16a4be71da886cc8686e92f55225179ed6f2b243723d3bc

resources/js/ServicePanel.tsx225 baris · 9 fungsi bernama
Unggahan sumber 17 OktoberDiimpor entry aktif

Untuk apa

Daftar servis, penerimaan unit, penugasan, progres, sparepart, foto, penyerahan dan cetak.

Jika diminta mengubah

Ubah label, urutan field, state, tombol, dan JSX di sini. Payload dan aturan backend harus ikut diubah jika kontrak data berubah.

Fungsi dan metode

Fungsi dan input atau hasilPenjelasan singkatBukti source
ServicePanel · L11Daftar servis, penerimaan unit, penugasan, progres, sparepart, foto, penyerahan dan cetak.Dokumen cetak
API /api/servis, /api/servis/, /api/servis/options, /api/produk, /api/pelanggan
load · L37Membaca data panel melalui API, menerapkan hasil ke state dan menangani kegagalan pemuatan.API /api/servis
refreshFallback · L42Memuat ulang data panel ketika kanal realtime tidak menyediakan pembaruan yang cukup.API /api/servis, /api/servis/
onVisibility · L64Memicu pembacaan ulang ketika halaman kembali terlihat sesuai pemeriksaan event.Lihat signature dan isi fungsi.
createCustomer · L93Mengirim pelanggan baru dari alur penerimaan servis lalu memakai hasilnya pada pilihan pelanggan.API /api/pelanggan
action · L106Menyusun dan mengirim tindakan servis sesuai operasi serta input, termasuk FormData bila ada foto.API /api/servis, /api/servis/
clearFilters · L140Mengembalikan filter dan nomor halaman ke nilai awal panel.Lihat signature dan isi fungsi.
printService · L141Menyusun bukti servis, kronologi atau biaya sesuai detail yang tersedia.Dokumen cetak
text · L152Mengubah nilai kosong dan nilai biasa ke bentuk teks tampilan.Lihat signature dan isi fungsi.

Path API literal pada source

  • /api/servis
  • /api/servis/
  • /api/servis/options
  • /api/produk
  • /api/pelanggan
State komponen dan nilai awal
StateSetterInisialisasi asli
servicessetServicesuseState<any[]>([])
customerssetCustomersuseState<any[]>([])
technicianssetTechniciansuseState<any[]>([])
productssetProductsuseState<any[]>([])
sparepartSearchsetSparepartSearchuseState('')
sparepartIdsetSparepartIduseState('')
selectedsetSelecteduseState<any>(null)
errorsetErroruseState('')
busysetBusyuseState(false)
customerSearchsetCustomerSearchuseState('')
selectedCustomerIdsetSelectedCustomerIduseState('')
newCustomersetNewCustomeruseState({ nama_pelanggan: '', no_wa: '', email: '' })
serviceSearchsetServiceSearchuseState('')
serviceStatussetServiceStatususeState('')
technicianFiltersetTechnicianFilteruseState('')
assignmentFiltersetAssignmentFilteruseState('')
dateFromsetDateFromuseState('')
dateUntilsetDateUntiluseState('')
summarysetSummaryuseState<ServiceSummary>({ service_count: 0, waiting_count: 0, in_progress_count: 0, ready_count: 0, completed_count: 0, unassigned_count: 0 })
pagesetPageuseState(1)
lastPagesetLastPageuseState(1)
totalsetTotaluseState(0)
updatedAtsetUpdatedAtuseState<Date | null>(null)
Effect dan memo yang perlu diperhatikan
HookIsi yang terdeteksiKode
useEffect L38API
useEffect L39API, listener browser, interval, cleanup
useEffect L72API
useEffect L75API, timer, pembatalan request, cleanup
useEffect L84API, pembatalan request, cleanup
Dependensi kode proyek yang diimpor
Buka kode asli bernomor baris

Kode hanya ditampilkan sebagai teks. Tidak dieksekusi oleh panduan. Nomor baris mengikuti sumber yang dibaca.

Identitas snapshot

SHA-256 1bf93c1a17fb5714b7c376a4ac11e7500e946f0817572836a3d3d05b3b8e00e9

resources/js/StockTransfersPanel.tsx187 baris · 10 fungsi bernama
Unggahan sumber 17 OktoberDiimpor entry aktif

Untuk apa

Form pengajuan, daftar, preview signed URL, keputusan dan cetak transfer.

Jika diminta mengubah

Ubah label, urutan field, state, tombol, dan JSX di sini. Payload dan aturan backend harus ikut diubah jika kontrak data berubah.

Fungsi dan metode

Fungsi dan input atau hasilPenjelasan singkatBukti source
signedPath · L17Memeriksa origin dan pola URL persetujuan sebelum memanggil API dari tautan yang ditempel.return url.pathname + url.search;
failure · L27Menyaring atau merapikan pesan kegagalan tindakan transfer.return reason instanceof Error && !('response' in reason) ? reason.message : errorMessage(reason);
StockTransfersPanel · L31Form pengajuan, daftar, preview signed URL, keputusan dan cetak transfer.Dokumen cetak
API /api/mutasi-stok/options, /api/mutasi-stok
updateLine · L69Memperbarui field satu baris produk pada state daftar item.Lihat signature dan isi fungsi.
create · L72Mengirim form pengajuan transfer stok ke API.API /api/mutasi-stok
preview · L85Membaca preview keputusan melalui URL persetujuan yang telah diperiksa.Lihat signature dan isi fungsi.
decide · L100Mengirim keputusan setujui atau tolak terhadap pengajuan yang sedang ditinjau.Lihat signature dan isi fungsi.
clearFilters · L110Mengembalikan filter dan nomor halaman ke nilai awal panel.Lihat signature dan isi fungsi.
printTransfer · L111Menyusun rincian asal, tujuan, pelaku, keputusan dan item transfer.Dokumen cetak
details · L120Menyusun atau menggambar area rincian transfer dari data yang dipilih.Lihat signature dan isi fungsi.

Path API literal pada source

  • /api/mutasi-stok/options
  • /api/mutasi-stok
State komponen dan nilai awal
StateSetterInisialisasi asli
optionssetOptionsuseState<Options | null>(null)
transferssetTransfersuseState<Transfer[]>([])
pagesetPageuseState(1)
lastPagesetLastPageuseState(1)
filtersetFilteruseState('')
approvalFiltersetApprovalFilteruseState('')
querysetQueryuseState('')
otherBranchsetOtherBranchuseState('')
dateFromsetDateFromuseState('')
dateUntilsetDateUntiluseState('')
summarysetSummaryuseState<TransferSummary>({ transfer_count: 0, pending_count: 0, completed_count: 0, rejected_count: 0, outgoing_count: 0, incoming_count: 0 })
totalsetTotaluseState(0)
destinationsetDestinationuseState('')
reasonsetReasonuseState('')
linessetLinesuseState<Line[]>([{ key: 1, product: '', quantity: '1' }])
nextKeysetNextKeyuseState(2)
selectedsetSelecteduseState<Transfer | null>(null)
approvalsetApprovaluseState<Transfer | null>(null)
loadingsetLoadinguseState(true)
busysetBusyuseState(false)
errorsetErroruseState('')
noticesetNoticeuseState('')
refreshsetRefreshuseState(0)
updatedAtsetUpdatedAtuseState<Date | null>(null)
Effect dan memo yang perlu diperhatikan
HookIsi yang terdeteksiKode
useEffect L57API, pembatalan request, cleanup
Dependensi kode proyek yang diimpor
Buka kode asli bernomor baris

Kode hanya ditampilkan sebagai teks. Tidak dieksekusi oleh panduan. Nomor baris mengikuti sumber yang dibaca.

Identitas snapshot

SHA-256 d0f00befd5ad8992a0d62dccdaab02495e2f40d4ee6d066fe16885782c193de5

resources/js/WarrantyPanel.tsx150 baris · 7 fungsi bernama
Unggahan sumber 17 OktoberDiimpor entry aktif

Untuk apa

Pencarian sumber, pengajuan produk atau servis, inspeksi dan penanganan klaim.

Jika diminta mengubah

Ubah label, urutan field, state, tombol, dan JSX di sini. Payload dan aturan backend harus ikut diubah jika kontrak data berubah.

Fungsi dan metode

Fungsi dan input atau hasilPenjelasan singkatBukti source
WarrantyPanel · L10Pencarian sumber, pengajuan produk atau servis, inspeksi dan penanganan klaim.Dokumen cetak
API /api/klaim-garansi, /api/klaim-garansi/, /api/klaim-garansi/sumber
load · L31Membaca data panel melalui API, menerapkan hasil ke state dan menangani kegagalan pemuatan.API /api/klaim-garansi
refreshFallback · L43Memuat ulang data panel ketika kanal realtime tidak menyediakan pembaruan yang cukup.API /api/klaim-garansi, /api/klaim-garansi/
onVisibility · L65Memicu pembacaan ulang ketika halaman kembali terlihat sesuai pemeriksaan event.Lihat signature dan isi fungsi.
clearFilters · L86Mengembalikan filter dan nomor halaman ke nilai awal panel.Lihat signature dan isi fungsi.
printClaim · L87Menyusun bukti klaim dan rincian penanganan yang tersedia.Dokumen cetak
act · L98Mengirim operasi yang dipilih beserta payload atau versi yang diperlukan dan memuat hasil terbaru.API /api/klaim-garansi/

Path API literal pada source

  • /api/klaim-garansi
  • /api/klaim-garansi/
  • /api/klaim-garansi/sumber
State komponen dan nilai awal
StateSetterInisialisasi asli
claimssetClaimsuseState<any[]>([])
sourcessetSourcesuseState<any[]>([])
typesetTypeuseState('produk')
searchsetSearchuseState('')
claimSearchsetClaimSearchuseState('')
claimStatussetClaimStatususeState('')
claimTypesetClaimTypeuseState('')
claimFromsetClaimFromuseState('')
claimUntilsetClaimUntiluseState('')
summarysetSummaryuseState<ClaimSummary>({ claim_count: 0, new_count: 0, handling_count: 0, completed_count: 0, rejected_count: 0 })
pagesetPageuseState(1)
lastPagesetLastPageuseState(1)
totalsetTotaluseState(0)
updatedAtsetUpdatedAtuseState<Date | null>(null)
sourcesetSourceuseState<any>(null)
selectedsetSelecteduseState<any>(null)
errorsetErroruseState('')
busysetBusyuseState(false)
Effect dan memo yang perlu diperhatikan
HookIsi yang terdeteksiKode
useEffect L32API
useEffect L40API, listener browser, interval, cleanup
useEffect L73API, pembatalan request, cleanup
Dependensi kode proyek yang diimpor
Buka kode asli bernomor baris

Kode hanya ditampilkan sebagai teks. Tidak dieksekusi oleh panduan. Nomor baris mengikuti sumber yang dibaca.

Identitas snapshot

SHA-256 cb0f495c331e647b6d1b4e737844fc1067f2c0dad023ca3f3535bf63d0b8312d

resources/js/app.js1 baris · 0 fungsi bernama
Unggahan sumber 17 OktoberTidak diimpor entry aktif

Untuk apa

Entry lama berisi komentar saja.

Jika diminta mengubah

Vite memakai app.tsx, sehingga menulis tampilan di sini tidak mengubah aplikasi yang dibangun saat ini.

Buka kode asli bernomor baris

Kode hanya ditampilkan sebagai teks. Tidak dieksekusi oleh panduan. Nomor baris mengikuti sumber yang dibaca.

Identitas snapshot

SHA-256 101ead936a2281d53dcc064b7e2a2ab0d53b92ef3ef7b34b668673007895c860

resources/js/app.tsx60 baris · 2 fungsi bernama
Revisi ZIP v5Diimpor entry aktif

Untuk apa

Entry React yang benar dan pembersihan service worker lama.

Jika diminta mengubah

Ubah pemilihan halaman publik, login, atau aktivasi di ekspresi render. ConnectionStatus hanya memberi informasi koneksi, bukan antrean transaksi offline.

Fungsi dan metode

Fungsi dan input atau hasilPenjelasan singkatBukti source
ConnectionStatus · L36Menampilkan status offline tanpa menjanjikan transaksi baru tersimpan atau diantrikan.return () => {
updateOnline · L40Memperbarui state koneksi dari navigator.onLine.Lihat signature dan isi fungsi.
Dependensi kode proyek yang diimpor
Buka kode asli bernomor baris

Kode hanya ditampilkan sebagai teks. Tidak dieksekusi oleh panduan. Nomor baris mengikuti sumber yang dibaca.

Identitas snapshot

SHA-256 d7a26093da9794007a8ef3cca97f3de0997fc02267d372a1d6b645474774cce6

resources/js/components/PwaStatusBar.tsx101 baris · 5 fungsi bernama
Unggahan sumber 17 OktoberTidak diimpor entry aktif

Untuk apa

Komponen lama ajakan pemasangan PWA yang tidak diimpor entry aktif.

Jika diminta mengubah

Ubah label, urutan field, state, tombol, dan JSX di sini. Payload dan aturan backend harus ikut diubah jika kontrak data berubah.

Fungsi dan metode

Fungsi dan input atau hasilPenjelasan singkatBukti source
installNoticeDismissedRecently · L9Memeriksa jejak penutupan banner instalasi PWA lama.return Number.isFinite(dismissedAt) && dismissedAt > 0
rememberInstallDismissal · L19Menyimpan waktu penutupan banner PWA lama.Lihat signature dan isi fungsi.
PwaStatusBar · L27Komponen lama ajakan pemasangan PWA yang tidak diimpor entry aktif.return () => {
updateOnline · L37Memperbarui state koneksi dari navigator.onLine.Lihat signature dan isi fungsi.
dismissBanner · L67Menutup banner instalasi lama dan menyimpan pilihan penutupannya.Lihat signature dan isi fungsi.
State komponen dan nilai awal
StateSetterInisialisasi asli
onlinesetOnlineuseState(navigator.onLine)
installablesetInstallableuseState(canInstallPwa())
updateReadysetUpdateReadyuseState(hasPwaUpdate())
dismissedBannersetDismissedBanneruseState<'install' | 'update' | null>( () => installNoticeDismissedRecently() ? 'install' : null, )
Effect dan memo yang perlu diperhatikan
HookIsi yang terdeteksiKode
useMemo L34Perhitungan atau sinkronisasi state sesuai dependensi.
useEffect L36listener browser, cleanup
useEffect L58timer, cleanup
Dependensi kode proyek yang diimpor
Buka kode asli bernomor baris

Kode hanya ditampilkan sebagai teks. Tidak dieksekusi oleh panduan. Nomor baris mengikuti sumber yang dibaca.

Identitas snapshot

SHA-256 ba33ecccddaea3c966a6af931d5687678c445ecb4e512a361af6b2063db46407

resources/js/components/RajawaliDataTable.tsx90 baris · 4 fungsi bernama
Unggahan sumber 17 OktoberDiimpor entry aktif

Untuk apa

Wrapper DataTables untuk sel React dan layout responsif. Paging, search dan ordering bawaan dimatikan.

Jika diminta mengubah

Ubah label, urutan field, state, tombol, dan JSX di sini. Payload dan aturan backend harus ikut diubah jika kontrak data berubah.

Fungsi dan metode

Fungsi dan input atau hasilPenjelasan singkatBukti source
isCellObject · L23Memeriksa bentuk sel yang memisahkan display React dan nilai dasarnya.return typeof cell === 'object' && cell !== null && !Array.isArray(cell) && 'display' in cell
plainValue · L27Membaca nilai string atau number untuk record DataTables.return cell.value ?? ''
displayValue · L33Mengembalikan elemen React yang seharusnya tampil pada sel.return isCellObject(cell) ? cell.display : cell
RajawaliDataTable · L37Wrapper DataTables untuk sel React dan layout responsif. Paging, search dan ordering bawaan dimatikan.return record
Buka kode asli bernomor baris

Kode hanya ditampilkan sebagai teks. Tidak dieksekusi oleh panduan. Nomor baris mengikuti sumber yang dibaca.

Identitas snapshot

SHA-256 271eb73cf142922c7c06c76a63a6e4b1762b15cc79b3c49202d5287eedb337cc

resources/js/components/RealtimeActivityFeed.tsx18 baris · 1 fungsi bernama
Unggahan sumber 17 OktoberTidak diimpor entry aktif

Untuk apa

Komponen riwayat notifikasi realtime yang tidak diimpor entry aktif.

Jika diminta mengubah

Ubah label, urutan field, state, tombol, dan JSX di sini. Payload dan aturan backend harus ikut diubah jika kontrak data berubah.

Fungsi dan metode

Fungsi dan input atau hasilPenjelasan singkatBukti source
RealtimeActivityFeed · L6Komponen riwayat notifikasi realtime yang tidak diimpor entry aktif.return null;
Dependensi kode proyek yang diimpor
Buka kode asli bernomor baris

Kode hanya ditampilkan sebagai teks. Tidak dieksekusi oleh panduan. Nomor baris mengikuti sumber yang dibaca.

Identitas snapshot

SHA-256 0e9a6d8fe4a7afca0e4274d7b9c949f8abf902482d3c76a01a799eb8e1ac75ea

resources/js/components/UpdatedAt.tsx4 baris · 1 fungsi bernama
Unggahan sumber 17 OktoberDiimpor entry aktif

Untuk apa

Label waktu pembaruan daftar.

Jika diminta mengubah

Ubah label, urutan field, state, tombol, dan JSX di sini. Payload dan aturan backend harus ikut diubah jika kontrak data berubah.

Fungsi dan metode

Fungsi dan input atau hasilPenjelasan singkatBukti source
UpdatedAt · L1Label waktu pembaruan daftar.return null;
Buka kode asli bernomor baris

Kode hanya ditampilkan sebagai teks. Tidak dieksekusi oleh panduan. Nomor baris mengikuti sumber yang dibaca.

Identitas snapshot

SHA-256 2f79f9b9832a76bffa8c3d7b3b0edce71db2497fb7bf357501da2bee80bb7103

resources/js/lib/api.ts35 baris · 1 fungsi bernama
Unggahan sumber 17 OktoberDiimpor entry aktif

Untuk apa

Axios bersama, cookie session dan XSRF, blokir mutasi offline, serta pesan kegagalan API.

Jika diminta mengubah

Perubahan helper berdampak pada semua pemanggil. Periksa daftar import dan tes yang terkait.

Fungsi dan metode

Fungsi dan input atau hasilPenjelasan singkatBukti source
errorMessage · L20Mengubah kegagalan Axios, 419, 429, konflik instance dan field validation menjadi pesan yang dapat dibaca pengguna.return 'Perangkat sedang offline. Transaksi tidak disimpan atau diantrikan. Sambungkan internet lalu coba kembali.';
Buka kode asli bernomor baris

Kode hanya ditampilkan sebagai teks. Tidak dieksekusi oleh panduan. Nomor baris mengikuti sumber yang dibaca.

Identitas snapshot

SHA-256 6c3a7d1422eb6f04d06f6c6cfd626fd7dede54d126d90ee17c3cc5b95dba32c8

resources/js/lib/brandAssets.ts5 baris · 0 fungsi bernama
Unggahan sumber 17 OktoberDiimpor entry aktif

Untuk apa

Konstanta path gambar merek yang dipakai komponen.

Jika diminta mengubah

Perubahan helper berdampak pada semua pemanggil. Periksa daftar import dan tes yang terkait.

Buka kode asli bernomor baris

Kode hanya ditampilkan sebagai teks. Tidak dieksekusi oleh panduan. Nomor baris mengikuti sumber yang dibaca.

Identitas snapshot

SHA-256 e8d34dae96f09e179bf3548111959567efef94bc7c798f5f8b24ef9bbc9ebac3

resources/js/lib/navigation.ts27 baris · 3 fungsi bernama
Revisi ZIP v5Diimpor entry aktif

Untuk apa

Navigasi panel lewat history.state dengan URL tanpa fragment aplikasi.

Jika diminta mengubah

Perubahan helper berdampak pada semua pemanggil. Periksa daftar import dan tes yang terkait.

Fungsi dan metode

Fungsi dan input atau hasilPenjelasan singkatBukti source
readNavigation · L9Membaca rajawaliNavigation dari history.state dan mencocokkan surface.Navigasi browser
writeNavigation · L14Menyimpan state panel dengan pushState atau replaceState dan menghapus fragment URL.Navigasi browser
clearUrlFragment · L22Membersihkan hash memakai replaceState tanpa memuat ulang halaman.Navigasi browser
Buka kode asli bernomor baris

Kode hanya ditampilkan sebagai teks. Tidak dieksekusi oleh panduan. Nomor baris mengikuti sumber yang dibaca.

Identitas snapshot

SHA-256 377e1822feeff23f9a37742102ccedea91dae7b1a95424592db3ca6054f6cb95

resources/js/lib/presentation.ts39 baris · 3 fungsi bernama
Unggahan sumber 17 OktoberDiimpor entry aktif

Untuk apa

Label status, role dan format tanggal untuk tampilan.

Jika diminta mengubah

Perubahan helper berdampak pada semua pemanggil. Periksa daftar import dan tes yang terkait.

Fungsi dan metode

Fungsi dan input atau hasilPenjelasan singkatBukti source
humanStatus · L26Mengubah kode status menjadi label Indonesia, dengan fallback pemisah underscore.return '—';
roleLabel · L31Mengubah kode role menjadi label tampilan.return ({ owner: 'Owner', admin: 'Admin', kasir: 'Kasir', teknisi: 'Teknisi' } as Record<string, string>)[role] ?? role;
formatDateTime · L35Memformat tanggal yang valid ke locale Indonesia dan mempertahankan input ketika tanggal tidak dapat dibaca.return '—';
Buka kode asli bernomor baris

Kode hanya ditampilkan sebagai teks. Tidak dieksekusi oleh panduan. Nomor baris mengikuti sumber yang dibaca.

Identitas snapshot

SHA-256 ffe21a15c3d725bdd83a880759cdc6934a61f1b5ba11ced008042428bd9cc418

resources/js/lib/printDocument.ts62 baris · 3 fungsi bernama
Unggahan sumber 17 OktoberDiimpor entry aktif

Untuk apa

Penyusun dokumen cetak dengan DOM textContent dan CSS eksternal.

Jika diminta mengubah

Perubahan helper berdampak pada semua pemanggil. Periksa daftar import dan tes yang terkait.

Fungsi dan metode

Fungsi dan input atau hasilPenjelasan singkatBukti source
text · L8Mengubah nilai kosong menjadi penanda tampilan dan nilai lain menjadi teks.return '—';
printDocument · L13Membuka popup, membuat elemen dan isi dengan textContent, memuat print.css, lalu mencetak setelah CSS siap.Dokumen cetak
printWhenReady · L58Memfokuskan dan mencetak popup setelah stylesheet siap jika jendela belum ditutup.Lihat signature dan isi fungsi.
Buka kode asli bernomor baris

Kode hanya ditampilkan sebagai teks. Tidak dieksekusi oleh panduan. Nomor baris mengikuti sumber yang dibaca.

Identitas snapshot

SHA-256 60eddec68e524558669532d51a7188f2c4ab3dfef7620aa49057fb8b7dd6a003

resources/js/lib/pwa.ts111 baris · 9 fungsi bernama
Unggahan sumber 17 OktoberTidak diimpor entry aktif

Untuk apa

Helper PWA lama. Tidak ada import dari entry app.tsx saat ini.

Jika diminta mengubah

Perubahan helper berdampak pada semua pemanggil. Periksa daftar import dan tes yang terkait.

Fungsi dan metode

Fungsi dan input atau hasilPenjelasan singkatBukti source
notify · L12Memberitahukan perubahan state pemasangan PWA kepada listener helper lama.Lihat signature dan isi fungsi.
watchRegistration · L16Memantau registration service worker lama dan update yang menunggu.Lihat signature dan isi fungsi.
registerPwa · L34Mendaftarkan service worker bila helper lama dipanggil. Entry aktif saat ini tidak memanggilnya.Lihat signature dan isi fungsi.
canInstallPwa · L78Membaca apakah event pemasangan PWA lama sedang tersedia.return installPrompt !== null;
hasPwaUpdate · L82Memeriksa worker update yang menunggu pada state helper lama.return waitingWorker !== null;
installPwa · L86Memunculkan prompt instalasi dari event PWA lama yang disimpan.return false;
applyPwaUpdate · L95Meminta worker lama yang menunggu melewati tahap waiting.return false;
checkPwaUpdate · L104Meminta pemeriksaan update registration lama.return registration?.update().then(() => undefined).catch(() => undefined) ?? Promise.resolve();
subscribeInstallState · L108Mendaftarkan callback state helper PWA lama dan mengembalikan cleanup.return () => listeners.delete(listener);
Buka kode asli bernomor baris

Kode hanya ditampilkan sebagai teks. Tidak dieksekusi oleh panduan. Nomor baris mengikuti sumber yang dibaca.

Identitas snapshot

SHA-256 579c406108f55ad32f5c636cbaa969aeb02076c32db0fa99f3623c5a84f4929a

resources/js/lib/realtime.ts130 baris · 10 fungsi bernama
Unggahan sumber 17 OktoberDiimpor entry aktif

Untuk apa

Koneksi Echo atau Reverb, autentikasi channel privat, reconnect, dan deduplikasi event.

Jika diminta mengubah

Perubahan helper berdampak pada semua pemanggil. Periksa daftar import dan tes yang terkait.

Fungsi dan metode

Fungsi dan input atau hasilPenjelasan singkatBukti source
meta · L12Membaca satu meta konfigurasi publik dari Blade.return document.querySelector<HTMLMetaElement>(`meta[name="${name}"]`)?.content ?? '';
runtimeConfig · L16Menyusun endpoint dan transport WebSocket dari meta halaman.return {
instance · L26Membuat satu klien Echo dengan transport dan authorizer channel privat yang sesuai konfigurasi.API /api/broadcasting/auth
eventKey · L52Memilih identitas event untuk deduplikasi.return change.event_id ?? `${change.area}:${change.resource_id ?? 'none'}:${change.occurred_at}`;
isDuplicate · L56Menghapus jejak lama dan menolak event berulang dalam jendela deduplikasi.return true;
subscribeTenant · L67Subscribe channel privat cabang, memantau koneksi, mendengar business.changed, serta melepas channel dan listener pada cleanup.return () => undefined;
connected · L91Memperbarui state realtime sesuai koneksi dan subscription channel.Lihat signature dan isi fungsi.
connecting · L92Menandai subscription belum siap dan koneksi sedang menghubungkan ulang.Lihat signature dan isi fungsi.
disconnected · L93Menandai channel belum tersubscribe dan koneksi terputus.Lihat signature dan isi fungsi.
failed · L94Menandai koneksi atau channel realtime dalam keadaan error.Lihat signature dan isi fungsi.

Path API literal pada source

  • /api/broadcasting/auth
Dependensi kode proyek yang diimpor
Buka kode asli bernomor baris

Kode hanya ditampilkan sebagai teks. Tidak dieksekusi oleh panduan. Nomor baris mengikuti sumber yang dibaca.

Identitas snapshot

SHA-256 e5ccc3535009a14422e035a44d556cfe98fb8638b37463afce02a8fdcb20ede6

resources/js/lib/spaFetch.ts110 baris · 4 fungsi bernama
Unggahan sumber 17 OktoberTidak diimpor entry aktif

Untuk apa

Bridge fetch lama. Komentar pemasangan di dalam berkas tidak sesuai entry terbaru yang tidak mengimpornya.

Jika diminta mengubah

Perubahan helper berdampak pada semua pemanggil. Periksa daftar import dan tes yang terkait.

Fungsi dan metode

Fungsi dan input atau hasilPenjelasan singkatBukti source
rajawaliCookie · L14Membaca dan mendecode cookie berdasarkan nama.return null;
rajawaliPrimeCsrf · L26Mengambil /sanctum/csrf-cookie lewat fetch asli.API /sanctum/csrf-cookie
rajawaliRequestUrl · L41Mengubah Request, URL, atau string menjadi URL untuk pemeriksaan origin.return new URL(input.url, window.location.origin);
rajawaliFetch · L53Membungkus fetch same-origin agar membawa cookie serta XSRF pada mutasi. Helper lama ini tidak diimpor entry aktif.API /api/login

Path API literal pada source

  • /sanctum/csrf-cookie
  • /api/login
Buka kode asli bernomor baris

Kode hanya ditampilkan sebagai teks. Tidak dieksekusi oleh panduan. Nomor baris mengikuti sumber yang dibaca.

Identitas snapshot

SHA-256 f81e8498908c8feab19541ab53dae69cdca55e8d37e1906d23f7515fe8c700d0

resources/js/online/OnlineOrdersPanel.tsx183 baris · 7 fungsi bernama
Unggahan sumber 17 OktoberDiimpor entry aktif

Untuk apa

Daftar pesanan online cabang, verifikasi bukti, pemrosesan, pengiriman atau ambil, dan cetak.

Jika diminta mengubah

Ubah label, urutan field, state, tombol, dan JSX di sini. Payload dan aturan backend harus ikut diubah jika kontrak data berubah.

Fungsi dan metode

Fungsi dan input atau hasilPenjelasan singkatBukti source
OnlineOrdersPanel · L27Daftar pesanan online cabang, verifikasi bukti, pemrosesan, pengiriman atau ambil, dan cetak.Dokumen cetak
API /api/online-order, /sanctum/csrf-cookie, /api/online-order/${selected.id_penjualan}/${path}, /api/online-order/${selected.id_penjualan}/bukti-pembayaran
loadOrders · L66Membaca halaman pesanan dan ringkasan berdasarkan filter serta cabang yang sedang dipakai.API /api/online-order
stillCurrent · L69Membandingkan penanda request atau branch agar respons lama tidak memperbarui cabang yang sudah berganti.Lihat signature dan isi fungsi.
act · L87Mengirim operasi yang dipilih beserta payload atau versi yang diperlukan dan memuat hasil terbaru.API /sanctum/csrf-cookie, /api/online-order/${selected.id_penjualan}/${path}
clearFilters · L116Mengembalikan filter dan nomor halaman ke nilai awal panel.Lihat signature dan isi fungsi.
printOrder · L117Menyusun detail pesanan online yang sedang ditampilkan untuk dokumen cetak.Dokumen cetak
waHref · L127Membentuk tautan WhatsApp dari nomor kontak.return 'https://wa.me/' + value.replace(/\D/g, '').replace(/^0/, '62'); }

Path API literal pada source

  • /api/online-order
  • /sanctum/csrf-cookie
  • /api/online-order/${selected.id_penjualan}/${path}
  • /api/online-order/${selected.id_penjualan}/bukti-pembayaran
State komponen dan nilai awal
StateSetterInisialisasi asli
orderssetOrdersuseState<Order[]>([])
selectedIdsetSelectedIduseState<number | null>(null)
loadingsetLoadinguseState(true)
busysetBusyuseState(false)
errorsetErroruseState('')
noticesetNoticeuseState('')
rejectReasonsetRejectReasonuseState('')
couriersetCourieruseState('')
trackingNumbersetTrackingNumberuseState('')
querysetQueryuseState('')
statusFiltersetStatusFilteruseState('')
paymentFiltersetPaymentFilteruseState('')
receptionFiltersetReceptionFilteruseState('')
dateFromsetDateFromuseState('')
dateUntilsetDateUntiluseState('')
summarysetSummaryuseState<OrderSummary>({ order_count: 0, total_value: 0, payment_review_count: 0, active_count: 0 })
pagesetPageuseState(1)
lastPagesetLastPageuseState(1)
totalsetTotaluseState(0)
updatedAtsetUpdatedAtuseState<Date | null>(null)
Effect dan memo yang perlu diperhatikan
HookIsi yang terdeteksiKode
useMemo L54Perhitungan atau sinkronisasi state sesuai dependensi.
useEffect L56Perhitungan atau sinkronisasi state sesuai dependensi.
useEffect L63Perhitungan atau sinkronisasi state sesuai dependensi.
useEffect L64Perhitungan atau sinkronisasi state sesuai dependensi.
Dependensi kode proyek yang diimpor
Buka kode asli bernomor baris

Kode hanya ditampilkan sebagai teks. Tidak dieksekusi oleh panduan. Nomor baris mengikuti sumber yang dibaca.

Identitas snapshot

SHA-256 5a405de3469aa509520a2b04c080eecac448aceb689c8fdd6ae09c304bf241cb

resources/js/online/OnlineStoreApp.tsx755 baris · 41 fungsi bernama
Revisi ZIP v5Diimpor entry aktif

Untuk apa

Katalog publik, detail produk, keranjang beberapa cabang, checkout per cabang, tracking dan bukti.

Jika diminta mengubah

Ubah label, urutan field, state, tombol, dan JSX di sini. Payload dan aturan backend harus ikut diubah jika kontrak data berubah.

Fungsi dan metode

Fungsi dan input atau hasilPenjelasan singkatBukti source
Icon · L77Memilih SVG ikon toko sesuai nama yang diminta.return <svg {...common}><path d="M3 4h2l2.1 10.1a2 2 0 0 0 2 1.6h7.9a2 2 0 0 0 1.9-1.4L21 8H7"/><circle cx="10" cy="20" r="1"/><circle cx="18" cy="
signedOnlinePath · L89Memeriksa origin serta path untuk tracking, bukti, atau pembatalan sebelum mengikuti URL.return url.pathname + url.search;
savedCart · L100Membaca snapshot keranjang versi yang dikenal dari sessionStorage.Penyimpanan per tab
progress · L107Membentuk indikator tahap pesanan sesuai metode ambil atau kirim.return ['Pesanan dibuat', 'Dibatalkan'];
productPrice · L114Memakai harga_jual produk untuk estimasi tampilan, selaras dengan harga normal server saat ini.return product.harga_jual;
humanWarranty · L118Mengubah jumlah hari garansi menjadi label yang ringkas.return null;
PaymentGuide · L125Menampilkan rekening atau QRIS sesuai metode yang tersedia dan total pesanan.return <section aria-label="Petunjuk pembayaran" className="rounded-2xl border border-[#d7bf82] bg-[#fffaf0] p-5 text-sm">
quantityValidation · L141Memvalidasi teks jumlah tanpa menerima minus, desimal, eksponen atau nol di depan. Nol membuka alur konfirmasi hapus.return 'Masukkan bilangan bulat tanpa minus, desimal, atau nol di depan (contoh: 1, 2, 3).';
OnlineStoreApp · L152Katalog publik, detail produk, keranjang beberapa cabang, checkout per cabang, tracking dan bukti.Dokumen cetak
Penyimpanan per tab
Navigasi browser
API /api/online/cabang, /api/online/katalog, /sanctum/csrf-cookie, /api/online/checkout, /api/online/status-kode
restoreView · L203Memulihkan view toko dari history dan membersihkan dialog yang tidak lagi relevan.Navigasi browser
closeOnOutsidePointer · L226Menutup menu sort ketika pointer berada di luar elemen menu.Lihat signature dan isi fungsi.
closeOnEscape · L231Menutup menu sort ketika tombol Escape ditekan.Lihat signature dan isi fungsi.
onEscape · L244Menutup modal atau dialog aktif sesuai urutan penanganan Escape.Lihat signature dan isi fungsi.
handleBack · L258Menutup dialog perubahan cabang ketika navigasi browser kembali.Lihat signature dan isi fungsi.
hydrateCart · L295Mengambil metadata produk untuk key keranjang yang tersimpan tanpa menghapus kelompok karena kegagalan baca API.API /api/online/katalog
navigateShop · L310Berpindah view belanja, keranjang, checkout atau status melalui history.state.Lihat signature dan isi fungsi.
openDetail · L317Membuka detail produk dan menyiapkan pilihan cabang serta jumlah.Navigasi browser
loadCatalog · L329Mengirim pencarian, halaman, kategori dan sort. Penanda request mencegah respons lama mengganti hasil request baru.API /api/online/katalog
stockAtBranch · L342Mencari stok produk pada satu cabang tertentu.return 0;
maxStock · L348Menghitung batas jumlah menurut cabang pilihan detail produk.return stockAtBranch(product, branchId);
clearQuantityDraft · L352Membersihkan teks jumlah sementara dan pesan error satu key item.return next; });
setQuantity · L357Mengubah jumlah untuk satu pasangan cabang dan produk dengan batas stok.Lihat signature dan isi fungsi.
confirmRemove · L368Menghapus hanya item yang dikonfirmasi pengguna.return next; });
addToCart · L376Menambahkan jumlah pada key pasangan cabang dan produk terpilih tanpa menyatukan cabang berbeda.Lihat signature dan isi fungsi.
dismissBranchChange · L432Menutup konfirmasi pindah cabang dan menyesuaikan entri history dialog.Navigasi browser
chooseBranch · L437Mengubah preferensi cabang pada detail produk, bukan memindahkan semua isi keranjang.Lihat signature dan isi fungsi.
requestLineBranchChange · L441Memeriksa calon penggabungan dan stok cabang tujuan sebelum membuka konfirmasi.Lihat signature dan isi fungsi.
confirmBranchChange · L453Memindahkan key item setelah pengguna menyetujui perubahan dan pemeriksaan terakhir berhasil.Lihat signature dan isi fungsi.
clearCart · L465Membuka konfirmasi pengosongan keranjang.Lihat signature dan isi fungsi.
performClearCart · L469Mengosongkan keranjang setelah konfirmasi dan membersihkan draft terkait.Lihat signature dan isi fungsi.
commitQuantity · L474Memvalidasi draft jumlah, mempertahankan jumlah lama jika salah, atau membuka konfirmasi hapus jika nol.Lihat signature dan isi fungsi.
beginBranchCheckout · L484Memilih satu kelompok cabang sebagai isi checkout dan totalnya.Lihat signature dan isi fungsi.
showCustomerError · L497Membaca pesan field dari error API dan menampilkannya pada area form.Lihat signature dan isi fungsi.
validateCheckout · L505Memeriksa kelompok cabang, jumlah, identitas, metode penerimaan dan pembayaran sebelum pengiriman.return 'Nama pelanggan wajib diisi. Contoh: Budi Santoso.';
submitCheckout · L519Mengirim hanya item cabang checkout, menunggu hasil backend, lalu mengurangi hanya jumlah kelompok yang berhasil dibuat.Navigasi browser
API /sanctum/csrf-cookie, /api/online/checkout
openTrackingCode · L551Mengirim kode tracking melalui POST lalu membuka hasil pesanan.Navigasi browser
API /sanctum/csrf-cookie, /api/online/status-kode
loadTracking · L566Memvalidasi URL tracking dan membaca status terbaru dari API.Lihat signature dan isi fungsi.
refreshTracking · L574Memuat kembali pesanan yang sedang ditampilkan.API /api/online/status-kode
uploadProof · L583Mengirim file bukti melalui FormData ke signed URL pembayaran dalam waktu yang tersedia.API /sanctum/csrf-cookie
cancelOrder · L594Meminta pembatalan melalui signed URL setelah konfirmasi pengguna.API /sanctum/csrf-cookie
printTracking · L610Menyusun dokumen cetak pesanan dari data yang sudah diterima API.Dokumen cetak

Path API literal pada source

  • /api/online/cabang
  • /api/online/katalog
  • /sanctum/csrf-cookie
  • /api/online/checkout
  • /api/online/status-kode
State komponen dan nilai awal
StateSetterInisialisasi asli
branchessetBranchesuseState<Branch[]>([])
paymentMethodssetPaymentMethodsuseState<PaymentMethods>(emptyPaymentMethods)
branchIdsetBranchIduseState('')
checkoutBranchIdsetCheckoutBranchIduseState(() => readNavigation('online')?.checkoutBranch ?? '')
productssetProductsuseState<Product[]>([])
categoriessetCategoriesuseState<string[]>([])
querysetQueryuseState('')
appliedQuerysetAppliedQueryuseState('')
categorysetCategoryuseState('')
sortsetSortuseState<CatalogSort>('nama')
sortOpensetSortOpenuseState(false)
catalogPagesetCatalogPageuseState(1)
catalogLastPagesetCatalogLastPageuseState(1)
catalogTotalsetCatalogTotaluseState(0)
cartsetCartuseState<CartState>({})
cartProductssetCartProductsuseState<Record<number, Product>>({})
loadingsetLoadinguseState(true)
catalogBusysetCatalogBusyuseState(false)
checkoutBusysetCheckoutBusyuseState(false)
proofBusysetProofBusyuseState(false)
errorsetErroruseState('')
noticesetNoticeuseState('')
cartPopupsetCartPopupuseState<{ name: string; quantity: number } | null>(null)
detailQuantitysetDetailQuantityuseState('1')
checkoutsetCheckoutuseState<CheckoutResult | null>(null)
trackingUrlsetTrackingUrluseState<string | null>(null)
trackingCodesetTrackingCodeuseState('')
trackingsetTrackinguseState<TrackingData | null>(null)
trackingBusysetTrackingBusyuseState(false)
proofsetProofuseState<File | null>(null)
quantityDraftssetQuantityDraftsuseState<Record<string, string>>({})
messageModalsetMessageModaluseState<{ title: string; message: string } | null>(null)
pendingRemovalsetPendingRemovaluseState<CartLine | null>(null)
pendingBranchChangesetPendingBranchChangeuseState<{ line: CartLine; target: Branch } | null>(null)
quantityErrorssetQuantityErrorsuseState<Record<string, string>>({})
confirmModalsetConfirmModaluseState<'clear-cart' | 'cancel-order' | null>(null)
clocksetClockuseState(() => Date.now())
cartReadysetCartReadyuseState(false)
shopViewsetShopViewuseState<ShopView>(() => { const requested = readNavigation('online')?.view; if (requested === 'belanja' || requested === 'keranjang' || requested === 'checkout' || requested === 'status') return requested; return !requested && new URLSearchParams(window.location.search).has('tracking') ? 'status' : 'belanja'; })
selectedProductsetSelectedProductuseState<Product | null>(null)
statusInputsetStatusInputuseState('')
formsetFormuseState<CheckoutForm>({ nama_pelanggan: '', no_wa: '', email: '', alamat: '', metode_penerimaan: 'ambil', nama_penerima: '', alamat_pengiriman: '', metode_pembayaran: 'transfer_bank' })
Effect dan memo yang perlu diperhatikan
HookIsi yang terdeteksiKode
useEffect L202listener browser, cleanup
useEffect L223listener browser, cleanup
useEffect L243listener browser, cleanup
useEffect L255listener browser, cleanup
useEffect L263API
useEffect L281keranjang tersimpan
useEffect L287Perhitungan atau sinkronisasi state sesuai dependensi.
useEffect L289interval, cleanup
useMemo L394Perhitungan atau sinkronisasi state sesuai dependensi.
Dependensi kode proyek yang diimpor
Buka kode asli bernomor baris

Kode hanya ditampilkan sebagai teks. Tidak dieksekusi oleh panduan. Nomor baris mengikuti sumber yang dibaca.

Identitas snapshot

SHA-256 b88897736b8b64d4f95be674e041cda9b33c13737627d20e9ed98bfc48ef5c8c

resources/js/online/cart.ts61 baris · 5 fungsi bernama
Revisi ZIP v5Diimpor entry aktif

Untuk apa

Representasi keranjang sebagai pasangan cabang dan produk serta operasi yang mempertahankan kelompok lain.

Jika diminta mengubah

Perubahan helper berdampak pada semua pemanggil. Periksa daftar import dan tes yang terkait.

Fungsi dan metode

Fungsi dan input atau hasilPenjelasan singkatBukti source
cartKey · L4Menghasilkan key cabang:produk setelah memastikan angka ID sesuai aturan.return `${branchId}:${productId}`;
splitCartKey · L11Membaca kedua ID dari key serta menolak bentuk yang tidak sah.return null;
decodeCart · L19Memulihkan data sessionStorage dan memigrasikan bentuk keranjang lama tanpa membuang jumlah yang masih valid.return {};
moveCartLine · L41Memindahkan satu item ke cabang tujuan, menggabungkan produk sama, dan menolak hasil yang melampaui stok.return cart;
removePurchasedLines · L53Mengurangi hanya jumlah yang benar-benar dikirim pada checkout, sehingga kelompok lain atau tambahan baru tetap ada.return next;
Buka kode asli bernomor baris

Kode hanya ditampilkan sebagai teks. Tidak dieksekusi oleh panduan. Nomor baris mengikuti sumber yang dibaca.

Identitas snapshot

SHA-256 0b80fa27559a55e2e90dadfba52ae99b13683239c133743bf0759caf95834ee5

resources/views/errors/404.blade.php19 baris · 0 fungsi bernama
Revisi ZIP v5

Untuk apa

Halaman HTTP 404 bermerek Rajawali dengan tombol kembali ke katalog.

Jika diminta mengubah

Ubah teks di Blade dan tampilan di public/css/rajawali-error.css.

Buka kode asli bernomor baris

Kode hanya ditampilkan sebagai teks. Tidak dieksekusi oleh panduan. Nomor baris mengikuti sumber yang dibaca.

Identitas snapshot

SHA-256 63bc901ebd609aa5862a43aea98e61566d03a96066df2bea2d1c2c83fbff78e1

resources/views/mail/employee-activation.blade.php5 baris · 0 fungsi bernama
Unggahan sumber 17 Oktober

Untuk apa

Template Blade email employee activation.

Jika diminta mengubah

Ubah teks atau layout di Blade dan data pengirim pada kelas Mail atau Notification pemanggilnya.

Buka kode asli bernomor baris

Kode hanya ditampilkan sebagai teks. Tidak dieksekusi oleh panduan. Nomor baris mengikuti sumber yang dibaca.

Identitas snapshot

SHA-256 586b0d4acc1877cb04e37aae77809cfe3eddc17793f534cee73106fef25fa1de

resources/views/mail/online-order-paid.blade.php42 baris · 0 fungsi bernama
Unggahan sumber 17 Oktober

Untuk apa

Template Blade email online order paid.

Jika diminta mengubah

Ubah teks atau layout di Blade dan data pengirim pada kelas Mail atau Notification pemanggilnya.

Buka kode asli bernomor baris

Kode hanya ditampilkan sebagai teks. Tidak dieksekusi oleh panduan. Nomor baris mengikuti sumber yang dibaca.

Identitas snapshot

SHA-256 efa2b3f00be005144a3f003042eb472d05d425b646547f1b4e49ee93b5f24521

resources/views/mail/staff-login-code.blade.php5 baris · 0 fungsi bernama
Revisi ZIP v5

Untuk apa

Template Blade email staff login code.

Jika diminta mengubah

Ubah teks atau layout di Blade dan data pengirim pada kelas Mail atau Notification pemanggilnya.

Buka kode asli bernomor baris

Kode hanya ditampilkan sebagai teks. Tidak dieksekusi oleh panduan. Nomor baris mengikuti sumber yang dibaca.

Identitas snapshot

SHA-256 d937f59be283c9ef8941f722280eab16875141582b5ac25371a41a8559583e1f

resources/views/rajawali.blade.php30 baris · 0 fungsi bernama
Unggahan sumber 17 Oktober

Untuk apa

HTML shell aplikasi yang memuat root React dan meta Reverb publik.

Jika diminta mengubah

Teks title, metadata, favicon dan pemanggilan Vite berada di sini. Secret Reverb tidak boleh dimasukkan ke meta.

Buka kode asli bernomor baris

Kode hanya ditampilkan sebagai teks. Tidak dieksekusi oleh panduan. Nomor baris mengikuti sumber yang dibaca.

Identitas snapshot

SHA-256 3849bbee8e10172eedd3c20362d8646ae67cf957172f1cbe78c42126fead6582

resources/views/welcome.blade.php223 baris · 0 fungsi bernama
Unggahan sumber 17 Oktober

Untuk apa

Halaman welcome bawaan Laravel yang masih tersedia dalam source.

Jika diminta mengubah

Route root saat ini memakai view rajawali, bukan welcome.

Buka kode asli bernomor baris

Kode hanya ditampilkan sebagai teks. Tidak dieksekusi oleh panduan. Nomor baris mengikuti sumber yang dibaca.

Identitas snapshot

SHA-256 bdb9bb7d2eecceb3581e429545b6ec96014ccab6d0ae83d4c52930e9a15f7d65

Database, migration, factory dan seeder 44

database/factories/CabangFactory.php16 baris · 1 fungsi bernama
Salinan pendukung sebelumnya

Untuk apa

Pabrik data latihan untuk model Cabang.

Jika diminta mengubah

Nilai random atau default di factory bukan akun dan data produksi yang harus dipakai pengguna.

Fungsi dan metode

Fungsi dan input atau hasilPenjelasan singkatBukti source
function definition(): arrayMembentuk atribut contoh atau state model untuk data uji, bukan menyiapkan akun pengguna produksi.return ['nama_cabang' => 'Samanhudi', 'alamat' => fake()->address(), 'status_cabang' => 'aktif'];
Dependensi kode proyek yang diimpor
Buka kode asli bernomor baris

Kode hanya ditampilkan sebagai teks. Tidak dieksekusi oleh panduan. Nomor baris mengikuti sumber yang dibaca.

Identitas snapshot

SHA-256 e08f5a5d37e8e8e07c2354466c06f8aca6548843f3d00c9c057ccbf504fdd80a

database/factories/PelangganFactory.php17 baris · 1 fungsi bernama
Salinan pendukung sebelumnya

Untuk apa

Pabrik data latihan untuk model Pelanggan.

Jika diminta mengubah

Nilai random atau default di factory bukan akun dan data produksi yang harus dipakai pengguna.

Fungsi dan metode

Fungsi dan input atau hasilPenjelasan singkatBukti source
function definition(): arrayMembentuk atribut contoh atau state model untuk data uji, bukan menyiapkan akun pengguna produksi.return ['nama_pelanggan' => fake()->name(), 'no_wa' => null, 'email' => null, 'alamat' => null];
Dependensi kode proyek yang diimpor
Buka kode asli bernomor baris

Kode hanya ditampilkan sebagai teks. Tidak dieksekusi oleh panduan. Nomor baris mengikuti sumber yang dibaca.

Identitas snapshot

SHA-256 98917a8afaab11b17da7e725bdb7fe8d4917fbb1127f3e55116bc5d7ff5c97e1

database/factories/PenggunaFactory.php25 baris · 1 fungsi bernama
Salinan pendukung sebelumnya

Untuk apa

Pabrik data latihan untuk model Pengguna.

Jika diminta mengubah

Nilai random atau default di factory bukan akun dan data produksi yang harus dipakai pengguna.

Fungsi dan metode

Fungsi dan input atau hasilPenjelasan singkatBukti source
function definition(): arrayMembentuk atribut contoh atau state model untuk data uji, bukan menyiapkan akun pengguna produksi.Pembuatan hash
Dependensi kode proyek yang diimpor
Buka kode asli bernomor baris

Kode hanya ditampilkan sebagai teks. Tidak dieksekusi oleh panduan. Nomor baris mengikuti sumber yang dibaca.

Identitas snapshot

SHA-256 f010da5d3ccc117072178685eeac48d0d3f878c11a8870cb46b7e977012526f9

database/factories/ProdukFactory.php22 baris · 1 fungsi bernama
Salinan pendukung sebelumnya

Untuk apa

Pabrik data latihan untuk model Produk.

Jika diminta mengubah

Nilai random atau default di factory bukan akun dan data produksi yang harus dipakai pengguna.

Fungsi dan metode

Fungsi dan input atau hasilPenjelasan singkatBukti source
function definition(): arrayMembentuk atribut contoh atau state model untuk data uji, bukan menyiapkan akun pengguna produksi.return [
Dependensi kode proyek yang diimpor
Buka kode asli bernomor baris

Kode hanya ditampilkan sebagai teks. Tidak dieksekusi oleh panduan. Nomor baris mengikuti sumber yang dibaca.

Identitas snapshot

SHA-256 72c383c941c9c677a42d276c436cafda1076ac489be38c81b9f478112813266e

database/factories/SupplierFactory.php17 baris · 1 fungsi bernama
Salinan pendukung sebelumnya

Untuk apa

Pabrik data latihan untuk model Supplier.

Jika diminta mengubah

Nilai random atau default di factory bukan akun dan data produksi yang harus dipakai pengguna.

Fungsi dan metode

Fungsi dan input atau hasilPenjelasan singkatBukti source
function definition(): arrayMembentuk atribut contoh atau state model untuk data uji, bukan menyiapkan akun pengguna produksi.return ['nama_supplier' => fake()->company(), 'alamat' => fake()->address(), 'no_telepon' => '0311234567'];
Dependensi kode proyek yang diimpor
Buka kode asli bernomor baris

Kode hanya ditampilkan sebagai teks. Tidak dieksekusi oleh panduan. Nomor baris mengikuti sumber yang dibaca.

Identitas snapshot

SHA-256 a6d7a742d5f25deeded03225f5537702477d572fea88e9926df62fa77e8b696f

database/migrations/infrastructure/master/2026_09_21_155927_create_sessions_table.php27 baris · 2 fungsi bernama
Unggahan sumber 17 Oktober

Untuk apa

Membuat schema untuk sessions. Lingkup master.

Jika diminta mengubah

up menerapkan perubahan dan down membalik schema menurut kode. Buat migration lanjutan untuk perubahan schema yang sudah dilepas.

Fungsi dan metode

Fungsi dan input atau hasilPenjelasan singkatBukti source
function up(): voidMenerapkan perubahan schema dan fungsi atau constraint yang ditulis pada migration.Lihat signature dan isi fungsi.
function down(): voidMembalik objek schema yang ditentukan migration. Dapat menghapus data dan tidak dipakai untuk latihan pada database bisnis.Lihat signature dan isi fungsi.
Kolom, relasi, dan indeks pada migration
BarisDefinisi asli
14$table->string('id')->primary();
15$table->integer('user_id')->nullable()->index();
16$table->string('ip_address', 45)->nullable();
17$table->text('user_agent')->nullable();
18$table->text('payload');
19$table->integer('last_activity')->index();
Buka kode asli bernomor baris

Kode hanya ditampilkan sebagai teks. Tidak dieksekusi oleh panduan. Nomor baris mengikuti sumber yang dibaca.

Identitas snapshot

SHA-256 ba1ec32435ae360b584ef5791173c261d6209cfe26e3bdf9d702c80f43d81e2a

database/migrations/infrastructure/master/2026_09_23_030024_create_distributed_transactions_table.php40 baris · 2 fungsi bernama
Unggahan sumber 17 Oktober

Untuk apa

Membuat schema untuk distributed_transactions. Lingkup master.

Jika diminta mengubah

up menerapkan perubahan dan down membalik schema menurut kode. Buat migration lanjutan untuk perubahan schema yang sudah dilepas.

Fungsi dan metode

Fungsi dan input atau hasilPenjelasan singkatBukti source
function up(): voidMenerapkan perubahan schema dan fungsi atau constraint yang ditulis pada migration.Lihat signature dan isi fungsi.
function down(): voidMembalik objek schema yang ditentukan migration. Dapat menghapus data dan tidak dipakai untuk latihan pada database bisnis.Tabel distributed_transactions
Kolom, relasi, dan indeks pada migration
BarisDefinisi asli
15$table->string('global_id', 32)->primary();
16$table->string('operation', 40);
17$table->integer('reference_id')->nullable();
18$table->jsonb('participants');
19$table->string('decision', 10)->nullable();
20$table->string('status', 20)->index();
21$table->timestampTz('created_at');
22$table->timestampTz('decided_at')->nullable();
23$table->timestampTz('finished_at')->nullable();
24$table->integer('recovery_attempts')->default(0);
25$table->string('last_error', 100)->nullable();
Constraint dan kontrol SQL
  • CHECK (decision IS NULL OR decision IN ('commit', 'rollback')),
  • CHECK (status IN ('preparing', 'committing', 'rolling_back', 'completed')),
  • CHECK (status <> 'completed' OR (decision IS NOT NULL AND finished_at IS NOT NULL))");
Buka kode asli bernomor baris

Kode hanya ditampilkan sebagai teks. Tidak dieksekusi oleh panduan. Nomor baris mengikuti sumber yang dibaca.

Identitas snapshot

SHA-256 a1d5067f3bf49cef985dbcd6cc17033209143cc55db819b259f9854cf17f8512

database/migrations/master/2026_09_21_142815_create_cabang_table.php28 baris · 2 fungsi bernama
Unggahan sumber 17 Oktober

Untuk apa

Membuat schema untuk cabang. Lingkup master.

Jika diminta mengubah

up menerapkan perubahan dan down membalik schema menurut kode. Buat migration lanjutan untuk perubahan schema yang sudah dilepas.

Fungsi dan metode

Fungsi dan input atau hasilPenjelasan singkatBukti source
function up(): voidMenerapkan perubahan schema dan fungsi atau constraint yang ditulis pada migration.Lihat signature dan isi fungsi.
function down(): voidMembalik objek schema yang ditentukan migration. Dapat menghapus data dan tidak dipakai untuk latihan pada database bisnis.Lihat signature dan isi fungsi.
Kolom, relasi, dan indeks pada migration
BarisDefinisi asli
14$table->increments('id_cabang');
15$table->string('nama_cabang', 100);
16$table->text('alamat');
17$table->string('no_telepon', 20)->nullable();
18$table->string('status_cabang', 20)->default('aktif');
19$table->timestampTz('created_at')->useCurrent();
20$table->timestampTz('updated_at')->useCurrent();
Buka kode asli bernomor baris

Kode hanya ditampilkan sebagai teks. Tidak dieksekusi oleh panduan. Nomor baris mengikuti sumber yang dibaca.

Identitas snapshot

SHA-256 712885b563f1cd03cb7b38bca5a82e1c313fa6ed0cd85e47391636eca8680a47

database/migrations/master/2026_09_21_145227_create_pengguna_table.php45 baris · 2 fungsi bernama
Unggahan sumber 17 Oktober

Untuk apa

Membuat schema untuk pengguna. Lingkup master.

Jika diminta mengubah

up menerapkan perubahan dan down membalik schema menurut kode. Buat migration lanjutan untuk perubahan schema yang sudah dilepas.

Fungsi dan metode

Fungsi dan input atau hasilPenjelasan singkatBukti source
function up(): voidMenerapkan perubahan schema dan fungsi atau constraint yang ditulis pada migration.Lihat signature dan isi fungsi.
function down(): voidMembalik objek schema yang ditentukan migration. Dapat menghapus data dan tidak dipakai untuk latihan pada database bisnis.Lihat signature dan isi fungsi.
Kolom, relasi, dan indeks pada migration
BarisDefinisi asli
15$table->increments('id_pengguna');
16$table->integer('id_cabang')->nullable()->index();
17$table->string('nama_pengguna', 100);
18$table->string('email', 100)->unique();
19$table->string('password_hash', 255);
20$table->string('role', 20);
21$table->string('status_akun', 20)->default('aktif');
22$table->smallInteger('failed_login_count')->default(0);
23$table->timestampTz('locked_until')->nullable();
24$table->timestampTz('last_login_at')->nullable();
25$table->timestampTz('created_at')->useCurrent();
26$table->timestampTz('updated_at')->useCurrent();
27$table->integer('total_failed_login_count')->default(0);
29$table->foreign('id_cabang')->references('id_cabang')->on('cabang')->onDelete('no action')->onUpdate('no action');
Constraint dan kontrol SQL
  • CHECK (failed_login_count >= 0),
  • CHECK (total_failed_login_count >= 0),
  • CHECK (role IN ('owner', 'admin', 'kasir', 'teknisi')),
  • CHECK (role = 'owner' OR id_cabang IS NOT NULL)
Buka kode asli bernomor baris

Kode hanya ditampilkan sebagai teks. Tidak dieksekusi oleh panduan. Nomor baris mengikuti sumber yang dibaca.

Identitas snapshot

SHA-256 7335642ab41379dd01881f120d5e34e8b406d6ebfbef2020dd9217a8467f2dca

database/migrations/master/2026_09_21_145954_create_supplier_table.php28 baris · 2 fungsi bernama
Unggahan sumber 17 Oktober

Untuk apa

Membuat schema untuk supplier. Lingkup master.

Jika diminta mengubah

up menerapkan perubahan dan down membalik schema menurut kode. Buat migration lanjutan untuk perubahan schema yang sudah dilepas.

Fungsi dan metode

Fungsi dan input atau hasilPenjelasan singkatBukti source
function up(): voidMenerapkan perubahan schema dan fungsi atau constraint yang ditulis pada migration.Lihat signature dan isi fungsi.
function down(): voidMembalik objek schema yang ditentukan migration. Dapat menghapus data dan tidak dipakai untuk latihan pada database bisnis.Lihat signature dan isi fungsi.
Kolom, relasi, dan indeks pada migration
BarisDefinisi asli
14$table->increments('id_supplier');
15$table->string('nama_supplier', 100);
16$table->text('alamat')->nullable();
17$table->string('no_telepon', 20)->nullable();
18$table->timestampTz('created_at')->useCurrent();
19$table->timestampTz('updated_at')->useCurrent();
Buka kode asli bernomor baris

Kode hanya ditampilkan sebagai teks. Tidak dieksekusi oleh panduan. Nomor baris mengikuti sumber yang dibaca.

Identitas snapshot

SHA-256 f2dea60a34ff27cb3d06903d935ccd54290891390b9796572a551b03ea5e310e

database/migrations/master/2026_09_21_145956_create_produk_table.php43 baris · 2 fungsi bernama
Unggahan sumber 17 Oktober

Untuk apa

Membuat schema untuk produk. Lingkup master.

Jika diminta mengubah

up menerapkan perubahan dan down membalik schema menurut kode. Buat migration lanjutan untuk perubahan schema yang sudah dilepas.

Fungsi dan metode

Fungsi dan input atau hasilPenjelasan singkatBukti source
function up(): voidMenerapkan perubahan schema dan fungsi atau constraint yang ditulis pada migration.Lihat signature dan isi fungsi.
function down(): voidMembalik objek schema yang ditentukan migration. Dapat menghapus data dan tidak dipakai untuk latihan pada database bisnis.Lihat signature dan isi fungsi.
Kolom, relasi, dan indeks pada migration
BarisDefinisi asli
15$table->increments('id_produk');
16$table->string('kode_produk', 50)->unique();
17$table->string('nama_produk', 150);
18$table->string('kategori', 50)->nullable();
19$table->string('merek', 50)->nullable();
20$table->string('satuan', 20)->default('pcs');
21$table->bigInteger('harga_jual')->default(0);
22$table->bigInteger('harga_grosir')->nullable();
23$table->smallInteger('min_qty_grosir')->nullable();
24$table->string('status_produk', 20)->default('aktif');
25$table->timestampTz('created_at')->useCurrent();
26$table->timestampTz('updated_at')->useCurrent();
27$table->smallInteger('masa_garansi')->nullable()->comment('Masa garansi dalam hari');
Constraint dan kontrol SQL
  • CHECK (harga_jual >= 0),
  • CHECK (harga_grosir IS NULL OR harga_grosir >= 0),
  • CHECK (min_qty_grosir IS NULL OR min_qty_grosir > 0),
  • CHECK (masa_garansi IS NULL OR masa_garansi >= 0)
Buka kode asli bernomor baris

Kode hanya ditampilkan sebagai teks. Tidak dieksekusi oleh panduan. Nomor baris mengikuti sumber yang dibaca.

Identitas snapshot

SHA-256 924cad97ca79b17d5eb2d26b5fe484726d34d1020993802adf6284ce185d75e0

database/migrations/master/2026_09_21_145957_create_mutasi_stok_table.php45 baris · 2 fungsi bernama
Unggahan sumber 17 Oktober

Untuk apa

Membuat schema untuk mutasi_stok. Lingkup master.

Jika diminta mengubah

up menerapkan perubahan dan down membalik schema menurut kode. Buat migration lanjutan untuk perubahan schema yang sudah dilepas.

Fungsi dan metode

Fungsi dan input atau hasilPenjelasan singkatBukti source
function up(): voidMenerapkan perubahan schema dan fungsi atau constraint yang ditulis pada migration.Lihat signature dan isi fungsi.
function down(): voidMembalik objek schema yang ditentukan migration. Dapat menghapus data dan tidak dipakai untuk latihan pada database bisnis.Lihat signature dan isi fungsi.
Kolom, relasi, dan indeks pada migration
BarisDefinisi asli
15$table->increments('id_mutasi_stok');
16$table->integer('id_pengguna')->index();
17$table->text('alasan_mutasi');
18$table->string('status_mutasi', 20);
19$table->string('status_approval', 20);
20$table->integer('approved_by')->nullable()->index();
21$table->timestampTz('approved_at')->nullable();
22$table->string('approval_token_hash', 255)->nullable();
23$table->timestampTz('approval_expires_at')->nullable();
24$table->timestampTz('created_at');
25$table->integer('id_cabang_asal')->index();
26$table->integer('id_cabang_tujuan')->index();
28$table->foreign('id_pengguna')->references('id_pengguna')->on('pengguna')->onDelete('no action')->onUpdate('no action');
29$table->foreign('approved_by')->references('id_pengguna')->on('pengguna')->onDelete('no action')->onUpdate('no action');
30$table->foreign('id_cabang_asal')->references('id_cabang')->on('cabang')->onDelete('no action')->onUpdate('no action');
31$table->foreign('id_cabang_tujuan')->references('id_cabang')->on('cabang')->onDelete('no action')->onUpdate('no action');
Constraint dan kontrol SQL
  • CHECK (id_cabang_asal <> id_cabang_tujuan),
  • CHECK (approved_by IS NULL OR approved_by <> id_pengguna)
Buka kode asli bernomor baris

Kode hanya ditampilkan sebagai teks. Tidak dieksekusi oleh panduan. Nomor baris mengikuti sumber yang dibaca.

Identitas snapshot

SHA-256 6cb766ba277cf5099866d496814e8ec897da9042e26542a087b32b3575bd9ed0

database/migrations/master/2026_09_21_145959_create_detail_mutasi_stok_table.php33 baris · 2 fungsi bernama
Unggahan sumber 17 Oktober

Untuk apa

Membuat schema untuk detail_mutasi_stok. Lingkup master.

Jika diminta mengubah

up menerapkan perubahan dan down membalik schema menurut kode. Buat migration lanjutan untuk perubahan schema yang sudah dilepas.

Fungsi dan metode

Fungsi dan input atau hasilPenjelasan singkatBukti source
function up(): voidMenerapkan perubahan schema dan fungsi atau constraint yang ditulis pada migration.Lihat signature dan isi fungsi.
function down(): voidMembalik objek schema yang ditentukan migration. Dapat menghapus data dan tidak dipakai untuk latihan pada database bisnis.Lihat signature dan isi fungsi.
Kolom, relasi, dan indeks pada migration
BarisDefinisi asli
15$table->integer('id_mutasi_stok');
16$table->integer('id_produk')->index();
17$table->integer('jumlah');
19$table->primary(['id_mutasi_stok', 'id_produk']);
20$table->foreign('id_mutasi_stok')->references('id_mutasi_stok')->on('mutasi_stok')->onDelete('no action')->onUpdate('no action');
21$table->foreign('id_produk')->references('id_produk')->on('produk')->onDelete('no action')->onUpdate('no action');
Constraint dan kontrol SQL
  • CHECK (jumlah > 0)'
Buka kode asli bernomor baris

Kode hanya ditampilkan sebagai teks. Tidak dieksekusi oleh panduan. Nomor baris mengikuti sumber yang dibaca.

Identitas snapshot

SHA-256 84312fca2722212bff019c4b872dd897b526c3e2498a60b73cac74b087313878

database/migrations/master/2026_09_22_095700_restrict_pengguna_roles.php28 baris · 2 fungsi bernama
Unggahan sumber 17 Oktober

Untuk apa

Membatasi schema untuk pengguna. Lingkup master.

Jika diminta mengubah

up menerapkan perubahan dan down membalik schema menurut kode. Buat migration lanjutan untuk perubahan schema yang sudah dilepas.

Fungsi dan metode

Fungsi dan input atau hasilPenjelasan singkatBukti source
function up(): voidMenerapkan perubahan schema dan fungsi atau constraint yang ditulis pada migration.Tabel pengguna
function down(): voidMembalik objek schema yang ditentukan migration. Dapat menghapus data dan tidak dipakai untuk latihan pada database bisnis.Lihat signature dan isi fungsi.
Constraint dan kontrol SQL
  • CHECK (role IN ('owner', 'kasir', 'teknisi'))");
Buka kode asli bernomor baris

Kode hanya ditampilkan sebagai teks. Tidak dieksekusi oleh panduan. Nomor baris mengikuti sumber yang dibaca.

Identitas snapshot

SHA-256 4bc1068e74478dabfd8bef4332bf02bfccc0481a2e9654675ddea98e5eab8698

database/migrations/master/2026_09_25_160500_restore_admin_role.php26 baris · 2 fungsi bernama
Unggahan sumber 17 Oktober

Untuk apa

Memulihkan schema untuk pengguna. Lingkup master.

Jika diminta mengubah

up menerapkan perubahan dan down membalik schema menurut kode. Buat migration lanjutan untuk perubahan schema yang sudah dilepas.

Fungsi dan metode

Fungsi dan input atau hasilPenjelasan singkatBukti source
function up(): voidMenerapkan perubahan schema dan fungsi atau constraint yang ditulis pada migration.Lihat signature dan isi fungsi.
function down(): voidMembalik objek schema yang ditentukan migration. Dapat menghapus data dan tidak dipakai untuk latihan pada database bisnis.Tabel pengguna
Constraint dan kontrol SQL
  • CHECK (role IN ('owner', 'admin', 'kasir', 'teknisi'))");
  • CHECK (role IN ('owner', 'kasir', 'teknisi'))");
Buka kode asli bernomor baris

Kode hanya ditampilkan sebagai teks. Tidak dieksekusi oleh panduan. Nomor baris mengikuti sumber yang dibaca.

Identitas snapshot

SHA-256 c8bca02638bf2f93adcdaaf20e93b8e502ff2345a662cb934d0ce05d9e4d9010

database/migrations/master/2026_09_29_110100_create_user_rights_audit_table.php52 baris · 2 fungsi bernama
Unggahan sumber 17 Oktober

Untuk apa

Membuat audit hak pengguna pada master dengan perlindungan histori yang ditentukan SQL migration. Lingkup master.

Jika diminta mengubah

up menerapkan perubahan dan down membalik schema menurut kode. Buat migration lanjutan untuk perubahan schema yang sudah dilepas.

Fungsi dan metode

Fungsi dan input atau hasilPenjelasan singkatBukti source
function up(): voidMenerapkan perubahan schema dan fungsi atau constraint yang ditulis pada migration.Lihat signature dan isi fungsi.
function down(): voidMembalik objek schema yang ditentukan migration. Dapat menghapus data dan tidak dipakai untuk latihan pada database bisnis.Lihat signature dan isi fungsi.
Kolom, relasi, dan indeks pada migration
BarisDefinisi asli
15$table->bigIncrements('id_audit_hak');
16$table->unsignedInteger('id_actor');
17$table->unsignedInteger('id_subject');
18$table->string('aksi', 40);
19$table->integer('id_cabang_lama')->nullable();
20$table->integer('id_cabang_baru')->nullable();
21$table->jsonb('data_lama')->nullable();
22$table->jsonb('data_baru')->nullable();
23$table->ipAddress('ip_address')->nullable();
24$table->string('user_agent', 500)->nullable();
25$table->timestampTz('created_at')->useCurrent();
26$table->index(['id_subject', 'created_at']);
27$table->index(['id_actor', 'created_at']);
28$table->foreign('id_actor')->references('id_pengguna')->on('pengguna');
29$table->foreign('id_subject')->references('id_pengguna')->on('pengguna');
Constraint dan kontrol SQL
  • CREATE FUNCTION rajawali_reject_rights_audit_mutation() RETURNS trigger
  • CREATE TRIGGER audit_hak_pengguna_append_only
Buka kode asli bernomor baris

Kode hanya ditampilkan sebagai teks. Tidak dieksekusi oleh panduan. Nomor baris mengikuti sumber yang dibaca.

Identitas snapshot

SHA-256 deda1009533ffd42177a2a001da1b2c492c088128bf8040dd012b8debb695a16

database/migrations/master/2026_10_06_220000_add_deskripsi_to_produk_table.php24 baris · 2 fungsi bernama
Unggahan sumber 17 Oktober

Untuk apa

Menambah schema untuk produk. Lingkup master.

Jika diminta mengubah

up menerapkan perubahan dan down membalik schema menurut kode. Buat migration lanjutan untuk perubahan schema yang sudah dilepas.

Fungsi dan metode

Fungsi dan input atau hasilPenjelasan singkatBukti source
function up(): voidMenerapkan perubahan schema dan fungsi atau constraint yang ditulis pada migration.Tabel produk
function down(): voidMembalik objek schema yang ditentukan migration. Dapat menghapus data dan tidak dipakai untuk latihan pada database bisnis.Tabel produk
Kolom, relasi, dan indeks pada migration
BarisDefinisi asli
14$table->text('deskripsi')->nullable();
21$table->dropColumn('deskripsi');
Buka kode asli bernomor baris

Kode hanya ditampilkan sebagai teks. Tidak dieksekusi oleh panduan. Nomor baris mengikuti sumber yang dibaca.

Identitas snapshot

SHA-256 1efd7e4dcee34b3e4aca11bb3e229faf355c0b8eaf3743fa732deb19b3b6a3c1

database/migrations/master/2026_10_14_073100_create_payment_settings_tables.php58 baris · 2 fungsi bernama
Unggahan sumber 17 Oktober

Untuk apa

Membuat konfigurasi pembayaran singleton dan audit pengaturannya. Lingkup master.

Jika diminta mengubah

up menerapkan perubahan dan down membalik schema menurut kode. Buat migration lanjutan untuk perubahan schema yang sudah dilepas.

Fungsi dan metode

Fungsi dan input atau hasilPenjelasan singkatBukti source
function up(): voidMenerapkan perubahan schema dan fungsi atau constraint yang ditulis pada migration.Lihat signature dan isi fungsi.
function down(): voidMembalik objek schema yang ditentukan migration. Dapat menghapus data dan tidak dipakai untuk latihan pada database bisnis.Lihat signature dan isi fungsi.
Kolom, relasi, dan indeks pada migration
BarisDefinisi asli
14$table->unsignedSmallInteger('id')->primary();
15$table->string('bank_name', 100)->nullable();
16$table->string('bank_account', 30)->nullable();
17$table->string('bank_beneficiary', 120)->nullable();
18$table->boolean('bank_enabled')->default(false);
19$table->string('qris_file', 48)->nullable();
20$table->boolean('qris_enabled')->default(false);
21$table->unsignedBigInteger('updated_by')->nullable();
22$table->timestampsTz();
25$table->bigIncrements('id');
26$table->unsignedBigInteger('actor_id');
27$table->jsonb('data_lama');
28$table->jsonb('data_baru');
29$table->string('ip_address', 45)->nullable();
30$table->string('user_agent', 500)->nullable();
31$table->timestampTz('created_at');
Constraint dan kontrol SQL
  • grant only the operations required by the master runtime.
  • grants to the provisioning superuser when MASTER_DB_*
  • GRANT SELECT, INSERT, UPDATE ON TABLE payment_settings TO '.$role);
  • GRANT SELECT, INSERT ON TABLE payment_settings_audit TO '.$role);
  • GRANT USAGE, SELECT ON SEQUENCE payment_settings_audit_id_seq TO '.$role);
Buka kode asli bernomor baris

Kode hanya ditampilkan sebagai teks. Tidak dieksekusi oleh panduan. Nomor baris mengikuti sumber yang dibaca.

Identitas snapshot

SHA-256 5c5bcf5346bbfab3186d73dc03dab1d3fa66ad4f39bb59422eb005c8d33cf19d

database/migrations/master/2026_10_14_120000_create_branch_provisioning.php45 baris · 2 fungsi bernama
Unggahan sumber 17 Oktober

Untuk apa

Membuat tenant_instances dan privilege runtime master untuk permintaan provisioning. Lingkup master.

Jika diminta mengubah

up menerapkan perubahan dan down membalik schema menurut kode. Buat migration lanjutan untuk perubahan schema yang sudah dilepas.

Fungsi dan metode

Fungsi dan input atau hasilPenjelasan singkatBukti source
function up(): voidMenerapkan perubahan schema dan fungsi atau constraint yang ditulis pada migration.Lihat signature dan isi fungsi.
function down(): voidMembalik objek schema yang ditentukan migration. Dapat menghapus data dan tidak dipakai untuk latihan pada database bisnis.Lihat signature dan isi fungsi.
Kolom, relasi, dan indeks pada migration
BarisDefinisi asli
14$table->unsignedInteger('id_cabang')->primary();
15$table->string('tenant_key', 50)->unique();
16$table->string('database_name', 63)->unique();
17$table->string('database_user', 63)->unique();
18$table->text('credential_ciphertext')->nullable();
19$table->string('status', 20)->default('pending');
20$table->unsignedSmallInteger('attempts')->default(0);
21$table->string('last_error', 80)->nullable();
22$table->timestampTz('created_at')->useCurrent();
23$table->timestampTz('updated_at')->useCurrent();
24$table->foreign('id_cabang')->references('id_cabang')->on('cabang')->restrictOnDelete();
Constraint dan kontrol SQL
  • GRANT SELECT, INSERT, UPDATE ON TABLE tenant_instances TO "'.$runtime.'"');
Buka kode asli bernomor baris

Kode hanya ditampilkan sebagai teks. Tidak dieksekusi oleh panduan. Nomor baris mengikuti sumber yang dibaca.

Identitas snapshot

SHA-256 4bd232f844ff84c3ff394f473011a373a8fe2580ba37a3a5373662c5af2632e2

database/migrations/master/2026_10_14_150000_add_online_order_control_to_branches.php25 baris · 2 fungsi bernama
Unggahan sumber 17 Oktober

Untuk apa

Menambah schema untuk cabang. Lingkup master.

Jika diminta mengubah

up menerapkan perubahan dan down membalik schema menurut kode. Buat migration lanjutan untuk perubahan schema yang sudah dilepas.

Fungsi dan metode

Fungsi dan input atau hasilPenjelasan singkatBukti source
function up(): voidMenerapkan perubahan schema dan fungsi atau constraint yang ditulis pada migration.Tabel cabang
function down(): voidMembalik objek schema yang ditentukan migration. Dapat menghapus data dan tidak dipakai untuk latihan pada database bisnis.Tabel cabang
Kolom, relasi, dan indeks pada migration
BarisDefinisi asli
15$table->boolean('online_order_enabled')->default(true);
22$table->dropColumn('online_order_enabled');
Buka kode asli bernomor baris

Kode hanya ditampilkan sebagai teks. Tidak dieksekusi oleh panduan. Nomor baris mengikuti sumber yang dibaca.

Identitas snapshot

SHA-256 bf86682f3451bdf8d6ffaab6398ec1b7ad03e59a58d916551a393df0974bb724

database/migrations/master/2026_10_14_151000_create_employee_invitations.php38 baris · 2 fungsi bernama
Unggahan sumber 17 Oktober

Untuk apa

Membuat schema untuk employee_invitations. Lingkup master.

Jika diminta mengubah

up menerapkan perubahan dan down membalik schema menurut kode. Buat migration lanjutan untuk perubahan schema yang sudah dilepas.

Fungsi dan metode

Fungsi dan input atau hasilPenjelasan singkatBukti source
function up(): voidMenerapkan perubahan schema dan fungsi atau constraint yang ditulis pada migration.Lihat signature dan isi fungsi.
function down(): voidMembalik objek schema yang ditentukan migration. Dapat menghapus data dan tidak dipakai untuk latihan pada database bisnis.Lihat signature dan isi fungsi.
Kolom, relasi, dan indeks pada migration
BarisDefinisi asli
15$table->unsignedInteger('id_pengguna')->primary();
16$table->char('token_hash', 64)->unique();
17$table->timestampTz('expires_at');
18$table->timestampsTz();
19$table->foreign('id_pengguna')->references('id_pengguna')->on('pengguna')->cascadeOnDelete();
Constraint dan kontrol SQL
  • GRANT SELECT, INSERT, UPDATE, DELETE ON TABLE employee_invitations TO "'.$runtime.'"');
Buka kode asli bernomor baris

Kode hanya ditampilkan sebagai teks. Tidak dieksekusi oleh panduan. Nomor baris mengikuti sumber yang dibaca.

Identitas snapshot

SHA-256 9fca3842d934286dc37bbc78cfcabddd219eae6250b6fc25f65e82538ee73c16

database/migrations/tenant/2026_09_21_152518_create_pelanggan_table.php26 baris · 2 fungsi bernama
Unggahan sumber 17 Oktober

Untuk apa

Membuat schema untuk pelanggan. Lingkup tenant yang dipilih pada koneksi migrasi.

Jika diminta mengubah

up menerapkan perubahan dan down membalik schema menurut kode. Buat migration lanjutan untuk perubahan schema yang sudah dilepas.

Fungsi dan metode

Fungsi dan input atau hasilPenjelasan singkatBukti source
function up(): voidMenerapkan perubahan schema dan fungsi atau constraint yang ditulis pada migration.Lihat signature dan isi fungsi.
function down(): voidMembalik objek schema yang ditentukan migration. Dapat menghapus data dan tidak dipakai untuk latihan pada database bisnis.Lihat signature dan isi fungsi.
Kolom, relasi, dan indeks pada migration
BarisDefinisi asli
12$table->increments('id_pelanggan');
13$table->string('nama_pelanggan', 100);
14$table->string('no_wa', 20)->nullable();
15$table->string('email', 100)->nullable();
16$table->text('alamat')->nullable();
17$table->timestampTz('created_at')->useCurrent();
18$table->timestampTz('updated_at')->useCurrent();
Buka kode asli bernomor baris

Kode hanya ditampilkan sebagai teks. Tidak dieksekusi oleh panduan. Nomor baris mengikuti sumber yang dibaca.

Identitas snapshot

SHA-256 5d4e488a72c81da72849cce6119ed90261522983e657facffad669389efd6d26

database/migrations/tenant/2026_09_21_152521_create_produk_cabang_table.php34 baris · 2 fungsi bernama
Unggahan sumber 17 Oktober

Untuk apa

Membuat schema untuk produk_cabang. Lingkup tenant yang dipilih pada koneksi migrasi.

Jika diminta mengubah

up menerapkan perubahan dan down membalik schema menurut kode. Buat migration lanjutan untuk perubahan schema yang sudah dilepas.

Fungsi dan metode

Fungsi dan input atau hasilPenjelasan singkatBukti source
function up(): voidMenerapkan perubahan schema dan fungsi atau constraint yang ditulis pada migration.Lihat signature dan isi fungsi.
function down(): voidMembalik objek schema yang ditentukan migration. Dapat menghapus data dan tidak dipakai untuk latihan pada database bisnis.Lihat signature dan isi fungsi.
Kolom, relasi, dan indeks pada migration
BarisDefinisi asli
13$table->integer('id_produk');
14$table->integer('id_cabang');
15$table->integer('stok_tersedia')->default(0);
16$table->integer('stok_karantina')->default(0);
17$table->timestampTz('updated_at')->useCurrent();
19$table->primary(['id_produk', 'id_cabang']);
20$table->index('id_cabang');
Constraint dan kontrol SQL
  • CHECK (stok_tersedia >= 0),
  • CHECK (stok_karantina >= 0)
Buka kode asli bernomor baris

Kode hanya ditampilkan sebagai teks. Tidak dieksekusi oleh panduan. Nomor baris mengikuti sumber yang dibaca.

Identitas snapshot

SHA-256 114521eb8ce537bdd4010e40c23dade2f2f8fd9899d500432deaf346f0650276

database/migrations/tenant/2026_09_21_152524_create_pembelian_table.php33 baris · 2 fungsi bernama
Unggahan sumber 17 Oktober

Untuk apa

Membuat schema untuk pembelian. Lingkup tenant yang dipilih pada koneksi migrasi.

Jika diminta mengubah

up menerapkan perubahan dan down membalik schema menurut kode. Buat migration lanjutan untuk perubahan schema yang sudah dilepas.

Fungsi dan metode

Fungsi dan input atau hasilPenjelasan singkatBukti source
function up(): voidMenerapkan perubahan schema dan fungsi atau constraint yang ditulis pada migration.Lihat signature dan isi fungsi.
function down(): voidMembalik objek schema yang ditentukan migration. Dapat menghapus data dan tidak dipakai untuk latihan pada database bisnis.Lihat signature dan isi fungsi.
Kolom, relasi, dan indeks pada migration
BarisDefinisi asli
12$table->increments('id_pembelian');
13$table->integer('id_supplier');
14$table->integer('id_cabang');
15$table->integer('id_pengguna');
16$table->string('nomor_pembelian', 50);
17$table->timestampTz('tanggal_pembelian')->useCurrent();
18$table->string('status_pembelian', 20)->default('draft');
19$table->timestampTz('created_at')->useCurrent();
20$table->timestampTz('updated_at')->useCurrent();
22$table->unique('nomor_pembelian');
23$table->index('id_supplier');
24$table->index('id_cabang');
25$table->index('id_pengguna');
Buka kode asli bernomor baris

Kode hanya ditampilkan sebagai teks. Tidak dieksekusi oleh panduan. Nomor baris mengikuti sumber yang dibaca.

Identitas snapshot

SHA-256 984403013fe51d83c18d0549c432eaf945a9aa6d0031b792cd125dcc0370f4a6

database/migrations/tenant/2026_09_21_152527_create_detail_pembelian_table.php34 baris · 2 fungsi bernama
Unggahan sumber 17 Oktober

Untuk apa

Membuat schema untuk detail_pembelian. Lingkup tenant yang dipilih pada koneksi migrasi.

Jika diminta mengubah

up menerapkan perubahan dan down membalik schema menurut kode. Buat migration lanjutan untuk perubahan schema yang sudah dilepas.

Fungsi dan metode

Fungsi dan input atau hasilPenjelasan singkatBukti source
function up(): voidMenerapkan perubahan schema dan fungsi atau constraint yang ditulis pada migration.Lihat signature dan isi fungsi.
function down(): voidMembalik objek schema yang ditentukan migration. Dapat menghapus data dan tidak dipakai untuk latihan pada database bisnis.Lihat signature dan isi fungsi.
Kolom, relasi, dan indeks pada migration
BarisDefinisi asli
13$table->integer('id_pembelian');
14$table->integer('id_produk');
15$table->integer('jumlah');
16$table->bigInteger('harga_beli');
18$table->primary(['id_pembelian', 'id_produk']);
19$table->index('id_produk');
20$table->foreign('id_pembelian')->references('id_pembelian')->on('pembelian')->onDelete('no action')->onUpdate('no action');
Constraint dan kontrol SQL
  • CHECK (jumlah > 0),
  • CHECK (harga_beli >= 0)
Buka kode asli bernomor baris

Kode hanya ditampilkan sebagai teks. Tidak dieksekusi oleh panduan. Nomor baris mengikuti sumber yang dibaca.

Identitas snapshot

SHA-256 2ef0aedc936306635556b775a5cbb34b49b2ffd863ae9ea56232524a065f389a

database/migrations/tenant/2026_09_21_152530_create_penjualan_table.php54 baris · 2 fungsi bernama
Unggahan sumber 17 Oktober

Untuk apa

Membuat schema untuk penjualan. Lingkup tenant yang dipilih pada koneksi migrasi.

Jika diminta mengubah

up menerapkan perubahan dan down membalik schema menurut kode. Buat migration lanjutan untuk perubahan schema yang sudah dilepas.

Fungsi dan metode

Fungsi dan input atau hasilPenjelasan singkatBukti source
function up(): voidMenerapkan perubahan schema dan fungsi atau constraint yang ditulis pada migration.Lihat signature dan isi fungsi.
function down(): voidMembalik objek schema yang ditentukan migration. Dapat menghapus data dan tidak dipakai untuk latihan pada database bisnis.Lihat signature dan isi fungsi.
Kolom, relasi, dan indeks pada migration
BarisDefinisi asli
13$table->increments('id_penjualan');
14$table->integer('id_cabang');
15$table->integer('id_pelanggan')->nullable();
16$table->integer('id_pengguna');
17$table->string('nomor_nota', 50);
18$table->string('kanal_penjualan', 20)->default('OFFLINE');
19$table->timestampTz('tanggal_penjualan')->useCurrent();
20$table->string('metode_pembayaran', 30);
21$table->string('status_pembayaran', 20)->default('belum_bayar');
22$table->bigInteger('jumlah_bayar')->default(0);
23$table->bigInteger('kembalian')->default(0);
24$table->string('bukti_pembayaran', 255)->nullable();
25$table->string('status_penjualan', 20)->default('draft');
26$table->string('status_approval', 20)->default('tidak_perlu');
27$table->integer('approved_by')->nullable();
28$table->timestampTz('approved_at')->nullable();
29$table->string('approval_token_hash', 255)->nullable();
30$table->timestampTz('approval_expires_at')->nullable();
31$table->timestampTz('created_at')->useCurrent();
32$table->timestampTz('updated_at')->useCurrent();
34$table->unique('nomor_nota');
35$table->index('id_cabang');
36$table->index('id_pelanggan');
37$table->index('id_pengguna');
38$table->index('approved_by');
39$table->foreign('id_pelanggan')->references('id_pelanggan')->on('pelanggan')->onDelete('no action')->onUpdate('no action');
Constraint dan kontrol SQL
  • CHECK (jumlah_bayar >= 0),
  • CHECK (kembalian >= 0),
  • CHECK (approved_by IS NULL OR approved_by <> id_pengguna)
Buka kode asli bernomor baris

Kode hanya ditampilkan sebagai teks. Tidak dieksekusi oleh panduan. Nomor baris mengikuti sumber yang dibaca.

Identitas snapshot

SHA-256 d0748961ca1275fdf328bab5c9ee7296e53871892823ab4343c71a24a7da2505

database/migrations/tenant/2026_09_21_152532_create_detail_penjualan_table.php35 baris · 2 fungsi bernama
Unggahan sumber 17 Oktober

Untuk apa

Membuat schema untuk detail_penjualan. Lingkup tenant yang dipilih pada koneksi migrasi.

Jika diminta mengubah

up menerapkan perubahan dan down membalik schema menurut kode. Buat migration lanjutan untuk perubahan schema yang sudah dilepas.

Fungsi dan metode

Fungsi dan input atau hasilPenjelasan singkatBukti source
function up(): voidMenerapkan perubahan schema dan fungsi atau constraint yang ditulis pada migration.Lihat signature dan isi fungsi.
function down(): voidMembalik objek schema yang ditentukan migration. Dapat menghapus data dan tidak dipakai untuk latihan pada database bisnis.Lihat signature dan isi fungsi.
Kolom, relasi, dan indeks pada migration
BarisDefinisi asli
13$table->integer('id_penjualan');
14$table->integer('id_produk');
15$table->integer('jumlah');
16$table->bigInteger('harga_transaksi');
17$table->date('tanggal_akhir_garansi')->nullable();
19$table->primary(['id_penjualan', 'id_produk']);
20$table->index('id_produk');
21$table->foreign('id_penjualan')->references('id_penjualan')->on('penjualan')->onDelete('no action')->onUpdate('no action');
Constraint dan kontrol SQL
  • CHECK (jumlah > 0),
  • CHECK (harga_transaksi >= 0)
Buka kode asli bernomor baris

Kode hanya ditampilkan sebagai teks. Tidak dieksekusi oleh panduan. Nomor baris mengikuti sumber yang dibaca.

Identitas snapshot

SHA-256 da1f307bde7a9aa4fca0a93eced3c37eb7793eec9cd2c18a58d5bd0d0e64bee4

database/migrations/tenant/2026_09_21_152535_create_pengiriman_table.php31 baris · 2 fungsi bernama
Unggahan sumber 17 Oktober

Untuk apa

Membuat schema untuk pengiriman. Lingkup tenant yang dipilih pada koneksi migrasi.

Jika diminta mengubah

up menerapkan perubahan dan down membalik schema menurut kode. Buat migration lanjutan untuk perubahan schema yang sudah dilepas.

Fungsi dan metode

Fungsi dan input atau hasilPenjelasan singkatBukti source
function up(): voidMenerapkan perubahan schema dan fungsi atau constraint yang ditulis pada migration.Lihat signature dan isi fungsi.
function down(): voidMembalik objek schema yang ditentukan migration. Dapat menghapus data dan tidak dipakai untuk latihan pada database bisnis.Lihat signature dan isi fungsi.
Kolom, relasi, dan indeks pada migration
BarisDefinisi asli
12$table->increments('id_pengiriman');
13$table->integer('id_penjualan');
14$table->string('nama_penerima', 100);
15$table->text('alamat_pengiriman');
16$table->string('kurir', 50)->nullable();
17$table->string('nomor_resi', 100)->nullable();
18$table->string('status_pengiriman', 20)->default('belum_dikirim');
19$table->timestampTz('tanggal_kirim')->nullable();
20$table->timestampTz('tanggal_terima')->nullable();
22$table->index('id_penjualan');
23$table->foreign('id_penjualan')->references('id_penjualan')->on('penjualan')->onDelete('no action')->onUpdate('no action');
Buka kode asli bernomor baris

Kode hanya ditampilkan sebagai teks. Tidak dieksekusi oleh panduan. Nomor baris mengikuti sumber yang dibaca.

Identitas snapshot

SHA-256 ea7af7c21dbb25a880d065affdee6c23db54ba3ef6cf32eb0b029c10a397fe3d

database/migrations/tenant/2026_09_21_152538_create_servis_table.php53 baris · 2 fungsi bernama
Unggahan sumber 17 Oktober

Untuk apa

Membuat schema untuk servis. Lingkup tenant yang dipilih pada koneksi migrasi.

Jika diminta mengubah

up menerapkan perubahan dan down membalik schema menurut kode. Buat migration lanjutan untuk perubahan schema yang sudah dilepas.

Fungsi dan metode

Fungsi dan input atau hasilPenjelasan singkatBukti source
function up(): voidMenerapkan perubahan schema dan fungsi atau constraint yang ditulis pada migration.Lihat signature dan isi fungsi.
function down(): voidMembalik objek schema yang ditentukan migration. Dapat menghapus data dan tidak dipakai untuk latihan pada database bisnis.Lihat signature dan isi fungsi.
Kolom, relasi, dan indeks pada migration
BarisDefinisi asli
13$table->increments('id_servis');
14$table->integer('id_pelanggan');
15$table->integer('id_cabang');
16$table->integer('diterima_oleh');
17$table->integer('id_teknisi')->nullable();
18$table->string('nomor_servis', 50);
19$table->string('jenis_unit', 50);
20$table->string('merek_unit', 50);
21$table->string('tipe_unit', 100);
22$table->text('keluhan');
23$table->text('kondisi_awal');
24$table->text('kelengkapan')->nullable();
25$table->string('status_servis', 30);
26$table->bigInteger('biaya_jasa')->nullable();
27$table->smallInteger('garansi_hari')->nullable();
28$table->timestampTz('tanggal_masuk');
29$table->timestampTz('tanggal_selesai')->nullable();
30$table->timestampTz('tanggal_diambil')->nullable();
31$table->timestampTz('created_at');
32$table->timestampTz('updated_at');
34$table->unique('nomor_servis');
35$table->index('id_pelanggan');
36$table->index('id_cabang');
37$table->index('diterima_oleh');
38$table->index('id_teknisi');
39$table->foreign('id_pelanggan')->references('id_pelanggan')->on('pelanggan')->onDelete('no action')->onUpdate('no action');
Constraint dan kontrol SQL
  • CHECK (biaya_jasa IS NULL OR biaya_jasa >= 0),
  • CHECK (garansi_hari IS NULL OR garansi_hari >= 0)
Buka kode asli bernomor baris

Kode hanya ditampilkan sebagai teks. Tidak dieksekusi oleh panduan. Nomor baris mengikuti sumber yang dibaca.

Identitas snapshot

SHA-256 410ae59179ebd9b8b21536f67a5234f7a3fa5b81e4a1f2a05ad7e152c363360b

database/migrations/tenant/2026_09_21_152541_create_sparepart_servis_table.php35 baris · 2 fungsi bernama
Unggahan sumber 17 Oktober

Untuk apa

Membuat schema untuk sparepart_servis. Lingkup tenant yang dipilih pada koneksi migrasi.

Jika diminta mengubah

up menerapkan perubahan dan down membalik schema menurut kode. Buat migration lanjutan untuk perubahan schema yang sudah dilepas.

Fungsi dan metode

Fungsi dan input atau hasilPenjelasan singkatBukti source
function up(): voidMenerapkan perubahan schema dan fungsi atau constraint yang ditulis pada migration.Lihat signature dan isi fungsi.
function down(): voidMembalik objek schema yang ditentukan migration. Dapat menghapus data dan tidak dipakai untuk latihan pada database bisnis.Lihat signature dan isi fungsi.
Kolom, relasi, dan indeks pada migration
BarisDefinisi asli
13$table->integer('id_servis');
14$table->integer('id_produk');
15$table->integer('jumlah');
16$table->timestampTz('created_at');
17$table->bigInteger('harga_transaksi')->nullable();
19$table->primary(['id_servis', 'id_produk']);
20$table->index('id_produk');
21$table->foreign('id_servis')->references('id_servis')->on('servis')->onDelete('no action')->onUpdate('no action');
Constraint dan kontrol SQL
  • CHECK (jumlah > 0),
  • CHECK (harga_transaksi IS NULL OR harga_transaksi >= 0)
Buka kode asli bernomor baris

Kode hanya ditampilkan sebagai teks. Tidak dieksekusi oleh panduan. Nomor baris mengikuti sumber yang dibaca.

Identitas snapshot

SHA-256 9c0abc41b9683ac59a58918fb6616e0ee5257a025cb607ce3c7e2de0b6a9498a

database/migrations/tenant/2026_09_21_152544_create_log_servis_table.php30 baris · 2 fungsi bernama
Unggahan sumber 17 Oktober

Untuk apa

Membuat schema untuk log_servis. Lingkup tenant yang dipilih pada koneksi migrasi.

Jika diminta mengubah

up menerapkan perubahan dan down membalik schema menurut kode. Buat migration lanjutan untuk perubahan schema yang sudah dilepas.

Fungsi dan metode

Fungsi dan input atau hasilPenjelasan singkatBukti source
function up(): voidMenerapkan perubahan schema dan fungsi atau constraint yang ditulis pada migration.Lihat signature dan isi fungsi.
function down(): voidMembalik objek schema yang ditentukan migration. Dapat menghapus data dan tidak dipakai untuk latihan pada database bisnis.Lihat signature dan isi fungsi.
Kolom, relasi, dan indeks pada migration
BarisDefinisi asli
12$table->increments('id_log_servis');
13$table->integer('id_servis');
14$table->integer('id_pengguna');
15$table->string('status_servis', 30);
16$table->text('catatan')->nullable();
17$table->timestampTz('created_at');
18$table->string('bukti_foto', 255)->nullable();
20$table->index('id_servis');
21$table->index('id_pengguna');
22$table->foreign('id_servis')->references('id_servis')->on('servis')->onDelete('no action')->onUpdate('no action');
Buka kode asli bernomor baris

Kode hanya ditampilkan sebagai teks. Tidak dieksekusi oleh panduan. Nomor baris mengikuti sumber yang dibaca.

Identitas snapshot

SHA-256 6bfbcbfed90ca4f05a82102d474f4ee7ba4f60adbd4dfbd955705e87796dadae

database/migrations/tenant/2026_09_21_152546_create_klaim_garansi_table.php42 baris · 2 fungsi bernama
Unggahan sumber 17 Oktober

Untuk apa

Membuat schema untuk klaim_garansi. Lingkup tenant yang dipilih pada koneksi migrasi.

Jika diminta mengubah

up menerapkan perubahan dan down membalik schema menurut kode. Buat migration lanjutan untuk perubahan schema yang sudah dilepas.

Fungsi dan metode

Fungsi dan input atau hasilPenjelasan singkatBukti source
function up(): voidMenerapkan perubahan schema dan fungsi atau constraint yang ditulis pada migration.Lihat signature dan isi fungsi.
function down(): voidMembalik objek schema yang ditentukan migration. Dapat menghapus data dan tidak dipakai untuk latihan pada database bisnis.Lihat signature dan isi fungsi.
Kolom, relasi, dan indeks pada migration
BarisDefinisi asli
13$table->increments('id_klaim_garansi');
14$table->integer('id_servis')->nullable();
15$table->integer('id_pengguna');
16$table->timestampTz('tanggal_klaim');
17$table->text('keluhan_klaim');
18$table->text('hasil_pemeriksaan')->nullable();
19$table->string('status_klaim', 20);
20$table->timestampTz('created_at');
21$table->integer('id_penjualan')->nullable();
22$table->integer('id_produk')->nullable();
24$table->index('id_servis');
25$table->index('id_pengguna');
26$table->index(['id_penjualan', 'id_produk']);
27$table->index('id_produk');
28$table->foreign('id_servis')->references('id_servis')->on('servis')->onDelete('no action')->onUpdate('no action');
29$table->foreign(['id_penjualan', 'id_produk'])->references(['id_penjualan', 'id_produk'])->on('detail_penjualan')->onDelete('no action')->onUpdate('no action');
Constraint dan kontrol SQL
  • CHECK ((id_servis IS NOT NULL AND id_penjualan IS NULL AND id_produk IS NULL) OR (id_servis IS NULL AND id_penjualan IS NOT NULL AND id_produk IS NOT NULL))
Buka kode asli bernomor baris

Kode hanya ditampilkan sebagai teks. Tidak dieksekusi oleh panduan. Nomor baris mengikuti sumber yang dibaca.

Identitas snapshot

SHA-256 62b284dc18734f31ed2dc2a76d00569f98f81c2ed2e2ebb185ed6f07ed69ebed

database/migrations/tenant/2026_09_21_152549_create_audit_log_table.php34 baris · 2 fungsi bernama
Unggahan sumber 17 Oktober

Untuk apa

Membuat schema untuk audit_log. Lingkup tenant yang dipilih pada koneksi migrasi.

Jika diminta mengubah

up menerapkan perubahan dan down membalik schema menurut kode. Buat migration lanjutan untuk perubahan schema yang sudah dilepas.

Fungsi dan metode

Fungsi dan input atau hasilPenjelasan singkatBukti source
function up(): voidMenerapkan perubahan schema dan fungsi atau constraint yang ditulis pada migration.Lihat signature dan isi fungsi.
function down(): voidMembalik objek schema yang ditentukan migration. Dapat menghapus data dan tidak dipakai untuk latihan pada database bisnis.Lihat signature dan isi fungsi.
Kolom, relasi, dan indeks pada migration
BarisDefinisi asli
12$table->increments('id_audit_log');
13$table->integer('id_pengguna')->nullable();
14$table->string('nama_tabel', 50);
15$table->integer('id_data');
16$table->string('aksi', 30);
17$table->text('data_lama')->nullable();
18$table->text('data_baru')->nullable();
19$table->string('ip_address', 45)->nullable();
20$table->text('user_agent')->nullable();
21$table->timestampTz('created_at');
23$table->index('id_pengguna');
24$table->index('nama_tabel');
25$table->index('created_at');
26$table->index(['nama_tabel', 'id_data']);
Buka kode asli bernomor baris

Kode hanya ditampilkan sebagai teks. Tidak dieksekusi oleh panduan. Nomor baris mengikuti sumber yang dibaca.

Identitas snapshot

SHA-256 12d44f6c474ed4570c12c1dc4d0bd264b291e18792534f89faa34232a86324f2

database/migrations/tenant/2026_09_22_203000_allow_guest_online_sales.php28 baris · 2 fungsi bernama
Unggahan sumber 17 Oktober

Untuk apa

Mengizinkan schema untuk penjualan. Lingkup tenant yang dipilih pada koneksi migrasi.

Jika diminta mengubah

up menerapkan perubahan dan down membalik schema menurut kode. Buat migration lanjutan untuk perubahan schema yang sudah dilepas.

Fungsi dan metode

Fungsi dan input atau hasilPenjelasan singkatBukti source
function up(): voidMenerapkan perubahan schema dan fungsi atau constraint yang ditulis pada migration.Lihat signature dan isi fungsi.
function down(): voidMembalik objek schema yang ditentukan migration. Dapat menghapus data dan tidak dipakai untuk latihan pada database bisnis.Lihat signature dan isi fungsi.
Constraint dan kontrol SQL
  • CHECK (kanal_penjualan = 'ONLINE' OR id_pengguna IS NOT NULL)
Buka kode asli bernomor baris

Kode hanya ditampilkan sebagai teks. Tidak dieksekusi oleh panduan. Nomor baris mengikuti sumber yang dibaca.

Identitas snapshot

SHA-256 063a35575245adfeeebcc68f5b9f20db961d442220ab643be3c0fd968f03e058

database/migrations/tenant/2026_09_28_150152_create_nota_instansi_table.php57 baris · 2 fungsi bernama
Unggahan sumber 17 Oktober

Untuk apa

Membuat schema untuk nota_instansi, histori_nota_instansi. Lingkup tenant yang dipilih pada koneksi migrasi.

Jika diminta mengubah

up menerapkan perubahan dan down membalik schema menurut kode. Buat migration lanjutan untuk perubahan schema yang sudah dilepas.

Fungsi dan metode

Fungsi dan input atau hasilPenjelasan singkatBukti source
function up(): voidMenerapkan perubahan schema dan fungsi atau constraint yang ditulis pada migration.Lihat signature dan isi fungsi.
function down(): voidMembalik objek schema yang ditentukan migration. Dapat menghapus data dan tidak dipakai untuk latihan pada database bisnis.Lihat signature dan isi fungsi.
Kolom, relasi, dan indeks pada migration
BarisDefinisi asli
13$table->increments('id_nota_instansi');
14$table->unsignedInteger('id_penjualan')->unique();
15$table->foreign('id_penjualan')->references('id_penjualan')->on('penjualan')->restrictOnDelete();
16$table->integer('id_cabang');
17$table->integer('id_pengguna');
18$table->integer('diubah_oleh');
19$table->integer('diajukan_oleh')->nullable();
20$table->integer('approved_by')->nullable();
21$table->string('nomor_nota_instansi', 50)->unique();
22$table->string('nama_instansi', 150);
23$table->text('alamat_instansi');
24$table->string('nama_kontak', 100);
25$table->string('nomor_po', 100)->nullable();
26$table->text('catatan')->nullable();
27$table->string('status_nota', 20)->default('draft');
28$table->bigInteger('total');
29$table->integer('versi')->default(1);
30$table->string('approval_token_hash', 64)->nullable();
31$table->timestampTz('approval_expires_at')->nullable();
32$table->timestampTz('approved_at')->nullable();
33$table->timestampsTz();
34$table->index(['id_cabang', 'status_nota', 'created_at']);
38$table->bigIncrements('id_histori');
39$table->unsignedInteger('id_nota_instansi');
40$table->foreign('id_nota_instansi')->references('id_nota_instansi')->on('nota_instansi')->restrictOnDelete();
41$table->integer('id_pengguna');
42$table->string('aksi', 40);
43$table->string('status_nota', 20);
44$table->integer('versi');
45$table->text('catatan')->nullable();
46$table->jsonb('snapshot');
47$table->timestampTz('created_at');
48$table->unique(['id_nota_instansi', 'versi']);
Constraint dan kontrol SQL
  • CHECK (status_nota IN ('draft', 'diajukan', 'disetujui', 'ditolak', 'dibatalkan')), ADD CONSTRAINT nota_instansi_total_check CHECK (total >= 0), ADD CONSTRAINT nota_instansi_version_che
  • CHECK (versi > 0), ADD CONSTRAINT nota_instansi_sod_check CHECK (approved_by IS NULL OR (approved_by <> id_pengguna AND approved_by <> diubah_oleh AND diajukan_oleh IS NOT NULL AND appr
  • CHECK (status_nota NOT IN ('disetujui', 'ditolak') OR (approved_by IS NOT NULL AND approved_at IS NOT NULL)), ADD CONSTRAINT nota_instansi_pending_check CHECK (status_nota <> 'diajukan'
Buka kode asli bernomor baris

Kode hanya ditampilkan sebagai teks. Tidak dieksekusi oleh panduan. Nomor baris mengikuti sumber yang dibaca.

Identitas snapshot

SHA-256 62e78534818b4b7041f853f31079faa339c449a12550fa917f336d8ba30158f9

database/migrations/tenant/2026_09_28_150154_add_damaged_receipt_to_detail_pembelian_table.php26 baris · 2 fungsi bernama
Unggahan sumber 17 Oktober

Untuk apa

Menambah schema untuk detail_pembelian. Lingkup tenant yang dipilih pada koneksi migrasi.

Jika diminta mengubah

up menerapkan perubahan dan down membalik schema menurut kode. Buat migration lanjutan untuk perubahan schema yang sudah dilepas.

Fungsi dan metode

Fungsi dan input atau hasilPenjelasan singkatBukti source
function up(): voidMenerapkan perubahan schema dan fungsi atau constraint yang ditulis pada migration.Lihat signature dan isi fungsi.
function down(): voidMembalik objek schema yang ditentukan migration. Dapat menghapus data dan tidak dipakai untuk latihan pada database bisnis.Lihat signature dan isi fungsi.
Kolom, relasi, dan indeks pada migration
BarisDefinisi asli
13$table->integer('jumlah_rusak')->default(0);
14$table->text('catatan_kerusakan')->nullable();
23$table->dropColumn(['jumlah_rusak', 'catatan_kerusakan']);
Constraint dan kontrol SQL
  • CHECK (jumlah_rusak >= 0 AND jumlah_rusak <= jumlah), ADD CONSTRAINT detail_pembelian_damage_note_check CHECK (jumlah_rusak = 0 OR (catatan_kerusakan IS NOT NULL AND length(trim(catatan
Buka kode asli bernomor baris

Kode hanya ditampilkan sebagai teks. Tidak dieksekusi oleh panduan. Nomor baris mengikuti sumber yang dibaca.

Identitas snapshot

SHA-256 388a30e3037d7de100d477be6a996f0eb7c61dd8e160cefa1fbb566bbf36a0df

database/migrations/tenant/2026_09_28_200100_create_return_tables.php75 baris · 2 fungsi bernama
Unggahan sumber 17 Oktober

Untuk apa

Membuat tabel header dan detail retur pembelian serta penjualan dengan batas jumlah dan referensi. Lingkup tenant yang dipilih pada koneksi migrasi.

Jika diminta mengubah

up menerapkan perubahan dan down membalik schema menurut kode. Buat migration lanjutan untuk perubahan schema yang sudah dilepas.

Fungsi dan metode

Fungsi dan input atau hasilPenjelasan singkatBukti source
function up(): voidMenerapkan perubahan schema dan fungsi atau constraint yang ditulis pada migration.Lihat signature dan isi fungsi.
function down(): voidMembalik objek schema yang ditentukan migration. Dapat menghapus data dan tidak dipakai untuk latihan pada database bisnis.Lihat signature dan isi fungsi.
Kolom, relasi, dan indeks pada migration
BarisDefinisi asli
15$table->increments('id_retur_penjualan');
16$table->unsignedInteger('id_penjualan');
17$table->integer('id_cabang');
18$table->integer('id_pengguna');
19$table->string('nomor_retur', 50)->unique();
20$table->text('alasan_retur');
21$table->string('solusi_retur', 20);
22$table->bigInteger('total_refund')->default(0);
23$table->timestampTz('tanggal_retur')->useCurrent();
24$table->timestampTz('created_at')->useCurrent();
25$table->timestampTz('updated_at')->useCurrent();
26$table->index(['id_cabang', 'tanggal_retur']);
27$table->foreign('id_penjualan')->references('id_penjualan')->on('penjualan')->onDelete('no action');
30$table->unsignedInteger('id_retur_penjualan');
31$table->integer('id_produk');
32$table->integer('jumlah');
33$table->string('kondisi_barang', 10);
34$table->bigInteger('harga_transaksi');
35$table->primary(['id_retur_penjualan', 'id_produk']);
36$table->index('id_produk');
37$table->foreign('id_retur_penjualan')->references('id_retur_penjualan')->on('retur_penjualan')->onDelete('no action');
43$table->increments('id_retur_pembelian');
44$table->unsignedInteger('id_pembelian');
45$table->integer('id_cabang');
46$table->integer('id_pengguna');
47$table->string('nomor_retur', 50)->unique();
48$table->text('alasan_retur');
49$table->timestampTz('tanggal_retur')->useCurrent();
50$table->timestampTz('created_at')->useCurrent();
51$table->timestampTz('updated_at')->useCurrent();
52$table->index(['id_cabang', 'tanggal_retur']);
53$table->foreign('id_pembelian')->references('id_pembelian')->on('pembelian')->onDelete('no action');
56$table->unsignedInteger('id_retur_pembelian');
57$table->integer('id_produk');
58$table->integer('jumlah');
59$table->bigInteger('harga_beli');
60$table->primary(['id_retur_pembelian', 'id_produk']);
61$table->index('id_produk');
62$table->foreign('id_retur_pembelian')->references('id_retur_pembelian')->on('retur_pembelian')->onDelete('no action');
Constraint dan kontrol SQL
  • CHECK (solusi_retur IN ('refund', 'tukar_barang')), ADD CONSTRAINT retur_penjualan_refund_check CHECK (total_refund >= 0), ADD CONSTRAINT retur_penjualan_alasan_check CHECK (length(trim
  • CHECK (jumlah > 0), ADD CONSTRAINT detail_retur_penjualan_condition_check CHECK (kondisi_barang IN ('bagus', 'rusak')), ADD CONSTRAINT detail_retur_penjualan_price_check CHECK (harga_tr
  • CHECK (length(trim(alasan_retur)) > 0)');
  • CHECK (jumlah > 0), ADD CONSTRAINT detail_retur_pembelian_price_check CHECK (harga_beli >= 0)');
Buka kode asli bernomor baris

Kode hanya ditampilkan sebagai teks. Tidak dieksekusi oleh panduan. Nomor baris mengikuti sumber yang dibaca.

Identitas snapshot

SHA-256 1535a8429e62b1072f9d6368de3ea3c73de22b428afaeeec0065c67b4e6dd0c4

database/migrations/tenant/2026_09_29_031819_protect_audit_log_from_mutation.php30 baris · 2 fungsi bernama
Unggahan sumber 17 Oktober

Untuk apa

Memasang proteksi database terhadap perubahan dan penghapusan audit atau histori yang ditentukan migration. Lingkup tenant yang dipilih pada koneksi migrasi.

Jika diminta mengubah

up menerapkan perubahan dan down membalik schema menurut kode. Buat migration lanjutan untuk perubahan schema yang sudah dilepas.

Fungsi dan metode

Fungsi dan input atau hasilPenjelasan singkatBukti source
function up(): voidMenerapkan perubahan schema dan fungsi atau constraint yang ditulis pada migration.Lihat signature dan isi fungsi.
function down(): voidMembalik objek schema yang ditentukan migration. Dapat menghapus data dan tidak dipakai untuk latihan pada database bisnis.Lihat signature dan isi fungsi.
Constraint dan kontrol SQL
  • CREATE FUNCTION rajawali_reject_audit_mutation() RETURNS trigger
  • CREATE TRIGGER audit_log_append_only
Buka kode asli bernomor baris

Kode hanya ditampilkan sebagai teks. Tidak dieksekusi oleh panduan. Nomor baris mengikuti sumber yang dibaca.

Identitas snapshot

SHA-256 fcf60714cc4ba1e8199c6399baa3585b24995295aee9c7eaaa6507296eff7b76

database/migrations/tenant/2026_09_30_220000_create_certified_inventory_tp_functions.php261 baris · 2 fungsi bernama
Unggahan sumber 17 Oktober

Untuk apa

Menyediakan lima fungsi SQL persediaan dengan validasi jumlah, row lock, batas kapasitas dan snapshot hasil. Lingkup tenant yang dipilih pada koneksi migrasi.

Jika diminta mengubah

up menerapkan perubahan dan down membalik schema menurut kode. Buat migration lanjutan untuk perubahan schema yang sudah dilepas.

Fungsi dan metode

Fungsi dan input atau hasilPenjelasan singkatBukti source
function up(): voidMenerapkan perubahan schema dan fungsi atau constraint yang ditulis pada migration.Lihat signature dan isi fungsi.
function down(): voidMembalik objek schema yang ditentukan migration. Dapat menghapus data dan tidak dipakai untuk latihan pada database bisnis.Lihat signature dan isi fungsi.
Constraint dan kontrol SQL
  • CREATE OR REPLACE FUNCTION {$functionSchema}.rajawali_stock_receive(
  • CREATE OR REPLACE FUNCTION {$functionSchema}.rajawali_stock_issue(
  • CREATE OR REPLACE FUNCTION {$functionSchema}.rajawali_stock_sale_return(
  • CREATE OR REPLACE FUNCTION {$functionSchema}.rajawali_stock_purchase_return(
  • CREATE OR REPLACE FUNCTION {$functionSchema}.rajawali_stock_ensure(
Buka kode asli bernomor baris

Kode hanya ditampilkan sebagai teks. Tidak dieksekusi oleh panduan. Nomor baris mengikuti sumber yang dibaca.

Identitas snapshot

SHA-256 d8ca98bcaf6f5803a3fe48bbf248e2de8cc38e12d2c3571b85f3cf28e2c9f1a6

database/migrations/tenant/2026_10_02_220000_add_tracking_code_hash_to_penjualan_table.php23 baris · 2 fungsi bernama
Unggahan sumber 17 Oktober

Untuk apa

Menambah schema untuk penjualan. Lingkup tenant yang dipilih pada koneksi migrasi.

Jika diminta mengubah

up menerapkan perubahan dan down membalik schema menurut kode. Buat migration lanjutan untuk perubahan schema yang sudah dilepas.

Fungsi dan metode

Fungsi dan input atau hasilPenjelasan singkatBukti source
function up(): voidMenerapkan perubahan schema dan fungsi atau constraint yang ditulis pada migration.Lihat signature dan isi fungsi.
function down(): voidMembalik objek schema yang ditentukan migration. Dapat menghapus data dan tidak dipakai untuk latihan pada database bisnis.Lihat signature dan isi fungsi.
Kolom, relasi, dan indeks pada migration
BarisDefinisi asli
12$table->string('tracking_code_hash', 64)->nullable()->unique();
19$table->dropUnique(['tracking_code_hash']);
20$table->dropColumn('tracking_code_hash');
Buka kode asli bernomor baris

Kode hanya ditampilkan sebagai teks. Tidak dieksekusi oleh panduan. Nomor baris mengikuti sumber yang dibaca.

Identitas snapshot

SHA-256 8343bc5874852e1c89bc131a2c3c9d41036fd2993f4351df60a1f803de4b1c24

database/migrations/tenant/2026_10_06_221000_add_tracking_code_ciphertext_to_penjualan_table.php22 baris · 2 fungsi bernama
Unggahan sumber 17 Oktober

Untuk apa

Menambah schema untuk penjualan. Lingkup tenant yang dipilih pada koneksi migrasi.

Jika diminta mengubah

up menerapkan perubahan dan down membalik schema menurut kode. Buat migration lanjutan untuk perubahan schema yang sudah dilepas.

Fungsi dan metode

Fungsi dan input atau hasilPenjelasan singkatBukti source
function up(): voidMenerapkan perubahan schema dan fungsi atau constraint yang ditulis pada migration.Lihat signature dan isi fungsi.
function down(): voidMembalik objek schema yang ditentukan migration. Dapat menghapus data dan tidak dipakai untuk latihan pada database bisnis.Lihat signature dan isi fungsi.
Kolom, relasi, dan indeks pada migration
BarisDefinisi asli
12$table->text('tracking_code_ciphertext')->nullable();
19$table->dropColumn('tracking_code_ciphertext');
Buka kode asli bernomor baris

Kode hanya ditampilkan sebagai teks. Tidak dieksekusi oleh panduan. Nomor baris mengikuti sumber yang dibaca.

Identitas snapshot

SHA-256 bf7cb20088c7e6ad4007025475bf33c6b0caa651bb821cf8354c50f3b5daad71

database/migrations/tenant/2026_10_14_073110_add_payment_snapshot_to_penjualan.php22 baris · 2 fungsi bernama
Unggahan sumber 17 Oktober

Untuk apa

Menambah schema untuk penjualan. Lingkup tenant yang dipilih pada koneksi migrasi.

Jika diminta mengubah

up menerapkan perubahan dan down membalik schema menurut kode. Buat migration lanjutan untuk perubahan schema yang sudah dilepas.

Fungsi dan metode

Fungsi dan input atau hasilPenjelasan singkatBukti source
function up(): voidMenerapkan perubahan schema dan fungsi atau constraint yang ditulis pada migration.Lihat signature dan isi fungsi.
function down(): voidMembalik objek schema yang ditentukan migration. Dapat menghapus data dan tidak dipakai untuk latihan pada database bisnis.Lihat signature dan isi fungsi.
Kolom, relasi, dan indeks pada migration
BarisDefinisi asli
12$table->jsonb('payment_snapshot')->nullable();
19$table->dropColumn('payment_snapshot');
Buka kode asli bernomor baris

Kode hanya ditampilkan sebagai teks. Tidak dieksekusi oleh panduan. Nomor baris mengikuti sumber yang dibaca.

Identitas snapshot

SHA-256 e772040edc6b892df465cded18b383fe0e3c1b6b60cd8b4dacafe13d210421da

database/postgresql-2pc.conf9 baris · 0 fungsi bernama
Salinan pendukung sebelumnya

Untuk apa

Parameter PostgreSQL untuk prepared transaction.

Jika diminta mengubah

Nilai efektif harus diperiksa dengan SHOW max_prepared_transactions.

Buka kode asli bernomor baris

Kode hanya ditampilkan sebagai teks. Tidak dieksekusi oleh panduan. Nomor baris mengikuti sumber yang dibaca.

Identitas snapshot

SHA-256 f753174f22ef3dccedd1b1deba0282ac4c9b63597022e70c640422a54d074f3e

database/seeders/DatabaseSeeder.php10 baris · 1 fungsi bernama
Salinan pendukung sebelumnya

Untuk apa

Pengisi data awal atau pemanggil seeder lain sesuai run.

Jika diminta mengubah

Baca pembatasan dan isi sebelum menjalankan. Keberadaan seeder tidak menunjukkan data VPS sudah diisi olehnya.

Fungsi dan metode

Fungsi dan input atau hasilPenjelasan singkatBukti source
function run(): voidMenjalankan pengisian atau pemanggilan seeder sesuai isi fungsi.Lihat signature dan isi fungsi.
Buka kode asli bernomor baris

Kode hanya ditampilkan sebagai teks. Tidak dieksekusi oleh panduan. Nomor baris mengikuti sumber yang dibaca.

Identitas snapshot

SHA-256 60f79061744b89e5386547b58771a620cc40b7afe4e79f3f747a00a0c18f63f9

Entry dan konfigurasi 27

artisan18 baris · 0 fungsi bernama
Salinan pendukung sebelumnya

Untuk apa

Entry CLI untuk perintah Artisan.

Jika diminta mengubah

Kelas command berada di app/Console/Commands dan closure ada pada routes/console.php.

Buka kode asli bernomor baris

Kode hanya ditampilkan sebagai teks. Tidak dieksekusi oleh panduan. Nomor baris mengikuti sumber yang dibaca.

Identitas snapshot

SHA-256 f91a517c0c5d3a904c3f390933964a5e08ec1fc68146882730daac4aca4ffcec

bootstrap/app.php57 baris · 0 fungsi bernama
Unggahan sumber 17 Oktober

Untuk apa

Perakitan routing, middleware, broadcasting, proxy, host, dan exception handler Laravel.

Jika diminta mengubah

Middleware alias tidak aktif hanya karena didaftarkan. Alias harus dipakai route atau group.

Dependensi kode proyek yang diimpor
Buka kode asli bernomor baris

Kode hanya ditampilkan sebagai teks. Tidak dieksekusi oleh panduan. Nomor baris mengikuti sumber yang dibaca.

Identitas snapshot

SHA-256 6f1bddfe1e6ad92754cf8e7604651d6514282f86f607c653bc07431a0095efc0

bootstrap/providers.php7 baris · 0 fungsi bernama
Unggahan sumber 17 Oktober

Untuk apa

Daftar provider aplikasi yang diaktifkan.

Jika diminta mengubah

Provider baru harus diregistrasikan sesuai struktur Laravel proyek ini.

Dependensi kode proyek yang diimpor
Buka kode asli bernomor baris

Kode hanya ditampilkan sebagai teks. Tidak dieksekusi oleh panduan. Nomor baris mengikuti sumber yang dibaca.

Identitas snapshot

SHA-256 f720e185207a343d4c19fc99dbb317a4187efbcd7d38a303a695bbdd77ffb943

composer.json86 baris · 0 fungsi bernama
Unggahan sumber 17 Oktober

Untuk apa

Deklarasi paket PHP, autoload, dan script proyek.

Jika diminta mengubah

Folder App dipetakan ke app. composer.lock mengunci versi hasil resolusi, bukan file untuk diedit manual.

Buka kode asli bernomor baris

Kode hanya ditampilkan sebagai teks. Tidak dieksekusi oleh panduan. Nomor baris mengikuti sumber yang dibaca.

Identitas snapshot

SHA-256 ab259a5cecc8ce2be6b43fa2607e7820a8091637d3f1bdcb6145d295190b5147

config/app.php126 baris · 0 fungsi bernama
Unggahan sumber 17 Oktober

Untuk apa

Nama aplikasi, environment, debug, URL, timezone dan APP_KEY.

Jika diminta mengubah

Nilai env dibaca melalui config. Nilai default di file belum membuktikan nilai efektif produksi. Cache konfigurasi perlu dibangun ulang melalui proses deployment yang dipakai.

Nama environment yang dibaca

APP_NAME, APP_ENV, APP_DEBUG, APP_URL, APP_LOCALE, APP_FALLBACK_LOCALE, APP_FAKER_LOCALE, APP_KEY, APP_PREVIOUS_KEYS, APP_MAINTENANCE_DRIVER, APP_MAINTENANCE_STORE

Buka kode asli bernomor baris

Kode hanya ditampilkan sebagai teks. Tidak dieksekusi oleh panduan. Nomor baris mengikuti sumber yang dibaca.

Identitas snapshot

SHA-256 b4b25e15efa76846a7f2e19fd1044fec4945e4e928c4098126a2b0042b034383

config/auth.php18 baris · 0 fungsi bernama
Unggahan sumber 17 Oktober

Untuk apa

Guard web, provider akun Pengguna, serta pengaturan autentikasi.

Jika diminta mengubah

Nilai env dibaca melalui config. Nilai default di file belum membuktikan nilai efektif produksi. Cache konfigurasi perlu dibangun ulang melalui proses deployment yang dipakai.

Dependensi kode proyek yang diimpor
Buka kode asli bernomor baris

Kode hanya ditampilkan sebagai teks. Tidak dieksekusi oleh panduan. Nomor baris mengikuti sumber yang dibaca.

Identitas snapshot

SHA-256 7c241e49770e5ba7453067eb6cd04f1cfb1af00ccd5dca22751e3b422303a0c7

config/broadcasting.php29 baris · 0 fungsi bernama
Unggahan sumber 17 Oktober

Untuk apa

Pilihan koneksi broadcast dan parameter pengiriman event Reverb.

Jika diminta mengubah

Nilai env dibaca melalui config. Nilai default di file belum membuktikan nilai efektif produksi. Cache konfigurasi perlu dibangun ulang melalui proses deployment yang dipakai.

Nama environment yang dibaca

BROADCAST_CONNECTION, REVERB_APP_KEY, REVERB_APP_SECRET, REVERB_APP_ID, REVERB_PUBLISH_HOST, REVERB_HOST, REVERB_PUBLISH_PORT, REVERB_PORT, REVERB_PUBLISH_SCHEME, REVERB_SCHEME

Buka kode asli bernomor baris

Kode hanya ditampilkan sebagai teks. Tidak dieksekusi oleh panduan. Nomor baris mengikuti sumber yang dibaca.

Identitas snapshot

SHA-256 619b7e97e3a8864e8300d6ec6a89a63f259e217481aea0b74a21521600fe1bc8

config/cache.php136 baris · 0 fungsi bernama
Unggahan sumber 17 Oktober

Untuk apa

Store cache dan limiter. Store bersama diperlukan jika pembatasan harus konsisten lintas instance.

Jika diminta mengubah

Nilai env dibaca melalui config. Nilai default di file belum membuktikan nilai efektif produksi. Cache konfigurasi perlu dibangun ulang melalui proses deployment yang dipakai.

Nama environment yang dibaca

CACHE_STORE, DB_CACHE_CONNECTION, DB_CACHE_TABLE, DB_CACHE_LOCK_CONNECTION, DB_CACHE_LOCK_TABLE, CACHE_STORAGE_DISK, CACHE_STORAGE_PATH, MEMCACHED_PERSISTENT_ID, MEMCACHED_USERNAME, MEMCACHED_PASSWORD, MEMCACHED_HOST, MEMCACHED_PORT, REDIS_CACHE_CONNECTION, REDIS_CACHE_LOCK_CONNECTION, AWS_ACCESS_KEY_ID, AWS_SECRET_ACCESS_KEY, AWS_DEFAULT_REGION, DYNAMODB_CACHE_TABLE, DYNAMODB_ENDPOINT, CACHE_PREFIX, APP_NAME

Buka kode asli bernomor baris

Kode hanya ditampilkan sebagai teks. Tidak dieksekusi oleh panduan. Nomor baris mengikuti sumber yang dibaca.

Identitas snapshot

SHA-256 ee4ad2bba1edfcff52e9599f37371f2370d0b167cc226ce72d46cdf6edf2dc55

config/cors.php12 baris · 0 fungsi bernama
Unggahan sumber 17 Oktober

Untuk apa

Origin, path, metode, header dan dukungan cookie untuk request lintas origin.

Jika diminta mengubah

Nilai env dibaca melalui config. Nilai default di file belum membuktikan nilai efektif produksi. Cache konfigurasi perlu dibangun ulang melalui proses deployment yang dipakai.

Nama environment yang dibaca

APP_URL

Buka kode asli bernomor baris

Kode hanya ditampilkan sebagai teks. Tidak dieksekusi oleh panduan. Nomor baris mengikuti sumber yang dibaca.

Identitas snapshot

SHA-256 add5fc1872290b0d704c486e698adf7c2262a13d2873443951ebdc9fe665673c

config/database.php225 baris · 0 fungsi bernama
Unggahan sumber 17 Oktober

Untuk apa

Koneksi master, tenant awal, dan koneksi database bawaan framework. Runtime bisnis memakai PostgreSQL.

Jika diminta mengubah

Nilai env dibaca melalui config. Nilai default di file belum membuktikan nilai efektif produksi. Cache konfigurasi perlu dibangun ulang melalui proses deployment yang dipakai.

Nama environment yang dibaca

DB_CONNECTION, DB_URL, DB_DATABASE, DB_FOREIGN_KEYS, DB_HOST, DB_PORT, DB_USERNAME, DB_PASSWORD, DB_SOCKET, DB_CHARSET, DB_COLLATION, MYSQL_ATTR_SSL_CA, DB_SSLMODE, DB_ENCRYPT, DB_TRUST_SERVER_CERTIFICATE, MASTER_DB_HOST, MASTER_DB_PORT, MASTER_DB_DATABASE, MASTER_DB_USERNAME, MASTER_DB_PASSWORD, SAMANHUDI_DB_HOST, SAMANHUDI_DB_PORT, SAMANHUDI_DB_DATABASE, SAMANHUDI_DB_USERNAME, SAMANHUDI_DB_PASSWORD, PEGANDEN_DB_HOST, PEGANDEN_DB_PORT, PEGANDEN_DB_DATABASE, PEGANDEN_DB_USERNAME, PEGANDEN_DB_PASSWORD, REDIS_CLIENT, REDIS_CLUSTER, REDIS_PREFIX, APP_NAME, REDIS_PERSISTENT, REDIS_URL, REDIS_HOST, REDIS_USERNAME, REDIS_PASSWORD, REDIS_PORT, REDIS_DB, REDIS_MAX_RETRIES, REDIS_BACKOFF_ALGORITHM, REDIS_BACKOFF_BASE, REDIS_BACKOFF_CAP, REDIS_CACHE_DB

Buka kode asli bernomor baris

Kode hanya ditampilkan sebagai teks. Tidak dieksekusi oleh panduan. Nomor baris mengikuti sumber yang dibaca.

Identitas snapshot

SHA-256 f99465941dc71e1adca839323f09f7a00d327980964e0eeb2d50217e10699e43

config/filesystems.php105 baris · 0 fungsi bernama
Unggahan sumber 17 Oktober

Untuk apa

Root dan visibility disk file privat, bukti servis, bukti pembayaran dan QRIS.

Jika diminta mengubah

Nilai env dibaca melalui config. Nilai default di file belum membuktikan nilai efektif produksi. Cache konfigurasi perlu dibangun ulang melalui proses deployment yang dipakai.

Nama environment yang dibaca

FILESYSTEM_DISK, APP_URL, AWS_ACCESS_KEY_ID, AWS_SECRET_ACCESS_KEY, AWS_DEFAULT_REGION, AWS_BUCKET, AWS_URL, AWS_ENDPOINT, AWS_USE_PATH_STYLE_ENDPOINT

Buka kode asli bernomor baris

Kode hanya ditampilkan sebagai teks. Tidak dieksekusi oleh panduan. Nomor baris mengikuti sumber yang dibaca.

Identitas snapshot

SHA-256 1b3954048e65f0b5f115a9d3bbc5b8fef0ae0a9ec12c81a8332283d4279c5a6f

config/hashing.php17 baris · 0 fungsi bernama
Unggahan sumber 17 Oktober

Untuk apa

Argon2id, biaya memory atau time, dan rehash ketika login.

Jika diminta mengubah

Nilai env dibaca melalui config. Nilai default di file belum membuktikan nilai efektif produksi. Cache konfigurasi perlu dibangun ulang melalui proses deployment yang dipakai.

Nama environment yang dibaca

HASH_DRIVER, ARGON_MEMORY, ARGON_THREADS, ARGON_TIME

Buka kode asli bernomor baris

Kode hanya ditampilkan sebagai teks. Tidak dieksekusi oleh panduan. Nomor baris mengikuti sumber yang dibaca.

Identitas snapshot

SHA-256 e8b1d58a0d526939d520d3ed2933c2f36a3a7688869cbc1cf41269c641408ffd

config/logging.php141 baris · 0 fungsi bernama
Unggahan sumber 17 Oktober

Untuk apa

Channel log aplikasi dan tujuan arsip log eksternal bila dikonfigurasi.

Jika diminta mengubah

Nilai env dibaca melalui config. Nilai default di file belum membuktikan nilai efektif produksi. Cache konfigurasi perlu dibangun ulang melalui proses deployment yang dipakai.

Nama environment yang dibaca

LOG_CHANNEL, LOG_DEPRECATIONS_CHANNEL, LOG_DEPRECATIONS_TRACE, LOG_STACK, LOG_LEVEL, LOG_DAILY_DAYS, LOG_SLACK_WEBHOOK_URL, LOG_SLACK_USERNAME, APP_NAME, LOG_SLACK_EMOJI, LOG_PAPERTRAIL_HANDLER, PAPERTRAIL_URL, PAPERTRAIL_PORT, LOG_STDERR_FORMATTER, LOG_SYSLOG_FACILITY

Buka kode asli bernomor baris

Kode hanya ditampilkan sebagai teks. Tidak dieksekusi oleh panduan. Nomor baris mengikuti sumber yang dibaca.

Identitas snapshot

SHA-256 be473dde9a0a58da1c08d5ec9e4ce51ca37f6b189db13a266587a9cc6f46442c

config/mail.php119 baris · 0 fungsi bernama
Unggahan sumber 17 Oktober

Untuk apa

Mailer, koneksi SMTP, timeout, enkripsi transport dan alamat pengirim.

Jika diminta mengubah

Nilai env dibaca melalui config. Nilai default di file belum membuktikan nilai efektif produksi. Cache konfigurasi perlu dibangun ulang melalui proses deployment yang dipakai.

Nama environment yang dibaca

MAIL_MAILER, MAIL_SCHEME, MAIL_URL, MAIL_HOST, MAIL_PORT, MAIL_USERNAME, MAIL_PASSWORD, MAIL_TIMEOUT, MAIL_REQUIRE_TLS, MAIL_EHLO_DOMAIN, APP_URL, POSTMARK_MESSAGE_STREAM_ID, MAIL_SENDMAIL_PATH, MAIL_LOG_CHANNEL, MAIL_FROM_ADDRESS, MAIL_FROM_NAME, APP_NAME

Buka kode asli bernomor baris

Kode hanya ditampilkan sebagai teks. Tidak dieksekusi oleh panduan. Nomor baris mengikuti sumber yang dibaca.

Identitas snapshot

SHA-256 111961ee075bcc28d5cceb7914320160fe7e0e108f9b79bc9a37a2012c72c114

config/operations.php20 baris · 0 fungsi bernama
Unggahan sumber 17 Oktober

Untuk apa

Host dan proxy tepercaya, identitas instance, threshold stok, backup, alert serta fallback pembayaran.

Jika diminta mengubah

Nilai env dibaca melalui config. Nilai default di file belum membuktikan nilai efektif produksi. Cache konfigurasi perlu dibangun ulang melalui proses deployment yang dipakai.

Nama environment yang dibaca

TRUSTED_HOSTS, TRUSTED_PROXIES, INSTANCE_TENANT, INSTANCE_TENANT_COOKIE, PREPARED_TX_WARNING_THRESHOLD, COORDINATOR_STALE_MINUTES, BACKUP_DIR, BACKUP_RETENTION_DAYS, SECURITY_ALERT_WEBHOOK, SECURITY_ALERT_TOKEN, REALTIME_HISTORY_LIMIT, LOW_STOCK_THRESHOLD, ONLINE_BANK_NAME, ONLINE_BANK_ACCOUNT, ONLINE_BANK_BENEFICIARY

Buka kode asli bernomor baris

Kode hanya ditampilkan sebagai teks. Tidak dieksekusi oleh panduan. Nomor baris mengikuti sumber yang dibaca.

Identitas snapshot

SHA-256 505952a9f212237d1819054bec63a1cd29cdc560e40b52279c9c8f5d617d4c39

config/queue.php129 baris · 0 fungsi bernama
Unggahan sumber 17 Oktober

Untuk apa

Driver queue dan koneksi worker. Jangan mengklaim notifikasi asynchronous hanya karena queue.php ada.

Jika diminta mengubah

Nilai env dibaca melalui config. Nilai default di file belum membuktikan nilai efektif produksi. Cache konfigurasi perlu dibangun ulang melalui proses deployment yang dipakai.

Nama environment yang dibaca

QUEUE_CONNECTION, DB_QUEUE_CONNECTION, DB_QUEUE_TABLE, DB_QUEUE, DB_QUEUE_RETRY_AFTER, BEANSTALKD_QUEUE_HOST, BEANSTALKD_QUEUE, BEANSTALKD_QUEUE_RETRY_AFTER, AWS_ACCESS_KEY_ID, AWS_SECRET_ACCESS_KEY, SQS_PREFIX, SQS_QUEUE, SQS_SUFFIX, AWS_DEFAULT_REGION, REDIS_QUEUE_CONNECTION, REDIS_QUEUE, REDIS_QUEUE_RETRY_AFTER, DB_CONNECTION, QUEUE_FAILED_DRIVER

Buka kode asli bernomor baris

Kode hanya ditampilkan sebagai teks. Tidak dieksekusi oleh panduan. Nomor baris mengikuti sumber yang dibaca.

Identitas snapshot

SHA-256 6101774da7c8b79af46d0028f2b8b31a484c3f7eda10b76e5b27b6093ad364a4

config/reverb.php53 baris · 0 fungsi bernama
Unggahan sumber 17 Oktober

Untuk apa

Server WebSocket, app ID atau key atau secret, endpoint dan allowed_origins.

Jika diminta mengubah

Nilai env dibaca melalui config. Nilai default di file belum membuktikan nilai efektif produksi. Cache konfigurasi perlu dibangun ulang melalui proses deployment yang dipakai.

Nama environment yang dibaca

REVERB_ALLOWED_ORIGINS, APP_URL, REVERB_SERVER, REVERB_SERVER_HOST, REVERB_SERVER_PORT, REVERB_HOST, REVERB_MAX_REQUEST_SIZE, REVERB_SCALING_ENABLED, REVERB_SCALING_CHANNEL, REDIS_URL, REDIS_HOST, REDIS_PORT, REDIS_USERNAME, REDIS_PASSWORD, REDIS_DB, REVERB_PULSE_INGEST_INTERVAL, REVERB_TELESCOPE_INGEST_INTERVAL, REVERB_APP_KEY, REVERB_APP_SECRET, REVERB_APP_ID, REVERB_PORT, REVERB_SCHEME, REVERB_APP_PING_INTERVAL, REVERB_APP_ACTIVITY_TIMEOUT, REVERB_APP_MAX_MESSAGE_SIZE

Buka kode asli bernomor baris

Kode hanya ditampilkan sebagai teks. Tidak dieksekusi oleh panduan. Nomor baris mengikuti sumber yang dibaca.

Identitas snapshot

SHA-256 ce73decce53b999e55b301439c42de05b15d89a94017b8ef88fbffb6b7405079

config/sanctum.php18 baris · 0 fungsi bernama
Unggahan sumber 17 Oktober

Untuk apa

Daftar domain stateful dan middleware session atau CSRF. Bearer token dinonaktifkan provider aplikasi.

Jika diminta mengubah

Nilai env dibaca melalui config. Nilai default di file belum membuktikan nilai efektif produksi. Cache konfigurasi perlu dibangun ulang melalui proses deployment yang dipakai.

Nama environment yang dibaca

SANCTUM_STATEFUL_DOMAINS

Buka kode asli bernomor baris

Kode hanya ditampilkan sebagai teks. Tidak dieksekusi oleh panduan. Nomor baris mengikuti sumber yang dibaca.

Identitas snapshot

SHA-256 8362d7de9fbf9cdc4a7258325c63d73f46a7f16b8e64374908bb71c67f5ad776

config/security.php28 baris · 0 fungsi bernama
Revisi ZIP v5

Untuk apa

Batas payload, upload, login, CAPTCHA, tautan, mapping tenant dan guardian E1.

Jika diminta mengubah

Nilai env dibaca melalui config. Nilai default di file belum membuktikan nilai efektif produksi. Cache konfigurasi perlu dibangun ulang melalui proses deployment yang dipakai.

Nama environment yang dibaca

SERVICE_PHOTO_MAX_KB, STAFF_LOGIN_CHALLENGE_ENABLED, TURNSTILE_SITE_KEY, TURNSTILE_SECRET_KEY, LOGIN_MAX_ATTEMPTS, LOGIN_LOCK_MINUTES, LOGIN_RATE_LIMIT, LOGIN_IP_RATE_LIMIT, LOGIN_RATE_DECAY_MINUTES, APPROVAL_LINK_MINUTES, ONLINE_PAYMENT_PROOF_MAX_KB, ONLINE_TRACKING_LINK_MINUTES, CW_E1_INVENTORY_GUARDIAN_ROLE

Buka kode asli bernomor baris

Kode hanya ditampilkan sebagai teks. Tidak dieksekusi oleh panduan. Nomor baris mengikuti sumber yang dibaca.

Identitas snapshot

SHA-256 8838d243b07b6bfdfb51d446f5ce107683ceafbab25ba6234bec0eb49868302c

config/services.php38 baris · 0 fungsi bernama
Unggahan sumber 17 Oktober

Untuk apa

Pengaturan integrasi pihak ketiga yang disediakan framework.

Jika diminta mengubah

Nilai env dibaca melalui config. Nilai default di file belum membuktikan nilai efektif produksi. Cache konfigurasi perlu dibangun ulang melalui proses deployment yang dipakai.

Nama environment yang dibaca

POSTMARK_API_KEY, RESEND_API_KEY, AWS_ACCESS_KEY_ID, AWS_SECRET_ACCESS_KEY, AWS_DEFAULT_REGION, SLACK_BOT_USER_OAUTH_TOKEN, SLACK_BOT_USER_DEFAULT_CHANNEL

Buka kode asli bernomor baris

Kode hanya ditampilkan sebagai teks. Tidak dieksekusi oleh panduan. Nomor baris mengikuti sumber yang dibaca.

Identitas snapshot

SHA-256 b7ee786ea1adbc92db9f229f479431c94503527c47051da3862eb0e4d7db70aa

config/session.php233 baris · 0 fungsi bernama
Unggahan sumber 17 Oktober

Untuk apa

Driver dan koneksi sessions master, lifetime, enkripsi payload, cookie Secure, HttpOnly dan SameSite.

Jika diminta mengubah

Nilai env dibaca melalui config. Nilai default di file belum membuktikan nilai efektif produksi. Cache konfigurasi perlu dibangun ulang melalui proses deployment yang dipakai.

Nama environment yang dibaca

SESSION_DRIVER, SESSION_LIFETIME, SESSION_EXPIRE_ON_CLOSE, SESSION_ENCRYPT, SESSION_CONNECTION, SESSION_TABLE, SESSION_STORE, APP_NAME, SESSION_PATH, SESSION_DOMAIN, SESSION_SECURE_COOKIE, APP_ENV, SESSION_HTTP_ONLY, SESSION_SAME_SITE, SESSION_PARTITIONED_COOKIE

Buka kode asli bernomor baris

Kode hanya ditampilkan sebagai teks. Tidak dieksekusi oleh panduan. Nomor baris mengikuti sumber yang dibaca.

Identitas snapshot

SHA-256 7311bef859a436efbc92aa6f90abebd8cf8f7227523be500a56bcea734d51bbd

package.json36 baris · 0 fungsi bernama
Unggahan sumber 17 Oktober

Untuk apa

Deklarasi paket JS dan perintah build, dev, serta test e2e.

Jika diminta mengubah

Paket yang tercantum belum tentu dipakai entry aktif. react-router-dom tercantum tetapi navigasi aktif memakai helper History API.

Buka kode asli bernomor baris

Kode hanya ditampilkan sebagai teks. Tidak dieksekusi oleh panduan. Nomor baris mengikuti sumber yang dibaca.

Identitas snapshot

SHA-256 b8a1ed5d86925f52a5953a2849609d0b64b456f18c0082b815c7db024107598b

routes/api.php236 baris · 0 fungsi bernama
Revisi ZIP v5

Untuk apa

Daftar endpoint API dan kelompok middleware. Laravel menambahkan prefix /api.

Jika diminta mengubah

Tambah route pada group izin dan tenant yang sesuai. Jangan menulis /api dua kali pada path route.

Dependensi kode proyek yang diimpor
Buka kode asli bernomor baris

Kode hanya ditampilkan sebagai teks. Tidak dieksekusi oleh panduan. Nomor baris mengikuti sumber yang dibaca.

Identitas snapshot

SHA-256 8c82b4d35dc9276919148381e1d2aac0bd821c833c445bbe69e1eb2b9685129f

routes/channels.php18 baris · 0 fungsi bernama
Unggahan sumber 17 Oktober

Untuk apa

Callback otorisasi channel privat tenant.ID.

Jika diminta mengubah

Tambahkan jenis channel hanya dengan pemeriksaan pengguna aktif, session dan cabang yang sesuai.

Dependensi kode proyek yang diimpor
Buka kode asli bernomor baris

Kode hanya ditampilkan sebagai teks. Tidak dieksekusi oleh panduan. Nomor baris mengikuti sumber yang dibaca.

Identitas snapshot

SHA-256 f10dc0abef93ece152cf1e3bf418e5269f692f8928e707b912f3ebfa763bf55d

routes/console.php50 baris · 0 fungsi bernama
Revisi ZIP v5

Untuk apa

Perintah closure dan jadwal pemulihan 2PC setiap menit.

Jika diminta mengubah

Tambah jadwal melalui Schedule dan pertimbangkan withoutOverlapping. Perintah login-ip mengelola blokir manual.

Dependensi kode proyek yang diimpor
Buka kode asli bernomor baris

Kode hanya ditampilkan sebagai teks. Tidak dieksekusi oleh panduan. Nomor baris mengikuti sumber yang dibaca.

Identitas snapshot

SHA-256 aa23e9919b1504061852578b2d85bdf7e560e44f8ba3f69cf64fd97ecd538097

routes/web.php28 baris · 0 fungsi bernama
Unggahan sumber 17 Oktober

Untuk apa

Halaman publik, login, aktivasi, health, dan persetujuan harga khusus.

Jika diminta mengubah

Path tidak dikenal tidak memiliki catch-all SPA dan menghasilkan 404.

Dependensi kode proyek yang diimpor
Buka kode asli bernomor baris

Kode hanya ditampilkan sebagai teks. Tidak dieksekusi oleh panduan. Nomor baris mengikuti sumber yang dibaca.

Identitas snapshot

SHA-256 116a65cee94caa69cefdb17cb395920ad32a77853be10a7ce272d409f6b9c704

vite.config.js26 baris · 0 fungsi bernama
Unggahan sumber 17 Oktober

Untuk apa

Konfigurasi build React, TypeScript, Tailwind dan input aset Laravel.

Jika diminta mengubah

Entry aktif resources/js/app.tsx dan resources/css/app.css. Perubahan TSX atau CSS perlu build.

Buka kode asli bernomor baris

Kode hanya ditampilkan sebagai teks. Tidak dieksekusi oleh panduan. Nomor baris mengikuti sumber yang dibaca.

Identitas snapshot

SHA-256 b5dd07c0b6ab16bd670e38b7181e093f0c834084df79ac6428a833e1403afc70

Deployment dan operasional 23

Dockerfile41 baris · 0 fungsi bernama
Salinan pendukung sebelumnya

Untuk apa

Build image dependensi, aset frontend, runtime PHP dan Nginx.

Jika diminta mengubah

Berkas pendukung ini berasal dari salinan sebelumnya. Cocokkan dengan konfigurasi VPS sebelum perubahan deployment.

Buka kode asli bernomor baris

Kode hanya ditampilkan sebagai teks. Tidak dieksekusi oleh panduan. Nomor baris mengikuti sumber yang dibaca.

Identitas snapshot

SHA-256 dbced62a62f90a35be475ce84625a3e19c7aeacbc9df1705ab153df20025d586

INSTALL_ALL.py253 baris · 8 fungsi bernama
Revisi ZIP v5

Untuk apa

Installer patch yang memeriksa hash, membangun image, memeriksa kandidat, mengganti layanan, dan memulihkan source jika gagal.

Jika diminta mengubah

Ini alat rilis, bukan bagian algoritma bisnis. Tidak dijalankan oleh pembaca panduan.

Fungsi dan metode

Fungsi dan input atau hasilPenjelasan singkatBukti source
def merge_verified_navigation(before, basis, revised, allowed_hashes):Menggabungkan hanya hunk navigasi yang dikenali terhadap basis tepercaya, mempertahankan bagian lain dan menolak anchor yang telah berubah.return result.encode('utf-8')
def checked(*args, env=None, capture=False, input_text=None):Helper proses atau pengujian checked. Input, operasi sistem dan hasil harus dibaca dari kode sebelum dijalankan.return subprocess.run(args, check=True, env=env, text=True, input=input_text,
def read_payload(root, archive):Membaca manifest, memeriksa hash setiap payload dan kecocokan target sebelum ada perubahan source.return payload, previous
def compose(root, images, *args, capture=False):Helper proses atau pengujian compose. Input, operasi sistem dan hasil harus dibaca dari kode sebelum dijalankan.return checked('docker', 'compose', '--project-directory', str(root),
def healthy():Helper proses atau pengujian healthy. Input, operasi sistem dan hasil harus dibaca dari kode sebelum dijalankan.return time.sleep(5)
def fetch(base, path, follow_redirects=True):Mengirim pemeriksaan HTTP dengan pilihan mengikuti redirect atau memeriksa status redirect asli.return response.status, response.read(300000).decode('utf-8', 'replace'), response.headers
def deploy(root, archive, check_only=False):Menjalankan validasi, build kandidat, pemeriksaan dan pergantian layanan, dengan jalur pemulihan bila gagal.API /api/login/security-options, /api/online/cabang, /api/online/katalog
def redirect_request(self, request, stream, code, message, headers, new_url):Menolak pengalihan otomatis agar pemeriksaan dapat melihat status dan Location asli.return None
Buka kode asli bernomor baris

Kode hanya ditampilkan sebagai teks. Tidak dieksekusi oleh panduan. Nomor baris mengikuti sumber yang dibaca.

Identitas snapshot

SHA-256 8ca45f4b10f24b4fdd10bdb2c2b886e5321f4789228c2ecd483342cb7fe7a7a1

compose.production.yml109 baris · 0 fungsi bernama
Salinan pendukung sebelumnya

Untuk apa

Susunan layanan produksi dan volume bersama.

Jika diminta mengubah

Layanan aplikasi, Reverb, scheduler, Nginx dan database memiliki peran terpisah. Nilai rahasia berasal dari environment.

Buka kode asli bernomor baris

Kode hanya ditampilkan sebagai teks. Tidak dieksekusi oleh panduan. Nomor baris mengikuti sumber yang dibaca.

Identitas snapshot

SHA-256 cb9eab39773014a12188f2f3f32d305c0a7672f3cc931b8d5e036f96474013a7

docker/nginx/rajawali.conf51 baris · 0 fungsi bernama
Salinan pendukung sebelumnya

Untuk apa

Konfigurasi Nginx dari salinan pendukung sebelumnya.

Jika diminta mengubah

Jangan menganggap file ini identik dengan template dan konfigurasi efektif VPS.

Buka kode asli bernomor baris

Kode hanya ditampilkan sebagai teks. Tidak dieksekusi oleh panduan. Nomor baris mengikuti sumber yang dibaca.

Identitas snapshot

SHA-256 5af55cd315247d7a86ec2baa96b92da26673c74ce564eb15176afeb7894d51c7

docker/nginx/templates/rajawali.conf.template98 baris · 0 fungsi bernama
Revisi ZIP v5

Untuk apa

Reverse proxy produksi di balik CloudPanel, routing instance, batas request, CSP dan WSS.

Jika diminta mengubah

Template membentuk konfigurasi aktif saat container dimulai. Periksa respons publik karena CSP aplikasi dapat disembunyikan dan diganti di proxy.

Buka kode asli bernomor baris

Kode hanya ditampilkan sebagai teks. Tidak dieksekusi oleh panduan. Nomor baris mengikuti sumber yang dibaca.

Identitas snapshot

SHA-256 38469b0dc5c100b647b689245bb04b9695fab8eb56db95fd7ffae0d00290d824

docker/php/entrypoint.sh10 baris · 0 fungsi bernama
Salinan pendukung sebelumnya

Untuk apa

Persiapan direktori dan startup proses PHP.

Jika diminta mengubah

Tinjau perubahan permission dan cache sebelum mengubah entrypoint.

Buka kode asli bernomor baris

Kode hanya ditampilkan sebagai teks. Tidak dieksekusi oleh panduan. Nomor baris mengikuti sumber yang dibaca.

Identitas snapshot

SHA-256 810bd3ee5f5bdaaf75dc231df4618ed82797b6db026c035c1832d305ef4d7189

docker/php/healthcheck.sh3 baris · 0 fungsi bernama
Revisi ZIP v5

Untuk apa

Probe hidup container PHP.

Jika diminta mengubah

Probe container berbeda dari readiness database bisnis.

Buka kode asli bernomor baris

Kode hanya ditampilkan sebagai teks. Tidak dieksekusi oleh panduan. Nomor baris mengikuti sumber yang dibaca.

Identitas snapshot

SHA-256 277d3d8555ab0bc3ddf6c726b4767519cde94bacf672d2cec351228b8e91d671

docker/php/php.ini14 baris · 0 fungsi bernama
Salinan pendukung sebelumnya

Untuk apa

Batas runtime PHP termasuk upload dan error.

Jika diminta mengubah

Ukuran PHP harus sejalan dengan Request dan Nginx.

Buka kode asli bernomor baris

Kode hanya ditampilkan sebagai teks. Tidak dieksekusi oleh panduan. Nomor baris mengikuti sumber yang dibaca.

Identitas snapshot

SHA-256 f734f5f2e70db5653fe493a5ff879ffca5d9754909461b86d820b9f2f621ef8c

docker/postgres/init/01-rajawali-databases.sh28 baris · 0 fungsi bernama
Salinan pendukung sebelumnya

Untuk apa

Inisialisasi database dan role awal PostgreSQL.

Jika diminta mengubah

Script inisialisasi volume baru tidak otomatis dijalankan ulang pada volume lama.

Buka kode asli bernomor baris

Kode hanya ditampilkan sebagai teks. Tidak dieksekusi oleh panduan. Nomor baris mengikuti sumber yang dibaca.

Identitas snapshot

SHA-256 9156b0a6c794750a67716a15fc76cccc026e522d161eadbd2ec0784333facc34

ops/backup/backup-postgres.sh7 baris · 0 fungsi bernama
Salinan pendukung sebelumnya

Untuk apa

Wrapper operasional command backup.

Jika diminta mengubah

Mewarisi prasyarat maintenance dari PostgresBackup.

Buka kode asli bernomor baris

Kode hanya ditampilkan sebagai teks. Tidak dieksekusi oleh panduan. Nomor baris mengikuti sumber yang dibaca.

Identitas snapshot

SHA-256 a74dbd6c9a4831855efeb10005f02a0311c4dffbc061ba04a145325dd9582267

ops/backup/restore-drill.sh34 baris · 0 fungsi bernama
Salinan pendukung sebelumnya

Untuk apa

Wrapper latihan pemulihan backup.

Jika diminta mengubah

Periksa target uji dan cleanup sebelum menjalankan.

Buka kode asli bernomor baris

Kode hanya ditampilkan sebagai teks. Tidak dieksekusi oleh panduan. Nomor baris mengikuti sumber yang dibaca.

Identitas snapshot

SHA-256 d8f2fb659fbc13d09000082d8bcbf8cb3d96ff8e6fc5fa9755253eb0513d7f2a

ops/backup/verify-postgres-backup.sh18 baris · 0 fungsi bernama
Salinan pendukung sebelumnya

Untuk apa

Wrapper verifikasi arsip backup.

Jika diminta mengubah

Verifikasi checksum berbeda dari berhasil memulihkan dan menjalankan database.

Buka kode asli bernomor baris

Kode hanya ditampilkan sebagai teks. Tidak dieksekusi oleh panduan. Nomor baris mengikuti sumber yang dibaca.

Identitas snapshot

SHA-256 7c9a07a87988216c87d36f956017f201a1fb5d698a197f65bb160947626f86d5

ops/deploy/fault-drill.sh73 baris · 0 fungsi bernama
Salinan pendukung sebelumnya

Untuk apa

Latihan gangguan dan pemulihan layanan.

Jika diminta mengubah

Berpotensi menghentikan layanan. Contoh ini bukan perintah latihan sidang pada produksi.

Buka kode asli bernomor baris

Kode hanya ditampilkan sebagai teks. Tidak dieksekusi oleh panduan. Nomor baris mengikuti sumber yang dibaca.

Identitas snapshot

SHA-256 999083863a256fabfb20603bce1ee3388c3696dff0170c9c5d5353f1c5e1e55a

ops/deploy/preflight.sh17 baris · 0 fungsi bernama
Salinan pendukung sebelumnya

Untuk apa

Wrapper pemeriksaan sebelum rilis.

Jika diminta mengubah

Baca exit code, INFO dan WARN. Tidak menggantikan pengujian fungsi oleh pengguna.

Buka kode asli bernomor baris

Kode hanya ditampilkan sebagai teks. Tidak dieksekusi oleh panduan. Nomor baris mengikuti sumber yang dibaca.

Identitas snapshot

SHA-256 cd7a3796d2b99d14dd25e6e6e8142450fcc2869d900342f13631c2907acad009

ops/deploy/smoke.sh38 baris · 0 fungsi bernama
Salinan pendukung sebelumnya

Untuk apa

Wrapper pemeriksaan jalur teknis setelah rilis.

Jika diminta mengubah

Jalankan hanya pada target yang benar dan simpan output sebagai bukti teknis.

Buka kode asli bernomor baris

Kode hanya ditampilkan sebagai teks. Tidak dieksekusi oleh panduan. Nomor baris mengikuti sumber yang dibaca.

Identitas snapshot

SHA-256 e3a84bf5c40ba31dbc2875dbf3ffbef343053ff7615661fb841a43ab041d04d3

ops/deploy/sync-datatables-lock.sh28 baris · 0 fungsi bernama
Salinan pendukung sebelumnya

Untuk apa

Sinkronisasi dependency tabel dan lockfile sesuai workflow script.

Jika diminta mengubah

Perubahan versi paket memerlukan build dan pengujian hasil.

Buka kode asli bernomor baris

Kode hanya ditampilkan sebagai teks. Tidak dieksekusi oleh panduan. Nomor baris mengikuti sumber yang dibaca.

Identitas snapshot

SHA-256 f9ab1a49a4a7abd0f718718a036fd4ac7e9f21528945c462fbde468a01bfa624

ops/deploy/tls-wss-check.sh81 baris · 0 fungsi bernama
Salinan pendukung sebelumnya

Untuk apa

Pemeriksaan HTTPS dan WebSocket secure.

Jika diminta mengubah

Kecocokan aplikasi lokal tidak membuktikan sertifikat dan proxy publik sudah benar.

Buka kode asli bernomor baris

Kode hanya ditampilkan sebagai teks. Tidak dieksekusi oleh panduan. Nomor baris mengikuti sumber yang dibaca.

Identitas snapshot

SHA-256 9417e7217db085637b4b6ec93c20e6e7543b3bf5b70a1e8ea6e3b9de4134c016

ops/deploy/verify-release-evidence.sh34 baris · 0 fungsi bernama
Salinan pendukung sebelumnya

Untuk apa

Pemeriksaan bukti rilis dan artefak pendukung.

Jika diminta mengubah

Bukti yang hilang tidak boleh diisi dengan hasil yang tidak pernah dijalankan.

Buka kode asli bernomor baris

Kode hanya ditampilkan sebagai teks. Tidak dieksekusi oleh panduan. Nomor baris mengikuti sumber yang dibaca.

Identitas snapshot

SHA-256 d5d0acde83fbdcab66280e7f856505e413b86d8af5d9dc5c4afdf69ad75cb6a3

ops/provision/install-service.sh10 baris · 0 fungsi bernama
Salinan pendukung sebelumnya

Untuk apa

Pemasangan unit systemd worker provisioning.

Jika diminta mengubah

Menyalin unit dan timer ke host adalah perubahan operasional, bukan pengujian read-only.

Buka kode asli bernomor baris

Kode hanya ditampilkan sebagai teks. Tidak dieksekusi oleh panduan. Nomor baris mengikuti sumber yang dibaca.

Identitas snapshot

SHA-256 71b882fcb5939f6b9bd2c56bd1772e95a844c19a209ee75a906d7e8a42b7b094

ops/provision/rajawali-branch-provision.service13 baris · 0 fungsi bernama
Salinan pendukung sebelumnya

Untuk apa

Unit systemd yang menjalankan worker host.

Jika diminta mengubah

Gunakan identitas dan pembatasan host yang sesuai. Kode web tidak memperoleh akses Docker.

Buka kode asli bernomor baris

Kode hanya ditampilkan sebagai teks. Tidak dieksekusi oleh panduan. Nomor baris mengikuti sumber yang dibaca.

Identitas snapshot

SHA-256 31d6c5b29a2b5822f2a83db553bfc6fb03a74e2be1a7c9f939be4818a7ae02bc

ops/provision/rajawali-branch-provision.timer11 baris · 0 fungsi bernama
Salinan pendukung sebelumnya

Untuk apa

Jadwal systemd untuk memicu worker provisioning.

Jika diminta mengubah

Timer aktif perlu dibuktikan pada host.

Buka kode asli bernomor baris

Kode hanya ditampilkan sebagai teks. Tidak dieksekusi oleh panduan. Nomor baris mengikuti sumber yang dibaca.

Identitas snapshot

SHA-256 258d21b58c142e07327e037fdb9b648f4bd0586a5efde3505e843e56bf381341

ops/provision/worker.py235 baris · 12 fungsi bernama
Salinan pendukung sebelumnya

Untuk apa

Worker host administratif untuk membuat database, role, container dan routing cabang baru.

Jika diminta mengubah

Salinan ini memanggil opsi --tenant yang tidak ada pada signature InstallClarkWilsonE1 yang tersedia. Rangkaian provisioning belum dapat dinyatakan selaras.

Fungsi dan metode

Fungsi dan input atau hasilPenjelasan singkatBukti source
def invoke(args, *, data=None, timeout=180, check=True):Menjalankan subprocess dengan argumen terpisah, timeout dan pengumpulan hasil.return subprocess.run(args, cwd=BASE, text=True, input=data, capture_output=True,
def sql(query):Mengirim SQL administratif melalui utilitas PostgreSQL di container yang ditentukan worker.return invoke(['docker', 'exec', '-i', POSTGRES, 'sh', '-c', command], data=query).stdout.strip()
def work_item():Mengambil pekerjaan provisioning yang siap diproses menurut status database.return int(result) if re.fullmatch(r'[1-9][0-9]*', result) else None
def credentials(branch):Membentuk identitas database dan credential tenant untuk satu ID cabang.return item
def db_create(item):Membuat database dan role tenant melalui jalur administratif host.Lihat signature dan isi fungsi.
def backup_role(item):Menyusun hak backup bagi database tenant hasil provisioning.Lihat signature dan isi fungsi.
def one_shot(item, args, data=None):Menjalankan command Laravel pada container sekali pakai dengan environment sementara, lalu membersihkan file sementara.return result
def existing_branches(branch):Membaca ID tenant siap dan menambahkan cabang yang sedang diproses.return sorted(set([int(line) for line in raw.splitlines() if line.isdigit()] + [branch]))
def generated_compose(ids):Membentuk layanan container untuk tenant hasil provisioning dan mengganti file konfigurasi secara atomik.return target
def nginx_reload(ids):Mengganti fragmen mapping, memeriksa konfigurasi Nginx, reload dan mengembalikan fragmen lama jika gagal.Lihat signature dan isi fungsi.
def provision(branch):Mengurutkan database, migration, E1, backup, container, routing dan registrasi cabang. Kecocokan argumen command harus dibuktikan.Lihat signature dan isi fungsi.
def main():Menjalankan worker host dengan pemeriksaan identitas dan loop pekerjaan. Blok entry juga mengambil lock worker.Lihat signature dan isi fungsi.
Buka kode asli bernomor baris

Kode hanya ditampilkan sebagai teks. Tidak dieksekusi oleh panduan. Nomor baris mengikuti sumber yang dibaca.

Identitas snapshot

SHA-256 29843d90eeb1f2308d10251ad4f9e88275b627b08ea713d722b8320e757b51e2

ops/runtime/nginx/branch-map.conf1 baris · 0 fungsi bernama
Salinan pendukung sebelumnya

Untuk apa

Fragmen mapping cabang hasil worker.

Jika diminta mengubah

Template proxy dalam revisi v5 yang dibaca belum meng-include fragmen ini.

Buka kode asli bernomor baris

Kode hanya ditampilkan sebagai teks. Tidak dieksekusi oleh panduan. Nomor baris mengikuti sumber yang dibaca.

Identitas snapshot

SHA-256 27ee60fea68a53c84ce1c9bd75d27715c35d02c6f830b1f3c334a300f92c2f7e

Pengujian dan pendukungnya 119

tests/Feature/AdminRoleAccessTest.php45 baris · 2 fungsi bernama
Unggahan sumber 17 OktoberSkenario teknis, bukan hasil UAT

Untuk apa

Kode pengujian atau dukungan pengujian AdminRoleAccessTest.php. Skenario dan assertion dibaca langsung dari fungsi atau test pada berkas ini.

Jika diminta mengubah

Edit skenario jika perilaku yang diharapkan berubah. Keberadaan file tidak menyatakan tes sudah dijalankan atau lulus UAT manusia.

Fungsi dan metode

Fungsi dan input atau hasilPenjelasan singkatBukti source
function test_admin_has_operational_access_but_not_owner_or_technician_authority(): voidSkenario uji admin has operational access but not owner or technician authority. Assertion aktual ditunjukkan di kolom bukti dan kode.API /api/produk?aktif=0, /api/supplier, /api/cabang, /api/stok, /api/pelanggan, /api/penjualan
Assertion assertOk, assertJsonPath, assertForbidden
function test_admin_is_branch_bound_and_cannot_switch_or_forge_tenant_context(): voidSkenario uji admin is branch bound and cannot switch or forge tenant context. Assertion aktual ditunjukkan di kolom bukti dan kode.API /api/me, /api/owner/cabang-aktif
Assertion assertOk, assertJsonPath, assertForbidden
Buka kode asli bernomor baris

Kode hanya ditampilkan sebagai teks. Tidak dieksekusi oleh panduan. Nomor baris mengikuti sumber yang dibaca.

Identitas snapshot

SHA-256 52f21f8bfea9e39e9424b3b57673d829bb1a3dbd97aee1077819e245ee0c6955

tests/Feature/ApiFailureBoundaryTest.php64 baris · 5 fungsi bernama
Unggahan sumber 17 OktoberSkenario teknis, bukan hasil UAT

Untuk apa

Kode pengujian atau dukungan pengujian ApiFailureBoundaryTest.php. Skenario dan assertion dibaca langsung dari fungsi atau test pada berkas ini.

Jika diminta mengubah

Edit skenario jika perilaku yang diharapkan berubah. Keberadaan file tidak menyatakan tes sudah dijalankan atau lulus UAT manusia.

Fungsi dan metode

Fungsi dan input atau hasilPenjelasan singkatBukti source
function setUp(): voidMenyiapkan atau membersihkan lingkungan tes milik suite ini. Periksa penjagaan schema dan target sebelum menjalankan.Respons JSON
API /api/payload-probe, /api/exception-probe
function invalidBodies(): arrayHelper pengujian invalidBodies. Dipakai membangun input, request, fixture, proses database atau pembandingan hasil sesuai kode.return [
function test_invalid_payload_is_rejected_before_processing_with_safe_error(string $body, string $type, int $status): voidSkenario uji invalid payload is rejected before processing with safe error. Assertion aktual ditunjukkan di kolom bukti dan kode.API /api/payload-probe
Assertion assertStatus, assertJsonMissingPath, assertStringNotContainsString
function test_valid_json_and_vendor_json_continue_to_the_real_pipeline(): voidSkenario uji valid json and vendor json continue to the real pipeline. Assertion aktual ditunjukkan di kolom bukti dan kode.API /api/payload-probe
Assertion assertOk, assertJsonPath
function test_unsupported_method_and_production_exception_are_safe(): voidSkenario uji unsupported method and production exception are safe. Assertion aktual ditunjukkan di kolom bukti dan kode.API /api/payload-probe, /api/exception-probe
Assertion assertStatus, assertStringNotContainsString
Buka kode asli bernomor baris

Kode hanya ditampilkan sebagai teks. Tidak dieksekusi oleh panduan. Nomor baris mengikuti sumber yang dibaca.

Identitas snapshot

SHA-256 6d8dcb9ef39c42e072e0516689b189912c9213b0240dc43ddce4ec0ec2be7256

tests/Feature/AuthSecurityTest.php708 baris · 57 fungsi bernama
Revisi ZIP v5Skenario teknis, bukan hasil UAT

Untuk apa

Kode pengujian atau dukungan pengujian AuthSecurityTest.php. Skenario dan assertion dibaca langsung dari fungsi atau test pada berkas ini.

Jika diminta mengubah

Edit skenario jika perilaku yang diharapkan berubah. Keberadaan file tidak menyatakan tes sudah dijalankan atau lulus UAT manusia.

Fungsi dan metode

Fungsi dan input atau hasilPenjelasan singkatBukti source
function test_captcha_and_email_code_are_required_before_a_session_and_the_code_cannot_be_replayed(): voidSkenario uji captcha and email code are required before a session and the code cannot be replayed. Assertion aktual ditunjukkan di kolom bukti dan kode.API /api/me, /api/login/verify-code, /api/logout, /sanctum/csrf-cookie
Assertion assertStatus, assertJsonPath, assertJsonMissingPath, assertUnauthorized, assertNull, assertMatchesRegularExpression, assertOk, assertNotNull, assertNoContent, assertUnprocessable
function test_expired_email_code_is_rejected_without_a_session(): voidSkenario uji expired email code is rejected without a session. Assertion aktual ditunjukkan di kolom bukti dan kode.API /api/login/verify-code, /api/me
Assertion assertStatus, assertUnprocessable, assertUnauthorized
function test_five_wrong_email_codes_invalidate_even_the_original_correct_code(): voidSkenario uji five wrong email codes invalidate even the original correct code. Assertion aktual ditunjukkan di kolom bukti dan kode.API /api/login/verify-code, /api/me
Assertion assertStatus, assertUnprocessable, assertUnauthorized
function test_captcha_failure_and_wrong_hostname_never_reach_password_authentication(): voidSkenario uji captcha failure and wrong hostname never reach password authentication. Assertion aktual ditunjukkan di kolom bukti dan kode.API /api/me
Assertion assertUnprocessable, assertNull, assertUnauthorized
function fakeLoginChallenge(): voidHelper pengujian fakeLoginChallenge. Dipakai membangun input, request, fixture, proses database atau pembandingan hasil sesuai kode.return Http::response([
function test_manual_ip_block_rejects_password_and_code_without_mutating_account_then_unblock_restores_login(): voidSkenario uji manual ip block rejects password and code without mutating account then unblock restores login. Assertion aktual ditunjukkan di kolom bukti dan kode.API /api/login/verify-code, /api/me
Assertion assertNotNull, assertStatus, assertHeader, assertUnauthorized, assertSame, assertNull, assertOk
function test_manual_ip_block_expires_and_does_not_apply_to_other_addresses(): voidSkenario uji manual ip block expires and does not apply to other addresses. Assertion aktual ditunjukkan di kolom bukti dan kode.Assertion assertNotNull, assertNull
function test_unblocking_ip_does_not_remove_an_account_lock(): voidSkenario uji unblocking ip does not remove an account lock. Assertion aktual ditunjukkan di kolom bukti dan kode.Assertion assertStatus, assertSame
function test_corrupt_ip_block_file_cannot_silently_disable_a_block(): voidSkenario uji corrupt ip block file cannot silently disable a block. Assertion aktual ditunjukkan di kolom bukti dan kode.Lihat signature dan isi fungsi.
function test_login_ip_command_validates_address_duration_and_reason(): voidSkenario uji login ip command validates address duration and reason. Assertion aktual ditunjukkan di kolom bukti dan kode.Assertion assertFailed, assertSuccessful, assertNotNull, assertNull
function withIsolatedIpBlocks(\Closure $test): voidHelper pengujian withIsolatedIpBlocks. Dipakai membangun input, request, fixture, proses database atau pembandingan hasil sesuai kode.Lihat signature dan isi fungsi.
function test_correct_password_authenticates_using_password_hash(): voidSkenario uji correct password authenticates using password hash. Assertion aktual ditunjukkan di kolom bukti dan kode.API /api/me
Assertion assertSame, assertOk, assertJsonPath, assertNotNull
function test_wrong_password_is_rejected_and_both_counters_commit(): voidSkenario uji wrong password is rejected and both counters commit. Assertion aktual ditunjukkan di kolom bukti dan kode.API /api/me
Tabel sessions
Assertion assertUnprocessable, assertSame, assertUnauthorized
function test_success_resets_consecutive_failures_but_preserves_total(): voidSkenario uji success resets consecutive failures but preserves total. Assertion aktual ditunjukkan di kolom bukti dan kode.Assertion assertOk, assertSame, assertNull
function test_fifth_failure_locks_account_for_exactly_fifteen_minutes(): voidSkenario uji fifth failure locks account for exactly fifteen minutes. Assertion aktual ditunjukkan di kolom bukti dan kode.Assertion assertStatus, assertSame, assertCount
function test_correct_password_cannot_bypass_active_lock(): voidSkenario uji correct password cannot bypass active lock. Assertion aktual ditunjukkan di kolom bukti dan kode.API /api/me
Assertion assertStatus, assertUnauthorized, assertNull, assertSame
function test_expired_lock_allows_fresh_attempt_and_resets_counter(): voidSkenario uji expired lock allows fresh attempt and resets counter. Assertion aktual ditunjukkan di kolom bukti dan kode.Assertion assertUnprocessable, assertSame, assertNull, assertOk
function test_inactive_account_is_rejected(): voidSkenario uji inactive account is rejected. Assertion aktual ditunjukkan di kolom bukti dan kode.API /api/me
Assertion assertUnprocessable, assertUnauthorized
function test_email_is_normalized_before_lookup_and_rate_limiting(): voidSkenario uji email is normalized before lookup and rate limiting. Assertion aktual ditunjukkan di kolom bukti dan kode.Assertion assertOk
function test_lockout_threshold_is_configurable(): voidSkenario uji lockout threshold is configurable. Assertion aktual ditunjukkan di kolom bukti dan kode.Assertion assertUnprocessable, assertStatus, assertSame
function test_password_hash_is_not_serialized_in_login_or_me(): voidSkenario uji password hash is not serialized in login or me. Assertion aktual ditunjukkan di kolom bukti dan kode.API /api/me
Assertion assertOk, assertJsonMissingPath, assertStringNotContainsString, assertArrayNotHasKey
function test_validation_rejects_extreme_inputs_before_authentication(): voidSkenario uji validation rejects extreme inputs before authentication. Assertion aktual ditunjukkan di kolom bukti dan kode.API /sanctum/csrf-cookie, /api/login
Assertion assertUnprocessable, assertJsonValidationErrors
function test_account_lookup_uses_a_master_row_lock(): voidSkenario uji account lookup uses a master row lock. Assertion aktual ditunjukkan di kolom bukti dan kode.Assertion assertUnprocessable, assertTrue
function branches(): arrayHelper pengujian branches. Dipakai membangun input, request, fixture, proses database atau pembandingan hasil sesuai kode.return [['Samanhudi', 'tenant_samanhudi'], ['Peganden', 'tenant_peganden']];
function test_employee_tenant_comes_from_assignment(string $name, string $connection): voidSkenario uji employee tenant comes from assignment. Assertion aktual ditunjukkan di kolom bukti dan kode.API /api/me
Assertion assertOk, assertJsonPath
function employeeRoles(): arrayHelper pengujian employeeRoles. Dipakai membangun input, request, fixture, proses database atau pembandingan hasil sesuai kode.return [['admin'], ['kasir'], ['teknisi']];
function test_employees_cannot_select_a_branch_or_view_owner_selector(string $role): voidSkenario uji employees cannot select a branch or view owner selector. Assertion aktual ditunjukkan di kolom bukti dan kode.API /api/owner/cabang-aktif, /api/owner/cabang, /api/me
Assertion assertOk, assertForbidden, assertJsonPath
function test_owner_can_select_either_branch(string $name, string $connection): voidSkenario uji owner can select either branch. Assertion aktual ditunjukkan di kolom bukti dan kode.API /api/owner/cabang, /api/owner/cabang-aktif, /api/me
Assertion assertOk, assertJsonPath, assertJsonCount, assertNull, assertCount
function test_owner_assignment_does_not_force_active_tenant(): voidSkenario uji owner assignment does not force active tenant. Assertion aktual ditunjukkan di kolom bukti dan kode.Pembuatan hash
Assertion assertOk, assertJsonPath
function test_client_connection_role_and_branch_input_are_not_trusted(): voidSkenario uji client connection role and branch input are not trusted. Assertion aktual ditunjukkan di kolom bukti dan kode.API /api/me?connection=tenant_peganden
Assertion assertOk, assertJsonPath
function test_inactive_branch_denies_employee_login_and_owner_selection(): voidSkenario uji inactive branch denies employee login and owner selection. Assertion aktual ditunjukkan di kolom bukti dan kode.API /api/owner/cabang-aktif
Panggilan samanhudi.forceFill
Assertion assertForbidden, assertOk
function test_missing_tenant_mapping_fails_closed_and_logs_error(): voidSkenario uji missing tenant mapping fails closed and logs error. Assertion aktual ditunjukkan di kolom bukti dan kode.API /api/me
Assertion assertStatus, assertJsonPath, assertStringNotContainsString, assertUnauthorized
function test_tenant_names_are_normalized_without_fixed_branch_ids(): voidSkenario uji tenant names are normalized without fixed branch ids. Assertion aktual ditunjukkan di kolom bukti dan kode.Panggilan samanhudi.forceFill
Assertion assertSame
function test_session_id_regenerates_and_session_is_stored_on_master(): voidSkenario uji session id regenerates and session is stored on master. Assertion aktual ditunjukkan di kolom bukti dan kode.API /sanctum/csrf-cookie, /api/login
Tabel sessions
Assertion assertNoContent, assertOk, assertNotSame, assertFalse, assertSame, assertStringNotContainsString
function test_logout_revokes_session_and_regenerates_csrf(): voidSkenario uji logout revokes session and regenerates csrf. Assertion aktual ditunjukkan di kolom bukti dan kode.API /api/logout, /api/me
Tabel sessions
Assertion assertOk, assertNoContent, assertNotSame, assertFalse, assertSame, assertUnauthorized, assertCount
function test_assignment_change_revokes_all_target_sessions_preserves_owner_and_audits_both_tenants(): voidSkenario uji assignment change revokes all target sessions preserves owner and audits both tenants. Assertion aktual ditunjukkan di kolom bukti dan kode.API /api/pengguna/{$employee->id_pengguna}/penugasan-cabang, /api/me
Tabel sessions
Assertion assertOk, assertJsonPath, assertSame, assertFalse, assertTrue, assertCount, assertUnauthorized
function securityChanges(): arrayHelper pengujian securityChanges. Dipakai membangun input, request, fixture, proses database atau pembandingan hasil sesuai kode.return [['role', 'teknisi'], ['status_akun', 'nonaktif'], ['id_cabang', 'other']];
function test_eloquent_security_changes_delete_every_user_session(string $field, string $value): voidSkenario uji eloquent security changes delete every user session. Assertion aktual ditunjukkan di kolom bukti dan kode.API /api/me
Tabel sessions
Assertion assertOk, assertSame, assertUnauthorized
function test_request_middleware_rejects_changes_even_when_model_observer_is_bypassed(string $field, string $value): voidSkenario uji request middleware rejects changes even when model observer is bypassed. Assertion aktual ditunjukkan di kolom bukti dan kode.API /api/me
Tabel pengguna, sessions
Assertion assertOk, assertUnauthorized, assertSame
function test_nonowners_cannot_change_assignments(string $role): voidSkenario uji nonowners cannot change assignments. Assertion aktual ditunjukkan di kolom bukti dan kode.API /api/pengguna/{$user->id_pengguna}/penugasan-cabang
Assertion assertOk, assertForbidden, assertSame
function test_assignment_noop_preserves_sessions_and_does_not_duplicate_audit(): voidSkenario uji assignment noop preserves sessions and does not duplicate audit. Assertion aktual ditunjukkan di kolom bukti dan kode.API /api/pengguna/{$user->id_pengguna}/penugasan-cabang
Tabel sessions
Assertion assertOk, assertJsonPath, assertSame, assertCount
function test_assignment_rejects_owner_target_missing_user_and_inactive_branch(): voidSkenario uji assignment rejects owner target missing user and inactive branch. Assertion aktual ditunjukkan di kolom bukti dan kode.API /api/pengguna/{$owner->id_pengguna}/penugasan-cabang, /api/pengguna/999999/penugasan-cabang, /api/pengguna/{$user->id_pengguna}/penugasan-cabang
Panggilan peganden.forceFill
Assertion assertOk, assertUnprocessable, assertNotFound, assertForbidden, assertSame
function test_login_success_and_failure_are_audited_only_on_employee_tenant(): voidSkenario uji login success and failure are audited only on employee tenant. Assertion aktual ditunjukkan di kolom bukti dan kode.Tabel audit_log
Assertion assertUnprocessable, assertOk, assertCount, assertSame
function test_owner_login_is_audited_on_all_active_tenants(): voidSkenario uji owner login is audited on all active tenants. Assertion aktual ditunjukkan di kolom bukti dan kode.Assertion assertOk, assertCount
function test_unknown_email_is_audited_globally_without_a_fabricated_user(): voidSkenario uji unknown email is audited globally without a fabricated user. Assertion aktual ditunjukkan di kolom bukti dan kode.API /sanctum/csrf-cookie, /api/login
Assertion assertUnprocessable, assertNull, assertSame
function test_audit_never_contains_password_hash_session_or_csrf_secrets(): voidSkenario uji audit never contains password hash session or csrf secrets. Assertion aktual ditunjukkan di kolom bukti dan kode.Tabel audit_log
Assertion assertUnprocessable, assertOk, assertStringNotContainsString
function test_audit_destination_failure_is_logged_and_other_tenant_still_receives_event(): voidSkenario uji audit destination failure is logged and other tenant still receives event. Assertion aktual ditunjukkan di kolom bukti dan kode.Assertion assertOk, assertCount
function test_login_rate_limit_is_separate_from_account_lockout(): voidSkenario uji login rate limit is separate from account lockout. Assertion aktual ditunjukkan di kolom bukti dan kode.Assertion assertUnprocessable, assertTooManyRequests, assertSame, assertNull
function test_ip_limit_cannot_be_bypassed_by_changing_email(): voidSkenario uji ip limit cannot be bypassed by changing email. Assertion aktual ditunjukkan di kolom bukti dan kode.API /sanctum/csrf-cookie, /api/login
Assertion assertStatus
function test_csrf_is_required_for_login_logout_selection_and_assignment(): voidSkenario uji csrf is required for login logout selection and assignment. Assertion aktual ditunjukkan di kolom bukti dan kode.API /sanctum/csrf-cookie, /api/login, /api/logout, /api/owner/cabang-aktif, /api/pengguna/{$employee->id_pengguna}/penugasan-cabang, /api/me
Assertion assertNoContent, assertStatus, assertOk
function test_bearer_and_foreign_origin_requests_cannot_bypass_spa_authentication(): voidSkenario uji bearer and foreign origin requests cannot bypass spa authentication. Assertion aktual ditunjukkan di kolom bukti dan kode.API /api/me, /api/login
Assertion assertUnauthorized
function test_generic_role_middleware_supports_multiple_server_roles(): voidSkenario uji generic role middleware supports multiple server roles. Assertion aktual ditunjukkan di kolom bukti dan kode.Respons JSON
API /api/_test-role, /api/_test-role?role=owner
Assertion assertOk, assertForbidden
function test_operational_tenant_middleware_requires_context_and_revalidates_active_branch(): voidSkenario uji operational tenant middleware requires context and revalidates active branch. Assertion aktual ditunjukkan di kolom bukti dan kode.Respons JSON
API /api/_test-tenant, /api/owner/cabang-aktif
Panggilan peganden.forceFill
Assertion assertOk, assertStatus, assertJsonPath, assertForbidden
function postgresTimezones(): arrayHelper pengujian postgresTimezones. Dipakai membangun input, request, fixture, proses database atau pembandingan hasil sesuai kode.return [['UTC'], ['Asia/Jakarta'], ['America/New_York'], ['Pacific/Auckland']];
function test_lockout_preserves_instants_before_and_after_expiry_across_timezones(string $timezone): voidSkenario uji lockout preserves instants before and after expiry across timezones. Assertion aktual ditunjukkan di kolom bukti dan kode.API /api/me
Tabel pengguna
Assertion assertStatus, assertSame, assertUnauthorized, assertOk, assertNull
function test_database_accepts_admin_and_rejects_unknown_role(): voidSkenario uji database accepts admin and rejects unknown role. Assertion aktual ditunjukkan di kolom bukti dan kode.Batas transaksi
Assertion assertSame, assertStringContainsString
function test_runtime_policy_gives_admin_front_desk_authority_without_owner_or_technician_authority(): voidSkenario uji runtime policy gives admin front desk authority without owner or technician authority. Assertion aktual ditunjukkan di kolom bukti dan kode.API /api/_test-admin
Assertion assertTrue, assertFalse, assertSame
Dependensi kode proyek yang diimpor
Buka kode asli bernomor baris

Kode hanya ditampilkan sebagai teks. Tidak dieksekusi oleh panduan. Nomor baris mengikuti sumber yang dibaca.

Identitas snapshot

SHA-256 ce532ed2abb2f18228034cc9f148a6b339bd6503269d507a5fe576953a300f15

tests/Feature/BackupRestoreTest.php96 baris · 3 fungsi bernama
Unggahan sumber 17 OktoberSkenario teknis, bukan hasil UAT

Untuk apa

Kode pengujian atau dukungan pengujian BackupRestoreTest.php. Skenario dan assertion dibaca langsung dari fungsi atau test pada berkas ini.

Jika diminta mengubah

Edit skenario jika perilaku yang diharapkan berubah. Keberadaan file tidak menyatakan tes sudah dijalankan atau lulus UAT manusia.

Fungsi dan metode

Fungsi dan input atau hasilPenjelasan singkatBukti source
function test_real_three_database_backup_restore_checks_rows_constraints_and_cleans_temporary_databases(): voidSkenario uji real three database backup restore checks rows constraints and cleans temporary databases. Assertion aktual ditunjukkan di kolom bukti dan kode.Pemeriksaan IVP
Tabel cabang
Assertion assertSame, assertFileExists, assertNotEmpty, assertGreaterThan, assertTrue, assertEquals
function test_partial_backup_is_never_accepted(): voidSkenario uji partial backup is never accepted. Assertion aktual ditunjukkan di kolom bukti dan kode.Pemeriksaan IVP
function test_backup_requires_maintenance_before_opening_database_locks(): voidSkenario uji backup requires maintenance before opening database locks. Assertion aktual ditunjukkan di kolom bukti dan kode.Lihat signature dan isi fungsi.
Dependensi kode proyek yang diimpor
Buka kode asli bernomor baris

Kode hanya ditampilkan sebagai teks. Tidak dieksekusi oleh panduan. Nomor baris mengikuti sumber yang dibaca.

Identitas snapshot

SHA-256 f53d9fbd9817a6f2a240e8909ad8bac0e2e9df5dc14481064fe7aa732cc9be0e

tests/Feature/BranchProvisioningRequestTest.php74 baris · 4 fungsi bernama
Salinan pendukung sebelumnyaSkenario teknis, bukan hasil UAT

Untuk apa

Kode pengujian atau dukungan pengujian BranchProvisioningRequestTest.php. Skenario dan assertion dibaca langsung dari fungsi atau test pada berkas ini.

Jika diminta mengubah

Edit skenario jika perilaku yang diharapkan berubah. Keberadaan file tidak menyatakan tes sudah dijalankan atau lulus UAT manusia.

Fungsi dan metode

Fungsi dan input atau hasilPenjelasan singkatBukti source
function test_owner_creates_pending_tenant_job_without_db_admin_rights(): voidSkenario uji owner creates pending tenant job without db admin rights. Assertion aktual ditunjukkan di kolom bukti dan kode.API /api/cabang, /api/owner/cabang-aktif
Assertion assertOk, assertCreated, assertJsonPath, assertDatabaseHas, assertForbidden
function test_admin_cannot_request_privileged_branch_provisioning(): voidSkenario uji admin cannot request privileged branch provisioning. Assertion aktual ditunjukkan di kolom bukti dan kode.API /api/cabang
Tabel tenant_instances
Assertion assertOk, assertForbidden, assertSame
function test_retry_requires_owner_and_failed_job(): voidSkenario uji retry requires owner and failed job. Assertion aktual ditunjukkan di kolom bukti dan kode.API /api/cabang, /api/owner/cabang/{$id}/provision-ulang
Tabel tenant_instances
Assertion assertOk, assertCreated, assertStatus, assertSame
function test_registered_dynamic_tenant_identity_is_independent_of_branch_name(): voidSkenario uji registered dynamic tenant identity is independent of branch name. Assertion aktual ditunjukkan di kolom bukti dan kode.Tabel tenant_instances
Assertion assertSame
Dependensi kode proyek yang diimpor
Buka kode asli bernomor baris

Kode hanya ditampilkan sebagai teks. Tidak dieksekusi oleh panduan. Nomor baris mengikuti sumber yang dibaca.

Identitas snapshot

SHA-256 af21870795b5916bce3e04813e0572fdb0958517712c7f80d72a68beb81bbb84

tests/Feature/ClarkWilsonBoundaryTest.php90 baris · 5 fungsi bernama
Unggahan sumber 17 OktoberSkenario teknis, bukan hasil UAT

Untuk apa

Kode pengujian atau dukungan pengujian ClarkWilsonBoundaryTest.php. Skenario dan assertion dibaca langsung dari fungsi atau test pada berkas ini.

Jika diminta mengubah

Edit skenario jika perilaku yang diharapkan berubah. Keberadaan file tidak menyatakan tes sudah dijalankan atau lulus UAT manusia.

Fungsi dan metode

Fungsi dan input atau hasilPenjelasan singkatBukti source
function test_e4_certifier_authority_is_not_a_business_runtime_role(): voidSkenario uji e4 certifier authority is not a business runtime role. Assertion aktual ditunjukkan di kolom bukti dan kode.Assertion assertFalse, assertNotContains
function test_owner_can_manage_employee_rights_and_execute_business_tp_without_becoming_certifier(): voidSkenario uji owner can manage employee rights and execute business tp without becoming certifier. Assertion aktual ditunjukkan di kolom bukti dan kode.API /api/pengguna/, /api/owner/cabang-aktif, /api/pelanggan
Tabel pelanggan
Assertion assertNotSame, assertOk, assertSame, assertCreated
function test_c4_canonical_master_audit_survives_tenant_projection_failure(): voidSkenario uji c4 canonical master audit survives tenant projection failure. Assertion aktual ditunjukkan di kolom bukti dan kode.API /api/pengguna/
Tabel audit_hak_pengguna, audit_log
Assertion assertOk, assertSame
function tenants(): arrayHelper pengujian tenants. Dipakai membangun input, request, fixture, proses database atau pembandingan hasil sesuai kode.return [
function test_e1_runtime_database_identity_cannot_write_inventory_cdi_outside_certified_tp(string $connection): voidSkenario uji e1 runtime database identity cannot write inventory cdi outside certified tp. Assertion aktual ditunjukkan di kolom bukti dan kode.Assertion assertSame
Dependensi kode proyek yang diimpor
Buka kode asli bernomor baris

Kode hanya ditampilkan sebagai teks. Tidak dieksekusi oleh panduan. Nomor baris mengikuti sumber yang dibaca.

Identitas snapshot

SHA-256 678648eb7d6821f8bb4af25d67728c1b6bfeacc3ab0b85539849dc83666ab877

tests/Feature/ClarkWilsonControlsTest.php165 baris · 7 fungsi bernama
Unggahan sumber 17 OktoberSkenario teknis, bukan hasil UAT

Untuk apa

Kode pengujian atau dukungan pengujian ClarkWilsonControlsTest.php. Skenario dan assertion dibaca langsung dari fungsi atau test pada berkas ini.

Jika diminta mengubah

Edit skenario jika perilaku yang diharapkan berubah. Keberadaan file tidak menyatakan tes sudah dijalankan atau lulus UAT manusia.

Fungsi dan metode

Fungsi dan input atau hasilPenjelasan singkatBukti source
function prepareReturns(): arrayHelper pengujian prepareReturns. Dipakai membangun input, request, fixture, proses database atau pembandingan hasil sesuai kode.API /api/pembelian, /api/penjualan
Assertion assertOk, assertCreated
function snapshot(): arrayHelper pengujian snapshot. Dipakai membangun input, request, fixture, proses database atau pembandingan hasil sesuai kode.return $state;
function returnTypes(): arrayHelper pengujian returnTypes. Dipakai membangun input, request, fixture, proses database atau pembandingan hasil sesuai kode.return ['sale' => [false], 'purchase' => [true]];
function test_c5_direct_tp_rejects_arbitrary_return_input_without_cdi_or_audit_changes(bool $purchase): voidSkenario uji c5 direct tp rejects arbitrary return input without cdi or audit changes. Assertion aktual ditunjukkan di kolom bukti dan kode.Tabel produk_cabang
Assertion assertNotEmpty, assertSame, assertGreaterThan
function test_c2_c4_late_database_audit_failure_rolls_back_return_details_and_stock(bool $purchase): voidSkenario uji c2 c4 late database audit failure rolls back return details and stock. Assertion aktual ditunjukkan di kolom bukti dan kode.API /api/retur-pembelian, /api/retur-penjualan
Assertion assertStatus, assertDontSee, assertSame
function test_c4_database_rejects_audit_update_delete_truncate_and_upsert_on_both_tenants(): voidSkenario uji c4 database rejects audit update delete truncate and upsert on both tenants. Assertion aktual ditunjukkan di kolom bukti dan kode.Batas transaksi
Tabel audit_log
Assertion assertOk, assertSame
function test_c4_model_and_bulk_writes_cannot_rewrite_audit_history(): voidSkenario uji c4 model and bulk writes cannot rewrite audit history. Assertion aktual ditunjukkan di kolom bukti dan kode.Assertion assertOk, assertStringContainsString, assertSame
Dependensi kode proyek yang diimpor
Buka kode asli bernomor baris

Kode hanya ditampilkan sebagai teks. Tidak dieksekusi oleh panduan. Nomor baris mengikuti sumber yang dibaca.

Identitas snapshot

SHA-256 11eb7e92baeef37886c4b611caa24dc7128e3b2dea019f8dda5dbe24706c1799

tests/Feature/ClarkWilsonFormalCertificationTest.php148 baris · 6 fungsi bernama
Unggahan sumber 17 OktoberSkenario teknis, bukan hasil UAT

Untuk apa

Kode pengujian atau dukungan pengujian ClarkWilsonFormalCertificationTest.php. Skenario dan assertion dibaca langsung dari fungsi atau test pada berkas ini.

Jika diminta mengubah

Edit skenario jika perilaku yang diharapkan berubah. Keberadaan file tidak menyatakan tes sudah dijalankan atau lulus UAT manusia.

Fungsi dan metode

Fungsi dan input atau hasilPenjelasan singkatBukti source
function test_c2_c3_e4_certification_register_is_complete_immutable_and_separated_from_runtime_roles(): voidSkenario uji c2 c3 e4 certification register is complete immutable and separated from runtime roles. Assertion aktual ditunjukkan di kolom bukti dan kode.Assertion assertGreaterThanOrEqual, assertTrue, assertSame, assertNotContains, assertNotEmpty, assertNotSame
function test_c3_certified_separation_of_duties_relations_are_explicit(): voidSkenario uji c3 certified separation of duties relations are explicit. Assertion aktual ditunjukkan di kolom bukti dan kode.Assertion assertSame
function test_e2_business_access_uses_certified_user_tp_relation_instead_of_ad_hoc_roles(): voidSkenario uji e2 business access uses certified user tp relation instead of ad hoc roles. Assertion aktual ditunjukkan di kolom bukti dan kode.Batas transaksi
Relasi aktor dan TP
Assertion assertSame
function test_e2_certified_tp_implementations_do_not_embed_parallel_business_role_lists(): voidSkenario uji e2 certified tp implementations do not embed parallel business role lists. Assertion aktual ditunjukkan di kolom bukti dan kode.Relasi aktor dan TP
Assertion assertIsString, assertStringNotContainsString, assertTrue
function test_c4_every_certified_tp_declares_reconstruction_audit_and_implementation_writes_it(): voidSkenario uji c4 every certified tp declares reconstruction audit and implementation writes it. Assertion aktual ditunjukkan di kolom bukti dan kode.Audit CDI wajib
Audit hak pada master
Assertion assertNotEmpty, assertIsString, assertTrue
function test_c5_every_certified_tp_declares_a_udi_validation_boundary(): voidSkenario uji c5 every certified tp declares a udi validation boundary. Assertion aktual ditunjukkan di kolom bukti dan kode.Assertion assertNotSame, assertContains, assertIsString, assertStringContainsString, assertNotNull
Dependensi kode proyek yang diimpor
Buka kode asli bernomor baris

Kode hanya ditampilkan sebagai teks. Tidak dieksekusi oleh panduan. Nomor baris mengikuti sumber yang dibaca.

Identitas snapshot

SHA-256 767eb300c434c3b7ba7ab49c4472ac14d53f6a48d9b4d220025c630d9e9f0748

tests/Feature/CspAndCookieSecurityTest.php71 baris · 4 fungsi bernama
Revisi ZIP v5Skenario teknis, bukan hasil UAT

Untuk apa

Kode pengujian atau dukungan pengujian CspAndCookieSecurityTest.php. Skenario dan assertion dibaca langsung dari fungsi atau test pada berkas ini.

Jika diminta mengubah

Edit skenario jika perilaku yang diharapkan berubah. Keberadaan file tidak menyatakan tes sudah dijalankan atau lulus UAT manusia.

Fungsi dan metode

Fungsi dan input atau hasilPenjelasan singkatBukti source
function test_enabled_login_challenge_permits_only_the_turnstile_script_and_frame_origin(): voidSkenario uji enabled login challenge permits only the turnstile script and frame origin. Assertion aktual ditunjukkan di kolom bukti dan kode.Assertion assertOk, assertStringContainsString, assertStringNotContainsString
function test_testing_csp_restricts_code_and_connects_to_the_explicit_reverb_fixture(): voidSkenario uji testing csp restricts code and connects to the explicit reverb fixture. Assertion aktual ditunjukkan di kolom bukti dan kode.Assertion assertOk, assertStringContainsString, assertStringNotContainsString
function test_production_csp_does_not_permit_inline_style_or_wildcard_origins(): voidSkenario uji production csp does not permit inline style or wildcard origins. Assertion aktual ditunjukkan di kolom bukti dan kode.Assertion assertOk, assertStringContainsString, assertStringNotContainsString
function test_csrf_cookie_is_script_readable_but_session_cookie_is_http_only(): voidSkenario uji csrf cookie is script readable but session cookie is http only. Assertion aktual ditunjukkan di kolom bukti dan kode.API /sanctum/csrf-cookie
Assertion assertNoContent, assertNotNull, assertFalse, assertTrue
Buka kode asli bernomor baris

Kode hanya ditampilkan sebagai teks. Tidak dieksekusi oleh panduan. Nomor baris mengikuti sumber yang dibaca.

Identitas snapshot

SHA-256 4e236169d4e2e6b27f36c2e6d5bd4e127f720b54c6009a6abbdebfbae9b9ba3a

tests/Feature/CspStaticAssetsTest.php34 baris · 2 fungsi bernama
Unggahan sumber 17 OktoberSkenario teknis, bukan hasil UAT

Untuk apa

Kode pengujian atau dukungan pengujian CspStaticAssetsTest.php. Skenario dan assertion dibaca langsung dari fungsi atau test pada berkas ini.

Jika diminta mengubah

Edit skenario jika perilaku yang diharapkan berubah. Keberadaan file tidak menyatakan tes sudah dijalankan atau lulus UAT manusia.

Fungsi dan metode

Fungsi dan input atau hasilPenjelasan singkatBukti source
function test_print_and_offline_styles_are_external_and_available(): voidSkenario uji print and offline styles are external and available. Assertion aktual ditunjukkan di kolom bukti dan kode.Assertion assertFileExists, assertStringContainsString, assertStringNotContainsString
function test_nginx_production_template_protects_static_files_with_strict_csp(): voidSkenario uji nginx production template protects static files with strict csp. Assertion aktual ditunjukkan di kolom bukti dan kode.Assertion assertStringContainsString, assertStringNotContainsString
Buka kode asli bernomor baris

Kode hanya ditampilkan sebagai teks. Tidak dieksekusi oleh panduan. Nomor baris mengikuti sumber yang dibaca.

Identitas snapshot

SHA-256 c24117b1d52d85160d28c36358d5ce8b4ce2352fc2ca97c36142b8e31d11a38d

tests/Feature/CustomerManagementTest.php76 baris · 4 fungsi bernama
Unggahan sumber 17 OktoberSkenario teknis, bukan hasil UAT

Untuk apa

Kode pengujian atau dukungan pengujian CustomerManagementTest.php. Skenario dan assertion dibaca langsung dari fungsi atau test pada berkas ini.

Jika diminta mengubah

Edit skenario jika perilaku yang diharapkan berubah. Keberadaan file tidak menyatakan tes sudah dijalankan atau lulus UAT manusia.

Fungsi dan metode

Fungsi dan input atau hasilPenjelasan singkatBukti source
function test_cashier_can_create_search_and_update_customer_in_active_branch(): voidSkenario uji cashier can create search and update customer in active branch. Assertion aktual ditunjukkan di kolom bukti dan kode.API /api/pelanggan, /api/pelanggan?q=Budi, /api/pelanggan/{$id}
Assertion assertOk, assertCreated, assertJsonPath, assertCount, assertStringContainsString, assertStringNotContainsString
function test_customer_records_are_isolated_between_tenants(): voidSkenario uji customer records are isolated between tenants. Assertion aktual ditunjukkan di kolom bukti dan kode.API /api/pelanggan, /api/pelanggan?q=Hanya%20Samanhudi
Assertion assertOk, assertCreated, assertJsonCount
function test_technician_cannot_manage_customer_records(): voidSkenario uji technician cannot manage customer records. Assertion aktual ditunjukkan di kolom bukti dan kode.API /api/pelanggan
Assertion assertOk, assertForbidden
function test_customer_validation_rejects_invalid_contact_input(): voidSkenario uji customer validation rejects invalid contact input. Assertion aktual ditunjukkan di kolom bukti dan kode.API /api/pelanggan
Assertion assertOk, assertUnprocessable
Buka kode asli bernomor baris

Kode hanya ditampilkan sebagai teks. Tidak dieksekusi oleh panduan. Nomor baris mengikuti sumber yang dibaca.

Identitas snapshot

SHA-256 7ec3a295da9031dfabc45546338642aceae59f004978c1cd9b6d4db416289242

tests/Feature/DamagedPurchaseTest.php101 baris · 8 fungsi bernama
Unggahan sumber 17 OktoberSkenario teknis, bukan hasil UAT

Untuk apa

Kode pengujian atau dukungan pengujian DamagedPurchaseTest.php. Skenario dan assertion dibaca langsung dari fungsi atau test pada berkas ini.

Jika diminta mengubah

Edit skenario jika perilaku yang diharapkan berubah. Keberadaan file tidak menyatakan tes sudah dijalankan atau lulus UAT manusia.

Fungsi dan metode

Fungsi dan input atau hasilPenjelasan singkatBukti source
function input(int $damaged = 2): arrayHelper pengujian input. Dipakai membangun input, request, fixture, proses database atau pembandingan hasil sesuai kode.Assertion assertOk
function test_mixed_receipt_records_both_buckets_details_audit_and_supplier_return(): voidSkenario uji mixed receipt records both buckets details audit and supplier return. Assertion aktual ditunjukkan di kolom bukti dan kode.API /api/pembelian, /api/pembelian/, /api/retur-pembelian
Tabel produk_cabang, pembelian
Assertion assertCreated, assertSame, assertOk, assertJsonPath
function test_all_damaged_goods_are_never_available_for_sale(): voidSkenario uji all damaged goods are never available for sale. Assertion aktual ditunjukkan di kolom bukti dan kode.API /api/pembelian, /api/penjualan
Tabel produk_cabang
Assertion assertCreated, assertSame, assertStatus
function invalidConditions(): arrayHelper pengujian invalidConditions. Dipakai membangun input, request, fixture, proses database atau pembandingan hasil sesuai kode.return [[-1, 'Rusak'], [6, 'Rusak'], [1.5, 'Rusak'], [1, ''], [1, ' ']];
function test_invalid_damage_is_rejected_without_any_stock_write(int|float $quantity, string $note): voidSkenario uji invalid damage is rejected without any stock write. Assertion aktual ditunjukkan di kolom bukti dan kode.API /api/pembelian
Tabel pembelian, produk_cabang
Assertion assertUnprocessable, assertSame
function test_legacy_receipt_payload_remains_all_good(): voidSkenario uji legacy receipt payload remains all good. Assertion aktual ditunjukkan di kolom bukti dan kode.API /api/pembelian
Tabel produk_cabang
Assertion assertCreated, assertSame
function test_audit_failure_rolls_back_the_whole_receipt(): voidSkenario uji audit failure rolls back the whole receipt. Assertion aktual ditunjukkan di kolom bukti dan kode.API /api/pembelian
Tabel pembelian, produk_cabang
Assertion assertStatus, assertSame
function test_quarantine_overflow_rolls_back_receipt(): voidSkenario uji quarantine overflow rolls back receipt. Assertion aktual ditunjukkan di kolom bukti dan kode.API /api/pembelian
Tabel produk_cabang, pembelian
Assertion assertStatus, assertSame
Dependensi kode proyek yang diimpor
Buka kode asli bernomor baris

Kode hanya ditampilkan sebagai teks. Tidak dieksekusi oleh panduan. Nomor baris mengikuti sumber yang dibaca.

Identitas snapshot

SHA-256 fd6899b2092ccc82acfc10e89cdf401cb973c8ba05da4d0e46d5181cca801230

tests/Feature/DashboardSummaryTest.php75 baris · 3 fungsi bernama
Unggahan sumber 17 OktoberSkenario teknis, bukan hasil UAT

Untuk apa

Kode pengujian atau dukungan pengujian DashboardSummaryTest.php. Skenario dan assertion dibaca langsung dari fungsi atau test pada berkas ini.

Jika diminta mengubah

Edit skenario jika perilaku yang diharapkan berubah. Keberadaan file tidak menyatakan tes sudah dijalankan atau lulus UAT manusia.

Fungsi dan metode

Fungsi dan input atau hasilPenjelasan singkatBukti source
function test_cashier_dashboard_is_branch_scoped_and_uses_operational_counts(): voidSkenario uji cashier dashboard is branch scoped and uses operational counts. Assertion aktual ditunjukkan di kolom bukti dan kode.API /api/dashboard-summary
Tabel produk_cabang, penjualan
Assertion assertOk, assertJsonPath, assertJsonMissingPath, assertTrue
function test_technician_dashboard_does_not_expose_sales_or_management_counts(): voidSkenario uji technician dashboard does not expose sales or management counts. Assertion aktual ditunjukkan di kolom bukti dan kode.API /api/dashboard-summary
Tabel pelanggan, servis
Assertion assertOk, assertJsonPath, assertJsonMissingPath
function test_dashboard_requires_authenticated_tenant_context(): voidSkenario uji dashboard requires authenticated tenant context. Assertion aktual ditunjukkan di kolom bukti dan kode.API /api/dashboard-summary
Assertion assertUnauthorized
Dependensi kode proyek yang diimpor
Buka kode asli bernomor baris

Kode hanya ditampilkan sebagai teks. Tidak dieksekusi oleh panduan. Nomor baris mengikuti sumber yang dibaca.

Identitas snapshot

SHA-256 b41a40080f33a077785cdb1e0cad99631fc120a5803971ab068c7e6a1427947c

tests/Feature/DeploymentArtifactsTest.php136 baris · 14 fungsi bernama
Unggahan sumber 17 OktoberSkenario teknis, bukan hasil UAT

Untuk apa

Kode pengujian atau dukungan pengujian DeploymentArtifactsTest.php. Skenario dan assertion dibaca langsung dari fungsi atau test pada berkas ini.

Jika diminta mengubah

Edit skenario jika perilaku yang diharapkan berubah. Keberadaan file tidak menyatakan tes sudah dijalankan atau lulus UAT manusia.

Fungsi dan metode

Fungsi dan input atau hasilPenjelasan singkatBukti source
function test_compose_uses_two_tenant_application_containers(): voidSkenario uji compose uses two tenant application containers. Assertion aktual ditunjukkan di kolom bukti dan kode.Assertion assertStringContainsString
function test_compose_runs_reverb_and_scheduler_separately(): voidSkenario uji compose runs reverb and scheduler separately. Assertion aktual ditunjukkan di kolom bukti dan kode.Assertion assertStringContainsString
function test_nginx_routes_internal_requests_using_non_authoritative_instance_cookie(): voidSkenario uji nginx routes internal requests using non authoritative instance cookie. Assertion aktual ditunjukkan di kolom bukti dan kode.Assertion assertStringContainsString
function test_nginx_has_login_public_rate_limits_and_connection_limits(): voidSkenario uji nginx has login public rate limits and connection limits. Assertion aktual ditunjukkan di kolom bukti dan kode.Assertion assertStringContainsString
function test_backup_is_locked_atomic_and_has_completion_marker(): voidSkenario uji backup is locked atomic and has completion marker. Assertion aktual ditunjukkan di kolom bukti dan kode.Assertion assertStringContainsString, assertStringNotContainsString
function test_restore_drill_restores_then_cleans_up_temporary_databases(): voidSkenario uji restore drill restores then cleans up temporary databases. Assertion aktual ditunjukkan di kolom bukti dan kode.Assertion assertStringContainsString
function test_deployment_scripts_do_not_embed_database_passwords(): voidSkenario uji deployment scripts do not embed database passwords. Assertion aktual ditunjukkan di kolom bukti dan kode.Assertion assertStringNotContainsString
function test_production_environment_template_requires_secure_transport_and_reverb(): voidSkenario uji production environment template requires secure transport and reverb. Assertion aktual ditunjukkan di kolom bukti dan kode.Assertion assertStringContainsString
function test_production_environment_template_contains_placeholders_not_real_secrets(): voidSkenario uji production environment template contains placeholders not real secrets. Assertion aktual ditunjukkan di kolom bukti dan kode.Assertion assertStringContainsString, assertStringNotContainsString
function test_deployment_checklist_covers_preflight_smoke_pwa_backup_and_restore(): voidSkenario uji deployment checklist covers preflight smoke pwa backup and restore. Assertion aktual ditunjukkan di kolom bukti dan kode.Assertion assertStringContainsStringIgnoringCase
function test_production_template_requires_remote_log_and_alert_receiver_placeholders(): voidSkenario uji production template requires remote log and alert receiver placeholders. Assertion aktual ditunjukkan di kolom bukti dan kode.Assertion assertStringContainsString
function test_external_tls_wss_script_verifies_certificate_and_websocket_upgrade(): voidSkenario uji external tls wss script verifies certificate and websocket upgrade. Assertion aktual ditunjukkan di kolom bukti dan kode.Assertion assertStringContainsString, assertStringNotContainsString
function test_fault_drill_is_explicitly_guarded_for_disposable_runtime(): voidSkenario uji fault drill is explicitly guarded for disposable runtime. Assertion aktual ditunjukkan di kolom bukti dan kode.Assertion assertStringContainsString
function test_release_evidence_verifier_requires_provenance_sbom_and_checksums(): voidSkenario uji release evidence verifier requires provenance sbom and checksums. Assertion aktual ditunjukkan di kolom bukti dan kode.Assertion assertStringContainsString
Buka kode asli bernomor baris

Kode hanya ditampilkan sebagai teks. Tidak dieksekusi oleh panduan. Nomor baris mengikuti sumber yang dibaca.

Identitas snapshot

SHA-256 51f6a40f2cb5b4a723d3b3b7b46a1f32e62c6665bb32ce332fc07d3d5046d90e

tests/Feature/DeploymentSecurityTest.php68 baris · 6 fungsi bernama
Unggahan sumber 17 OktoberSkenario teknis, bukan hasil UAT

Untuk apa

Kode pengujian atau dukungan pengujian DeploymentSecurityTest.php. Skenario dan assertion dibaca langsung dari fungsi atau test pada berkas ini.

Jika diminta mengubah

Edit skenario jika perilaku yang diharapkan berubah. Keberadaan file tidak menyatakan tes sudah dijalankan atau lulus UAT manusia.

Fungsi dan metode

Fungsi dan input atau hasilPenjelasan singkatBukti source
function test_runtime_container_does_not_run_as_root_and_does_not_auto_migrate(): voidSkenario uji runtime container does not run as root and does not auto migrate. Assertion aktual ditunjukkan di kolom bukti dan kode.Assertion assertStringContainsString, assertStringNotContainsString
function test_nginx_forces_https_and_proxies_websocket_upgrade(): voidSkenario uji nginx forces https and proxies websocket upgrade. Assertion aktual ditunjukkan di kolom bukti dan kode.Assertion assertStringContainsString
function test_backup_script_covers_exactly_the_three_business_databases_without_embedding_passwords(): voidSkenario uji backup script covers exactly the three business databases without embedding passwords. Assertion aktual ditunjukkan di kolom bukti dan kode.Assertion assertStringContainsString, assertStringNotContainsString
function test_backup_verification_checks_hashes_and_pg_restore_catalog(): voidSkenario uji backup verification checks hashes and pg restore catalog. Assertion aktual ditunjukkan di kolom bukti dan kode.Assertion assertStringContainsString
function test_php_runtime_hides_version_and_enables_opcache(): voidSkenario uji php runtime hides version and enables opcache. Assertion aktual ditunjukkan di kolom bukti dan kode.Assertion assertStringContainsString
function test_docker_context_excludes_runtime_secrets_and_heavy_local_dependencies(): voidSkenario uji docker context excludes runtime secrets and heavy local dependencies. Assertion aktual ditunjukkan di kolom bukti dan kode.Assertion assertStringContainsString
Buka kode asli bernomor baris

Kode hanya ditampilkan sebagai teks. Tidak dieksekusi oleh panduan. Nomor baris mengikuti sumber yang dibaca.

Identitas snapshot

SHA-256 651e3b589bb1ec410ad1269aeeae06d54ce6bf7ca6fd433eb19a324eb9c526d3

tests/Feature/DistributedTransactionTest.php211 baris · 12 fungsi bernama
Unggahan sumber 17 OktoberSkenario teknis, bukan hasil UAT

Untuk apa

Kode pengujian atau dukungan pengujian DistributedTransactionTest.php. Skenario dan assertion dibaca langsung dari fungsi atau test pada berkas ini.

Jika diminta mengubah

Edit skenario jika perilaku yang diharapkan berubah. Keberadaan file tidak menyatakan tes sudah dijalankan atau lulus UAT manusia.

Fungsi dan metode

Fungsi dan input atau hasilPenjelasan singkatBukti source
function setUp(): voidMenyiapkan atau membersihkan lingkungan tes milik suite ini. Periksa penjagaan schema dan target sebelum menjalankan.Panggilan database.start
function tearDown(): voidMenyiapkan atau membersihkan lingkungan tes milik suite ini. Periksa penjagaan schema dan target sebelum menjalankan.Panggilan database.cleanup
function windows(): arrayHelper pengujian windows. Dipakai membangun input, request, fixture, proses database atau pembandingan hasil sesuai kode.return [
function test_real_postgresql_failure_windows_recover_atomically_and_idempotently(string $window, bool $committed): voidSkenario uji real postgresql failure windows recover atomically and idempotently. Assertion aktual ditunjukkan di kolom bukti dan kode.Tabel distributed_transactions, transaction_probe
Assertion assertContains, assertCount, assertSuccessful, assertSame, assertNotNull
function test_owned_orphan_without_coordinator_is_rolled_back(): voidSkenario uji owned orphan without coordinator is rolled back. Assertion aktual ditunjukkan di kolom bukti dan kode.Tabel distributed_transactions, transaction_probe
Assertion assertSame, assertCount, assertSuccessful
function test_foreign_and_unrecognized_prepared_transactions_are_untouched(): voidSkenario uji foreign and unrecognized prepared transactions are untouched. Assertion aktual ditunjukkan di kolom bukti dan kode.Tabel transaction_probe
Assertion assertSuccessful, assertNotNull
function test_recovery_skips_live_coordinator_and_recovers_after_process_dies(): voidSkenario uji recovery skips live coordinator and recovers after process dies. Assertion aktual ditunjukkan di kolom bukti dan kode.Tabel distributed_transactions
Assertion assertStringContainsString, assertSame, assertCount, assertSuccessful
function test_nested_transaction_is_rejected_before_any_coordinator_write(): voidSkenario uji nested transaction is rejected before any coordinator write. Assertion aktual ditunjukkan di kolom bukti dan kode.Tabel distributed_transactions
Assertion assertSame
function prepared(array $participants): arrayHelper pengujian prepared. Dipakai membangun input, request, fixture, proses database atau pembandingan hasil sesuai kode.Tabel pg_prepared_xacts
function worker(string $window): ProcessHelper pengujian worker. Dipakai membangun input, request, fixture, proses database atau pembandingan hasil sesuai kode.return $worker;
function runWorker(): voidHelper pengujian runWorker. Dipakai membangun input, request, fixture, proses database atau pembandingan hasil sesuai kode.Tabel transaction_probe
function checkpoint(string $phase, string $global, ?string $participant = null): voidHelper pengujian checkpoint. Dipakai membangun input, request, fixture, proses database atau pembandingan hasil sesuai kode.Lihat signature dan isi fungsi.
Dependensi kode proyek yang diimpor
Buka kode asli bernomor baris

Kode hanya ditampilkan sebagai teks. Tidak dieksekusi oleh panduan. Nomor baris mengikuti sumber yang dibaca.

Identitas snapshot

SHA-256 cde023e098b77eeac14fcd69cc5c23e49b1d158f47f0e2fc708313205f71b427

tests/Feature/DomainModelTest.php94 baris · 6 fungsi bernama
Unggahan sumber 17 OktoberSkenario teknis, bukan hasil UAT

Untuk apa

Kode pengujian atau dukungan pengujian DomainModelTest.php. Skenario dan assertion dibaca langsung dari fungsi atau test pada berkas ini.

Jika diminta mengubah

Edit skenario jika perilaku yang diharapkan berubah. Keberadaan file tidak menyatakan tes sudah dijalankan atau lulus UAT manusia.

Fungsi dan metode

Fungsi dan input atau hasilPenjelasan singkatBukti source
function test_all_domain_models_match_existing_schema_and_server_connection(): voidSkenario uji all domain models match existing schema and server connection. Assertion aktual ditunjukkan di kolom bukti dan kode.Assertion assertSame, assertTrue
function test_tenant_model_refuses_missing_context(): voidSkenario uji tenant model refuses missing context. Assertion aktual ditunjukkan di kolom bukti dan kode.Lihat signature dan isi fungsi.
function test_tenant_model_refuses_a_connection_override(): voidSkenario uji tenant model refuses a connection override. Assertion aktual ditunjukkan di kolom bukti dan kode.Lihat signature dan isi fungsi.
function composites(): arrayHelper pengujian composites. Dipakai membangun input, request, fixture, proses database atau pembandingan hasil sesuai kode.return [[DetailMutasiStok::class], [ProdukCabang::class], [DetailPembelian::class], [DetailPenjualan::class], [SparepartServis::class]];
function test_composite_models_do_not_pretend_to_support_single_key_writes(string $class): voidSkenario uji composite models do not pretend to support single key writes. Assertion aktual ditunjukkan di kolom bukti dan kode.Assertion assertNull, assertFalse
function test_sensitive_and_inventory_attributes_are_not_mass_assignable(): voidSkenario uji sensitive and inventory attributes are not mass assignable. Assertion aktual ditunjukkan di kolom bukti dan kode.Assertion assertTrue
Dependensi kode proyek yang diimpor
Buka kode asli bernomor baris

Kode hanya ditampilkan sebagai teks. Tidak dieksekusi oleh panduan. Nomor baris mengikuti sumber yang dibaca.

Identitas snapshot

SHA-256 08811c0ae6b2d2d673ea49c66192e5a9b1e1bd330853e04e8a2dd127c77ed30a

tests/Feature/EmployeeInvitationAndOnlinePauseTest.php74 baris · 2 fungsi bernama
Unggahan sumber 17 OktoberSkenario teknis, bukan hasil UAT

Untuk apa

Kode pengujian atau dukungan pengujian EmployeeInvitationAndOnlinePauseTest.php. Skenario dan assertion dibaca langsung dari fungsi atau test pada berkas ini.

Jika diminta mengubah

Edit skenario jika perilaku yang diharapkan berubah. Keberadaan file tidak menyatakan tes sudah dijalankan atau lulus UAT manusia.

Fungsi dan metode

Fungsi dan input atau hasilPenjelasan singkatBukti source
function test_owner_invites_employee_who_sets_own_password_once(): voidSkenario uji owner invites employee who sets own password once. Assertion aktual ditunjukkan di kolom bukti dan kode.API /api/pengguna, /sanctum/csrf-cookie, /api/aktivasi-akun
Tabel employee_invitations
Assertion assertOk, assertCreated, assertJsonPath, assertNotNull, assertMatchesRegularExpression, assertStringNotContainsString, assertNoContent, assertSame, assertFalse, assertUnprocessable
function test_owner_can_pause_online_orders_without_disabling_internal_branch(): voidSkenario uji owner can pause online orders without disabling internal branch. Assertion aktual ditunjukkan di kolom bukti dan kode.API /api/cabang/, /api/online/cabang, /api/online/katalog?id_cabang=
Panggilan samanhudi.fresh
Assertion assertOk, assertSame, assertFalse, assertJsonMissing, assertStatus, assertTrue
Dependensi kode proyek yang diimpor
Buka kode asli bernomor baris

Kode hanya ditampilkan sebagai teks. Tidak dieksekusi oleh panduan. Nomor baris mengikuti sumber yang dibaca.

Identitas snapshot

SHA-256 8fdeb41da02f79c5affe72970ca6619fec53b34b0c175b42eb9944bd1897631b

tests/Feature/EmployeeManagementTest.php109 baris · 5 fungsi bernama
Unggahan sumber 17 OktoberSkenario teknis, bukan hasil UAT

Untuk apa

Kode pengujian atau dukungan pengujian EmployeeManagementTest.php. Skenario dan assertion dibaca langsung dari fungsi atau test pada berkas ini.

Jika diminta mengubah

Edit skenario jika perilaku yang diharapkan berubah. Keberadaan file tidak menyatakan tes sudah dijalankan atau lulus UAT manusia.

Fungsi dan metode

Fungsi dan input atau hasilPenjelasan singkatBukti source
function test_owner_can_create_and_update_employee_without_exposing_password_hash(): voidSkenario uji owner can create and update employee without exposing password hash. Assertion aktual ditunjukkan di kolom bukti dan kode.Pemeriksaan hash
API /api/pengguna, /api/pengguna/{$id}
Assertion assertOk, assertCreated, assertJsonPath, assertJsonMissingPath, assertTrue, assertCount, assertSame
function test_non_owner_cannot_manage_employee_accounts(): voidSkenario uji non owner cannot manage employee accounts. Assertion aktual ditunjukkan di kolom bukti dan kode.API /api/pengguna
Assertion assertOk, assertForbidden
function test_owner_account_cannot_be_modified_from_employee_management_endpoint(): voidSkenario uji owner account cannot be modified from employee management endpoint. Assertion aktual ditunjukkan di kolom bukti dan kode.API /api/pengguna/{$owner->id_pengguna}
Assertion assertOk, assertUnprocessable, assertNotSame
function test_employee_management_accepts_admin_role_and_rejects_inactive_branch(): voidSkenario uji employee management accepts admin role and rejects inactive branch. Assertion aktual ditunjukkan di kolom bukti dan kode.API /api/pengguna
Panggilan peganden.forceFill
Assertion assertOk, assertCreated, assertJsonPath, assertForbidden
function test_inventory_response_contains_product_identity_for_end_user_page(): voidSkenario uji inventory response contains product identity for end user page. Assertion aktual ditunjukkan di kolom bukti dan kode.API /api/stok
Tabel produk_cabang
Assertion assertOk, assertJsonPath
Dependensi kode proyek yang diimpor
Buka kode asli bernomor baris

Kode hanya ditampilkan sebagai teks. Tidak dieksekusi oleh panduan. Nomor baris mengikuti sumber yang dibaca.

Identitas snapshot

SHA-256 be8e15e7cd216652111b4036b353290bc0b3b878b3e2b60d48d086c8b63b4ab0

tests/Feature/EndUserDeepUsabilityTest.php132 baris · 5 fungsi bernama
Unggahan sumber 17 OktoberSkenario teknis, bukan hasil UAT

Untuk apa

Kode pengujian atau dukungan pengujian EndUserDeepUsabilityTest.php. Skenario dan assertion dibaca langsung dari fungsi atau test pada berkas ini.

Jika diminta mengubah

Edit skenario jika perilaku yang diharapkan berubah. Keberadaan file tidak menyatakan tes sudah dijalankan atau lulus UAT manusia.

Fungsi dan metode

Fungsi dan input atau hasilPenjelasan singkatBukti source
function test_customer_detail_is_tenant_scoped_and_contains_operational_history(): voidSkenario uji customer detail is tenant scoped and contains operational history. Assertion aktual ditunjukkan di kolom bukti dan kode.API /api/pelanggan/{$customer}
Tabel pelanggan, penjualan, detail_penjualan, servis, klaim_garansi
Assertion assertOk, assertJsonPath, assertNotFound
function test_employee_page_exposes_safe_lockout_state_and_summary_without_password_hash(): voidSkenario uji employee page exposes safe lockout state and summary without password hash. Assertion aktual ditunjukkan di kolom bukti dan kode.API /api/pengguna?security=locked
Assertion assertOk, assertJsonPath, assertJsonMissingPath, assertNotNull
function test_master_data_summary_matches_filters(): voidSkenario uji master data summary matches filters. Assertion aktual ditunjukkan di kolom bukti dan kode.API /api/owner/cabang-aktif, /api/produk?q=Satu
Assertion assertOk, assertJsonPath
function test_inventory_supports_operational_sorting(): voidSkenario uji inventory supports operational sorting. Assertion aktual ditunjukkan di kolom bukti dan kode.API /api/stok?sort=stok_terendah, /api/stok?sort=stok_tertinggi, /api/stok?sort=karantina_tertinggi, /api/stok?sort=drop-table
Tabel produk_cabang
Assertion assertOk, assertJsonPath, assertUnprocessable
function test_purchase_history_filters_supplier_and_date_and_returns_summary(): voidSkenario uji purchase history filters supplier and date and returns summary. Assertion aktual ditunjukkan di kolom bukti dan kode.API /api/pembelian?id_supplier=, /api/pembelian?dari=2026-09-26&sampai=2026-09-20
Tabel pembelian, detail_pembelian
Assertion assertOk, assertJsonCount, assertJsonPath, assertUnprocessable
Dependensi kode proyek yang diimpor
Buka kode asli bernomor baris

Kode hanya ditampilkan sebagai teks. Tidak dieksekusi oleh panduan. Nomor baris mengikuti sumber yang dibaca.

Identitas snapshot

SHA-256 efa2ef929568738e758813a69e80adbc58b48c7b070fdc0fed89f9bfef606534

tests/Feature/EndUserListSearchTest.php43 baris · 3 fungsi bernama
Unggahan sumber 17 OktoberSkenario teknis, bukan hasil UAT

Untuk apa

Kode pengujian atau dukungan pengujian EndUserListSearchTest.php. Skenario dan assertion dibaca langsung dari fungsi atau test pada berkas ini.

Jika diminta mengubah

Edit skenario jika perilaku yang diharapkan berubah. Keberadaan file tidak menyatakan tes sudah dijalankan atau lulus UAT manusia.

Fungsi dan metode

Fungsi dan input atau hasilPenjelasan singkatBukti source
function test_inventory_search_uses_server_side_product_identity_and_keeps_tenant_scope(): voidSkenario uji inventory search uses server side product identity and keeps tenant scope. Assertion aktual ditunjukkan di kolom bukti dan kode.API /api/stok?q=SEARCH-INV-001
Assertion assertOk, assertJsonPath
function test_admin_can_search_supplier_and_branch_master_lists(): voidSkenario uji admin can search supplier and branch master lists. Assertion aktual ditunjukkan di kolom bukti dan kode.API /api/supplier?q=Pencarian%20Khusus, /api/cabang?q=Samanhudi
Assertion assertOk, assertJsonPath
function stock(int $product, int $quantity): voidHelper pengujian stock. Dipakai membangun input, request, fixture, proses database atau pembandingan hasil sesuai kode.Tabel produk_cabang
Dependensi kode proyek yang diimpor
Buka kode asli bernomor baris

Kode hanya ditampilkan sebagai teks. Tidak dieksekusi oleh panduan. Nomor baris mengikuti sumber yang dibaca.

Identitas snapshot

SHA-256 94a3a7836260bdb63b869ae83872977c23cc28d774d70c6830e24e36917e0c6a

tests/Feature/EndUserOperationalPolishTest.php124 baris · 5 fungsi bernama
Unggahan sumber 17 OktoberSkenario teknis, bukan hasil UAT

Untuk apa

Kode pengujian atau dukungan pengujian EndUserOperationalPolishTest.php. Skenario dan assertion dibaca langsung dari fungsi atau test pada berkas ini.

Jika diminta mengubah

Edit skenario jika perilaku yang diharapkan berubah. Keberadaan file tidak menyatakan tes sudah dijalankan atau lulus UAT manusia.

Fungsi dan metode

Fungsi dan input atau hasilPenjelasan singkatBukti source
function test_inventory_summary_respects_search_and_stock_filter(): voidSkenario uji inventory summary respects search and stock filter. Assertion aktual ditunjukkan di kolom bukti dan kode.API /api/stok?status=karantina&q=SUM-QUARANTINE
Tabel produk_cabang
Assertion assertOk, assertJsonPath
function test_owner_employee_filters_are_server_side_and_allowlisted(): voidSkenario uji owner employee filters are server side and allowlisted. Assertion aktual ditunjukkan di kolom bukti dan kode.API /api/pengguna?q=Admin%20Filter&role=admin&status=nonaktif&id_cabang=, /api/pengguna?role=superadmin, /api/pengguna?status=hapus
Assertion assertOk, assertJsonPath, assertUnprocessable
function test_admin_master_status_filters_do_not_mix_active_and_inactive_rows(): voidSkenario uji admin master status filters do not mix active and inactive rows. Assertion aktual ditunjukkan di kolom bukti dan kode.API /api/produk?status=aktif&q=STATUS-, /api/produk?status=nonaktif&q=STATUS-, /api/cabang?status=nonaktif, /api/produk?status=hapus
Panggilan peganden.forceFill
Assertion assertOk, assertJsonPath, assertUnprocessable
function test_purchase_history_searches_supplier_and_returns_readable_totals(): voidSkenario uji purchase history searches supplier and returns readable totals. Assertion aktual ditunjukkan di kolom bukti dan kode.API /api/pembelian?q=
Tabel pembelian, detail_pembelian
Assertion assertOk, assertJsonPath
function test_pos_history_search_and_status_are_server_side(): voidSkenario uji pos history search and status are server side. Assertion aktual ditunjukkan di kolom bukti dan kode.API /api/penjualan, /api/penjualan?q=, /api/penjualan?status=tidak-valid
Tabel produk_cabang
Assertion assertOk, assertCreated, assertJsonPath, assertUnprocessable
Dependensi kode proyek yang diimpor
Buka kode asli bernomor baris

Kode hanya ditampilkan sebagai teks. Tidak dieksekusi oleh panduan. Nomor baris mengikuti sumber yang dibaca.

Identitas snapshot

SHA-256 445801294fdb23f63f14a62ba4957427bd2dc4e84f78f412b5e0295c3ccd4131

tests/Feature/ExampleTest.php19 baris · 1 fungsi bernama
Unggahan sumber 17 OktoberSkenario teknis, bukan hasil UAT

Untuk apa

Kode pengujian atau dukungan pengujian ExampleTest.php. Skenario dan assertion dibaca langsung dari fungsi atau test pada berkas ini.

Jika diminta mengubah

Edit skenario jika perilaku yang diharapkan berubah. Keberadaan file tidak menyatakan tes sudah dijalankan atau lulus UAT manusia.

Fungsi dan metode

Fungsi dan input atau hasilPenjelasan singkatBukti source
function test_the_application_returns_a_successful_response(): voidSkenario uji the application returns a successful response. Assertion aktual ditunjukkan di kolom bukti dan kode.Assertion assertStatus
Buka kode asli bernomor baris

Kode hanya ditampilkan sebagai teks. Tidak dieksekusi oleh panduan. Nomor baris mengikuti sumber yang dibaca.

Identitas snapshot

SHA-256 aaa4a192fb4aa96d4e81eda06a29968da3d9a73b71026b87a67297e66dd985b8

tests/Feature/FinalRoleSecurityTest.php102 baris · 5 fungsi bernama
Unggahan sumber 17 OktoberSkenario teknis, bukan hasil UAT

Untuk apa

Kode pengujian atau dukungan pengujian FinalRoleSecurityTest.php. Skenario dan assertion dibaca langsung dari fungsi atau test pada berkas ini.

Jika diminta mengubah

Edit skenario jika perilaku yang diharapkan berubah. Keberadaan file tidak menyatakan tes sudah dijalankan atau lulus UAT manusia.

Fungsi dan metode

Fungsi dan input atau hasilPenjelasan singkatBukti source
function test_role_policy_is_centralized_and_admin_has_front_desk_but_not_technical_or_owner_authority(): voidSkenario uji role policy is centralized and admin has front desk but not technical or owner authority. Assertion aktual ditunjukkan di kolom bukti dan kode.Assertion assertSame, assertTrue, assertFalse
function test_owner_uses_cashier_and_technician_capabilities_without_bypassing_tenant_selection(): voidSkenario uji owner uses cashier and technician capabilities without bypassing tenant selection. Assertion aktual ditunjukkan di kolom bukti dan kode.Respons JSON
API /api/_test-capability-, /api/owner/cabang-aktif, /api/produk?aktif=1, /api/stok, /api/_test-capability-teknisi, /api/_test-capability-kasir
Assertion assertOk, assertStatus, assertJsonPath, assertForbidden
function approvalConstraints(): arrayHelper pengujian approvalConstraints. Dipakai membangun input, request, fixture, proses database atau pembandingan hasil sesuai kode.return [
function test_owner_superrole_cannot_override_existing_database_separation_of_duties( string $connection, string $table, string $key, string $constraint, ): voidSkenario uji owner superrole cannot override existing database separation of duties. Assertion aktual ditunjukkan di kolom bukti dan kode.Batas transaksi
Assertion assertTrue, assertSame, assertStringContainsString, assertNull
function test_inactive_selected_tenant_does_not_block_owner_from_recovering_global_branch_master(): voidSkenario uji inactive selected tenant does not block owner from recovering global branch master. Assertion aktual ditunjukkan di kolom bukti dan kode.API /api/owner/cabang-aktif, /api/cabang/, /api/stok, /api/cabang
Panggilan samanhudi.fresh
Assertion assertOk, assertForbidden, assertSame
Dependensi kode proyek yang diimpor
Buka kode asli bernomor baris

Kode hanya ditampilkan sebagai teks. Tidak dieksekusi oleh panduan. Nomor baris mengikuti sumber yang dibaca.

Identitas snapshot

SHA-256 b2b56fa9c9b0b9358c388f2a4750b7325aa2daa380ebcd10e3fc3eb4eb237693

tests/Feature/GlobalIntegrityVerificationTest.php112 baris · 5 fungsi bernama
Unggahan sumber 17 OktoberSkenario teknis, bukan hasil UAT

Untuk apa

Kode pengujian atau dukungan pengujian GlobalIntegrityVerificationTest.php. Skenario dan assertion dibaca langsung dari fungsi atau test pada berkas ini.

Jika diminta mengubah

Edit skenario jika perilaku yang diharapkan berubah. Keberadaan file tidak menyatakan tes sudah dijalankan atau lulus UAT manusia.

Fungsi dan metode

Fungsi dan input atau hasilPenjelasan singkatBukti source
function test_global_ivp_accepts_valid_master_and_both_active_tenants(): voidSkenario uji global ivp accepts valid master and both active tenants. Assertion aktual ditunjukkan di kolom bukti dan kode.Assertion assertSuccessful
function test_global_ivp_replays_valid_purchase_and_preserves_cdi(): voidSkenario uji global ivp replays valid purchase and preserves cdi. Assertion aktual ditunjukkan di kolom bukti dan kode.Tabel produk_cabang
Assertion assertSuccessful, assertSame
function test_global_ivp_rejects_cross_tenant_or_unknown_inventory_reference(): voidSkenario uji global ivp rejects cross tenant or unknown inventory reference. Assertion aktual ditunjukkan di kolom bukti dan kode.Tabel produk_cabang
Assertion assertFailed
function test_global_ivp_rejects_invalid_distributed_transaction_participant_map(): voidSkenario uji global ivp rejects invalid distributed transaction participant map. Assertion aktual ditunjukkan di kolom bukti dan kode.Tabel distributed_transactions
Assertion assertFailed
function test_global_ivp_rejects_non_json_audit_snapshot(): voidSkenario uji global ivp rejects non json audit snapshot. Assertion aktual ditunjukkan di kolom bukti dan kode.Tabel audit_log
Assertion assertFailed
Dependensi kode proyek yang diimpor
Buka kode asli bernomor baris

Kode hanya ditampilkan sebagai teks. Tidak dieksekusi oleh panduan. Nomor baris mengikuti sumber yang dibaca.

Identitas snapshot

SHA-256 167f30df022905415b5bfdec4aa0145d97a32cfab2178650f4d0a3c0b170fab5

tests/Feature/GuestOnlineSaleSchemaTest.php107 baris · 5 fungsi bernama
Unggahan sumber 17 OktoberSkenario teknis, bukan hasil UAT

Untuk apa

Kode pengujian atau dukungan pengujian GuestOnlineSaleSchemaTest.php. Skenario dan assertion dibaca langsung dari fungsi atau test pada berkas ini.

Jika diminta mengubah

Edit skenario jika perilaku yang diharapkan berubah. Keberadaan file tidak menyatakan tes sudah dijalankan atau lulus UAT manusia.

Fungsi dan metode

Fungsi dan input atau hasilPenjelasan singkatBukti source
function tenantConnections(): arrayHelper pengujian tenantConnections. Dipakai membangun input, request, fixture, proses database atau pembandingan hasil sesuai kode.return [
function test_online_sale_allows_null_internal_user(string $connection): voidSkenario uji online sale allows null internal user. Assertion aktual ditunjukkan di kolom bukti dan kode.Tabel penjualan
Assertion assertSame, assertNull
function test_offline_sale_rejects_null_internal_user(string $connection): voidSkenario uji offline sale rejects null internal user. Assertion aktual ditunjukkan di kolom bukti dan kode.Batas transaksi
Tabel penjualan
Assertion assertSame, assertStringContainsString
function test_offline_sale_with_internal_user_remains_valid(string $connection): voidSkenario uji offline sale with internal user remains valid. Assertion aktual ditunjukkan di kolom bukti dan kode.Tabel penjualan
Assertion assertSame
function test_online_sale_may_also_have_internal_user(string $connection): voidSkenario uji online sale may also have internal user. Assertion aktual ditunjukkan di kolom bukti dan kode.Tabel penjualan
Assertion assertSame
Buka kode asli bernomor baris

Kode hanya ditampilkan sebagai teks. Tidak dieksekusi oleh panduan. Nomor baris mengikuti sumber yang dibaca.

Identitas snapshot

SHA-256 c73ebef60fd03b7a1a4623acd607fb3e8d15bf8509db98ee648bf4296d679c9d

tests/Feature/GuestTrackingCodeTest.php54 baris · 1 fungsi bernama
Unggahan sumber 17 OktoberSkenario teknis, bukan hasil UAT

Untuk apa

Kode pengujian atau dukungan pengujian GuestTrackingCodeTest.php. Skenario dan assertion dibaca langsung dari fungsi atau test pada berkas ini.

Jika diminta mengubah

Edit skenario jika perilaku yang diharapkan berubah. Keberadaan file tidak menyatakan tes sudah dijalankan atau lulus UAT manusia.

Fungsi dan metode

Fungsi dan input atau hasilPenjelasan singkatBukti source
function test_tracking_code_is_stored_securely_but_not_exposed_before_payment(): voidSkenario uji tracking code is stored securely but not exposed before payment. Assertion aktual ditunjukkan di kolom bukti dan kode.API /sanctum/csrf-cookie, /api/online/checkout, /api/online/status-kode
Tabel produk_cabang, penjualan
Assertion assertNoContent, assertCreated, assertJsonMissingPath, assertNotNull, assertMatchesRegularExpression, assertSame, assertOk, assertJsonPath, assertNotFound, assertUnprocessable
Dependensi kode proyek yang diimpor
Buka kode asli bernomor baris

Kode hanya ditampilkan sebagai teks. Tidak dieksekusi oleh panduan. Nomor baris mengikuti sumber yang dibaca.

Identitas snapshot

SHA-256 7a393b673cf7bd4c0dd7bea4ccc477c690b146bb2411fd90d3d5f7400e6d3b46

tests/Feature/InstallClarkWilsonE1Test.php295 baris · 17 fungsi bernama
Unggahan sumber 17 OktoberSkenario teknis, bukan hasil UAT

Untuk apa

Kode pengujian atau dukungan pengujian InstallClarkWilsonE1Test.php. Skenario dan assertion dibaca langsung dari fungsi atau test pada berkas ini.

Jika diminta mengubah

Edit skenario jika perilaku yang diharapkan berubah. Keberadaan file tidak menyatakan tes sudah dijalankan atau lulus UAT manusia.

Fungsi dan metode

Fungsi dan input atau hasilPenjelasan singkatBukti source
function setUp(): voidMenyiapkan atau membersihkan lingkungan tes milik suite ini. Periksa penjagaan schema dan target sebelum menjalankan.Tabel produk_cabang
Panggilan postgres.start
function tearDown(): voidMenyiapkan atau membersihkan lingkungan tes milik suite ini. Periksa penjagaan schema dan target sebelum menjalankan.Panggilan postgres.stop
function test_provisioning_is_idempotent_and_rejects_all_direct_dml_on_both_tenants(): voidSkenario uji provisioning is idempotent and rejects all direct dml on both tenants. Assertion aktual ditunjukkan di kolom bukti dan kode.Batas transaksi
Kunci baris perubahan
Kunci referensi baca
Tabel produk_cabang
Assertion assertSame, assertNotContains, assertCount, assertStringNotContainsString, assertNoAdminConnection, assertNull
function test_all_five_inventory_services_work_with_hardened_runtime_and_quarantine(): voidSkenario uji all five inventory services work with hardened runtime and quarantine. Assertion aktual ditunjukkan di kolom bukti dan kode.Batas transaksi
Tabel produk_cabang
Assertion assertSame
function test_inventory_tp_changes_roll_back_with_the_callers_failed_transaction(): voidSkenario uji inventory tp changes roll back with the callers failed transaction. Assertion aktual ditunjukkan di kolom bukti dan kode.Batas transaksi
Tabel produk_cabang
Assertion assertSame
function test_missing_credentials_do_not_fall_back_to_runtime_or_change_roles(): voidSkenario uji missing credentials do not fall back to runtime or change roles. Assertion aktual ditunjukkan di kolom bukti dan kode.Assertion assertSame, assertStringContainsString, assertUnchanged, assertNoAdminConnection
function test_runtime_credentials_cannot_be_used_for_provisioning(): voidSkenario uji runtime credentials cannot be used for provisioning. Assertion aktual ditunjukkan di kolom bukti dan kode.Assertion assertSame, assertStringContainsString, assertUnchanged, assertNoAdminConnection
function test_invalid_admin_password_is_redacted_and_admin_connections_are_purged(): voidSkenario uji invalid admin password is redacted and admin connections are purged. Assertion aktual ditunjukkan di kolom bukti dan kode.Assertion assertSame, assertStringNotContainsString, assertUnchanged, assertNoAdminConnection
function test_both_tenants_are_preflighted_before_any_hardening(): voidSkenario uji both tenants are preflighted before any hardening. Assertion aktual ditunjukkan di kolom bukti dan kode.Assertion assertSame, assertStringContainsString, assertUnchanged, assertNoAdminConnection
function test_late_ddl_failure_rolls_back_ownership_role_and_grants(): voidSkenario uji late ddl failure rolls back ownership role and grants. Assertion aktual ditunjukkan di kolom bukti dan kode.Assertion assertSame, assertUnchanged, assertNoAdminConnection
function test_status_detects_insert_delete_truncate_column_grants_and_disabled_guard(): voidSkenario uji status detects insert delete truncate column grants and disabled guard. Assertion aktual ditunjukkan di kolom bukti dan kode.Assertion assertFalse, assertSame, assertStringContainsString
function test_certified_tp_validates_sql_inputs_and_prevents_overdraw_after_lock_contention(): voidSkenario uji certified tp validates sql inputs and prevents overdraw after lock contention. Assertion aktual ditunjukkan di kolom bukti dan kode.Tabel produk_cabang
Assertion assertCount, assertSame
function install(): voidHelper pengujian install. Dipakai membangun input, request, fixture, proses database atau pembandingan hasil sesuai kode.Assertion assertSame
function credentials(string $username, string $password): voidHelper pengujian credentials. Dipakai membangun input, request, fixture, proses database atau pembandingan hasil sesuai kode.Lihat signature dan isi fungsi.
function denied(Connection $db, string $sql, string $state = '42501'): voidHelper pengujian denied. Dipakai membangun input, request, fixture, proses database atau pembandingan hasil sesuai kode.Batas transaksi
Assertion assertSame
function assertNoAdminConnection(): voidHelper pengujian assertNoAdminConnection. Dipakai membangun input, request, fixture, proses database atau pembandingan hasil sesuai kode.Assertion assertArrayNotHasKey, assertNull, assertSame
function assertUnchanged(): voidHelper pengujian assertUnchanged. Dipakai membangun input, request, fixture, proses database atau pembandingan hasil sesuai kode.Assertion assertSame, assertFalse, assertTrue
Dependensi kode proyek yang diimpor
Buka kode asli bernomor baris

Kode hanya ditampilkan sebagai teks. Tidak dieksekusi oleh panduan. Nomor baris mengikuti sumber yang dibaca.

Identitas snapshot

SHA-256 521a8994693ee5288d6142e21266cf6b88cc8fa638553cd12524f35a40bbcbb6

tests/Feature/InstitutionInvoiceTest.php183 baris · 13 fungsi bernama
Unggahan sumber 17 OktoberSkenario teknis, bukan hasil UAT

Untuk apa

Kode pengujian atau dukungan pengujian InstitutionInvoiceTest.php. Skenario dan assertion dibaca langsung dari fungsi atau test pada berkas ini.

Jika diminta mengubah

Edit skenario jika perilaku yang diharapkan berubah. Keberadaan file tidak menyatakan tes sudah dijalankan atau lulus UAT manusia.

Fungsi dan metode

Fungsi dan input atau hasilPenjelasan singkatBukti source
function sale(?Pengguna $actor = null): intHelper pengujian sale. Dipakai membangun input, request, fixture, proses database atau pembandingan hasil sesuai kode.API /api/owner/cabang-aktif, /api/pembelian, /api/penjualan
Assertion assertOk, assertCreated
function fields(): arrayHelper pengujian fields. Dipakai membangun input, request, fixture, proses database atau pembandingan hasil sesuai kode.return ['nama_instansi' => 'Sekolah Rajawali', 'alamat_instansi' => 'Gresik', 'nama_kontak' => 'Budi', 'nomor_po' => 'PO-B2B', 'catatan' => 'Admini
function draft(int $sale): intHelper pengujian draft. Dipakai membangun input, request, fixture, proses database atau pembandingan hasil sesuai kode.API /api/nota-instansi
Assertion assertCreated
function submit(int $id, Pengguna $owner, int $version = 1): stringHelper pengujian submit. Dipakai membangun input, request, fixture, proses database atau pembandingan hasil sesuai kode.API /api/nota-instansi/
Assertion assertOk, assertJsonPath
function asOwner(Pengguna $owner, bool $otherBranch = false): voidHelper pengujian asOwner. Dipakai membangun input, request, fixture, proses database atau pembandingan hasil sesuai kode.API /api/owner/cabang-aktif
Assertion assertOk
function test_document_is_one_to_one_uses_persisted_prices_and_preserves_stock(): voidSkenario uji document is one to one uses persisted prices and preserves stock. Assertion aktual ditunjukkan di kolom bukti dan kode.API /api/nota-instansi/, /api/nota-instansi, /api/nota-instansi/sumber, /api/nota-instansi?q=Sekolah&status=draft
Tabel produk_cabang
Assertion assertOk, assertJsonPath, assertJsonCount, assertJsonMissingPath, assertStatus, assertEquals, assertCount
function test_updates_require_current_version_and_pending_documents_are_immutable(): voidSkenario uji updates require current version and pending documents are immutable. Assertion aktual ditunjukkan di kolom bukti dan kode.API /api/nota-instansi/
Assertion assertOk, assertStatus
function test_signed_approval_enforces_sod_invalidates_token_and_records_history(): voidSkenario uji signed approval enforces sod invalidates token and records history. Assertion aktual ditunjukkan di kolom bukti dan kode.API /api/nota-instansi/, /api/laporan/nota-instansi?status=disetujui, /api/audit-log?tabel=nota_instansi
Tabel nota_instansi, penjualan
Assertion assertForbidden, assertOk, assertJsonPath, assertStatus, assertJsonCount, assertStringNotContainsString, assertNull, assertCount, assertSame
function test_wrong_branch_expiry_wrong_token_and_resend_are_enforced(): voidSkenario uji wrong branch expiry wrong token and resend are enforced. Assertion aktual ditunjukkan di kolom bukti dan kode.Tautan sementara
API /api/owner/cabang-aktif, /api/nota-instansi/
Tabel nota_instansi
Assertion assertNotFound, assertOk, assertForbidden, assertStatus
function test_rejection_can_be_corrected_and_resubmitted_without_reusing_link(): voidSkenario uji rejection can be corrected and resubmitted without reusing link. Assertion aktual ditunjukkan di kolom bukti dan kode.API /api/nota-instansi/
Assertion assertOk, assertForbidden, assertJsonPath, assertJsonCount
function test_role_tenant_and_input_boundaries_are_preserved(): voidSkenario uji role tenant and input boundaries are preserved. Assertion aktual ditunjukkan di kolom bukti dan kode.API /api/nota-instansi, /api/nota-instansi/
Assertion assertUnprocessable, assertOk, assertNotFound, assertForbidden
function test_audit_failure_rolls_back_document_and_history(): voidSkenario uji audit failure rolls back document and history. Assertion aktual ditunjukkan di kolom bukti dan kode.API /api/nota-instansi
Tabel nota_instansi, histori_nota_instansi
Assertion assertStatus, assertSame
function test_ivp_rejects_a_document_with_corrupted_source_total(): voidSkenario uji ivp rejects a document with corrupted source total. Assertion aktual ditunjukkan di kolom bukti dan kode.API /api/nota-instansi/
Tabel nota_instansi, histori_nota_instansi
Assertion assertStatus, assertSame
Dependensi kode proyek yang diimpor
Buka kode asli bernomor baris

Kode hanya ditampilkan sebagai teks. Tidak dieksekusi oleh panduan. Nomor baris mengikuti sumber yang dibaca.

Identitas snapshot

SHA-256 928057f1157b469a280f7c693c916a6e92411016e6b85305e51e6afccf728b83

tests/Feature/MasterDataTest.php216 baris · 16 fungsi bernama
Unggahan sumber 17 OktoberSkenario teknis, bukan hasil UAT

Untuk apa

Kode pengujian atau dukungan pengujian MasterDataTest.php. Skenario dan assertion dibaca langsung dari fungsi atau test pada berkas ini.

Jika diminta mengubah

Edit skenario jika perilaku yang diharapkan berubah. Keberadaan file tidak menyatakan tes sudah dijalankan atau lulus UAT manusia.

Fungsi dan metode

Fungsi dan input atau hasilPenjelasan singkatBukti source
function test_master_search_finds_a_new_supplier_and_product_after_the_first_page(): voidSkenario uji master search finds a new supplier and product after the first page. Assertion aktual ditunjukkan di kolom bukti dan kode.API /api/supplier, /api/produk, /api/supplier?q=Supplier%20Pilihan%20Akhir, /api/produk?q=PRD-AKHIR-9999&aktif=1
Assertion assertOk, assertNotContains, assertJsonPath
function productInput(array $overrides = []): arrayHelper pengujian productInput. Dipakai membangun input, request, fixture, proses database atau pembandingan hasil sesuai kode.return array_replace(['kode_produk' => 'PRD-NEW', 'nama_produk' => 'Keyboard', 'harga_jual' => 200000,
function test_admin_can_manage_operational_master_but_cannot_open_owner_controls(): voidSkenario uji admin can manage operational master but cannot open owner controls. Assertion aktual ditunjukkan di kolom bukti dan kode.API /api/supplier, /api/produk, /api/produk/, /api/cabang, /api/pengguna, /api/owner/cabang
Assertion assertOk, assertJsonPath, assertCreated, assertGreaterThan, assertForbidden, assertCount
function test_owner_creates_supplier_and_product_then_audits_price_change(): voidSkenario uji owner creates supplier and product then audits price change. Assertion aktual ditunjukkan di kolom bukti dan kode.API /api/supplier, /api/produk, /api/produk/
Assertion assertOk, assertCreated, assertJsonPath, assertSame, assertCount, assertJsonCount
function test_owner_can_manage_branches_and_global_master_without_selected_tenant(): voidSkenario uji owner can manage branches and global master without selected tenant. Assertion aktual ditunjukkan di kolom bukti dan kode.API /api/cabang, /api/owner/cabang, /api/cabang/
Assertion assertOk, assertCreated, assertJsonPath, assertJsonCount, assertCount
function test_mapped_branch_name_cannot_be_changed_to_break_tenant_mapping(): voidSkenario uji mapped branch name cannot be changed to break tenant mapping. Assertion aktual ditunjukkan di kolom bukti dan kode.API /api/cabang/, /api/owner/cabang-aktif, /api/me
Panggilan samanhudi.fresh
Assertion assertOk, assertUnprocessable, assertJsonValidationErrors, assertSame, assertJsonPath
function test_branch_mapping_allows_only_cosmetic_name_normalization_and_rejects_normalized_duplicates(): voidSkenario uji branch mapping allows only cosmetic name normalization and rejects normalized duplicates. Assertion aktual ditunjukkan di kolom bukti dan kode.API /api/cabang/, /api/owner/cabang-aktif, /api/me, /api/cabang
Tabel cabang
Panggilan samanhudi.fresh
Assertion assertOk, assertSame, assertJsonPath, assertUnprocessable, assertJsonValidationErrors
function test_branch_reactivation_requires_complete_tenant_schema(): voidSkenario uji branch reactivation requires complete tenant schema. Assertion aktual ditunjukkan di kolom bukti dan kode.API /api/cabang/
Panggilan samanhudi.fresh
Assertion assertOk, assertUnprocessable, assertJsonValidationErrors, assertSame
function test_owner_can_manage_branch_master_data_but_cannot_activate_an_unprovisioned_branch(): voidSkenario uji owner can manage branch master data but cannot activate an unprovisioned branch. Assertion aktual ditunjukkan di kolom bukti dan kode.API /api/cabang, /api/cabang/
Tabel cabang
Assertion assertOk, assertJsonCount, assertCreated, assertJsonPath, assertUnprocessable, assertJsonValidationErrors, assertSame, assertCount
function readOnlyRoles(): arrayHelper pengujian readOnlyRoles. Dipakai membangun input, request, fixture, proses database atau pembandingan hasil sesuai kode.return [['kasir'], ['teknisi']];
function test_read_only_roles_see_active_products_but_cannot_manage_master(string $role): voidSkenario uji read only roles see active products but cannot manage master. Assertion aktual ditunjukkan di kolom bukti dan kode.API /api/produk?aktif=0, /api/produk, /api/supplier, /api/cabang, /api/stok
Assertion assertOk, assertJsonCount, assertForbidden
function invalidProductFields(): arrayHelper pengujian invalidProductFields. Dipakai membangun input, request, fixture, proses database atau pembandingan hasil sesuai kode.return [['harga_jual', -1], ['harga_grosir', -1], ['min_qty_grosir', 0], ['masa_garansi', -1], ['stok_tersedia', 99], ['id_supplier', 1], ['connect
function test_product_validation_blocks_invalid_or_unmapped_fields(string $field, mixed $value): voidSkenario uji product validation blocks invalid or unmapped fields. Assertion aktual ditunjukkan di kolom bukti dan kode.API /api/produk
Assertion assertOk, assertUnprocessable, assertJsonValidationErrors, assertSame
function test_product_code_is_unique_and_master_has_no_delete_endpoints(): voidSkenario uji product code is unique and master has no delete endpoints. Assertion aktual ditunjukkan di kolom bukti dan kode.API /api/produk, /api/{$entity}/{$id}
Assertion assertOk, assertUnprocessable, assertStatus, assertSame
function test_master_audit_failure_rolls_back_master_change(): voidSkenario uji master audit failure rolls back master change. Assertion aktual ditunjukkan di kolom bukti dan kode.API /api/produk
Assertion assertOk, assertStatus, assertSame, assertCount
function test_master_mutations_require_csrf(): voidSkenario uji master mutations require csrf. Assertion aktual ditunjukkan di kolom bukti dan kode.API /api/produk
Assertion assertOk, assertStatus
Dependensi kode proyek yang diimpor
Buka kode asli bernomor baris

Kode hanya ditampilkan sebagai teks. Tidak dieksekusi oleh panduan. Nomor baris mengikuti sumber yang dibaca.

Identitas snapshot

SHA-256 372536c86e570a316333e0e7dcaa71fe2fa0dbfae32bf1c9ae60022219d074ca

tests/Feature/MasterRightsAuditTest.php125 baris · 6 fungsi bernama
Unggahan sumber 17 OktoberSkenario teknis, bukan hasil UAT

Untuk apa

Kode pengujian atau dukungan pengujian MasterRightsAuditTest.php. Skenario dan assertion dibaca langsung dari fungsi atau test pada berkas ini.

Jika diminta mengubah

Edit skenario jika perilaku yang diharapkan berubah. Keberadaan file tidak menyatakan tes sudah dijalankan atau lulus UAT manusia.

Fungsi dan metode

Fungsi dan input atau hasilPenjelasan singkatBukti source
function test_owner_can_view_durable_rights_history_without_email_or_password(): voidSkenario uji owner can view durable rights history without email or password. Assertion aktual ditunjukkan di kolom bukti dan kode.API /api/pengguna, /api/pengguna/, /api/pengguna/riwayat?id_subject=, /api/pengguna/riwayat
Tabel audit_hak_pengguna
Assertion assertOk, assertCreated, assertCount, assertSame, assertStringNotContainsString, assertJsonPath, assertHeader, assertForbidden
function test_master_audit_failure_rolls_back_employee_creation(): voidSkenario uji master audit failure rolls back employee creation. Assertion aktual ditunjukkan di kolom bukti dan kode.API /api/pengguna
Tabel audit_hak_pengguna
Assertion assertOk, assertStatus, assertDontSee, assertFalse, assertSame
function test_master_audit_failure_rolls_back_employee_role_update(): voidSkenario uji master audit failure rolls back employee role update. Assertion aktual ditunjukkan di kolom bukti dan kode.API /api/pengguna/
Tabel audit_hak_pengguna
Assertion assertOk, assertStatus, assertDontSee, assertSame, assertCount
function test_branch_reassignment_has_canonical_audit_and_noop_does_not_duplicate(): voidSkenario uji branch reassignment has canonical audit and noop does not duplicate. Assertion aktual ditunjukkan di kolom bukti dan kode.API /api/pengguna/
Tabel audit_hak_pengguna
Assertion assertOk, assertJsonPath, assertSame
function test_branch_assignment_rolls_back_when_master_audit_fails(): voidSkenario uji branch assignment rolls back when master audit fails. Assertion aktual ditunjukkan di kolom bukti dan kode.API /api/pengguna/
Tabel audit_hak_pengguna
Assertion assertOk, assertStatus, assertDontSee, assertSame, assertCount
function test_master_rights_audit_is_append_only_at_database_level(): voidSkenario uji master rights audit is append only at database level. Assertion aktual ditunjukkan di kolom bukti dan kode.Batas transaksi
API /api/pengguna/
Tabel audit_hak_pengguna
Assertion assertOk, assertSame, assertEquals
Dependensi kode proyek yang diimpor
Buka kode asli bernomor baris

Kode hanya ditampilkan sebagai teks. Tidak dieksekusi oleh panduan. Nomor baris mengikuti sumber yang dibaca.

Identitas snapshot

SHA-256 bfa726905c9224ac9e0c67af80f78ea8d8479d4eb7cfcf27058e2ea77354d5b9

tests/Feature/MasterRightsBoundaryTest.php110 baris · 4 fungsi bernama
Unggahan sumber 17 OktoberSkenario teknis, bukan hasil UAT

Untuk apa

Kode pengujian atau dukungan pengujian MasterRightsBoundaryTest.php. Skenario dan assertion dibaca langsung dari fungsi atau test pada berkas ini.

Jika diminta mengubah

Edit skenario jika perilaku yang diharapkan berubah. Keberadaan file tidak menyatakan tes sudah dijalankan atau lulus UAT manusia.

Fungsi dan metode

Fungsi dan input atau hasilPenjelasan singkatBukti source
function test_rights_processing_rechecks_actor_without_relying_on_http_middleware(string $entry, string $state, int $status): voidSkenario uji rights processing rechecks actor without relying on http middleware. Assertion aktual ditunjukkan di kolom bukti dan kode.Tabel pengguna, audit_hak_pengguna, audit_log
Assertion assertSame
function test_active_owner_service_locks_identity_and_records_one_canonical_change(): voidSkenario uji active owner service locks identity and records one canonical change. Assertion aktual ditunjukkan di kolom bukti dan kode.Tabel audit_hak_pengguna
Assertion assertSame, assertTrue
function unauthorizedActors(): iterableHelper pengujian unauthorizedActors. Dipakai membangun input, request, fixture, proses database atau pembandingan hasil sesuai kode.Lihat signature dan isi fungsi.
function process(string $entry, Pengguna $actor, int $subject): voidHelper pengujian process. Dipakai membangun input, request, fixture, proses database atau pembandingan hasil sesuai kode.API /api/pengguna/, /api/pengguna
Dependensi kode proyek yang diimpor
Buka kode asli bernomor baris

Kode hanya ditampilkan sebagai teks. Tidak dieksekusi oleh panduan. Nomor baris mengikuti sumber yang dibaca.

Identitas snapshot

SHA-256 62e6701d99a23c44c50f7dabdec54f25456f9a41bd0a541c63892bd915e48d31

tests/Feature/NotificationCenterTest.php108 baris · 6 fungsi bernama
Unggahan sumber 17 OktoberSkenario teknis, bukan hasil UAT

Untuk apa

Kode pengujian atau dukungan pengujian NotificationCenterTest.php. Skenario dan assertion dibaca langsung dari fungsi atau test pada berkas ini.

Jika diminta mengubah

Edit skenario jika perilaku yang diharapkan berubah. Keberadaan file tidak menyatakan tes sudah dijalankan atau lulus UAT manusia.

Fungsi dan metode

Fungsi dan input atau hasilPenjelasan singkatBukti source
function test_cashier_notification_center_reports_branch_tasks_without_pii(): voidSkenario uji cashier notification center reports branch tasks without pii. Assertion aktual ditunjukkan di kolom bukti dan kode.API /api/notifikasi
Tabel servis
Assertion assertOk, assertJsonFragment, assertDontSee
function test_admin_sees_pending_transfer_for_assigned_branch_but_technician_does_not(): voidSkenario uji admin sees pending transfer for assigned branch but technician does not. Assertion aktual ditunjukkan di kolom bukti dan kode.API /api/notifikasi
Tabel mutasi_stok
Assertion assertGreaterThan, assertOk, assertJsonFragment, assertJsonMissing
function test_stock_monitoring_is_not_mixed_into_event_notifications(): voidSkenario uji stock monitoring is not mixed into event notifications. Assertion aktual ditunjukkan di kolom bukti dan kode.API /api/notifikasi, /api/dashboard-summary
Tabel produk_cabang
Assertion assertOk, assertJsonMissing, assertJsonPath
function test_owner_notification_uses_plain_language_for_approval_links(): voidSkenario uji owner notification uses plain language for approval links. Assertion aktual ditunjukkan di kolom bukti dan kode.API /api/owner/cabang-aktif, /api/notifikasi
Tabel mutasi_stok
Assertion assertOk, assertJsonFragment, assertDontSee, assertSee
function test_notification_center_requires_authenticated_tenant_context(): voidSkenario uji notification center requires authenticated tenant context. Assertion aktual ditunjukkan di kolom bukti dan kode.API /api/notifikasi
Assertion assertUnauthorized
function customer(string $name): intHelper pengujian customer. Dipakai membangun input, request, fixture, proses database atau pembandingan hasil sesuai kode.Tabel pelanggan
Dependensi kode proyek yang diimpor
Buka kode asli bernomor baris

Kode hanya ditampilkan sebagai teks. Tidak dieksekusi oleh panduan. Nomor baris mengikuti sumber yang dibaca.

Identitas snapshot

SHA-256 285f84d1c46e2721326a79577d01a7883aedc05ad506f9ab76a67a3989fe5c6b

tests/Feature/OnlineCartCatalogTest.php131 baris · 5 fungsi bernama
Unggahan sumber 17 OktoberSkenario teknis, bukan hasil UAT

Untuk apa

Kode pengujian atau dukungan pengujian OnlineCartCatalogTest.php. Skenario dan assertion dibaca langsung dari fungsi atau test pada berkas ini.

Jika diminta mengubah

Edit skenario jika perilaku yang diharapkan berubah. Keberadaan file tidak menyatakan tes sudah dijalankan atau lulus UAT manusia.

Fungsi dan metode

Fungsi dan input atau hasilPenjelasan singkatBukti source
function test_cart_lookup_fetches_products_across_catalogue_pages_without_exposing_inactive_products(): voidSkenario uji cart lookup fetches products across catalogue pages without exposing inactive products. Assertion aktual ditunjukkan di kolom bukti dan kode.API /api/online/katalog?
Assertion assertOk, assertJsonPath, assertEqualsCanonicalizing, assertArrayNotHasKey
function test_cart_lookup_rejects_unbounded_or_invalid_product_identifiers(): voidSkenario uji cart lookup rejects unbounded or invalid product identifiers. Assertion aktual ditunjukkan di kolom bukti dan kode.API /api/online/katalog?id_cabang=
Assertion assertUnprocessable, assertJsonValidationErrors
function test_catalog_categories_filter_and_price_sort_are_applied_before_pagination(): voidSkenario uji catalog categories filter and price sort are applied before pagination. Assertion aktual ditunjukkan di kolom bukti dan kode.API /api/online/cabang, /api/online/katalog?id_cabang=
Assertion assertOk, assertJsonPath, assertSame, assertUnprocessable, assertJsonValidationErrors
function test_available_only_catalog_uses_the_selected_branch_and_does_not_filter_cart_restore(): voidSkenario uji available only catalog uses the selected branch and does not filter cart restore. Assertion aktual ditunjukkan di kolom bukti dan kode.API /api/online/katalog?
Tabel produk_cabang
Assertion assertOk, assertJsonPath, assertSame, assertCount, assertArrayNotHasKey
function test_catalogue_requests_do_not_consume_checkout_rate_limit(): voidSkenario uji catalogue requests do not consume checkout rate limit. Assertion aktual ditunjukkan di kolom bukti dan kode.API /api/online/katalog?id_cabang=, /sanctum/csrf-cookie, /api/online/checkout
Tabel produk_cabang
Assertion assertOk, assertNoContent, assertCreated, assertHeader
Dependensi kode proyek yang diimpor
Buka kode asli bernomor baris

Kode hanya ditampilkan sebagai teks. Tidak dieksekusi oleh panduan. Nomor baris mengikuti sumber yang dibaca.

Identitas snapshot

SHA-256 ca504ae95e0877da25e7484585e73a26ed707d350ef30aeac8b156d8533c33c7

tests/Feature/OnlineOrderConcurrencyTest.php238 baris · 5 fungsi bernama
Unggahan sumber 17 OktoberSkenario teknis, bukan hasil UAT

Untuk apa

Kode pengujian atau dukungan pengujian OnlineOrderConcurrencyTest.php. Skenario dan assertion dibaca langsung dari fungsi atau test pada berkas ini.

Jika diminta mengubah

Edit skenario jika perilaku yang diharapkan berubah. Keberadaan file tidak menyatakan tes sudah dijalankan atau lulus UAT manusia.

Fungsi dan metode

Fungsi dan input atau hasilPenjelasan singkatBukti source
function setUp(): voidMenyiapkan atau membersihkan lingkungan tes milik suite ini. Periksa penjagaan schema dan target sebelum menjalankan.Assertion assertSame
function tearDown(): voidMenyiapkan atau membersihkan lingkungan tes milik suite ini. Periksa penjagaan schema dan target sebelum menjalankan.Lihat signature dan isi fungsi.
function test_two_paid_guests_competing_for_last_stock_allow_exactly_one_payment_commit(): voidSkenario uji two paid guests competing for last stock allow exactly one payment commit. Assertion aktual ditunjukkan di kolom bukti dan kode.Kunci baris perubahan
API /api/online/checkout, /api/online/status/
Tabel produk_cabang, penjualan, pg_stat_activity, audit_log
Assertion assertSame
function runWorker(): voidHelper pengujian runWorker. Dipakai membangun input, request, fixture, proses database atau pembandingan hasil sesuai kode.API /api/online-order/
function cleanup(): voidMenyiapkan atau membersihkan lingkungan tes milik suite ini. Periksa penjagaan schema dan target sebelum menjalankan.Lihat signature dan isi fungsi.
Dependensi kode proyek yang diimpor
Buka kode asli bernomor baris

Kode hanya ditampilkan sebagai teks. Tidak dieksekusi oleh panduan. Nomor baris mengikuti sumber yang dibaca.

Identitas snapshot

SHA-256 223c358c159a87e35fb20c093164f30bcd2c586268a3570870bcf06bd3ebc269

tests/Feature/OnlineOrderIntegrityTest.php101 baris · 4 fungsi bernama
Unggahan sumber 17 OktoberSkenario teknis, bukan hasil UAT

Untuk apa

Kode pengujian atau dukungan pengujian OnlineOrderIntegrityTest.php. Skenario dan assertion dibaca langsung dari fungsi atau test pada berkas ini.

Jika diminta mengubah

Edit skenario jika perilaku yang diharapkan berubah. Keberadaan file tidak menyatakan tes sudah dijalankan atau lulus UAT manusia.

Fungsi dan metode

Fungsi dan input atau hasilPenjelasan singkatBukti source
function product(): ProdukHelper pengujian product. Dipakai membangun input, request, fixture, proses database atau pembandingan hasil sesuai kode.return Produk::factory()->create([
function pendingOrder(): arrayHelper pengujian pendingOrder. Dipakai membangun input, request, fixture, proses database atau pembandingan hasil sesuai kode.API /sanctum/csrf-cookie, /api/online/checkout
Tabel produk_cabang
Assertion assertNoContent, assertCreated
function corruptions(): arrayHelper pengujian corruptions. Dipakai membangun input, request, fixture, proses database atau pembandingan hasil sesuai kode.return [
function test_pending_ivp_rejects_corrupted_cdi(string $corruption): voidSkenario uji pending ivp rejects corrupted cdi. Assertion aktual ditunjukkan di kolom bukti dan kode.Tabel penjualan, detail_penjualan
Dependensi kode proyek yang diimpor
Buka kode asli bernomor baris

Kode hanya ditampilkan sebagai teks. Tidak dieksekusi oleh panduan. Nomor baris mengikuti sumber yang dibaca.

Identitas snapshot

SHA-256 612a636de31776e358e7bb2724058bca44cbb225b61e7ac429f9789d7b68a263

tests/Feature/OnlineOrderSecurityTest.php277 baris · 14 fungsi bernama
Unggahan sumber 17 OktoberSkenario teknis, bukan hasil UAT

Untuk apa

Kode pengujian atau dukungan pengujian OnlineOrderSecurityTest.php. Skenario dan assertion dibaca langsung dari fungsi atau test pada berkas ini.

Jika diminta mengubah

Edit skenario jika perilaku yang diharapkan berubah. Keberadaan file tidak menyatakan tes sudah dijalankan atau lulus UAT manusia.

Fungsi dan metode

Fungsi dan input atau hasilPenjelasan singkatBukti source
function product(array $attributes = []): ProdukHelper pengujian product. Dipakai membangun input, request, fixture, proses database atau pembandingan hasil sesuai kode.return Produk::factory()->create(array_replace([
function stock(Produk $product, int $quantity = 10): voidHelper pengujian stock. Dipakai membangun input, request, fixture, proses database atau pembandingan hasil sesuai kode.Tabel produk_cabang
function checkoutInput(Produk $product, array $overrides = []): arrayHelper pengujian checkoutInput. Dipakai membangun input, request, fixture, proses database atau pembandingan hasil sesuai kode.return array_replace([
function checkout(Produk $product, array $overrides = []): arrayHelper pengujian checkout. Dipakai membangun input, request, fixture, proses database atau pembandingan hasil sesuai kode.API /sanctum/csrf-cookie, /api/online/checkout
Assertion assertNoContent, assertCreated
function relativeUrl(string $url): stringHelper pengujian relativeUrl. Dipakai membangun input, request, fixture, proses database atau pembandingan hasil sesuai kode.return ($parts['path'] ?? '/').(isset($parts['query']) ? '?'.$parts['query'] : '');
function uploadProof(string $url, ?UploadedFile $file = null): TestResponseHelper pengujian uploadProof. Dipakai membangun input, request, fixture, proses database atau pembandingan hasil sesuai kode.return $response;
function sale(int $id): objectHelper pengujian sale. Dipakai membangun input, request, fixture, proses database atau pembandingan hasil sesuai kode.Tabel penjualan
function test_owner_requires_selected_tenant_then_can_process_online_order(): voidSkenario uji owner requires selected tenant then can process online order. Assertion aktual ditunjukkan di kolom bukti dan kode.API /api/online-order, /api/owner/cabang-aktif, /api/online-order/
Tabel produk_cabang
Assertion assertStatus, assertOk, assertJsonPath, assertSame
function test_invalid_transitions_and_duplicate_payment_verification_do_not_double_issue_stock(): voidSkenario uji invalid transitions and duplicate payment verification do not double issue stock. Assertion aktual ditunjukkan di kolom bukti dan kode.API /api/online-order/
Tabel produk_cabang
Assertion assertStatus, assertOk, assertSame
function test_stock_shortage_at_payment_keeps_order_pending_and_rolls_back_actor_and_warranty(): voidSkenario uji stock shortage at payment keeps order pending and rolls back actor and warranty. Assertion aktual ditunjukkan di kolom bukti dan kode.API /api/online-order/
Tabel produk_cabang, detail_penjualan
Assertion assertStatus, assertOk, assertNull, assertSame
function test_ivp_failure_rolls_back_verified_payment_stock_and_warranty(): voidSkenario uji ivp failure rolls back verified payment stock and warranty. Assertion aktual ditunjukkan di kolom bukti dan kode.API /api/online-order/
Tabel detail_penjualan, produk_cabang
Assertion assertStatus, assertOk, assertDontSee, assertNull, assertSame
function test_audit_failure_rolls_back_verified_payment_stock_and_prior_audits(): voidSkenario uji audit failure rolls back verified payment stock and prior audits. Assertion aktual ditunjukkan di kolom bukti dan kode.API /api/online-order/
Tabel detail_penjualan, produk_cabang, audit_log
Assertion assertStatus, assertOk, assertDontSee, assertNull, assertSame
function test_payment_proof_rejects_invalid_file_and_cannot_be_replaced(): voidSkenario uji payment proof rejects invalid file and cannot be replaced. Assertion aktual ditunjukkan di kolom bukti dan kode.Assertion assertUnprocessable, assertJsonValidationErrors, assertNull, assertStatus, assertSame, assertExists
function test_expired_tracking_link_and_cross_tenant_payment_proof_access_are_rejected(): voidSkenario uji expired tracking link and cross tenant payment proof access are rejected. Assertion aktual ditunjukkan di kolom bukti dan kode.API /api/online-order/
Assertion assertStatus, assertForbidden, assertOk, assertNotFound
Dependensi kode proyek yang diimpor
Buka kode asli bernomor baris

Kode hanya ditampilkan sebagai teks. Tidak dieksekusi oleh panduan. Nomor baris mengikuti sumber yang dibaca.

Identitas snapshot

SHA-256 3d19e08e852e6610d92efa21e5cd5177e5c683486036ca44119b9649358b5226

tests/Feature/OnlineOrderTest.php329 baris · 15 fungsi bernama
Unggahan sumber 17 OktoberSkenario teknis, bukan hasil UAT

Untuk apa

Kode pengujian atau dukungan pengujian OnlineOrderTest.php. Skenario dan assertion dibaca langsung dari fungsi atau test pada berkas ini.

Jika diminta mengubah

Edit skenario jika perilaku yang diharapkan berubah. Keberadaan file tidak menyatakan tes sudah dijalankan atau lulus UAT manusia.

Fungsi dan metode

Fungsi dan input atau hasilPenjelasan singkatBukti source
function product(array $attributes = []): ProdukHelper pengujian product. Dipakai membangun input, request, fixture, proses database atau pembandingan hasil sesuai kode.return Produk::factory()->create(array_replace([
function stock(Produk $product, int $quantity = 10, string $connection = 'tenant_samanhudi'): voidHelper pengujian stock. Dipakai membangun input, request, fixture, proses database atau pembandingan hasil sesuai kode.Tabel produk_cabang
function checkoutInput(Produk $product, array $overrides = []): arrayHelper pengujian checkoutInput. Dipakai membangun input, request, fixture, proses database atau pembandingan hasil sesuai kode.return array_replace([
function checkout(Produk $product, array $overrides = []): arrayHelper pengujian checkout. Dipakai membangun input, request, fixture, proses database atau pembandingan hasil sesuai kode.API /sanctum/csrf-cookie, /api/online/checkout
Assertion assertNoContent, assertCreated
function relativeUrl(string $url): stringHelper pengujian relativeUrl. Dipakai membangun input, request, fixture, proses database atau pembandingan hasil sesuai kode.return ($parts['path'] ?? '/').(isset($parts['query']) ? '?'.$parts['query'] : '');
function uploadProof(string $url): TestResponseHelper pengujian uploadProof. Dipakai membangun input, request, fixture, proses database atau pembandingan hasil sesuai kode.return $response;
function test_guest_catalog_is_paginated_without_exposing_inactive_products(): voidSkenario uji guest catalog is paginated without exposing inactive products. Assertion aktual ditunjukkan di kolom bukti dan kode.API /api/online/katalog?id_cabang=
Assertion assertOk, assertJsonPath, assertCount, assertJsonMissing
function test_guest_catalog_and_checkout_use_server_price_without_reducing_stock(): voidSkenario uji guest catalog and checkout use server price without reducing stock. Assertion aktual ditunjukkan di kolom bukti dan kode.API /api/online/cabang, /api/online/katalog?id_cabang=
Tabel penjualan, detail_penjualan, produk_cabang, pengiriman
Assertion assertOk, assertJsonFragment, assertJsonPath, assertJsonMissingPath, assertSame, assertNull, assertCount
function test_signed_tracking_and_payment_proof_are_guest_safe_and_private(): voidSkenario uji signed tracking and payment proof are guest safe and private. Assertion aktual ditunjukkan di kolom bukti dan kode.Tabel penjualan
Assertion assertOk, assertJsonPath, assertJsonMissingPath, assertNotNull, assertStatus, assertExists, assertCount, assertForbidden
function test_cashier_verifies_payment_then_shipping_flow_reduces_stock_once(): voidSkenario uji cashier verifies payment then shipping flow reduces stock once. Assertion aktual ditunjukkan di kolom bukti dan kode.API /api/online-order/
Tabel penjualan, detail_penjualan, produk_cabang, pengiriman
Assertion assertStatus, assertOk, assertJsonPath, assertSame, assertNotNull, assertMatchesRegularExpression
function test_guest_can_cancel_unpaid_order_without_changing_stock(): voidSkenario uji guest can cancel unpaid order without changing stock. Assertion aktual ditunjukkan di kolom bukti dan kode.Tabel produk_cabang, penjualan
Assertion assertOk, assertJsonPath, assertSame, assertCount, assertStatus
function test_pickup_flow_has_no_shipping_row_and_completes_after_ready(): voidSkenario uji pickup flow has no shipping row and completes after ready. Assertion aktual ditunjukkan di kolom bukti dan kode.API /api/online-order/
Tabel pengiriman
Assertion assertSame, assertStatus, assertOk, assertJsonPath
function test_rejected_payment_does_not_reduce_stock(): voidSkenario uji rejected payment does not reduce stock. Assertion aktual ditunjukkan di kolom bukti dan kode.API /api/online-order/
Tabel produk_cabang, penjualan
Assertion assertStatus, assertOk, assertJsonPath, assertSame
function test_technician_cannot_process_online_order_and_tenant_isolation_is_preserved(): voidSkenario uji technician cannot process online order and tenant isolation is preserved. Assertion aktual ditunjukkan di kolom bukti dan kode.API /api/online-order, /api/online-order/
Assertion assertOk, assertForbidden, assertNotFound
function test_checkout_rejects_client_controlled_price_actor_and_insufficient_stock(): voidSkenario uji checkout rejects client controlled price actor and insufficient stock. Assertion aktual ditunjukkan di kolom bukti dan kode.API /sanctum/csrf-cookie, /api/online/checkout
Tabel penjualan
Assertion assertNoContent, assertUnprocessable, assertJsonValidationErrors, assertSame
Dependensi kode proyek yang diimpor
Buka kode asli bernomor baris

Kode hanya ditampilkan sebagai teks. Tidak dieksekusi oleh panduan. Nomor baris mengikuti sumber yang dibaca.

Identitas snapshot

SHA-256 67856bba73fc3bba3ee96314768750a003f529e530cb19f0e4f86d04243a3328

tests/Feature/OnlineOrderUiLinkTest.php25 baris · 1 fungsi bernama
Unggahan sumber 17 OktoberSkenario teknis, bukan hasil UAT

Untuk apa

Kode pengujian atau dukungan pengujian OnlineOrderUiLinkTest.php. Skenario dan assertion dibaca langsung dari fungsi atau test pada berkas ini.

Jika diminta mengubah

Edit skenario jika perilaku yang diharapkan berubah. Keberadaan file tidak menyatakan tes sudah dijalankan atau lulus UAT manusia.

Fungsi dan metode

Fungsi dan input atau hasilPenjelasan singkatBukti source
function test_tracking_page_wraps_the_signed_tracking_api_url_without_weakening_signature(): voidSkenario uji tracking page wraps the signed tracking api url without weakening signature. Assertion aktual ditunjukkan di kolom bukti dan kode.Pemeriksaan signature
API /api/online/status/WEB-TEST-001, /api/online/status/WEB-TEST-001/bukti-pembayaran
Assertion assertArrayHasKey, assertTrue, assertSame, assertStringContainsString
Dependensi kode proyek yang diimpor
Buka kode asli bernomor baris

Kode hanya ditampilkan sebagai teks. Tidak dieksekusi oleh panduan. Nomor baris mengikuti sumber yang dibaca.

Identitas snapshot

SHA-256 fa77d192ac0a3dd0d25a129e86b3f72f7497f7986d6ad1ef32433cbbfe9e52e5

tests/Feature/OnlinePaymentGuideTest.php30 baris · 1 fungsi bernama
Unggahan sumber 17 OktoberSkenario teknis, bukan hasil UAT

Untuk apa

Kode pengujian atau dukungan pengujian OnlinePaymentGuideTest.php. Skenario dan assertion dibaca langsung dari fungsi atau test pada berkas ini.

Jika diminta mengubah

Edit skenario jika perilaku yang diharapkan berubah. Keberadaan file tidak menyatakan tes sudah dijalankan atau lulus UAT manusia.

Fungsi dan metode

Fungsi dan input atau hasilPenjelasan singkatBukti source
function test_public_checkout_exposes_only_complete_valid_merchant_bank_details(): voidSkenario uji public checkout exposes only complete valid merchant bank details. Assertion aktual ditunjukkan di kolom bukti dan kode.API /api/online/cabang
Assertion assertOk, assertJsonPath, assertJsonFragment
Buka kode asli bernomor baris

Kode hanya ditampilkan sebagai teks. Tidak dieksekusi oleh panduan. Nomor baris mengikuti sumber yang dibaca.

Identitas snapshot

SHA-256 e605dc69ecacf52177f6a0a4e256117cb63e8ea0994f19046a7be343041b5aee

tests/Feature/OperationalAlertingTest.php115 baris · 7 fungsi bernama
Revisi ZIP v5Skenario teknis, bukan hasil UAT

Untuk apa

Kode pengujian atau dukungan pengujian OperationalAlertingTest.php. Skenario dan assertion dibaca langsung dari fungsi atau test pada berkas ini.

Jika diminta mengubah

Edit skenario jika perilaku yang diharapkan berubah. Keberadaan file tidak menyatakan tes sudah dijalankan atau lulus UAT manusia.

Fungsi dan metode

Fungsi dan input atau hasilPenjelasan singkatBukti source
function test_receiver_failure_is_visible_without_logging_request_secrets(): voidSkenario uji receiver failure is visible without logging request secrets. Assertion aktual ditunjukkan di kolom bukti dan kode.Assertion assertFalse
function setUp(): voidMenyiapkan atau membersihkan lingkungan tes milik suite ini. Periksa penjagaan schema dan target sebelum menjalankan.Lihat signature dan isi fungsi.
function test_alert_payload_is_redacted_and_receiver_acknowledgement_is_required(): voidSkenario uji alert payload is redacted and receiver acknowledgement is required. Assertion aktual ditunjukkan di kolom bukti dan kode.Assertion assertTrue
function test_production_safe_error_reporting_sends_redacted_alert(): voidSkenario uji production safe error reporting sends redacted alert. Assertion aktual ditunjukkan di kolom bukti dan kode.return ($request->data()['event'] ?? null) === 'rajawali.business.operation_failed'
function test_alert_test_command_fails_closed_when_receiver_rejects_request(): voidSkenario uji alert test command fails closed when receiver rejects request. Assertion aktual ditunjukkan di kolom bukti dan kode.Assertion assertSame, assertStringContainsString
function test_alert_test_command_succeeds_only_after_receiver_acknowledges_request(): voidSkenario uji alert test command succeeds only after receiver acknowledges request. Assertion aktual ditunjukkan di kolom bukti dan kode.Assertion assertSame, assertStringContainsString
function test_plain_http_or_weak_token_is_not_considered_configured(): voidSkenario uji plain http or weak token is not considered configured. Assertion aktual ditunjukkan di kolom bukti dan kode.Assertion assertFalse
Dependensi kode proyek yang diimpor
Buka kode asli bernomor baris

Kode hanya ditampilkan sebagai teks. Tidak dieksekusi oleh panduan. Nomor baris mengikuti sumber yang dibaca.

Identitas snapshot

SHA-256 cdf1e8b561517e00cd17db1492d01dd59c2e7122b1f7e7bce5cc9817c7c48c8d

tests/Feature/OperationalDrilldownTest.php175 baris · 5 fungsi bernama
Unggahan sumber 17 OktoberSkenario teknis, bukan hasil UAT

Untuk apa

Kode pengujian atau dukungan pengujian OperationalDrilldownTest.php. Skenario dan assertion dibaca langsung dari fungsi atau test pada berkas ini.

Jika diminta mengubah

Edit skenario jika perilaku yang diharapkan berubah. Keberadaan file tidak menyatakan tes sudah dijalankan atau lulus UAT manusia.

Fungsi dan metode

Fungsi dan input atau hasilPenjelasan singkatBukti source
function test_pos_history_is_offline_only_searchable_and_returns_summary(): voidSkenario uji pos history is offline only searchable and returns summary. Assertion aktual ditunjukkan di kolom bukti dan kode.API /api/penjualan?q=Pelanggan%20POS&metode=tunai&dari=2026-09-26&sampai=2026-09-26, /api/penjualan?dari=2026-09-27&sampai=2026-09-26
Tabel pelanggan, penjualan, detail_penjualan
Assertion assertOk, assertJsonCount, assertJsonPath, assertUnprocessable
function test_online_order_filters_payment_fulfillment_dates_and_returns_summary(): voidSkenario uji online order filters payment fulfillment dates and returns summary. Assertion aktual ditunjukkan di kolom bukti dan kode.API /api/online-order?status_pembayaran=menunggu_verifikasi&penerimaan=kirim&dari=2026-09-26&sampai=2026-09-26
Tabel pelanggan, penjualan, detail_penjualan, pengiriman
Assertion assertOk, assertJsonCount, assertJsonPath
function test_service_filters_assignment_dates_returns_summary_and_customer_contact(): voidSkenario uji service filters assignment dates returns summary and customer contact. Assertion aktual ditunjukkan di kolom bukti dan kode.API /api/servis?penugasan=belum&dari=2026-09-26&sampai=2026-09-26, /api/servis/{$unassigned}
Tabel pelanggan, servis
Assertion assertOk, assertJsonCount, assertJsonPath
function test_warranty_filters_type_dates_returns_summary_and_customer_contact(): voidSkenario uji warranty filters type dates returns summary and customer contact. Assertion aktual ditunjukkan di kolom bukti dan kode.API /api/klaim-garansi?jenis=produk&dari=2026-09-26&sampai=2026-09-26
Tabel pelanggan, penjualan, detail_penjualan, klaim_garansi
Assertion assertOk, assertJsonCount, assertJsonPath
function test_stock_transfer_filters_counterpart_branch_dates_and_returns_summary(): voidSkenario uji stock transfer filters counterpart branch dates and returns summary. Assertion aktual ditunjukkan di kolom bukti dan kode.API /api/mutasi-stok?id_cabang_lain=
Tabel mutasi_stok
Assertion assertOk, assertJsonPath, assertJsonFragment, assertStatus
Dependensi kode proyek yang diimpor
Buka kode asli bernomor baris

Kode hanya ditampilkan sebagai teks. Tidak dieksekusi oleh panduan. Nomor baris mengikuti sumber yang dibaca.

Identitas snapshot

SHA-256 cff493a40344d166aeb872d48f768a0d750acb0185ea14e5642513760a78c3d3

tests/Feature/OperationalListFilterTest.php113 baris · 4 fungsi bernama
Revisi ZIP v5Skenario teknis, bukan hasil UAT

Untuk apa

Kode pengujian atau dukungan pengujian OperationalListFilterTest.php. Skenario dan assertion dibaca langsung dari fungsi atau test pada berkas ini.

Jika diminta mengubah

Edit skenario jika perilaku yang diharapkan berubah. Keberadaan file tidak menyatakan tes sudah dijalankan atau lulus UAT manusia.

Fungsi dan metode

Fungsi dan input atau hasilPenjelasan singkatBukti source
function test_inventory_page_size_is_applied_to_the_tenant_query_and_rejects_unbounded_sizes(): voidSkenario uji inventory page size is applied to the tenant query and rejects unbounded sizes. Assertion aktual ditunjukkan di kolom bukti dan kode.API /api/stok?per_page=10, /api/stok?per_page=10&page=2, /api/stok?per_page=25, /api/stok?per_page=
Tabel produk_cabang
Assertion assertOk, assertJsonPath, assertJsonCount, assertUnprocessable
function test_inventory_purchase_and_service_filters_are_server_side_and_tenant_scoped(): voidSkenario uji inventory purchase and service filters are server side and tenant scoped. Assertion aktual ditunjukkan di kolom bukti dan kode.API /api/stok?status=karantina&q=FILTER-STOCK-1, /api/pembelian?q=PO-FILTER-UNIK, /api/servis?status=siap_diambil&q=FilterBrand
Tabel produk_cabang, pembelian, servis
Assertion assertOk, assertJsonPath
function test_online_order_transfer_and_warranty_filters_validate_and_filter(): voidSkenario uji online order transfer and warranty filters validate and filter. Assertion aktual ditunjukkan di kolom bukti dan kode.API /api/online-order?q=Order%20Filter&status=diproses, /api/klaim-garansi?status=tidak-valid, /api/servis?status=tidak-valid, /api/mutasi-stok?q=FILTER-MUTASI&approval=menunggu
Tabel penjualan, mutasi_stok
Assertion assertOk, assertJsonPath, assertUnprocessable
function customer(string $name = 'Filter Customer'): intHelper pengujian customer. Dipakai membangun input, request, fixture, proses database atau pembandingan hasil sesuai kode.Tabel pelanggan
Dependensi kode proyek yang diimpor
Buka kode asli bernomor baris

Kode hanya ditampilkan sebagai teks. Tidak dieksekusi oleh panduan. Nomor baris mengikuti sumber yang dibaca.

Identitas snapshot

SHA-256 f95472b546e03a10512c38a067c5490125b2df5ba745e32665fc080ead468729

tests/Feature/OperationalSecurityTest.php98 baris · 7 fungsi bernama
Unggahan sumber 17 OktoberSkenario teknis, bukan hasil UAT

Untuk apa

Kode pengujian atau dukungan pengujian OperationalSecurityTest.php. Skenario dan assertion dibaca langsung dari fungsi atau test pada berkas ini.

Jika diminta mengubah

Edit skenario jika perilaku yang diharapkan berubah. Keberadaan file tidak menyatakan tes sudah dijalankan atau lulus UAT manusia.

Fungsi dan metode

Fungsi dan input atau hasilPenjelasan singkatBukti source
function test_security_headers_are_applied_to_html_and_prevent_framing(): voidSkenario uji security headers are applied to html and prevent framing. Assertion aktual ditunjukkan di kolom bukti dan kode.Assertion assertOk, assertHeader, assertStringContainsString
function test_api_responses_are_marked_no_store(): voidSkenario uji api responses are marked no store. Assertion aktual ditunjukkan di kolom bukti dan kode.API /api/online/cabang
Assertion assertOk, assertStringContainsString, assertHeader
function test_production_https_response_receives_hsts(): voidSkenario uji production https response receives hsts. Assertion aktual ditunjukkan di kolom bukti dan kode.Assertion assertOk, assertStringContainsString
function test_api_cors_only_advertises_the_explicit_application_origin(): voidSkenario uji api cors only advertises the explicit application origin. Assertion aktual ditunjukkan di kolom bukti dan kode.API /api/online/cabang
Assertion assertSame, assertFalse, assertOk, assertHeader, assertNotSame
function test_reverb_allowed_origins_are_not_wildcarded(): voidSkenario uji reverb allowed origins are not wildcarded. Assertion aktual ditunjukkan di kolom bukti dan kode.Assertion assertIsArray, assertNotContains
function test_readiness_endpoint_checks_all_databases_and_2pc_without_exposing_names_or_secrets(): voidSkenario uji readiness endpoint checks all databases and 2pc without exposing names or secrets. Assertion aktual ditunjukkan di kolom bukti dan kode.Assertion assertOk, assertJsonPath, assertStringNotContainsString
function test_security_check_reports_actual_e1_state_for_each_tenant(): voidSkenario uji security check reports actual e1 state for each tenant. Assertion aktual ditunjukkan di kolom bukti dan kode.Assertion assertSame, assertTrue, assertMatchesRegularExpression
Dependensi kode proyek yang diimpor
Buka kode asli bernomor baris

Kode hanya ditampilkan sebagai teks. Tidak dieksekusi oleh panduan. Nomor baris mengikuti sumber yang dibaca.

Identitas snapshot

SHA-256 cc77bede4e31d24bcf97c7e8b6cf2dea0bf99b53a062049e9628c155a4b849bf

tests/Feature/OperationsDeploymentTest.php155 baris · 14 fungsi bernama
Unggahan sumber 17 OktoberSkenario teknis, bukan hasil UAT

Untuk apa

Kode pengujian atau dukungan pengujian OperationsDeploymentTest.php. Skenario dan assertion dibaca langsung dari fungsi atau test pada berkas ini.

Jika diminta mengubah

Edit skenario jika perilaku yang diharapkan berubah. Keberadaan file tidak menyatakan tes sudah dijalankan atau lulus UAT manusia.

Fungsi dan metode

Fungsi dan input atau hasilPenjelasan singkatBukti source
function test_liveness_is_public_and_does_not_expose_database_details(): voidSkenario uji liveness is public and does not expose database details. Assertion aktual ditunjukkan di kolom bukti dan kode.Assertion assertOk, assertJsonPath, assertStringNotContainsString
function test_readiness_reports_zero_pending_prepared_transactions(): voidSkenario uji readiness reports zero pending prepared transactions. Assertion aktual ditunjukkan di kolom bukti dan kode.Assertion assertOk, assertJsonPath
function test_preflight_command_is_non_destructive_and_succeeds_locally(): voidSkenario uji preflight command is non destructive and succeeds locally. Assertion aktual ditunjukkan di kolom bukti dan kode.Assertion assertSame, assertDatabaseCount
function test_production_release_gate_invokes_registry_and_e1_checks_and_fails_on_missing_configuration(): voidSkenario uji production release gate invokes registry and e1 checks and fails on missing configuration. Assertion aktual ditunjukkan di kolom bukti dan kode.Assertion assertSame, assertStringContainsString, assertStringNotContainsString, assertDatabaseCount
function test_smoke_command_checks_existing_routes_and_databases(): voidSkenario uji smoke command checks existing routes and databases. Assertion aktual ditunjukkan di kolom bukti dan kode.Assertion assertSame
function test_external_smoke_checks_https_redirect_and_dynamic_and_static_headers(): voidSkenario uji external smoke checks https redirect and dynamic and static headers. Assertion aktual ditunjukkan di kolom bukti dan kode.Assertion assertSame, assertStringContainsString
function test_external_smoke_fails_closed_when_static_edge_headers_are_missing(): voidSkenario uji external smoke fails closed when static edge headers are missing. Assertion aktual ditunjukkan di kolom bukti dan kode.Assertion assertSame, assertStringContainsString
function test_ci_collects_dependency_sbom_build_metadata_and_release_evidence(): voidSkenario uji ci collects dependency sbom build metadata and release evidence. Assertion aktual ditunjukkan di kolom bukti dan kode.Assertion assertStringContainsString
function test_production_release_gate_requires_alert_receiver_and_independent_log_archive(): voidSkenario uji production release gate requires alert receiver and independent log archive. Assertion aktual ditunjukkan di kolom bukti dan kode.Assertion assertSame, assertStringContainsString
function test_instance_guard_accepts_matching_staff_branch(): voidSkenario uji instance guard accepts matching staff branch. Assertion aktual ditunjukkan di kolom bukti dan kode.API /api/stok
Assertion assertOk
function test_instance_guard_rejects_staff_branch_on_wrong_container(): voidSkenario uji instance guard rejects staff branch on wrong container. Assertion aktual ditunjukkan di kolom bukti dan kode.API /api/stok
Assertion assertOk, assertStatus
function test_instance_guard_is_disabled_for_local_single_process_mode(): voidSkenario uji instance guard is disabled for local single process mode. Assertion aktual ditunjukkan di kolom bukti dan kode.API /api/stok
Assertion assertOk
function test_staff_login_emits_non_sensitive_instance_routing_cookie(): voidSkenario uji staff login emits non sensitive instance routing cookie. Assertion aktual ditunjukkan di kolom bukti dan kode.Assertion assertOk, assertNotNull, assertTrue
function test_owner_branch_switch_emits_instance_routing_cookie_without_making_it_authoritative(): voidSkenario uji owner branch switch emits instance routing cookie without making it authoritative. Assertion aktual ditunjukkan di kolom bukti dan kode.API /api/owner/cabang-aktif, /api/stok
Assertion assertOk, assertTrue, assertStatus
Buka kode asli bernomor baris

Kode hanya ditampilkan sebagai teks. Tidak dieksekusi oleh panduan. Nomor baris mengikuti sumber yang dibaca.

Identitas snapshot

SHA-256 09a714a727ac183d591b76f1773124f1694c46a82a7c0143353731ff08de36a0

tests/Feature/Owasp2025RegressionTest.php116 baris · 12 fungsi bernama
Unggahan sumber 17 OktoberSkenario teknis, bukan hasil UAT

Untuk apa

Kode pengujian atau dukungan pengujian Owasp2025RegressionTest.php. Skenario dan assertion dibaca langsung dari fungsi atau test pada berkas ini.

Jika diminta mengubah

Edit skenario jika perilaku yang diharapkan berubah. Keberadaan file tidak menyatakan tes sudah dijalankan atau lulus UAT manusia.

Fungsi dan metode

Fungsi dan input atau hasilPenjelasan singkatBukti source
function test_a01_broken_access_control_technician_cannot_process_online_orders(): voidSkenario uji a01 broken access control technician cannot process online orders. Assertion aktual ditunjukkan di kolom bukti dan kode.API /api/online-order
Assertion assertOk, assertForbidden
function test_a01_notification_center_is_authenticated_and_exposes_aggregate_tasks_only(): voidSkenario uji a01 notification center is authenticated and exposes aggregate tasks only. Assertion aktual ditunjukkan di kolom bukti dan kode.API /api/notifikasi
Assertion assertUnauthorized, assertOk, assertStringNotContainsString
function test_a02_security_misconfiguration_headers_block_framing_and_mime_sniffing(): voidSkenario uji a02 security misconfiguration headers block framing and mime sniffing. Assertion aktual ditunjukkan di kolom bukti dan kode.Assertion assertOk, assertHeader
function test_a03_supply_chain_lock_files_are_present_and_versioned(): voidSkenario uji a03 supply chain lock files are present and versioned. Assertion aktual ditunjukkan di kolom bukti dan kode.Assertion assertArrayHasKey, assertGreaterThanOrEqual
function test_a04_cryptographic_failures_session_and_password_hashing_are_hardened(): voidSkenario uji a04 cryptographic failures session and password hashing are hardened. Assertion aktual ditunjukkan di kolom bukti dan kode.Assertion assertTrue, assertSame, assertGreaterThanOrEqual
function test_a05_injection_report_type_route_rejects_non_allowlisted_shape(): voidSkenario uji a05 injection report type route rejects non allowlisted shape. Assertion aktual ditunjukkan di kolom bukti dan kode.API /api/laporan/%27%20OR%201%3D1--
Assertion assertNotFound
function test_a05_operational_list_filters_reject_non_allowlisted_values(): voidSkenario uji a05 operational list filters reject non allowlisted values. Assertion aktual ditunjukkan di kolom bukti dan kode.API /api/pengguna?role=owner%27%20OR%201%3D1--, /api/produk?status=aktif%27%20OR%201%3D1--, /api/owner/cabang-aktif, /api/stok?status=tersedia%27%20OR%201%3D1--, /api/penjualan?status=selesai%27%20OR%201%3D1--, /api/laporan/servis?status=selesai%27%20OR%201%3D1--
Assertion assertOk, assertUnprocessable
function test_a06_insecure_design_has_no_generic_direct_stock_mutation_endpoint(): voidSkenario uji a06 insecure design has no generic direct stock mutation endpoint. Assertion aktual ditunjukkan di kolom bukti dan kode.Assertion assertStringNotContainsString
function test_a07_authentication_failures_do_not_reveal_whether_account_exists(): voidSkenario uji a07 authentication failures do not reveal whether account exists. Assertion aktual ditunjukkan di kolom bukti dan kode.API /sanctum/csrf-cookie, /api/login
Assertion assertNoContent, assertStatus, assertSame
function test_a08_integrity_sensitive_stock_transfer_approval_is_signed_and_role_limited(): voidSkenario uji a08 integrity sensitive stock transfer approval is signed and role limited. Assertion aktual ditunjukkan di kolom bukti dan kode.Assertion assertNotNull, assertContains
function test_a09_logging_failed_login_creates_audit_record_without_password_material(): voidSkenario uji a09 logging failed login creates audit record without password material. Assertion aktual ditunjukkan di kolom bukti dan kode.Assertion assertStatus, assertCount, assertStringNotContainsString
function test_a10_exceptional_conditions_return_generic_api_error_without_stack_or_message(): voidSkenario uji a10 exceptional conditions return generic api error without stack or message. Assertion aktual ditunjukkan di kolom bukti dan kode.API /api/example
Assertion assertNotNull, assertSame, assertStringNotContainsString
Dependensi kode proyek yang diimpor
Buka kode asli bernomor baris

Kode hanya ditampilkan sebagai teks. Tidak dieksekusi oleh panduan. Nomor baris mengikuti sumber yang dibaca.

Identitas snapshot

SHA-256 bee1fe26235026334c662cdcc628f30a0ea9f071a3373f99229ff6a814b73ff9

tests/Feature/OwnPasswordChangeTest.php89 baris · 4 fungsi bernama
Unggahan sumber 17 OktoberSkenario teknis, bukan hasil UAT

Untuk apa

Kode pengujian atau dukungan pengujian OwnPasswordChangeTest.php. Skenario dan assertion dibaca langsung dari fungsi atau test pada berkas ini.

Jika diminta mengubah

Edit skenario jika perilaku yang diharapkan berubah. Keberadaan file tidak menyatakan tes sudah dijalankan atau lulus UAT manusia.

Fungsi dan metode

Fungsi dan input atau hasilPenjelasan singkatBukti source
function test_all_staff_roles_can_change_their_own_password_with_a_canonical_audit(): voidSkenario uji all staff roles can change their own password with a canonical audit. Assertion aktual ditunjukkan di kolom bukti dan kode.Pemeriksaan hash
API /api/me/password, /api/me, /api/logout
Tabel sessions, audit_hak_pengguna
Assertion assertOk, assertJsonPath, assertTrue, assertSame, assertStringNotContainsString, assertUnauthorized, assertNoContent
function test_invalid_current_password_confirmation_and_unauthorized_fields_do_not_change_cdi(): voidSkenario uji invalid current password confirmation and unauthorized fields do not change cdi. Assertion aktual ditunjukkan di kolom bukti dan kode.API /api/me/password, /api/me
Tabel audit_hak_pengguna
Assertion assertOk, assertUnprocessable, assertJsonValidationErrors, assertSame
function test_password_change_cannot_be_called_without_a_session(): voidSkenario uji password change cannot be called without a session. Assertion aktual ditunjukkan di kolom bukti dan kode.API /sanctum/csrf-cookie, /api/me/password
Assertion assertNoContent, assertUnauthorized
function test_audit_failure_rolls_back_password_change_and_does_not_invalidate_session(): voidSkenario uji audit failure rolls back password change and does not invalidate session. Assertion aktual ditunjukkan di kolom bukti dan kode.API /api/me/password, /api/me
Tabel audit_hak_pengguna
Assertion assertOk, assertStatus, assertSame
Buka kode asli bernomor baris

Kode hanya ditampilkan sebagai teks. Tidak dieksekusi oleh panduan. Nomor baris mengikuti sumber yang dibaca.

Identitas snapshot

SHA-256 66ead0a1607f40cd45a3340f5f5c1f86537b1e9ac7ac7fd3df57b6e0bac5bf51

tests/Feature/OwnProfileChangeTest.php89 baris · 3 fungsi bernama
Unggahan sumber 17 OktoberSkenario teknis, bukan hasil UAT

Untuk apa

Kode pengujian atau dukungan pengujian OwnProfileChangeTest.php. Skenario dan assertion dibaca langsung dari fungsi atau test pada berkas ini.

Jika diminta mengubah

Edit skenario jika perilaku yang diharapkan berubah. Keberadaan file tidak menyatakan tes sudah dijalankan atau lulus UAT manusia.

Fungsi dan metode

Fungsi dan input atau hasilPenjelasan singkatBukti source
function test_owner_can_change_own_name_and_email_with_canonical_audit(): voidSkenario uji owner can change own name and email with canonical audit. Assertion aktual ditunjukkan di kolom bukti dan kode.API /api/me/profile, /api/me
Tabel audit_hak_pengguna
Assertion assertOk, assertJsonPath, assertSame, assertNull, assertStringNotContainsString
function test_non_owner_duplicate_email_and_extra_fields_are_rejected_without_changes(): voidSkenario uji non owner duplicate email and extra fields are rejected without changes. Assertion aktual ditunjukkan di kolom bukti dan kode.API /api/me/profile
Assertion assertOk, assertUnprocessable, assertJsonValidationErrors, assertSame, assertForbidden, assertNotSame
function test_audit_failure_rolls_back_owner_profile_change(): voidSkenario uji audit failure rolls back owner profile change. Assertion aktual ditunjukkan di kolom bukti dan kode.API /api/me/profile
Tabel audit_hak_pengguna
Assertion assertOk, assertStatus, assertSame
Buka kode asli bernomor baris

Kode hanya ditampilkan sebagai teks. Tidak dieksekusi oleh panduan. Nomor baris mengikuti sumber yang dibaca.

Identitas snapshot

SHA-256 da55c40ce2e345c3746a14abcaf2600342eeb803bfb6fdd71c76ef790543f9a3

tests/Feature/PageUrlTest.php49 baris · 5 fungsi bernama
Revisi ZIP v5Skenario teknis, bukan hasil UAT

Untuk apa

Kode pengujian atau dukungan pengujian PageUrlTest.php. Skenario dan assertion dibaca langsung dari fungsi atau test pada berkas ini.

Jika diminta mengubah

Edit skenario jika perilaku yang diharapkan berubah. Keberadaan file tidak menyatakan tes sudah dijalankan atau lulus UAT manusia.

Fungsi dan metode

Fungsi dan input atau hasilPenjelasan singkatBukti source
function test_unknown_and_malformed_page_queries_redirect_to_the_clean_page(): voidSkenario uji unknown and malformed page queries redirect to the clean page. Assertion aktual ditunjukkan di kolom bukti dan kode.Assertion assertRedirect
function test_normal_pages_and_the_existing_login_link_remain_available(): voidSkenario uji normal pages and the existing login link remain available. Assertion aktual ditunjukkan di kolom bukti dan kode.Assertion assertOk
function test_signed_order_tracking_page_query_is_not_removed(): voidSkenario uji signed order tracking page query is not removed. Assertion aktual ditunjukkan di kolom bukti dan kode.Tautan sementara
Assertion assertOk
function test_external_tracking_target_is_rejected(): voidSkenario uji external tracking target is rejected. Assertion aktual ditunjukkan di kolom bukti dan kode.Assertion assertRedirect
function test_error_styles_do_not_require_inline_csp_permission(): voidSkenario uji error styles do not require inline csp permission. Assertion aktual ditunjukkan di kolom bukti dan kode.Assertion assertNotFound, assertSee, assertDontSee, assertStringNotContainsString
Buka kode asli bernomor baris

Kode hanya ditampilkan sebagai teks. Tidak dieksekusi oleh panduan. Nomor baris mengikuti sumber yang dibaca.

Identitas snapshot

SHA-256 7d92ea85e12c44eb34c4b86f6925fabbca34b8eca059b235b1cd87c111faf32a

tests/Feature/PaymentSettingsManagementTest.php71 baris · 3 fungsi bernama
Salinan pendukung sebelumnyaSkenario teknis, bukan hasil UAT

Untuk apa

Kode pengujian atau dukungan pengujian PaymentSettingsManagementTest.php. Skenario dan assertion dibaca langsung dari fungsi atau test pada berkas ini.

Jika diminta mengubah

Edit skenario jika perilaku yang diharapkan berubah. Keberadaan file tidak menyatakan tes sudah dijalankan atau lulus UAT manusia.

Fungsi dan metode

Fungsi dan input atau hasilPenjelasan singkatBukti source
function test_owner_can_save_shared_payment_details_and_audit_change(): voidSkenario uji owner can save shared payment details and audit change. Assertion aktual ditunjukkan di kolom bukti dan kode.API /api/owner/pengaturan-pembayaran, /api/online/cabang
Tabel payment_settings_audit, payment_settings
Assertion assertOk, assertJsonPath, assertSame, assertCount, assertStringNotContainsString
function test_non_owner_cannot_read_or_change_payment_settings(): voidSkenario uji non owner cannot read or change payment settings. Assertion aktual ditunjukkan di kolom bukti dan kode.API /api/owner/pengaturan-pembayaran
Assertion assertOk, assertForbidden
function test_cannot_activate_incomplete_bank_or_missing_qris(): voidSkenario uji cannot activate incomplete bank or missing qris. Assertion aktual ditunjukkan di kolom bukti dan kode.API /api/owner/pengaturan-pembayaran
Tabel payment_settings_audit
Assertion assertOk, assertUnprocessable, assertSame
Buka kode asli bernomor baris

Kode hanya ditampilkan sebagai teks. Tidak dieksekusi oleh panduan. Nomor baris mengikuti sumber yang dibaca.

Identitas snapshot

SHA-256 d143898aa4ea43d815d60274ccc5cfee649b7b8604530bc2953d570b69dd5eb7

tests/Feature/PgAdminInventoryE1ProvisioningTest.php307 baris · 14 fungsi bernama
Unggahan sumber 17 OktoberSkenario teknis, bukan hasil UAT

Untuk apa

Kode pengujian atau dukungan pengujian PgAdminInventoryE1ProvisioningTest.php. Skenario dan assertion dibaca langsung dari fungsi atau test pada berkas ini.

Jika diminta mengubah

Edit skenario jika perilaku yang diharapkan berubah. Keberadaan file tidak menyatakan tes sudah dijalankan atau lulus UAT manusia.

Fungsi dan metode

Fungsi dan input atau hasilPenjelasan singkatBukti source
function setUp(): voidMenyiapkan atau membersihkan lingkungan tes milik suite ini. Periksa penjagaan schema dan target sebelum menjalankan.Tabel produk_cabang
Panggilan postgres.start
function tearDown(): voidMenyiapkan atau membersihkan lingkungan tes milik suite ini. Periksa penjagaan schema dan target sebelum menjalankan.Panggilan postgres.stop
function test_exact_pgadmin_artifact_is_idempotent_preserves_data_and_enforces_inventory_tp_on_both_tenants(): voidSkenario uji exact pgadmin artifact is idempotent preserves data and enforces inventory tp on both tenants. Assertion aktual ditunjukkan di kolom bukti dan kode.Batas transaksi
Kunci baris perubahan
Kunci referensi baca
Tabel produk_cabang
Assertion assertEquals, assertNotContains, assertSame, assertCount
function test_sql_and_cli_installer_produce_equivalent_enforcement_metadata(): voidSkenario uji sql and cli installer produce equivalent enforcement metadata. Assertion aktual ditunjukkan di kolom bukti dan kode.Assertion assertSame, assertEquals, assertNotContains
function test_sql_refuses_wrong_database_and_non_admin_without_changes(): voidSkenario uji sql refuses wrong database and non admin without changes. Assertion aktual ditunjukkan di kolom bukti dan kode.Assertion assertUnchanged
function test_sql_refuses_missing_migration_function_before_changing_roles_or_ownership(): voidSkenario uji sql refuses missing migration function before changing roles or ownership. Assertion aktual ditunjukkan di kolom bukti dan kode.Assertion assertUnchanged
function test_sql_rolls_back_all_hardening_when_a_late_grant_fails(): voidSkenario uji sql rolls back all hardening when a late grant fails. Assertion aktual ditunjukkan di kolom bukti dan kode.Assertion assertUnchanged
function test_sql_postconditions_reject_inherited_dml_and_roll_back_instead_of_reporting_success(): voidSkenario uji sql postconditions reject inherited dml and roll back instead of reporting success. Assertion aktual ditunjukkan di kolom bukti dan kode.Assertion assertUnchanged
function test_dedicated_backup_identity_can_freeze_and_dump_hardened_inventory_without_runtime_privilege_changes(): voidSkenario uji dedicated backup identity can freeze and dump hardened inventory without runtime privilege changes. Assertion aktual ditunjukkan di kolom bukti dan kode.Batas transaksi
Tabel produk_cabang
Assertion assertFalse, assertSame, assertGreaterThan, assertNotContains
function runSql(Connection $db): voidHelper pengujian runSql. Dipakai membangun input, request, fixture, proses database atau pembandingan hasil sesuai kode.Assertion assertIsString
function expectSqlFailure(Connection $db, string $message): voidHelper pengujian expectSqlFailure. Dipakai membangun input, request, fixture, proses database atau pembandingan hasil sesuai kode.Assertion assertStringContainsString
function checks(Connection $db): arrayHelper pengujian checks. Dipakai membangun input, request, fixture, proses database atau pembandingan hasil sesuai kode.return app(InventoryE1Status::class)->checks($db, 'rajawali_inventory_tp');
function metadata(Connection $db): arrayHelper pengujian metadata. Dipakai membangun input, request, fixture, proses database atau pembandingan hasil sesuai kode.return [
function assertUnchanged(): voidHelper pengujian assertUnchanged. Dipakai membangun input, request, fixture, proses database atau pembandingan hasil sesuai kode.Tabel produk_cabang
Assertion assertSame, assertFalse
Dependensi kode proyek yang diimpor
Buka kode asli bernomor baris

Kode hanya ditampilkan sebagai teks. Tidak dieksekusi oleh panduan. Nomor baris mengikuti sumber yang dibaca.

Identitas snapshot

SHA-256 9236a260af7ff242e74c3788842997a31637334e3b4c03fd2f282540ad26bf55

tests/Feature/PrintDocumentSecurityTest.php29 baris · 2 fungsi bernama
Unggahan sumber 17 OktoberSkenario teknis, bukan hasil UAT

Untuk apa

Kode pengujian atau dukungan pengujian PrintDocumentSecurityTest.php. Skenario dan assertion dibaca langsung dari fungsi atau test pada berkas ini.

Jika diminta mengubah

Edit skenario jika perilaku yang diharapkan berubah. Keberadaan file tidak menyatakan tes sudah dijalankan atau lulus UAT manusia.

Fungsi dan metode

Fungsi dan input atau hasilPenjelasan singkatBukti source
function test_shared_print_helper_uses_text_nodes_and_severs_opener(): voidSkenario uji shared print helper uses text nodes and severs opener. Assertion aktual ditunjukkan di kolom bukti dan kode.Assertion assertStringContainsString, assertStringNotContainsString
function test_operational_print_views_use_the_shared_safe_helper(): voidSkenario uji operational print views use the shared safe helper. Assertion aktual ditunjukkan di kolom bukti dan kode.Assertion assertStringContainsString
Buka kode asli bernomor baris

Kode hanya ditampilkan sebagai teks. Tidak dieksekusi oleh panduan. Nomor baris mengikuti sumber yang dibaca.

Identitas snapshot

SHA-256 99c7e64648c5ce2abc77a6c7913c0e9fb0f8d9e571c878c3cb912aecf5ce8d53

tests/Feature/ProductWarrantyTest.php115 baris · 7 fungsi bernama
Unggahan sumber 17 OktoberSkenario teknis, bukan hasil UAT

Untuk apa

Kode pengujian atau dukungan pengujian ProductWarrantyTest.php. Skenario dan assertion dibaca langsung dari fungsi atau test pada berkas ini.

Jika diminta mengubah

Edit skenario jika perilaku yang diharapkan berubah. Keberadaan file tidak menyatakan tes sudah dijalankan atau lulus UAT manusia.

Fungsi dan metode

Fungsi dan input atau hasilPenjelasan singkatBukti source
function test_product_claim_uses_sale_warranty_snapshot_without_service_or_current_master_warranty(): voidSkenario uji product claim uses sale warranty snapshot without service or current master warranty. Assertion aktual ditunjukkan di kolom bukti dan kode.API /api/klaim-garansi/produk, /api/klaim-garansi?q=, /api/klaim-garansi/sumber?jenis=produk
Tabel penjualan, servis
Assertion assertOk, assertCreated, assertJsonPath, assertSame, assertCount
function test_wrong_sale_product_pair_unpaid_or_pending_sale_and_no_warranty_are_rejected(): voidSkenario uji wrong sale product pair unpaid or pending sale and no warranty are rejected. Assertion aktual ditunjukkan di kolom bukti dan kode.API /api/klaim-garansi/produk
Tabel penjualan, klaim_garansi
Assertion assertOk, assertUnprocessable, assertSame
function test_product_claim_includes_the_entire_snapshot_expiry_date_but_not_the_next_day(): voidSkenario uji product claim includes the entire snapshot expiry date but not the next day. Assertion aktual ditunjukkan di kolom bukti dan kode.API /api/klaim-garansi/produk
Tabel detail_penjualan
Assertion assertOk, assertCreated, assertUnprocessable
function test_partial_or_mixed_sources_and_client_warranty_dates_are_rejected(): voidSkenario uji partial or mixed sources and client warranty dates are rejected. Assertion aktual ditunjukkan di kolom bukti dan kode.API /api/klaim-garansi/produk
Tabel klaim_garansi
Assertion assertOk, assertUnprocessable, assertSame
function test_product_duplicate_and_other_tenant_access_are_rejected(): voidSkenario uji product duplicate and other tenant access are rejected. Assertion aktual ditunjukkan di kolom bukti dan kode.API /api/klaim-garansi/produk, /api/klaim-garansi, /api/klaim-garansi/{$id}, /api/klaim-garansi/sumber?jenis=produk
Assertion assertOk, assertCreated, assertStatus, assertSame, assertUnprocessable, assertJsonCount, assertNotFound
function failures(): arrayHelper pengujian failures. Dipakai membangun input, request, fixture, proses database atau pembandingan hasil sesuai kode.return [[AuditLogger::class, 'recordCdi'], [WarrantyClaimIntegrity::class, 'verify']];
function test_product_claim_failure_rolls_back_without_touching_sale_or_stock(string $class, string $method): voidSkenario uji product claim failure rolls back without touching sale or stock. Assertion aktual ditunjukkan di kolom bukti dan kode.API /api/klaim-garansi/produk
Assertion assertOk, assertStatus, assertSame
Dependensi kode proyek yang diimpor
Buka kode asli bernomor baris

Kode hanya ditampilkan sebagai teks. Tidak dieksekusi oleh panduan. Nomor baris mengikuti sumber yang dibaca.

Identitas snapshot

SHA-256 c2b7d551e229718d0d22e7de9051ea45bd78d903b9d269db8764b1d8b0f88f1a

tests/Feature/PurchaseIntegrityTest.php121 baris · 3 fungsi bernama
Unggahan sumber 17 OktoberSkenario teknis, bukan hasil UAT

Untuk apa

Kode pengujian atau dukungan pengujian PurchaseIntegrityTest.php. Skenario dan assertion dibaca langsung dari fungsi atau test pada berkas ini.

Jika diminta mengubah

Edit skenario jika perilaku yang diharapkan berubah. Keberadaan file tidak menyatakan tes sudah dijalankan atau lulus UAT manusia.

Fungsi dan metode

Fungsi dan input atau hasilPenjelasan singkatBukti source
function corruptions(): arrayHelper pengujian corruptions. Dipakai membangun input, request, fixture, proses database atau pembandingan hasil sesuai kode.return [['stock_equation'], ['branch'], ['inactive_product'], ['missing_product'], ['duplicate_detail'],
function test_ivp_detects_inconsistent_logical_state_without_http_validation(string $corruption): voidSkenario uji ivp detects inconsistent logical state without http validation. Assertion aktual ditunjukkan di kolom bukti dan kode.Pemeriksaan IVP
Panggilan samanhudi.forceFill, samanhudi.delete
function test_stored_ivp_and_command_replay_audit_even_after_a_later_restock(): voidSkenario uji stored ivp and command replay audit even after a later restock. Assertion aktual ditunjukkan di kolom bukti dan kode.API /api/pembelian
Tabel produk_cabang, audit_log
Assertion assertSuccessful, assertSame
Dependensi kode proyek yang diimpor
Buka kode asli bernomor baris

Kode hanya ditampilkan sebagai teks. Tidak dieksekusi oleh panduan. Nomor baris mengikuti sumber yang dibaca.

Identitas snapshot

SHA-256 840025b8f99a12f7b1b15ee463af2078fef88d305ee8272f50ad9940ff72f6cc

tests/Feature/PwaRealtimeAdvancedTest.php53 baris · 5 fungsi bernama
Unggahan sumber 17 OktoberSkenario teknis, bukan hasil UAT

Untuk apa

Kode pengujian atau dukungan pengujian PwaRealtimeAdvancedTest.php. Skenario dan assertion dibaca langsung dari fungsi atau test pada berkas ini.

Jika diminta mengubah

Edit skenario jika perilaku yang diharapkan berubah. Keberadaan file tidak menyatakan tes sudah dijalankan atau lulus UAT manusia.

Fungsi dan metode

Fungsi dan input atau hasilPenjelasan singkatBukti source
function test_mutating_http_requests_are_blocked_client_side_while_offline(): voidSkenario uji mutating http requests are blocked client side while offline. Assertion aktual ditunjukkan di kolom bukti dan kode.Assertion assertStringContainsString
function test_service_worker_update_waits_for_explicit_user_activation(): voidSkenario uji service worker update waits for explicit user activation. Assertion aktual ditunjukkan di kolom bukti dan kode.Assertion assertStringContainsString, assertNotFalse, assertStringNotContainsString
function test_pwa_ui_exposes_update_action_and_never_promises_offline_transactions(): voidSkenario uji pwa ui exposes update action and never promises offline transactions. Assertion aktual ditunjukkan di kolom bukti dan kode.Assertion assertStringContainsString
function test_realtime_client_deduplicates_duplicate_business_events(): voidSkenario uji realtime client deduplicates duplicate business events. Assertion aktual ditunjukkan di kolom bukti dan kode.Assertion assertStringContainsString
function test_realtime_activity_history_is_session_scoped_not_persisted_to_server(): voidSkenario uji realtime activity history is session scoped not persisted to server. Assertion aktual ditunjukkan di kolom bukti dan kode.Penyimpanan per tab
API /api/notifikasi
Assertion assertStringContainsString, assertStringNotContainsString
Buka kode asli bernomor baris

Kode hanya ditampilkan sebagai teks. Tidak dieksekusi oleh panduan. Nomor baris mengikuti sumber yang dibaca.

Identitas snapshot

SHA-256 2ab1c93a37d1c97574e10f39c3d1b89060113617bfea168dcfc3af3bf46c2963

tests/Feature/PwaSecurityTest.php65 baris · 6 fungsi bernama
Unggahan sumber 17 OktoberSkenario teknis, bukan hasil UAT

Untuk apa

Kode pengujian atau dukungan pengujian PwaSecurityTest.php. Skenario dan assertion dibaca langsung dari fungsi atau test pada berkas ini.

Jika diminta mengubah

Edit skenario jika perilaku yang diharapkan berubah. Keberadaan file tidak menyatakan tes sudah dijalankan atau lulus UAT manusia.

Fungsi dan metode

Fungsi dan input atau hasilPenjelasan singkatBukti source
function test_manifest_is_installable_and_uses_local_icons(): voidSkenario uji manifest is installable and uses local icons. Assertion aktual ditunjukkan di kolom bukti dan kode.Assertion assertSame, assertCount, assertStringStartsWith
function test_required_pwa_icons_have_expected_dimensions(): voidSkenario uji required pwa icons have expected dimensions. Assertion aktual ditunjukkan di kolom bukti dan kode.Assertion assertSame
function test_service_worker_never_queues_or_caches_mutating_requests(): voidSkenario uji service worker never queues or caches mutating requests. Assertion aktual ditunjukkan di kolom bukti dan kode.Assertion assertStringContainsString, assertStringNotContainsString
function test_service_worker_explicitly_excludes_sensitive_api_and_evidence_urls(): voidSkenario uji service worker explicitly excludes sensitive api and evidence urls. Assertion aktual ditunjukkan di kolom bukti dan kode.API /api/, /sanctum/
Assertion assertStringContainsString
function test_offline_page_warns_that_transactions_are_not_stored_offline(): voidSkenario uji offline page warns that transactions are not stored offline. Assertion aktual ditunjukkan di kolom bukti dan kode.Assertion assertStringContainsString
function test_application_shell_registers_manifest_and_service_worker(): voidSkenario uji application shell registers manifest and service worker. Assertion aktual ditunjukkan di kolom bukti dan kode.Assertion assertStringContainsString
Buka kode asli bernomor baris

Kode hanya ditampilkan sebagai teks. Tidak dieksekusi oleh panduan. Nomor baris mengikuti sumber yang dibaca.

Identitas snapshot

SHA-256 4b8dca2e3c00b311346206aacf57f74d70edf0c9c88dd2abad5d8a737705edc7

tests/Feature/RealtimeSecurityTest.php100 baris · 7 fungsi bernama
Unggahan sumber 17 OktoberSkenario teknis, bukan hasil UAT

Untuk apa

Kode pengujian atau dukungan pengujian RealtimeSecurityTest.php. Skenario dan assertion dibaca langsung dari fungsi atau test pada berkas ini.

Jika diminta mengubah

Edit skenario jika perilaku yang diharapkan berubah. Keberadaan file tidak menyatakan tes sudah dijalankan atau lulus UAT manusia.

Fungsi dan metode

Fungsi dan input atau hasilPenjelasan singkatBukti source
function test_broadcast_authentication_requires_an_authenticated_account(): voidSkenario uji broadcast authentication requires an authenticated account. Assertion aktual ditunjukkan di kolom bukti dan kode.API /sanctum/csrf-cookie, /api/broadcasting/auth
Assertion assertNoContent, assertUnauthorized
function test_cashier_can_authorize_only_the_active_branch_channel(): voidSkenario uji cashier can authorize only the active branch channel. Assertion aktual ditunjukkan di kolom bukti dan kode.API /api/broadcasting/auth
Assertion assertOk, assertForbidden
function test_owner_must_select_a_branch_before_authorizing_realtime_channel(): voidSkenario uji owner must select a branch before authorizing realtime channel. Assertion aktual ditunjukkan di kolom bukti dan kode.API /api/broadcasting/auth, /api/owner/cabang-aktif
Assertion assertOk, assertStatus
function test_technician_can_receive_branch_refresh_events_without_gaining_other_permissions(): voidSkenario uji technician can receive branch refresh events without gaining other permissions. Assertion aktual ditunjukkan di kolom bukti dan kode.API /api/broadcasting/auth, /api/online-order
Assertion assertOk, assertForbidden
function test_business_event_contains_only_refresh_metadata(): voidSkenario uji business event contains only refresh metadata. Assertion aktual ditunjukkan di kolom bukti dan kode.Assertion assertSame, assertArrayNotHasKey
function test_successful_api_mutation_broadcasts_after_the_response(): voidSkenario uji successful api mutation broadcasts after the response. Assertion aktual ditunjukkan di kolom bukti dan kode.API /api/example
Assertion assertSame
function test_failed_api_mutation_does_not_broadcast(): voidSkenario uji failed api mutation does not broadcast. Assertion aktual ditunjukkan di kolom bukti dan kode.API /api/example
Dependensi kode proyek yang diimpor
Buka kode asli bernomor baris

Kode hanya ditampilkan sebagai teks. Tidak dieksekusi oleh panduan. Nomor baris mengikuti sumber yang dibaca.

Identitas snapshot

SHA-256 df7cbfbac02784e46f1f40fddf8d519354dd9875e869f434ae8e0899db3e2508

tests/Feature/ReleaseConfigurationTest.php171 baris · 8 fungsi bernama
Revisi ZIP v5Skenario teknis, bukan hasil UAT

Untuk apa

Kode pengujian atau dukungan pengujian ReleaseConfigurationTest.php. Skenario dan assertion dibaca langsung dari fungsi atau test pada berkas ini.

Jika diminta mengubah

Edit skenario jika perilaku yang diharapkan berubah. Keberadaan file tidak menyatakan tes sudah dijalankan atau lulus UAT manusia.

Fungsi dan metode

Fungsi dan input atau hasilPenjelasan singkatBukti source
function setUp(): voidMenyiapkan atau membersihkan lingkungan tes milik suite ini. Periksa penjagaan schema dan target sebelum menjalankan.Panggilan app.usePublicPath
function tearDown(): voidMenyiapkan atau membersihkan lingkungan tes milik suite ini. Periksa penjagaan schema dan target sebelum menjalankan.Lihat signature dan isi fungsi.
function test_complete_production_configuration_passes_without_disclosing_values(): voidSkenario uji complete production configuration passes without disclosing values. Assertion aktual ditunjukkan di kolom bukti dan kode.Assertion assertNotContains, assertStringNotContainsString
function test_unsafe_configuration_fails_closed(string $key, mixed $value, string $check): voidSkenario uji unsafe configuration fails closed. Assertion aktual ditunjukkan di kolom bukti dan kode.Assertion assertFalse
function unsafeConfigurations(): arrayHelper pengujian unsafeConfigurations. Dipakai membangun input, request, fixture, proses database atau pembandingan hasil sesuai kode.return [
function test_missing_qris_and_public_backup_directory_fail_release(): voidSkenario uji missing qris and public backup directory fail release. Assertion aktual ditunjukkan di kolom bukti dan kode.Assertion assertFalse
function test_smtp_transport_enforces_tls_and_timeout_without_sending_mail(): voidSkenario uji smtp transport enforces tls and timeout without sending mail. Assertion aktual ditunjukkan di kolom bukti dan kode.Assertion assertTrue, assertSame
function test_local_environment_cannot_pass_production_validation(): voidSkenario uji local environment cannot pass production validation. Assertion aktual ditunjukkan di kolom bukti dan kode.Assertion assertFalse
Dependensi kode proyek yang diimpor
Buka kode asli bernomor baris

Kode hanya ditampilkan sebagai teks. Tidak dieksekusi oleh panduan. Nomor baris mengikuti sumber yang dibaca.

Identitas snapshot

SHA-256 238bd51585121beb25248a159ee5ed970b59d90ff8c5beeb9987e69d9590f670

tests/Feature/ReleaseSecurityTest.php97 baris · 9 fungsi bernama
Unggahan sumber 17 OktoberSkenario teknis, bukan hasil UAT

Untuk apa

Kode pengujian atau dukungan pengujian ReleaseSecurityTest.php. Skenario dan assertion dibaca langsung dari fungsi atau test pada berkas ini.

Jika diminta mengubah

Edit skenario jika perilaku yang diharapkan berubah. Keberadaan file tidak menyatakan tes sudah dijalankan atau lulus UAT manusia.

Fungsi dan metode

Fungsi dan input atau hasilPenjelasan singkatBukti source
function test_injection_search_is_literal_and_does_not_leak_rows(string $path): voidSkenario uji injection search is literal and does not leak rows. Assertion aktual ditunjukkan di kolom bukti dan kode.Tabel servis
Assertion assertOk, assertJsonCount, assertSame
function searchEndpoints(): arrayHelper pengujian searchEndpoints. Dipakai membangun input, request, fixture, proses database atau pembandingan hasil sesuai kode.API /api/produk, /api/pelanggan, /api/servis
function test_oversized_search_is_rejected(string $path): voidSkenario uji oversized search is rejected. Assertion aktual ditunjukkan di kolom bukti dan kode.Assertion assertOk, assertUnprocessable
function test_service_options_exclude_receiver_inactive_and_other_branch_technicians(): voidSkenario uji service options exclude receiver inactive and other branch technicians. Assertion aktual ditunjukkan di kolom bukti dan kode.API /api/servis/options
Assertion assertOk, assertContains, assertNotContains
function test_technician_cannot_enumerate_assignment_options(): voidSkenario uji technician cannot enumerate assignment options. Assertion aktual ditunjukkan di kolom bukti dan kode.API /api/servis/options
Assertion assertOk, assertForbidden
function test_service_search_cannot_expand_technician_assignment_scope(): voidSkenario uji service search cannot expand technician assignment scope. Assertion aktual ditunjukkan di kolom bukti dan kode.API /api/servis?q=%25
Assertion assertOk, assertJsonCount
function test_service_list_is_readable_and_technician_filter_cannot_expand_scope(): voidSkenario uji service list is readable and technician filter cannot expand scope. Assertion aktual ditunjukkan di kolom bukti dan kode.API /api/servis?q=, /api/servis?id_teknisi=
Assertion assertOk, assertJsonPath, assertForbidden
function test_event_identity_is_stable_for_retransmission_but_unique_for_separate_changes(): voidSkenario uji event identity is stable for retransmission but unique for separate changes. Assertion aktual ditunjukkan di kolom bukti dan kode.Assertion assertSame, assertNotSame, assertMatchesRegularExpression
function test_guest_cannot_access_service_options_or_customer_search(): voidSkenario uji guest cannot access service options or customer search. Assertion aktual ditunjukkan di kolom bukti dan kode.API /api/servis/options, /api/pelanggan?q=Browser
Assertion assertUnauthorized
Dependensi kode proyek yang diimpor
Buka kode asli bernomor baris

Kode hanya ditampilkan sebagai teks. Tidak dieksekusi oleh panduan. Nomor baris mengikuti sumber yang dibaca.

Identitas snapshot

SHA-256 3253ebaa1e26a8a43a2aa97e313cc6efca8f4549aafa64c946fdb317c137afef

tests/Feature/ReportingTest.php249 baris · 15 fungsi bernama
Unggahan sumber 17 OktoberSkenario teknis, bukan hasil UAT

Untuk apa

Kode pengujian atau dukungan pengujian ReportingTest.php. Skenario dan assertion dibaca langsung dari fungsi atau test pada berkas ini.

Jika diminta mengubah

Edit skenario jika perilaku yang diharapkan berubah. Keberadaan file tidak menyatakan tes sudah dijalankan atau lulus UAT manusia.

Fungsi dan metode

Fungsi dan input atau hasilPenjelasan singkatBukti source
function sale(string $connection = 'tenant_samanhudi', int $value = 100, string $channel = 'OFFLINE', string $status = 'lunas', ?string $date = null): intHelper pengujian sale. Dipakai membangun input, request, fixture, proses database atau pembandingan hasil sesuai kode.Tabel penjualan, detail_penjualan
function test_all_seventeen_owner_reports_execute_against_existing_schema(): voidSkenario uji all seventeen owner reports execute against existing schema. Assertion aktual ditunjukkan di kolom bukti dan kode.API /api/laporan/options, /api/laporan/
Assertion assertOk, assertJsonCount, assertJsonStructure
function test_owner_cross_branch_sales_include_paid_pos_and_online_without_unpaid_orders(): voidSkenario uji owner cross branch sales include paid pos and online without unpaid orders. Assertion aktual ditunjukkan di kolom bukti dan kode.API /api/laporan/penjualan-cabang, /api/laporan/penjualan-cabang?id_cabang=
Assertion assertOk, assertJsonPath, assertSame, assertJsonCount
function test_cashier_cannot_access_owner_reports_or_audit(): voidSkenario uji cashier cannot access owner reports or audit. Assertion aktual ditunjukkan di kolom bukti dan kode.API /api/laporan/options, /api/laporan/, /api/audit-log
Assertion assertOk, assertForbidden
function test_date_boundaries_and_daily_cashier_best_seller_aggregations_are_exact(): voidSkenario uji date boundaries and daily cashier best seller aggregations are exact. Assertion aktual ditunjukkan di kolom bukti dan kode.API /api/laporan/penjualan-harian, /api/laporan/penjualan-kasir, /api/laporan/produk-terlaris
Assertion assertOk, assertJsonCount, assertJsonPath, assertSame
function test_owner_report_filters_use_master_product_and_supplier_data_server_side(): voidSkenario uji owner report filters use master product and supplier data server side. Assertion aktual ditunjukkan di kolom bukti dan kode.API /api/laporan/options, /api/laporan/stok?id_cabang=, /api/laporan/servis?id_cabang=, /api/laporan/pembelian?id_cabang=, /api/laporan/stok?status=bad%20value
Tabel pembelian
Panggilan product.forceFill
Assertion assertOk, assertJsonFragment, assertSee, assertJsonPath, assertSame, assertJsonCount, assertUnprocessable
function test_invalid_dates_pagination_and_unknown_reports_are_rejected(): voidSkenario uji invalid dates pagination and unknown reports are rejected. Assertion aktual ditunjukkan di kolom bukti dan kode.API /api/laporan/stok, /api/laporan/arbitrary-table
Assertion assertUnprocessable, assertNotFound
function test_stock_report_is_current_snapshot_including_quarantine(): voidSkenario uji stock report is current snapshot including quarantine. Assertion aktual ditunjukkan di kolom bukti dan kode.API /api/laporan/stok?dari=2020-01-01&sampai=2020-01-02
Assertion assertOk, assertJsonCount, assertSame, assertStringContainsString
function service(Pengguna $technician, string $status = 'dikerjakan'): intHelper pengujian service. Dipakai membangun input, request, fixture, proses database atau pembandingan hasil sesuai kode.Tabel servis
function test_technician_sees_only_assigned_service_and_parts_without_financial_reports(): voidSkenario uji technician sees only assigned service and parts without financial reports. Assertion aktual ditunjukkan di kolom bukti dan kode.API /api/laporan/options, /api/laporan/, /api/audit-log
Tabel sparepart_servis
Assertion assertOk, assertForbidden
function test_online_payment_and_shipping_reports_exclude_pos_and_private_evidence(): voidSkenario uji online payment and shipping reports exclude pos and private evidence. Assertion aktual ditunjukkan di kolom bukti dan kode.API /api/laporan/online-order, /api/laporan/pembayaran-online, /api/laporan/pengiriman
Tabel penjualan, pengiriman
Assertion assertOk, assertJsonCount, assertDontSee, assertSame, assertJsonPath
function test_purchase_warranty_and_service_reports_read_existing_transaction_rows(): voidSkenario uji purchase warranty and service reports read existing transaction rows. Assertion aktual ditunjukkan di kolom bukti dan kode.API /api/laporan/pembelian, /api/laporan/garansi, /api/laporan/servis
Tabel pembelian, detail_pembelian, klaim_garansi
Assertion assertOk, assertJsonCount, assertSame, assertJsonPath
function test_mutation_and_approval_reports_deduplicate_cross_branch_history(): voidSkenario uji mutation and approval reports deduplicate cross branch history. Assertion aktual ditunjukkan di kolom bukti dan kode.API /api/laporan/mutasi, /api/laporan/approval, /api/laporan/approval?id_cabang=
Assertion assertOk, assertJsonCount, assertJsonPath
function test_audit_is_owner_only_filtered_paginated_and_never_exposes_sensitive_json(): voidSkenario uji audit is owner only filtered paginated and never exposes sensitive json. Assertion aktual ditunjukkan di kolom bukti dan kode.API /api/audit-log?aksi=mutasi_diajukan&tabel=mutasi_stok&id_data=, /api/audit-log?aksi=mutasi_diajukan&id_data=, /api/audit-log?aksi=mutasi_diajukan&id_cabang=, /api/laporan/options
Tabel mutasi_stok, audit_log
Assertion assertOk, assertJsonPath, assertJsonCount, assertDontSee, assertJsonFragment, assertTrue
function test_new_routes_require_authenticated_context_and_expose_no_generic_stock_mutation(): voidSkenario uji new routes require authenticated context and expose no generic stock mutation. Assertion aktual ditunjukkan di kolom bukti dan kode.API /api/laporan/stok, /api/audit-log, /api/mutasi-stok/1, /api/stok/1
Tabel produk_cabang
Assertion assertUnauthorized, assertStatus, assertSame
Dependensi kode proyek yang diimpor
Buka kode asli bernomor baris

Kode hanya ditampilkan sebagai teks. Tidak dieksekusi oleh panduan. Nomor baris mengikuti sumber yang dibaca.

Identitas snapshot

SHA-256 7cc715fd7cd63a9854bf43f6a275b5d49afa2f68a990b96f597435f188dc4709

tests/Feature/RestockConcurrencyTest.php202 baris · 6 fungsi bernama
Unggahan sumber 17 OktoberSkenario teknis, bukan hasil UAT

Untuk apa

Kode pengujian atau dukungan pengujian RestockConcurrencyTest.php. Skenario dan assertion dibaca langsung dari fungsi atau test pada berkas ini.

Jika diminta mengubah

Edit skenario jika perilaku yang diharapkan berubah. Keberadaan file tidak menyatakan tes sudah dijalankan atau lulus UAT manusia.

Fungsi dan metode

Fungsi dan input atau hasilPenjelasan singkatBukti source
function setUp(): voidMenyiapkan atau membersihkan lingkungan tes milik suite ini. Periksa penjagaan schema dan target sebelum menjalankan.Assertion assertSame
function tearDown(): voidMenyiapkan atau membersihkan lingkungan tes milik suite ini. Periksa penjagaan schema dan target sebelum menjalankan.Lihat signature dan isi fungsi.
function cleanup(): voidMenyiapkan atau membersihkan lingkungan tes milik suite ini. Periksa penjagaan schema dan target sebelum menjalankan.Lihat signature dan isi fungsi.
function initialStocks(): arrayHelper pengujian initialStocks. Dipakai membangun input, request, fixture, proses database atau pembandingan hasil sesuai kode.return ['existing row' => [13], 'first receipt race' => [null]];
function test_real_concurrent_restock_has_no_lost_update(?int $initial): voidSkenario uji real concurrent restock has no lost update. Assertion aktual ditunjukkan di kolom bukti dan kode.Kunci baris perubahan
Tabel produk_cabang, pg_stat_activity, pembelian, detail_pembelian, audit_log
Assertion assertSame
function runWorker(): voidHelper pengujian runWorker. Dipakai membangun input, request, fixture, proses database atau pembandingan hasil sesuai kode.API /api/pembelian
Dependensi kode proyek yang diimpor
Buka kode asli bernomor baris

Kode hanya ditampilkan sebagai teks. Tidak dieksekusi oleh panduan. Nomor baris mengikuti sumber yang dibaca.

Identitas snapshot

SHA-256 3c85c2c66f00377b1482ff18389bef7a3752e56b0215e643e897a2b949363fe8

tests/Feature/RestockTest.php357 baris · 29 fungsi bernama
Unggahan sumber 17 OktoberSkenario teknis, bukan hasil UAT

Untuk apa

Kode pengujian atau dukungan pengujian RestockTest.php. Skenario dan assertion dibaca langsung dari fungsi atau test pada berkas ini.

Jika diminta mengubah

Edit skenario jika perilaku yang diharapkan berubah. Keberadaan file tidak menyatakan tes sudah dijalankan atau lulus UAT manusia.

Fungsi dan metode

Fungsi dan input atau hasilPenjelasan singkatBukti source
function input(array $overrides = []): arrayHelper pengujian input. Dipakai membangun input, request, fixture, proses database atau pembandingan hasil sesuai kode.return array_replace([
function loginOwnerOnSamanhudi(): voidHelper pengujian loginOwnerOnSamanhudi. Dipakai membangun input, request, fixture, proses database atau pembandingan hasil sesuai kode.API /api/owner/cabang-aktif
Assertion assertOk
function assertNoPurchase(): voidHelper pengujian assertNoPurchase. Dipakai membangun input, request, fixture, proses database atau pembandingan hasil sesuai kode.Tabel pembelian, detail_pembelian, audit_log
Assertion assertSame
function test_restock_without_authentication_is_rejected(): voidSkenario uji restock without authentication is rejected. Assertion aktual ditunjukkan di kolom bukti dan kode.API /sanctum/csrf-cookie, /api/pembelian
Assertion assertNoContent, assertUnauthorized, assertNoPurchase
function forbiddenRoles(): arrayHelper pengujian forbiddenRoles. Dipakai membangun input, request, fixture, proses database atau pembandingan hasil sesuai kode.return [['kasir'], ['teknisi']];
function test_cashier_and_technician_cannot_restock_or_read_purchases(string $role): voidSkenario uji cashier and technician cannot restock or read purchases. Assertion aktual ditunjukkan di kolom bukti dan kode.API /api/pembelian
Assertion assertOk, assertForbidden, assertNoPurchase
function test_admin_restock_uses_assigned_branch_and_cannot_redirect_to_another_tenant(): voidSkenario uji admin restock uses assigned branch and cannot redirect to another tenant. Assertion aktual ditunjukkan di kolom bukti dan kode.API /api/pembelian, /api/pembelian/
Tabel produk_cabang, pembelian
Assertion assertOk, assertJsonPath, assertCreated, assertSame
function test_owner_restock_increases_selected_tenant_stock_and_creates_atomic_audit(): voidSkenario uji owner restock increases selected tenant stock and creates atomic audit. Assertion aktual ditunjukkan di kolom bukti dan kode.API /api/pembelian, /api/pembelian/, /api/stok
Tabel produk_cabang, pembelian
Assertion assertCreated, assertSame, assertCount, assertOk, assertJsonPath, assertStringNotContainsString
function test_owner_can_restock_after_selecting_an_active_tenant(): voidSkenario uji owner can restock after selecting an active tenant. Assertion aktual ditunjukkan di kolom bukti dan kode.API /api/pembelian, /api/owner/cabang-aktif
Tabel pembelian
Assertion assertOk, assertStatus, assertCreated, assertJsonCount, assertSame
function forgedFields(): arrayHelper pengujian forgedFields. Dipakai membangun input, request, fixture, proses database atau pembandingan hasil sesuai kode.return [['connection', 'tenant_peganden'], ['tenant', 'tenant_peganden'], ['id_cabang', 123], ['id_pengguna', 123], ['stok_tersedia', 999], ['statu
function test_client_cannot_supply_tenant_actor_stock_or_status(string $field, mixed $value): voidSkenario uji client cannot supply tenant actor stock or status. Assertion aktual ditunjukkan di kolom bukti dan kode.API /api/pembelian
Assertion assertUnprocessable, assertJsonValidationErrors, assertNoPurchase
function test_forged_tenant_headers_do_not_redirect_the_write(): voidSkenario uji forged tenant headers do not redirect the write. Assertion aktual ditunjukkan di kolom bukti dan kode.API /api/pembelian
Tabel pembelian
Assertion assertCreated, assertSame
function test_tp_itself_allows_owner_restock_with_a_selected_tenant(): voidSkenario uji tp itself allows owner restock with a selected tenant. Assertion aktual ditunjukkan di kolom bukti dan kode.API /api/pembelian
Tabel pembelian
Assertion assertGreaterThan, assertSame
function test_tp_itself_allows_admin_on_assigned_tenant_and_rejects_cashier(): voidSkenario uji tp itself allows admin on assigned tenant and rejects cashier. Assertion aktual ditunjukkan di kolom bukti dan kode.API /api/pembelian
Tabel pembelian
Assertion assertGreaterThan, assertSame
function test_fake_supplier_is_rejected(): voidSkenario uji fake supplier is rejected. Assertion aktual ditunjukkan di kolom bukti dan kode.API /api/pembelian
Assertion assertUnprocessable, assertNoPurchase
function test_fake_and_inactive_master_products_are_rejected(): voidSkenario uji fake and inactive master products are rejected. Assertion aktual ditunjukkan di kolom bukti dan kode.API /api/pembelian
Assertion assertUnprocessable, assertNoPurchase
function test_inactive_branch_is_rejected_after_login(): voidSkenario uji inactive branch is rejected after login. Assertion aktual ditunjukkan di kolom bukti dan kode.API /api/pembelian
Panggilan samanhudi.forceFill
Assertion assertForbidden, assertNoPurchase
function invalidItems(): arrayHelper pengujian invalidItems. Dipakai membangun input, request, fixture, proses database atau pembandingan hasil sesuai kode.return [['jumlah', 0], ['jumlah', -1], ['jumlah', 1.5], ['harga_beli', -1], ['harga_beli', 1.25], ['jumlah', 2147483648]];
function test_invalid_item_amounts_are_rejected(string $field, mixed $value): voidSkenario uji invalid item amounts are rejected. Assertion aktual ditunjukkan di kolom bukti dan kode.API /api/pembelian
Assertion assertUnprocessable, assertNoPurchase
function test_duplicate_products_including_numeric_strings_are_rejected(): voidSkenario uji duplicate products including numeric strings are rejected. Assertion aktual ditunjukkan di kolom bukti dan kode.API /api/pembelian
Assertion assertUnprocessable, assertNoPurchase
function test_no_direct_stock_mutation_endpoint_exists_even_for_owner(): voidSkenario uji no direct stock mutation endpoint exists even for owner. Assertion aktual ditunjukkan di kolom bukti dan kode.API /api/produk-cabang/1, /api/stok/1, /api/stok
Tabel produk_cabang
Assertion assertOk, assertNotFound, assertStatus, assertSame
function test_two_items_add_to_existing_stock_without_changing_quarantine(): voidSkenario uji two items add to existing stock without changing quarantine. Assertion aktual ditunjukkan di kolom bukti dan kode.API /api/pembelian
Tabel produk_cabang
Assertion assertCreated, assertSame, assertCount
function test_failure_after_first_stock_write_rolls_back_header_details_stock_and_audit(): voidSkenario uji failure after first stock write rolls back header details stock and audit. Assertion aktual ditunjukkan di kolom bukti dan kode.API /api/pembelian
Tabel produk_cabang
Assertion assertStatus, assertNoPurchase, assertSame, assertStringNotContainsString
function test_ivp_failure_rolls_back_existing_stock_and_purchase(): voidSkenario uji ivp failure rolls back existing stock and purchase. Assertion aktual ditunjukkan di kolom bukti dan kode.API /api/pembelian
Tabel produk_cabang
Assertion assertStatus, assertNoPurchase, assertSame
function test_audit_failure_rolls_back_prior_audits_and_all_business_writes(): voidSkenario uji audit failure rolls back prior audits and all business writes. Assertion aktual ditunjukkan di kolom bukti dan kode.API /api/pembelian
Tabel produk_cabang
Assertion assertStatus, assertNoPurchase, assertSame, assertCount
function test_duplicate_purchase_number_conflicts_without_double_stock(): voidSkenario uji duplicate purchase number conflicts without double stock. Assertion aktual ditunjukkan di kolom bukti dan kode.API /api/pembelian
Tabel produk_cabang, pembelian
Assertion assertCreated, assertStatus, assertSame
function test_stock_and_purchase_reads_do_not_expose_another_tenant(): voidSkenario uji stock and purchase reads do not expose another tenant. Assertion aktual ditunjukkan di kolom bukti dan kode.API /api/owner/cabang-aktif, /api/pembelian, /api/stok, /api/pembelian/, /api/pembelian?connection=tenant_peganden
Assertion assertOk, assertCreated, assertJsonCount, assertNotFound
function test_restock_requires_csrf(): voidSkenario uji restock requires csrf. Assertion aktual ditunjukkan di kolom bukti dan kode.API /api/pembelian
Assertion assertStatus, assertNoPurchase
function test_employee_stock_reads_follow_assignment_despite_forged_tenant_input(string $role): voidSkenario uji employee stock reads follow assignment despite forged tenant input. Assertion aktual ditunjukkan di kolom bukti dan kode.API /api/owner/cabang-aktif, /api/pembelian, /api/stok?connection=tenant_peganden&id_cabang=
Assertion assertOk, assertCreated, assertJsonCount, assertJsonPath
Dependensi kode proyek yang diimpor
Buka kode asli bernomor baris

Kode hanya ditampilkan sebagai teks. Tidak dieksekusi oleh panduan. Nomor baris mengikuti sumber yang dibaca.

Identitas snapshot

SHA-256 68320b03c259997b7899fc8fe0d0785dbc365153cf4f56aa067ab45bb45cd2af

tests/Feature/ReturnConcurrencyTest.php128 baris · 4 fungsi bernama
Unggahan sumber 17 OktoberSkenario teknis, bukan hasil UAT

Untuk apa

Kode pengujian atau dukungan pengujian ReturnConcurrencyTest.php. Skenario dan assertion dibaca langsung dari fungsi atau test pada berkas ini.

Jika diminta mengubah

Edit skenario jika perilaku yang diharapkan berubah. Keberadaan file tidak menyatakan tes sudah dijalankan atau lulus UAT manusia.

Fungsi dan metode

Fungsi dan input atau hasilPenjelasan singkatBukti source
function tearDown(): voidMenyiapkan atau membersihkan lingkungan tes milik suite ini. Periksa penjagaan schema dan target sebelum menjalankan.Lihat signature dan isi fungsi.
function returnTypes(): arrayHelper pengujian returnTypes. Dipakai membangun input, request, fixture, proses database atau pembandingan hasil sesuai kode.return ['sale' => [false], 'purchase' => [true]];
function test_c2_simultaneous_returns_cannot_return_the_same_source_quantity_twice(bool $purchase): voidSkenario uji c2 simultaneous returns cannot return the same source quantity twice. Assertion aktual ditunjukkan di kolom bukti dan kode.Kunci baris perubahan
Tabel produk_cabang, pg_stat_activity, retur_, detail_retur_, audit_log
Assertion assertSame
function runWorker(): voidHelper pengujian runWorker. Dipakai membangun input, request, fixture, proses database atau pembandingan hasil sesuai kode.Lihat signature dan isi fungsi.
Dependensi kode proyek yang diimpor
Buka kode asli bernomor baris

Kode hanya ditampilkan sebagai teks. Tidak dieksekusi oleh panduan. Nomor baris mengikuti sumber yang dibaca.

Identitas snapshot

SHA-256 ac39e75456bea54fdb71059e77dd274dfab655beb133f8c55e9ae41d1db6e15f

tests/Feature/ReturnWorkflowsTest.php159 baris · 9 fungsi bernama
Unggahan sumber 17 OktoberSkenario teknis, bukan hasil UAT

Untuk apa

Kode pengujian atau dukungan pengujian ReturnWorkflowsTest.php. Skenario dan assertion dibaca langsung dari fungsi atau test pada berkas ini.

Jika diminta mengubah

Edit skenario jika perilaku yang diharapkan berubah. Keberadaan file tidak menyatakan tes sudah dijalankan atau lulus UAT manusia.

Fungsi dan metode

Fungsi dan input atau hasilPenjelasan singkatBukti source
function preparePurchase(int $quantity = 8): arrayHelper pengujian preparePurchase. Dipakai membangun input, request, fixture, proses database atau pembandingan hasil sesuai kode.API /api/pembelian
Assertion assertOk, assertCreated
function createSale(Produk $product, int $quantity = 2): intHelper pengujian createSale. Dipakai membangun input, request, fixture, proses database atau pembandingan hasil sesuai kode.API /api/penjualan
Assertion assertCreated
function test_sale_returns_restore_available_and_quarantine_separately_with_source_price(): voidSkenario uji sale returns restore available and quarantine separately with source price. Assertion aktual ditunjukkan di kolom bukti dan kode.API /api/retur-penjualan/sumber, /api/retur-penjualan, /api/retur-penjualan/
Tabel produk_cabang
Assertion assertSame, assertOk, assertCreated, assertJsonPath, assertCount
function test_overreturn_invalid_input_and_missing_invoice_are_rejected_atomically(): voidSkenario uji overreturn invalid input and missing invoice are rejected atomically. Assertion aktual ditunjukkan di kolom bukti dan kode.API /api/retur-penjualan
Tabel retur_penjualan, produk_cabang
Assertion assertUnprocessable, assertJsonValidationErrors, assertSame
function test_exchange_of_damaged_return_requires_fresh_available_stock(): voidSkenario uji exchange of damaged return requires fresh available stock. Assertion aktual ditunjukkan di kolom bukti dan kode.API /api/retur-penjualan
Tabel retur_penjualan, produk_cabang
Assertion assertStatus, assertSame
function test_supplier_return_reduces_quarantine_and_rejects_overreturn(): voidSkenario uji supplier return reduces quarantine and rejects overreturn. Assertion aktual ditunjukkan di kolom bukti dan kode.API /api/retur-penjualan, /api/retur-pembelian, /api/retur-pembelian/sumber, /api/retur-pembelian/
Tabel produk_cabang, retur_pembelian
Assertion assertCreated, assertOk, assertJsonPath, assertSame, assertStatus, assertCount
function test_owner_reports_include_both_return_histories_without_mutating_gross_sales(): voidSkenario uji owner reports include both return histories without mutating gross sales. Assertion aktual ditunjukkan di kolom bukti dan kode.API /api/retur-penjualan, /api/retur-pembelian, /api/owner/cabang-aktif, /api/laporan/retur-penjualan, /api/laporan/retur-pembelian, /api/laporan/retur-penjualan?status=tukar_barang
Assertion assertCreated, assertOk, assertJsonPath
function test_cashier_can_read_sale_returns_but_cannot_change_supplier_returns(): voidSkenario uji cashier can read sale returns but cannot change supplier returns. Assertion aktual ditunjukkan di kolom bukti dan kode.API /api/retur-penjualan, /api/retur-pembelian
Assertion assertOk, assertForbidden
function test_low_stock_summary_and_notification_are_distinct_from_empty_stock(): voidSkenario uji low stock summary and notification are distinct from empty stock. Assertion aktual ditunjukkan di kolom bukti dan kode.API /api/stok, /api/stok?status=rendah, /api/notifikasi, /api/dashboard-summary
Assertion assertOk, assertJsonPath, assertJsonCount, assertJsonMissing
Dependensi kode proyek yang diimpor
Buka kode asli bernomor baris

Kode hanya ditampilkan sebagai teks. Tidak dieksekusi oleh panduan. Nomor baris mengikuti sumber yang dibaca.

Identitas snapshot

SHA-256 e7a9891bce1739252581de31a921bfa3697238ebae939d69f15d3a9b2ba9fcd0

tests/Feature/SaleApprovalTest.php264 baris · 15 fungsi bernama
Unggahan sumber 17 OktoberSkenario teknis, bukan hasil UAT

Untuk apa

Kode pengujian atau dukungan pengujian SaleApprovalTest.php. Skenario dan assertion dibaca langsung dari fungsi atau test pada berkas ini.

Jika diminta mengubah

Edit skenario jika perilaku yang diharapkan berubah. Keberadaan file tidak menyatakan tes sudah dijalankan atau lulus UAT manusia.

Fungsi dan metode

Fungsi dan input atau hasilPenjelasan singkatBukti source
function product(): ProdukHelper pengujian product. Dipakai membangun input, request, fixture, proses database atau pembandingan hasil sesuai kode.return Produk::factory()->create(['harga_jual' => 100000, 'harga_grosir' => null, 'min_qty_grosir' => null, 'masa_garansi' => 365]);
function stock(Produk $product, int $quantity = 10): voidHelper pengujian stock. Dipakai membangun input, request, fixture, proses database atau pembandingan hasil sesuai kode.Tabel produk_cabang
function requestInput(Produk $product, array $overrides = []): arrayHelper pengujian requestInput. Dipakai membangun input, request, fixture, proses database atau pembandingan hasil sesuai kode.return array_replace([
function requestAsCashier(Produk $product, Pengguna $approver): arrayHelper pengujian requestAsCashier. Dipakai membangun input, request, fixture, proses database atau pembandingan hasil sesuai kode.API /api/penjualan/harga-khusus
Assertion assertOk, assertStatus
function test_special_price_request_keeps_stock_unchanged_hashes_token_and_sends_owner_link(): voidSkenario uji special price request keeps stock unchanged hashes token and sends owner link. Assertion aktual ditunjukkan di kolom bukti dan kode.Tabel penjualan, produk_cabang, audit_log
Assertion assertSame, assertNotSame, assertStringNotContainsString, assertCount
function test_owner_can_preview_and_approve_once_then_stock_is_reduced(): voidSkenario uji owner can preview and approve once then stock is reduced. Assertion aktual ditunjukkan di kolom bukti dan kode.Tabel penjualan, produk_cabang, detail_penjualan
Assertion assertOk, assertJsonPath, assertSame, assertNull, assertNotNull, assertStatus
function test_rejection_does_not_change_stock_and_invalidates_link(): voidSkenario uji rejection does not change stock and invalidates link. Assertion aktual ditunjukkan di kolom bukti dan kode.Tabel penjualan, produk_cabang
Assertion assertOk, assertSame, assertNull, assertCount
function test_requester_owner_cannot_decide_own_request_but_another_owner_can(): voidSkenario uji requester owner cannot decide own request but another owner can. Assertion aktual ditunjukkan di kolom bukti dan kode.API /api/owner/cabang-aktif, /api/penjualan/harga-khusus
Assertion assertOk, assertStatus, assertForbidden
function test_invalid_signature_wrong_token_and_expired_database_token_are_rejected(): voidSkenario uji invalid signature wrong token and expired database token are rejected. Assertion aktual ditunjukkan di kolom bukti dan kode.Tautan sementara
Tabel penjualan
Assertion assertOk, assertForbidden, assertStatus
function test_approval_rechecks_current_stock_and_keeps_request_pending_when_stock_is_no_longer_enough(): voidSkenario uji approval rechecks current stock and keeps request pending when stock is no longer enough. Assertion aktual ditunjukkan di kolom bukti dan kode.Tabel produk_cabang, penjualan
Assertion assertOk, assertStatus, assertSame, assertNotNull
function test_technician_cannot_request_special_price_and_cashier_cannot_approve(): voidSkenario uji technician cannot request special price and cashier cannot approve. Assertion aktual ditunjukkan di kolom bukti dan kode.API /api/penjualan/harga-khusus
Assertion assertOk, assertForbidden
function test_unauthenticated_user_cannot_open_or_decide_signed_approval(): voidSkenario uji unauthenticated user cannot open or decide signed approval. Assertion aktual ditunjukkan di kolom bukti dan kode.Tabel penjualan
Assertion assertUnauthorized, assertSame
function test_approval_audit_failure_rolls_back_decision_and_stock(): voidSkenario uji approval audit failure rolls back decision and stock. Assertion aktual ditunjukkan di kolom bukti dan kode.Tabel penjualan, produk_cabang
Assertion assertOk, assertStatus, assertSame, assertNotNull
function test_request_is_rejected_when_no_different_owner_is_available(): voidSkenario uji request is rejected when no different owner is available. Assertion aktual ditunjukkan di kolom bukti dan kode.API /api/owner/cabang-aktif, /api/penjualan/harga-khusus
Tabel penjualan
Assertion assertOk, assertUnprocessable, assertSame
function test_special_price_must_be_positive_below_system_price_and_have_reason(): voidSkenario uji special price must be positive below system price and have reason. Assertion aktual ditunjukkan di kolom bukti dan kode.API /api/penjualan/harga-khusus
Assertion assertOk, assertUnprocessable
Dependensi kode proyek yang diimpor
Buka kode asli bernomor baris

Kode hanya ditampilkan sebagai teks. Tidak dieksekusi oleh panduan. Nomor baris mengikuti sumber yang dibaca.

Identitas snapshot

SHA-256 3e5caf1e97678794cfe867e189a3d61f74dc3688039f7bff531af15e00f6be53

tests/Feature/SaleConcurrencyTest.php188 baris · 5 fungsi bernama
Unggahan sumber 17 OktoberSkenario teknis, bukan hasil UAT

Untuk apa

Kode pengujian atau dukungan pengujian SaleConcurrencyTest.php. Skenario dan assertion dibaca langsung dari fungsi atau test pada berkas ini.

Jika diminta mengubah

Edit skenario jika perilaku yang diharapkan berubah. Keberadaan file tidak menyatakan tes sudah dijalankan atau lulus UAT manusia.

Fungsi dan metode

Fungsi dan input atau hasilPenjelasan singkatBukti source
function setUp(): voidMenyiapkan atau membersihkan lingkungan tes milik suite ini. Periksa penjagaan schema dan target sebelum menjalankan.Assertion assertSame
function tearDown(): voidMenyiapkan atau membersihkan lingkungan tes milik suite ini. Periksa penjagaan schema dan target sebelum menjalankan.Lihat signature dan isi fungsi.
function test_two_concurrent_sales_cannot_oversell_inventory(): voidSkenario uji two concurrent sales cannot oversell inventory. Assertion aktual ditunjukkan di kolom bukti dan kode.Kunci baris perubahan
Tabel produk_cabang, pg_stat_activity, penjualan, detail_penjualan
Assertion assertSame
function runWorker(): voidHelper pengujian runWorker. Dipakai membangun input, request, fixture, proses database atau pembandingan hasil sesuai kode.API /api/penjualan
function cleanup(): voidMenyiapkan atau membersihkan lingkungan tes milik suite ini. Periksa penjagaan schema dan target sebelum menjalankan.Lihat signature dan isi fungsi.
Dependensi kode proyek yang diimpor
Buka kode asli bernomor baris

Kode hanya ditampilkan sebagai teks. Tidak dieksekusi oleh panduan. Nomor baris mengikuti sumber yang dibaca.

Identitas snapshot

SHA-256 6426844324a3e6940546fbb64a1ba121d24dbc76ad7bf13a93961ba50b6b68d4

tests/Feature/SalesTest.php204 baris · 14 fungsi bernama
Unggahan sumber 17 OktoberSkenario teknis, bukan hasil UAT

Untuk apa

Kode pengujian atau dukungan pengujian SalesTest.php. Skenario dan assertion dibaca langsung dari fungsi atau test pada berkas ini.

Jika diminta mengubah

Edit skenario jika perilaku yang diharapkan berubah. Keberadaan file tidak menyatakan tes sudah dijalankan atau lulus UAT manusia.

Fungsi dan metode

Fungsi dan input atau hasilPenjelasan singkatBukti source
function product(array $attributes = []): ProdukHelper pengujian product. Dipakai membangun input, request, fixture, proses database atau pembandingan hasil sesuai kode.return Produk::factory()->create(array_replace([
function stock(Produk $product, int $quantity = 10, int $quarantine = 2, string $connection = 'tenant_samanhudi'): voidHelper pengujian stock. Dipakai membangun input, request, fixture, proses database atau pembandingan hasil sesuai kode.Tabel produk_cabang
function input(Produk $product, array $overrides = []): arrayHelper pengujian input. Dipakai membangun input, request, fixture, proses database atau pembandingan hasil sesuai kode.return array_replace([
function test_cashier_sale_uses_server_price_reduces_stock_and_writes_atomic_audit(): voidSkenario uji cashier sale uses server price reduces stock and writes atomic audit. Assertion aktual ditunjukkan di kolom bukti dan kode.API /api/penjualan
Tabel penjualan, detail_penjualan, produk_cabang
Assertion assertOk, assertCreated, assertSame, assertNotNull, assertCount
function test_sale_warranty_is_consistent_when_database_timezone_crosses_utc_midnight(): voidSkenario uji sale warranty is consistent when database timezone crosses utc midnight. Assertion aktual ditunjukkan di kolom bukti dan kode.API /api/penjualan
Tabel penjualan, detail_penjualan, produk_cabang
Assertion assertOk, assertCreated, assertSame, assertCount
function test_owner_can_use_pos_after_selecting_tenant_but_technician_cannot(): voidSkenario uji owner can use pos after selecting tenant but technician cannot. Assertion aktual ditunjukkan di kolom bukti dan kode.API /api/penjualan, /api/owner/cabang-aktif
Tabel penjualan
Assertion assertOk, assertStatus, assertCreated, assertSame, assertForbidden
function test_retail_price_remains_server_authoritative_for_multi_quantity_sale(): voidSkenario uji retail price remains server authoritative for multi quantity sale. Assertion aktual ditunjukkan di kolom bukti dan kode.API /api/penjualan
Tabel detail_penjualan
Assertion assertOk, assertCreated, assertSame
function test_client_cannot_supply_price_total_stock_actor_branch_or_connection(): voidSkenario uji client cannot supply price total stock actor branch or connection. Assertion aktual ditunjukkan di kolom bukti dan kode.API /api/penjualan
Tabel penjualan
Assertion assertOk, assertUnprocessable, assertJsonValidationErrors, assertSame
function test_insufficient_stock_and_underpayment_are_rejected_without_partial_writes(): voidSkenario uji insufficient stock and underpayment are rejected without partial writes. Assertion aktual ditunjukkan di kolom bukti dan kode.API /api/penjualan
Tabel penjualan, produk_cabang
Assertion assertOk, assertStatus, assertUnprocessable, assertSame
function test_customer_is_optional_and_cross_tenant_customer_is_rejected(): voidSkenario uji customer is optional and cross tenant customer is rejected. Assertion aktual ditunjukkan di kolom bukti dan kode.API /api/penjualan
Tabel pelanggan
Assertion assertOk, assertCreated, assertUnprocessable
function test_no_warranty_product_stores_null_warranty_snapshot(): voidSkenario uji no warranty product stores null warranty snapshot. Assertion aktual ditunjukkan di kolom bukti dan kode.API /api/penjualan
Tabel detail_penjualan
Assertion assertOk, assertCreated, assertNull
function test_ivp_failure_rolls_back_sale_and_stock(): voidSkenario uji ivp failure rolls back sale and stock. Assertion aktual ditunjukkan di kolom bukti dan kode.API /api/penjualan
Tabel penjualan, produk_cabang
Assertion assertOk, assertStatus, assertSame
function test_audit_failure_rolls_back_sale_details_and_stock(): voidSkenario uji audit failure rolls back sale details and stock. Assertion aktual ditunjukkan di kolom bukti dan kode.API /api/penjualan
Tabel penjualan, detail_penjualan, produk_cabang, audit_log
Assertion assertOk, assertStatus, assertSame
function test_direct_price_and_stock_mutation_endpoints_do_not_exist(): voidSkenario uji direct price and stock mutation endpoints do not exist. Assertion aktual ditunjukkan di kolom bukti dan kode.API /api/detail-penjualan/1, /api/stok/1
Assertion assertOk, assertNotFound
Dependensi kode proyek yang diimpor
Buka kode asli bernomor baris

Kode hanya ditampilkan sebagai teks. Tidak dieksekusi oleh panduan. Nomor baris mengikuti sumber yang dibaca.

Identitas snapshot

SHA-256 478e8e667e50d89aef0a4c96b254d7d0e9aa9c72a2f9cfe3048b9b81a66227cd

tests/Feature/ServiceConcurrencyTest.php212 baris · 6 fungsi bernama
Unggahan sumber 17 OktoberSkenario teknis, bukan hasil UAT

Untuk apa

Kode pengujian atau dukungan pengujian ServiceConcurrencyTest.php. Skenario dan assertion dibaca langsung dari fungsi atau test pada berkas ini.

Jika diminta mengubah

Edit skenario jika perilaku yang diharapkan berubah. Keberadaan file tidak menyatakan tes sudah dijalankan atau lulus UAT manusia.

Fungsi dan metode

Fungsi dan input atau hasilPenjelasan singkatBukti source
function setUp(): voidMenyiapkan atau membersihkan lingkungan tes milik suite ini. Periksa penjagaan schema dan target sebelum menjalankan.Assertion assertSame
function tearDown(): voidMenyiapkan atau membersihkan lingkungan tes milik suite ini. Periksa penjagaan schema dan target sebelum menjalankan.Lihat signature dan isi fungsi.
function cleanup(): voidMenyiapkan atau membersihkan lingkungan tes milik suite ini. Periksa penjagaan schema dan target sebelum menjalankan.Lihat signature dan isi fungsi.
function races(): arrayHelper pengujian races. Dipakai membangun input, request, fixture, proses database atau pembandingan hasil sesuai kode.return ['two services compete for stock' => [false], 'duplicate part on one service' => [true]];
function test_real_concurrent_parts_allow_exactly_one_commit(bool $sameService): voidSkenario uji real concurrent parts allow exactly one commit. Assertion aktual ditunjukkan di kolom bukti dan kode.Kunci baris perubahan
API /api/servis
Tabel produk_cabang, pg_stat_activity, sparepart_servis, log_servis, audit_log
Assertion assertSame
function runWorker(): voidHelper pengujian runWorker. Dipakai membangun input, request, fixture, proses database atau pembandingan hasil sesuai kode.API /api/servis
Dependensi kode proyek yang diimpor
Buka kode asli bernomor baris

Kode hanya ditampilkan sebagai teks. Tidak dieksekusi oleh panduan. Nomor baris mengikuti sumber yang dibaca.

Identitas snapshot

SHA-256 31d0166f74d0104153d6bcfc0b335f4dec9fa80169562af70e65feadb853b2a5

tests/Feature/ServiceIntegrityTest.php95 baris · 2 fungsi bernama
Unggahan sumber 17 OktoberSkenario teknis, bukan hasil UAT

Untuk apa

Kode pengujian atau dukungan pengujian ServiceIntegrityTest.php. Skenario dan assertion dibaca langsung dari fungsi atau test pada berkas ini.

Jika diminta mengubah

Edit skenario jika perilaku yang diharapkan berubah. Keberadaan file tidak menyatakan tes sudah dijalankan atau lulus UAT manusia.

Fungsi dan metode

Fungsi dan input atau hasilPenjelasan singkatBukti source
function corruptions(): arrayHelper pengujian corruptions. Dipakai membangun input, request, fixture, proses database atau pembandingan hasil sesuai kode.return array_map(fn (string $name): array => [$name], [
function test_ivp_independently_detects_corruption_of_persisted_service_and_stock(string $corruption): voidSkenario uji ivp independently detects corruption of persisted service and stock. Assertion aktual ditunjukkan di kolom bukti dan kode.Pemeriksaan IVP
API /api/servis
Tabel servis, log_servis, sparepart_servis
Panggilan cashier.forceFill
Dependensi kode proyek yang diimpor
Buka kode asli bernomor baris

Kode hanya ditampilkan sebagai teks. Tidak dieksekusi oleh panduan. Nomor baris mengikuti sumber yang dibaca.

Identitas snapshot

SHA-256 c1e25468332be5cf55facb7f0ed60afc97d913a3cdd5affc3e26c6b2ab90c177

tests/Feature/ServicePartsTest.php140 baris · 7 fungsi bernama
Unggahan sumber 17 OktoberSkenario teknis, bukan hasil UAT

Untuk apa

Kode pengujian atau dukungan pengujian ServicePartsTest.php. Skenario dan assertion dibaca langsung dari fungsi atau test pada berkas ini.

Jika diminta mengubah

Edit skenario jika perilaku yang diharapkan berubah. Keberadaan file tidak menyatakan tes sudah dijalankan atau lulus UAT manusia.

Fungsi dan metode

Fungsi dan input atau hasilPenjelasan singkatBukti source
function test_parts_use_retail_server_snapshot_and_change_only_available_stock(): voidSkenario uji parts use retail server snapshot and change only available stock. Assertion aktual ditunjukkan di kolom bukti dan kode.API /api/servis/{$id}/sparepart, /api/servis/{$id}/log, /api/servis/{$id}
Tabel sparepart_servis, produk_cabang, log_servis
Assertion assertOk, assertSame, assertCount, assertJsonPath
function test_invalid_products_quantities_and_client_price_are_rejected(): voidSkenario uji invalid products quantities and client price are rejected. Assertion aktual ditunjukkan di kolom bukti dan kode.API /api/servis/{$id}/sparepart
Assertion assertOk, assertUnprocessable, assertSame
function test_insufficient_available_stock_cannot_use_quarantine_and_duplicates_fail(): voidSkenario uji insufficient available stock cannot use quarantine and duplicates fail. Assertion aktual ditunjukkan di kolom bukti dan kode.API /api/servis/{$id}/sparepart
Tabel produk_cabang
Assertion assertOk, assertStatus, assertSame, assertUnprocessable
function test_parts_require_repair_state_assigned_technician_and_correct_tenant(): voidSkenario uji parts require repair state assigned technician and correct tenant. Assertion aktual ditunjukkan di kolom bukti dan kode.API /api/servis/{$id}/sparepart
Tabel sparepart_servis
Assertion assertOk, assertStatus, assertForbidden, assertNotFound, assertSame
function failures(): arrayHelper pengujian failures. Dipakai membangun input, request, fixture, proses database atau pembandingan hasil sesuai kode.return [[AuditLogger::class, 'recordCdi'], [ServiceIntegrity::class, 'verify'], [IssueStock::class, 'handle']];
function test_failure_after_stock_write_rolls_back_all_parts_logs_stock_and_audit(string $class, string $method): voidSkenario uji failure after stock write rolls back all parts logs stock and audit. Assertion aktual ditunjukkan di kolom bukti dan kode.API /api/servis/{$id}/sparepart
Assertion assertOk, assertStatus, assertSame
function test_multiple_parts_are_locked_in_product_order_and_all_saved(): voidSkenario uji multiple parts are locked in product order and all saved. Assertion aktual ditunjukkan di kolom bukti dan kode.API /api/servis/{$id}/sparepart
Tabel produk_cabang, sparepart_servis
Assertion assertOk, assertSame, assertCount
Dependensi kode proyek yang diimpor
Buka kode asli bernomor baris

Kode hanya ditampilkan sebagai teks. Tidak dieksekusi oleh panduan. Nomor baris mengikuti sumber yang dibaca.

Identitas snapshot

SHA-256 0a60654f83ec41d170ecd9b4bbe9d9d3e8e8217c701761dbe7832f6777c620d9

tests/Feature/ServicePhotoTest.php134 baris · 9 fungsi bernama
Unggahan sumber 17 OktoberSkenario teknis, bukan hasil UAT

Untuk apa

Kode pengujian atau dukungan pengujian ServicePhotoTest.php. Skenario dan assertion dibaca langsung dari fungsi atau test pada berkas ini.

Jika diminta mengubah

Edit skenario jika perilaku yang diharapkan berubah. Keberadaan file tidak menyatakan tes sudah dijalankan atau lulus UAT manusia.

Fungsi dan metode

Fungsi dan input atau hasilPenjelasan singkatBukti source
function setUp(): voidMenyiapkan atau membersihkan lingkungan tes milik suite ini. Periksa penjagaan schema dan target sebelum menjalankan.Lihat signature dan isi fungsi.
function tearDown(): voidMenyiapkan atau membersihkan lingkungan tes milik suite ini. Periksa penjagaan schema dan target sebelum menjalankan.Lihat signature dan isi fungsi.
function photo(string $name = 'evidence.png'): UploadedFileHelper pengujian photo. Dipakai membangun input, request, fixture, proses database atau pembandingan hasil sesuai kode.return UploadedFile::fake()->createWithContent($name, base64_decode(self::PNG));
function upload(int $id, UploadedFile $photo, bool $csrf = true): TestResponseHelper pengujian upload. Dipakai membangun input, request, fixture, proses database atau pembandingan hasil sesuai kode.API /api/servis/{$id}/log
function test_photo_is_private_random_named_and_download_requires_auth_role_tenant_and_assignment(): voidSkenario uji photo is private random named and download requires auth role tenant and assignment. Assertion aktual ditunjukkan di kolom bukti dan kode.API /api/servis/{$id}/log/{$entry->id_log_servis}/foto, /api/servis/{$id}, /api/owner/cabang-aktif
Tabel log_servis
Assertion assertOk, assertMatchesRegularExpression, assertStringNotContainsString, assertExists, assertSame, assertHeader, assertStringContainsString, assertDontSee, assertUnauthorized, assertNotFound
function test_invalid_mime_size_string_path_and_missing_csrf_are_rejected(): voidSkenario uji invalid mime size string path and missing csrf are rejected. Assertion aktual ditunjukkan di kolom bukti dan kode.API /api/servis/{$id}/log
Assertion assertOk, assertUnprocessable, assertStatus, assertSame
function failures(): arrayHelper pengujian failures. Dipakai membangun input, request, fixture, proses database atau pembandingan hasil sesuai kode.return [[AuditLogger::class, 'recordCdi'], [ServiceIntegrity::class, 'verify']];
function test_business_failure_removes_uploaded_file_and_rolls_back_log(string $class, string $method): voidSkenario uji business failure removes uploaded file and rolls back log. Assertion aktual ditunjukkan di kolom bukti dan kode.Assertion assertOk, assertStatus, assertSame
function test_photo_path_tampering_cannot_escape_private_service_directory(): voidSkenario uji photo path tampering cannot escape private service directory. Assertion aktual ditunjukkan di kolom bukti dan kode.API /api/servis/{$id}/log/{$entry->id_log_servis}/foto
Tabel log_servis
Assertion assertOk, assertNotFound, assertFalse, assertNotSame
Dependensi kode proyek yang diimpor
Buka kode asli bernomor baris

Kode hanya ditampilkan sebagai teks. Tidak dieksekusi oleh panduan. Nomor baris mengikuti sumber yang dibaca.

Identitas snapshot

SHA-256 312c72348354a22b62e818c51ad67ffa028f8c97d4752519afba766244610e02

tests/Feature/ServiceReceptionTest.php103 baris · 8 fungsi bernama
Unggahan sumber 17 OktoberSkenario teknis, bukan hasil UAT

Untuk apa

Kode pengujian atau dukungan pengujian ServiceReceptionTest.php. Skenario dan assertion dibaca langsung dari fungsi atau test pada berkas ini.

Jika diminta mengubah

Edit skenario jika perilaku yang diharapkan berubah. Keberadaan file tidak menyatakan tes sudah dijalankan atau lulus UAT manusia.

Fungsi dan metode

Fungsi dan input atau hasilPenjelasan singkatBukti source
function test_reception_requires_authentication_csrf_and_cashier_capability(): voidSkenario uji reception requires authentication csrf and cashier capability. Assertion aktual ditunjukkan di kolom bukti dan kode.API /sanctum/csrf-cookie, /api/servis
Tabel servis
Assertion assertNoContent, assertUnauthorized, assertOk, assertForbidden, assertStatus, assertSame
function test_cashier_reception_has_server_identity_number_dates_log_and_audit(): voidSkenario uji cashier reception has server identity number dates log and audit. Assertion aktual ditunjukkan di kolom bukti dan kode.API /api/servis
Tabel log_servis, servis
Assertion assertOk, assertCreated, assertJsonPath, assertNotSame, assertNotNull, assertNull, assertCount, assertSame
function test_owner_can_receive_only_with_selected_tenant_and_cannot_assign_self(): voidSkenario uji owner can receive only with selected tenant and cannot assign self. Assertion aktual ditunjukkan di kolom bukti dan kode.API /api/servis, /api/owner/cabang-aktif
Assertion assertOk, assertStatus, assertForbidden, assertCreated
function test_customer_is_required_and_foreign_customer_is_rejected(): voidSkenario uji customer is required and foreign customer is rejected. Assertion aktual ditunjukkan di kolom bukti dan kode.API /api/servis
Tabel servis
Assertion assertOk, assertUnprocessable, assertSame
function test_all_forged_cdi_and_connection_fields_are_rejected(): voidSkenario uji all forged cdi and connection fields are rejected. Assertion aktual ditunjukkan di kolom bukti dan kode.API /api/servis
Tabel servis
Assertion assertOk, assertUnprocessable, assertJsonValidationErrors, assertSame
function test_invalid_inactive_wrong_role_and_foreign_technicians_are_rejected(): voidSkenario uji invalid inactive wrong role and foreign technicians are rejected. Assertion aktual ditunjukkan di kolom bukti dan kode.API /api/servis
Assertion assertOk, assertUnprocessable, assertCreated, assertJsonPath
function failures(): arrayHelper pengujian failures. Dipakai membangun input, request, fixture, proses database atau pembandingan hasil sesuai kode.return [[AuditLogger::class, 'recordCdi'], [ServiceIntegrity::class, 'verify']];
function test_reception_rolls_back_if_required_audit_or_ivp_fails(string $class, string $method): voidSkenario uji reception rolls back if required audit or ivp fails. Assertion aktual ditunjukkan di kolom bukti dan kode.API /api/servis
Assertion assertOk, assertStatus, assertDontSee, assertSame
Dependensi kode proyek yang diimpor
Buka kode asli bernomor baris

Kode hanya ditampilkan sebagai teks. Tidak dieksekusi oleh panduan. Nomor baris mengikuti sumber yang dibaca.

Identitas snapshot

SHA-256 013f64dde21db2c425cf870b5de6ffc243da5a3d6b47c88c4cb5de7383767de3

tests/Feature/ServiceTestBase.php106 baris · 9 fungsi bernama
Unggahan sumber 17 OktoberSkenario teknis, bukan hasil UAT

Untuk apa

Kode pengujian atau dukungan pengujian ServiceTestBase.php. Skenario dan assertion dibaca langsung dari fungsi atau test pada berkas ini.

Jika diminta mengubah

Edit skenario jika perilaku yang diharapkan berubah. Keberadaan file tidak menyatakan tes sudah dijalankan atau lulus UAT manusia.

Fungsi dan metode

Fungsi dan input atau hasilPenjelasan singkatBukti source
function setUp(): voidMenyiapkan atau membersihkan lingkungan tes milik suite ini. Periksa penjagaan schema dan target sebelum menjalankan.Lihat signature dan isi fungsi.
function login(Pengguna $user, ?string $password = null, array $extra = []): TestResponseHelper pengujian login. Dipakai membangun input, request, fixture, proses database atau pembandingan hasil sesuai kode.return parent::login($user, $password, $extra);
function selectTenant(): voidHelper pengujian selectTenant. Dipakai membangun input, request, fixture, proses database atau pembandingan hasil sesuai kode.Lihat signature dan isi fungsi.
function input(array $extra = []): arrayHelper pengujian input. Dipakai membangun input, request, fixture, proses database atau pembandingan hasil sesuai kode.return array_replace([
function receive(bool $repairing = false): intHelper pengujian receive. Dipakai membangun input, request, fixture, proses database atau pembandingan hasil sesuai kode.API /api/servis
function product(int $available = 10, array $extra = []): ProdukHelper pengujian product. Dipakai membangun input, request, fixture, proses database atau pembandingan hasil sesuai kode.Tabel produk_cabang
function parts(Produk $product, int $quantity = 2): arrayHelper pengujian parts. Dipakai membangun input, request, fixture, proses database atau pembandingan hasil sesuai kode.return ['catatan' => 'Penggantian komponen rusak', 'items' => [['id_produk' => $product->id_produk, 'jumlah' => $quantity]]];
function state(): arrayHelper pengujian state. Dipakai membangun input, request, fixture, proses database atau pembandingan hasil sesuai kode.return $state;
function loginSelectedOwner(?Pengguna $owner = null): PenggunaHelper pengujian loginSelectedOwner. Dipakai membangun input, request, fixture, proses database atau pembandingan hasil sesuai kode.API /api/owner/cabang-aktif
Assertion assertOk
Dependensi kode proyek yang diimpor
Buka kode asli bernomor baris

Kode hanya ditampilkan sebagai teks. Tidak dieksekusi oleh panduan. Nomor baris mengikuti sumber yang dibaca.

Identitas snapshot

SHA-256 2fef253c527350c7f9f3a3aaf1f0e9037af37bfea361fc2a986ff2c61d29c84a

tests/Feature/ServiceWarrantyTest.php135 baris · 9 fungsi bernama
Unggahan sumber 17 OktoberSkenario teknis, bukan hasil UAT

Untuk apa

Kode pengujian atau dukungan pengujian ServiceWarrantyTest.php. Skenario dan assertion dibaca langsung dari fungsi atau test pada berkas ini.

Jika diminta mengubah

Edit skenario jika perilaku yang diharapkan berubah. Keberadaan file tidak menyatakan tes sudah dijalankan atau lulus UAT manusia.

Fungsi dan metode

Fungsi dan input atau hasilPenjelasan singkatBukti source
function test_service_claim_requires_authentication_frontdesk_capability_and_csrf(): voidSkenario uji service claim requires authentication frontdesk capability and csrf. Assertion aktual ditunjukkan di kolom bukti dan kode.API /sanctum/csrf-cookie, /api/klaim-garansi/servis
Tabel klaim_garansi
Assertion assertNoContent, assertUnauthorized, assertOk, assertForbidden, assertStatus, assertSame
function test_cashier_creates_service_only_claim_with_server_identity_time_and_atomic_audit(): voidSkenario uji cashier creates service only claim with server identity time and atomic audit. Assertion aktual ditunjukkan di kolom bukti dan kode.API /api/klaim-garansi/servis, /api/klaim-garansi?q=, /api/klaim-garansi/{$claimId}
Tabel servis
Assertion assertOk, assertCreated, assertJsonPath, assertTrue, assertSame, assertJsonCount
function test_owner_requires_selected_tenant_and_can_submit_a_service_claim(): voidSkenario uji owner requires selected tenant and can submit a service claim. Assertion aktual ditunjukkan di kolom bukti dan kode.API /api/klaim-garansi/servis, /api/owner/cabang-aktif
Assertion assertOk, assertStatus, assertCreated
function test_missing_unfinished_no_date_and_zero_warranty_sources_are_rejected(): voidSkenario uji missing unfinished no date and zero warranty sources are rejected. Assertion aktual ditunjukkan di kolom bukti dan kode.API /api/klaim-garansi/servis
Tabel servis, klaim_garansi
Assertion assertOk, assertUnprocessable, assertSame
function test_service_warranty_accepts_exact_expiry_and_rejects_after_it(): voidSkenario uji service warranty accepts exact expiry and rejects after it. Assertion aktual ditunjukkan di kolom bukti dan kode.API /api/klaim-garansi/servis
Tabel servis, klaim_garansi
Assertion assertOk, assertCreated, assertUnprocessable, assertSame
function test_forged_source_identity_dates_customer_status_and_duplicate_are_rejected(): voidSkenario uji forged source identity dates customer status and duplicate are rejected. Assertion aktual ditunjukkan di kolom bukti dan kode.API /api/klaim-garansi/servis
Assertion assertOk, assertUnprocessable, assertJsonValidationErrors, assertCreated, assertStatus, assertSame
function test_other_tenant_cannot_claim_or_search_service_source(): voidSkenario uji other tenant cannot claim or search service source. Assertion aktual ditunjukkan di kolom bukti dan kode.API /api/klaim-garansi/servis, /api/klaim-garansi/sumber?jenis=servis, /api/klaim-garansi/sumber?jenis=servis&q=SRV
Assertion assertOk, assertUnprocessable, assertJsonCount, assertJsonPath
function failures(): arrayHelper pengujian failures. Dipakai membangun input, request, fixture, proses database atau pembandingan hasil sesuai kode.return [[AuditLogger::class, 'recordCdi'], [WarrantyClaimIntegrity::class, 'verify']];
function test_creation_failure_rolls_back_claim_and_audit(string $class, string $method): voidSkenario uji creation failure rolls back claim and audit. Assertion aktual ditunjukkan di kolom bukti dan kode.API /api/klaim-garansi/servis
Assertion assertOk, assertStatus, assertDontSee, assertSame
Dependensi kode proyek yang diimpor
Buka kode asli bernomor baris

Kode hanya ditampilkan sebagai teks. Tidak dieksekusi oleh panduan. Nomor baris mengikuti sumber yang dibaca.

Identitas snapshot

SHA-256 809ef2928cf12b8cd1b96293af6b94525be35d8fba59c22e0df3ba3133d8bd67

tests/Feature/ServiceWorkflowTest.php170 baris · 10 fungsi bernama
Unggahan sumber 17 OktoberSkenario teknis, bukan hasil UAT

Untuk apa

Kode pengujian atau dukungan pengujian ServiceWorkflowTest.php. Skenario dan assertion dibaca langsung dari fungsi atau test pada berkas ini.

Jika diminta mengubah

Edit skenario jika perilaku yang diharapkan berubah. Keberadaan file tidak menyatakan tes sudah dijalankan atau lulus UAT manusia.

Fungsi dan metode

Fungsi dan input atau hasilPenjelasan singkatBukti source
function test_only_assigned_technician_can_progress_and_each_transition_appends_log(): voidSkenario uji only assigned technician can progress and each transition appends log. Assertion aktual ditunjukkan di kolom bukti dan kode.API /api/servis/{$id}/log
Assertion assertOk, assertForbidden, assertJsonCount, assertJsonPath, assertCount
function test_invalid_jumps_backwards_and_forged_dates_fail_without_writes(): voidSkenario uji invalid jumps backwards and forged dates fail without writes. Assertion aktual ditunjukkan di kolom bukti dan kode.API /api/servis/{$id}/log
Assertion assertOk, assertStatus, assertUnprocessable, assertSame
function test_ready_requires_final_charges_and_warranty_and_cashier_hands_over(): voidSkenario uji ready requires final charges and warranty and cashier hands over. Assertion aktual ditunjukkan di kolom bukti dan kode.API /api/servis/{$id}/penyerahan, /api/servis/{$id}/log, /api/servis/{$id}/penugasan
Assertion assertOk, assertStatus, assertUnprocessable, assertJsonPath, assertNotNull, assertForbidden, assertSame, assertCount
function test_owner_technical_capability_requires_assignment_and_sod(): voidSkenario uji owner technical capability requires assignment and sod. Assertion aktual ditunjukkan di kolom bukti dan kode.API /api/servis/{$id}/log, /api/servis/{$id}/penugasan, /api/servis, /api/servis/{$own}/penugasan, /api/servis/{$own}/log
Assertion assertForbidden, assertOk, assertCreated
function test_reassignment_is_explicit_audited_and_revokes_previous_technician_access(): voidSkenario uji reassignment is explicit audited and revokes previous technician access. Assertion aktual ditunjukkan di kolom bukti dan kode.API /api/servis/{$id}/penugasan, /api/servis/{$id}/log, /api/servis/{$id}
Assertion assertOk, assertForbidden, assertSame, assertNotFound
function test_tenant_reads_and_mutations_are_isolated_for_employee_and_owner(): voidSkenario uji tenant reads and mutations are isolated for employee and owner. Assertion aktual ditunjukkan di kolom bukti dan kode.API /api/servis, /api/servis/{$id}, /api/servis/{$id}/log, /api/servis/{$id}/sparepart, /api/owner/cabang-aktif, /api/servis/{$id}/penyerahan
Assertion assertOk, assertJsonCount, assertNotFound
function test_no_generic_service_stock_or_log_mutation_routes_exist(): voidSkenario uji no generic service stock or log mutation routes exist. Assertion aktual ditunjukkan di kolom bukti dan kode.API /api/servis/{$id}, /api/servis/{$id}/log, /api/log-servis/1, /api/stok/1
Assertion assertContains, assertSame
function historyMutations(): arrayHelper pengujian historyMutations. Dipakai membangun input, request, fixture, proses database atau pembandingan hasil sesuai kode.return [['save'], ['delete'], ['bulk_update'], ['bulk_delete'], ['upsert']];
function test_log_model_rejects_history_rewrites(string $operation): voidSkenario uji log model rejects history rewrites. Assertion aktual ditunjukkan di kolom bukti dan kode.Lihat signature dan isi fungsi.
function test_progress_audit_failure_rolls_back_service_and_log(): voidSkenario uji progress audit failure rolls back service and log. Assertion aktual ditunjukkan di kolom bukti dan kode.API /api/servis/{$id}/log
Assertion assertOk, assertStatus, assertSame
Dependensi kode proyek yang diimpor
Buka kode asli bernomor baris

Kode hanya ditampilkan sebagai teks. Tidak dieksekusi oleh panduan. Nomor baris mengikuti sumber yang dibaca.

Identitas snapshot

SHA-256 41e330ace801fdb3f712e7cfea73a0027c46e9bb64eab18a13b3a326d57d7033

tests/Feature/SessionEncryptionTest.php47 baris · 2 fungsi bernama
Unggahan sumber 17 OktoberSkenario teknis, bukan hasil UAT

Untuk apa

Kode pengujian atau dukungan pengujian SessionEncryptionTest.php. Skenario dan assertion dibaca langsung dari fungsi atau test pada berkas ini.

Jika diminta mengubah

Edit skenario jika perilaku yang diharapkan berubah. Keberadaan file tidak menyatakan tes sudah dijalankan atau lulus UAT manusia.

Fungsi dan metode

Fungsi dan input atau hasilPenjelasan singkatBukti source
function test_encrypted_payload_retains_metadata_normal_auth_and_bulk_revocation(): voidSkenario uji encrypted payload retains metadata normal auth and bulk revocation. Assertion aktual ditunjukkan di kolom bukti dan kode.API /api/me
Tabel sessions
Assertion assertOk, assertTrue, assertInstanceOf, assertIsString, assertStringNotContainsString, assertArrayHasKey, assertSame, assertIsInt, assertUnauthorized
function test_logout_removes_the_encrypted_authenticated_session(): voidSkenario uji logout removes the encrypted authenticated session. Assertion aktual ditunjukkan di kolom bukti dan kode.API /api/logout, /api/me
Tabel sessions
Assertion assertOk, assertNoContent, assertFalse, assertUnauthorized
Dependensi kode proyek yang diimpor
Buka kode asli bernomor baris

Kode hanya ditampilkan sebagai teks. Tidak dieksekusi oleh panduan. Nomor baris mengikuti sumber yang dibaca.

Identitas snapshot

SHA-256 fb7862af167b4d399bdceb83ffcd592f3f419fe81ae2210f273c53f258d5ed79

tests/Feature/StockTransferConcurrencyTest.php141 baris · 4 fungsi bernama
Unggahan sumber 17 OktoberSkenario teknis, bukan hasil UAT

Untuk apa

Kode pengujian atau dukungan pengujian StockTransferConcurrencyTest.php. Skenario dan assertion dibaca langsung dari fungsi atau test pada berkas ini.

Jika diminta mengubah

Edit skenario jika perilaku yang diharapkan berubah. Keberadaan file tidak menyatakan tes sudah dijalankan atau lulus UAT manusia.

Fungsi dan metode

Fungsi dan input atau hasilPenjelasan singkatBukti source
function tearDown(): voidMenyiapkan atau membersihkan lingkungan tes milik suite ini. Periksa penjagaan schema dan target sebelum menjalankan.Lihat signature dan isi fungsi.
function races(): arrayHelper pengujian races. Dipakai membangun input, request, fixture, proses database atau pembandingan hasil sesuai kode.return [
function test_real_concurrent_approvals_have_no_partial_or_duplicate_stock_movement(string $race): voidSkenario uji real concurrent approvals have no partial or duplicate stock movement. Assertion aktual ditunjukkan di kolom bukti dan kode.Kunci baris perubahan
Tabel produk_cabang, audit_log, mutasi_stok, distributed_transactions
Assertion assertSame, assertNull
function runWorker(): voidHelper pengujian runWorker. Dipakai membangun input, request, fixture, proses database atau pembandingan hasil sesuai kode.API /api/approval/mutasi
Dependensi kode proyek yang diimpor
Buka kode asli bernomor baris

Kode hanya ditampilkan sebagai teks. Tidak dieksekusi oleh panduan. Nomor baris mengikuti sumber yang dibaca.

Identitas snapshot

SHA-256 6749b2b277c413ae9fdb2f598e7846736c402857a6da248312ed83719ba67a60

tests/Feature/StockTransferTest.php199 baris · 14 fungsi bernama
Unggahan sumber 17 OktoberSkenario teknis, bukan hasil UAT

Untuk apa

Kode pengujian atau dukungan pengujian StockTransferTest.php. Skenario dan assertion dibaca langsung dari fungsi atau test pada berkas ini.

Jika diminta mengubah

Edit skenario jika perilaku yang diharapkan berubah. Keberadaan file tidak menyatakan tes sudah dijalankan atau lulus UAT manusia.

Fungsi dan metode

Fungsi dan input atau hasilPenjelasan singkatBukti source
function test_admin_requests_multiple_products_without_changing_stock(): voidSkenario uji admin requests multiple products without changing stock. Assertion aktual ditunjukkan di kolom bukti dan kode.API /api/mutasi-stok
Tabel detail_mutasi_stok, produk_cabang, audit_log
Assertion assertOk, assertCreated, assertJsonPath, assertJsonMissingPath, assertSame
function test_approval_moves_stock_and_preserves_quarantine_with_one_time_token(): voidSkenario uji approval moves stock and preserves quarantine with one time token. Assertion aktual ditunjukkan di kolom bukti dan kode.Tabel produk_cabang, distributed_transactions
Assertion assertOk, assertJsonPath, assertSame, assertStatus
function test_rejection_changes_no_inventory_and_consumes_token(): voidSkenario uji rejection changes no inventory and consumes token. Assertion aktual ditunjukkan di kolom bukti dan kode.Tabel produk_cabang
Assertion assertOk, assertJsonPath, assertSame, assertStatus
function test_owner_cannot_self_approve_or_self_reject(): voidSkenario uji owner cannot self approve or self reject. Assertion aktual ditunjukkan di kolom bukti dan kode.Tabel mutasi_stok
Assertion assertOk, assertJsonPath, assertForbidden, assertSame
function invalidInputs(): arrayHelper pengujian invalidInputs. Dipakai membangun input, request, fixture, proses database atau pembandingan hasil sesuai kode.return [
function test_invalid_request_rolls_back_all_business_rows(string $case): voidSkenario uji invalid request rolls back all business rows. Assertion aktual ditunjukkan di kolom bukti dan kode.API /api/mutasi-stok
Tabel produk
Assertion assertOk, assertStatus, assertSame
function test_role_branch_and_csrf_are_enforced_by_backend(): voidSkenario uji role branch and csrf are enforced by backend. Assertion aktual ditunjukkan di kolom bukti dan kode.API /api/mutasi-stok
Assertion assertOk, assertForbidden, assertStatus
function test_owner_approval_requires_source_tenant_and_cashier_is_denied(): voidSkenario uji owner approval requires source tenant and cashier is denied. Assertion aktual ditunjukkan di kolom bukti dan kode.API /api/mutasi-stok/
Assertion assertOk, assertForbidden
function test_tampered_expired_and_wrong_token_links_are_rejected(): voidSkenario uji tampered expired and wrong token links are rejected. Assertion aktual ditunjukkan di kolom bukti dan kode.Tautan sementara
Assertion assertForbidden
function corruptions(): arrayHelper pengujian corruptions. Dipakai membangun input, request, fixture, proses database atau pembandingan hasil sesuai kode.return ['reason' => ['reason'], 'quantity' => ['quantity'], 'missing detail' => ['detail'], 'request audit' => ['audit']];
function test_persisted_immutable_data_and_history_corruption_block_approval(string $case): voidSkenario uji persisted immutable data and history corruption block approval. Assertion aktual ditunjukkan di kolom bukti dan kode.Tabel mutasi_stok, detail_mutasi_stok, audit_log
Assertion assertStatus, assertDontSee, assertSame
function test_audit_failure_rolls_back_master_and_both_tenants(): voidSkenario uji audit failure rolls back master and both tenants. Assertion aktual ditunjukkan di kolom bukti dan kode.Assertion assertStatus, assertDontSee, assertSame
function test_ivp_failure_rolls_back_master_stock_and_all_audits(): voidSkenario uji ivp failure rolls back master stock and all audits. Assertion aktual ditunjukkan di kolom bukti dan kode.Assertion assertStatus, assertSame
function test_second_product_shortage_leaves_no_partial_movement_or_first_destination_row(): voidSkenario uji second product shortage leaves no partial movement or first destination row. Assertion aktual ditunjukkan di kolom bukti dan kode.Tabel produk_cabang
Assertion assertStatus, assertSame
Dependensi kode proyek yang diimpor
Buka kode asli bernomor baris

Kode hanya ditampilkan sebagai teks. Tidak dieksekusi oleh panduan. Nomor baris mengikuti sumber yang dibaca.

Identitas snapshot

SHA-256 ae893398eb0871722889ee8bc107230af6d09684286b6f337ee2c698df159d7b

tests/Feature/StockTransferTestBase.php180 baris · 14 fungsi bernama
Unggahan sumber 17 OktoberSkenario teknis, bukan hasil UAT

Untuk apa

Kode pengujian atau dukungan pengujian StockTransferTestBase.php. Skenario dan assertion dibaca langsung dari fungsi atau test pada berkas ini.

Jika diminta mengubah

Edit skenario jika perilaku yang diharapkan berubah. Keberadaan file tidak menyatakan tes sudah dijalankan atau lulus UAT manusia.

Fungsi dan metode

Fungsi dan input atau hasilPenjelasan singkatBukti source
function setUp(): voidMenyiapkan atau membersihkan lingkungan tes milik suite ini. Periksa penjagaan schema dan target sebelum menjalankan.Panggilan database.start
function tearDown(): voidMenyiapkan atau membersihkan lingkungan tes milik suite ini. Periksa penjagaan schema dan target sebelum menjalankan.Panggilan database.cleanup
function selectTenant(?int $branch = null): voidHelper pengujian selectTenant. Dipakai membangun input, request, fixture, proses database atau pembandingan hasil sesuai kode.Lihat signature dan isi fungsi.
function stock(int $product, int $quantity, string $connection = 'tenant_samanhudi'): voidHelper pengujian stock. Dipakai membangun input, request, fixture, proses database atau pembandingan hasil sesuai kode.Tabel produk_cabang
function input(array $extra = []): arrayHelper pengujian input. Dipakai membangun input, request, fixture, proses database atau pembandingan hasil sesuai kode.return array_replace([
function createTransfer(array $extra = [], ?Pengguna $actor = null): arrayHelper pengujian createTransfer. Dipakai membangun input, request, fixture, proses database atau pembandingan hasil sesuai kode.API /api/mutasi-stok
function loginApprover(?Pengguna $actor = null, ?int $branch = null): voidHelper pengujian loginApprover. Dipakai membangun input, request, fixture, proses database atau pembandingan hasil sesuai kode.API /api/owner/cabang-aktif
Assertion assertOk
function relative(string $url): stringHelper pengujian relative. Dipakai membangun input, request, fixture, proses database atau pembandingan hasil sesuai kode.return parse_url($url, PHP_URL_PATH).'?'.parse_url($url, PHP_URL_QUERY);
function state(): arrayHelper pengujian state. Dipakai membangun input, request, fixture, proses database atau pembandingan hasil sesuai kode.Tabel mutasi_stok, detail_mutasi_stok, produk_cabang, audit_log
function login(Pengguna $user, ?string $password = null, array $extra = []): TestResponseHelper pengujian login. Dipakai membangun input, request, fixture, proses database atau pembandingan hasil sesuai kode.API /sanctum/csrf-cookie, /api/login
Assertion assertNoContent
function employee(array $attributes = []): PenggunaHelper pengujian employee. Dipakai membangun input, request, fixture, proses database atau pembandingan hasil sesuai kode.Pembuatan hash
function owner(): PenggunaHelper pengujian owner. Dipakai membangun input, request, fixture, proses database atau pembandingan hasil sesuai kode.Pembuatan hash
function admin(): PenggunaHelper pengujian admin. Dipakai membangun input, request, fixture, proses database atau pembandingan hasil sesuai kode.return $this->employee(['role' => 'admin']);
function spa(string $method, string $uri, array $data = [], bool $csrf = true, array $headers = []): TestResponseHelper pengujian spa. Dipakai membangun input, request, fixture, proses database atau pembandingan hasil sesuai kode.return $response;
Dependensi kode proyek yang diimpor
Buka kode asli bernomor baris

Kode hanya ditampilkan sebagai teks. Tidak dieksekusi oleh panduan. Nomor baris mengikuti sumber yang dibaca.

Identitas snapshot

SHA-256 0f68896a9c2947ad962704dbf2f262767e992781eb490b2c91120754b1fc4789

tests/Feature/WarrantyConcurrencyTest.php247 baris · 5 fungsi bernama
Unggahan sumber 17 OktoberSkenario teknis, bukan hasil UAT

Untuk apa

Kode pengujian atau dukungan pengujian WarrantyConcurrencyTest.php. Skenario dan assertion dibaca langsung dari fungsi atau test pada berkas ini.

Jika diminta mengubah

Edit skenario jika perilaku yang diharapkan berubah. Keberadaan file tidak menyatakan tes sudah dijalankan atau lulus UAT manusia.

Fungsi dan metode

Fungsi dan input atau hasilPenjelasan singkatBukti source
function setUp(): voidMenyiapkan atau membersihkan lingkungan tes milik suite ini. Periksa penjagaan schema dan target sebelum menjalankan.Assertion assertSame
function tearDown(): voidMenyiapkan atau membersihkan lingkungan tes milik suite ini. Periksa penjagaan schema dan target sebelum menjalankan.Lihat signature dan isi fungsi.
function cleanup(): voidMenyiapkan atau membersihkan lingkungan tes milik suite ini. Periksa penjagaan schema dan target sebelum menjalankan.Lihat signature dan isi fungsi.
function test_two_concurrent_requests_for_same_source_create_only_one_active_claim(): voidSkenario uji two concurrent requests for same source create only one active claim. Assertion aktual ditunjukkan di kolom bukti dan kode.Kunci baris perubahan
Pembuatan hash
API /api/servis
Tabel servis, pg_stat_activity, klaim_garansi, audit_log
Assertion assertSame
function runWorker(): voidHelper pengujian runWorker. Dipakai membangun input, request, fixture, proses database atau pembandingan hasil sesuai kode.API /api/klaim-garansi/servis
Dependensi kode proyek yang diimpor
Buka kode asli bernomor baris

Kode hanya ditampilkan sebagai teks. Tidak dieksekusi oleh panduan. Nomor baris mengikuti sumber yang dibaca.

Identitas snapshot

SHA-256 a4dff7c690dc5c8b0da9d56fa4d5ef5f1bf9b7035d385ae9ca33953cc0da0e37

tests/Feature/WarrantyIntegrityTest.php167 baris · 3 fungsi bernama
Unggahan sumber 17 OktoberSkenario teknis, bukan hasil UAT

Untuk apa

Kode pengujian atau dukungan pengujian WarrantyIntegrityTest.php. Skenario dan assertion dibaca langsung dari fungsi atau test pada berkas ini.

Jika diminta mengubah

Edit skenario jika perilaku yang diharapkan berubah. Keberadaan file tidak menyatakan tes sudah dijalankan atau lulus UAT manusia.

Fungsi dan metode

Fungsi dan input atau hasilPenjelasan singkatBukti source
function corruptions(): arrayHelper pengujian corruptions. Dipakai membangun input, request, fixture, proses database atau pembandingan hasil sesuai kode.return array_map(static fn (string $name): array => [$name], [
function test_ivp_independently_detects_corrupted_claim_state_history_or_source(string $corruption): voidSkenario uji ivp independently detects corrupted claim state history or source. Assertion aktual ditunjukkan di kolom bukti dan kode.Pemeriksaan IVP
Tabel klaim_garansi, audit_log, servis
function test_ivp_detects_frontdesk_owner_attempting_technical_event_from_audited_history(): voidSkenario uji ivp detects frontdesk owner attempting technical event from audited history. Assertion aktual ditunjukkan di kolom bukti dan kode.Pemeriksaan IVP
API /api/klaim-garansi
Tabel klaim_garansi, audit_log
Dependensi kode proyek yang diimpor
Buka kode asli bernomor baris

Kode hanya ditampilkan sebagai teks. Tidak dieksekusi oleh panduan. Nomor baris mengikuti sumber yang dibaca.

Identitas snapshot

SHA-256 1bd01614c8e24e98b30de045344e962388468fe9bf34bc34117259ef803c864b

tests/Feature/WarrantyTestBase.php80 baris · 6 fungsi bernama
Unggahan sumber 17 OktoberSkenario teknis, bukan hasil UAT

Untuk apa

Kode pengujian atau dukungan pengujian WarrantyTestBase.php. Skenario dan assertion dibaca langsung dari fungsi atau test pada berkas ini.

Jika diminta mengubah

Edit skenario jika perilaku yang diharapkan berubah. Keberadaan file tidak menyatakan tes sudah dijalankan atau lulus UAT manusia.

Fungsi dan metode

Fungsi dan input atau hasilPenjelasan singkatBukti source
function completedService(int $days = 30): intHelper pengujian completedService. Dipakai membangun input, request, fixture, proses database atau pembandingan hasil sesuai kode.API /api/servis
function completedSale(?int $days = 30): arrayHelper pengujian completedSale. Dipakai membangun input, request, fixture, proses database atau pembandingan hasil sesuai kode.API /api/penjualan
function createClaim(string $type = 'service'): intHelper pengujian createClaim. Dipakai membangun input, request, fixture, proses database atau pembandingan hasil sesuai kode.API /api/klaim-garansi
function acceptClaim(int $id): voidHelper pengujian acceptClaim. Dipakai membangun input, request, fixture, proses database atau pembandingan hasil sesuai kode.API /api/klaim-garansi
function claimState(): arrayHelper pengujian claimState. Dipakai membangun input, request, fixture, proses database atau pembandingan hasil sesuai kode.Tabel klaim_garansi, audit_log
function sourceState(): arrayHelper pengujian sourceState. Dipakai membangun input, request, fixture, proses database atau pembandingan hasil sesuai kode.return $state;
Dependensi kode proyek yang diimpor
Buka kode asli bernomor baris

Kode hanya ditampilkan sebagai teks. Tidak dieksekusi oleh panduan. Nomor baris mengikuti sumber yang dibaca.

Identitas snapshot

SHA-256 04c3c31e57ab3a90b840d54900f7cd11d2f56cddb1530c6b13d240e7cb632c15

tests/Feature/WarrantyWorkflowTest.php305 baris · 11 fungsi bernama
Unggahan sumber 17 OktoberSkenario teknis, bukan hasil UAT

Untuk apa

Kode pengujian atau dukungan pengujian WarrantyWorkflowTest.php. Skenario dan assertion dibaca langsung dari fungsi atau test pada berkas ini.

Jika diminta mengubah

Edit skenario jika perilaku yang diharapkan berubah. Keberadaan file tidak menyatakan tes sudah dijalankan atau lulus UAT manusia.

Fungsi dan metode

Fungsi dan input atau hasilPenjelasan singkatBukti source
function test_claim_follows_explicit_state_machine_and_preserves_submitter_identity(): voidSkenario uji claim follows explicit state machine and preserves submitter identity. Assertion aktual ditunjukkan di kolom bukti dan kode.API /api/klaim-garansi/{$id}/periksa, /api/klaim-garansi/{$id}/tangani, /api/klaim-garansi/{$id}/selesaikan
Tabel klaim_garansi, audit_log
Assertion assertOk, assertJsonPath, assertSame, assertCount
function test_invalid_transitions_arbitrary_status_and_source_mutation_are_rejected(): voidSkenario uji invalid transitions arbitrary status and source mutation are rejected. Assertion aktual ditunjukkan di kolom bukti dan kode.API /api/klaim-garansi/{$id}/periksa
Assertion assertOk, assertStatus, assertUnprocessable, assertJsonValidationErrors, assertSame
function test_checker_or_submitter_cannot_handle_claim_even_when_actor_is_owner(): voidSkenario uji checker or submitter cannot handle claim even when actor is owner. Assertion aktual ditunjukkan di kolom bukti dan kode.API /api/klaim-garansi/servis, /api/klaim-garansi/{$id}/periksa, /api/klaim-garansi/{$id}/tangani
Tabel klaim_garansi
Assertion assertCreated, assertOk, assertForbidden, assertJsonPath, assertSame
function test_accepted_claim_can_be_handled_after_warranty_expiry_but_late_acceptance_is_rejected(): voidSkenario uji accepted claim can be handled after warranty expiry but late acceptance is rejected. Assertion aktual ditunjukkan di kolom bukti dan kode.API /api/klaim-garansi/servis, /api/klaim-garansi/{$id}/periksa, /api/klaim-garansi/{$id}/tangani, /api/klaim-garansi/{$id}/selesaikan, /api/klaim-garansi/{$lateId}/periksa
Tabel audit_log, klaim_garansi
Assertion assertOk, assertCreated, assertUnprocessable, assertSame
function test_rejected_claim_is_terminal_and_does_not_modify_source_or_stock(): voidSkenario uji rejected claim is terminal and does not modify source or stock. Assertion aktual ditunjukkan di kolom bukti dan kode.API /api/klaim-garansi/{$id}/periksa, /api/klaim-garansi/{$id}/{$action}
Assertion assertOk, assertJsonPath, assertSame, assertStatus
function test_technician_reads_only_claims_relevant_to_technical_handling_and_tenant_isolation_remains_closed(): voidSkenario uji technician reads only claims relevant to technical handling and tenant isolation remains closed. Assertion aktual ditunjukkan di kolom bukti dan kode.API /api/klaim-garansi/{$accepted}/periksa, /api/klaim-garansi, /api/klaim-garansi/{$pending}, /api/klaim-garansi/{$accepted}, /api/klaim-garansi/{$accepted}/tangani
Assertion assertOk, assertJsonCount, assertJsonPath, assertNotFound, assertJsonMissingPath
function test_no_generic_claim_or_stock_mutation_routes_exist(): voidSkenario uji no generic claim or stock mutation routes exist. Assertion aktual ditunjukkan di kolom bukti dan kode.API /api/klaim-garansi/{$id}, /api/stok/1
Assertion assertContains, assertSame
function workflowFailures(): arrayHelper pengujian workflowFailures. Dipakai membangun input, request, fixture, proses database atau pembandingan hasil sesuai kode.return [
function test_inspection_failure_rolls_back_claim_and_history(string $class, string $method): voidSkenario uji inspection failure rolls back claim and history. Assertion aktual ditunjukkan di kolom bukti dan kode.API /api/klaim-garansi/{$id}/periksa
Assertion assertOk, assertStatus, assertDontSee, assertSame
function test_technical_failure_rolls_back_claim_and_history(string $class, string $method): voidSkenario uji technical failure rolls back claim and history. Assertion aktual ditunjukkan di kolom bukti dan kode.API /api/klaim-garansi/{$id}/tangani
Assertion assertOk, assertStatus, assertDontSee, assertSame
function test_findings_and_decision_are_required_and_arbitrary_decision_is_rejected(): voidSkenario uji findings and decision are required and arbitrary decision is rejected. Assertion aktual ditunjukkan di kolom bukti dan kode.API /api/klaim-garansi/{$id}/periksa
Assertion assertOk, assertUnprocessable, assertJsonValidationErrors, assertSame
Dependensi kode proyek yang diimpor
Buka kode asli bernomor baris

Kode hanya ditampilkan sebagai teks. Tidak dieksekusi oleh panduan. Nomor baris mengikuti sumber yang dibaca.

Identitas snapshot

SHA-256 ff7755fd7af29367a5c163aa65c8757b5043e1586ce20d810e6e02f1817edd36

tests/PostgresSecurityTestCase.php163 baris · 9 fungsi bernama
Unggahan sumber 17 OktoberSkenario teknis, bukan hasil UAT

Untuk apa

Kode pengujian atau dukungan pengujian PostgresSecurityTestCase.php. Skenario dan assertion dibaca langsung dari fungsi atau test pada berkas ini.

Jika diminta mengubah

Edit skenario jika perilaku yang diharapkan berubah. Keberadaan file tidak menyatakan tes sudah dijalankan atau lulus UAT manusia.

Fungsi dan metode

Fungsi dan input atau hasilPenjelasan singkatBukti source
function setUp(): voidMenyiapkan atau membersihkan lingkungan tes milik suite ini. Periksa penjagaan schema dan target sebelum menjalankan.Assertion assertSame
function tearDown(): voidMenyiapkan atau membersihkan lingkungan tes milik suite ini. Periksa penjagaan schema dan target sebelum menjalankan.Lihat signature dan isi fungsi.
function rollbackSchemas(): voidMenyiapkan atau membersihkan lingkungan tes milik suite ini. Periksa penjagaan schema dan target sebelum menjalankan.Lihat signature dan isi fungsi.
function employee(array $attributes = []): PenggunaHelper pengujian employee. Dipakai membangun input, request, fixture, proses database atau pembandingan hasil sesuai kode.Pembuatan hash
function admin(array $attributes = []): PenggunaHelper pengujian admin. Dipakai membangun input, request, fixture, proses database atau pembandingan hasil sesuai kode.return $this->employee(['role' => 'admin'] + $attributes);
function owner(): PenggunaHelper pengujian owner. Dipakai membangun input, request, fixture, proses database atau pembandingan hasil sesuai kode.Pembuatan hash
function spa(string $method, string $uri, array $data = [], bool $csrf = true, array $headers = []): TestResponseHelper pengujian spa. Dipakai membangun input, request, fixture, proses database atau pembandingan hasil sesuai kode.return $response;
function login(Pengguna $user, ?string $password = null, array $extra = []): TestResponseHelper pengujian login. Dipakai membangun input, request, fixture, proses database atau pembandingan hasil sesuai kode.API /sanctum/csrf-cookie, /api/login
Assertion assertNoContent
function audit(string $connection, string $action): CollectionHelper pengujian audit. Dipakai membangun input, request, fixture, proses database atau pembandingan hasil sesuai kode.Tabel audit_log
Dependensi kode proyek yang diimpor
Buka kode asli bernomor baris

Kode hanya ditampilkan sebagai teks. Tidak dieksekusi oleh panduan. Nomor baris mengikuti sumber yang dibaca.

Identitas snapshot

SHA-256 607e45311173cd9e7e8799bf4368fb466f58bf1f3ccbf61f5cd1a6448bfc880b

tests/Support/BrowserEnvironment.php149 baris · 3 fungsi bernama
Unggahan sumber 17 OktoberSkenario teknis, bukan hasil UAT

Untuk apa

Kode pengujian atau dukungan pengujian BrowserEnvironment.php. Skenario dan assertion dibaca langsung dari fungsi atau test pada berkas ini.

Jika diminta mengubah

Edit skenario jika perilaku yang diharapkan berubah. Keberadaan file tidak menyatakan tes sudah dijalankan atau lulus UAT manusia.

Fungsi dan metode

Fungsi dan input atau hasilPenjelasan singkatBukti source
function boot(): ApplicationHelper pengujian boot. Dipakai membangun input, request, fixture, proses database atau pembandingan hasil sesuai kode.return false;
function seed(): voidHelper pengujian seed. Dipakai membangun input, request, fixture, proses database atau pembandingan hasil sesuai kode.Pembuatan hash
Tabel produk_cabang, pelanggan
function cleanup(): voidMenyiapkan atau membersihkan lingkungan tes milik suite ini. Periksa penjagaan schema dan target sebelum menjalankan.Lihat signature dan isi fungsi.
Dependensi kode proyek yang diimpor
Buka kode asli bernomor baris

Kode hanya ditampilkan sebagai teks. Tidak dieksekusi oleh panduan. Nomor baris mengikuti sumber yang dibaca.

Identitas snapshot

SHA-256 146a25cc9a684924fb92b09d746c5e3b3add89320a07de5f7abeb06f4d336401

tests/Support/DistributedPostgres.php81 baris · 3 fungsi bernama
Unggahan sumber 17 OktoberSkenario teknis, bukan hasil UAT

Untuk apa

Kode pengujian atau dukungan pengujian DistributedPostgres.php. Skenario dan assertion dibaca langsung dari fungsi atau test pada berkas ini.

Jika diminta mengubah

Edit skenario jika perilaku yang diharapkan berubah. Keberadaan file tidak menyatakan tes sudah dijalankan atau lulus UAT manusia.

Fungsi dan metode

Fungsi dan input atau hasilPenjelasan singkatBukti source
function start(bool $domain = false): voidHelper pengujian start. Dipakai membangun input, request, fixture, proses database atau pembandingan hasil sesuai kode.Tabel transaction_probe
function cleanup(): voidMenyiapkan atau membersihkan lingkungan tes milik suite ini. Periksa penjagaan schema dan target sebelum menjalankan.Lihat signature dan isi fungsi.
function bind(array $schemas): voidHelper pengujian bind. Dipakai membangun input, request, fixture, proses database atau pembandingan hasil sesuai kode.Lihat signature dan isi fungsi.
Dependensi kode proyek yang diimpor
Buka kode asli bernomor baris

Kode hanya ditampilkan sebagai teks. Tidak dieksekusi oleh panduan. Nomor baris mengikuti sumber yang dibaca.

Identitas snapshot

SHA-256 6e6b503c0286dc95c4b9dde71c0eb83547740ed9e061020b91fee37d512c571a

tests/Support/EnforceCsrf.php13 baris · 1 fungsi bernama
Unggahan sumber 17 OktoberSkenario teknis, bukan hasil UAT

Untuk apa

Kode pengujian atau dukungan pengujian EnforceCsrf.php. Skenario dan assertion dibaca langsung dari fungsi atau test pada berkas ini.

Jika diminta mengubah

Edit skenario jika perilaku yang diharapkan berubah. Keberadaan file tidak menyatakan tes sudah dijalankan atau lulus UAT manusia.

Fungsi dan metode

Fungsi dan input atau hasilPenjelasan singkatBukti source
function runningUnitTests(): boolHelper pengujian runningUnitTests. Dipakai membangun input, request, fixture, proses database atau pembandingan hasil sesuai kode.return false;
Buka kode asli bernomor baris

Kode hanya ditampilkan sebagai teks. Tidak dieksekusi oleh panduan. Nomor baris mengikuti sumber yang dibaca.

Identitas snapshot

SHA-256 a3b9f8c06d78051027bcd377fff8c093d183ed202ef3738a3cc861feb1ce9b2f

tests/Support/TemporaryPostgres.php78 baris · 3 fungsi bernama
Unggahan sumber 17 OktoberSkenario teknis, bukan hasil UAT

Untuk apa

Kode pengujian atau dukungan pengujian TemporaryPostgres.php. Skenario dan assertion dibaca langsung dari fungsi atau test pada berkas ini.

Jika diminta mengubah

Edit skenario jika perilaku yang diharapkan berubah. Keberadaan file tidak menyatakan tes sudah dijalankan atau lulus UAT manusia.

Fungsi dan metode

Fungsi dan input atau hasilPenjelasan singkatBukti source
function start(string $bin): stringHelper pengujian start. Dipakai membangun input, request, fixture, proses database atau pembandingan hasil sesuai kode.return 'restore_drill';
function stop(): voidHelper pengujian stop. Dipakai membangun input, request, fixture, proses database atau pembandingan hasil sesuai kode.Lihat signature dan isi fungsi.
function run(string $command, array $arguments): voidHelper pengujian run. Dipakai membangun input, request, fixture, proses database atau pembandingan hasil sesuai kode.Lihat signature dan isi fungsi.
Buka kode asli bernomor baris

Kode hanya ditampilkan sebagai teks. Tidak dieksekusi oleh panduan. Nomor baris mengikuti sumber yang dibaca.

Identitas snapshot

SHA-256 4f0bddcfdab6985982d2308987191f9e816fda7fb11d51ad8b8ac62c039883b2

tests/Support/verify-excel-export.ps146 baris · 0 fungsi bernama
Salinan pendukung sebelumnyaSkenario teknis, bukan hasil UAT

Untuk apa

Kode pengujian atau dukungan pengujian verify-excel-export.ps1. Skenario dan assertion dibaca langsung dari fungsi atau test pada berkas ini.

Jika diminta mengubah

Edit skenario jika perilaku yang diharapkan berubah. Keberadaan file tidak menyatakan tes sudah dijalankan atau lulus UAT manusia.

Buka kode asli bernomor baris

Kode hanya ditampilkan sebagai teks. Tidak dieksekusi oleh panduan. Nomor baris mengikuti sumber yang dibaca.

Identitas snapshot

SHA-256 7a64cb2ff1b19ecb8a031cb3daaa6629669f3ca85007c303be85e0589f756f06

tests/TestCase.php28 baris · 1 fungsi bernama
Unggahan sumber 17 OktoberSkenario teknis, bukan hasil UAT

Untuk apa

Kode pengujian atau dukungan pengujian TestCase.php. Skenario dan assertion dibaca langsung dari fungsi atau test pada berkas ini.

Jika diminta mengubah

Edit skenario jika perilaku yang diharapkan berubah. Keberadaan file tidak menyatakan tes sudah dijalankan atau lulus UAT manusia.

Fungsi dan metode

Fungsi dan input atau hasilPenjelasan singkatBukti source
function corruptAuditFixture(string $connection, \Closure $corrupt): mixedHelper pengujian corruptAuditFixture. Dipakai membangun input, request, fixture, proses database atau pembandingan hasil sesuai kode.Batas transaksi
Buka kode asli bernomor baris

Kode hanya ditampilkan sebagai teks. Tidak dieksekusi oleh panduan. Nomor baris mengikuti sumber yang dibaca.

Identitas snapshot

SHA-256 026dbb2e431c75986152c85e42afb4e381af69676c6d174eceabeae0402ba993

tests/Unit/ExampleTest.php16 baris · 1 fungsi bernama
Unggahan sumber 17 OktoberSkenario teknis, bukan hasil UAT

Untuk apa

Kode pengujian atau dukungan pengujian ExampleTest.php. Skenario dan assertion dibaca langsung dari fungsi atau test pada berkas ini.

Jika diminta mengubah

Edit skenario jika perilaku yang diharapkan berubah. Keberadaan file tidak menyatakan tes sudah dijalankan atau lulus UAT manusia.

Fungsi dan metode

Fungsi dan input atau hasilPenjelasan singkatBukti source
function test_that_true_is_true(): voidSkenario uji that true is true. Assertion aktual ditunjukkan di kolom bukti dan kode.Assertion assertTrue
Buka kode asli bernomor baris

Kode hanya ditampilkan sebagai teks. Tidak dieksekusi oleh panduan. Nomor baris mengikuti sumber yang dibaca.

Identitas snapshot

SHA-256 ffacae5c1a2a44c809420af5b3b404910da1b12167d58764dac6d10b8ba8cfaf

tests/e2e/auth.spec.ts81 baris · 0 fungsi bernama
Unggahan sumber 17 OktoberSkenario teknis, bukan hasil UAT

Untuk apa

Kode pengujian atau dukungan pengujian auth.spec.ts. Skenario dan assertion dibaca langsung dari fungsi atau test pada berkas ini.

Jika diminta mengubah

Edit skenario jika perilaku yang diharapkan berubah. Keberadaan file tidak menyatakan tes sudah dijalankan atau lulus UAT manusia.

Path API literal pada source

  • /api/me
  • /api/logout
  • /api/owner/cabang-aktif

Nama skenario asli browser

SkenarioBaris
employee cannot select another branch16
real websocket handshake and private channel subscription22
owner branch chooser buttons are enabled, clickable, and select the intended branch30
employee login from online catalog uses /login without a source query51
employee login branding renders on white without a black logo panel and back link follows the form65
Dependensi kode proyek yang diimpor
Buka kode asli bernomor baris

Kode hanya ditampilkan sebagai teks. Tidak dieksekusi oleh panduan. Nomor baris mengikuti sumber yang dibaca.

Identitas snapshot

SHA-256 37e263e6c8c38db5d0aa141ec73da5a3f706f3f965049dff38fb0540b0c5d986

tests/e2e/catalog-browsing.spec.ts44 baris · 0 fungsi bernama
Unggahan sumber 17 OktoberSkenario teknis, bukan hasil UAT

Untuk apa

Kode pengujian atau dukungan pengujian catalog-browsing.spec.ts. Skenario dan assertion dibaca langsung dari fungsi atau test pada berkas ini.

Jika diminta mengubah

Edit skenario jika perilaku yang diharapkan berubah. Keberadaan file tidak menyatakan tes sudah dijalankan atau lulus UAT manusia.

Nama skenario asli browser

SkenarioBaris
customer can search, filter category, sort and reset current catalogue3
Dependensi kode proyek yang diimpor
Buka kode asli bernomor baris

Kode hanya ditampilkan sebagai teks. Tidak dieksekusi oleh panduan. Nomor baris mengikuti sumber yang dibaca.

Identitas snapshot

SHA-256 7c1f2bee545aaa1e14b1a1f4e6e85f87100fa3f52140db2000047d569b447faf

tests/e2e/clark-wilson-navigation.spec.ts37 baris · 0 fungsi bernama
Unggahan sumber 17 OktoberSkenario teknis, bukan hasil UAT

Untuk apa

Kode pengujian atau dukungan pengujian clark-wilson-navigation.spec.ts. Skenario dan assertion dibaca langsung dari fungsi atau test pada berkas ini.

Jika diminta mengubah

Edit skenario jika perilaku yang diharapkan berubah. Keberadaan file tidak menyatakan tes sudah dijalankan atau lulus UAT manusia.

Path API literal pada source

  • /api/stok
  • /api/retur-penjualan

Nama skenario asli browser

SkenarioBaris
browser Back Forward and hash navigation keep the permitted page in sync3
direct browser API tampering is rejected without changing stock or return history21
Dependensi kode proyek yang diimpor
Buka kode asli bernomor baris

Kode hanya ditampilkan sebagai teks. Tidak dieksekusi oleh panduan. Nomor baris mengikuti sumber yang dibaca.

Identitas snapshot

SHA-256 7cd34b575161d0292f82eb3b3c2e527eb46fea9da0add1c2b4dcfc45c4811ce1

tests/e2e/customer-navigation-and-cart.spec.ts94 baris · 1 fungsi bernama
Unggahan sumber 17 OktoberSkenario teknis, bukan hasil UAT

Untuk apa

Kode pengujian atau dukungan pengujian customer-navigation-and-cart.spec.ts. Skenario dan assertion dibaca langsung dari fungsi atau test pada berkas ini.

Jika diminta mengubah

Edit skenario jika perilaku yang diharapkan berubah. Keberadaan file tidak menyatakan tes sudah dijalankan atau lulus UAT manusia.

Fungsi dan metode

Fungsi dan input atau hasilPenjelasan singkatBukti source
quickAddKeyboard · L3Helper skenario browser atau alat uji. Tindakan dan assertion yang dipakai terlihat pada kode.Assertion toBeVisible

Nama skenario asli browser

SkenarioBaris
guest can browse, add from catalog, use cart, checkout and open order tracking11
product card opens detail and native browser Back returns to catalog31
cart persists without storing customer personal data42
cart does not require choosing a branch and asks for one only at checkout55
oversized quantity is rejected visibly and zero requests confirmation65
empty cart control has readable label and cancellation preserves products86
Dependensi kode proyek yang diimpor
Buka kode asli bernomor baris

Kode hanya ditampilkan sebagai teks. Tidak dieksekusi oleh panduan. Nomor baris mengikuti sumber yang dibaca.

Identitas snapshot

SHA-256 2705ac344617796b06992a5e0193b1b945c6aa5bee300c45ba9768512d906209

tests/e2e/customer-service-pages.spec.ts23 baris · 0 fungsi bernama
Unggahan sumber 17 OktoberSkenario teknis, bukan hasil UAT

Untuk apa

Kode pengujian atau dukungan pengujian customer-service-pages.spec.ts. Skenario dan assertion dibaca langsung dari fungsi atau test pada berkas ini.

Jika diminta mengubah

Edit skenario jika perilaku yang diharapkan berubah. Keberadaan file tidak menyatakan tes sudah dijalankan atau lulus UAT manusia.

Nama skenario asli browser

SkenarioBaris
guest storefront exposes only compact commerce header actions3
technician navigation contains only assigned work areas13
Dependensi kode proyek yang diimpor
Buka kode asli bernomor baris

Kode hanya ditampilkan sebagai teks. Tidak dieksekusi oleh panduan. Nomor baris mengikuti sumber yang dibaca.

Identitas snapshot

SHA-256 15cc36557faa4079b8284fcadaff4c3c4079b970cf6dc30c9d2d094ed752c2f4

tests/e2e/employee-rights-history.spec.ts58 baris · 0 fungsi bernama
Unggahan sumber 17 OktoberSkenario teknis, bukan hasil UAT

Untuk apa

Kode pengujian atau dukungan pengujian employee-rights-history.spec.ts. Skenario dan assertion dibaca langsung dari fungsi atau test pada berkas ini.

Jika diminta mengubah

Edit skenario jika perilaku yang diharapkan berubah. Keberadaan file tidak menyatakan tes sudah dijalankan atau lulus UAT manusia.

Path API literal pada source

  • /api/pengguna
  • /api/pengguna/riwayat?id_subject=
  • /api/pengguna?q=
  • /api/pengguna/

Nama skenario asli browser

SkenarioBaris
owner can inspect the durable employee rights history from the employee page3
cashier cannot forge a branch assignment or read canonical rights history32
Dependensi kode proyek yang diimpor
Buka kode asli bernomor baris

Kode hanya ditampilkan sebagai teks. Tidak dieksekusi oleh panduan. Nomor baris mengikuti sumber yang dibaca.

Identitas snapshot

SHA-256 cffd9c6fdeb1da4c020315382d8d3ce96a3fb9a2825e70168bf1a6cafd52030e

tests/e2e/end-user-additional-pages.spec.ts82 baris · 0 fungsi bernama
Unggahan sumber 17 OktoberSkenario teknis, bukan hasil UAT

Untuk apa

Kode pengujian atau dukungan pengujian end-user-additional-pages.spec.ts. Skenario dan assertion dibaca langsung dari fungsi atau test pada berkas ini.

Jika diminta mengubah

Edit skenario jika perilaku yang diharapkan berubah. Keberadaan file tidak menyatakan tes sudah dijalankan atau lulus UAT manusia.

Path API literal pada source

  • /api/penjualan
  • /api/stok
  • /api/me/profile

Nama skenario asli browser

SkenarioBaris
cashier has a separate, working sales history page with server-backed detail3
quarantined stock has a dedicated role-scoped page backed by inventory filter22
all staff can open profile and password as separate account workspaces38
owner can update own name and email from Edit Profil57
Dependensi kode proyek yang diimpor
Buka kode asli bernomor baris

Kode hanya ditampilkan sebagai teks. Tidak dieksekusi oleh panduan. Nomor baris mengikuti sumber yang dibaca.

Identitas snapshot

SHA-256 2f442a0e7a4d683904d6c2639a71b13fbcc5435f37e9cf370d3cc6876d5336a7

tests/e2e/end-user-deep-pages.spec.ts67 baris · 0 fungsi bernama
Unggahan sumber 17 OktoberSkenario teknis, bukan hasil UAT

Untuk apa

Kode pengujian atau dukungan pengujian end-user-deep-pages.spec.ts. Skenario dan assertion dibaca langsung dari fungsi atau test pada berkas ini.

Jika diminta mengubah

Edit skenario jika perilaku yang diharapkan berubah. Keberadaan file tidak menyatakan tes sudah dijalankan atau lulus UAT manusia.

Path API literal pada source

  • /api/pelanggan
  • /api/pelanggan/

Nama skenario asli browser

SkenarioBaris
cashier can inspect customer history instead of seeing contacts only3
owner employee page exposes account and login security state33
manager pages expose master summaries, inventory ordering, and purchase history filters46
Dependensi kode proyek yang diimpor
Buka kode asli bernomor baris

Kode hanya ditampilkan sebagai teks. Tidak dieksekusi oleh panduan. Nomor baris mengikuti sumber yang dibaca.

Identitas snapshot

SHA-256 bf2da1308eeac6a3cdce2343a4b6b66150600e47b58db4615139e7c07322f19e

tests/e2e/end-user-pages.spec.ts184 baris · 0 fungsi bernama
Unggahan sumber 17 OktoberSkenario teknis, bukan hasil UAT

Untuk apa

Kode pengujian atau dukungan pengujian end-user-pages.spec.ts. Skenario dan assertion dibaca langsung dari fungsi atau test pada berkas ini.

Jika diminta mengubah

Edit skenario jika perilaku yang diharapkan berubah. Keberadaan file tidak menyatakan tes sudah dijalankan atau lulus UAT manusia.

Path API literal pada source

  • /api/stok
  • /api/online-order
  • /api/pembelian
  • /api/audit-log
  • /api/laporan/options

Nama skenario asli browser

SkenarioBaris
owner has complete operational navigation and can open master pages3
admin gets branch operations and master data without owner-only oversight pages20
cashier gets front-desk operational pages but not admin or owner pages31
technician sees only technical and read-only operational pages42
owner operational pages expose end-user controls instead of placeholder content54
cashier operational pages provide searchable lists and actionable forms90
manager operational lists expose server-backed search filters and pagination120
technician notification and technical filters are usable from the browser138
owner audit log exposes traceability filters and readable evidence columns150
owner reporting page exposes product, status, and supplier filters166
Dependensi kode proyek yang diimpor
Buka kode asli bernomor baris

Kode hanya ditampilkan sebagai teks. Tidak dieksekusi oleh panduan. Nomor baris mengikuti sumber yang dibaca.

Identitas snapshot

SHA-256 c3d5922e4c84ee9ad3ddb1113ad61cda667267e0e6b549eb5be76493c7ab1f6c

tests/e2e/end-user-processes.spec.ts150 baris · 1 fungsi bernama
Unggahan sumber 17 OktoberSkenario teknis, bukan hasil UAT

Untuk apa

Kode pengujian atau dukungan pengujian end-user-processes.spec.ts. Skenario dan assertion dibaca langsung dari fungsi atau test pada berkas ini.

Jika diminta mengubah

Edit skenario jika perilaku yang diharapkan berubah. Keberadaan file tidak menyatakan tes sudah dijalankan atau lulus UAT manusia.

Fungsi dan metode

Fungsi dan input atau hasilPenjelasan singkatBukti source
unique · L3Helper skenario browser atau alat uji. Tindakan dan assertion yang dipakai terlihat pada kode.Lihat signature dan isi fungsi.

Path API literal pada source

  • /api/supplier
  • /api/pengguna
  • /api/pelanggan
  • /api/servis

Nama skenario asli browser

SkenarioBaris
owner can perform master-data, employee, and restock work from the UI5
admin can manage master data, restock, and submit a stock transfer from the UI61
cashier can create a customer and complete a customer-linked Kasir sale from the UI99
cashier can create a customer during service reception and receive the device127
Dependensi kode proyek yang diimpor
Buka kode asli bernomor baris

Kode hanya ditampilkan sebagai teks. Tidak dieksekusi oleh panduan. Nomor baris mengikuti sumber yang dibaca.

Identitas snapshot

SHA-256 7975a0a02cdfcbce85d8bf17e8bc7edb74f0ec62ea474634a89a3e7274d995aa

tests/e2e/end-user-usability.spec.ts38 baris · 0 fungsi bernama
Unggahan sumber 17 OktoberSkenario teknis, bukan hasil UAT

Untuk apa

Kode pengujian atau dukungan pengujian end-user-usability.spec.ts. Skenario dan assertion dibaca langsung dari fungsi atau test pada berkas ini.

Jika diminta mengubah

Edit skenario jika perilaku yang diharapkan berubah. Keberadaan file tidak menyatakan tes sudah dijalankan atau lulus UAT manusia.

Nama skenario asli browser

SkenarioBaris
public storefront uses current concise commerce language3
notification center is event-oriented and not stock monitoring11
dashboard uses icon refresh and current business labels19
owner approval workspaces do not expose editable raw signed URLs29
Dependensi kode proyek yang diimpor
Buka kode asli bernomor baris

Kode hanya ditampilkan sebagai teks. Tidak dieksekusi oleh panduan. Nomor baris mengikuti sumber yang dibaca.

Identitas snapshot

SHA-256 5169f3f59378e61f8f0abd38c660938fe40aa8e2bb8eb80473308bd74cc868ca

tests/e2e/final-role-workspace-uat.spec.ts90 baris · 0 fungsi bernama
Unggahan sumber 17 OktoberSkenario teknis, bukan hasil UAT

Untuk apa

Kode pengujian atau dukungan pengujian final-role-workspace-uat.spec.ts. Skenario dan assertion dibaca langsung dari fungsi atau test pada berkas ini.

Jika diminta mengubah

Edit skenario jika perilaku yang diharapkan berubah. Keberadaan file tidak menyatakan tes sudah dijalankan atau lulus UAT manusia.

Path API literal pada source

  • /api/pelanggan
  • /api/penjualan
  • /api/penjualan/

Nama skenario asli browser

SkenarioBaris
Kasir customer selection stays visible when the contact search changes, and the printed receipt is complete49
Dependensi kode proyek yang diimpor
Buka kode asli bernomor baris

Kode hanya ditampilkan sebagai teks. Tidak dieksekusi oleh panduan. Nomor baris mengikuti sumber yang dibaca.

Identitas snapshot

SHA-256 aee4e1dc239ed8b6e3f76d955f7feaa3d62a3358f928679e92b525d57c8a8fa2

tests/e2e/fixture.php11 baris · 0 fungsi bernama
Unggahan sumber 17 OktoberSkenario teknis, bukan hasil UAT

Untuk apa

Kode pengujian atau dukungan pengujian fixture.php. Skenario dan assertion dibaca langsung dari fungsi atau test pada berkas ini.

Jika diminta mengubah

Edit skenario jika perilaku yang diharapkan berubah. Keberadaan file tidak menyatakan tes sudah dijalankan atau lulus UAT manusia.

Buka kode asli bernomor baris

Kode hanya ditampilkan sebagai teks. Tidak dieksekusi oleh panduan. Nomor baris mengikuti sumber yang dibaca.

Identitas snapshot

SHA-256 68c9004b1a1880dd58a272a728439edd009447553d05feece8c91fb8c4233661

tests/e2e/helpers.ts89 baris · 6 fungsi bernama
Unggahan sumber 17 OktoberSkenario teknis, bukan hasil UAT

Untuk apa

Kode pengujian atau dukungan pengujian helpers.ts. Skenario dan assertion dibaca langsung dari fungsi atau test pada berkas ini.

Jika diminta mengubah

Edit skenario jika perilaku yang diharapkan berubah. Keberadaan file tidak menyatakan tes sudah dijalankan atau lulus UAT manusia.

Fungsi dan metode

Fungsi dan input atau hasilPenjelasan singkatBukti source
fixtures · L5Helper skenario browser atau alat uji. Tindakan dan assertion yang dipakai terlihat pada kode.Lihat signature dan isi fungsi.
mail · L6Helper skenario browser atau alat uji. Tindakan dan assertion yang dipakai terlihat pada kode.Lihat signature dan isi fungsi.
openMenu · L41Membuka drawer menu internal.Assertion toBeVisible
navigateMenu · L56Helper skenario browser atau alat uji. Tindakan dan assertion yang dipakai terlihat pada kode.Assertion toBeVisible
login · L67Helper skenario browser atau alat uji. Tindakan dan assertion yang dipakai terlihat pada kode.Assertion toBeVisible
api · L81Helper skenario browser atau alat uji. Tindakan dan assertion yang dipakai terlihat pada kode.return page.evaluate(async ({ method, path, data }) => {

Path API literal pada source

  • /api/me
Buka kode asli bernomor baris

Kode hanya ditampilkan sebagai teks. Tidak dieksekusi oleh panduan. Nomor baris mengikuti sumber yang dibaca.

Identitas snapshot

SHA-256 a431f18aa090cef4c3859131f3e8d6362c36818a3c49994c26a3ce19f6813463

tests/e2e/institution-and-damage.spec.ts146 baris · 0 fungsi bernama
Unggahan sumber 17 OktoberSkenario teknis, bukan hasil UAT

Untuk apa

Kode pengujian atau dukungan pengujian institution-and-damage.spec.ts. Skenario dan assertion dibaca langsung dari fungsi atau test pada berkas ini.

Jika diminta mengubah

Edit skenario jika perilaku yang diharapkan berubah. Keberadaan file tidak menyatakan tes sudah dijalankan atau lulus UAT manusia.

Path API literal pada source

  • /api/penjualan
  • /api/penjualan/
  • /api/stok
  • /api/nota-instansi
  • /api/nota-instansi/
  • /api/audit-log?aksi=nota_instansi_decide&id_data=
  • /api/pembelian
  • /api/pembelian/

Nama skenario asli browser

SkenarioBaris
admin creates an institution invoice and another owner approves the delivered link with history and printing3
damaged purchase reception separates available stock and quarantine then permits a real supplier return85
Dependensi kode proyek yang diimpor
Buka kode asli bernomor baris

Kode hanya ditampilkan sebagai teks. Tidak dieksekusi oleh panduan. Nomor baris mengikuti sumber yang dibaca.

Identitas snapshot

SHA-256 18a518aabaea3bb6eb8829a661492562f8db527a70165278c415663698eca80c

tests/e2e/online-order-operation-safety.spec.ts62 baris · 1 fungsi bernama
Unggahan sumber 17 OktoberSkenario teknis, bukan hasil UAT

Untuk apa

Kode pengujian atau dukungan pengujian online-order-operation-safety.spec.ts. Skenario dan assertion dibaca langsung dari fungsi atau test pada berkas ini.

Jika diminta mengubah

Edit skenario jika perilaku yang diharapkan berubah. Keberadaan file tidak menyatakan tes sudah dijalankan atau lulus UAT manusia.

Fungsi dan metode

Fungsi dan input atau hasilPenjelasan singkatBukti source
exampleOrder · L3Helper skenario browser atau alat uji. Tindakan dan assertion yang dipakai terlihat pada kode.Lihat signature dan isi fungsi.

Path API literal pada source

  • /api/online-order
  • /api/online-order/10001/bukti-pembayaran
  • /api/online-order/10002/bukti-pembayaran

Nama skenario asli browser

SkenarioBaris
changing online-order search never selects another payment for staff automatically19
Dependensi kode proyek yang diimpor
Buka kode asli bernomor baris

Kode hanya ditampilkan sebagai teks. Tidak dieksekusi oleh panduan. Nomor baris mengikuti sumber yang dibaca.

Identitas snapshot

SHA-256 27ec6d1ef82dea45740d96e8b7c1b879c706f1cdea27a5a7f14d10ec0b8076b3

tests/e2e/online-payment-guide.spec.ts38 baris · 1 fungsi bernama
Unggahan sumber 17 OktoberSkenario teknis, bukan hasil UAT

Untuk apa

Kode pengujian atau dukungan pengujian online-payment-guide.spec.ts. Skenario dan assertion dibaca langsung dari fungsi atau test pada berkas ini.

Jika diminta mengubah

Edit skenario jika perilaku yang diharapkan berubah. Keberadaan file tidak menyatakan tes sudah dijalankan atau lulus UAT manusia.

Fungsi dan metode

Fungsi dan input atau hasilPenjelasan singkatBukti source
addKeyboard · L3Helper skenario browser atau alat uji. Tindakan dan assertion yang dipakai terlihat pada kode.Lihat signature dan isi fungsi.

Path API literal pada source

  • /api/online/checkout

Nama skenario asli browser

SkenarioBaris
checkout exposes only configured payment methods and creates a trackable order13
direct cross-origin tracking link is rejected locally31
Dependensi kode proyek yang diimpor
Buka kode asli bernomor baris

Kode hanya ditampilkan sebagai teks. Tidak dieksekusi oleh panduan. Nomor baris mengikuti sumber yang dibaca.

Identitas snapshot

SHA-256 7bc9a7c76bf4bedc906042476233a419cf5393171e6b60cabfc6925737ffcc07

tests/e2e/operational-drilldown.spec.ts70 baris · 0 fungsi bernama
Unggahan sumber 17 OktoberSkenario teknis, bukan hasil UAT

Untuk apa

Kode pengujian atau dukungan pengujian operational-drilldown.spec.ts. Skenario dan assertion dibaca langsung dari fungsi atau test pada berkas ini.

Jika diminta mengubah

Edit skenario jika perilaku yang diharapkan berubah. Keberadaan file tidak menyatakan tes sudah dijalankan atau lulus UAT manusia.

Nama skenario asli browser

SkenarioBaris
cashier sales history exposes operational filters and summary cards3
cashier online orders expose payment fulfillment date filters and workload summary18
admin service and warranty pages expose assignment type date filters and work summaries33
admin stock transfer history exposes counterpart branch date filters and movement summary57
Dependensi kode proyek yang diimpor
Buka kode asli bernomor baris

Kode hanya ditampilkan sebagai teks. Tidak dieksekusi oleh panduan. Nomor baris mengikuti sumber yang dibaca.

Identitas snapshot

SHA-256 34c24ff79e86d6e39e7d0d31baad1119bc65ef8bff0592a1c15a28246c4df7ea

tests/e2e/owner-payment-and-branch-uat.spec.ts35 baris · 0 fungsi bernama
Salinan pendukung sebelumnyaSkenario teknis, bukan hasil UAT

Untuk apa

Kode pengujian atau dukungan pengujian owner-payment-and-branch-uat.spec.ts. Skenario dan assertion dibaca langsung dari fungsi atau test pada berkas ini.

Jika diminta mengubah

Edit skenario jika perilaku yang diharapkan berubah. Keberadaan file tidak menyatakan tes sudah dijalankan atau lulus UAT manusia.

Path API literal pada source

  • /api/owner/pengaturan-pembayaran
  • /api/cabang?q=Cabang%20Dummy%20UAT%20Baru

Nama skenario asli browser

SkenarioBaris
Owner dapat menyimpan dan mengubah rekening dummy melalui menu Pembayaran3
Owner mencatat cabang baru sebagai nonaktif karena tenant belum terprovisi22
Dependensi kode proyek yang diimpor
Buka kode asli bernomor baris

Kode hanya ditampilkan sebagai teks. Tidak dieksekusi oleh panduan. Nomor baris mengikuti sumber yang dibaca.

Identitas snapshot

SHA-256 014e8e90ad06801ef2100b6e2a2624c1ef96bfc5278c4c172464b99dc31f84f3

tests/e2e/report-export-security.spec.ts41 baris · 0 fungsi bernama
Unggahan sumber 17 OktoberSkenario teknis, bukan hasil UAT

Untuk apa

Kode pengujian atau dukungan pengujian report-export-security.spec.ts. Skenario dan assertion dibaca langsung dari fungsi atau test pada berkas ini.

Jika diminta mengubah

Edit skenario jika perilaku yang diharapkan berubah. Keberadaan file tidak menyatakan tes sudah dijalankan atau lulus UAT manusia.

Path API literal pada source

  • /api/produk?q=E2E-1
  • /api/produk/

Nama skenario asli browser

SkenarioBaris
report export treats formula text as data and printing isolates the popup5
Dependensi kode proyek yang diimpor
Buka kode asli bernomor baris

Kode hanya ditampilkan sebagai teks. Tidak dieksekusi oleh panduan. Nomor baris mengikuti sumber yang dibaca.

Identitas snapshot

SHA-256 c4b419cde44eb86c684134bbc4ec15811fe460c74d74937b35186c767307b946

tests/e2e/returns-pages.spec.ts42 baris · 0 fungsi bernama
Unggahan sumber 17 OktoberSkenario teknis, bukan hasil UAT

Untuk apa

Kode pengujian atau dukungan pengujian returns-pages.spec.ts. Skenario dan assertion dibaca langsung dari fungsi atau test pada berkas ini.

Jika diminta mengubah

Edit skenario jika perilaku yang diharapkan berubah. Keberadaan file tidak menyatakan tes sudah dijalankan atau lulus UAT manusia.

Path API literal pada source

  • /api/retur-penjualan/sumber
  • /api/retur-pembelian/sumber

Nama skenario asli browser

SkenarioBaris
owner can open both return workflows with source, form and history areas3
admin sees both returns while cashier can only access customer return23
cashier sees customer return and cannot open supplier return30
technician cannot see either transactional return page37
Dependensi kode proyek yang diimpor
Buka kode asli bernomor baris

Kode hanya ditampilkan sebagai teks. Tidak dieksekusi oleh panduan. Nomor baris mengikuti sumber yang dibaca.

Identitas snapshot

SHA-256 2186ac3fa6ce39458465d342bb7acdf2b2ad9ea71ca889effe6ae63f406314a5

tests/e2e/reverb.php10 baris · 0 fungsi bernama
Unggahan sumber 17 OktoberSkenario teknis, bukan hasil UAT

Untuk apa

Kode pengujian atau dukungan pengujian reverb.php. Skenario dan assertion dibaca langsung dari fungsi atau test pada berkas ini.

Jika diminta mengubah

Edit skenario jika perilaku yang diharapkan berubah. Keberadaan file tidak menyatakan tes sudah dijalankan atau lulus UAT manusia.

Buka kode asli bernomor baris

Kode hanya ditampilkan sebagai teks. Tidak dieksekusi oleh panduan. Nomor baris mengikuti sumber yang dibaca.

Identitas snapshot

SHA-256 c7fabc3335e35a632630cdefe001c1a26cf7ff4e4b23a29873da7406a00b9914

tests/e2e/server.php14 baris · 0 fungsi bernama
Unggahan sumber 17 OktoberSkenario teknis, bukan hasil UAT

Untuk apa

Kode pengujian atau dukungan pengujian server.php. Skenario dan assertion dibaca langsung dari fungsi atau test pada berkas ini.

Jika diminta mengubah

Edit skenario jika perilaku yang diharapkan berubah. Keberadaan file tidak menyatakan tes sudah dijalankan atau lulus UAT manusia.

Buka kode asli bernomor baris

Kode hanya ditampilkan sebagai teks. Tidak dieksekusi oleh panduan. Nomor baris mengikuti sumber yang dibaca.

Identitas snapshot

SHA-256 547b32b299fd26d055def0b86d636821cf47323144ca19e2dad76a1df282568b

tests/e2e/setup.ts77 baris · 4 fungsi bernama
Unggahan sumber 17 OktoberSkenario teknis, bukan hasil UAT

Untuk apa

Kode pengujian atau dukungan pengujian setup.ts. Skenario dan assertion dibaca langsung dari fungsi atau test pada berkas ini.

Jika diminta mengubah

Edit skenario jika perilaku yang diharapkan berubah. Keberadaan file tidak menyatakan tes sudah dijalankan atau lulus UAT manusia.

Fungsi dan metode

Fungsi dan input atau hasilPenjelasan singkatBukti source
freePort · L8Helper skenario browser atau alat uji. Tindakan dan assertion yang dipakai terlihat pada kode.Lihat signature dan isi fungsi.
setup · L15Komponen atau fungsi utama berkas ini.return cleanup;
fixture · L29Helper skenario browser atau alat uji. Tindakan dan assertion yang dipakai terlihat pada kode.Lihat signature dan isi fungsi.
cleanup · L33Helper skenario browser atau alat uji. Tindakan dan assertion yang dipakai terlihat pada kode.Lihat signature dan isi fungsi.
Buka kode asli bernomor baris

Kode hanya ditampilkan sebagai teks. Tidak dieksekusi oleh panduan. Nomor baris mengikuti sumber yang dibaca.

Identitas snapshot

SHA-256 874dce9d00e81d8025ad9a541c5c8b4f06073e2fa3de4f82cd91eb20ab0f127e

tests/e2e/ux-audit-regressions.spec.ts135 baris · 0 fungsi bernama
Unggahan sumber 17 OktoberSkenario teknis, bukan hasil UAT

Untuk apa

Kode pengujian atau dukungan pengujian ux-audit-regressions.spec.ts. Skenario dan assertion dibaca langsung dari fungsi atau test pada berkas ini.

Jika diminta mengubah

Edit skenario jika perilaku yang diharapkan berubah. Keberadaan file tidak menyatakan tes sudah dijalankan atau lulus UAT manusia.

Path API literal pada source

  • /api/supplier
  • /api/owner/cabang-aktif
  • /api/me
  • /api/stok
  • /api/produk?q=E2E-1
  • /api/produk/
  • /api/audit-log

Nama skenario asli browser

SkenarioBaris
mobile master product cards keep edit action usable at 390px viewport3
purchase does not silently replace an existing line price with a different unit cost17
catalog does not show success feedback when cart already equals branch stock49
owner branch selector applies the authoritative branch immediately and can switch back81
owner audit log exposes before after actor and user agent for a real master-data change107
Dependensi kode proyek yang diimpor
Buka kode asli bernomor baris

Kode hanya ditampilkan sebagai teks. Tidak dieksekusi oleh panduan. Nomor baris mengikuti sumber yang dibaca.

Identitas snapshot

SHA-256 bde9d6cf8107b65b61ef50e7320564e70735e62d80545c35538c59fb4eb0dbcf

tests/e2e/workflows.spec.ts267 baris · 0 fungsi bernama
Unggahan sumber 17 OktoberSkenario teknis, bukan hasil UAT

Untuk apa

Kode pengujian atau dukungan pengujian workflows.spec.ts. Skenario dan assertion dibaca langsung dari fungsi atau test pada berkas ini.

Jika diminta mengubah

Edit skenario jika perilaku yang diharapkan berubah. Keberadaan file tidak menyatakan tes sudah dijalankan atau lulus UAT manusia.

Path API literal pada source

  • /api/stok
  • /api/produk
  • /api/penjualan
  • /api/penjualan/
  • /api/penjualan/harga-khusus
  • /api/approval/penjualan/
  • /api/audit-log?aksi=harga_khusus_disetujui&id_data=
  • /api/mutasi-stok
  • /api/approval/mutasi/
  • /api/audit-log?aksi=mutasi_disetujui&id_data=
  • /api/servis
  • /api/servis/
  • /api/klaim-garansi/

Nama skenario asli browser

SkenarioBaris
Kasir search, quantities, server pricing, payment, receipt and refresh safety5
special price is approved by a different owner using delivered Magic Link46
stock transfer is approved by owner through Magic Link and moves stock between tenants once85
service reception, assignment, technical progress, parts, handover and both warranties150
Dependensi kode proyek yang diimpor
Buka kode asli bernomor baris

Kode hanya ditampilkan sebagai teks. Tidak dieksekusi oleh panduan. Nomor baris mengikuti sumber yang dibaca.

Identitas snapshot

SHA-256 7a5bc607b3b918f458e12a65c78a9fb13aded35f9133b287cc9f2c1d524cc879

tests/e2e/zap-local.mjs154 baris · 3 fungsi bernama
Salinan pendukung sebelumnyaSkenario teknis, bukan hasil UAT

Untuk apa

Kode pengujian atau dukungan pengujian zap-local.mjs. Skenario dan assertion dibaca langsung dari fungsi atau test pada berkas ini.

Jika diminta mengubah

Edit skenario jika perilaku yang diharapkan berubah. Keberadaan file tidak menyatakan tes sudah dijalankan atau lulus UAT manusia.

Fungsi dan metode

Fungsi dan input atau hasilPenjelasan singkatBukti source
captureZapOutput · L19Helper skenario browser atau alat uji. Tindakan dan assertion yang dipakai terlihat pada kode.Lihat signature dan isi fungsi.
pause · L20Helper skenario browser atau alat uji. Tindakan dan assertion yang dipakai terlihat pada kode.Lihat signature dan isi fungsi.
api · L21Helper skenario browser atau alat uji. Tindakan dan assertion yang dipakai terlihat pada kode.return body;

Path API literal pada source

  • /api/online/cabang
  • /api/online/katalog?id_cabang=
  • /api/me
  • /api/notifikasi
  • /api/stok
  • /api/pengguna/riwayat
  • /api/audit-log
  • /api/laporan/options
  • /api/pembelian
  • /api/penjualan
  • /api/servis
Dependensi kode proyek yang diimpor
Buka kode asli bernomor baris

Kode hanya ditampilkan sebagai teks. Tidak dieksekusi oleh panduan. Nomor baris mengikuti sumber yang dibaca.

Identitas snapshot

SHA-256 92fccf13d51765e3236d7c14430935f3a6c90ca7460ef21c401c57bc57c1c686

tests/test_branch_worker.py86 baris · 6 fungsi bernama
Salinan pendukung sebelumnyaSkenario teknis, bukan hasil UAT

Untuk apa

Kode pengujian atau dukungan pengujian test_branch_worker.py. Skenario dan assertion dibaca langsung dari fungsi atau test pada berkas ini.

Jika diminta mengubah

Edit skenario jika perilaku yang diharapkan berubah. Keberadaan file tidak menyatakan tes sudah dijalankan atau lulus UAT manusia.

Fungsi dan metode

Fungsi dan input atau hasilPenjelasan singkatBukti source
def test_generated_compose_contains_isolated_runtime_without_admin_password(self):Helper proses atau pengujian test_generated_compose_contains_isolated_runtime_without_admin_password. Input, operasi sistem dan hasil harus dibaca dari kode sebelum dijalankan.Assertion assertIn, assertNotIn, assertEqual
def test_sql_identity_is_fixed_by_numeric_branch_id(self):Helper proses atau pengujian test_sql_identity_is_fixed_by_numeric_branch_id. Input, operasi sistem dan hasil harus dibaca dari kode sebelum dijalankan.Assertion assertIn, assertRaises
def test_failed_nginx_validation_restores_previous_map(self):Helper proses atau pengujian test_failed_nginx_validation_restores_previous_map. Input, operasi sistem dan hasil harus dibaca dari kode sebelum dijalankan.Assertion assertRaises, assertEqual
def test_successful_nginx_reload_writes_all_routes(self):Helper proses atau pengujian test_successful_nginx_reload_writes_all_routes. Input, operasi sistem dan hasil harus dibaca dari kode sebelum dijalankan.Assertion assertIn, assertEqual
def fake_invoke(args, **kwargs):Helper proses atau pengujian fake_invoke. Input, operasi sistem dan hasil harus dibaca dari kode sebelum dijalankan.return None
def fake_invoke(args, **kwargs):Helper proses atau pengujian fake_invoke. Input, operasi sistem dan hasil harus dibaca dari kode sebelum dijalankan.Lihat signature dan isi fungsi.
Buka kode asli bernomor baris

Kode hanya ditampilkan sebagai teks. Tidak dieksekusi oleh panduan. Nomor baris mengikuti sumber yang dibaca.

Identitas snapshot

SHA-256 e0ec836d5857c53d611b0215b7a6f053ada071d8be60ab9bd797e6198212de73

13 · Cakupan dan pemeriksaan panduan

Bab ini mengacu snapshot kode panduan sebelumnya. Pembaruan peran Admin, satu pengiriman dan audit 20 Oktober dijelaskan pada Bab 14. Source paket revisi bukan bukti bahwa paket sudah terpasang pada VPS.

Asal sourceJumlah berkas
Salinan pendukung sebelumnya42
Revisi ZIP v532
Unggahan sumber 17 Oktober385
  • Setiap berkas sumber utama atau payload revisi yang dipakai dicocokkan dengan byte arsipnya sebelum penjelasan dibangun.
  • Rujukan berkas dan fungsi diperiksa terhadap source yang disertakan. Kode asli disimpan di dalam HTML ini agar tidak bergantung pada folder proyek saat dibaca.
  • Penjelasan dibuat per unit fungsi dan blok penting. Tanda kurung dan sintaks berulang diringkas pada bab Cara membaca sintaks.
  • Kode pendukung yang hanya ada pada salinan sebelumnya ditandai, sehingga tidak disamakan dengan upload source terbaru atau konfigurasi efektif VPS.
  • Lockfile dependensi dijelaskan fungsinya pada manifest. Binary gambar, library vendor, cache hasil generate dan dokumen catatan lain bukan bagian indeks kode teks ini.
  • Contoh perubahan merupakan bahan latihan. Source aplikasi dan arsip patch tidak dimutasi oleh pembuatan panduan.

Disusun 19 Oktober 2026. Gunakan buku kode ini untuk menunjukkan lokasi dan menjelaskan mekanisme, kemudian gunakan bukti eksekusi yang benar-benar kamu peroleh untuk menyatakan hasil pengujian.

14 · Catatan bimbingan lengkap

Seluruh isi Catatan_Bimbingan_Pak_Fikri_7_Agustus_2026.md versi 28 disimpan dalam HTML ini. Catatan bertambah 51 baris dibanding versi 26. Transkrip, lampiran yang sudah digabung, teks lama dan seluruh koreksi dalam file dipertahankan.

23.134 baris catatan259 bagian bacaan28 versi sumber20 Oktober pembaruan 2026
PEMBARUAN 20 OKTOBER 2026

Keputusan yang lebih baru daripada catatan versi 28

Bagian ini menggabungkan koreksi yang ditemukan melalui ringkasan penelusuran chat dan pemeriksaan isi paket revisi. Teks catatan versi 28 tetap disimpan utuh di bawahnya. Hasil penelusuran belum menyediakan transkrip penuh semua pesan.

PokokKetentuan terbaruBukti yang tersedia
Pelaku transaksiPelanggan melakukan checkout. Admin cabang menangani Online Order dan verifikasi pembayaran. Kasir menangani retail. Pembayaran gabungan diverifikasi satu kali oleh Admin dari cabang yang terkait.Tambahan catatan 20 Oktober.
PengirimanMasing-masing cabang menandai barang siap. Pelanggan menerima satu paket dengan kurir dan resi yang sama setelah barang terkumpul dan diserahkan petugas.Catatan versi 28 dan source paket konsolidasi.
AuditKoreksi chat 20 Oktober meminta penggunaan audit_log yang sudah ada dan penghapusan online_checkout_group_audit. Audit setiap nota menggunakan ID penjualan pada tenant terkait. Penghapusan tabel di VPS belum dapat dinyatakan selesai.Ringkasan pesan pengguna 20 Oktober pukul 17.32 WIB dan source recordAudit.
Tipe ID auditaudit_log.id_data tetap INTEGER. ID checkout yang berbentuk ULID disimpan sebagai metadata JSON. Tipe id_data tidak diganti agar dapat menerima ULID.Ringkasan pesan pengguna pukul 17.02 WIB serta insert audit pada paket.
ERDTambahan versi 28 yang masih menyebut tiga tabel checkout perlu dibaca sebagai riwayat sebelum koreksi audit. Paket terbaru memuat dua tabel checkout master dan memakai audit_log tenant yang sudah ada. Hubungan master dengan nota tenant tetap berupa hubungan logis lintas database.Migration pada paket konsolidasi. Ini bukti isi paket, bukan bukti keadaan schema VPS.
Pemindahan audit lamaScript paket mencoba menyalin audit lama ke audit_log tenant dan memeriksa hasil sebelum mengizinkan penghapusan tabel tambahan. Hasil pemindahan dan DROP TABLE harus dibuktikan dari output aktual. Pesan deploy berhasil yang muncul sebelum tahap audit tidak cukup membuktikan tabel sudah dihapus.AUDIT_CLEANUP.php dan tahap akhir RUN_PATCH.py.
Keadaan pemasanganPercakapan terakhir melaporkan konflik source pada OnlineOrderWorkflow.php, OnlineOrdersPanel.tsx dan GroupedOnlineCheckout.php. Penelusuran berikutnya juga menemukan kiriman hash source VPS. Belum ada output pemasangan berhasil yang dapat diverifikasi untuk paket konsolidasi.Ringkasan percakapan 20 Oktober. Bagian hasil yang terpotong tidak diisi ulang.
PengujianUAT tetap dilakukan oleh pengguna sebagai end user. Pengujian keamanan masih ditunda sesuai permintaan terbaru. Katalog command keamanan disimpan sebagai arsip.Ringkasan permintaan pengguna 20 Oktober.

Paket terbaru yang ditemukan bernama Rajawali_PATCH_KONSOLIDASI_ADMIN_AUDIT_BERDASARKAN_VPS_20Okt2026.zip. Keberadaan paket dan kelulusan syntax tidak menetapkan paket tersebut sudah aktif pada VPS.

Tambahan pada catatan versi 28

Bagian UAT mencatat hasil ALM-01 sampai ALM-03, nama dan email penerima, serta hubungan pemesan dengan penerima. Bagian 20 Oktober menjelaskan pembagian peran, pembayaran gabungan, pengiriman dan dampak ERD. Pembahasan tabel audit pada bagian tersebut mendahului koreksi chat yang ditampilkan di atas.

20 judul per halaman
001Catatan TA Rajawali ComputerBaris 1–3
002Penerapan koreksi URL, keranjang, dan form UAT 19 Oktober 2026Baris 4–113
003Koreksi lanjutan UAT publik dan URL 17 Oktober 2026Baris 114–148
004Installer berhenti pada pemeriksaan AuthApp VPS 17 Oktober 2026Baris 149–190
005Pemeriksaan arahan bimbingan terbaru dan revisi lanjutan 17 Oktober 2026Baris 191–834
006Koreksi pelaksana UAT dan hasil preflight terbaru 17 Oktober 2026Baris 835–996
007Kelanjutan setelah VPS aktif pada 17 Oktober 2026Baris 997–1079
008Panduan dan arsip sebelum VPS aktif kembaliBaris 1080–1085
009Petunjuk membacaBaris 1086–1098
010Status kelengkapanBaris 1099–1127
011Urutan pekerjaanBaris 1128–1180
012Jawaban persiapan bimbinganBaris 1181–1470
013Peta Clark-WilsonBaris 1471–1548
014Peta OWASP Top 10 2025Baris 1549–1632
015Skenario pembuktianBaris 1633–1731
016Arsip Notes TA yang berhasil ditelusuriBaris 1732–1756
017Referensi yang diperiksaBaris 1757–1769
018Hasil pemeriksaan pembaruan iniBaris 1770–1782
019Arsip catatan dan lampiran sebelum pembaruan 17 Oktober 2026Baris 1783–1792
020Indeks sumber dan riwayatBaris 1793–1844
021Lampiran 1: Catatan_Bimbingan_Pak_Fikri_7_Agustus_2026.mdBaris 1845–1852
022Bagian yang Belum Dapat Dijelaskan dengan MantapBaris 1853–1896
023Keputusan Struktur ERD Setelah BimbinganBaris 1897–1908
024Catatan Tambahan Setelah BimbinganBaris 1909–1960
025Transkripsi berurutan seluruh rekamanBaris 1961–3592
026Analisis setelah seluruh rekaman diprosesBaris 3593–3858
027Hasil revisi dan pemeriksaan source 12 Oktober 2026Baris 3859–3880
028Pemeriksaan lanjutan 13 Oktober 2026 setelah Work terhentiBaris 3881–3915
029Koreksi keputusan setelah bimbingan, 13 Oktober 2026: Git untuk pekerjaan TA pribadiBaris 3916–3924
030Alasan DataTables yang harus dipersiapkan untuk bimbinganBaris 3925–3928
031Sumber dan batas pembacaanBaris 3929–3938
032Arsip catatan sementara 9 Oktober sebelum pemrosesan lengkapBaris 3939–3949
033Pekerjaan yang Harus Dilakukan Setelah BimbinganBaris 3950–3958
034Bagian yang Belum Dapat Dijawab dengan Mantap pada Bimbingan 9 Oktober 2026Baris 3959–3965
035Pertanyaan Pak Fikri yang Perlu Dipersiapkan KembaliBaris 3966–3976
036Tindak Lanjut DataTablesBaris 3977–3980
037Koreksi Verifikasi Bimbingan 9 Oktober 2026 (12 Oktober)Baris 3981–3993
038Catatan Pengembangan 14 Oktober 2026 - Evaluasi Kebutuhan FungsionalBaris 3994–4051
039Sumber dan batas kepastianBaris 4052–4063
040Hasil bimbingan secara terperinciBaris 4064–4364
041Hal yang belum dapat dijawab atau dibuktikan dengan mantapBaris 4365–4386
042Daftar arahan dan pekerjaan lanjutanBaris 4387–4424
043Hal yang sudah dijelaskan atau ditanggapi positifBaris 4425–4434
044Rencana pertemuan berikutnyaBaris 4435–4444
045Batas penafsiran yang perlu dipertahankanBaris 4445–4459
046Transkrip kerja berurutan seluruh rekamanBaris 4460–4703
047Bagian yang masih perlu pemeriksaan audio manualBaris 4704–4734
0481. CAPTCHA dan asal penyebutan CloudflareBaris 4735–4808
0492. Halaman 404 dan penanganan kegagalanBaris 4809–4882
0503. Autentikasi dan sesi pegawaiBaris 4883–5015
0514. Log, alert, dan pemblokiran IPBaris 5016–5089
0525. Alur pelanggan dan pemilihan cabangBaris 5090–5256
0536. Alasan Clark-Wilson dan kontrol integritasBaris 5257–5422
0547. Alasan arsitektur dan teknologiBaris 5423–5621
0558. Keamanan aplikasi dan pemetaan OWASPBaris 5622–5722
0569. Pengujian dan bukti untuk bimbinganBaris 5723–5798
05710. Urutan bukti singkat saat bimbinganBaris 5799–5811
05811. Sumber resmi yang diperiksa untuk alasan teknisBaris 5812–5855
059Lampiran 2: Catatan_Bimbingan_Pak_Fikri_7_Agustus_2026(1).mdBaris 5856–5863
060Bagian yang Belum Dapat Dijelaskan dengan MantapBaris 5864–5907
061Keputusan Struktur ERD Setelah BimbinganBaris 5908–5919
062Catatan Tambahan Setelah BimbinganBaris 5920–5971
063Transkripsi berurutan seluruh rekamanBaris 5972–7602
064Analisis setelah seluruh rekaman diprosesBaris 7603–7850
065Hasil revisi dan pemeriksaan source 12 Oktober 2026Baris 7851–7872
066Pemeriksaan lanjutan 13 Oktober 2026 setelah Work terhentiBaris 7873–7907
067Sumber dan batas pembacaanBaris 7908–7917
068Arsip catatan sementara 9 Oktober sebelum pemrosesan lengkapBaris 7918–7928
069Pekerjaan yang Harus Dilakukan Setelah BimbinganBaris 7929–7937
070Bagian yang Belum Dapat Dijawab dengan Mantap pada Bimbingan 9 Oktober 2026Baris 7938–7944
071Pertanyaan Pak Fikri yang Perlu Dipersiapkan KembaliBaris 7945–7955
072Tindak Lanjut DataTablesBaris 7956–7959
073Koreksi Verifikasi Bimbingan 9 Oktober 2026 (12 Oktober)Baris 7960–7972
074Lampiran 3: Catatan_Bimbingan_Pak_Fikri_7_Agustus_2026.md [versi /TA/]Baris 7973–7982
075Bagian yang Belum Dapat Dijelaskan dengan MantapBaris 7983–8026
076Keputusan Struktur ERD Setelah BimbinganBaris 8027–8038
077Catatan Tambahan Setelah BimbinganBaris 8039–8090
078Transkripsi berurutan seluruh rekamanBaris 8091–9721
079Analisis setelah seluruh rekaman diprosesBaris 9722–9981
080Lampiran 4: Catatan_Bimbingan_Pak_Fikri_7_Agustus_2026.md [snapshot lama]Baris 9982–9989
081Bagian yang Belum Dapat Dijelaskan dengan MantapBaris 9990–10033
082Keputusan Struktur ERD Setelah BimbinganBaris 10034–10045
083Catatan Tambahan Setelah BimbinganBaris 10046–10097
084Transkripsi berurutan seluruh rekamanBaris 10098–11729
085Analisis setelah seluruh rekaman diprosesBaris 11730–11995
086Hasil revisi dan pemeriksaan source 12 Oktober 2026Baris 11996–12017
087Pemeriksaan lanjutan 13 Oktober 2026 setelah Work terhentiBaris 12018–12052
088Koreksi keputusan setelah bimbingan, 13 Oktober 2026: Git untuk pekerjaan TA pribadiBaris 12053–12061
089Alasan DataTables yang harus dipersiapkan untuk bimbinganBaris 12062–12065
090Sumber dan batas pembacaanBaris 12066–12075
091Arsip catatan sementara 9 Oktober sebelum pemrosesan lengkapBaris 12076–12086
092Pekerjaan yang Harus Dilakukan Setelah BimbinganBaris 12087–12095
093Bagian yang Belum Dapat Dijawab dengan Mantap pada Bimbingan 9 Oktober 2026Baris 12096–12102
094Pertanyaan Pak Fikri yang Perlu Dipersiapkan KembaliBaris 12103–12113
095Tindak Lanjut DataTablesBaris 12114–12117
096Koreksi Verifikasi Bimbingan 9 Oktober 2026 (12 Oktober)Baris 12118–12130
097Catatan Pengembangan 14 Oktober 2026 - Evaluasi Kebutuhan FungsionalBaris 12131–12184
098Catatan teknis lanjutan 14 Oktober 2026 — URL `/#keranjang` untuk persiapan penjelasan sidangBaris 12185–12201
099Lampiran 6: Combine Panduan Edit ERD.txtBaris 12202–12977
100Lampiran 7: Combine%20Panduan%20Edit%20ERD%20-%20DIRAPIKAN%20-%20FIX%20FINAL.txtBaris 12978–13452
101Lampiran 8: Combine%20Panduan%20Edit%20ERD%20-%20DIRAPIKAN.txtBaris 13453–13930
102Lampiran 9: DEPLOYMENT_CHECKLIST.txtBaris 13931–13962
103Lampiran 10: Interview Rajawali Comp.txtBaris 13963–14119
104Lampiran 11: Manual_UAT_Local_Rajawali_Computer.txtBaris 14120–14312
105Lampiran 12: Panduan Revisi ERD Rajawali Computer.txtBaris 14313–14736
106Lampiran 13: Panduan_Bimbingan_Clark_Wilson_OWASP_Rajawali_15_Oktober_2026.mdBaris 14737–14748
107Blok 1. C1 Pemeriksaan CDI yang sudah tersimpanBaris 14749–14766
108Blok 2. C1 Pemanggilan IVP dari commandBaris 14767–14780
109Blok 3. C2 Pemanggilan perubahan stok, IVP, dan auditBaris 14781–14802
110Blok 4. C2 Persamaan stok dan hargaBaris 14803–14824
111Blok 5. C2 Persamaan pembayaranBaris 14825–14840
112Blok 6. C3 Pengaju dilarang memutuskan pengajuan sendiriBaris 14841–14861
113Blok 7. C4 Penulisan audit CDI dan kegagalan auditBaris 14862–14892
114Blok 8. C4 Perlindungan audit pada PostgreSQLBaris 14893–14913
115Blok 9. C5 Validasi masukan transaksiBaris 14914–14933
116Blok 10. C5 Pemeriksaan ulang sebelum service memakai inputBaris 14934–14951
117Blok 11. E1 Pembatasan hak dan jalur fungsi PostgreSQLBaris 14952–14983
118Blok 12. E1 Trigger penolak perubahan langsungBaris 14984–15005
119Blok 13. E1 Pemanggilan fungsi stok dari aplikasiBaris 15006–15027
120Blok 14. E2 Peta TP, role, CDI, UDI, IVP, dan auditBaris 15028–15046
121Blok 15. E2 Pemakaian relasi dan pemeriksaan penggunaBaris 15047–15074
122Blok 16. E2 Pembatasan cabangBaris 15075–15097
123Blok 17. E3 Pemeriksaan password dan lockoutBaris 15098–15131
124Blok 18. E3 Pembentukan session setelah loginBaris 15132–15153
125Blok 19. E4 Pemisahan nama otoritas certifierBaris 15154–15168
126Blok 20. E4 Batas penerapan pada kewenangan OwnerBaris 15169–15189
127Blok 21. E4 Perubahan role pegawai melalui TP OwnerBaris 15190–15211
128Blok 22. A01 Pemeriksaan identitas session di backendBaris 15212–15239
129Blok 23. A01 Pemeriksaan role di middlewareBaris 15240–15255
130Blok 24. A02 Security headersBaris 15256–15282
131Blok 25. A02 Pendaftaran middlewareBaris 15283–15304
132Blok 26. A03 Instalasi dependency frontend dari lockfileBaris 15305–15319
133Blok 27. A03 Instalasi dependency PHP dari lockfileBaris 15320–15334
134Blok 28. A04 Pemilihan Argon2idBaris 15335–15358
135Blok 29. A04 Pembuatan token pengajuanBaris 15359–15372
136Blok 30. A04 Penyimpanan hash tokenBaris 15373–15387
137Blok 31. A05 Query stok berparameterBaris 15388–15403
138Blok 32. A05 Pilihan filter yang dibatasiBaris 15404–15420
139Blok 33. A06 Harga diambil dari backendBaris 15421–15442
140Blok 34. A07 LockoutBaris 15443–15466
141Blok 35. A07 Rate limit loginBaris 15467–15488
142Blok 36. A07 Pemasangan rate limit pada routeBaris 15489–15503
143Blok 37. A08 Pembuatan signed URLBaris 15504–15523
144Blok 38. A08 Pemeriksaan signed URL pada routeBaris 15524–15540
145Blok 39. A08 Pemeriksaan status, masa berlaku, dan tokenBaris 15541–15563
146Blok 40. A08 Token dinonaktifkan setelah keputusanBaris 15564–15584
147Blok 41. A09 Pencatatan login gagal dan akun terkunciBaris 15585–15602
148Blok 42. A09 Pengiriman peringatan keamananBaris 15603–15629
149Blok 43. A09 Kondisi alert belum dikonfigurasiBaris 15630–15646
150Blok 44. A10 Respons kesalahan yang dibatasiBaris 15647–15663
151Blok 45. A10 Pendaftaran penanganan exceptionBaris 15664–15681
152Blok 46. A10 Pencatatan error dan pemanggilan alertBaris 15682–15706
153Cara menunjukkan satu alur lengkapBaris 15707–15710
154Panduan pembicaraan dan demonstrasi sebelumnyaBaris 15711–15720
1551. Pembukaan yang bisa disampaikanBaris 15721–15733
1562. Persiapan sebelum demonstrasiBaris 15734–15755
1573. Arsitektur yang harus bisa dijelaskanBaris 15756–15786
1584. Jawaban inti tentang Clark-WilsonBaris 15787–15810
1595. Peta C1 sampai C5 dan E1 sampai E4Baris 15811–15846
1606. Contoh utama penjualan normalBaris 15847–15891
1617. Variabel yang harus bisa dijelaskanBaris 15892–15916
1628. Demonstrasi harga khusus dan approvalBaris 15917–15957
1639. Penjelasan Magic Link dan asynchronous approvalBaris 15958–15984
16410. Pembuktian E1 pada databaseBaris 15985–16019
16511. IVP, rollback, dan transaksi bersamaanBaris 16020–16054
16612. Audit log yang harus ditunjukkanBaris 16055–16094
16713. Implementasi OWASP Top 10 2025Baris 16095–16141
16814. Cara memperagakan OWASP dengan bukti nyataBaris 16142–16175
16915. Jawaban login dan lockoutBaris 16176–16209
17016. Jawaban parameter from=onlineBaris 16210–16223
17117. Jawaban guest checkout dan garansiBaris 16224–16271
17218. Jawaban DataTablesBaris 16272–16303
17319. Jawaban pemilihan teknologiBaris 16304–16321
17420. Jawaban GitBaris 16322–16335
17521. Jawaban ERD yang sebelumnya belum mantapBaris 16336–16350
17622. Mutasi stok dan konsistensi lintas databaseBaris 16351–16377
17723. Urutan demonstrasi bimbinganBaris 16378–16401
17824. Bukti Bab V dan Bab VIBaris 16402–16433
17925. Pertanyaan yang perlu disampaikan kepada pembimbingBaris 16434–16445
18026. Pekerjaan yang perlu dilaporkan statusnyaBaris 16446–16468
18127. File yang paling cepat dibuka di VS CodeBaris 16469–16493
18228. Sumber asli dan resmiBaris 16494–16533
18329. Pembaruan arahan Pak Miftah 17 Oktober 2026Baris 16534–16539
184A. Keputusan implementasiBaris 16540–16550
185B. Pembedaan sistem, jawaban sidang, dan batas buktiBaris 16551–16562
186C. Urutan UAT manual — gunakan Chrome normalBaris 16563–16581
187D. Security test case: jalankan TERBATAS di lingkungan pengujian, bukan data produksi riilBaris 16582–16605
188E. Langkah alat pengujian keamanan (setelah UAT fungsional)Baris 16606–16626
189F. Persiapan sidang — contoh latihan perubahan kodeBaris 16627–16632
190G. Tugas yang bukan bisa "otomatis selesai" hanya dengan ZIPBaris 16633–16644
191Lampiran 14: PANDUAN_BIMBINGAN_DAN_SECURITY_TESTING_17OKT2026.mdBaris 16645–16652
192A. Keputusan implementasiBaris 16653–16663
193B. Pembedaan sistem, jawaban sidang, dan batas buktiBaris 16664–16675
194C. Urutan UAT manual — gunakan Chrome normalBaris 16676–16694
195D. Security test case: jalankan TERBATAS di lingkungan pengujian, bukan data produksi riilBaris 16695–16718
196E. Langkah alat pengujian keamanan (setelah UAT fungsional)Baris 16719–16739
197F. Persiapan sidang — contoh latihan perubahan kodeBaris 16740–16745
198G. Tugas yang bukan bisa "otomatis selesai" hanya dengan ZIPBaris 16746–16757
199Lampiran 15: PANDUAN_DEPLOY_RAJAWALI_VPS.txtBaris 16758–16887
200Lampiran 16: PANDUAN_TAHAP_2_DEPLOY_RAJAWALI.txtBaris 16888–16939
201Lampiran 17: PANDUAN_UAT_DAN_SECURITY_TOOLS.mdBaris 16940–16945
202Dasar dan lingkunganBaris 16946–16949
2031. Pra-UAT pengembang, lalu UAT pemilik dan stafBaris 16950–16962
2042. Burp Suite Community, langkah manualBaris 16963–16984
2053. OWASP ZAP yang sudah tersedia di sourceBaris 16985–16990
2064. Alat dan pemeriksaan lainBaris 16991–17005
2075. Tahap dinyatakan lulusBaris 17006–17012
208Lampiran 18: Pasted markdown(1).mdBaris 17013–17039
209Lampiran 19: Pasted markdown.mdBaris 17040–17157
210Lampiran 20: Pasted text(1).txtBaris 17158–17207
211Lampiran 21: Pasted text(10).txtBaris 17208–17533
212Lampiran 22: Pasted text(2).txtBaris 17534–17583
213Lampiran 23: Pasted text(20260923-155546).txtBaris 17584–17806
214Lampiran 24: Pasted text(20260925-094134).txtBaris 17807–18279
215Lampiran 25: Pasted text(20260925-095358).txtBaris 18280–18484
216Lampiran 26: Pasted text(20260925-103227).txtBaris 18485–19117
217Lampiran 27: Pasted text(20260929-154322).txtBaris 19118–19281
218Lampiran 28: Pasted text(20261002-080622).txtBaris 19282–19519
219Lampiran 29: Pasted text(20261017-063546).txtBaris 19520–19940
220Lampiran 30: Pasted text(3).txtBaris 19941–19975
221Lampiran 31: Pasted text(4).txtBaris 19976–20677
222Lampiran 32: Pasted text(5).txtBaris 20678–20945
223Lampiran 33: Pasted text(6).txtBaris 20946–21273
224Lampiran 34: Pasted text(7).txtBaris 21274–21972
225Lampiran 35: Pasted text(8).txtBaris 21973–22219
226Lampiran 36: Pasted text(9).txtBaris 22220–22652
227Lampiran 37: Pasted text.txtBaris 22653–22691
228Lampiran 38: RENCANA_CABANG_BARU_MANDIRI.mdBaris 22692–22697
229Status saat iniBaris 22698–22701
230Target fungsional yang belum diterapkanBaris 22702–22705
231Arsitektur aman yang diperlukanBaris 22706–22715
232Skenario UAT sebelum klaim selesaiBaris 22716–22728
233Lampiran 39: STATUS_FUNGSI_DAN_PEKERJAAN_14_OKT_2026.mdBaris 22729–22734
234Batas laporanBaris 22735–22738
235Fungsional menurut sourceBaris 22739–22757
236Bukti yang sudah diperoleh dari VPS (berdasarkan output yang dibagikan)Baris 22758–22765
237Perbedaan jenis pengujianBaris 22766–22772
238Urutan pekerjaan yang tidak perlu mengulang deploymentBaris 22773–22787
239Lampiran 40: PANDUAN_FITUR_PENGATURAN_PEMBAYARAN.mdBaris 22788–22793
240Hasil perubahan source 14 Oktober 2026Baris 22794–22804
241Migrasi yang diperlukan pada setiap lingkunganBaris 22805–22815
242UAT minimal sebelum produksiBaris 22816–22824
243Status implementasiBaris 22825–22828
244Sisa persyaratan release produksiBaris 22829–22832
245Penambahan hasil audit lanjutan 14 OktoberBaris 22833–22844
246Lampiran 41: PANDUAN_LENGKAP_BIMBINGAN_17OKT2026.mdBaris 22845–22852
247A. Keputusan implementasiBaris 22853–22863
248B. Pembedaan sistem, jawaban sidang, dan batas buktiBaris 22864–22875
249C. Urutan UAT manual — gunakan Chrome normalBaris 22876–22894
250D. Security test case: jalankan TERBATAS di lingkungan pengujian, bukan data produksi riilBaris 22895–22918
251E. Langkah alat pengujian keamanan (setelah UAT fungsional)Baris 22919–22939
252F. Persiapan sidang — contoh latihan perubahan kodeBaris 22940–22945
253G. Tugas yang bukan bisa "otomatis selesai" hanya dengan ZIPBaris 22946–22956
254Koreksi pengguna 17 Oktober 2026 setelah Persiapan Pembuktian TABaris 22957–22986
255Pembaruan implementasi dari ZIP source VPS aktual, 17 Oktober 2026Baris 22987–23004
256Tambahan 19 Oktober 2026: Bukti checkout gabungan, validasi alamat, dan pengujian keamananBaris 23005–23062
257Koreksi Validasi Alamat Tanpa Biaya dan Pembuktian Sidang, 19 Oktober 2026Baris 23063–23085
258Tambahan UAT 19 Oktober 2026 – Nama Penerima dan Validasi AlamatBARU · Baris 23086–23099
259Tambahan 20 Oktober 2026: checkout gabungan, pembagian tugas, dan dampak ERDBARU · Baris 23100–23134
Teks asli catatan versi 28 utuh

Teks ini mempertahankan isi file sumber, termasuk penjelasan yang kemudian dikoreksi oleh percakapan terbaru. Penanda koreksi pada tampilan bacaan tidak mengubah teks asli.

Bukti kelengkapan penggabungan
Isi catatan versi 2823.134 baris dan 1.468.975 byte UTF-8
SHA-256 catatan lengkap8af92bf142d59b463b928028140743bd7c47cb3ded8be8ed005d21729ba7ba19
Isi sebelumnyaSeluruh teks catatan versi 26 berada pada awal versi 28. Tidak ada baris catatan lama yang hilang.
Indeks kode lamaSeluruh 459 berkas kode, 2.770 tombol rujukan, 16 latihan dan 37 tanya jawab dipertahankan.
Batas sumber chatKoreksi baru di atas menggunakan ringkasan penelusuran dan isi paket. Transkrip penuh seluruh chat Project TA belum tersedia.
Lima lampiran belum tersedia untuk dibaca

Kelima lampiran berikut belum dapat dibaca dari kiriman terbaru. Unggah ulang agar isi aslinya dapat diperiksa. Penggabungan ini memakai catatan versi 28 dan sumber lain yang tersedia.

  • ERD Besar MySQL - 3.mwb
  • Week 2 Distributed Computing Security Model.pptx
  • Week 12 Cloud Security dan Incident response.pptx
  • Week 4 Distributed Computing Security Model.pptx
  • 2026-09-03 14-23-32.mp3

15 · Command proyek menurut fungsi

Katalog memuat 170 entri unik dalam 18 kelompok fungsi dengan 394 kemunculan sumber. Seluruh 146 entri lama dipertahankan. Sebanyak 24 entri tambahan berasal dari teks asli script pada 12 paket revisi.

Cakupan dan arti penanda

Catatan versi 28, 19 lampiran teks yang sudah tersimpan, serta script pada 12 paket revisi diperiksa. Tujuh hasil penelusuran chat tersimpan sebagai sumber. Hasil tersebut berupa potongan atau ringkasan, sehingga seluruh command yang hanya ada pada pesan yang belum terambil belum dapat diverifikasi.

Entri lama berisi input terminal, panduan dan potongan command. Tambahan script mempertahankan bentuk Python aslinya. Command yang dicetak installer juga diberi penanda. Keberadaan command dalam script tidak berarti command telah dijalankan pengguna atau berhasil pada VPS.

170 entri katalog24 tambahan dari script18 fungsi394 kemunculan sumber

ZIP, patch, verifikasi hash dan pemasangan 8 entri

APPLY_LOGIN_AND_ENDUSER_FINAL.cmd10 kemunculan

Membaca, menyiapkan atau memeriksa berkas patch dan artefak source yang disebutkan.

Tercatat sebagai input terminal

Pemeriksaan atau rujukan, tinjau isi skrip
APPLY_LOGIN_AND_ENDUSER_FINAL.cmd

Asal dan konteks

  • Catatan induk lengkap · Panduan pengujian fungsional dan keamanan Rajawali Computer / Lampiran 36: Pasted text(9).txt
  • Catatan induk lengkap · Panduan pengujian fungsional dan keamanan Rajawali Computer / Lampiran 36: Pasted text(9).txt
  • Catatan induk lengkap · Panduan pengujian fungsional dan keamanan Rajawali Computer / Lampiran 36: Pasted text(9).txt
  • Catatan induk lengkap · Panduan pengujian fungsional dan keamanan Rajawali Computer / Lampiran 36: Pasted text(9).txt
  • Catatan induk lengkap · Panduan pengujian fungsional dan keamanan Rajawali Computer / Lampiran 36: Pasted text(9).txt
  • Lampiran teks lengkap
  • Lampiran teks lengkap
  • Lampiran teks lengkap
  • Lampiran teks lengkap
  • Lampiran teks lengkap
APPLY_LOGIN_SESSION_REAL_FIX_V7.cmd2 kemunculan

Membaca, menyiapkan atau memeriksa berkas patch dan artefak source yang disebutkan.

Tercatat sebagai input terminal

Pemeriksaan atau rujukan, tinjau isi skrip
APPLY_LOGIN_SESSION_REAL_FIX_V7.cmd

Asal dan konteks

  • Catatan induk lengkap · Panduan pengujian fungsional dan keamanan Rajawali Computer / Lampiran 35: Pasted text(8).txt
  • Lampiran teks lengkap
ls -lh /LOKASI_SEBENARNYA/rajawali_13OCT_TAHAP2_CLOUDPANEL_DOCKER.zip1 kemunculan

Membaca, menyiapkan atau memeriksa berkas patch dan artefak source yang disebutkan.

Ditulis sebagai blok panduan atau SQL

Ada placeholder atau potonganPemeriksaan atau rujukan, tinjau isi skrip
ls -lh /LOKASI_SEBENARNYA/rajawali_13OCT_TAHAP2_CLOUDPANEL_DOCKER.zip

Asal dan konteks

  • Catatan induk lengkap · Tahap 2 — Persiapan deployment Rajawali melalui CloudPanel + Docker / Contoh perintah pengecekan setelah ZIP berada di VPS
python3 - <<'PY' · 15 baris2 kemunculan

Membandingkan isi source lokal dengan manifest patch dan menampilkan berkas yang berbeda. Blok ini membaca berkas, bukan menjalankan INSTALL_ALL.py.

Ditulis sebagai blok panduan atau SQL

Ada placeholder atau potonganPemeriksaan atau rujukan, tinjau isi skripTerikat path atau rilis historis
python3 - <<'PY'
from pathlib import Path
from zipfile import ZipFile
from hashlib import sha256
import json
root = Path.cwd()
archive = ZipFile("Rajawali_PATCH_REVISI_FITUR_SAJA_17Okt2026_KOREKSI.zip")
manifest = json.loads(archive.read("FILE_VERIFICATION.json"))["files"]
names = ["resources/js/AuthApp.tsx"] + list(manifest)
files = [(name, (root / name).read_bytes()) for name in names if (root / name).is_file()]
different = [(name, data) for name, data in files if name == "resources/js/AuthApp.tsx" or sha256(data).hexdigest() not in manifest[name]["before"] + [manifest[name]["after"]]]
[print("\nFILE " + name + "\nSHA256 " + sha256(data).hexdigest() + "\n" + data.decode("utf-8")) for name, data in different]
[print("FILE TIDAK ADA " + name) for name in names if not (root / name).is_file() and not manifest.get(name, {}).get("allow_missing", False)]
print("PEMERIKSAAN_SELESAI_TANPA_PERUBAHAN")
PY

Asal dan konteks

  • Catatan induk lengkap · Catatan TA Rajawali Computer / Installer berhenti pada pemeriksaan AuthApp VPS 17 Oktober 2026
  • Lampiran teks lengkap
python3 - <<'PY' · 4 baris2 kemunculan

Membaca installer dari ZIP dan menjalankan proses pemasangan patch yang disebutkan. Nama ZIP dan hash acuannya terikat pada versi historis.

Dikirim pengguna bersama hasil terminal

Ada placeholder atau potonganMengubah keadaan sistemTerikat path atau rilis historis

Percobaan historis pada chat ini menghasilkan FITUR_LOGIN_BELUM_LENGKAP dan SOURCE_PERLU_DICOCOKKAN. Nama ZIP yang sama pernah dipakai pada revisi isi berbeda. Entri ini tidak menetapkan ZIP tersebut sebagai rilis aktif.

python3 - <<'PY'
from zipfile import ZipFile
exec(compile(ZipFile("Rajawali_PATCH_REVISI_FITUR_SAJA_17Okt2026_KOREKSI.zip").read("INSTALL_ALL.py"), "INSTALL_ALL.py", "exec"))
PY

Asal dan konteks

  • Catatan induk lengkap · Pemeriksaan arahan bimbingan terbaru dan revisi lanjutan 17 Oktober 2026 / Jawaban dan langkah berikutnya
  • Command dan hasil pengguna pada chat ini · Command dan hasil terminal yang dikirim pengguna pada chat ini / Installer patch koreksi yang pernah gagal
sudo mv 'LOKASI_ZIP/rajawali_13OCT_DEPLOY_SIAP_TRANSFER.zip' /opt/rajawali/1 kemunculan

Membaca, menyiapkan atau memeriksa berkas patch dan artefak source yang disebutkan.

Ditulis sebagai blok panduan atau SQL

Ada placeholder atau potonganPemeriksaan atau rujukan, tinjau isi skripTerikat path atau rilis historis
sudo mv 'LOKASI_ZIP/rajawali_13OCT_DEPLOY_SIAP_TRANSFER.zip' /opt/rajawali/

Asal dan konteks

  • Catatan induk lengkap · Panduan Praktis Deployment Rajawali Computer — 13 Oktober 2026 / Tahap A — unggah source (drag-and-drop)
sudo rm -f rajawali_13OCT_DEPLOY_SIAP_TRANSFER.zip1 kemunculan

Membaca, menyiapkan atau memeriksa berkas patch dan artefak source yang disebutkan.

Ditulis sebagai blok panduan atau SQL

Pemeriksaan atau rujukan, tinjau isi skrip
sudo rm -f rajawali_13OCT_DEPLOY_SIAP_TRANSFER.zip

Asal dan konteks

  • Catatan induk lengkap · Panduan Praktis Deployment Rajawali Computer — 13 Oktober 2026 / Tahap A — unggah source (drag-and-drop)
sudo unzip -oq rajawali_13OCT_DEPLOY_SIAP_TRANSFER.zip1 kemunculan

Membaca, menyiapkan atau memeriksa berkas patch dan artefak source yang disebutkan.

Ditulis sebagai blok panduan atau SQL

Pemeriksaan atau rujukan, tinjau isi skrip
sudo unzip -oq rajawali_13OCT_DEPLOY_SIAP_TRANSFER.zip

Asal dan konteks

  • Catatan induk lengkap · Panduan Praktis Deployment Rajawali Computer — 13 Oktober 2026 / Tahap A — unggah source (drag-and-drop)

Preflight, readiness, healthcheck dan smoke 22 entri

compose('ps','-q',name,quiet=True)BARU · 1 kemunculan

Membaca ID container atau keadaan healthcheck layanan. Variabel container dan service ditentukan oleh script asal.

Tertulis dalam script paket, eksekusi VPS belum dibuktikan

Python asli dalam installer, bukan Bash mandiriTidak ada hasil eksekusi VPS pada arsip script

Tambahan dari script paket revisi. Variabel dan fungsi Python dibaca pada sumber lengkap. Eksekusinya pada VPS belum dibuktikan oleh arsip ini.

compose('ps','-q',name,quiet=True)

Asal dan konteks

  • Script asli dalam paket revisi · Rajawali_PATCH_UAT_PENERIMA_ALAMAT_EMAIL_19Okt2026.zip / RUN_PATCH.py
compose('ps','-q',service,quiet=True)BARU · 11 kemunculan

Membaca ID container atau keadaan healthcheck layanan. Variabel container dan service ditentukan oleh script asal.

Tertulis dalam script paket, eksekusi VPS belum dibuktikan

Python asli dalam installer, bukan Bash mandiriTidak ada hasil eksekusi VPS pada arsip script

Tambahan dari script paket revisi. Variabel dan fungsi Python dibaca pada sumber lengkap. Eksekusinya pada VPS belum dibuktikan oleh arsip ini.

compose('ps','-q',service,quiet=True)

Asal dan konteks

  • Script asli dalam paket revisi · Rajawali_PATCH_ADMIN_AUDIT_LOG_TANPA_TABEL_BARU_20Okt2026.zip / RUN_PATCH.py
  • Script asli dalam paket revisi · Rajawali_PATCH_ADMIN_ONLINE_CONTROLLER_KOMPATIBEL_20Okt2026.zip / RUN_PATCH.py
  • Script asli dalam paket revisi · Rajawali_PATCH_ADMIN_ONLINE_ROUTE_KOMPATIBEL_20Okt2026.zip / RUN_PATCH.py
  • Script asli dalam paket revisi · Rajawali_PATCH_BULK_FUNGSIONAL_20Okt2026.zip / RUN_PATCH.py
  • Script asli dalam paket revisi · Rajawali_PATCH_CHECKOUT_PELANGGAN_DAN_PENGIRIMAN_OTOMATIS_20Okt2026.zip / RUN_PATCH.py
  • Script asli dalam paket revisi · Rajawali_PATCH_KONSOLIDASI_ADMIN_AUDIT_BERDASARKAN_VPS_20Okt2026.zip / RUN_PATCH.py
  • Script asli dalam paket revisi · Rajawali_PATCH_PERBAIKAN_UX_TANPA_DUMMY_PRODUKSI_20Okt2026.zip / RUN_PATCH.py
  • Script asli dalam paket revisi · Rajawali_PATCH_SIMULASI_UAT_OWNER_TANPA_TOGGLE_20Okt2026.zip / RUN_PATCH.py
  • Script asli dalam paket revisi · Rajawali_PATCH_TANPA_SIMULASI_DB_DAN_SATU_PAKET_20Okt2026.zip / RUN_PATCH.py
  • Script asli dalam paket revisi · Rajawali_PATCH_UAT_EMAIL_POPUP_WILAYAH_ALAMAT_19Okt2026.zip / RUN_PATCH.py
  • Script asli dalam paket revisi · Rajawali_PATCH_UAT_TRANSAKSI_DATABASE_YANG_ADA_20Okt2026.zip / RUN_PATCH.py
curl -i -H 'Host: rajawali.famataraytilo.cloud' http://127.0.0.1:18080/health/live2 kemunculan

Membaca status hidup atau kesiapan layanan dari sisi aplikasi atau container.

Ditulis sebagai blok panduan atau SQL

Pemeriksaan atau rujukan, tinjau isi skrip
curl -i -H 'Host: rajawali.famataraytilo.cloud' http://127.0.0.1:18080/health/live

Asal dan konteks

  • Catatan induk lengkap · Panduan Praktis Deployment Rajawali Computer — 13 Oktober 2026 / Tahap E — build dan jalankan Laravel di VPS
  • Ringkasan penelusuran chat
docker compose --env-file .env.production -f compose.production.yml run --rm --no-deps app_samanhudi php artisan rajawali:preflight --producti…1 kemunculan

Memeriksa kesiapan aplikasi dan konfigurasi produksi. Flag strict memengaruhi penilaian pemeriksaan sesuai versi command.

Kutipan ringkas dari penelusuran, bukan transkrip lengkap

Pemeriksaan atau rujukan, tinjau isi skrip
docker compose --env-file .env.production -f compose.production.yml run --rm --no-deps app_samanhudi php artisan rajawali:preflight --production --strict --no-interaction

Asal dan konteks

  • Ringkasan penelusuran chat
docker compose ... run --rm --no-deps app_samanhudi php artisan rajawali:preflight --production --strict --no-interaction1 kemunculan

Memeriksa kesiapan aplikasi dan konfigurasi produksi. Flag strict memengaruhi penilaian pemeriksaan sesuai versi command.

Kutipan ringkas dari penelusuran, bukan transkrip lengkap

Ada placeholder atau potonganPemeriksaan atau rujukan, tinjau isi skrip
docker compose ... run --rm --no-deps app_samanhudi php artisan rajawali:preflight --production --strict --no-interaction

Asal dan konteks

  • Ringkasan penelusuran chat
docker exec rajawali-computer-app_peganden-1 php artisan rajawali:preflight --production --strict --no-interaction1 kemunculan

Memeriksa kesiapan aplikasi dan konfigurasi produksi. Flag strict memengaruhi penilaian pemeriksaan sesuai versi command.

Dikirim pengguna bersama hasil terminal

Pemeriksaan atau rujukan, tinjau isi skrip

Pengguna mengirim hasil INFO dan WARN kedua cabang pada chat ini. Exit code tidak ditampilkan. Hasil preflight saat itu tetap terpisah dari UAT oleh pengguna.

docker exec rajawali-computer-app_peganden-1 php artisan rajawali:preflight --production --strict --no-interaction

Asal dan konteks

  • Command dan hasil pengguna pada chat ini · Command dan hasil terminal yang dikirim pengguna pada chat ini / Preflight dua cabang
docker exec rajawali-computer-app_samanhudi-1 php artisan rajawali:preflight --production --strict --no-interaction2 kemunculan

Memeriksa kesiapan aplikasi dan konfigurasi produksi. Flag strict memengaruhi penilaian pemeriksaan sesuai versi command.

Tercatat sebagai input terminal

Pemeriksaan atau rujukan, tinjau isi skrip

Pengguna mengirim hasil INFO dan WARN kedua cabang pada chat ini. Exit code tidak ditampilkan. Hasil preflight saat itu tetap terpisah dari UAT oleh pengguna.

docker exec rajawali-computer-app_samanhudi-1 php artisan rajawali:preflight --production --strict --no-interaction

Asal dan konteks

  • Ringkasan penelusuran chat
  • Command dan hasil pengguna pada chat ini · Command dan hasil terminal yang dikirim pengguna pada chat ini / Preflight dua cabang
invoke(['curl','-sS','-o','/dev/null','--connect-timeout','5','--max-time','20', · 2 barisBARU · 1 kemunculan

Memeriksa status HTTP pada daftar path dalam installer. Status yang diharapkan mengikuti rilis asal, termasuk perbedaan perilaku URL query pada revisi terbaru.

Tertulis dalam script paket, eksekusi VPS belum dibuktikan

Python asli dalam installer, bukan Bash mandiriTidak ada hasil eksekusi VPS pada arsip script

Tambahan dari script paket revisi. Variabel dan fungsi Python dibaca pada sumber lengkap. Eksekusinya pada VPS belum dibuktikan oleh arsip ini.

invoke(['curl','-sS','-o','/dev/null','--connect-timeout','5','--max-time','20',
                       '-w','%{http_code}','https://rajawali.famataraytilo.cloud'+path],quiet=True)

Asal dan konteks

  • Script asli dalam paket revisi · Rajawali_PATCH_UAT_PENERIMA_ALAMAT_EMAIL_19Okt2026.zip / RUN_PATCH.py
invoke(['docker','inspect','-f', · 2 barisBARU · 1 kemunculan

Membaca ID container atau keadaan healthcheck layanan. Variabel container dan service ditentukan oleh script asal.

Tertulis dalam script paket, eksekusi VPS belum dibuktikan

Python asli dalam installer, bukan Bash mandiriTidak ada hasil eksekusi VPS pada arsip script

Tambahan dari script paket revisi. Variabel dan fungsi Python dibaca pada sumber lengkap. Eksekusinya pada VPS belum dibuktikan oleh arsip ini.

invoke(['docker','inspect','-f',
                  '{{if .State.Health}}{{.State.Health.Status}}{{else}}{{.State.Status}}{{end}}',container],quiet=True)

Asal dan konteks

  • Script asli dalam paket revisi · Rajawali_PATCH_UAT_PENERIMA_ALAMAT_EMAIL_19Okt2026.zip / RUN_PATCH.py
ops/deploy/preflight.sh .env.production2 kemunculan

Membaca status hidup atau kesiapan layanan dari sisi aplikasi atau container.

Rujukan tertulis, eksekusi tidak disimpulkan

Pemeriksaan atau rujukan, tinjau isi skrip
ops/deploy/preflight.sh .env.production

Asal dan konteks

  • Catatan induk lengkap · Rajawali Computer Production Deployment Checklist
  • Ringkasan penelusuran chat
ops/deploy/smoke.sh https://<host>2 kemunculan

Memeriksa jalur teknis utama setelah aplikasi berjalan. Bukan keputusan penerimaan oleh end user.

Rujukan tertulis, eksekusi tidak disimpulkan

Ada placeholder atau potonganPemeriksaan atau rujukan, tinjau isi skrip
ops/deploy/smoke.sh https://<host>

Asal dan konteks

  • Catatan induk lengkap · Rajawali Computer Production Deployment Checklist
  • Ringkasan penelusuran chat
php artisan rajawali:preflight --production2 kemunculan

Memeriksa kesiapan aplikasi dan konfigurasi produksi. Flag strict memengaruhi penilaian pemeriksaan sesuai versi command.

Tercatat sebagai input terminal

Pemeriksaan atau rujukan, tinjau isi skrip
php artisan rajawali:preflight --production

Asal dan konteks

  • Catatan induk lengkap · Panduan pengujian fungsional dan keamanan Rajawali Computer / Lampiran 28: Pasted text(20261002-080622).txt
  • Ringkasan penelusuran chat
php artisan rajawali:preflight --strict2 kemunculan

Memeriksa kesiapan aplikasi dan konfigurasi produksi. Flag strict memengaruhi penilaian pemeriksaan sesuai versi command.

Rujukan tertulis, eksekusi tidak disimpulkan

Pemeriksaan atau rujukan, tinjau isi skrip
php artisan rajawali:preflight --strict

Asal dan konteks

  • Catatan induk lengkap · Rajawali Computer Production Deployment Checklist
  • Ringkasan penelusuran chat
php artisan rajawali:smoke3 kemunculan

Memeriksa jalur teknis utama setelah aplikasi berjalan. Bukan keputusan penerimaan oleh end user.

Rujukan tertulis, eksekusi tidak disimpulkan

Pemeriksaan atau rujukan, tinjau isi skrip
php artisan rajawali:smoke

Asal dan konteks

  • Catatan induk lengkap · Rajawali Computer Production Deployment Checklist
  • Ringkasan penelusuran chat
  • Ringkasan penelusuran chat
rajawali:preflight2 kemunculan

Memeriksa kesiapan aplikasi dan konfigurasi produksi. Flag strict memengaruhi penilaian pemeriksaan sesuai versi command.

Kutipan ringkas dari penelusuran, bukan transkrip lengkap

Nama alat atau potongan tanpa argumen lengkapAda placeholder atau potonganPemeriksaan atau rujukan, tinjau isi skrip
rajawali:preflight

Asal dan konteks

  • Ringkasan penelusuran chat
  • Ringkasan penelusuran chat
rajawali:preflight --production --strict1 kemunculan

Memeriksa kesiapan aplikasi dan konfigurasi produksi. Flag strict memengaruhi penilaian pemeriksaan sesuai versi command.

Rujukan tertulis, eksekusi tidak disimpulkan

Nama alat atau potongan tanpa argumen lengkapAda placeholder atau potonganPemeriksaan atau rujukan, tinjau isi skrip
rajawali:preflight --production --strict

Asal dan konteks

  • Catatan induk lengkap · Panduan pengujian fungsional dan keamanan Rajawali Computer / 5. Tahap dinyatakan lulus
rajawali:security-check1 kemunculan

Memeriksa konfigurasi keamanan, registry integritas dan batas persediaan sesuai implementasi command.

Kutipan ringkas dari penelusuran, bukan transkrip lengkap

Nama alat atau potongan tanpa argumen lengkapAda placeholder atau potonganPemeriksaan atau rujukan, tinjau isi skrip
rajawali:security-check

Asal dan konteks

  • Ringkasan penelusuran chat
rajawali:smoke2 kemunculan

Memeriksa jalur teknis utama setelah aplikasi berjalan. Bukan keputusan penerimaan oleh end user.

Kutipan ringkas dari penelusuran, bukan transkrip lengkap

Nama alat atau potongan tanpa argumen lengkapAda placeholder atau potonganPemeriksaan atau rujukan, tinjau isi skrip
rajawali:smoke

Asal dan konteks

  • Ringkasan penelusuran chat
  • Ringkasan penelusuran chat
run(['curl','-sS','-o','/dev/null','--connect-timeout','5','--max-time','15', · 2 barisBARU · 11 kemunculan

Memeriksa status HTTP pada daftar path dalam installer. Status yang diharapkan mengikuti rilis asal, termasuk perbedaan perilaku URL query pada revisi terbaru.

Tertulis dalam script paket, eksekusi VPS belum dibuktikan

Python asli dalam installer, bukan Bash mandiriTidak ada hasil eksekusi VPS pada arsip script

Tambahan dari script paket revisi. Variabel dan fungsi Python dibaca pada sumber lengkap. Eksekusinya pada VPS belum dibuktikan oleh arsip ini.

run(['curl','-sS','-o','/dev/null','--connect-timeout','5','--max-time','15',
                    '-w','%{http_code}','https://rajawali.famataraytilo.cloud'+path],quiet=True)

Asal dan konteks

  • Script asli dalam paket revisi · Rajawali_PATCH_ADMIN_AUDIT_LOG_TANPA_TABEL_BARU_20Okt2026.zip / RUN_PATCH.py
  • Script asli dalam paket revisi · Rajawali_PATCH_ADMIN_ONLINE_CONTROLLER_KOMPATIBEL_20Okt2026.zip / RUN_PATCH.py
  • Script asli dalam paket revisi · Rajawali_PATCH_ADMIN_ONLINE_ROUTE_KOMPATIBEL_20Okt2026.zip / RUN_PATCH.py
  • Script asli dalam paket revisi · Rajawali_PATCH_BULK_FUNGSIONAL_20Okt2026.zip / RUN_PATCH.py
  • Script asli dalam paket revisi · Rajawali_PATCH_CHECKOUT_PELANGGAN_DAN_PENGIRIMAN_OTOMATIS_20Okt2026.zip / RUN_PATCH.py
  • Script asli dalam paket revisi · Rajawali_PATCH_KONSOLIDASI_ADMIN_AUDIT_BERDASARKAN_VPS_20Okt2026.zip / RUN_PATCH.py
  • Script asli dalam paket revisi · Rajawali_PATCH_PERBAIKAN_UX_TANPA_DUMMY_PRODUKSI_20Okt2026.zip / RUN_PATCH.py
  • Script asli dalam paket revisi · Rajawali_PATCH_SIMULASI_UAT_OWNER_TANPA_TOGGLE_20Okt2026.zip / RUN_PATCH.py
  • Script asli dalam paket revisi · Rajawali_PATCH_TANPA_SIMULASI_DB_DAN_SATU_PAKET_20Okt2026.zip / RUN_PATCH.py
  • Script asli dalam paket revisi · Rajawali_PATCH_UAT_EMAIL_POPUP_WILAYAH_ALAMAT_19Okt2026.zip / RUN_PATCH.py
  • Script asli dalam paket revisi · Rajawali_PATCH_UAT_TRANSAKSI_DATABASE_YANG_ADA_20Okt2026.zip / RUN_PATCH.py
run(['docker','inspect','-f','{{if .State.Health}}{{.State.Health.Status}}{{else}}{{.State.Status}}{{end}}',container],quiet=True)BARU · 11 kemunculan

Membaca ID container atau keadaan healthcheck layanan. Variabel container dan service ditentukan oleh script asal.

Tertulis dalam script paket, eksekusi VPS belum dibuktikan

Python asli dalam installer, bukan Bash mandiriTidak ada hasil eksekusi VPS pada arsip script

Tambahan dari script paket revisi. Variabel dan fungsi Python dibaca pada sumber lengkap. Eksekusinya pada VPS belum dibuktikan oleh arsip ini.

run(['docker','inspect','-f','{{if .State.Health}}{{.State.Health.Status}}{{else}}{{.State.Status}}{{end}}',container],quiet=True)

Asal dan konteks

  • Script asli dalam paket revisi · Rajawali_PATCH_ADMIN_AUDIT_LOG_TANPA_TABEL_BARU_20Okt2026.zip / RUN_PATCH.py
  • Script asli dalam paket revisi · Rajawali_PATCH_ADMIN_ONLINE_CONTROLLER_KOMPATIBEL_20Okt2026.zip / RUN_PATCH.py
  • Script asli dalam paket revisi · Rajawali_PATCH_ADMIN_ONLINE_ROUTE_KOMPATIBEL_20Okt2026.zip / RUN_PATCH.py
  • Script asli dalam paket revisi · Rajawali_PATCH_BULK_FUNGSIONAL_20Okt2026.zip / RUN_PATCH.py
  • Script asli dalam paket revisi · Rajawali_PATCH_CHECKOUT_PELANGGAN_DAN_PENGIRIMAN_OTOMATIS_20Okt2026.zip / RUN_PATCH.py
  • Script asli dalam paket revisi · Rajawali_PATCH_KONSOLIDASI_ADMIN_AUDIT_BERDASARKAN_VPS_20Okt2026.zip / RUN_PATCH.py
  • Script asli dalam paket revisi · Rajawali_PATCH_PERBAIKAN_UX_TANPA_DUMMY_PRODUKSI_20Okt2026.zip / RUN_PATCH.py
  • Script asli dalam paket revisi · Rajawali_PATCH_SIMULASI_UAT_OWNER_TANPA_TOGGLE_20Okt2026.zip / RUN_PATCH.py
  • Script asli dalam paket revisi · Rajawali_PATCH_TANPA_SIMULASI_DB_DAN_SATU_PAKET_20Okt2026.zip / RUN_PATCH.py
  • Script asli dalam paket revisi · Rajawali_PATCH_UAT_EMAIL_POPUP_WILAYAH_ALAMAT_19Okt2026.zip / RUN_PATCH.py
  • Script asli dalam paket revisi · Rajawali_PATCH_UAT_TRANSAKSI_DATABASE_YANG_ADA_20Okt2026.zip / RUN_PATCH.py
subprocess.run(['php','-l',temp_path],capture_output=True)BARU · 11 kemunculan

Memeriksa syntax PHP pada berkas sementara sebelum installer menerapkan revisi. Hasil pemeriksaan belum merupakan UAT pengguna.

Tertulis dalam script paket, eksekusi VPS belum dibuktikan

Python asli dalam installer, bukan Bash mandiriTidak ada hasil eksekusi VPS pada arsip script

Tambahan dari script paket revisi. Variabel dan fungsi Python dibaca pada sumber lengkap. Eksekusinya pada VPS belum dibuktikan oleh arsip ini.

subprocess.run(['php','-l',temp_path],capture_output=True)

Asal dan konteks

  • Script asli dalam paket revisi · Rajawali_PATCH_ADMIN_AUDIT_LOG_TANPA_TABEL_BARU_20Okt2026.zip / RUN_PATCH.py
  • Script asli dalam paket revisi · Rajawali_PATCH_ADMIN_ONLINE_CONTROLLER_KOMPATIBEL_20Okt2026.zip / RUN_PATCH.py
  • Script asli dalam paket revisi · Rajawali_PATCH_ADMIN_ONLINE_ROUTE_KOMPATIBEL_20Okt2026.zip / RUN_PATCH.py
  • Script asli dalam paket revisi · Rajawali_PATCH_BULK_FUNGSIONAL_20Okt2026.zip / RUN_PATCH.py
  • Script asli dalam paket revisi · Rajawali_PATCH_CHECKOUT_PELANGGAN_DAN_PENGIRIMAN_OTOMATIS_20Okt2026.zip / RUN_PATCH.py
  • Script asli dalam paket revisi · Rajawali_PATCH_KONSOLIDASI_ADMIN_AUDIT_BERDASARKAN_VPS_20Okt2026.zip / RUN_PATCH.py
  • Script asli dalam paket revisi · Rajawali_PATCH_PERBAIKAN_UX_TANPA_DUMMY_PRODUKSI_20Okt2026.zip / RUN_PATCH.py
  • Script asli dalam paket revisi · Rajawali_PATCH_SIMULASI_UAT_OWNER_TANPA_TOGGLE_20Okt2026.zip / RUN_PATCH.py
  • Script asli dalam paket revisi · Rajawali_PATCH_TANPA_SIMULASI_DB_DAN_SATU_PAKET_20Okt2026.zip / RUN_PATCH.py
  • Script asli dalam paket revisi · Rajawali_PATCH_UAT_EMAIL_POPUP_WILAYAH_ALAMAT_19Okt2026.zip / RUN_PATCH.py
  • Script asli dalam paket revisi · Rajawali_PATCH_UAT_TRANSAKSI_DATABASE_YANG_ADA_20Okt2026.zip / RUN_PATCH.py
subprocess.run(['php','-l',tmp],capture_output=True)BARU · 1 kemunculan

Memeriksa syntax PHP pada berkas sementara sebelum installer menerapkan revisi. Hasil pemeriksaan belum merupakan UAT pengguna.

Tertulis dalam script paket, eksekusi VPS belum dibuktikan

Python asli dalam installer, bukan Bash mandiriTidak ada hasil eksekusi VPS pada arsip script

Tambahan dari script paket revisi. Variabel dan fungsi Python dibaca pada sumber lengkap. Eksekusinya pada VPS belum dibuktikan oleh arsip ini.

subprocess.run(['php','-l',tmp],capture_output=True)

Asal dan konteks

  • Script asli dalam paket revisi · Rajawali_PATCH_UAT_PENERIMA_ALAMAT_EMAIL_19Okt2026.zip / RUN_PATCH.py

Backup dan ekspor database 4 entri

ops/backup/backup-postgres.sh2 kemunculan

Membuat atau memeriksa salinan database sesuai alat dan tujuan yang disebutkan.

Rujukan tertulis, eksekusi tidak disimpulkan

Pemeriksaan atau rujukan, tinjau isi skrip
ops/backup/backup-postgres.sh

Asal dan konteks

  • Catatan induk lengkap · Rajawali Computer Production Deployment Checklist
  • Ringkasan penelusuran chat
ops/backup/verify-postgres-backup.sh2 kemunculan

Membuat atau memeriksa salinan database sesuai alat dan tujuan yang disebutkan.

Rujukan tertulis, eksekusi tidak disimpulkan

Pemeriksaan atau rujukan, tinjau isi skrip
ops/backup/verify-postgres-backup.sh

Asal dan konteks

  • Catatan induk lengkap · Rajawali Computer Production Deployment Checklist
  • Ringkasan penelusuran chat
pg_dump2 kemunculan

Mengekspor database ke arsip. Bentuk arsip dan target database ditentukan opsi yang tertulis.

Kutipan ringkas dari penelusuran, bukan transkrip lengkap

Nama alat atau potongan tanpa argumen lengkapAda placeholder atau potonganPemeriksaan atau rujukan, tinjau isi skrip
pg_dump

Asal dan konteks

  • Ringkasan penelusuran chat
  • Ringkasan penelusuran chat
rajawali:backup1 kemunculan

Membuat atau memeriksa salinan database sesuai alat dan tujuan yang disebutkan.

Kutipan ringkas dari penelusuran, bukan transkrip lengkap

Nama alat atau potongan tanpa argumen lengkapAda placeholder atau potonganPemeriksaan atau rujukan, tinjau isi skrip
rajawali:backup

Asal dan konteks

  • Ringkasan penelusuran chat

Restore dan pemulihan transaksi 5 entri

docker compose ... exec -T postgres_rajawali pg_restore ... -d rajawali_master/samanhudi/peganden < ..._v1.sql1 kemunculan

Memulihkan arsip PostgreSQL ke target yang tertulis. Opsi pemulihan dapat mengganti objek yang sudah ada.

Kutipan ringkas dari penelusuran, bukan transkrip lengkap

Ada placeholder atau potonganMengubah keadaan sistem
docker compose ... exec -T postgres_rajawali pg_restore ... -d rajawali_master/samanhudi/peganden < ..._v1.sql

Asal dan konteks

  • Ringkasan penelusuran chat
ops/backup/restore-drill.sh2 kemunculan

Menjalankan pemulihan database atau transaksi pada target yang disebutkan.

Rujukan tertulis, eksekusi tidak disimpulkan

Pemeriksaan atau rujukan, tinjau isi skrip
ops/backup/restore-drill.sh

Asal dan konteks

  • Catatan induk lengkap · Rajawali Computer Production Deployment Checklist
  • Ringkasan penelusuran chat
pg_restore1 kemunculan

Memulihkan arsip PostgreSQL ke target yang tertulis. Opsi pemulihan dapat mengganti objek yang sudah ada.

Rujukan tertulis, eksekusi tidak disimpulkan

Nama alat atau potongan tanpa argumen lengkapAda placeholder atau potonganMengubah keadaan sistemSumber memuat larangan atau pembatasan pemakaian
pg_restore

Asal dan konteks

  • Catatan induk lengkap · Panduan Praktis Deployment Rajawali Computer — 13 Oktober 2026 / Tahap D — database di Docker dan restore data
php artisan distributed-transactions:recover2 kemunculan

Menyelesaikan transaksi terdistribusi tertinggal berdasarkan jurnal keputusan, bukan mengulang transaksi bisnis dari awal.

Rujukan tertulis, eksekusi tidak disimpulkan

Pemeriksaan atau rujukan, tinjau isi skrip
php artisan distributed-transactions:recover

Asal dan konteks

  • Catatan induk lengkap · Rajawali Computer Production Deployment Checklist
  • Ringkasan penelusuran chat
rajawali:restore-drill1 kemunculan

Menjalankan pemulihan database atau transaksi pada target yang disebutkan.

Kutipan ringkas dari penelusuran, bukan transkrip lengkap

Nama alat atau potongan tanpa argumen lengkapAda placeholder atau potonganPemeriksaan atau rujukan, tinjau isi skrip
rajawali:restore-drill

Asal dan konteks

  • Ringkasan penelusuran chat

Clark–Wilson E1 dan privilege PostgreSQL 5 entri

php artisan rajawali:cw-e1-install --check1 kemunculan

Membaca keadaan role, ownership, trigger dan fungsi TP persediaan tanpa memasang ulang E1.

Rujukan tertulis, eksekusi tidak disimpulkan

Pemeriksaan atau rujukan, tinjau isi skrip
php artisan rajawali:cw-e1-install --check

Asal dan konteks

  • Catatan induk lengkap · Panduan Praktis Deployment Rajawali Computer — 13 Oktober 2026 / Tahap E — build dan jalankan Laravel di VPS
rajawali:cw-e1-install1 kemunculan

Memasang atau memeriksa pembatasan stok dengan command dan opsi yang tertulis. Mode pemasangan dapat mengubah privilege database.

Kutipan ringkas dari penelusuran, bukan transkrip lengkap

Nama alat atau potongan tanpa argumen lengkapAda placeholder atau potonganPemeriksaan atau rujukan, tinjau isi skrip
rajawali:cw-e1-install

Asal dan konteks

  • Ringkasan penelusuran chat
rajawali:cw-e1-install --check2 kemunculan

Membaca keadaan role, ownership, trigger dan fungsi TP persediaan tanpa memasang ulang E1.

Rujukan tertulis, eksekusi tidak disimpulkan

Nama alat atau potongan tanpa argumen lengkapAda placeholder atau potonganPemeriksaan atau rujukan, tinjau isi skrip
rajawali:cw-e1-install --check

Asal dan konteks

  • Catatan induk lengkap · Panduan pengujian fungsional dan keamanan Rajawali Computer / 4. Alat dan pemeriksaan lain
  • Catatan induk lengkap · Audit status Rajawali Computer, 14 Oktober 2026 / Bukti yang sudah diperoleh dari VPS (berdasarkan output yang dibagikan)
rajawali:integrity1 kemunculan

Menjalankan pemeriksaan integritas atau IVP pada lingkup yang ditulis. Nama command tanpa php artisan dipertahankan sebagai rujukan sumber.

Kutipan ringkas dari penelusuran, bukan transkrip lengkap

Nama alat atau potongan tanpa argumen lengkapAda placeholder atau potonganPemeriksaan atau rujukan, tinjau isi skrip
rajawali:integrity

Asal dan konteks

  • Ringkasan penelusuran chat
rajawali:integrity --all2 kemunculan

Menjalankan pemeriksaan integritas atau IVP pada lingkup yang ditulis. Nama command tanpa php artisan dipertahankan sebagai rujukan sumber.

Rujukan tertulis, eksekusi tidak disimpulkan

Nama alat atau potongan tanpa argumen lengkapAda placeholder atau potonganPemeriksaan atau rujukan, tinjau isi skrip
rajawali:integrity --all

Asal dan konteks

  • Catatan induk lengkap · Panduan pengujian fungsional dan keamanan Rajawali Computer / 4. Alat dan pemeriksaan lain
  • Catatan induk lengkap · Audit status Rajawali Computer, 14 Oktober 2026 / Bukti yang sudah diperoleh dari VPS (berdasarkan output yang dibagikan)

Pengujian keamanan, audit dependensi dan jaringan 9 entri

composer audit5 kemunculan

Memeriksa laporan kerentanan dependency menurut sumber data alat saat dijalankan.

Tercatat sebagai input terminal

Pemeriksaan atau rujukan, tinjau isi skrip
composer audit

Asal dan konteks

  • Catatan induk lengkap · Panduan pengujian fungsional dan keamanan Rajawali Computer / Lampiran 33: Pasted text(6).txt
  • Catatan induk lengkap · Rajawali Computer Production Deployment Checklist
  • Catatan induk lengkap · Panduan pengujian fungsional dan keamanan Rajawali Computer / 4. Alat dan pemeriksaan lain
  • Lampiran teks lengkap
  • Ringkasan penelusuran chat
nmap -Pn -sT -p 22,80,443,5432,8080,8443,9000,18080 rajawali.famataraytilo.cloud3 kemunculan

Menjalankan pemeriksaan keamanan sesuai alat dan target yang tertulis. Hasil historis tidak membuktikan keadaan rilis lain.

Rujukan tertulis, eksekusi tidak disimpulkan

Pemeriksaan atau rujukan, tinjau isi skrip
nmap -Pn -sT -p 22,80,443,5432,8080,8443,9000,18080 rajawali.famataraytilo.cloud

Asal dan konteks

  • Catatan induk lengkap · Panduan Bimbingan TA Rajawali Computer / E. Langkah alat pengujian keamanan (setelah UAT fungsional)
  • Catatan induk lengkap · Rajawali Computer — Pekerjaan, pengujian, dan persiapan bimbingan Pak Miftah / E. Langkah alat pengujian keamanan (setelah UAT fungsional)
  • Catatan induk lengkap · Rajawali Computer — Pekerjaan, pengujian, dan persiapan bimbingan Pak Miftah / E. Langkah alat pengujian keamanan (setelah UAT fungsional)
node tests/e2e/zap-local.mjs1 kemunculan

Menjalankan pemeriksaan keamanan sesuai alat dan target yang tertulis. Hasil historis tidak membuktikan keadaan rilis lain.

Rujukan tertulis, eksekusi tidak disimpulkan

Pemeriksaan atau rujukan, tinjau isi skrip
node tests/e2e/zap-local.mjs

Asal dan konteks

  • Catatan induk lengkap · Panduan pengujian fungsional dan keamanan Rajawali Computer / 3. OWASP ZAP yang sudah tersedia di source
npm audit4 kemunculan

Memeriksa laporan kerentanan dependency menurut sumber data alat saat dijalankan.

Tercatat sebagai input terminal

Pemeriksaan atau rujukan, tinjau isi skrip
npm audit

Asal dan konteks

  • Catatan induk lengkap · Panduan pengujian fungsional dan keamanan Rajawali Computer / Lampiran 33: Pasted text(6).txt
  • Catatan induk lengkap · Rajawali Computer Production Deployment Checklist
  • Lampiran teks lengkap
  • Ringkasan penelusuran chat
npm audit --omit=dev1 kemunculan

Memeriksa laporan kerentanan dependency menurut sumber data alat saat dijalankan.

Rujukan tertulis, eksekusi tidak disimpulkan

Pemeriksaan atau rujukan, tinjau isi skrip
npm audit --omit=dev

Asal dan konteks

  • Catatan induk lengkap · Panduan pengujian fungsional dan keamanan Rajawali Computer / 4. Alat dan pemeriksaan lain
rajawali:alert-test1 kemunculan

Menjalankan pemeriksaan keamanan pada dependensi, aplikasi atau jaringan yang disebutkan.

Kutipan ringkas dari penelusuran, bukan transkrip lengkap

Nama alat atau potongan tanpa argumen lengkapAda placeholder atau potonganPemeriksaan atau rujukan, tinjau isi skrip
rajawali:alert-test

Asal dan konteks

  • Ringkasan penelusuran chat
trivy image1 kemunculan

Menjalankan pemeriksaan keamanan sesuai alat dan target yang tertulis. Hasil historis tidak membuktikan keadaan rilis lain.

Rujukan tertulis, eksekusi tidak disimpulkan

Nama alat atau potongan tanpa argumen lengkapAda placeholder atau potonganPemeriksaan atau rujukan, tinjau isi skrip
trivy image

Asal dan konteks

  • Catatan induk lengkap · Panduan pengujian fungsional dan keamanan Rajawali Computer / 4. Alat dan pemeriksaan lain
trivy image --scanners vuln rajawali-nginx:<tag-release>3 kemunculan

Menjalankan pemeriksaan keamanan sesuai alat dan target yang tertulis. Hasil historis tidak membuktikan keadaan rilis lain.

Rujukan tertulis, eksekusi tidak disimpulkan

Ada placeholder atau potonganPemeriksaan atau rujukan, tinjau isi skrip
trivy image --scanners vuln rajawali-nginx:<tag-release>

Asal dan konteks

  • Catatan induk lengkap · Panduan Bimbingan TA Rajawali Computer / E. Langkah alat pengujian keamanan (setelah UAT fungsional)
  • Catatan induk lengkap · Rajawali Computer — Pekerjaan, pengujian, dan persiapan bimbingan Pak Miftah / E. Langkah alat pengujian keamanan (setelah UAT fungsional)
  • Catatan induk lengkap · Rajawali Computer — Pekerjaan, pengujian, dan persiapan bimbingan Pak Miftah / E. Langkah alat pengujian keamanan (setelah UAT fungsional)
trivy image --scanners vuln rajawali-php:<tag-release>3 kemunculan

Menjalankan pemeriksaan keamanan sesuai alat dan target yang tertulis. Hasil historis tidak membuktikan keadaan rilis lain.

Rujukan tertulis, eksekusi tidak disimpulkan

Ada placeholder atau potonganPemeriksaan atau rujukan, tinjau isi skrip
trivy image --scanners vuln rajawali-php:<tag-release>

Asal dan konteks

  • Catatan induk lengkap · Panduan Bimbingan TA Rajawali Computer / E. Langkah alat pengujian keamanan (setelah UAT fungsional)
  • Catatan induk lengkap · Rajawali Computer — Pekerjaan, pengujian, dan persiapan bimbingan Pak Miftah / E. Langkah alat pengujian keamanan (setelah UAT fungsional)
  • Catatan induk lengkap · Rajawali Computer — Pekerjaan, pengujian, dan persiapan bimbingan Pak Miftah / E. Langkah alat pengujian keamanan (setelah UAT fungsional)

Pengujian Laravel dan browser 7 entri

npm run build && npx playwright test --workers=14 kemunculan

Membangun aset produksi melalui script package.json. Jika diikuti tes browser, kedua tahap merupakan satu rangkaian.

Tercatat sebagai input terminal

Pemeriksaan atau rujukan, tinjau isi skrip
npm run build && npx playwright test --workers=1

Asal dan konteks

  • Catatan induk lengkap · Panduan pengujian fungsional dan keamanan Rajawali Computer / Lampiran 21: Pasted text(10).txt
  • Catatan induk lengkap · Panduan pengujian fungsional dan keamanan Rajawali Computer / Lampiran 36: Pasted text(9).txt
  • Lampiran teks lengkap
  • Lampiran teks lengkap
npm run build && npx playwright test tests/e2e/customer-service-pages.spec.ts tests/e2e/end-user-usability.spec.ts tests/e2e/online-payment-gu…1 kemunculan

Membangun aset produksi melalui script package.json. Jika diikuti tes browser, kedua tahap merupakan satu rangkaian.

Tercatat sebagai input terminal

Pemeriksaan atau rujukan, tinjau isi skrip
npm run build && npx playwright test tests/e2e/customer-service-pages.spec.ts tests/e2e/end-user-usability.spec.ts tests/e2e/online-payment-guide.spec.ts tests/e2e/customer-navigation-and-cart.spec.ts tests/e2e/auth.spec.ts

Asal dan konteks

  • Catatan induk lengkap · Panduan pengujian fungsional dan keamanan Rajawali Computer / Lampiran 27: Pasted text(20260929-154322).txt
npm run test:e2e1 kemunculan

Menjalankan atau menyiapkan pengujian teknis menurut argumen yang tertulis.

Rujukan tertulis, eksekusi tidak disimpulkan

Pemeriksaan atau rujukan, tinjau isi skrip
npm run test:e2e

Asal dan konteks

  • Catatan induk lengkap · Panduan pengujian fungsional dan keamanan Rajawali Computer / 4. Alat dan pemeriksaan lain
npx playwright test tests/e2e/auth.spec.ts tests/e2e/end-user-processes.spec.ts tests/e2e/workflows.spec.ts --workers=12 kemunculan

Menjalankan pengujian browser pada berkas dan jumlah worker yang disebutkan.

Tercatat sebagai input terminal

Pemeriksaan atau rujukan, tinjau isi skrip
npx playwright test tests/e2e/auth.spec.ts tests/e2e/end-user-processes.spec.ts tests/e2e/workflows.spec.ts --workers=1

Asal dan konteks

  • Catatan induk lengkap · Panduan pengujian fungsional dan keamanan Rajawali Computer / Lampiran 23: Pasted text(20260923-155546).txt
  • Lampiran teks lengkap
php artisan test5 kemunculan

Menjalankan tes PHP atau Laravel dengan filter atau daftar berkas yang tertulis.

Tercatat sebagai input terminal

Pemeriksaan atau rujukan, tinjau isi skrip
php artisan test

Asal dan konteks

  • Catatan induk lengkap · Panduan pengujian fungsional dan keamanan Rajawali Computer / Lampiran 26: Pasted text(20260925-103227).txt
  • Catatan induk lengkap · Panduan pengujian fungsional dan keamanan Rajawali Computer / Lampiran 32: Pasted text(5).txt
  • Catatan induk lengkap · Panduan pengujian fungsional dan keamanan Rajawali Computer / 4. Alat dan pemeriksaan lain
  • Lampiran teks lengkap
  • Lampiran teks lengkap
php artisan test tests/Feature/AdminRoleAccessTest.php tests/Feature/FinalRoleSecurityTest.php tests/Feature/AuthSecurityTest.php tests/Featur…4 kemunculan

Menjalankan tes PHP atau Laravel dengan filter atau daftar berkas yang tertulis.

Tercatat sebagai input terminal

Pemeriksaan atau rujukan, tinjau isi skrip
php artisan test tests/Feature/AdminRoleAccessTest.php tests/Feature/FinalRoleSecurityTest.php tests/Feature/AuthSecurityTest.php tests/Feature/EmployeeManagementTest.php tests/Feature/MasterDataTest.php tests/Feature/RestockTest.php tests/Feature/StockTransferTest.php tests/Feature/ReportingTest.php

Asal dan konteks

  • Catatan induk lengkap · Panduan pengujian fungsional dan keamanan Rajawali Computer / Lampiran 24: Pasted text(20260925-094134).txt
  • Catatan induk lengkap · Panduan pengujian fungsional dan keamanan Rajawali Computer / Lampiran 25: Pasted text(20260925-095358).txt
  • Lampiran teks lengkap
  • Lampiran teks lengkap
php artisan test tests/Feature/ReleaseConfigurationTest.php tests/Feature/DeploymentSecurityTest.php tests/Feature/DeploymentArtifactsTest.php…1 kemunculan

Menjalankan tes PHP atau Laravel dengan filter atau daftar berkas yang tertulis.

Tercatat sebagai input terminal

Pemeriksaan atau rujukan, tinjau isi skrip
php artisan test tests/Feature/ReleaseConfigurationTest.php tests/Feature/DeploymentSecurityTest.php tests/Feature/DeploymentArtifactsTest.php tests/Feature/BackupRestoreTest.php

Asal dan konteks

  • Catatan induk lengkap · Panduan pengujian fungsional dan keamanan Rajawali Computer / Lampiran 28: Pasted text(20261002-080622).txt

Migration, schema, seeder dan data latihan 8 entri

compose('run','--rm','--no-deps','-T','--entrypoint','php','app_samanhudi', · 4 barisBARU · 1 kemunculan

Panggilan migration email penerima untuk koneksi tenant dan satu path migration yang ditulis. Panggilan ini berasal dari paket penerima 19 Oktober dan dapat mengubah schema.

Tertulis dalam script paket, eksekusi VPS belum dibuktikan

Python asli dalam installer, bukan Bash mandiriDapat mengubah keadaan sistemTidak ada hasil eksekusi VPS pada arsip script

Tambahan dari script paket revisi. Variabel dan fungsi Python dibaca pada sumber lengkap. Eksekusinya pada VPS belum dibuktikan oleh arsip ini.

compose('run','--rm','--no-deps','-T','--entrypoint','php','app_samanhudi',
                'artisan','migrate','--database='+name,
                '--path=database/migrations/tenant/2026_10_19_130000_add_recipient_email_to_pengiriman.php',
                '--force','--no-interaction',env=container_env)

Asal dan konteks

  • Script asli dalam paket revisi · Rajawali_PATCH_UAT_PENERIMA_ALAMAT_EMAIL_19Okt2026.zip / RUN_PATCH.py
CREATE DATABASE1 kemunculan

Membuat atau mengubah schema serta data awal pada koneksi yang ditentukan.

Kutipan ringkas dari penelusuran, bukan transkrip lengkap

Nama alat atau potongan tanpa argumen lengkapAda placeholder atau potonganMengubah keadaan sistem
CREATE DATABASE

Asal dan konteks

  • Ringkasan penelusuran chat
db:wipe1 kemunculan

Membuat atau mengubah schema serta data awal pada koneksi yang ditentukan.

Rujukan tertulis, eksekusi tidak disimpulkan

Nama alat atau potongan tanpa argumen lengkapAda placeholder atau potonganPemeriksaan atau rujukan, tinjau isi skripSumber memuat larangan atau pembatasan pemakaian
db:wipe

Asal dan konteks

  • Catatan induk lengkap · Implementasi Pengaturan Pembayaran Rajawali Computer / Migrasi yang diperlukan pada setiap lingkungan
migrate:fresh1 kemunculan

Membuat atau mengubah schema serta data awal pada koneksi yang ditentukan.

Rujukan tertulis, eksekusi tidak disimpulkan

Nama alat atau potongan tanpa argumen lengkapAda placeholder atau potonganMenghapus atau mengganti data atau objekSumber memuat larangan atau pembatasan pemakaian
migrate:fresh

Asal dan konteks

  • Catatan induk lengkap · Implementasi Pengaturan Pembayaran Rajawali Computer / Migrasi yang diperlukan pada setiap lingkungan
php artisan migrate --database=master ...1 kemunculan

Menerapkan atau memeriksa migration pada database dan path yang ditentukan.

Kutipan ringkas dari penelusuran, bukan transkrip lengkap

Ada placeholder atau potonganMengubah keadaan sistem
php artisan migrate --database=master ...

Asal dan konteks

  • Ringkasan penelusuran chat
php artisan migrate:fresh2 kemunculan

Menerapkan atau memeriksa migration pada database dan path yang ditentukan.

Rujukan tertulis, eksekusi tidak disimpulkan

Menghapus atau mengganti data atau objekSumber memuat larangan atau pembatasan pemakaian
php artisan migrate:fresh

Asal dan konteks

  • Catatan induk lengkap · Panduan Praktis Deployment Rajawali Computer — 13 Oktober 2026 / Tahap D — database di Docker dan restore data
  • Catatan induk lengkap · Tahap 2 — Persiapan deployment Rajawali melalui CloudPanel + Docker / Catatan keamanan
php artisan rajawali:setup1 kemunculan

Membuat atau mengubah schema serta data awal pada koneksi yang ditentukan.

Rujukan tertulis, eksekusi tidak disimpulkan

Pemeriksaan atau rujukan, tinjau isi skrip
php artisan rajawali:setup

Asal dan konteks

  • Catatan induk lengkap · Panduan pengujian fungsional dan keamanan Rajawali Computer / Lampiran 19: Pasted markdown.md
rajawali:setup1 kemunculan

Membuat atau mengubah schema serta data awal pada koneksi yang ditentukan.

Rujukan tertulis, eksekusi tidak disimpulkan

Nama alat atau potongan tanpa argumen lengkapAda placeholder atau potonganPemeriksaan atau rujukan, tinjau isi skrip
rajawali:setup

Asal dan konteks

  • Catatan induk lengkap · Tahap 2 — Persiapan deployment Rajawali melalui CloudPanel + Docker / Hal yang belum dapat diselesaikan dari sini

Akun, session, login dan blokir IP 2 entri

compose('exec','-T','app_samanhudi','php','artisan','rajawali:uat-credentials')BARU · 1 kemunculan

Panggilan command pemeriksaan kredensial UAT dari installer. Penjelasan dibatasi pada source script. Output akun maupun password tidak diminta atau disalin.

Tertulis dalam script paket, eksekusi VPS belum dibuktikan

Python asli dalam installer, bukan Bash mandiriTidak ada hasil eksekusi VPS pada arsip script

Tambahan dari script paket revisi. Variabel dan fungsi Python dibaca pada sumber lengkap. Eksekusinya pada VPS belum dibuktikan oleh arsip ini.

compose('exec','-T','app_samanhudi','php','artisan','rajawali:uat-credentials')

Asal dan konteks

  • Script asli dalam paket revisi · Rajawali_PATCH_UAT_TRANSAKSI_DATABASE_YANG_ADA_20Okt2026.zip / RUN_PATCH.py
docker compose --env-file .env.production -p rajawali-computer -f compose.production.yml -f compose.vps-test.yml -f compose.cloudpanel.yml exe…BARU · 1 kemunculan

Command Bash yang dicetak installer untuk membuat kredensial UAT. Baris ini merupakan saran dari script. Isi paket tidak membuktikan command tersebut dijalankan pengguna.

Tertulis dalam script paket, eksekusi VPS belum dibuktikan

Command dicetak sebagai petunjuk, bukan otomatis dijalankanDapat mengubah keadaan sistemTidak ada hasil eksekusi VPS pada arsip script

Tambahan dari script paket revisi. Variabel dan fungsi Python dibaca pada sumber lengkap. Eksekusinya pada VPS belum dibuktikan oleh arsip ini.

docker compose --env-file .env.production -p rajawali-computer -f compose.production.yml -f compose.vps-test.yml -f compose.cloudpanel.yml exec -T app_samanhudi php artisan rajawali:uat-credentials --generate

Asal dan konteks

  • Script asli dalam paket revisi · Rajawali_PATCH_UAT_TRANSAKSI_DATABASE_YANG_ADA_20Okt2026.zip / RUN_PATCH.py

Pemeriksaan dan query PostgreSQL 10 entri

cmd=['docker','exec','postgres_rajawali','sh','-c', · 3 barisBARU · 1 kemunculan

Bagian installer yang berkaitan dengan penghapusan tabel audit tambahan. Baca assignment cmd, syarat pemindahan audit dan AUDIT_CLEANUP.php pada sumber lengkap. Keberadaan script tidak membuktikan data sudah dipindah atau tabel sudah dihapus.

Tertulis dalam script paket, eksekusi VPS belum dibuktikan

Python asli dalam installer, bukan Bash mandiriMenghapus tabel jika syarat pada installer terpenuhiTidak ada hasil eksekusi VPS pada arsip scriptTabel audit ini menjadi sasaran penghapusan pada koreksi 20 Oktober

Tambahan dari script paket revisi. Variabel dan fungsi Python dibaca pada sumber lengkap. Eksekusinya pada VPS belum dibuktikan oleh arsip ini.

Entri masih menyebut tabel audit yang menjadi sasaran penghapusan dalam koreksi 20 Oktober. Baca keputusan terbaru sebelum memakai rujukan schema lama.

cmd=['docker','exec','postgres_rajawali','sh','-c',
                     'exec psql -U "${POSTGRES_USER:-postgres}" -d "$1" -v ON_ERROR_STOP=1 -c "DROP TABLE IF EXISTS public.online_checkout_group_audit"',
                     'sh',dbname]

Asal dan konteks

  • Script asli dalam paket revisi · Rajawali_PATCH_KONSOLIDASI_ADMIN_AUDIT_BERDASARKAN_VPS_20Okt2026.zip / RUN_PATCH.py
compose('run','--rm','--no-deps','-T','--entrypoint','php','app_samanhudi','-r',probe,quiet=True,env=container_env)BARU · 1 kemunculan

Memanggil pemeriksaan PHP yang membaca kesiapan tabel pengiriman, kolom email penerima, hak koneksi dan konfigurasi SMTP. Isi variabel probe tersedia pada sumber lengkap.

Tertulis dalam script paket, eksekusi VPS belum dibuktikan

Python asli dalam installer, bukan Bash mandiriTidak ada hasil eksekusi VPS pada arsip script

Tambahan dari script paket revisi. Variabel dan fungsi Python dibaca pada sumber lengkap. Eksekusinya pada VPS belum dibuktikan oleh arsip ini.

compose('run','--rm','--no-deps','-T','--entrypoint','php','app_samanhudi','-r',probe,quiet=True,env=container_env)

Asal dan konteks

  • Script asli dalam paket revisi · Rajawali_PATCH_UAT_PENERIMA_ALAMAT_EMAIL_19Okt2026.zip / RUN_PATCH.py
psql5 kemunculan

Membaca atau mengubah database menurut SQL atau opsi klien yang tertulis. Perhatikan kata kerja tiap statement.

Rujukan tertulis, eksekusi tidak disimpulkan

Nama alat atau potongan tanpa argumen lengkapAda placeholder atau potonganPemeriksaan atau rujukan, tinjau isi skripSumber memuat larangan atau pembatasan pemakaian
psql

Asal dan konteks

  • Catatan induk lengkap · Panduan Praktis Deployment Rajawali Computer — 13 Oktober 2026 / Tahap D — database di Docker dan restore data
  • Ringkasan penelusuran chat
  • Ringkasan penelusuran chat
  • Ringkasan penelusuran chat
  • Ringkasan penelusuran chat · Run with: docker compose --env-file .env.production -f compose.production.yml up -d
SELECT * FROM rajawali_stock_issue1 kemunculan

Membaca atau mengubah database menurut SQL atau opsi klien yang tertulis. Perhatikan kata kerja tiap statement.

Rujukan tertulis, eksekusi tidak disimpulkan

Pemeriksaan atau rujukan, tinjau isi skrip
SELECT * FROM rajawali_stock_issue

Asal dan konteks

  • Catatan induk lengkap · Bukti Blok Kode Clark-Wilson dan OWASP Rajawali Computer / Blok 31. A05 Query stok berparameter
SELECT action, actor_id, created_at · 3 baris1 kemunculan

Membaca bukti checkout gabungan, alokasi tiap cabang dan audit sesuai query yang tertulis.

Ditulis sebagai blok panduan atau SQL

Ada placeholder atau potonganPemeriksaan atau rujukan, tinjau isi skripTabel audit ini menjadi sasaran penghapusan pada koreksi 20 Oktober

Entri masih menyebut tabel audit yang menjadi sasaran penghapusan dalam koreksi 20 Oktober. Baca keputusan terbaru sebelum memakai rujukan schema lama.

SELECT action, actor_id, created_at
FROM online_checkout_group_audit
WHERE group_id = '<ID_CHECKOUT_UAT>' ORDER BY id;

Asal dan konteks

  • Catatan induk lengkap · Tambahan 19 Oktober 2026: Bukti checkout gabungan, validasi alamat, dan pengujian keamanan / B. Skenario GAB-06: pembuatan dua pesanan dan satu identitas checkout
SELECT group_id, id_cabang, id_penjualan, nomor_nota, allocated_amount · 3 baris1 kemunculan

Membaca bukti checkout gabungan, alokasi tiap cabang dan audit sesuai query yang tertulis.

Ditulis sebagai blok panduan atau SQL

Ada placeholder atau potonganPemeriksaan atau rujukan, tinjau isi skrip
SELECT group_id, id_cabang, id_penjualan, nomor_nota, allocated_amount
FROM online_checkout_group_orders
WHERE group_id = '<ID_CHECKOUT_UAT>' ORDER BY id_cabang;

Asal dan konteks

  • Catatan induk lengkap · Tambahan 19 Oktober 2026: Bukti checkout gabungan, validasi alamat, dan pengujian keamanan / B. Skenario GAB-06: pembuatan dua pesanan dan satu identitas checkout
SELECT id, total_amount, payment_status, created_at · 3 baris1 kemunculan

Membaca bukti checkout gabungan, alokasi tiap cabang dan audit sesuai query yang tertulis.

Ditulis sebagai blok panduan atau SQL

Ada placeholder atau potonganPemeriksaan atau rujukan, tinjau isi skrip
SELECT id, total_amount, payment_status, created_at
FROM online_checkout_groups
WHERE id = '<ID_CHECKOUT_UAT>';

Asal dan konteks

  • Catatan induk lengkap · Tambahan 19 Oktober 2026: Bukti checkout gabungan, validasi alamat, dan pengujian keamanan / B. Skenario GAB-06: pembuatan dua pesanan dan satu identitas checkout
SELECT id_penjualan, nomor_nota, checkout_group_id, · 4 baris1 kemunculan

Membaca atau mengubah database menurut SQL atau opsi klien yang tertulis. Perhatikan kata kerja tiap statement.

Ditulis sebagai blok panduan atau SQL

Ada placeholder atau potonganPemeriksaan atau rujukan, tinjau isi skrip
SELECT id_penjualan, nomor_nota, checkout_group_id,
       total, status_pembayaran, status_penjualan
FROM penjualan
WHERE checkout_group_id = '<ID_CHECKOUT_UAT>';

Asal dan konteks

  • Catatan induk lengkap · Tambahan 19 Oktober 2026: Bukti checkout gabungan, validasi alamat, dan pengujian keamanan / B. Skenario GAB-06: pembuatan dua pesanan dan satu identitas checkout
subprocess.run(BASE+['exec','-T','app_samanhudi','php'],cwd=ROOT, · 2 barisBARU · 1 kemunculan

Mengirim script pemindahan audit ke PHP dalam container aplikasi yang sudah ada. Audit tujuan memakai audit_log tenant dan ID penjualan INTEGER. Status hasil tetap harus dibaca dari output VPS.

Tertulis dalam script paket, eksekusi VPS belum dibuktikan

Python asli dalam installer, bukan Bash mandiriDapat mengubah keadaan sistemTidak ada hasil eksekusi VPS pada arsip script

Tambahan dari script paket revisi. Variabel dan fungsi Python dibaca pada sumber lengkap. Eksekusinya pada VPS belum dibuktikan oleh arsip ini.

subprocess.run(BASE+['exec','-T','app_samanhudi','php'],cwd=ROOT,
              input=cleanup_php,stdout=subprocess.PIPE,stderr=subprocess.PIPE)

Asal dan konteks

  • Script asli dalam paket revisi · Rajawali_PATCH_KONSOLIDASI_ADMIN_AUDIT_BERDASARKAN_VPS_20Okt2026.zip / RUN_PATCH.py
subprocess.run(cmd,cwd=ROOT,stdout=subprocess.PIPE,stderr=subprocess.PIPE,text=True)BARU · 1 kemunculan

Bagian installer yang berkaitan dengan penghapusan tabel audit tambahan. Baca assignment cmd, syarat pemindahan audit dan AUDIT_CLEANUP.php pada sumber lengkap. Keberadaan script tidak membuktikan data sudah dipindah atau tabel sudah dihapus.

Tertulis dalam script paket, eksekusi VPS belum dibuktikan

Python asli dalam installer, bukan Bash mandiriMenghapus tabel jika syarat pada installer terpenuhiTidak ada hasil eksekusi VPS pada arsip script

Tambahan dari script paket revisi. Variabel dan fungsi Python dibaca pada sumber lengkap. Eksekusinya pada VPS belum dibuktikan oleh arsip ini.

subprocess.run(cmd,cwd=ROOT,stdout=subprocess.PIPE,stderr=subprocess.PIPE,text=True)

Asal dan konteks

  • Script asli dalam paket revisi · Rajawali_PATCH_KONSOLIDASI_ADMIN_AUDIT_BERDASARKAN_VPS_20Okt2026.zip / RUN_PATCH.py

Image, container dan Docker Compose 23 entri

compose('config','-q',quiet=True)BARU · 13 kemunculan

Memeriksa konfigurasi Compose beserta environment yang disiapkan installer. BASE berisi tiga file Compose dan nama project Rajawali.

Tertulis dalam script paket, eksekusi VPS belum dibuktikan

Python asli dalam installer, bukan Bash mandiriTidak ada hasil eksekusi VPS pada arsip script

Tambahan dari script paket revisi. Variabel dan fungsi Python dibaca pada sumber lengkap. Eksekusinya pada VPS belum dibuktikan oleh arsip ini.

compose('config','-q',quiet=True)

Asal dan konteks

  • Script asli dalam paket revisi · Rajawali_PATCH_ADMIN_AUDIT_LOG_TANPA_TABEL_BARU_20Okt2026.zip / RUN_PATCH.py
  • Script asli dalam paket revisi · Rajawali_PATCH_ADMIN_ONLINE_CONTROLLER_KOMPATIBEL_20Okt2026.zip / RUN_PATCH.py
  • Script asli dalam paket revisi · Rajawali_PATCH_ADMIN_ONLINE_ROUTE_KOMPATIBEL_20Okt2026.zip / RUN_PATCH.py
  • Script asli dalam paket revisi · Rajawali_PATCH_BULK_FUNGSIONAL_20Okt2026.zip / RUN_PATCH.py
  • Script asli dalam paket revisi · Rajawali_PATCH_CHECKOUT_PELANGGAN_DAN_PENGIRIMAN_OTOMATIS_20Okt2026.zip / RUN_PATCH.py
  • Script asli dalam paket revisi · Rajawali_PATCH_KONSOLIDASI_ADMIN_AUDIT_BERDASARKAN_VPS_20Okt2026.zip / RUN_PATCH.py
  • Script asli dalam paket revisi · Rajawali_PATCH_PERBAIKAN_UX_TANPA_DUMMY_PRODUKSI_20Okt2026.zip / RUN_PATCH.py
  • Script asli dalam paket revisi · Rajawali_PATCH_SIMULASI_UAT_OWNER_TANPA_TOGGLE_20Okt2026.zip / RUN_PATCH.py
  • Script asli dalam paket revisi · Rajawali_PATCH_TANPA_SIMULASI_DB_DAN_SATU_PAKET_20Okt2026.zip / RUN_PATCH.py
  • Script asli dalam paket revisi · Rajawali_PATCH_UAT_EMAIL_POPUP_WILAYAH_ALAMAT_19Okt2026.zip / RUN_PATCH.py
  • Script asli dalam paket revisi · Rajawali_PATCH_UAT_PENERIMA_ALAMAT_EMAIL_19Okt2026.zip / RUN_PATCH.py
  • Script asli dalam paket revisi · Rajawali_PATCH_UAT_PENERIMA_ALAMAT_EMAIL_19Okt2026.zip / RUN_PATCH.py
  • Script asli dalam paket revisi · Rajawali_PATCH_UAT_TRANSAKSI_DATABASE_YANG_ADA_20Okt2026.zip / RUN_PATCH.py
compose('config','-q',quiet=True,env=container_env)BARU · 1 kemunculan

Memeriksa konfigurasi Compose beserta environment yang disiapkan installer. BASE berisi tiga file Compose dan nama project Rajawali.

Tertulis dalam script paket, eksekusi VPS belum dibuktikan

Python asli dalam installer, bukan Bash mandiriTidak ada hasil eksekusi VPS pada arsip script

Tambahan dari script paket revisi. Variabel dan fungsi Python dibaca pada sumber lengkap. Eksekusinya pada VPS belum dibuktikan oleh arsip ini.

compose('config','-q',quiet=True,env=container_env)

Asal dan konteks

  • Script asli dalam paket revisi · Rajawali_PATCH_UAT_PENERIMA_ALAMAT_EMAIL_19Okt2026.zip / RUN_PATCH.py
compose('config','-q',quiet=True,env=dict(os.environ,RAJAWALI_IMAGE=phpimg,RAJAWALI_NGINX_IMAGE=nginximg))BARU · 11 kemunculan

Memeriksa konfigurasi Compose beserta environment yang disiapkan installer. BASE berisi tiga file Compose dan nama project Rajawali.

Tertulis dalam script paket, eksekusi VPS belum dibuktikan

Python asli dalam installer, bukan Bash mandiriTidak ada hasil eksekusi VPS pada arsip script

Tambahan dari script paket revisi. Variabel dan fungsi Python dibaca pada sumber lengkap. Eksekusinya pada VPS belum dibuktikan oleh arsip ini.

compose('config','-q',quiet=True,env=dict(os.environ,RAJAWALI_IMAGE=phpimg,RAJAWALI_NGINX_IMAGE=nginximg))

Asal dan konteks

  • Script asli dalam paket revisi · Rajawali_PATCH_ADMIN_AUDIT_LOG_TANPA_TABEL_BARU_20Okt2026.zip / RUN_PATCH.py
  • Script asli dalam paket revisi · Rajawali_PATCH_ADMIN_ONLINE_CONTROLLER_KOMPATIBEL_20Okt2026.zip / RUN_PATCH.py
  • Script asli dalam paket revisi · Rajawali_PATCH_ADMIN_ONLINE_ROUTE_KOMPATIBEL_20Okt2026.zip / RUN_PATCH.py
  • Script asli dalam paket revisi · Rajawali_PATCH_BULK_FUNGSIONAL_20Okt2026.zip / RUN_PATCH.py
  • Script asli dalam paket revisi · Rajawali_PATCH_CHECKOUT_PELANGGAN_DAN_PENGIRIMAN_OTOMATIS_20Okt2026.zip / RUN_PATCH.py
  • Script asli dalam paket revisi · Rajawali_PATCH_KONSOLIDASI_ADMIN_AUDIT_BERDASARKAN_VPS_20Okt2026.zip / RUN_PATCH.py
  • Script asli dalam paket revisi · Rajawali_PATCH_PERBAIKAN_UX_TANPA_DUMMY_PRODUKSI_20Okt2026.zip / RUN_PATCH.py
  • Script asli dalam paket revisi · Rajawali_PATCH_SIMULASI_UAT_OWNER_TANPA_TOGGLE_20Okt2026.zip / RUN_PATCH.py
  • Script asli dalam paket revisi · Rajawali_PATCH_TANPA_SIMULASI_DB_DAN_SATU_PAKET_20Okt2026.zip / RUN_PATCH.py
  • Script asli dalam paket revisi · Rajawali_PATCH_UAT_EMAIL_POPUP_WILAYAH_ALAMAT_19Okt2026.zip / RUN_PATCH.py
  • Script asli dalam paket revisi · Rajawali_PATCH_UAT_TRANSAKSI_DATABASE_YANG_ADA_20Okt2026.zip / RUN_PATCH.py
compose('up','-d','--no-deps','--no-build',*SERVICES)BARU · 24 kemunculan

Memperbarui layanan Compose memakai daftar SERVICES dan image yang dipilih installer. Panggilan serupa juga dipakai pada jalur pemulihan. Baca konteks baris sumber.

Tertulis dalam script paket, eksekusi VPS belum dibuktikan

Python asli dalam installer, bukan Bash mandiriDapat mengubah keadaan sistemTidak ada hasil eksekusi VPS pada arsip script

Tambahan dari script paket revisi. Variabel dan fungsi Python dibaca pada sumber lengkap. Eksekusinya pada VPS belum dibuktikan oleh arsip ini.

compose('up','-d','--no-deps','--no-build',*SERVICES)

Asal dan konteks

  • Script asli dalam paket revisi · Rajawali_PATCH_ADMIN_AUDIT_LOG_TANPA_TABEL_BARU_20Okt2026.zip / RUN_PATCH.py
  • Script asli dalam paket revisi · Rajawali_PATCH_ADMIN_AUDIT_LOG_TANPA_TABEL_BARU_20Okt2026.zip / RUN_PATCH.py
  • Script asli dalam paket revisi · Rajawali_PATCH_ADMIN_ONLINE_CONTROLLER_KOMPATIBEL_20Okt2026.zip / RUN_PATCH.py
  • Script asli dalam paket revisi · Rajawali_PATCH_ADMIN_ONLINE_CONTROLLER_KOMPATIBEL_20Okt2026.zip / RUN_PATCH.py
  • Script asli dalam paket revisi · Rajawali_PATCH_ADMIN_ONLINE_ROUTE_KOMPATIBEL_20Okt2026.zip / RUN_PATCH.py
  • Script asli dalam paket revisi · Rajawali_PATCH_ADMIN_ONLINE_ROUTE_KOMPATIBEL_20Okt2026.zip / RUN_PATCH.py
  • Script asli dalam paket revisi · Rajawali_PATCH_BULK_FUNGSIONAL_20Okt2026.zip / RUN_PATCH.py
  • Script asli dalam paket revisi · Rajawali_PATCH_BULK_FUNGSIONAL_20Okt2026.zip / RUN_PATCH.py
  • Script asli dalam paket revisi · Rajawali_PATCH_CHECKOUT_PELANGGAN_DAN_PENGIRIMAN_OTOMATIS_20Okt2026.zip / RUN_PATCH.py
  • Script asli dalam paket revisi · Rajawali_PATCH_CHECKOUT_PELANGGAN_DAN_PENGIRIMAN_OTOMATIS_20Okt2026.zip / RUN_PATCH.py
  • Script asli dalam paket revisi · Rajawali_PATCH_KONSOLIDASI_ADMIN_AUDIT_BERDASARKAN_VPS_20Okt2026.zip / RUN_PATCH.py
  • Script asli dalam paket revisi · Rajawali_PATCH_KONSOLIDASI_ADMIN_AUDIT_BERDASARKAN_VPS_20Okt2026.zip / RUN_PATCH.py
  • Script asli dalam paket revisi · Rajawali_PATCH_PERBAIKAN_UX_TANPA_DUMMY_PRODUKSI_20Okt2026.zip / RUN_PATCH.py
  • Script asli dalam paket revisi · Rajawali_PATCH_PERBAIKAN_UX_TANPA_DUMMY_PRODUKSI_20Okt2026.zip / RUN_PATCH.py
  • Script asli dalam paket revisi · Rajawali_PATCH_SIMULASI_UAT_OWNER_TANPA_TOGGLE_20Okt2026.zip / RUN_PATCH.py
  • Script asli dalam paket revisi · Rajawali_PATCH_SIMULASI_UAT_OWNER_TANPA_TOGGLE_20Okt2026.zip / RUN_PATCH.py
  • Script asli dalam paket revisi · Rajawali_PATCH_TANPA_SIMULASI_DB_DAN_SATU_PAKET_20Okt2026.zip / RUN_PATCH.py
  • Script asli dalam paket revisi · Rajawali_PATCH_TANPA_SIMULASI_DB_DAN_SATU_PAKET_20Okt2026.zip / RUN_PATCH.py
  • Script asli dalam paket revisi · Rajawali_PATCH_UAT_EMAIL_POPUP_WILAYAH_ALAMAT_19Okt2026.zip / RUN_PATCH.py
  • Script asli dalam paket revisi · Rajawali_PATCH_UAT_EMAIL_POPUP_WILAYAH_ALAMAT_19Okt2026.zip / RUN_PATCH.py
  • Script asli dalam paket revisi · Rajawali_PATCH_UAT_PENERIMA_ALAMAT_EMAIL_19Okt2026.zip / RUN_PATCH.py
  • Script asli dalam paket revisi · Rajawali_PATCH_UAT_PENERIMA_ALAMAT_EMAIL_19Okt2026.zip / RUN_PATCH.py
  • Script asli dalam paket revisi · Rajawali_PATCH_UAT_TRANSAKSI_DATABASE_YANG_ADA_20Okt2026.zip / RUN_PATCH.py
  • Script asli dalam paket revisi · Rajawali_PATCH_UAT_TRANSAKSI_DATABASE_YANG_ADA_20Okt2026.zip / RUN_PATCH.py
docker build --target nginx -t rajawali-nginx:20261013 .1 kemunculan

Membangun image dari Dockerfile dengan target dan tag yang disebutkan.

Ditulis sebagai blok panduan atau SQL

Mengubah keadaan sistemTerikat path atau rilis historis
docker build --target nginx -t rajawali-nginx:20261013 .

Asal dan konteks

  • Catatan induk lengkap · Panduan Praktis Deployment Rajawali Computer — 13 Oktober 2026 / Tahap E — build dan jalankan Laravel di VPS
docker build --target runtime -t rajawali-php:20261013 .2 kemunculan

Membangun image dari Dockerfile dengan target dan tag yang disebutkan.

Ditulis sebagai blok panduan atau SQL

Mengubah keadaan sistemTerikat path atau rilis historis
docker build --target runtime -t rajawali-php:20261013 .

Asal dan konteks

  • Catatan induk lengkap · Panduan Praktis Deployment Rajawali Computer — 13 Oktober 2026 / Tahap E — build dan jalankan Laravel di VPS
  • Ringkasan penelusuran chat
docker compose1 kemunculan

Memeriksa atau mengoperasikan image, container dan konfigurasi Docker yang disebutkan.

Kutipan ringkas dari penelusuran, bukan transkrip lengkap

Nama alat atau potongan tanpa argumen lengkapAda placeholder atau potonganPemeriksaan atau rujukan, tinjau isi skrip
docker compose

Asal dan konteks

  • Ringkasan penelusuran chat
docker compose --env-file .env.production -f compose.production.yml config -q1 kemunculan

Memeriksa atau menampilkan hasil konfigurasi Compose. Output config biasa dapat memuat hasil substitusi environment.

Ditulis sebagai blok panduan atau SQL

Pemeriksaan atau rujukan, tinjau isi skrip
docker compose --env-file .env.production -f compose.production.yml config -q

Asal dan konteks

  • Catatan induk lengkap · Panduan Praktis Deployment Rajawali Computer — 13 Oktober 2026 / Tahap D — database di Docker dan restore data
docker compose --env-file .env.production -f compose.production.yml ps2 kemunculan

Memeriksa atau mengoperasikan image, container dan konfigurasi Docker yang disebutkan.

Ditulis sebagai blok panduan atau SQL

Pemeriksaan atau rujukan, tinjau isi skrip
docker compose --env-file .env.production -f compose.production.yml ps

Asal dan konteks

  • Catatan induk lengkap · Panduan Praktis Deployment Rajawali Computer — 13 Oktober 2026 / Tahap E — build dan jalankan Laravel di VPS
  • Ringkasan penelusuran chat
docker compose --env-file .env.production -f compose.production.yml ps postgres_rajawali1 kemunculan

Memeriksa atau mengoperasikan image, container dan konfigurasi Docker yang disebutkan.

Ditulis sebagai blok panduan atau SQL

Pemeriksaan atau rujukan, tinjau isi skrip
docker compose --env-file .env.production -f compose.production.yml ps postgres_rajawali

Asal dan konteks

  • Catatan induk lengkap · Panduan Praktis Deployment Rajawali Computer — 13 Oktober 2026 / Tahap D — database di Docker dan restore data
docker compose --env-file .env.production -f compose.production.yml up -d2 kemunculan

Membuat atau memperbarui layanan Compose sesuai image, opsi dan berkas konfigurasi yang tertulis.

Ditulis sebagai blok panduan atau SQL

Mengubah keadaan sistem
docker compose --env-file .env.production -f compose.production.yml up -d

Asal dan konteks

  • Catatan induk lengkap · Panduan Praktis Deployment Rajawali Computer — 13 Oktober 2026 / Tahap E — build dan jalankan Laravel di VPS
  • Ringkasan penelusuran chat
docker compose --env-file .env.production -f compose.production.yml up -d postgres_rajawali1 kemunculan

Membuat atau memperbarui layanan Compose sesuai image, opsi dan berkas konfigurasi yang tertulis.

Ditulis sebagai blok panduan atau SQL

Mengubah keadaan sistem
docker compose --env-file .env.production -f compose.production.yml up -d postgres_rajawali

Asal dan konteks

  • Catatan induk lengkap · Panduan Praktis Deployment Rajawali Computer — 13 Oktober 2026 / Tahap D — database di Docker dan restore data
docker compose ...1 kemunculan

Memeriksa atau mengoperasikan image, container dan konfigurasi Docker yang disebutkan.

Kutipan ringkas dari penelusuran, bukan transkrip lengkap

Ada placeholder atau potonganPemeriksaan atau rujukan, tinjau isi skrip
docker compose ...

Asal dan konteks

  • Ringkasan penelusuran chat
docker compose down -v1 kemunculan

Memeriksa atau mengoperasikan image, container dan konfigurasi Docker yang disebutkan.

Rujukan tertulis, eksekusi tidak disimpulkan

Menghapus atau mengganti data atau objekSumber memuat larangan atau pembatasan pemakaian
docker compose down -v

Asal dan konteks

  • Catatan induk lengkap · Tahap 2 — Persiapan deployment Rajawali melalui CloudPanel + Docker / Catatan keamanan
docker compose up2 kemunculan

Membuat atau memperbarui layanan Compose sesuai image, opsi dan berkas konfigurasi yang tertulis.

Rujukan tertulis, eksekusi tidak disimpulkan

Pemeriksaan atau rujukan, tinjau isi skrip
docker compose up

Asal dan konteks

  • Catatan induk lengkap · Rajawali Computer Production Deployment Checklist
  • Ringkasan penelusuran chat
docker compose up -d --no-deps --no-build1 kemunculan

Membuat atau memperbarui layanan Compose sesuai image, opsi dan berkas konfigurasi yang tertulis.

Kutipan ringkas dari penelusuran, bukan transkrip lengkap

Mengubah keadaan sistem
docker compose up -d --no-deps --no-build

Asal dan konteks

  • Ringkasan penelusuran chat
docker exec2 kemunculan

Memeriksa atau mengoperasikan image, container dan konfigurasi Docker yang disebutkan.

Kutipan ringkas dari penelusuran, bukan transkrip lengkap

Nama alat atau potongan tanpa argumen lengkapAda placeholder atau potonganPemeriksaan atau rujukan, tinjau isi skrip
docker exec

Asal dan konteks

  • Ringkasan penelusuran chat
  • Ringkasan penelusuran chat
docker volume prune1 kemunculan

Memeriksa atau mengoperasikan image, container dan konfigurasi Docker yang disebutkan.

Rujukan tertulis, eksekusi tidak disimpulkan

Pemeriksaan atau rujukan, tinjau isi skripSumber memuat larangan atau pembatasan pemakaian
docker volume prune

Asal dan konteks

  • Catatan induk lengkap · Tahap 2 — Persiapan deployment Rajawali melalui CloudPanel + Docker / Catatan keamanan
invoke(['docker','build','--target','nginx','-t',nginximage,'.'])BARU · 1 kemunculan

Membangun image PHP atau Nginx dengan target dan tag dari installer. Variabel tag image tetap dipertahankan dalam bentuk Python asli.

Tertulis dalam script paket, eksekusi VPS belum dibuktikan

Python asli dalam installer, bukan Bash mandiriDapat mengubah keadaan sistemTidak ada hasil eksekusi VPS pada arsip script

Tambahan dari script paket revisi. Variabel dan fungsi Python dibaca pada sumber lengkap. Eksekusinya pada VPS belum dibuktikan oleh arsip ini.

invoke(['docker','build','--target','nginx','-t',nginximage,'.'])

Asal dan konteks

  • Script asli dalam paket revisi · Rajawali_PATCH_UAT_PENERIMA_ALAMAT_EMAIL_19Okt2026.zip / RUN_PATCH.py
invoke(['docker','build','--target','runtime','-t',phpimage,'.'])BARU · 1 kemunculan

Membangun image PHP atau Nginx dengan target dan tag dari installer. Variabel tag image tetap dipertahankan dalam bentuk Python asli.

Tertulis dalam script paket, eksekusi VPS belum dibuktikan

Python asli dalam installer, bukan Bash mandiriDapat mengubah keadaan sistemTidak ada hasil eksekusi VPS pada arsip script

Tambahan dari script paket revisi. Variabel dan fungsi Python dibaca pada sumber lengkap. Eksekusinya pada VPS belum dibuktikan oleh arsip ini.

invoke(['docker','build','--target','runtime','-t',phpimage,'.'])

Asal dan konteks

  • Script asli dalam paket revisi · Rajawali_PATCH_UAT_PENERIMA_ALAMAT_EMAIL_19Okt2026.zip / RUN_PATCH.py
run(['docker','build','--target','nginx','-t',nginximg,'.'])BARU · 11 kemunculan

Membangun image PHP atau Nginx dengan target dan tag dari installer. Variabel tag image tetap dipertahankan dalam bentuk Python asli.

Tertulis dalam script paket, eksekusi VPS belum dibuktikan

Python asli dalam installer, bukan Bash mandiriDapat mengubah keadaan sistemTidak ada hasil eksekusi VPS pada arsip script

Tambahan dari script paket revisi. Variabel dan fungsi Python dibaca pada sumber lengkap. Eksekusinya pada VPS belum dibuktikan oleh arsip ini.

run(['docker','build','--target','nginx','-t',nginximg,'.'])

Asal dan konteks

  • Script asli dalam paket revisi · Rajawali_PATCH_ADMIN_AUDIT_LOG_TANPA_TABEL_BARU_20Okt2026.zip / RUN_PATCH.py
  • Script asli dalam paket revisi · Rajawali_PATCH_ADMIN_ONLINE_CONTROLLER_KOMPATIBEL_20Okt2026.zip / RUN_PATCH.py
  • Script asli dalam paket revisi · Rajawali_PATCH_ADMIN_ONLINE_ROUTE_KOMPATIBEL_20Okt2026.zip / RUN_PATCH.py
  • Script asli dalam paket revisi · Rajawali_PATCH_BULK_FUNGSIONAL_20Okt2026.zip / RUN_PATCH.py
  • Script asli dalam paket revisi · Rajawali_PATCH_CHECKOUT_PELANGGAN_DAN_PENGIRIMAN_OTOMATIS_20Okt2026.zip / RUN_PATCH.py
  • Script asli dalam paket revisi · Rajawali_PATCH_KONSOLIDASI_ADMIN_AUDIT_BERDASARKAN_VPS_20Okt2026.zip / RUN_PATCH.py
  • Script asli dalam paket revisi · Rajawali_PATCH_PERBAIKAN_UX_TANPA_DUMMY_PRODUKSI_20Okt2026.zip / RUN_PATCH.py
  • Script asli dalam paket revisi · Rajawali_PATCH_SIMULASI_UAT_OWNER_TANPA_TOGGLE_20Okt2026.zip / RUN_PATCH.py
  • Script asli dalam paket revisi · Rajawali_PATCH_TANPA_SIMULASI_DB_DAN_SATU_PAKET_20Okt2026.zip / RUN_PATCH.py
  • Script asli dalam paket revisi · Rajawali_PATCH_UAT_EMAIL_POPUP_WILAYAH_ALAMAT_19Okt2026.zip / RUN_PATCH.py
  • Script asli dalam paket revisi · Rajawali_PATCH_UAT_TRANSAKSI_DATABASE_YANG_ADA_20Okt2026.zip / RUN_PATCH.py
run(['docker','build','--target','runtime','-t',phpimg,'.'])BARU · 11 kemunculan

Membangun image PHP atau Nginx dengan target dan tag dari installer. Variabel tag image tetap dipertahankan dalam bentuk Python asli.

Tertulis dalam script paket, eksekusi VPS belum dibuktikan

Python asli dalam installer, bukan Bash mandiriDapat mengubah keadaan sistemTidak ada hasil eksekusi VPS pada arsip script

Tambahan dari script paket revisi. Variabel dan fungsi Python dibaca pada sumber lengkap. Eksekusinya pada VPS belum dibuktikan oleh arsip ini.

run(['docker','build','--target','runtime','-t',phpimg,'.'])

Asal dan konteks

  • Script asli dalam paket revisi · Rajawali_PATCH_ADMIN_AUDIT_LOG_TANPA_TABEL_BARU_20Okt2026.zip / RUN_PATCH.py
  • Script asli dalam paket revisi · Rajawali_PATCH_ADMIN_ONLINE_CONTROLLER_KOMPATIBEL_20Okt2026.zip / RUN_PATCH.py
  • Script asli dalam paket revisi · Rajawali_PATCH_ADMIN_ONLINE_ROUTE_KOMPATIBEL_20Okt2026.zip / RUN_PATCH.py
  • Script asli dalam paket revisi · Rajawali_PATCH_BULK_FUNGSIONAL_20Okt2026.zip / RUN_PATCH.py
  • Script asli dalam paket revisi · Rajawali_PATCH_CHECKOUT_PELANGGAN_DAN_PENGIRIMAN_OTOMATIS_20Okt2026.zip / RUN_PATCH.py
  • Script asli dalam paket revisi · Rajawali_PATCH_KONSOLIDASI_ADMIN_AUDIT_BERDASARKAN_VPS_20Okt2026.zip / RUN_PATCH.py
  • Script asli dalam paket revisi · Rajawali_PATCH_PERBAIKAN_UX_TANPA_DUMMY_PRODUKSI_20Okt2026.zip / RUN_PATCH.py
  • Script asli dalam paket revisi · Rajawali_PATCH_SIMULASI_UAT_OWNER_TANPA_TOGGLE_20Okt2026.zip / RUN_PATCH.py
  • Script asli dalam paket revisi · Rajawali_PATCH_TANPA_SIMULASI_DB_DAN_SATU_PAKET_20Okt2026.zip / RUN_PATCH.py
  • Script asli dalam paket revisi · Rajawali_PATCH_UAT_EMAIL_POPUP_WILAYAH_ALAMAT_19Okt2026.zip / RUN_PATCH.py
  • Script asli dalam paket revisi · Rajawali_PATCH_UAT_TRANSAKSI_DATABASE_YANG_ADA_20Okt2026.zip / RUN_PATCH.py
sed -i '/^USER www-data$/i RUN chmod -R a+rX /var/www/html' Dockerfile1 kemunculan

Memeriksa atau mengoperasikan image, container dan konfigurasi Docker yang disebutkan.

Kutipan ringkas dari penelusuran, bukan transkrip lengkap

Mengubah keadaan sistem
sed -i '/^USER www-data$/i RUN chmod -R a+rX /var/www/html' Dockerfile

Asal dan konteks

  • Ringkasan penelusuran chat

HTTP, domain, HTTPS, WSS dan Nginx 1 entri

nginx3 kemunculan

Memeriksa atau mengatur HTTP, Nginx, domain dan transport HTTPS atau WSS.

Rujukan tertulis, eksekusi tidak disimpulkan

Nama alat atau potongan tanpa argumen lengkapAda placeholder atau potonganPemeriksaan atau rujukan, tinjau isi skrip
nginx

Asal dan konteks

  • Catatan induk lengkap · Panduan Praktis Deployment Rajawali Computer — 13 Oktober 2026 / Tahap E — build dan jalankan Laravel di VPS
  • Ringkasan penelusuran chat
  • Ringkasan penelusuran chat

Dependensi PHP, frontend dan build 16 entri

composer1 kemunculan

Memasang dependensi, membangun aset atau mengelola cache aplikasi sesuai subcommand.

Kutipan ringkas dari penelusuran, bukan transkrip lengkap

Nama alat atau potongan tanpa argumen lengkapAda placeholder atau potonganPemeriksaan atau rujukan, tinjau isi skrip
composer

Asal dan konteks

  • Ringkasan penelusuran chat · Run with: docker compose --env-file .env.production -f compose.production.yml up -d
composer create-project laravel/laravel .1 kemunculan

Memasang dependensi, membangun aset atau mengelola cache aplikasi sesuai subcommand.

Kutipan ringkas dari penelusuran, bukan transkrip lengkap

Mengubah keadaan sistemSumber memuat larangan atau pembatasan pemakaian
composer create-project laravel/laravel .

Asal dan konteks

  • Ringkasan penelusuran chat
composer create-project laravel/laravel . "^13.0"2 kemunculan

Memasang dependensi, membangun aset atau mengelola cache aplikasi sesuai subcommand.

Tercatat sebagai input terminal

Mengubah keadaan sistem
composer create-project laravel/laravel . "^13.0"

Asal dan konteks

  • Catatan induk lengkap · Panduan pengujian fungsional dan keamanan Rajawali Computer / Lampiran 31: Pasted text(4).txt
  • Lampiran teks lengkap
composer install --no-dev1 kemunculan

Memasang dependensi, membangun aset atau mengelola cache aplikasi sesuai subcommand.

Rujukan tertulis, eksekusi tidak disimpulkan

Mengubah keadaan sistem
composer install --no-dev

Asal dan konteks

  • Catatan induk lengkap · Bukti Blok Kode Clark-Wilson dan OWASP Rajawali Computer / Blok 27. A03 Instalasi dependency PHP dari lockfile
npm1 kemunculan

Memasang dependensi, membangun aset atau mengelola cache aplikasi sesuai subcommand.

Kutipan ringkas dari penelusuran, bukan transkrip lengkap

Nama alat atau potongan tanpa argumen lengkapAda placeholder atau potonganPemeriksaan atau rujukan, tinjau isi skrip
npm

Asal dan konteks

  • Ringkasan penelusuran chat · Run with: docker compose --env-file .env.production -f compose.production.yml up -d
npm ci12 kemunculan

Memasang dependensi, membangun aset atau mengelola cache aplikasi sesuai subcommand.

Rujukan tertulis, eksekusi tidak disimpulkan

Mengubah keadaan sistem
npm ci

Asal dan konteks

  • Catatan induk lengkap · Analisis setelah seluruh rekaman diproses / Pembahasan DataTables JS secara utuh
  • Catatan induk lengkap · Bimbingan Pak Fikri 9 Oktober 2026 / Hasil revisi dan pemeriksaan source 12 Oktober 2026
  • Catatan induk lengkap · Pemeriksaan lanjutan 13 Oktober 2026 setelah Work terhenti / Kedudukan teknis dan perubahan source pada kelanjutan ini
  • Catatan induk lengkap · Analisis setelah seluruh rekaman diproses / Pembahasan DataTables JS secara utuh
  • Catatan induk lengkap · Bimbingan Pak Fikri 9 Oktober 2026 / Hasil revisi dan pemeriksaan source 12 Oktober 2026
  • Catatan induk lengkap · Pemeriksaan lanjutan 13 Oktober 2026 setelah Work terhenti / Kedudukan teknis dan perubahan source pada kelanjutan ini
  • Catatan induk lengkap · Analisis setelah seluruh rekaman diproses / Pembahasan DataTables JS secara utuh
  • Catatan induk lengkap · Analisis setelah seluruh rekaman diproses / Pembahasan DataTables JS secara utuh
  • Catatan induk lengkap · Bimbingan Pak Fikri 9 Oktober 2026 / Hasil revisi dan pemeriksaan source 12 Oktober 2026
  • Catatan induk lengkap · Pemeriksaan lanjutan 13 Oktober 2026 setelah Work terhenti / Kedudukan teknis dan perubahan source pada kelanjutan ini
  • Catatan induk lengkap · Panduan pengujian fungsional dan keamanan Rajawali Computer / 4. Alat dan pemeriksaan lain
  • Catatan induk lengkap · Rajawali Computer — Pekerjaan, pengujian, dan persiapan bimbingan Pak Miftah / Pembaruan implementasi dari ZIP source VPS aktual, 17 Oktober 2026
npm ci --ignore-scripts1 kemunculan

Memasang dependensi, membangun aset atau mengelola cache aplikasi sesuai subcommand.

Rujukan tertulis, eksekusi tidak disimpulkan

Mengubah keadaan sistem
npm ci --ignore-scripts

Asal dan konteks

  • Catatan induk lengkap · Bukti Blok Kode Clark-Wilson dan OWASP Rajawali Computer / Blok 26. A03 Instalasi dependency frontend dari lockfile
npm install3 kemunculan

Memasang dependensi, membangun aset atau mengelola cache aplikasi sesuai subcommand.

Rujukan tertulis, eksekusi tidak disimpulkan

Mengubah keadaan sistem
npm install

Asal dan konteks

  • Catatan induk lengkap · Pemeriksaan lanjutan 13 Oktober 2026 setelah Work terhenti / Kedudukan teknis dan perubahan source pada kelanjutan ini
  • Catatan induk lengkap · Pemeriksaan lanjutan 13 Oktober 2026 setelah Work terhenti / Kedudukan teknis dan perubahan source pada kelanjutan ini
  • Catatan induk lengkap · Pemeriksaan lanjutan 13 Oktober 2026 setelah Work terhenti / Kedudukan teknis dan perubahan source pada kelanjutan ini
npm install --package-lock-only --ignore-scripts --no-audit --no-fund1 kemunculan

Memasang dependensi, membangun aset atau mengelola cache aplikasi sesuai subcommand.

Rujukan tertulis, eksekusi tidak disimpulkan

Mengubah keadaan sistem
npm install --package-lock-only --ignore-scripts --no-audit --no-fund

Asal dan konteks

  • Catatan induk lengkap · Tahap 2 — Persiapan deployment Rajawali melalui CloudPanel + Docker / Hal yang belum dapat diselesaikan dari sini
npm run build5 kemunculan

Membangun aset produksi melalui script package.json. Jika diikuti tes browser, kedua tahap merupakan satu rangkaian.

Tercatat sebagai input terminal

Pemeriksaan atau rujukan, tinjau isi skrip
npm run build

Asal dan konteks

  • Catatan induk lengkap · Panduan pengujian fungsional dan keamanan Rajawali Computer / Lampiran 33: Pasted text(6).txt
  • Catatan induk lengkap · Rajawali Computer Production Deployment Checklist
  • Catatan induk lengkap · Panduan pengujian fungsional dan keamanan Rajawali Computer / Lampiran 19: Pasted markdown.md
  • Lampiran teks lengkap
  • Ringkasan penelusuran chat
npx tsc --noEmit2 kemunculan

Memasang dependensi, membangun aset atau mengelola cache aplikasi sesuai subcommand.

Rujukan tertulis, eksekusi tidak disimpulkan

Pemeriksaan atau rujukan, tinjau isi skrip
npx tsc --noEmit

Asal dan konteks

  • Catatan induk lengkap · Panduan pengujian fungsional dan keamanan Rajawali Computer / Lampiran 33: Pasted text(6).txt
  • Lampiran teks lengkap
optimize:clear1 kemunculan

Memasang dependensi, membangun aset atau mengelola cache aplikasi sesuai subcommand.

Rujukan tertulis, eksekusi tidak disimpulkan

Nama alat atau potongan tanpa argumen lengkapAda placeholder atau potonganPemeriksaan atau rujukan, tinjau isi skrip
optimize:clear

Asal dan konteks

  • Catatan induk lengkap · Panduan pengujian fungsional dan keamanan Rajawali Computer / Lampiran 19: Pasted markdown.md
php artisan optimize:clear4 kemunculan

Membersihkan cache optimasi Laravel agar konfigurasi atau route tidak dibaca dari cache lama.

Tercatat sebagai input terminal

Pemeriksaan atau rujukan, tinjau isi skrip
php artisan optimize:clear

Asal dan konteks

  • Catatan induk lengkap · Panduan pengujian fungsional dan keamanan Rajawali Computer / Lampiran 32: Pasted text(5).txt
  • Catatan induk lengkap · Panduan pengujian fungsional dan keamanan Rajawali Computer / Lampiran 33: Pasted text(6).txt
  • Lampiran teks lengkap
  • Lampiran teks lengkap
php artisan route:list2 kemunculan

Memasang dependensi, membangun aset atau mengelola cache aplikasi sesuai subcommand.

Tercatat sebagai input terminal

Pemeriksaan atau rujukan, tinjau isi skrip
php artisan route:list

Asal dan konteks

  • Catatan induk lengkap · Panduan pengujian fungsional dan keamanan Rajawali Computer / Lampiran 33: Pasted text(6).txt
  • Lampiran teks lengkap
route:list1 kemunculan

Memasang dependensi, membangun aset atau mengelola cache aplikasi sesuai subcommand.

Rujukan tertulis, eksekusi tidak disimpulkan

Nama alat atau potongan tanpa argumen lengkapAda placeholder atau potonganPemeriksaan atau rujukan, tinjau isi skrip
route:list

Asal dan konteks

  • Catatan induk lengkap · Panduan pengujian fungsional dan keamanan Rajawali Computer / Lampiran 19: Pasted markdown.md
sh ops/deploy/sync-datatables-lock.sh1 kemunculan

Memasang dependensi, membangun aset atau mengelola cache aplikasi sesuai subcommand.

Ditulis sebagai blok panduan atau SQL

Pemeriksaan atau rujukan, tinjau isi skrip
sh ops/deploy/sync-datatables-lock.sh

Asal dan konteks

  • Catatan induk lengkap · Panduan Praktis Deployment Rajawali Computer — 13 Oktober 2026 / Tahap A — unggah source (drag-and-drop)

Git dan pemeriksaan versi source 7 entri

git1 kemunculan

Memeriksa atau mengoperasikan source dengan Git sesuai subcommand historis.

Kutipan ringkas dari penelusuran, bukan transkrip lengkap

Nama alat atau potongan tanpa argumen lengkapAda placeholder atau potonganPemeriksaan atau rujukan, tinjau isi skrip
git

Asal dan konteks

  • Ringkasan penelusuran chat · Run with: docker compose --env-file .env.production -f compose.production.yml up -d
git add2 kemunculan

Memeriksa atau mengoperasikan source dengan Git sesuai subcommand historis.

Rujukan tertulis, eksekusi tidak disimpulkan

Nama alat atau potongan tanpa argumen lengkapAda placeholder atau potonganPemeriksaan atau rujukan, tinjau isi skrip
git add

Asal dan konteks

  • Catatan induk lengkap · Bimbingan Pak Fikri 9 Oktober 2026 / Koreksi keputusan setelah bimbingan, 13 Oktober 2026: Git untuk pekerjaan TA pribadi
  • Catatan induk lengkap · Bimbingan Pak Fikri 9 Oktober 2026 / Koreksi keputusan setelah bimbingan, 13 Oktober 2026: Git untuk pekerjaan TA pribadi
git commit2 kemunculan

Memeriksa atau mengoperasikan source dengan Git sesuai subcommand historis.

Rujukan tertulis, eksekusi tidak disimpulkan

Nama alat atau potongan tanpa argumen lengkapAda placeholder atau potonganPemeriksaan atau rujukan, tinjau isi skrip
git commit

Asal dan konteks

  • Catatan induk lengkap · Bimbingan Pak Fikri 9 Oktober 2026 / Koreksi keputusan setelah bimbingan, 13 Oktober 2026: Git untuk pekerjaan TA pribadi
  • Catatan induk lengkap · Bimbingan Pak Fikri 9 Oktober 2026 / Koreksi keputusan setelah bimbingan, 13 Oktober 2026: Git untuk pekerjaan TA pribadi
git init2 kemunculan

Memeriksa atau mengoperasikan source dengan Git sesuai subcommand historis.

Rujukan tertulis, eksekusi tidak disimpulkan

Pemeriksaan atau rujukan, tinjau isi skrip
git init

Asal dan konteks

  • Catatan induk lengkap · Bimbingan Pak Fikri 9 Oktober 2026 / Koreksi keputusan setelah bimbingan, 13 Oktober 2026: Git untuk pekerjaan TA pribadi
  • Catatan induk lengkap · Bimbingan Pak Fikri 9 Oktober 2026 / Koreksi keputusan setelah bimbingan, 13 Oktober 2026: Git untuk pekerjaan TA pribadi
git status2 kemunculan

Memeriksa atau mengoperasikan source dengan Git sesuai subcommand historis.

Rujukan tertulis, eksekusi tidak disimpulkan

Pemeriksaan atau rujukan, tinjau isi skrip
git status

Asal dan konteks

  • Catatan induk lengkap · Bimbingan Pak Fikri 9 Oktober 2026 / Koreksi keputusan setelah bimbingan, 13 Oktober 2026: Git untuk pekerjaan TA pribadi
  • Catatan induk lengkap · Bimbingan Pak Fikri 9 Oktober 2026 / Koreksi keputusan setelah bimbingan, 13 Oktober 2026: Git untuk pekerjaan TA pribadi
ops/deploy/git-sync.sh8 kemunculan

Memeriksa atau mengoperasikan source dengan Git sesuai subcommand historis.

Rujukan tertulis, eksekusi tidak disimpulkan

Pemeriksaan atau rujukan, tinjau isi skrip
ops/deploy/git-sync.sh

Asal dan konteks

  • Catatan induk lengkap · Analisis setelah seluruh rekaman diproses / Pembahasan Git secara utuh
  • Catatan induk lengkap · Analisis setelah seluruh rekaman diproses / Penunjuk source untuk persiapan penjelasan
  • Catatan induk lengkap · Analisis setelah seluruh rekaman diproses / Pembahasan Git secara utuh
  • Catatan induk lengkap · Analisis setelah seluruh rekaman diproses / Penunjuk source untuk persiapan penjelasan
  • Catatan induk lengkap · Pemeriksaan lanjutan 13 Oktober 2026 setelah Work terhenti / Kedudukan teknis dan perubahan source pada kelanjutan ini
  • Catatan induk lengkap · Analisis setelah seluruh rekaman diproses / Pembahasan Git secara utuh
  • Catatan induk lengkap · Analisis setelah seluruh rekaman diproses / Pembahasan Git secara utuh
  • Catatan induk lengkap · Analisis setelah seluruh rekaman diproses / Penunjuk source untuk persiapan penjelasan
subprocess.run(['git','merge-file','-p',str(p1),str(p2),str(p3)],capture_output=True)BARU · 1 kemunculan

Panggilan Git merge-file pada installer untuk membandingkan source aktual, basis dan revisi. Panggilan ini belum membuktikan konflik source sudah terselesaikan pada VPS.

Tertulis dalam script paket, eksekusi VPS belum dibuktikan

Python asli dalam installer, bukan Bash mandiriTidak ada hasil eksekusi VPS pada arsip script

Tambahan dari script paket revisi. Variabel dan fungsi Python dibaca pada sumber lengkap. Eksekusinya pada VPS belum dibuktikan oleh arsip ini.

subprocess.run(['git','merge-file','-p',str(p1),str(p2),str(p3)],capture_output=True)

Asal dan konteks

  • Script asli dalam paket revisi · Rajawali_PATCH_KONSOLIDASI_ADMIN_AUDIT_BERDASARKAN_VPS_20Okt2026.zip / RUN_PATCH.py

Pemeriksaan perangkat dan lingkungan lokal 29 entri

code --version2 kemunculan

Memeriksa versi, lokasi executable atau kemampuan perangkat pengembangan.

Kutipan ringkas dari penelusuran, bukan transkrip lengkap

Pemeriksaan atau rujukan, tinjau isi skripSumber memuat larangan atau pembatasan pemakaian
code --version

Asal dan konteks

  • Ringkasan penelusuran chat
  • Ringkasan penelusuran chat
composer --version2 kemunculan

Memeriksa versi, lokasi executable atau kemampuan perangkat pengembangan.

Kutipan ringkas dari penelusuran, bukan transkrip lengkap

Pemeriksaan atau rujukan, tinjau isi skripSumber memuat larangan atau pembatasan pemakaian
composer --version

Asal dan konteks

  • Ringkasan penelusuran chat
  • Ringkasan penelusuran chat
docker --version1 kemunculan

Memeriksa versi, lokasi executable atau kemampuan perangkat pengembangan.

Kutipan ringkas dari penelusuran, bukan transkrip lengkap

Pemeriksaan atau rujukan, tinjau isi skrip
docker --version

Asal dan konteks

  • Ringkasan penelusuran chat
docker compose version1 kemunculan

Memeriksa versi, lokasi executable atau kemampuan perangkat pengembangan.

Kutipan ringkas dari penelusuran, bukan transkrip lengkap

Pemeriksaan atau rujukan, tinjau isi skrip
docker compose version

Asal dan konteks

  • Ringkasan penelusuran chat
git --version2 kemunculan

Memeriksa versi, lokasi executable atau kemampuan perangkat pengembangan.

Kutipan ringkas dari penelusuran, bukan transkrip lengkap

Pemeriksaan atau rujukan, tinjau isi skripSumber memuat larangan atau pembatasan pemakaian
git --version

Asal dan konteks

  • Ringkasan penelusuran chat
  • Ringkasan penelusuran chat
node -v2 kemunculan

Memeriksa versi, lokasi executable atau kemampuan perangkat pengembangan.

Kutipan ringkas dari penelusuran, bukan transkrip lengkap

Pemeriksaan atau rujukan, tinjau isi skripSumber memuat larangan atau pembatasan pemakaian
node -v

Asal dan konteks

  • Ringkasan penelusuran chat
  • Ringkasan penelusuran chat
npm -v2 kemunculan

Memeriksa versi, lokasi executable atau kemampuan perangkat pengembangan.

Kutipan ringkas dari penelusuran, bukan transkrip lengkap

Pemeriksaan atau rujukan, tinjau isi skripSumber memuat larangan atau pembatasan pemakaian
npm -v

Asal dan konteks

  • Ringkasan penelusuran chat
  • Ringkasan penelusuran chat
php --ini1 kemunculan

Memeriksa versi, lokasi executable atau kemampuan perangkat pengembangan.

Kutipan ringkas dari penelusuran, bukan transkrip lengkap

Pemeriksaan atau rujukan, tinjau isi skrip
php --ini

Asal dan konteks

  • Ringkasan penelusuran chat
php -v2 kemunculan

Memeriksa versi, lokasi executable atau kemampuan perangkat pengembangan.

Kutipan ringkas dari penelusuran, bukan transkrip lengkap

Pemeriksaan atau rujukan, tinjau isi skripSumber memuat larangan atau pembatasan pemakaian
php -v

Asal dan konteks

  • Ringkasan penelusuran chat
  • Ringkasan penelusuran chat
psql --version2 kemunculan

Memeriksa versi, lokasi executable atau kemampuan perangkat pengembangan.

Kutipan ringkas dari penelusuran, bukan transkrip lengkap

Pemeriksaan atau rujukan, tinjau isi skripSumber memuat larangan atau pembatasan pemakaian
psql --version

Asal dan konteks

  • Ringkasan penelusuran chat
  • Ringkasan penelusuran chat
ssh -V1 kemunculan

Memeriksa versi, lokasi executable atau kemampuan perangkat pengembangan.

Kutipan ringkas dari penelusuran, bukan transkrip lengkap

Pemeriksaan atau rujukan, tinjau isi skripSumber memuat larangan atau pembatasan pemakaian
ssh -V

Asal dan konteks

  • Ringkasan penelusuran chat
where code1 kemunculan

Memeriksa versi, lokasi executable atau kemampuan perangkat pengembangan.

Kutipan ringkas dari penelusuran, bukan transkrip lengkap

Pemeriksaan atau rujukan, tinjau isi skripSumber memuat larangan atau pembatasan pemakaian
where code

Asal dan konteks

  • Ringkasan penelusuran chat
where composer1 kemunculan

Memeriksa versi, lokasi executable atau kemampuan perangkat pengembangan.

Kutipan ringkas dari penelusuran, bukan transkrip lengkap

Pemeriksaan atau rujukan, tinjau isi skripSumber memuat larangan atau pembatasan pemakaian
where composer

Asal dan konteks

  • Ringkasan penelusuran chat
where git1 kemunculan

Memeriksa versi, lokasi executable atau kemampuan perangkat pengembangan.

Kutipan ringkas dari penelusuran, bukan transkrip lengkap

Pemeriksaan atau rujukan, tinjau isi skripSumber memuat larangan atau pembatasan pemakaian
where git

Asal dan konteks

  • Ringkasan penelusuran chat
where node1 kemunculan

Memeriksa versi, lokasi executable atau kemampuan perangkat pengembangan.

Kutipan ringkas dari penelusuran, bukan transkrip lengkap

Pemeriksaan atau rujukan, tinjau isi skripSumber memuat larangan atau pembatasan pemakaian
where node

Asal dan konteks

  • Ringkasan penelusuran chat
where npm1 kemunculan

Memeriksa versi, lokasi executable atau kemampuan perangkat pengembangan.

Kutipan ringkas dari penelusuran, bukan transkrip lengkap

Pemeriksaan atau rujukan, tinjau isi skripSumber memuat larangan atau pembatasan pemakaian
where npm

Asal dan konteks

  • Ringkasan penelusuran chat
where php1 kemunculan

Memeriksa versi, lokasi executable atau kemampuan perangkat pengembangan.

Kutipan ringkas dari penelusuran, bukan transkrip lengkap

Pemeriksaan atau rujukan, tinjau isi skripSumber memuat larangan atau pembatasan pemakaian
where php

Asal dan konteks

  • Ringkasan penelusuran chat
where psql1 kemunculan

Memeriksa versi, lokasi executable atau kemampuan perangkat pengembangan.

Kutipan ringkas dari penelusuran, bukan transkrip lengkap

Pemeriksaan atau rujukan, tinjau isi skripSumber memuat larangan atau pembatasan pemakaian
where psql

Asal dan konteks

  • Ringkasan penelusuran chat
where ssh1 kemunculan

Memeriksa versi, lokasi executable atau kemampuan perangkat pengembangan.

Kutipan ringkas dari penelusuran, bukan transkrip lengkap

Pemeriksaan atau rujukan, tinjau isi skripSumber memuat larangan atau pembatasan pemakaian
where ssh

Asal dan konteks

  • Ringkasan penelusuran chat
where.exe code1 kemunculan

Memeriksa versi, lokasi executable atau kemampuan perangkat pengembangan.

Kutipan ringkas dari penelusuran, bukan transkrip lengkap

Pemeriksaan atau rujukan, tinjau isi skrip
where.exe code

Asal dan konteks

  • Ringkasan penelusuran chat
where.exe composer1 kemunculan

Memeriksa versi, lokasi executable atau kemampuan perangkat pengembangan.

Kutipan ringkas dari penelusuran, bukan transkrip lengkap

Pemeriksaan atau rujukan, tinjau isi skrip
where.exe composer

Asal dan konteks

  • Ringkasan penelusuran chat
where.exe docker1 kemunculan

Memeriksa versi, lokasi executable atau kemampuan perangkat pengembangan.

Kutipan ringkas dari penelusuran, bukan transkrip lengkap

Pemeriksaan atau rujukan, tinjau isi skrip
where.exe docker

Asal dan konteks

  • Ringkasan penelusuran chat
where.exe git1 kemunculan

Memeriksa versi, lokasi executable atau kemampuan perangkat pengembangan.

Kutipan ringkas dari penelusuran, bukan transkrip lengkap

Pemeriksaan atau rujukan, tinjau isi skrip
where.exe git

Asal dan konteks

  • Ringkasan penelusuran chat
where.exe node1 kemunculan

Memeriksa versi, lokasi executable atau kemampuan perangkat pengembangan.

Kutipan ringkas dari penelusuran, bukan transkrip lengkap

Pemeriksaan atau rujukan, tinjau isi skrip
where.exe node

Asal dan konteks

  • Ringkasan penelusuran chat
where.exe npm1 kemunculan

Memeriksa versi, lokasi executable atau kemampuan perangkat pengembangan.

Kutipan ringkas dari penelusuran, bukan transkrip lengkap

Pemeriksaan atau rujukan, tinjau isi skrip
where.exe npm

Asal dan konteks

  • Ringkasan penelusuran chat
where.exe php1 kemunculan

Memeriksa versi, lokasi executable atau kemampuan perangkat pengembangan.

Kutipan ringkas dari penelusuran, bukan transkrip lengkap

Pemeriksaan atau rujukan, tinjau isi skrip
where.exe php

Asal dan konteks

  • Ringkasan penelusuran chat
where.exe psql1 kemunculan

Memeriksa versi, lokasi executable atau kemampuan perangkat pengembangan.

Kutipan ringkas dari penelusuran, bukan transkrip lengkap

Pemeriksaan atau rujukan, tinjau isi skrip
where.exe psql

Asal dan konteks

  • Ringkasan penelusuran chat
wsl --status1 kemunculan

Memeriksa versi, lokasi executable atau kemampuan perangkat pengembangan.

Kutipan ringkas dari penelusuran, bukan transkrip lengkap

Pemeriksaan atau rujukan, tinjau isi skrip
wsl --status

Asal dan konteks

  • Ringkasan penelusuran chat
wsl --version1 kemunculan

Memeriksa versi, lokasi executable atau kemampuan perangkat pengembangan.

Kutipan ringkas dari penelusuran, bukan transkrip lengkap

Pemeriksaan atau rujukan, tinjau isi skrip
wsl --version

Asal dan konteks

  • Ringkasan penelusuran chat

Layanan host, jaringan dan izin berkas 1 entri

chmod 600 .env.production1 kemunculan

Memeriksa atau mengubah layanan host, jaringan serta permission berkas.

Ditulis sebagai blok panduan atau SQL

Mengubah keadaan sistem
chmod 600 .env.production

Asal dan konteks

  • Catatan induk lengkap · Panduan Praktis Deployment Rajawali Computer — 13 Oktober 2026 / Tahap C — konfigurasi production secara privat pada VPS

Navigasi terminal dan pengelolaan berkas 9 entri

cd /d "C:\Semester 8\TA - Research Methodology\rajawali_computer"2 kemunculan

Berpindah direktori, membaca atau mengelola berkas sesuai perintah yang tertulis.

Tercatat sebagai input terminal

Pemeriksaan atau rujukan, tinjau isi skrip
cd /d "C:\Semester 8\TA - Research Methodology\rajawali_computer"

Asal dan konteks

  • Catatan induk lengkap · Panduan pengujian fungsional dan keamanan Rajawali Computer / Lampiran 31: Pasted text(4).txt
  • Lampiran teks lengkap
cd /d ...1 kemunculan

Berpindah direktori, membaca atau mengelola berkas sesuai perintah yang tertulis.

Kutipan ringkas dari penelusuran, bukan transkrip lengkap

Ada placeholder atau potonganPemeriksaan atau rujukan, tinjau isi skripSumber memuat larangan atau pembatasan pemakaian
cd /d ...

Asal dan konteks

  • Ringkasan penelusuran chat
cd /home/rajawalicompgresik/rajawalicompgresik6 kemunculan

Berpindah direktori, membaca atau mengelola berkas sesuai perintah yang tertulis.

Tercatat sebagai input terminal

Pemeriksaan atau rujukan, tinjau isi skrip
cd /home/rajawalicompgresik/rajawalicompgresik

Asal dan konteks

  • Catatan induk lengkap · Catatan TA Rajawali Computer / Installer berhenti pada pemeriksaan AuthApp VPS 17 Oktober 2026
  • Catatan induk lengkap · Pemeriksaan arahan bimbingan terbaru dan revisi lanjutan 17 Oktober 2026 / Jawaban dan langkah berikutnya
  • Lampiran teks lengkap
  • Ringkasan penelusuran chat
  • Ringkasan penelusuran chat
  • Command dan hasil pengguna pada chat ini · Command dan hasil terminal yang dikirim pengguna pada chat ini / Installer patch koreksi yang pernah gagal
cd /opt/rajawali3 kemunculan

Berpindah direktori, membaca atau mengelola berkas sesuai perintah yang tertulis.

Ditulis sebagai blok panduan atau SQL

Pemeriksaan atau rujukan, tinjau isi skripTerikat path atau rilis historis
cd /opt/rajawali

Asal dan konteks

  • Catatan induk lengkap · Panduan Praktis Deployment Rajawali Computer — 13 Oktober 2026 / Tahap A — unggah source (drag-and-drop)
  • Catatan induk lengkap · Panduan Praktis Deployment Rajawali Computer — 13 Oktober 2026 / Tahap D — database di Docker dan restore data
  • Catatan induk lengkap · Panduan Praktis Deployment Rajawali Computer — 13 Oktober 2026 / Tahap E — build dan jalankan Laravel di VPS
Copy-Item $syncSource $syncTarget -Force2 kemunculan

Berpindah direktori, membaca atau mengelola berkas sesuai perintah yang tertulis.

Rujukan tertulis, eksekusi tidak disimpulkan

Pemeriksaan atau rujukan, tinjau isi skrip
Copy-Item $syncSource $syncTarget -Force

Asal dan konteks

  • Catatan induk lengkap · Panduan pengujian fungsional dan keamanan Rajawali Computer / Lampiran 36: Pasted text(9).txt
  • Lampiran teks lengkap
cp .env.production.example .env.production1 kemunculan

Berpindah direktori, membaca atau mengelola berkas sesuai perintah yang tertulis.

Ditulis sebagai blok panduan atau SQL

Pemeriksaan atau rujukan, tinjau isi skrip
cp .env.production.example .env.production

Asal dan konteks

  • Catatan induk lengkap · Panduan Praktis Deployment Rajawali Computer — 13 Oktober 2026 / Tahap C — konfigurasi production secara privat pada VPS
dir "C:\Semester 8\TA - Research Methodology\rajawali_computer"1 kemunculan

Berpindah direktori, membaca atau mengelola berkas sesuai perintah yang tertulis.

Kutipan ringkas dari penelusuran, bukan transkrip lengkap

Pemeriksaan atau rujukan, tinjau isi skripSumber memuat larangan atau pembatasan pemakaian
dir "C:\Semester 8\TA - Research Methodology\rajawali_computer"

Asal dan konteks

  • Ringkasan penelusuran chat
ls1 kemunculan

Berpindah direktori, membaca atau mengelola berkas sesuai perintah yang tertulis.

Rujukan tertulis, eksekusi tidak disimpulkan

Nama alat atau potongan tanpa argumen lengkapAda placeholder atau potonganPemeriksaan atau rujukan, tinjau isi skrip
ls

Asal dan konteks

  • Catatan induk lengkap · Tahap 2 — Persiapan deployment Rajawali melalui CloudPanel + Docker / Contoh perintah pengecekan setelah ZIP berada di VPS
sudo mkdir -p /opt/rajawali1 kemunculan

Berpindah direktori, membaca atau mengelola berkas sesuai perintah yang tertulis.

Ditulis sebagai blok panduan atau SQL

Pemeriksaan atau rujukan, tinjau isi skripTerikat path atau rilis historis
sudo mkdir -p /opt/rajawali

Asal dan konteks

  • Catatan induk lengkap · Panduan Praktis Deployment Rajawali Computer — 13 Oktober 2026 / Tahap A — unggah source (drag-and-drop)

Command atau potongan lain dari arsip 4 entri

node1 kemunculan

Potongan command dipertahankan sesuai sumber. Konteks asal perlu dibaca sebelum dipakai kembali.

Kutipan ringkas dari penelusuran, bukan transkrip lengkap

Nama alat atau potongan tanpa argumen lengkapAda placeholder atau potonganPemeriksaan atau rujukan, tinjau isi skrip
node

Asal dan konteks

  • Ringkasan penelusuran chat · Run with: docker compose --env-file .env.production -f compose.production.yml up -d
node --cpu-prof5 kemunculan

Potongan command dipertahankan sesuai sumber. Konteks asal perlu dibaca sebelum dipakai kembali.

Rujukan tertulis, eksekusi tidak disimpulkan

Pemeriksaan atau rujukan, tinjau isi skrip
node --cpu-prof

Asal dan konteks

  • Catatan induk lengkap · Panduan pengujian fungsional dan keamanan Rajawali Computer / Lampiran 21: Pasted text(10).txt
  • Catatan induk lengkap · Panduan pengujian fungsional dan keamanan Rajawali Computer / Lampiran 27: Pasted text(20260929-154322).txt
  • Catatan induk lengkap · Panduan pengujian fungsional dan keamanan Rajawali Computer / Lampiran 33: Pasted text(6).txt
  • Lampiran teks lengkap
  • Lampiran teks lengkap
php1 kemunculan

Potongan command dipertahankan sesuai sumber. Konteks asal perlu dibaca sebelum dipakai kembali.

Kutipan ringkas dari penelusuran, bukan transkrip lengkap

Nama alat atau potongan tanpa argumen lengkapAda placeholder atau potonganPemeriksaan atau rujukan, tinjau isi skrip
php

Asal dan konteks

  • Ringkasan penelusuran chat · Run with: docker compose --env-file .env.production -f compose.production.yml up -d
python31 kemunculan

Potongan command dipertahankan sesuai sumber. Konteks asal perlu dibaca sebelum dipakai kembali.

Kutipan ringkas dari penelusuran, bukan transkrip lengkap

Nama alat atau potongan tanpa argumen lengkapAda placeholder atau potonganPemeriksaan atau rujukan, tinjau isi skrip
python3

Asal dan konteks

  • Ringkasan penelusuran chat

Sumber katalog dan pembaruan

Tombol sumber membuka teks yang disimpan dalam HTML ini. Pada source paket, label menjelaskan nama ZIP dan file di dalamnya. Isi tersebut tidak diperlakukan sebagai source aktif VPS tanpa bukti pemasangan.

SumberBentukBarisTeks
Catatan_Bimbingan_Pak_Fikri_7_Agustus_2026.mdCatatan induk lengkap23.134
Pasted text(2).txtLampiran teks lengkap1.562
Pasted text(1).txtLampiran teks lengkap40
Pasted text(10).txtLampiran teks lengkap316
Pasted text(20260923-155546).txtLampiran teks lengkap213
Pasted text(20260925-094134).txtLampiran teks lengkap463
Pasted text(20260925-095358).txtLampiran teks lengkap195
Pasted text(20260925-103227).txtLampiran teks lengkap623
Pasted text(20261017-063546).txtLampiran teks lengkap411
Pasted text(20261017-090321).txtLampiran teks lengkap599
Pasted text(20261017-111206).txtLampiran teks lengkap411
Pasted text(20261017-115329).txtLampiran teks lengkap696
Pasted text(3).txtLampiran teks lengkap25
Pasted text(4).txtLampiran teks lengkap692
Pasted text(5).txtLampiran teks lengkap258
Pasted text(6).txtLampiran teks lengkap318
Pasted text(7).txtLampiran teks lengkap689
Pasted text(8).txtLampiran teks lengkap237
Pasted text(9).txtLampiran teks lengkap423
Pasted text.txtLampiran teks lengkap29
Potongan penelusuran riwayat 1Ringkasan penelusuran chat35
Potongan penelusuran riwayat 2Ringkasan penelusuran chat25
Potongan penelusuran riwayat 3Ringkasan penelusuran chat65
Potongan penelusuran riwayat 4Ringkasan penelusuran chat12
Command dan output pengguna pada chat iniCommand dan hasil pengguna pada chat ini19
Penelusuran pembaruan chat 20 Oktober 2026 · 1Ringkasan penelusuran chat19
Penelusuran pembaruan chat 20 Oktober 2026 · 2Ringkasan penelusuran chat7
Penelusuran pembaruan chat 20 Oktober 2026 · 3Ringkasan penelusuran chat19
Rajawali_PATCH_ADMIN_AUDIT_LOG_TANPA_TABEL_BARU_20Okt2026.zip / RUN_PATCH.pyScript asli dalam paket revisi426
Rajawali_PATCH_ADMIN_ONLINE_CONTROLLER_KOMPATIBEL_20Okt2026.zip / RUN_PATCH.pyScript asli dalam paket revisi240
Rajawali_PATCH_ADMIN_ONLINE_ROUTE_KOMPATIBEL_20Okt2026.zip / RUN_PATCH.pyScript asli dalam paket revisi173
Rajawali_PATCH_BULK_FUNGSIONAL_20Okt2026.zip / RUN_PATCH.pyScript asli dalam paket revisi134
Rajawali_PATCH_CHECKOUT_PELANGGAN_DAN_PENGIRIMAN_OTOMATIS_20Okt2026.zip / RUN_PATCH.pyScript asli dalam paket revisi135
Rajawali_PATCH_KONSOLIDASI_ADMIN_AUDIT_BERDASARKAN_VPS_20Okt2026.zip / RUN_PATCH.pyScript asli dalam paket revisi554
Rajawali_PATCH_KONSOLIDASI_ADMIN_AUDIT_BERDASARKAN_VPS_20Okt2026.zip / AUDIT_CLEANUP.phpSource pendukung dalam paket revisi91
Rajawali_PATCH_KONSOLIDASI_ADMIN_AUDIT_BERDASARKAN_VPS_20Okt2026.zip / files/app/Services/Transactions/GroupedOnlineCheckout.phpSource pendukung dalam paket revisi473
Rajawali_PATCH_KONSOLIDASI_ADMIN_AUDIT_BERDASARKAN_VPS_20Okt2026.zip / files/app/Services/Transactions/OnlineOrderWorkflow.phpSource pendukung dalam paket revisi294
Rajawali_PATCH_KONSOLIDASI_ADMIN_AUDIT_BERDASARKAN_VPS_20Okt2026.zip / files/resources/js/online/OnlineOrdersPanel.tsxSource pendukung dalam paket revisi299
Rajawali_PATCH_KONSOLIDASI_ADMIN_AUDIT_BERDASARKAN_VPS_20Okt2026.zip / files/database/migrations/master/2026_10_18_120000_create_online_checkout_groups.phpSource pendukung dalam paket revisi69
Rajawali_PATCH_PERBAIKAN_UX_TANPA_DUMMY_PRODUKSI_20Okt2026.zip / RUN_PATCH.pyScript asli dalam paket revisi134
Rajawali_PATCH_SIMULASI_UAT_OWNER_TANPA_TOGGLE_20Okt2026.zip / RUN_PATCH.pyScript asli dalam paket revisi135
Rajawali_PATCH_TANPA_SIMULASI_DB_DAN_SATU_PAKET_20Okt2026.zip / RUN_PATCH.pyScript asli dalam paket revisi135
Rajawali_PATCH_UAT_EMAIL_POPUP_WILAYAH_ALAMAT_19Okt2026.zip / RUN_PATCH.pyScript asli dalam paket revisi134
Rajawali_PATCH_UAT_PENERIMA_ALAMAT_EMAIL_19Okt2026.zip / RUN_PATCH.pyScript asli dalam paket revisi172
Rajawali_PATCH_UAT_TRANSAKSI_DATABASE_YANG_ADA_20Okt2026.zip / RUN_PATCH.pyScript asli dalam paket revisi141

Katalog dipakai untuk belajar dan menelusuri bukti. Penggabungan dokumen ini tidak menjalankan installer, command VPS, SQL atau pengujian keamanan.