tables
Pengembang dapat menggunakan fungsi pada table untuk melakukan operasi terhadap tabel.
Table methods
findAll(args)
Method findAll berfungsi untuk mendapatkan semua data berdasarkan parameters yang dikirim.
Args properties
| name | type | description |
|---|---|---|
| table | string | nama tabel |
| select | array of string | memilih kolom yang akan diminta (kosongkan untuk mengambil semua kolom) |
| filter | string | filter data yang akan diminta (odata format) |
| limit | number | batas jumlah data yang diminta (biasa digunakan untuk pagination) |
| offset | number | jumlah data yang dilewati dari index pertama (digunakan sebagai pagination) |
| orderBy | array of object | kolom yang digunakan untuk mengurutkan data |
| orderBy[n].column | string | nama kolom |
| orderBy[n].order | enum"asc", "desc" | opsi urutan bisa berisi "asc" atau "desc" |
| include | array | daftar tabel relasi |
| database | string | ID dari database yang akan digunakan (default adalah "main") |
| transaction | object | database transaction (knex) |
| lock | enum"UPDATE", "SHARE" | Mode row-locking untuk mendukung concurrent access |
| skipLocked | boolean | Mode SKIP LOCKED untuk bypass row yang telah dikunci (row-locked) oleh proses lainnya |
Return
Promise<Object>
Object berisikan results(Array) dan count(Int)
Example
mengambil data dari table "books" dengan filter kolom "name".
findOne(args)
Method findOne berfungsi untuk mendapatkan satu baris data berdasarkan filter yang dibuat.
Args properties
| name | type | description |
|---|---|---|
| table | string | nama tabel |
| select | array of string | memilih kolom yang akan diminta (kosongkan untuk mengambil semua kolom) |
| filter | string | filter data yang akan diminta (odata format) |
| include | array | daftar tabel relasi |
| database | string | ID dari database yang akan digunakan (default adalah "main") |
| transaction | object | database transaction (knex) |
| lock | enum"UPDATE", "SHARE" | Mode row-locking untuk mendukung concurrent access |
| skipLocked | boolean | Mode SKIP LOCKED untuk bypass row yang telah dikunci (row-locked) oleh proses lainnya |
Return
Promise<Object>
Example
mengambil data buku berdasarkan filter.
findById(args)
Method findById berfungsi untuk mendapatkan data berdasarkan id.
Args properties
| name | type | description |
|---|---|---|
| table | string | nama tabel |
| select | array of string | memilih kolom yang akan diminta (kosongkan untuk mengambil semua kolom) |
| id | string (uuid) | id data yang akan diambil |
| include | array | daftar tabel relasi |
| database | string | ID dari database yang akan digunakan (default adalah "main") |
| transaction | object | database transaction (knex) |
| lock | enum"UPDATE", "SHARE" | Mode row-locking untuk mendukung concurrent access |
| skipLocked | boolean | Mode SKIP LOCKED untuk bypass row yang telah dikunci (row-locked) oleh proses lainnya |
Return
Promise<Object>
Example
mengambil data buku berdasarkan id.
create(args)
Method create berfungsi untuk membuat data baru berdasarkan parameters yang dikirim.
Args properties
| name | type | description |
|---|---|---|
| table | string | nama tabel |
| data | any object | berisi data sesuai kolom tabel |
| transaction | object | database transaction (knex) |
| event | boolean | jika bernilai true maka table event akan tertrigger |
| database | string | ID dari database yang akan digunakan (default adalah "main") |
Return
Promise<Object>
data yang berhasil dibuat.
Example
melakukan operasi insert data pada table "books" dengan data bersisi "name: 'new book'"
update(args)
Method update berfungsi untuk mengupdate data sesuai id.
Args properties
| name | type | description |
|---|---|---|
| table | string | nama tabel |
| id | string (uuid) | id data yang akan di-update |
| data | any object | data untuk menghupdate |
| transaction | object | database transaction (knex) |
| event | boolean | jika bernilai true maka akan dilakukan propagasi table event |
| database | string | ID dari database yang akan digunakan (default adalah "main") |
Return
Promise<Object>
data yang berhasil update.
Example
melakukan operasi update pada table "books" berdasarkan id.
destroy(args)
Method destroy berfungsi untuk menghapus data sesuai id.
Args properties
| name | type | description |
|---|---|---|
| table | string | nama tabel |
| id | string (uuid) | id data yang akan dihapus |
| transaction | object | database transaction (knex) |
| event | boolean | jika bernilai true maka akan dilakukan propagasi table event |
| database | string | ID dari database yang akan digunakan (default adalah "main") |
Return
Promise<string>
id data yang berhasil hapus.
Example
menghapus data berdasarkan id.
createTransaction(db,isolation)
Method createTransaction berfungsi untuk membuat transaction object. Argumen bersifat opsional.
Arguments
| name | type | description |
|---|---|---|
| db | string | ID dari database yang akan digunakan (default adalah "main") |
| isolation | enum"READ_COMMITED", "REPEATABLE_READ", "SERIALIZABLE" | Level isolasi transaksi (default PgSQL adalah READ_COMMITED) |
Return
Promise<Object>
transaction object.
Example
membuat transaction object, melakukan commit dan rollback