Laravel Inertia Spatie #7 Utils Permissions Dengan Inertia React


Laravel Inertia Spatie #7 Utils Permissions Dengan Inertia React

Disini kita akan membuat 1 buah Utils Permission yang digunakan untuk pembatasan akses sesuai dengan roles & permissions yang dimiliki oleh user.

Langkah 1 - Membuat Utils Permission

Silahkan buat folder baru dengan nama Utils di dalam folder resources/js, setelah itu di dalam folder resources/js/Utils silahkan buat file baru dengan nama Permissions.jsx dan masukkan kode berikut ini :

import { usePage } from "@inertiajs/react";

export default function hasAnyPermission(permissions){

    // destruct auth from usepage props
    const { auth } = usePage().props

    // get all permissions from props auth
    let allPermissions = auth.permissions;

    // define has permission is false
    let hasPermission = false;

    // loop permissions
    permissions.forEach(function(item){
        // do it if permission is match with key
        if(allPermissions[item])
            // assign hasPermission to true
            hasPermission = true;
    });

 return hasPermission;

   
}

Pada kode diatas pertama kita import usePage dari Inertia.

import { usePage } from "@inertiajs/react";

Selanjutnya kita membuat sebuah React Functional Component dengan nama hasAnyPermissions pada react functional component tersebut kita juga mendefinisikan sebuah props permissions.

export default function hasAnyPermission(permissions)

Berikutnya kita melakukan destructing sebuah props auth yang kita dapatkan dari share data global yang telah kita definisikan sebelumnya.

const { auth } = usePage().props

Selanjutnya kita mendefinisikan sebuah variabel baru dengan nama allPermissions, yang berisi data permissions yang diambil dari props auth.permissions.

let allPermissions = auth.permissions;

Berikutnya kita lakukan looping data permissions yang kita terima dari props, jika data ditemukan maka kita set hasPermissions dengan true

let hasPermission = false;
permissions.forEach(function(item){
    if(allPermissions[item])
        hasPermission = true;
});

Sumber : membuat-utils-permissions-dengan-inertia-react

Kesimpulan

Pada artikel ini, kita telah belajar Utils Permission Di Laravel Inertia React. Jika teman-teman ada kendala saat belajar, silahkan bisa bertanya melalui kolom komentar atau group Telegram SantriKoding

Semoga bermanfaat! 😊


Syahrizal AS
Back End Developer

Suka dengan tulisan di SantriKoding? Kamu bisa memberikan dukungan dengan berdonasi atau bagikan konten ini di sosial media. Terima kasih atas dukungan Anda!

KEBIJAKAN KOMENTAR

Saat memberikan komenatar silahkan memberikan informasi lengkap tentang error, seperti: screenshot, link kode, dll. Baca aturan komentar kami