Last updated
Last updated
Untuk melanjutkan proyek Anda, pertama-tama, mari kita integrasikan langkah-langkah untuk membuat query di model Product
. Kemudian, kita akan memperbarui kontroler ProductController
sesuai dengan kode yang diberikan.
SelectAllProducts(): Fungsi ini digunakan untuk mengambil semua produk dari database menggunakan GORM. Kemudian, data produk tersebut dikembalikan dalam bentuk slice dari pointer ke struct Product
.
SelectProductById(id int): Fungsi ini digunakan untuk mengambil detail produk berdasarkan ID yang diberikan. Jika produk dengan ID yang diberikan tidak ditemukan, nil akan dikembalikan. Jika ditemukan, detail produk akan dikembalikan dalam bentuk pointer ke struct Product
.
*PostProduct(item Product) error: Fungsi ini digunakan untuk menambahkan produk baru ke dalam database. Jika proses penambahan berhasil, nil akan dikembalikan. Jika terjadi kesalahan, error akan dikembalikan.
*UpdateProduct(id int, newProduct Product) error: Fungsi ini digunakan untuk memperbarui produk berdasarkan ID yang diberikan. Jika proses pembaruan berhasil, nil akan dikembalikan. Jika terjadi kesalahan, error akan dikembalikan.
DeleteProduct(id int) error: Fungsi ini digunakan untuk menghapus produk berdasarkan ID yang diberikan. Jika proses penghapusan berhasil, nil akan dikembalikan. Jika terjadi kesalahan, error akan dikembalikan.
*GetAllProduct(c fiber.Ctx) error: Fungsi ini mengembalikan semua produk dalam database sebagai respons JSON.
*GetDetailProduct(c fiber.Ctx) error: Fungsi ini mengembalikan detail produk berdasarkan ID yang diberikan dalam respons JSON. Jika produk tidak ditemukan, respons status "Product not found" akan dikirim.
*CreateProduct(c fiber.Ctx) error: Fungsi ini digunakan untuk menambahkan produk baru ke dalam database. Jika proses penambahan berhasil, respons "Product created successfully" akan dikirim.
*UpdateProduct(c fiber.Ctx) error: Fungsi ini digunakan untuk memperbarui produk berdasarkan ID yang diberikan. Jika proses pembaruan berhasil, respons "Product updated successfully" akan dikirim.
*DeleteProduct(c fiber.Ctx) error: Fungsi ini digunakan untuk menghapus produk berdasarkan ID yang diberikan. Jika proses penghapusan berhasil, respons "Product deleted successfully" akan dikirim.
src/controllers/ProductsControllers.go
Dengan memperbarui model dan kontroler sesuai dengan kode yang diberikan, Anda telah menambahkan fungsi untuk melakukan operasi database dengan menggunakan GORM. Sekarang, kontroler akan memanggil fungsi-fungsi yang sesuai dari model untuk mengakses dan memanipulasi data produk dalam database.