SingleRecordResource
Resource yang berorientasi pada single record: data adalah single object, mendukung get berdasarkan primary key, create/update (save), dan delete. Cocok untuk skenario "single record" seperti detail, form, dll. Berbeda dengan MultiRecordResource, getData() SingleRecordResource mengembalikan single object, primary key ditentukan melalui setFilterByTk(id), save() akan otomatis memanggil create atau update berdasarkan isNewRecord.
Hubungan Inheritance: FlowResource → APIResource → BaseRecordResource → SingleRecordResource.
Cara Pembuatan: ctx.makeResource('SingleRecordResource') atau ctx.initResource('SingleRecordResource'). Sebelum digunakan perlu setResourceName('nama-data-table'); saat operasi berdasarkan primary key perlu setFilterByTk(id); di RunJS ctx.api disuntikkan oleh runtime environment.
Skenario Penggunaan
Format Data
getData()mengembalikan objek record tunggal, yaitu fielddatadari API getgetMeta()mengembalikan informasi meta (jika ada)
Nama Resource dan Primary Key
Status
Parameter Request (Filter / Field)
CRUD
Konfigurasi dan Event
Contoh
Get dan Update Dasar
Membuat Record Baru
Menghapus Record
Expand Relasi dan Field
Resource Relasi (seperti users.profile)
save Tidak Otomatis Refresh
Memantau Event refresh / saved
Hal yang Perlu Diperhatikan
- setResourceName wajib: sebelum digunakan harus memanggil
setResourceName('nama-data-table'), jika tidak tidak dapat membangun URL request. - filterByTk dan isNewRecord: saat
setFilterByTkbelum disetelisNewRecordadalah true,refresh()tidak akan melakukan request;save()akan menjalankan create. - Resource relasi: saat nama resource adalah
parent.child(sepertiusers.profile), perlusetSourceId(primary key record parent)terlebih dahulu. - getData adalah objek:
datayang dikembalikan API single adalah objek record,getData()langsung mengembalikan objek tersebut; setelahdestroy()adalah null.
Terkait
- ctx.resource - Instance resource dalam konteks saat ini
- ctx.initResource() - Inisialisasi dan mengikat ke ctx.resource
- ctx.makeResource() - Membuat instance resource baru, tidak mengikat
- APIResource - API resource umum, request berdasarkan URL
- MultiRecordResource - Berorientasi data table/list, mendukung CRUD, pagination

