8.0.0

Uwaga: aktualizacja typu MAJOR. Wprowadza nowe funkcjonalności.

Zmienić wersję w pliku composer.json w głównym folderze z aplikacją:

"n1ebieski/idir": "^8.0"


  1. Aktualizacja vendorów:
    composer update --no-dev
  2. Publikacja migracji:
    php artisan vendor:publish --tag=icore.migrations
  3. Publikacja seederów:
    php artisan vendor:publish --tag=icore.seeds --force
    php artisan vendor:publish --tag=idir.seeds --force

    Uwaga: te operacje podmienią dotychczasowe pliki.

  4. Publikacja plików publicznych js:
    php artisan vendor:publish --tag=icore.public.js --force
    php artisan vendor:publish --tag=idir.public.js --force

    Uwaga: ta operacja podmieni dotychczasowe pliki. Jeśli kompilujesz pliki publiczne samodzielnie, musisz to zrobić ponownie w oparciu o nowe assety.

  5. Przeładowanie Composera:
    composer dump
  6. Wykonanie migracji:
    php artisan migrate --path="database/migrations/vendor/icore"
  7. Wykonanie seederów:
    php artisan db:seed --class="N1ebieski\ICore\Seeds\Install\DefaultRolesAndPermissionsSeeder"
    php artisan db:seed --class="N1ebieski\IDir\Seeds\Install\DefaultRolesAndPermissionsSeeder"
  8. Przeładowanie cache:
    php artisan optimize && php artisan config:clear && php artisan cache:clear && php artisan route:cache


# Refaktoryzacja route-a "socialites"

W pliku resources/views/vendor/idir/web/profile/partials/sidebar.blade.php zamienić wszystkie wystąpienia:

edit_socialite

na:

socialites

Zmienić nazwę pliku resources/views/vendor/icore/web/profile/edit_socialite.blade.php na socialites.blade.php i zamienić w nim wszystkie wystąpienia:

edit_socialite

na:

socialites


# Refaktoryzacja route-a "dirs"

W pliku resources/views/vendor/idir/web/profile/partials/sidebar.blade.php oraz resources/views/vendor/idir/web/profile/partials/dir/filter.blade.php zamienić wszystkie wystąpienia:

edit_dir

na:

dirs

W pliku resources/views/vendor/idir/web/profile/partials/dir/filter_filter.blade.php zamienić:

N1ebieski\IDir\Http\Requests\Web\Profile\EditDirRequest::class

na:

N1ebieski\IDir\Http\Requests\Web\Profile\DirsRequest::class

Zmienić nazwę pliku resources/views/vendor/idir/web/profile/edit_dir.blade.php na dirs.blade.php i zamienić w nim wszystkie wystąpienia:

edit_dir

na:

dirs


# Nowy panel generowania tokenów w profilu

W pliku resources/views/vendor/idir/web/profile/partials/sidebar.blade.php po fragmencie kodu:

            <span>{{ trans('icore::profile.route.socialites') }}</span>
        </a>
    </li>
    @endif

dodać:

    @canany(['web.tokens.edit', 'web.tokens.delete'])
    @can('api.access')
    <li class="nav-item {{ $isUrl(route('web.profile.tokens')) }}">
        <a 
            class="nav-link {{ $isUrl(route('web.profile.tokens')) }}"
            title="{{ trans('icore::profile.route.tokens') }}"
            href="{{ route('web.profile.tokens') }}"
        >
            <i class="fas fa-fw fa-user-lock"></i>
            <span>{{ trans('icore::profile.route.tokens') }}</span>
        </a>
    </li>
    @endcan
    @endcan


# Obsługa Recaptcha Invisible

W pliku config/services.php po:

    'recaptcha_v2' => [
        'secret_key' => env('RECAPTCHA_V2_SECRET_KEY'),
        'site_key'   => env('RECAPTCHA_V2_SITE_KEY'),
    ],

dodać:

    'recaptcha_invisible' => [
        'secret_key' => env('RECAPTCHA_INVISIBLE_SECRET_KEY'),
        'site_key'   => env('RECAPTCHA_INVISIBLE_SITE_KEY'),
    ],


# Obsługa tokenów API Sanctum

W pliku config/sanctum.php po:

    /*
    |--------------------------------------------------------------------------
    | Default Token Expiration Minutes
    |--------------------------------------------------------------------------
    |
    | This value controls the number of minutes until an issued token will be
    | considered expired. If this value is null, personal access tokens do
    | not expire. This won't tweak the lifetime of first-party sessions.
    |
    */

    'expiration' => null,

dodać:

    /*
    |--------------------------------------------------------------------------
    | Sanctum Guards
    |--------------------------------------------------------------------------
    |
    | This array contains the authentication guards that will be checked when
    | Sanctum is trying to authenticate a request. If none of these guards
    | are able to authenticate the request, Sanctum will use the bearer
    | token that's present on an incoming request for authentication.
    |
    */

    'guard' => ['web'],

    /*
    |--------------------------------------------------------------------------
    | Access Token Expiration Minutes
    |--------------------------------------------------------------------------
    |
    | This value controls the number of minutes until an access token will be
    | considered expired. If this value is null, personal access tokens do
    | not expire. This won't tweak the lifetime of first-party sessions.
    |
    */

    'access_expiration' => 120,

    /*
    |--------------------------------------------------------------------------
    | Refresh Token Expiration Minutes
    |--------------------------------------------------------------------------
    |
    | This value controls the number of minutes until a refresh token will be
    | considered expired. If this value is null, personal access tokens do
    | not expire.
    |
    */

    'refresh_expiration' => 60 * 24 * 365,

    'refresh_route_name' => 'api.auth.token.refresh',