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"
- Aktualizacja vendorów:
composer update --no-dev
- Publikacja migracji:
php artisan vendor:publish --tag=icore.migrations
- 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.
- 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.
- Przeładowanie Composera:
composer dump
- Wykonanie migracji:
php artisan migrate --path="database/migrations/vendor/icore"
- Wykonanie seederów:
php artisan db:seed --class="N1ebieski\ICore\Seeds\Install\DefaultRolesAndPermissionsSeeder"
php artisan db:seed --class="N1ebieski\IDir\Seeds\Install\DefaultRolesAndPermissionsSeeder"
- 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',