Tutorial Inertia Roles & Permissions - #7 - Membuat Share Data Global Inertia

Artikel ini merupakan series dari Tutorial Laravel Inertia Roles & Permissions, disini kita akan belajar membuat sebuah data yang dapat diakses di semua halaman menggunakan inertia.

Rafi Taufiqurrahman
Dipublish 13/07/2024

Pendahuluan

Untuk mengirimkan data secara global atau data yang dapat dipanggil di semua halaman, inertia.js memiliki fitur yang bernama share data. Share data ini kita dapatkan ketika kita melakukan installasi laravel breeze, untuk menambahkan data yang dapat dipanggil secara global kita bisa menambahkan-nya didalam middleware inertia.

Menambahkan Share Data Inertia

Silahkan teman - teman buka file yang bernama HandleInertiaRequest.php yang terletak di folder app/Http/Middleware, kemudian tambahkan kode berikut ini :

HandleInertiaRequest.php
<?php

namespace App\Http\Middleware;

use Illuminate\Http\Request;
use Inertia\Middleware;

class HandleInertiaRequests extends Middleware
{
    /**
     * The root template that is loaded on the first page visit.
     *
     * @var string
     */
    protected $rootView = 'app';

    /**
     * Determine the current asset version.
     */
    public function version(Request $request): string|null
    {
        return parent::version($request);
    }

    /**
     * Define the props that are shared by default.
     *
     * @return array<string, mixed>
     */
    public function share(Request $request): array
    {
        return [
            ...parent::share($request),
            'auth' => [
                'user' => $request->user(),
                'permissions' => $request->user() ? $request->user()->getUserPermissions() : [],
                'super' => $request->user() ? $request->user()->isSuperAdmin() : false,
            ],
        ];
    }
}

Pada kode diatas pada method share kita menambahkan beberapa key didalam array auth, yang pertama ada key permissions.

HandleInertiaRequest.php
'permissions' => $request->user() ? $request->user()->getUserPermissions() : [],

Pada kode diatas, key permissions kita lakukan pengecekan apakah user sedang login ? jika true maka kita tampilkan data permissions yang dimiliki oleh user menggunakan method getUserPermissions yang telah kita buat sebelumnya di model users, jika false maka kita akan tampilkan empty array.

Selanjutnya kita juga menambahkan key super, key super ini kita gunakan untuk melakukan pengecekan apakah user memiliki role super-admin.

HandleInertiaRequest.php
'super' => $request->user() ? $request->user()->isSuperAdmin() : false,

Penutup

Pada artikel kali ini kita telah berhasil membuat share data yang bersifat global di inertia, berikutnya kita akan lanjutkan untuk membuat beberapa components yang nantinya akan kita gunakan pada project kita.

Series Artikel

Berikut ini daftar series artikel dari Tutorial Laravel Inertia Roles & Permissions

1
Tutorial Inertia Roles & Permissions - #1 - Project Overview

Artikel ini merupakan series dari Tutorial Laravel Inertia Roles & Permissions, disini kita akan bahasa teknologi apa saja yang kita gunakan dan scope dari project yang akan kita bangun.

2
Tutorial Inertia Roles & Permissions - #2 - Installasi Project

Artikel ini merupakan series dari Tutorial Laravel Inertia Roles & Permissions, disini kita akan mulai melakukan installasi project laravel kita dari awal menggunakan composer.

3
Tutorial Inertia Roles & Permissions - #3 - Installasi Laravel Breeze & Inertia

Artikel ini merupakan series dari Tutorial Laravel Inertia Roles & Permissions, disini kita akan melakukan installasi laravel breeze dan inertia sebagai starter-kit kita.

4
Tutorial Inertia Roles & Permissions - #4 - Installasi Laravel Spatie

Artikel ini merupakan series dari Tutorial Laravel Inertia Roles & Permissions, disini kita akan melakukan installasi laravel spatie untuk menghandle roles & permissions.

5
Tutorial Inertia Roles & Permissions - #5 - Membuat Model, Migration, Faker Dan Seeder Laravel

Artikel ini merupakan series dari Tutorial Laravel Inertia Roles & Permissions, disini kita akan membuat sebuah model, migration, faker dan seeder yang akan kita gunakan di dalam project kita.

6
Tutorial Inertia Roles & Permissions - #6 - Membuat Relasi Antar Tabel Menggunakan Laravel Eloquent Relationship

Artikel ini merupakan series dari Tutorial Laravel Inertia Roles & Permissions, disini kita akan membuat relasi antar tabel menggunakan laravel eloquent relationship.

7
Tutorial Inertia Roles & Permissions - #7 - Membuat Share Data Global Inertia

Artikel ini merupakan series dari Tutorial Laravel Inertia Roles & Permissions, disini kita akan belajar membuat sebuah data yang dapat diakses di semua halaman menggunakan inertia.

8
Tutorial Inertia Roles & Permissions - #8 - Membuat Reusable Component Dengan React

Artikel ini merupakan series dari Tutorial Laravel Inertia Roles & Permissions, disini kita akan belajar membuat sebuah reusable component menggunakan react.

9
Tutorial Inertia Roles & Permissions - #9 - Membuat Utils Permissions Dengan Inertia React

Artikel ini merupakan series dari Tutorial Laravel Inertia Roles & Permissions, disini kita akan belajar membuat sebuah utils untuk menghandle permissions yang kita miliki.

10
Tutorial Inertia Roles & Permissions - #10 - Membuat Module Dashboard Dengan Inertia React

Artikel ini merupakan series dari Tutorial Laravel Inertia Roles & Permissions, disini kita akan membuat sebuah module dashboard dengan inertia react.

11
Tutorial Inertia Roles & Permissions - #11 - Membuat Module Post Dengan Inertia React

Artikel ini merupakan series dari Tutorial Laravel Inertia Roles & Permissions, disini kita akan membuat sebuah module post dengan inertia react.

12
Tutorial Inertia Roles & Permissions - #12 - Membuat Module Permission Dengan Inertia React

Artikel ini merupakan series dari Tutorial Laravel Inertia Roles & Permissions, disini kita akan membuat sebuah module permission dengan inertia react.

13
Tutorial Inertia Roles & Permissions - #13 - Membuat Module Role Dengan Inertia React

Artikel ini merupakan series dari Tutorial Laravel Inertia Roles & Permissions, disini kita akan membuat sebuah module role dengan inertia react.

14
Tutorial Inertia Roles & Permissions - #14 - Membuat Module User Dengan Inertia React

Artikel ini merupakan series dari Tutorial Laravel Inertia Roles & Permissions, disini kita akan membuat sebuah module user dengan inertia react.

JurnalKoding

Mulai asah skill dengan berbagai macam teknologi - teknologi terbaru seperti Laravel, React, Vue, Inertia, Tailwind CSS, dan masih banyak lagi.

© 2024 JurnalKoding, Inc. All rights reserved.