From 8b5096678cd69266ef045ffa5374c0ce51089e31 Mon Sep 17 00:00:00 2001 From: Damien Robinson Date: Sat, 14 May 2022 09:51:19 +1000 Subject: [PATCH 1/6] feat: voyager --- app/Models/User.php | 2 +- composer.json | 3 +- composer.lock | 709 +++++++++++++++++- config/voyager.php | 245 ++++++ .../2016_01_01_000000_create_pages_table.php | 41 + .../2016_01_01_000000_create_posts_table.php | 45 ++ ...6_02_15_204651_create_categories_table.php | 36 + ...00000_alter_post_nullable_fields_table.php | 39 + database/seeders/CategoriesTableSeeder.php | 231 ++++++ database/seeders/DataRowsTableSeeder.php | 372 +++++++++ database/seeders/DataTypesTableSeeder.php | 71 ++ database/seeders/MenuItemsTableSeeder.php | 179 +++++ database/seeders/MenusTableSeeder.php | 21 + database/seeders/PagesTableSeeder.php | 301 ++++++++ .../seeders/PermissionRoleTableSeeder.php | 26 + database/seeders/PermissionsTableSeeder.php | 38 + database/seeders/PostsTableSeeder.php | 439 +++++++++++ database/seeders/RolesTableSeeder.php | 29 + database/seeders/SettingsTableSeeder.php | 147 ++++ database/seeders/TranslationsTableSeeder.php | 233 ++++++ database/seeders/UsersTableSeeder.php | 31 + database/seeders/VoyagerDatabaseSeeder.php | 27 + .../seeders/VoyagerDummyDatabaseSeeder.php | 25 + routes/web.php | 5 + 24 files changed, 3292 insertions(+), 3 deletions(-) create mode 100644 config/voyager.php create mode 100644 database/migrations/2016_01_01_000000_create_pages_table.php create mode 100644 database/migrations/2016_01_01_000000_create_posts_table.php create mode 100644 database/migrations/2016_02_15_204651_create_categories_table.php create mode 100644 database/migrations/2017_04_11_000000_alter_post_nullable_fields_table.php create mode 100644 database/seeders/CategoriesTableSeeder.php create mode 100644 database/seeders/DataRowsTableSeeder.php create mode 100644 database/seeders/DataTypesTableSeeder.php create mode 100644 database/seeders/MenuItemsTableSeeder.php create mode 100644 database/seeders/MenusTableSeeder.php create mode 100644 database/seeders/PagesTableSeeder.php create mode 100644 database/seeders/PermissionRoleTableSeeder.php create mode 100644 database/seeders/PermissionsTableSeeder.php create mode 100644 database/seeders/PostsTableSeeder.php create mode 100644 database/seeders/RolesTableSeeder.php create mode 100644 database/seeders/SettingsTableSeeder.php create mode 100644 database/seeders/TranslationsTableSeeder.php create mode 100644 database/seeders/UsersTableSeeder.php create mode 100644 database/seeders/VoyagerDatabaseSeeder.php create mode 100644 database/seeders/VoyagerDummyDatabaseSeeder.php diff --git a/app/Models/User.php b/app/Models/User.php index 89963686..b68725b7 100644 --- a/app/Models/User.php +++ b/app/Models/User.php @@ -8,7 +8,7 @@ use Illuminate\Notifications\Notifiable; use Laravel\Sanctum\HasApiTokens; -class User extends Authenticatable +class User extends \TCG\Voyager\Models\User { use HasApiTokens, HasFactory, Notifiable; diff --git a/composer.json b/composer.json index 15af6959..91911757 100644 --- a/composer.json +++ b/composer.json @@ -12,7 +12,8 @@ "laravel/framework": "9.12.2", "laravel/sanctum": "2.15.1", "laravel/tinker": "2.7.2", - "stancl/tenancy": "^3.5" + "stancl/tenancy": "^3.5", + "tcg/voyager": "^1.5" }, "require-dev": { "spatie/laravel-ignition": "1.0", diff --git a/composer.lock b/composer.lock index a80ee2f2..98480b33 100644 --- a/composer.lock +++ b/composer.lock @@ -4,8 +4,74 @@ "Read more about it at https://getcomposer.org/doc/01-basic-usage.md#installing-dependencies", "This file is @generated automatically" ], - "content-hash": "e40926ca497512fbf38c6ce35e92525b", + "content-hash": "b37a8ef0c4b0b9f6fcf55cbf1f472914", "packages": [ + { + "name": "arrilot/laravel-widgets", + "version": "3.13.1", + "source": { + "type": "git", + "url": "https://github.com/arrilot/laravel-widgets.git", + "reference": "ae0e44ce625026ae71c6ab9259f89f13af227e37" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/arrilot/laravel-widgets/zipball/ae0e44ce625026ae71c6ab9259f89f13af227e37", + "reference": "ae0e44ce625026ae71c6ab9259f89f13af227e37", + "shasum": "" + }, + "require": { + "illuminate/cache": ">=5.5", + "illuminate/console": ">=5.5", + "illuminate/container": ">=5.5", + "illuminate/contracts": ">=5.5", + "illuminate/support": ">=5.5", + "illuminate/view": ">=5.5", + "php": ">=7.0" + }, + "require-dev": { + "phpunit/phpunit": "~6.0" + }, + "type": "library", + "extra": { + "laravel": { + "providers": [ + "Arrilot\\Widgets\\ServiceProvider" + ], + "aliases": { + "Widget": "Arrilot\\Widgets\\Facade", + "AsyncWidget": "Arrilot\\Widgets\\AsyncFacade" + } + } + }, + "autoload": { + "psr-4": { + "Arrilot\\Widgets\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Nekrasov Ilya", + "email": "nekrasov.ilya90@gmail.com" + } + ], + "description": "A powerful alternative to view composers. Asynchronous widgets, reloadable widgets, console generator, caching - everything you can think of.", + "homepage": "https://github.com/arrilot/laravel-widgets", + "keywords": [ + "ajax", + "laravel", + "widgets" + ], + "support": { + "issues": "https://github.com/arrilot/laravel-widgets/issues", + "source": "https://github.com/arrilot/laravel-widgets/tree/3.13.1" + }, + "time": "2020-09-20T19:56:38+00:00" + }, { "name": "brick/math", "version": "0.9.3", @@ -141,6 +207,351 @@ }, "time": "2021-08-13T13:06:58+00:00" }, + { + "name": "doctrine/cache", + "version": "2.1.1", + "source": { + "type": "git", + "url": "https://github.com/doctrine/cache.git", + "reference": "331b4d5dbaeab3827976273e9356b3b453c300ce" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/doctrine/cache/zipball/331b4d5dbaeab3827976273e9356b3b453c300ce", + "reference": "331b4d5dbaeab3827976273e9356b3b453c300ce", + "shasum": "" + }, + "require": { + "php": "~7.1 || ^8.0" + }, + "conflict": { + "doctrine/common": ">2.2,<2.4" + }, + "require-dev": { + "alcaeus/mongo-php-adapter": "^1.1", + "cache/integration-tests": "dev-master", + "doctrine/coding-standard": "^8.0", + "mongodb/mongodb": "^1.1", + "phpunit/phpunit": "^7.0 || ^8.0 || ^9.0", + "predis/predis": "~1.0", + "psr/cache": "^1.0 || ^2.0 || ^3.0", + "symfony/cache": "^4.4 || ^5.2 || ^6.0@dev", + "symfony/var-exporter": "^4.4 || ^5.2 || ^6.0@dev" + }, + "suggest": { + "alcaeus/mongo-php-adapter": "Required to use legacy MongoDB driver" + }, + "type": "library", + "autoload": { + "psr-4": { + "Doctrine\\Common\\Cache\\": "lib/Doctrine/Common/Cache" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Guilherme Blanco", + "email": "guilhermeblanco@gmail.com" + }, + { + "name": "Roman Borschel", + "email": "roman@code-factory.org" + }, + { + "name": "Benjamin Eberlei", + "email": "kontakt@beberlei.de" + }, + { + "name": "Jonathan Wage", + "email": "jonwage@gmail.com" + }, + { + "name": "Johannes Schmitt", + "email": "schmittjoh@gmail.com" + } + ], + "description": "PHP Doctrine Cache library is a popular cache implementation that supports many different drivers such as redis, memcache, apc, mongodb and others.", + "homepage": "https://www.doctrine-project.org/projects/cache.html", + "keywords": [ + "abstraction", + "apcu", + "cache", + "caching", + "couchdb", + "memcached", + "php", + "redis", + "xcache" + ], + "support": { + "issues": "https://github.com/doctrine/cache/issues", + "source": "https://github.com/doctrine/cache/tree/2.1.1" + }, + "funding": [ + { + "url": "https://www.doctrine-project.org/sponsorship.html", + "type": "custom" + }, + { + "url": "https://www.patreon.com/phpdoctrine", + "type": "patreon" + }, + { + "url": "https://tidelift.com/funding/github/packagist/doctrine%2Fcache", + "type": "tidelift" + } + ], + "time": "2021-07-17T14:49:29+00:00" + }, + { + "name": "doctrine/dbal", + "version": "2.13.9", + "source": { + "type": "git", + "url": "https://github.com/doctrine/dbal.git", + "reference": "c480849ca3ad6706a39c970cdfe6888fa8a058b8" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/doctrine/dbal/zipball/c480849ca3ad6706a39c970cdfe6888fa8a058b8", + "reference": "c480849ca3ad6706a39c970cdfe6888fa8a058b8", + "shasum": "" + }, + "require": { + "doctrine/cache": "^1.0|^2.0", + "doctrine/deprecations": "^0.5.3|^1", + "doctrine/event-manager": "^1.0", + "ext-pdo": "*", + "php": "^7.1 || ^8" + }, + "require-dev": { + "doctrine/coding-standard": "9.0.0", + "jetbrains/phpstorm-stubs": "2021.1", + "phpstan/phpstan": "1.4.6", + "phpunit/phpunit": "^7.5.20|^8.5|9.5.16", + "psalm/plugin-phpunit": "0.16.1", + "squizlabs/php_codesniffer": "3.6.2", + "symfony/cache": "^4.4", + "symfony/console": "^2.0.5|^3.0|^4.0|^5.0", + "vimeo/psalm": "4.22.0" + }, + "suggest": { + "symfony/console": "For helpful console commands such as SQL execution and import of files." + }, + "bin": [ + "bin/doctrine-dbal" + ], + "type": "library", + "autoload": { + "psr-4": { + "Doctrine\\DBAL\\": "lib/Doctrine/DBAL" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Guilherme Blanco", + "email": "guilhermeblanco@gmail.com" + }, + { + "name": "Roman Borschel", + "email": "roman@code-factory.org" + }, + { + "name": "Benjamin Eberlei", + "email": "kontakt@beberlei.de" + }, + { + "name": "Jonathan Wage", + "email": "jonwage@gmail.com" + } + ], + "description": "Powerful PHP database abstraction layer (DBAL) with many features for database schema introspection and management.", + "homepage": "https://www.doctrine-project.org/projects/dbal.html", + "keywords": [ + "abstraction", + "database", + "db2", + "dbal", + "mariadb", + "mssql", + "mysql", + "oci8", + "oracle", + "pdo", + "pgsql", + "postgresql", + "queryobject", + "sasql", + "sql", + "sqlanywhere", + "sqlite", + "sqlserver", + "sqlsrv" + ], + "support": { + "issues": "https://github.com/doctrine/dbal/issues", + "source": "https://github.com/doctrine/dbal/tree/2.13.9" + }, + "funding": [ + { + "url": "https://www.doctrine-project.org/sponsorship.html", + "type": "custom" + }, + { + "url": "https://www.patreon.com/phpdoctrine", + "type": "patreon" + }, + { + "url": "https://tidelift.com/funding/github/packagist/doctrine%2Fdbal", + "type": "tidelift" + } + ], + "time": "2022-05-02T20:28:55+00:00" + }, + { + "name": "doctrine/deprecations", + "version": "v1.0.0", + "source": { + "type": "git", + "url": "https://github.com/doctrine/deprecations.git", + "reference": "0e2a4f1f8cdfc7a92ec3b01c9334898c806b30de" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/doctrine/deprecations/zipball/0e2a4f1f8cdfc7a92ec3b01c9334898c806b30de", + "reference": "0e2a4f1f8cdfc7a92ec3b01c9334898c806b30de", + "shasum": "" + }, + "require": { + "php": "^7.1|^8.0" + }, + "require-dev": { + "doctrine/coding-standard": "^9", + "phpunit/phpunit": "^7.5|^8.5|^9.5", + "psr/log": "^1|^2|^3" + }, + "suggest": { + "psr/log": "Allows logging deprecations via PSR-3 logger implementation" + }, + "type": "library", + "autoload": { + "psr-4": { + "Doctrine\\Deprecations\\": "lib/Doctrine/Deprecations" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "description": "A small layer on top of trigger_error(E_USER_DEPRECATED) or PSR-3 logging with options to disable all deprecations or selectively for packages.", + "homepage": "https://www.doctrine-project.org/", + "support": { + "issues": "https://github.com/doctrine/deprecations/issues", + "source": "https://github.com/doctrine/deprecations/tree/v1.0.0" + }, + "time": "2022-05-02T15:47:09+00:00" + }, + { + "name": "doctrine/event-manager", + "version": "1.1.1", + "source": { + "type": "git", + "url": "https://github.com/doctrine/event-manager.git", + "reference": "41370af6a30faa9dc0368c4a6814d596e81aba7f" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/doctrine/event-manager/zipball/41370af6a30faa9dc0368c4a6814d596e81aba7f", + "reference": "41370af6a30faa9dc0368c4a6814d596e81aba7f", + "shasum": "" + }, + "require": { + "php": "^7.1 || ^8.0" + }, + "conflict": { + "doctrine/common": "<2.9@dev" + }, + "require-dev": { + "doctrine/coding-standard": "^6.0", + "phpunit/phpunit": "^7.0" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.0.x-dev" + } + }, + "autoload": { + "psr-4": { + "Doctrine\\Common\\": "lib/Doctrine/Common" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Guilherme Blanco", + "email": "guilhermeblanco@gmail.com" + }, + { + "name": "Roman Borschel", + "email": "roman@code-factory.org" + }, + { + "name": "Benjamin Eberlei", + "email": "kontakt@beberlei.de" + }, + { + "name": "Jonathan Wage", + "email": "jonwage@gmail.com" + }, + { + "name": "Johannes Schmitt", + "email": "schmittjoh@gmail.com" + }, + { + "name": "Marco Pivetta", + "email": "ocramius@gmail.com" + } + ], + "description": "The Doctrine Event Manager is a simple PHP event system that was built to be used with the various Doctrine projects.", + "homepage": "https://www.doctrine-project.org/projects/event-manager.html", + "keywords": [ + "event", + "event dispatcher", + "event manager", + "event system", + "events" + ], + "support": { + "issues": "https://github.com/doctrine/event-manager/issues", + "source": "https://github.com/doctrine/event-manager/tree/1.1.x" + }, + "funding": [ + { + "url": "https://www.doctrine-project.org/sponsorship.html", + "type": "custom" + }, + { + "url": "https://www.patreon.com/phpdoctrine", + "type": "patreon" + }, + { + "url": "https://tidelift.com/funding/github/packagist/doctrine%2Fevent-manager", + "type": "tidelift" + } + ], + "time": "2020-05-29T18:28:51+00:00" + }, { "name": "doctrine/inflector", "version": "2.0.4", @@ -1025,6 +1436,146 @@ ], "time": "2022-03-20T21:55:58+00:00" }, + { + "name": "intervention/image", + "version": "2.7.1", + "source": { + "type": "git", + "url": "https://github.com/Intervention/image.git", + "reference": "744ebba495319501b873a4e48787759c72e3fb8c" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/Intervention/image/zipball/744ebba495319501b873a4e48787759c72e3fb8c", + "reference": "744ebba495319501b873a4e48787759c72e3fb8c", + "shasum": "" + }, + "require": { + "ext-fileinfo": "*", + "guzzlehttp/psr7": "~1.1 || ^2.0", + "php": ">=5.4.0" + }, + "require-dev": { + "mockery/mockery": "~0.9.2", + "phpunit/phpunit": "^4.8 || ^5.7 || ^7.5.15" + }, + "suggest": { + "ext-gd": "to use GD library based image processing.", + "ext-imagick": "to use Imagick based image processing.", + "intervention/imagecache": "Caching extension for the Intervention Image library" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "2.4-dev" + }, + "laravel": { + "providers": [ + "Intervention\\Image\\ImageServiceProvider" + ], + "aliases": { + "Image": "Intervention\\Image\\Facades\\Image" + } + } + }, + "autoload": { + "psr-4": { + "Intervention\\Image\\": "src/Intervention/Image" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Oliver Vogel", + "email": "oliver@olivervogel.com", + "homepage": "http://olivervogel.com/" + } + ], + "description": "Image handling and manipulation library with support for Laravel integration", + "homepage": "http://image.intervention.io/", + "keywords": [ + "gd", + "image", + "imagick", + "laravel", + "thumbnail", + "watermark" + ], + "support": { + "issues": "https://github.com/Intervention/image/issues", + "source": "https://github.com/Intervention/image/tree/2.7.1" + }, + "funding": [ + { + "url": "https://www.paypal.me/interventionphp", + "type": "custom" + }, + { + "url": "https://github.com/Intervention", + "type": "github" + } + ], + "time": "2021-12-16T16:49:26+00:00" + }, + { + "name": "larapack/doctrine-support", + "version": "v0.1.9", + "source": { + "type": "git", + "url": "https://github.com/larapack/doctrine-support.git", + "reference": "ab6e821c467704ae91a9a944e6ebdaad6a99a294" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/larapack/doctrine-support/zipball/ab6e821c467704ae91a9a944e6ebdaad6a99a294", + "reference": "ab6e821c467704ae91a9a944e6ebdaad6a99a294", + "shasum": "" + }, + "require": { + "doctrine/dbal": "^2.5", + "illuminate/support": ">=5.3" + }, + "type": "library", + "extra": { + "laravel": { + "providers": [ + "Larapack\\DoctrineSupport\\DoctrineSupportServiceProvider" + ] + } + }, + "autoload": { + "psr-4": { + "Larapack\\DoctrineSupport\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Mark Topper", + "email": "mark@ulties.com" + } + ], + "description": "Better Doctrine Support with Laravel (Support for `enum`)", + "homepage": "https://github.com/larapack/doctrine-support", + "keywords": [ + "dbal", + "doctrine", + "enum", + "laravel", + "support" + ], + "support": { + "issues": "https://github.com/larapack/doctrine-support/issues", + "source": "https://github.com/larapack/doctrine-support" + }, + "time": "2019-09-05T13:15:40+00:00" + }, { "name": "laravel-json-api/core", "version": "v2.2.0", @@ -1940,6 +2491,67 @@ }, "time": "2022-03-23T12:38:24+00:00" }, + { + "name": "laravel/ui", + "version": "v3.4.5", + "source": { + "type": "git", + "url": "https://github.com/laravel/ui.git", + "reference": "f11d295de1508c5bb56206a620b00b6616de414c" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/laravel/ui/zipball/f11d295de1508c5bb56206a620b00b6616de414c", + "reference": "f11d295de1508c5bb56206a620b00b6616de414c", + "shasum": "" + }, + "require": { + "illuminate/console": "^8.42|^9.0", + "illuminate/filesystem": "^8.42|^9.0", + "illuminate/support": "^8.82|^9.0", + "illuminate/validation": "^8.42|^9.0", + "php": "^7.3|^8.0" + }, + "require-dev": { + "orchestra/testbench": "^6.23|^7.0" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "3.x-dev" + }, + "laravel": { + "providers": [ + "Laravel\\Ui\\UiServiceProvider" + ] + } + }, + "autoload": { + "psr-4": { + "Laravel\\Ui\\": "src/", + "Illuminate\\Foundation\\Auth\\": "auth-backend/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Taylor Otwell", + "email": "taylor@laravel.com" + } + ], + "description": "Laravel UI utilities and presets.", + "keywords": [ + "laravel", + "ui" + ], + "support": { + "source": "https://github.com/laravel/ui/tree/v3.4.5" + }, + "time": "2022-02-21T14:59:16+00:00" + }, { "name": "league/commonmark", "version": "2.3.0", @@ -5913,6 +6525,101 @@ ], "time": "2022-04-26T13:19:20+00:00" }, + { + "name": "tcg/voyager", + "version": "v1.5.2", + "source": { + "type": "git", + "url": "https://github.com/the-control-group/voyager.git", + "reference": "8c3c1dde896a047b1334d68f6d6a1d32fd07df1b" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/the-control-group/voyager/zipball/8c3c1dde896a047b1334d68f6d6a1d32fd07df1b", + "reference": "8c3c1dde896a047b1334d68f6d6a1d32fd07df1b", + "shasum": "" + }, + "require": { + "arrilot/laravel-widgets": "^3.7", + "doctrine/dbal": "^2.5", + "ext-json": "*", + "illuminate/support": "~6.0|~7.0|~8.0", + "intervention/image": "^2.4", + "larapack/doctrine-support": "~0.1.4", + "laravel/ui": ">=1.0", + "league/flysystem": "~1.1|~2.0", + "php": "^7.3|^7.4|^8.0" + }, + "require-dev": { + "laravel/browser-kit-testing": ">=5.0.0", + "laravel/framework": "~6.0|~7.0|~8.0", + "orchestra/testbench": ">=4.0", + "orchestra/testbench-browser-kit": ">=4.0", + "phpunit/phpcov": ">=6.0", + "phpunit/phpunit": ">=8.0" + }, + "suggest": { + "laravel/legacy-factories": "Required to run Voyager tests with Laravel 8.x" + }, + "type": "library", + "extra": { + "laravel": { + "providers": [ + "TCG\\Voyager\\VoyagerServiceProvider", + "TCG\\Voyager\\Providers\\VoyagerDummyServiceProvider" + ] + } + }, + "autoload": { + "psr-4": { + "TCG\\Voyager\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Tony Lea", + "email": "tony.lea@thecontrolgroup.com" + } + ], + "description": "A Laravel Admin Package for The Control Group to make your life easier and steer your project in the right direction", + "homepage": "https://voyager.devdojo.com/", + "keywords": [ + "admin", + "laravel", + "panel" + ], + "support": { + "issues": "https://github.com/the-control-group/voyager/issues", + "source": "https://github.com/the-control-group/voyager" + }, + "funding": [ + { + "url": "https://github.com/[user1", + "type": "github" + }, + { + "url": "https://github.com/emptynick]# Replace with up to 4 GitHub Sponsors-enabled usernames e.g.", + "type": "github" + }, + { + "url": "https://github.com/fletch3555", + "type": "github" + }, + { + "url": "https://github.com/tnylea", + "type": "github" + }, + { + "url": "https://github.com/user2", + "type": "github" + } + ], + "time": "2021-11-09T08:33:29+00:00" + }, { "name": "tijsverkoyen/css-to-inline-styles", "version": "2.2.4", diff --git a/config/voyager.php b/config/voyager.php new file mode 100644 index 00000000..7752ebf4 --- /dev/null +++ b/config/voyager.php @@ -0,0 +1,245 @@ + [ + 'add_default_role_on_register' => true, + 'default_role' => 'user', + 'default_avatar' => 'users/default.png', + 'redirect' => '/admin', + ], + + /* + |-------------------------------------------------------------------------- + | Controllers config + |-------------------------------------------------------------------------- + | + | Here you can specify voyager controller settings + | + */ + + 'controllers' => [ + 'namespace' => 'TCG\\Voyager\\Http\\Controllers', + ], + + /* + |-------------------------------------------------------------------------- + | Models config + |-------------------------------------------------------------------------- + | + | Here you can specify default model namespace when creating BREAD. + | Must include trailing backslashes. If not defined the default application + | namespace will be used. + | + */ + + 'models' => [ + //'namespace' => 'App\\Models\\', + ], + + /* + |-------------------------------------------------------------------------- + | Storage Config + |-------------------------------------------------------------------------- + | + | Here you can specify attributes related to your application file system + | + */ + + 'storage' => [ + 'disk' => 'public', + ], + + /* + |-------------------------------------------------------------------------- + | Media Manager + |-------------------------------------------------------------------------- + | + | Here you can specify if media manager can show hidden files like(.gitignore) + | + */ + + 'hidden_files' => false, + + /* + |-------------------------------------------------------------------------- + | Database Config + |-------------------------------------------------------------------------- + | + | Here you can specify voyager database settings + | + */ + + 'database' => [ + 'tables' => [ + 'hidden' => ['migrations', 'data_rows', 'data_types', 'menu_items', 'password_resets', 'permission_role', 'settings'], + ], + 'autoload_migrations' => true, + ], + + /* + |-------------------------------------------------------------------------- + | Multilingual configuration + |-------------------------------------------------------------------------- + | + | Here you can specify if you want Voyager to ship with support for + | multilingual and what locales are enabled. + | + */ + + 'multilingual' => [ + /* + * Set whether or not the multilingual is supported by the BREAD input. + */ + 'enabled' => false, + + /* + * Select default language + */ + 'default' => 'en', + + /* + * Select languages that are supported. + */ + 'locales' => [ + 'en', + //'pt', + ], + ], + + /* + |-------------------------------------------------------------------------- + | Dashboard config + |-------------------------------------------------------------------------- + | + | Here you can modify some aspects of your dashboard + | + */ + + 'dashboard' => [ + // Add custom list items to navbar's dropdown + 'navbar_items' => [ + 'voyager::generic.profile' => [ + 'route' => 'voyager.profile', + 'classes' => 'class-full-of-rum', + 'icon_class' => 'voyager-person', + ], + 'voyager::generic.home' => [ + 'route' => '/', + 'icon_class' => 'voyager-home', + 'target_blank' => true, + ], + 'voyager::generic.logout' => [ + 'route' => 'voyager.logout', + 'icon_class' => 'voyager-power', + ], + ], + + 'widgets' => [ + 'TCG\\Voyager\\Widgets\\UserDimmer', + 'TCG\\Voyager\\Widgets\\PostDimmer', + 'TCG\\Voyager\\Widgets\\PageDimmer', + ], + + ], + + /* + |-------------------------------------------------------------------------- + | Automatic Procedures + |-------------------------------------------------------------------------- + | + | When a change happens on Voyager, we can automate some routines. + | + */ + + 'bread' => [ + // When a BREAD is added, create the Menu item using the BREAD properties. + 'add_menu_item' => true, + + // which menu add item to + 'default_menu' => 'admin', + + // When a BREAD is added, create the related Permission. + 'add_permission' => true, + + // which role add premissions to + 'default_role' => 'admin', + ], + + /* + |-------------------------------------------------------------------------- + | UI Generic Config + |-------------------------------------------------------------------------- + | + | Here you change some of the Voyager UI settings. + | + */ + + 'primary_color' => '#22A7F0', + + 'show_dev_tips' => true, // Show development tip "How To Use:" in Menu and Settings + + // Here you can specify additional assets you would like to be included in the master.blade + 'additional_css' => [ + //'css/custom.css', + ], + + 'additional_js' => [ + //'js/custom.js', + ], + + 'googlemaps' => [ + 'key' => env('GOOGLE_MAPS_KEY', ''), + 'center' => [ + 'lat' => env('GOOGLE_MAPS_DEFAULT_CENTER_LAT', '32.715738'), + 'lng' => env('GOOGLE_MAPS_DEFAULT_CENTER_LNG', '-117.161084'), + ], + 'zoom' => env('GOOGLE_MAPS_DEFAULT_ZOOM', 11), + ], + + // Activate compass when environment is NOT local + 'compass_in_production' => false, + + 'media' => [ + // The allowed mimetypes to be uploaded through the media-manager. + // 'allowed_mimetypes' => '*', //All types can be uploaded + 'allowed_mimetypes' => [ + 'image/jpeg', + 'image/png', + 'image/gif', + 'image/bmp', + 'video/mp4', + ], + //Path for media-manager. Relative to the filesystem. + 'path' => '/', + 'show_folders' => true, + 'allow_upload' => true, + 'allow_move' => true, + 'allow_delete' => true, + 'allow_create_folder' => true, + 'allow_rename' => true, + /*'watermark' => [ + 'source' => 'watermark.png', + 'position' => 'bottom-left', + 'x' => 0, + 'y' => 0, + 'size' => 15, + ], + 'thumbnails' => [ + [ + 'type' => 'fit', + 'name' => 'fit-500', + 'width' => 500, + 'height'=> 500 + ], + ]*/ + ], +]; diff --git a/database/migrations/2016_01_01_000000_create_pages_table.php b/database/migrations/2016_01_01_000000_create_pages_table.php new file mode 100644 index 00000000..042f2b68 --- /dev/null +++ b/database/migrations/2016_01_01_000000_create_pages_table.php @@ -0,0 +1,41 @@ +increments('id'); + $table->integer('author_id'); + $table->string('title'); + $table->text('excerpt')->nullable(); + $table->text('body')->nullable(); + $table->string('image')->nullable(); + $table->string('slug')->unique(); + $table->text('meta_description')->nullable(); + $table->text('meta_keywords')->nullable(); + $table->enum('status', Page::$statuses)->default(Page::STATUS_INACTIVE); + $table->timestamps(); + }); + } + + /** + * Reverse the migrations. + * + * @return void + */ + public function down() + { + Schema::drop('pages'); + } +} diff --git a/database/migrations/2016_01_01_000000_create_posts_table.php b/database/migrations/2016_01_01_000000_create_posts_table.php new file mode 100644 index 00000000..8e51ab06 --- /dev/null +++ b/database/migrations/2016_01_01_000000_create_posts_table.php @@ -0,0 +1,45 @@ +increments('id'); + $table->integer('author_id'); + $table->integer('category_id')->nullable(); + $table->string('title'); + $table->string('seo_title')->nullable(); + $table->text('excerpt'); + $table->text('body'); + $table->string('image')->nullable(); + $table->string('slug')->unique(); + $table->text('meta_description'); + $table->text('meta_keywords'); + $table->enum('status', ['PUBLISHED', 'DRAFT', 'PENDING'])->default('DRAFT'); + $table->boolean('featured')->default(0); + $table->timestamps(); + + //$table->foreign('author_id')->references('id')->on('users'); + }); + } + + /** + * Reverse the migrations. + * + * @return void + */ + public function down() + { + Schema::drop('posts'); + } +} diff --git a/database/migrations/2016_02_15_204651_create_categories_table.php b/database/migrations/2016_02_15_204651_create_categories_table.php new file mode 100644 index 00000000..daeb6161 --- /dev/null +++ b/database/migrations/2016_02_15_204651_create_categories_table.php @@ -0,0 +1,36 @@ +increments('id'); + $table->integer('parent_id')->unsigned()->nullable()->default(null); + $table->foreign('parent_id')->references('id')->on('categories')->onUpdate('cascade')->onDelete('set null'); + $table->integer('order')->default(1); + $table->string('name'); + $table->string('slug')->unique(); + $table->timestamps(); + }); + } + + /** + * Reverse the migrations. + * + * @return void + */ + public function down() + { + Schema::drop('categories'); + } +} diff --git a/database/migrations/2017_04_11_000000_alter_post_nullable_fields_table.php b/database/migrations/2017_04_11_000000_alter_post_nullable_fields_table.php new file mode 100644 index 00000000..a921b388 --- /dev/null +++ b/database/migrations/2017_04_11_000000_alter_post_nullable_fields_table.php @@ -0,0 +1,39 @@ +getDatabasePlatform(); + $platform->registerDoctrineTypeMapping('enum', 'string'); + + Schema::table('posts', function (Blueprint $table) { + $table->text('excerpt')->nullable()->change(); + $table->text('meta_description')->nullable()->change(); + $table->text('meta_keywords')->nullable()->change(); + }); + } + + /** + * Reverse the migrations. + * + * @return void + */ + public function down() + { + Schema::table('posts', function (Blueprint $table) { + $table->text('excerpt')->change(); + $table->text('meta_description')->change(); + $table->text('meta_keywords')->change(); + }); + } +} diff --git a/database/seeders/CategoriesTableSeeder.php b/database/seeders/CategoriesTableSeeder.php new file mode 100644 index 00000000..8c365107 --- /dev/null +++ b/database/seeders/CategoriesTableSeeder.php @@ -0,0 +1,231 @@ +dataType('name', 'categories'); + if (!$dataType->exists) { + $dataType->fill([ + 'slug' => 'categories', + 'display_name_singular' => __('voyager::seeders.data_types.category.singular'), + 'display_name_plural' => __('voyager::seeders.data_types.category.plural'), + 'icon' => 'voyager-categories', + 'model_name' => 'TCG\\Voyager\\Models\\Category', + 'controller' => '', + 'generate_permissions' => 1, + 'description' => '', + ])->save(); + } + //Data Rows + $categoryDataType = DataType::where('slug', 'categories')->firstOrFail(); + $dataRow = $this->dataRow($categoryDataType, 'id'); + if (!$dataRow->exists) { + $dataRow->fill([ + 'type' => 'number', + 'display_name' => __('voyager::seeders.data_rows.id'), + 'required' => 1, + 'browse' => 0, + 'read' => 0, + 'edit' => 0, + 'add' => 0, + 'delete' => 0, + 'order' => 1, + ])->save(); + } + + $dataRow = $this->dataRow($categoryDataType, 'parent_id'); + if (!$dataRow->exists) { + $dataRow->fill([ + 'type' => 'select_dropdown', + 'display_name' => __('voyager::seeders.data_rows.parent'), + 'required' => 0, + 'browse' => 0, + 'read' => 1, + 'edit' => 1, + 'add' => 1, + 'delete' => 1, + 'details' => [ + 'default' => '', + 'null' => '', + 'options' => [ + '' => '-- None --', + ], + 'relationship' => [ + 'key' => 'id', + 'label' => 'name', + ], + ], + 'order' => 2, + ])->save(); + } + + $dataRow = $this->dataRow($categoryDataType, 'order'); + if (!$dataRow->exists) { + $dataRow->fill([ + 'type' => 'text', + 'display_name' => __('voyager::seeders.data_rows.order'), + 'required' => 1, + 'browse' => 1, + 'read' => 1, + 'edit' => 1, + 'add' => 1, + 'delete' => 1, + 'details' => [ + 'default' => 1, + ], + 'order' => 3, + ])->save(); + } + + $dataRow = $this->dataRow($categoryDataType, 'name'); + if (!$dataRow->exists) { + $dataRow->fill([ + 'type' => 'text', + 'display_name' => __('voyager::seeders.data_rows.name'), + 'required' => 1, + 'browse' => 1, + 'read' => 1, + 'edit' => 1, + 'add' => 1, + 'delete' => 1, + 'order' => 4, + ])->save(); + } + + $dataRow = $this->dataRow($categoryDataType, 'slug'); + if (!$dataRow->exists) { + $dataRow->fill([ + 'type' => 'text', + 'display_name' => __('voyager::seeders.data_rows.slug'), + 'required' => 1, + 'browse' => 1, + 'read' => 1, + 'edit' => 1, + 'add' => 1, + 'delete' => 1, + 'details' => [ + 'slugify' => [ + 'origin' => 'name', + ], + ], + 'order' => 5, + ])->save(); + } + + $dataRow = $this->dataRow($categoryDataType, 'created_at'); + if (!$dataRow->exists) { + $dataRow->fill([ + 'type' => 'timestamp', + 'display_name' => __('voyager::seeders.data_rows.created_at'), + 'required' => 0, + 'browse' => 0, + 'read' => 1, + 'edit' => 0, + 'add' => 0, + 'delete' => 0, + 'order' => 6, + ])->save(); + } + + $dataRow = $this->dataRow($categoryDataType, 'updated_at'); + if (!$dataRow->exists) { + $dataRow->fill([ + 'type' => 'timestamp', + 'display_name' => __('voyager::seeders.data_rows.updated_at'), + 'required' => 0, + 'browse' => 0, + 'read' => 0, + 'edit' => 0, + 'add' => 0, + 'delete' => 0, + 'order' => 7, + ])->save(); + } + + //Menu Item + $menu = Menu::where('name', 'admin')->firstOrFail(); + $menuItem = MenuItem::firstOrNew([ + 'menu_id' => $menu->id, + 'title' => __('voyager::seeders.menu_items.categories'), + 'url' => '', + 'route' => 'voyager.categories.index', + ]); + if (!$menuItem->exists) { + $menuItem->fill([ + 'target' => '_self', + 'icon_class' => 'voyager-categories', + 'color' => null, + 'parent_id' => null, + 'order' => 8, + ])->save(); + } + + //Permissions + Permission::generateFor('categories'); + + //Content + $category = Category::firstOrNew([ + 'slug' => 'category-1', + ]); + if (!$category->exists) { + $category->fill([ + 'name' => 'Category 1', + ])->save(); + } + + $category = Category::firstOrNew([ + 'slug' => 'category-2', + ]); + if (!$category->exists) { + $category->fill([ + 'name' => 'Category 2', + ])->save(); + } + } + + /** + * [dataRow description]. + * + * @param [type] $type [description] + * @param [type] $field [description] + * + * @return [type] [description] + */ + protected function dataRow($type, $field) + { + return DataRow::firstOrNew([ + 'data_type_id' => $type->id, + 'field' => $field, + ]); + } + + /** + * [dataType description]. + * + * @param [type] $field [description] + * @param [type] $for [description] + * + * @return [type] [description] + */ + protected function dataType($field, $for) + { + return DataType::firstOrNew([$field => $for]); + } +} diff --git a/database/seeders/DataRowsTableSeeder.php b/database/seeders/DataRowsTableSeeder.php new file mode 100644 index 00000000..262c11d2 --- /dev/null +++ b/database/seeders/DataRowsTableSeeder.php @@ -0,0 +1,372 @@ +firstOrFail(); + $menuDataType = DataType::where('slug', 'menus')->firstOrFail(); + $roleDataType = DataType::where('slug', 'roles')->firstOrFail(); + + $dataRow = $this->dataRow($userDataType, 'id'); + if (!$dataRow->exists) { + $dataRow->fill([ + 'type' => 'number', + 'display_name' => __('voyager::seeders.data_rows.id'), + 'required' => 1, + 'browse' => 0, + 'read' => 0, + 'edit' => 0, + 'add' => 0, + 'delete' => 0, + 'order' => 1, + ])->save(); + } + + $dataRow = $this->dataRow($userDataType, 'name'); + if (!$dataRow->exists) { + $dataRow->fill([ + 'type' => 'text', + 'display_name' => __('voyager::seeders.data_rows.name'), + 'required' => 1, + 'browse' => 1, + 'read' => 1, + 'edit' => 1, + 'add' => 1, + 'delete' => 1, + 'order' => 2, + ])->save(); + } + + $dataRow = $this->dataRow($userDataType, 'email'); + if (!$dataRow->exists) { + $dataRow->fill([ + 'type' => 'text', + 'display_name' => __('voyager::seeders.data_rows.email'), + 'required' => 1, + 'browse' => 1, + 'read' => 1, + 'edit' => 1, + 'add' => 1, + 'delete' => 1, + 'order' => 3, + ])->save(); + } + + $dataRow = $this->dataRow($userDataType, 'password'); + if (!$dataRow->exists) { + $dataRow->fill([ + 'type' => 'password', + 'display_name' => __('voyager::seeders.data_rows.password'), + 'required' => 1, + 'browse' => 0, + 'read' => 0, + 'edit' => 1, + 'add' => 1, + 'delete' => 0, + 'order' => 4, + ])->save(); + } + + $dataRow = $this->dataRow($userDataType, 'remember_token'); + if (!$dataRow->exists) { + $dataRow->fill([ + 'type' => 'text', + 'display_name' => __('voyager::seeders.data_rows.remember_token'), + 'required' => 0, + 'browse' => 0, + 'read' => 0, + 'edit' => 0, + 'add' => 0, + 'delete' => 0, + 'order' => 5, + ])->save(); + } + + $dataRow = $this->dataRow($userDataType, 'created_at'); + if (!$dataRow->exists) { + $dataRow->fill([ + 'type' => 'timestamp', + 'display_name' => __('voyager::seeders.data_rows.created_at'), + 'required' => 0, + 'browse' => 1, + 'read' => 1, + 'edit' => 0, + 'add' => 0, + 'delete' => 0, + 'order' => 6, + ])->save(); + } + + $dataRow = $this->dataRow($userDataType, 'updated_at'); + if (!$dataRow->exists) { + $dataRow->fill([ + 'type' => 'timestamp', + 'display_name' => __('voyager::seeders.data_rows.updated_at'), + 'required' => 0, + 'browse' => 0, + 'read' => 0, + 'edit' => 0, + 'add' => 0, + 'delete' => 0, + 'order' => 7, + ])->save(); + } + + $dataRow = $this->dataRow($userDataType, 'avatar'); + if (!$dataRow->exists) { + $dataRow->fill([ + 'type' => 'image', + 'display_name' => __('voyager::seeders.data_rows.avatar'), + 'required' => 0, + 'browse' => 1, + 'read' => 1, + 'edit' => 1, + 'add' => 1, + 'delete' => 1, + 'order' => 8, + ])->save(); + } + + $dataRow = $this->dataRow($userDataType, 'user_belongsto_role_relationship'); + if (!$dataRow->exists) { + $dataRow->fill([ + 'type' => 'relationship', + 'display_name' => __('voyager::seeders.data_rows.role'), + 'required' => 0, + 'browse' => 1, + 'read' => 1, + 'edit' => 1, + 'add' => 1, + 'delete' => 0, + 'details' => [ + 'model' => 'TCG\\Voyager\\Models\\Role', + 'table' => 'roles', + 'type' => 'belongsTo', + 'column' => 'role_id', + 'key' => 'id', + 'label' => 'display_name', + 'pivot_table' => 'roles', + 'pivot' => 0, + ], + 'order' => 10, + ])->save(); + } + + $dataRow = $this->dataRow($userDataType, 'user_belongstomany_role_relationship'); + if (!$dataRow->exists) { + $dataRow->fill([ + 'type' => 'relationship', + 'display_name' => __('voyager::seeders.data_rows.roles'), + 'required' => 0, + 'browse' => 1, + 'read' => 1, + 'edit' => 1, + 'add' => 1, + 'delete' => 0, + 'details' => [ + 'model' => 'TCG\\Voyager\\Models\\Role', + 'table' => 'roles', + 'type' => 'belongsToMany', + 'column' => 'id', + 'key' => 'id', + 'label' => 'display_name', + 'pivot_table' => 'user_roles', + 'pivot' => '1', + 'taggable' => '0', + ], + 'order' => 11, + ])->save(); + } + + $dataRow = $this->dataRow($userDataType, 'settings'); + if (!$dataRow->exists) { + $dataRow->fill([ + 'type' => 'hidden', + 'display_name' => 'Settings', + 'required' => 0, + 'browse' => 0, + 'read' => 0, + 'edit' => 0, + 'add' => 0, + 'delete' => 0, + 'order' => 12, + ])->save(); + } + + $dataRow = $this->dataRow($menuDataType, 'id'); + if (!$dataRow->exists) { + $dataRow->fill([ + 'type' => 'number', + 'display_name' => __('voyager::seeders.data_rows.id'), + 'required' => 1, + 'browse' => 0, + 'read' => 0, + 'edit' => 0, + 'add' => 0, + 'delete' => 0, + 'order' => 1, + ])->save(); + } + + $dataRow = $this->dataRow($menuDataType, 'name'); + if (!$dataRow->exists) { + $dataRow->fill([ + 'type' => 'text', + 'display_name' => __('voyager::seeders.data_rows.name'), + 'required' => 1, + 'browse' => 1, + 'read' => 1, + 'edit' => 1, + 'add' => 1, + 'delete' => 1, + 'order' => 2, + ])->save(); + } + + $dataRow = $this->dataRow($menuDataType, 'created_at'); + if (!$dataRow->exists) { + $dataRow->fill([ + 'type' => 'timestamp', + 'display_name' => __('voyager::seeders.data_rows.created_at'), + 'required' => 0, + 'browse' => 0, + 'read' => 0, + 'edit' => 0, + 'add' => 0, + 'delete' => 0, + 'order' => 3, + ])->save(); + } + + $dataRow = $this->dataRow($menuDataType, 'updated_at'); + if (!$dataRow->exists) { + $dataRow->fill([ + 'type' => 'timestamp', + 'display_name' => __('voyager::seeders.data_rows.updated_at'), + 'required' => 0, + 'browse' => 0, + 'read' => 0, + 'edit' => 0, + 'add' => 0, + 'delete' => 0, + 'order' => 4, + ])->save(); + } + + $dataRow = $this->dataRow($roleDataType, 'id'); + if (!$dataRow->exists) { + $dataRow->fill([ + 'type' => 'number', + 'display_name' => __('voyager::seeders.data_rows.id'), + 'required' => 1, + 'browse' => 0, + 'read' => 0, + 'edit' => 0, + 'add' => 0, + 'delete' => 0, + 'order' => 1, + ])->save(); + } + + $dataRow = $this->dataRow($roleDataType, 'name'); + if (!$dataRow->exists) { + $dataRow->fill([ + 'type' => 'text', + 'display_name' => __('voyager::seeders.data_rows.name'), + 'required' => 1, + 'browse' => 1, + 'read' => 1, + 'edit' => 1, + 'add' => 1, + 'delete' => 1, + 'order' => 2, + ])->save(); + } + + $dataRow = $this->dataRow($roleDataType, 'created_at'); + if (!$dataRow->exists) { + $dataRow->fill([ + 'type' => 'timestamp', + 'display_name' => __('voyager::seeders.data_rows.created_at'), + 'required' => 0, + 'browse' => 0, + 'read' => 0, + 'edit' => 0, + 'add' => 0, + 'delete' => 0, + 'order' => 3, + ])->save(); + } + + $dataRow = $this->dataRow($roleDataType, 'updated_at'); + if (!$dataRow->exists) { + $dataRow->fill([ + 'type' => 'timestamp', + 'display_name' => __('voyager::seeders.data_rows.updated_at'), + 'required' => 0, + 'browse' => 0, + 'read' => 0, + 'edit' => 0, + 'add' => 0, + 'delete' => 0, + 'order' => 4, + ])->save(); + } + + $dataRow = $this->dataRow($roleDataType, 'display_name'); + if (!$dataRow->exists) { + $dataRow->fill([ + 'type' => 'text', + 'display_name' => __('voyager::seeders.data_rows.display_name'), + 'required' => 1, + 'browse' => 1, + 'read' => 1, + 'edit' => 1, + 'add' => 1, + 'delete' => 1, + 'order' => 5, + ])->save(); + } + + $dataRow = $this->dataRow($userDataType, 'role_id'); + if (!$dataRow->exists) { + $dataRow->fill([ + 'type' => 'text', + 'display_name' => __('voyager::seeders.data_rows.role'), + 'required' => 1, + 'browse' => 1, + 'read' => 1, + 'edit' => 1, + 'add' => 1, + 'delete' => 1, + 'order' => 9, + ])->save(); + } + } + + /** + * [dataRow description]. + * + * @param [type] $type [description] + * @param [type] $field [description] + * + * @return [type] [description] + */ + protected function dataRow($type, $field) + { + return DataRow::firstOrNew([ + 'data_type_id' => $type->id, + 'field' => $field, + ]); + } +} diff --git a/database/seeders/DataTypesTableSeeder.php b/database/seeders/DataTypesTableSeeder.php new file mode 100644 index 00000000..52fa50e5 --- /dev/null +++ b/database/seeders/DataTypesTableSeeder.php @@ -0,0 +1,71 @@ +dataType('slug', 'users'); + if (!$dataType->exists) { + $dataType->fill([ + 'name' => 'users', + 'display_name_singular' => __('voyager::seeders.data_types.user.singular'), + 'display_name_plural' => __('voyager::seeders.data_types.user.plural'), + 'icon' => 'voyager-person', + 'model_name' => 'TCG\\Voyager\\Models\\User', + 'policy_name' => 'TCG\\Voyager\\Policies\\UserPolicy', + 'controller' => 'TCG\\Voyager\\Http\\Controllers\\VoyagerUserController', + 'generate_permissions' => 1, + 'description' => '', + ])->save(); + } + + $dataType = $this->dataType('slug', 'menus'); + if (!$dataType->exists) { + $dataType->fill([ + 'name' => 'menus', + 'display_name_singular' => __('voyager::seeders.data_types.menu.singular'), + 'display_name_plural' => __('voyager::seeders.data_types.menu.plural'), + 'icon' => 'voyager-list', + 'model_name' => 'TCG\\Voyager\\Models\\Menu', + 'controller' => '', + 'generate_permissions' => 1, + 'description' => '', + ])->save(); + } + + $dataType = $this->dataType('slug', 'roles'); + if (!$dataType->exists) { + $dataType->fill([ + 'name' => 'roles', + 'display_name_singular' => __('voyager::seeders.data_types.role.singular'), + 'display_name_plural' => __('voyager::seeders.data_types.role.plural'), + 'icon' => 'voyager-lock', + 'model_name' => 'TCG\\Voyager\\Models\\Role', + 'controller' => 'TCG\\Voyager\\Http\\Controllers\\VoyagerRoleController', + 'generate_permissions' => 1, + 'description' => '', + ])->save(); + } + } + + /** + * [dataType description]. + * + * @param [type] $field [description] + * @param [type] $for [description] + * + * @return [type] [description] + */ + protected function dataType($field, $for) + { + return DataType::firstOrNew([$field => $for]); + } +} diff --git a/database/seeders/MenuItemsTableSeeder.php b/database/seeders/MenuItemsTableSeeder.php new file mode 100644 index 00000000..bd1c7970 --- /dev/null +++ b/database/seeders/MenuItemsTableSeeder.php @@ -0,0 +1,179 @@ +firstOrFail(); + + $menuItem = MenuItem::firstOrNew([ + 'menu_id' => $menu->id, + 'title' => __('voyager::seeders.menu_items.dashboard'), + 'url' => '', + 'route' => 'voyager.dashboard', + ]); + if (!$menuItem->exists) { + $menuItem->fill([ + 'target' => '_self', + 'icon_class' => 'voyager-boat', + 'color' => null, + 'parent_id' => null, + 'order' => 1, + ])->save(); + } + + $menuItem = MenuItem::firstOrNew([ + 'menu_id' => $menu->id, + 'title' => __('voyager::seeders.menu_items.media'), + 'url' => '', + 'route' => 'voyager.media.index', + ]); + if (!$menuItem->exists) { + $menuItem->fill([ + 'target' => '_self', + 'icon_class' => 'voyager-images', + 'color' => null, + 'parent_id' => null, + 'order' => 5, + ])->save(); + } + + $menuItem = MenuItem::firstOrNew([ + 'menu_id' => $menu->id, + 'title' => __('voyager::seeders.menu_items.users'), + 'url' => '', + 'route' => 'voyager.users.index', + ]); + if (!$menuItem->exists) { + $menuItem->fill([ + 'target' => '_self', + 'icon_class' => 'voyager-person', + 'color' => null, + 'parent_id' => null, + 'order' => 3, + ])->save(); + } + + $menuItem = MenuItem::firstOrNew([ + 'menu_id' => $menu->id, + 'title' => __('voyager::seeders.menu_items.roles'), + 'url' => '', + 'route' => 'voyager.roles.index', + ]); + if (!$menuItem->exists) { + $menuItem->fill([ + 'target' => '_self', + 'icon_class' => 'voyager-lock', + 'color' => null, + 'parent_id' => null, + 'order' => 2, + ])->save(); + } + + $toolsMenuItem = MenuItem::firstOrNew([ + 'menu_id' => $menu->id, + 'title' => __('voyager::seeders.menu_items.tools'), + 'url' => '', + ]); + if (!$toolsMenuItem->exists) { + $toolsMenuItem->fill([ + 'target' => '_self', + 'icon_class' => 'voyager-tools', + 'color' => null, + 'parent_id' => null, + 'order' => 9, + ])->save(); + } + + $menuItem = MenuItem::firstOrNew([ + 'menu_id' => $menu->id, + 'title' => __('voyager::seeders.menu_items.menu_builder'), + 'url' => '', + 'route' => 'voyager.menus.index', + ]); + if (!$menuItem->exists) { + $menuItem->fill([ + 'target' => '_self', + 'icon_class' => 'voyager-list', + 'color' => null, + 'parent_id' => $toolsMenuItem->id, + 'order' => 10, + ])->save(); + } + + $menuItem = MenuItem::firstOrNew([ + 'menu_id' => $menu->id, + 'title' => __('voyager::seeders.menu_items.database'), + 'url' => '', + 'route' => 'voyager.database.index', + ]); + if (!$menuItem->exists) { + $menuItem->fill([ + 'target' => '_self', + 'icon_class' => 'voyager-data', + 'color' => null, + 'parent_id' => $toolsMenuItem->id, + 'order' => 11, + ])->save(); + } + + $menuItem = MenuItem::firstOrNew([ + 'menu_id' => $menu->id, + 'title' => __('voyager::seeders.menu_items.compass'), + 'url' => '', + 'route' => 'voyager.compass.index', + ]); + if (!$menuItem->exists) { + $menuItem->fill([ + 'target' => '_self', + 'icon_class' => 'voyager-compass', + 'color' => null, + 'parent_id' => $toolsMenuItem->id, + 'order' => 12, + ])->save(); + } + + $menuItem = MenuItem::firstOrNew([ + 'menu_id' => $menu->id, + 'title' => __('voyager::seeders.menu_items.bread'), + 'url' => '', + 'route' => 'voyager.bread.index', + ]); + if (!$menuItem->exists) { + $menuItem->fill([ + 'target' => '_self', + 'icon_class' => 'voyager-bread', + 'color' => null, + 'parent_id' => $toolsMenuItem->id, + 'order' => 13, + ])->save(); + } + + $menuItem = MenuItem::firstOrNew([ + 'menu_id' => $menu->id, + 'title' => __('voyager::seeders.menu_items.settings'), + 'url' => '', + 'route' => 'voyager.settings.index', + ]); + if (!$menuItem->exists) { + $menuItem->fill([ + 'target' => '_self', + 'icon_class' => 'voyager-settings', + 'color' => null, + 'parent_id' => null, + 'order' => 14, + ])->save(); + } + } +} diff --git a/database/seeders/MenusTableSeeder.php b/database/seeders/MenusTableSeeder.php new file mode 100644 index 00000000..9ce5d180 --- /dev/null +++ b/database/seeders/MenusTableSeeder.php @@ -0,0 +1,21 @@ + 'admin', + ]); + } +} diff --git a/database/seeders/PagesTableSeeder.php b/database/seeders/PagesTableSeeder.php new file mode 100644 index 00000000..4b085024 --- /dev/null +++ b/database/seeders/PagesTableSeeder.php @@ -0,0 +1,301 @@ +dataType('slug', 'pages'); + if (!$dataType->exists) { + $dataType->fill([ + 'name' => 'pages', + 'display_name_singular' => __('voyager::seeders.data_types.page.singular'), + 'display_name_plural' => __('voyager::seeders.data_types.page.plural'), + 'icon' => 'voyager-file-text', + 'model_name' => 'TCG\\Voyager\\Models\\Page', + 'controller' => '', + 'generate_permissions' => 1, + 'description' => '', + ])->save(); + } + + //Data Rows + $pageDataType = DataType::where('slug', 'pages')->firstOrFail(); + $dataRow = $this->dataRow($pageDataType, 'id'); + if (!$dataRow->exists) { + $dataRow->fill([ + 'type' => 'number', + 'display_name' => __('voyager::seeders.data_rows.id'), + 'required' => 1, + 'browse' => 0, + 'read' => 0, + 'edit' => 0, + 'add' => 0, + 'delete' => 0, + 'order' => 1, + ])->save(); + } + + $dataRow = $this->dataRow($pageDataType, 'author_id'); + if (!$dataRow->exists) { + $dataRow->fill([ + 'type' => 'text', + 'display_name' => __('voyager::seeders.data_rows.author'), + 'required' => 1, + 'browse' => 0, + 'read' => 0, + 'edit' => 0, + 'add' => 0, + 'delete' => 0, + 'order' => 2, + ])->save(); + } + + $dataRow = $this->dataRow($pageDataType, 'title'); + if (!$dataRow->exists) { + $dataRow->fill([ + 'type' => 'text', + 'display_name' => __('voyager::seeders.data_rows.title'), + 'required' => 1, + 'browse' => 1, + 'read' => 1, + 'edit' => 1, + 'add' => 1, + 'delete' => 1, + 'order' => 3, + ])->save(); + } + + $dataRow = $this->dataRow($pageDataType, 'excerpt'); + if (!$dataRow->exists) { + $dataRow->fill([ + 'type' => 'text_area', + 'display_name' => __('voyager::seeders.data_rows.excerpt'), + 'required' => 1, + 'browse' => 0, + 'read' => 1, + 'edit' => 1, + 'add' => 1, + 'delete' => 1, + 'order' => 4, + ])->save(); + } + + $dataRow = $this->dataRow($pageDataType, 'body'); + if (!$dataRow->exists) { + $dataRow->fill([ + 'type' => 'rich_text_box', + 'display_name' => __('voyager::seeders.data_rows.body'), + 'required' => 1, + 'browse' => 0, + 'read' => 1, + 'edit' => 1, + 'add' => 1, + 'delete' => 1, + 'order' => 5, + ])->save(); + } + + $dataRow = $this->dataRow($pageDataType, 'slug'); + if (!$dataRow->exists) { + $dataRow->fill([ + 'type' => 'text', + 'display_name' => __('voyager::seeders.data_rows.slug'), + 'required' => 1, + 'browse' => 0, + 'read' => 1, + 'edit' => 1, + 'add' => 1, + 'delete' => 1, + 'details' => [ + 'slugify' => [ + 'origin' => 'title', + ], + 'validation' => [ + 'rule' => 'unique:pages,slug', + ], + ], + 'order' => 6, + ])->save(); + } + + $dataRow = $this->dataRow($pageDataType, 'meta_description'); + if (!$dataRow->exists) { + $dataRow->fill([ + 'type' => 'text', + 'display_name' => __('voyager::seeders.data_rows.meta_description'), + 'required' => 1, + 'browse' => 0, + 'read' => 1, + 'edit' => 1, + 'add' => 1, + 'delete' => 1, + 'order' => 7, + ])->save(); + } + + $dataRow = $this->dataRow($pageDataType, 'meta_keywords'); + if (!$dataRow->exists) { + $dataRow->fill([ + 'type' => 'text', + 'display_name' => __('voyager::seeders.data_rows.meta_keywords'), + 'required' => 1, + 'browse' => 0, + 'read' => 1, + 'edit' => 1, + 'add' => 1, + 'delete' => 1, + 'order' => 8, + ])->save(); + } + + $dataRow = $this->dataRow($pageDataType, 'status'); + if (!$dataRow->exists) { + $dataRow->fill([ + 'type' => 'select_dropdown', + 'display_name' => __('voyager::seeders.data_rows.status'), + 'required' => 1, + 'browse' => 1, + 'read' => 1, + 'edit' => 1, + 'add' => 1, + 'delete' => 1, + 'details' => [ + 'default' => 'INACTIVE', + 'options' => [ + 'INACTIVE' => 'INACTIVE', + 'ACTIVE' => 'ACTIVE', + ], + ], + 'order' => 9, + ])->save(); + } + + $dataRow = $this->dataRow($pageDataType, 'created_at'); + if (!$dataRow->exists) { + $dataRow->fill([ + 'type' => 'timestamp', + 'display_name' => __('voyager::seeders.data_rows.created_at'), + 'required' => 1, + 'browse' => 1, + 'read' => 1, + 'edit' => 0, + 'add' => 0, + 'delete' => 0, + 'order' => 10, + ])->save(); + } + + $dataRow = $this->dataRow($pageDataType, 'updated_at'); + if (!$dataRow->exists) { + $dataRow->fill([ + 'type' => 'timestamp', + 'display_name' => __('voyager::seeders.data_rows.updated_at'), + 'required' => 1, + 'browse' => 0, + 'read' => 0, + 'edit' => 0, + 'add' => 0, + 'delete' => 0, + 'order' => 11, + ])->save(); + } + + $dataRow = $this->dataRow($pageDataType, 'image'); + if (!$dataRow->exists) { + $dataRow->fill([ + 'type' => 'image', + 'display_name' => __('voyager::seeders.data_rows.page_image'), + 'required' => 0, + 'browse' => 1, + 'read' => 1, + 'edit' => 1, + 'add' => 1, + 'delete' => 1, + 'order' => 12, + ])->save(); + } + + //Menu Item + $menu = Menu::where('name', 'admin')->firstOrFail(); + $menuItem = MenuItem::firstOrNew([ + 'menu_id' => $menu->id, + 'title' => __('voyager::seeders.menu_items.pages'), + 'url' => '', + 'route' => 'voyager.pages.index', + ]); + if (!$menuItem->exists) { + $menuItem->fill([ + 'target' => '_self', + 'icon_class' => 'voyager-file-text', + 'color' => null, + 'parent_id' => null, + 'order' => 7, + ])->save(); + } + + //Permissions + Permission::generateFor('pages'); + //Content + $page = Page::firstOrNew([ + 'slug' => 'hello-world', + ]); + if (!$page->exists) { + $page->fill([ + 'author_id' => 0, + 'title' => 'Hello World', + 'excerpt' => 'Hang the jib grog grog blossom grapple dance the hempen jig gangway pressgang bilge rat to go on account lugger. Nelsons folly gabion line draught scallywag fire ship gaff fluke fathom case shot. Sea Legs bilge rat sloop matey gabion long clothes run a shot across the bow Gold Road cog league.', + 'body' => '

Hello World. Scallywag grog swab Cat o\'nine tails scuttle rigging hardtack cable nipper Yellow Jack. Handsomely spirits knave lad killick landlubber or just lubber deadlights chantey pinnace crack Jennys tea cup. Provost long clothes black spot Yellow Jack bilged on her anchor league lateen sail case shot lee tackle.

+

Ballast spirits fluke topmast me quarterdeck schooner landlubber or just lubber gabion belaying pin. Pinnace stern galleon starboard warp carouser to go on account dance the hempen jig jolly boat measured fer yer chains. Man-of-war fire in the hole nipperkin handsomely doubloon barkadeer Brethren of the Coast gibbet driver squiffy.

', + 'image' => 'pages/page1.jpg', + 'meta_description' => 'Yar Meta Description', + 'meta_keywords' => 'Keyword1, Keyword2', + 'status' => 'ACTIVE', + ])->save(); + } + } + + /** + * [dataRow description]. + * + * @param [type] $type [description] + * @param [type] $field [description] + * + * @return [type] [description] + */ + protected function dataRow($type, $field) + { + return DataRow::firstOrNew([ + 'data_type_id' => $type->id, + 'field' => $field, + ]); + } + + /** + * [dataType description]. + * + * @param [type] $field [description] + * @param [type] $for [description] + * + * @return [type] [description] + */ + protected function dataType($field, $for) + { + return DataType::firstOrNew([$field => $for]); + } +} diff --git a/database/seeders/PermissionRoleTableSeeder.php b/database/seeders/PermissionRoleTableSeeder.php new file mode 100644 index 00000000..21b529f4 --- /dev/null +++ b/database/seeders/PermissionRoleTableSeeder.php @@ -0,0 +1,26 @@ +firstOrFail(); + + $permissions = Permission::all(); + + $role->permissions()->sync( + $permissions->pluck('id')->all() + ); + } +} diff --git a/database/seeders/PermissionsTableSeeder.php b/database/seeders/PermissionsTableSeeder.php new file mode 100644 index 00000000..541f5f1c --- /dev/null +++ b/database/seeders/PermissionsTableSeeder.php @@ -0,0 +1,38 @@ + $key, + 'table_name' => null, + ]); + } + + Permission::generateFor('menus'); + + Permission::generateFor('roles'); + + Permission::generateFor('users'); + + Permission::generateFor('settings'); + } +} diff --git a/database/seeders/PostsTableSeeder.php b/database/seeders/PostsTableSeeder.php new file mode 100644 index 00000000..e783bbf8 --- /dev/null +++ b/database/seeders/PostsTableSeeder.php @@ -0,0 +1,439 @@ +dataType('slug', 'posts'); + if (!$dataType->exists) { + $dataType->fill([ + 'name' => 'posts', + 'display_name_singular' => __('voyager::seeders.data_types.post.singular'), + 'display_name_plural' => __('voyager::seeders.data_types.post.plural'), + 'icon' => 'voyager-news', + 'model_name' => 'TCG\\Voyager\\Models\\Post', + 'policy_name' => 'TCG\\Voyager\\Policies\\PostPolicy', + 'controller' => '', + 'generate_permissions' => 1, + 'description' => '', + ])->save(); + } + + //Data Rows + $postDataType = DataType::where('slug', 'posts')->firstOrFail(); + $dataRow = $this->dataRow($postDataType, 'id'); + if (!$dataRow->exists) { + $dataRow->fill([ + 'type' => 'number', + 'display_name' => __('voyager::seeders.data_rows.id'), + 'required' => 1, + 'browse' => 0, + 'read' => 0, + 'edit' => 0, + 'add' => 0, + 'delete' => 0, + 'order' => 1, + ])->save(); + } + + $dataRow = $this->dataRow($postDataType, 'author_id'); + if (!$dataRow->exists) { + $dataRow->fill([ + 'type' => 'text', + 'display_name' => __('voyager::seeders.data_rows.author'), + 'required' => 1, + 'browse' => 0, + 'read' => 1, + 'edit' => 1, + 'add' => 0, + 'delete' => 1, + 'order' => 2, + ])->save(); + } + + $dataRow = $this->dataRow($postDataType, 'category_id'); + if (!$dataRow->exists) { + $dataRow->fill([ + 'type' => 'text', + 'display_name' => __('voyager::seeders.data_rows.category'), + 'required' => 1, + 'browse' => 0, + 'read' => 1, + 'edit' => 1, + 'add' => 1, + 'delete' => 0, + 'order' => 3, + ])->save(); + } + + $dataRow = $this->dataRow($postDataType, 'title'); + if (!$dataRow->exists) { + $dataRow->fill([ + 'type' => 'text', + 'display_name' => __('voyager::seeders.data_rows.title'), + 'required' => 1, + 'browse' => 1, + 'read' => 1, + 'edit' => 1, + 'add' => 1, + 'delete' => 1, + 'order' => 4, + ])->save(); + } + + $dataRow = $this->dataRow($postDataType, 'excerpt'); + if (!$dataRow->exists) { + $dataRow->fill([ + 'type' => 'text_area', + 'display_name' => __('voyager::seeders.data_rows.excerpt'), + 'required' => 1, + 'browse' => 0, + 'read' => 1, + 'edit' => 1, + 'add' => 1, + 'delete' => 1, + 'order' => 5, + ])->save(); + } + + $dataRow = $this->dataRow($postDataType, 'body'); + if (!$dataRow->exists) { + $dataRow->fill([ + 'type' => 'rich_text_box', + 'display_name' => __('voyager::seeders.data_rows.body'), + 'required' => 1, + 'browse' => 0, + 'read' => 1, + 'edit' => 1, + 'add' => 1, + 'delete' => 1, + 'order' => 6, + ])->save(); + } + + $dataRow = $this->dataRow($postDataType, 'image'); + if (!$dataRow->exists) { + $dataRow->fill([ + 'type' => 'image', + 'display_name' => __('voyager::seeders.data_rows.post_image'), + 'required' => 0, + 'browse' => 1, + 'read' => 1, + 'edit' => 1, + 'add' => 1, + 'delete' => 1, + 'details' => [ + 'resize' => [ + 'width' => '1000', + 'height' => 'null', + ], + 'quality' => '70%', + 'upsize' => true, + 'thumbnails' => [ + [ + 'name' => 'medium', + 'scale' => '50%', + ], + [ + 'name' => 'small', + 'scale' => '25%', + ], + [ + 'name' => 'cropped', + 'crop' => [ + 'width' => '300', + 'height' => '250', + ], + ], + ], + ], + 'order' => 7, + ])->save(); + } + + $dataRow = $this->dataRow($postDataType, 'slug'); + if (!$dataRow->exists) { + $dataRow->fill([ + 'type' => 'text', + 'display_name' => __('voyager::seeders.data_rows.slug'), + 'required' => 1, + 'browse' => 0, + 'read' => 1, + 'edit' => 1, + 'add' => 1, + 'delete' => 1, + 'details' => [ + 'slugify' => [ + 'origin' => 'title', + 'forceUpdate' => true, + ], + 'validation' => [ + 'rule' => 'unique:posts,slug', + ], + ], + 'order' => 8, + ])->save(); + } + + $dataRow = $this->dataRow($postDataType, 'meta_description'); + if (!$dataRow->exists) { + $dataRow->fill([ + 'type' => 'text_area', + 'display_name' => __('voyager::seeders.data_rows.meta_description'), + 'required' => 1, + 'browse' => 0, + 'read' => 1, + 'edit' => 1, + 'add' => 1, + 'delete' => 1, + 'order' => 9, + ])->save(); + } + + $dataRow = $this->dataRow($postDataType, 'meta_keywords'); + if (!$dataRow->exists) { + $dataRow->fill([ + 'type' => 'text_area', + 'display_name' => __('voyager::seeders.data_rows.meta_keywords'), + 'required' => 1, + 'browse' => 0, + 'read' => 1, + 'edit' => 1, + 'add' => 1, + 'delete' => 1, + 'order' => 10, + ])->save(); + } + + $dataRow = $this->dataRow($postDataType, 'status'); + if (!$dataRow->exists) { + $dataRow->fill([ + 'type' => 'select_dropdown', + 'display_name' => __('voyager::seeders.data_rows.status'), + 'required' => 1, + 'browse' => 1, + 'read' => 1, + 'edit' => 1, + 'add' => 1, + 'delete' => 1, + 'details' => [ + 'default' => 'DRAFT', + 'options' => [ + 'PUBLISHED' => 'published', + 'DRAFT' => 'draft', + 'PENDING' => 'pending', + ], + ], + 'order' => 11, + ])->save(); + } + + $dataRow = $this->dataRow($postDataType, 'created_at'); + if (!$dataRow->exists) { + $dataRow->fill([ + 'type' => 'timestamp', + 'display_name' => __('voyager::seeders.data_rows.created_at'), + 'required' => 0, + 'browse' => 1, + 'read' => 1, + 'edit' => 0, + 'add' => 0, + 'delete' => 0, + 'order' => 12, + ])->save(); + } + + $dataRow = $this->dataRow($postDataType, 'updated_at'); + if (!$dataRow->exists) { + $dataRow->fill([ + 'type' => 'timestamp', + 'display_name' => __('voyager::seeders.data_rows.updated_at'), + 'required' => 0, + 'browse' => 0, + 'read' => 0, + 'edit' => 0, + 'add' => 0, + 'delete' => 0, + 'order' => 13, + ])->save(); + } + + $dataRow = $this->dataRow($postDataType, 'seo_title'); + if (!$dataRow->exists) { + $dataRow->fill([ + 'type' => 'text', + 'display_name' => __('voyager::seeders.data_rows.seo_title'), + 'required' => 0, + 'browse' => 1, + 'read' => 1, + 'edit' => 1, + 'add' => 1, + 'delete' => 1, + 'order' => 14, + ])->save(); + } + $dataRow = $this->dataRow($postDataType, 'featured'); + if (!$dataRow->exists) { + $dataRow->fill([ + 'type' => 'checkbox', + 'display_name' => __('voyager::seeders.data_rows.featured'), + 'required' => 1, + 'browse' => 1, + 'read' => 1, + 'edit' => 1, + 'add' => 1, + 'delete' => 1, + 'order' => 15, + ])->save(); + } + + //Menu Item + $menu = Menu::where('name', 'admin')->firstOrFail(); + $menuItem = MenuItem::firstOrNew([ + 'menu_id' => $menu->id, + 'title' => __('voyager::seeders.menu_items.posts'), + 'url' => '', + 'route' => 'voyager.posts.index', + ]); + if (!$menuItem->exists) { + $menuItem->fill([ + 'target' => '_self', + 'icon_class' => 'voyager-news', + 'color' => null, + 'parent_id' => null, + 'order' => 6, + ])->save(); + } + + //Permissions + Permission::generateFor('posts'); + + //Content + $post = $this->findPost('lorem-ipsum-post'); + if (!$post->exists) { + $post->fill([ + 'title' => 'Lorem Ipsum Post', + 'author_id' => 0, + 'seo_title' => null, + 'excerpt' => 'This is the excerpt for the Lorem Ipsum Post', + 'body' => '

This is the body of the lorem ipsum post

', + 'image' => 'posts/post1.jpg', + 'slug' => 'lorem-ipsum-post', + 'meta_description' => 'This is the meta description', + 'meta_keywords' => 'keyword1, keyword2, keyword3', + 'status' => 'PUBLISHED', + 'featured' => 0, + ])->save(); + } + + $post = $this->findPost('my-sample-post'); + if (!$post->exists) { + $post->fill([ + 'title' => 'My Sample Post', + 'author_id' => 0, + 'seo_title' => null, + 'excerpt' => 'This is the excerpt for the sample Post', + 'body' => '

This is the body for the sample post, which includes the body.

+

We can use all kinds of format!

+

And include a bunch of other stuff.

', + 'image' => 'posts/post2.jpg', + 'slug' => 'my-sample-post', + 'meta_description' => 'Meta Description for sample post', + 'meta_keywords' => 'keyword1, keyword2, keyword3', + 'status' => 'PUBLISHED', + 'featured' => 0, + ])->save(); + } + + $post = $this->findPost('latest-post'); + if (!$post->exists) { + $post->fill([ + 'title' => 'Latest Post', + 'author_id' => 0, + 'seo_title' => null, + 'excerpt' => 'This is the excerpt for the latest post', + 'body' => '

This is the body for the latest post

', + 'image' => 'posts/post3.jpg', + 'slug' => 'latest-post', + 'meta_description' => 'This is the meta description', + 'meta_keywords' => 'keyword1, keyword2, keyword3', + 'status' => 'PUBLISHED', + 'featured' => 0, + ])->save(); + } + + $post = $this->findPost('yarr-post'); + if (!$post->exists) { + $post->fill([ + 'title' => 'Yarr Post', + 'author_id' => 0, + 'seo_title' => null, + 'excerpt' => 'Reef sails nipperkin bring a spring upon her cable coffer jury mast spike marooned Pieces of Eight poop deck pillage. Clipper driver coxswain galleon hempen halter come about pressgang gangplank boatswain swing the lead. Nipperkin yard skysail swab lanyard Blimey bilge water ho quarter Buccaneer.', + 'body' => '

Swab deadlights Buccaneer fire ship square-rigged dance the hempen jig weigh anchor cackle fruit grog furl. Crack Jennys tea cup chase guns pressgang hearties spirits hogshead Gold Road six pounders fathom measured fer yer chains. Main sheet provost come about trysail barkadeer crimp scuttle mizzenmast brig plunder.

+

Mizzen league keelhaul galleon tender cog chase Barbary Coast doubloon crack Jennys tea cup. Blow the man down lugsail fire ship pinnace cackle fruit line warp Admiral of the Black strike colors doubloon. Tackle Jack Ketch come about crimp rum draft scuppers run a shot across the bow haul wind maroon.

+

Interloper heave down list driver pressgang holystone scuppers tackle scallywag bilged on her anchor. Jack Tar interloper draught grapple mizzenmast hulk knave cable transom hogshead. Gaff pillage to go on account grog aft chase guns piracy yardarm knave clap of thunder.

', + 'image' => 'posts/post4.jpg', + 'slug' => 'yarr-post', + 'meta_description' => 'this be a meta descript', + 'meta_keywords' => 'keyword1, keyword2, keyword3', + 'status' => 'PUBLISHED', + 'featured' => 0, + ])->save(); + } + } + + /** + * [post description]. + * + * @param [type] $slug [description] + * + * @return [type] [description] + */ + protected function findPost($slug) + { + return Post::firstOrNew(['slug' => $slug]); + } + + /** + * [dataRow description]. + * + * @param [type] $type [description] + * @param [type] $field [description] + * + * @return [type] [description] + */ + protected function dataRow($type, $field) + { + return DataRow::firstOrNew([ + 'data_type_id' => $type->id, + 'field' => $field, + ]); + } + + /** + * [dataType description]. + * + * @param [type] $field [description] + * @param [type] $for [description] + * + * @return [type] [description] + */ + protected function dataType($field, $for) + { + return DataType::firstOrNew([$field => $for]); + } +} diff --git a/database/seeders/RolesTableSeeder.php b/database/seeders/RolesTableSeeder.php new file mode 100644 index 00000000..dc084977 --- /dev/null +++ b/database/seeders/RolesTableSeeder.php @@ -0,0 +1,29 @@ + 'admin']); + if (!$role->exists) { + $role->fill([ + 'display_name' => __('voyager::seeders.roles.admin'), + ])->save(); + } + + $role = Role::firstOrNew(['name' => 'user']); + if (!$role->exists) { + $role->fill([ + 'display_name' => __('voyager::seeders.roles.user'), + ])->save(); + } + } +} diff --git a/database/seeders/SettingsTableSeeder.php b/database/seeders/SettingsTableSeeder.php new file mode 100644 index 00000000..09b27bca --- /dev/null +++ b/database/seeders/SettingsTableSeeder.php @@ -0,0 +1,147 @@ +findSetting('site.title'); + if (!$setting->exists) { + $setting->fill([ + 'display_name' => __('voyager::seeders.settings.site.title'), + 'value' => __('voyager::seeders.settings.site.title'), + 'details' => '', + 'type' => 'text', + 'order' => 1, + 'group' => 'Site', + ])->save(); + } + + $setting = $this->findSetting('site.description'); + if (!$setting->exists) { + $setting->fill([ + 'display_name' => __('voyager::seeders.settings.site.description'), + 'value' => __('voyager::seeders.settings.site.description'), + 'details' => '', + 'type' => 'text', + 'order' => 2, + 'group' => 'Site', + ])->save(); + } + + $setting = $this->findSetting('site.logo'); + if (!$setting->exists) { + $setting->fill([ + 'display_name' => __('voyager::seeders.settings.site.logo'), + 'value' => '', + 'details' => '', + 'type' => 'image', + 'order' => 3, + 'group' => 'Site', + ])->save(); + } + + $setting = $this->findSetting('site.google_analytics_tracking_id'); + if (!$setting->exists) { + $setting->fill([ + 'display_name' => __('voyager::seeders.settings.site.google_analytics_tracking_id'), + 'value' => '', + 'details' => '', + 'type' => 'text', + 'order' => 4, + 'group' => 'Site', + ])->save(); + } + + $setting = $this->findSetting('admin.bg_image'); + if (!$setting->exists) { + $setting->fill([ + 'display_name' => __('voyager::seeders.settings.admin.background_image'), + 'value' => '', + 'details' => '', + 'type' => 'image', + 'order' => 5, + 'group' => 'Admin', + ])->save(); + } + + $setting = $this->findSetting('admin.title'); + if (!$setting->exists) { + $setting->fill([ + 'display_name' => __('voyager::seeders.settings.admin.title'), + 'value' => 'Voyager', + 'details' => '', + 'type' => 'text', + 'order' => 1, + 'group' => 'Admin', + ])->save(); + } + + $setting = $this->findSetting('admin.description'); + if (!$setting->exists) { + $setting->fill([ + 'display_name' => __('voyager::seeders.settings.admin.description'), + 'value' => __('voyager::seeders.settings.admin.description_value'), + 'details' => '', + 'type' => 'text', + 'order' => 2, + 'group' => 'Admin', + ])->save(); + } + + $setting = $this->findSetting('admin.loader'); + if (!$setting->exists) { + $setting->fill([ + 'display_name' => __('voyager::seeders.settings.admin.loader'), + 'value' => '', + 'details' => '', + 'type' => 'image', + 'order' => 3, + 'group' => 'Admin', + ])->save(); + } + + $setting = $this->findSetting('admin.icon_image'); + if (!$setting->exists) { + $setting->fill([ + 'display_name' => __('voyager::seeders.settings.admin.icon_image'), + 'value' => '', + 'details' => '', + 'type' => 'image', + 'order' => 4, + 'group' => 'Admin', + ])->save(); + } + + $setting = $this->findSetting('admin.google_analytics_client_id'); + if (!$setting->exists) { + $setting->fill([ + 'display_name' => __('voyager::seeders.settings.admin.google_analytics_client_id'), + 'value' => '', + 'details' => '', + 'type' => 'text', + 'order' => 1, + 'group' => 'Admin', + ])->save(); + } + } + + /** + * [setting description]. + * + * @param [type] $key [description] + * + * @return [type] [description] + */ + protected function findSetting($key) + { + return Setting::firstOrNew(['key' => $key]); + } +} diff --git a/database/seeders/TranslationsTableSeeder.php b/database/seeders/TranslationsTableSeeder.php new file mode 100644 index 00000000..fff73d3f --- /dev/null +++ b/database/seeders/TranslationsTableSeeder.php @@ -0,0 +1,233 @@ +dataTypesTranslations(); + $this->categoriesTranslations(); + $this->pagesTranslations(); + $this->menusTranslations(); + } + + /** + * Auto generate Categories Translations. + * + * @return void + */ + private function categoriesTranslations() + { + // Adding translations for 'categories' + // + $cat = Category::where('slug', 'category-1')->firstOrFail(); + if ($cat->exists) { + $this->trans('pt', $this->arr(['categories', 'slug'], $cat->id), 'categoria-1'); + $this->trans('pt', $this->arr(['categories', 'name'], $cat->id), 'Categoria 1'); + } + $cat = Category::where('slug', 'category-2')->firstOrFail(); + if ($cat->exists) { + $this->trans('pt', $this->arr(['categories', 'slug'], $cat->id), 'categoria-2'); + $this->trans('pt', $this->arr(['categories', 'name'], $cat->id), 'Categoria 2'); + } + } + + /** + * Auto generate DataTypes Translations. + * + * @return void + */ + private function dataTypesTranslations() + { + // Adding translations for 'display_name_singular' + // + $_fld = 'display_name_singular'; + $_tpl = ['data_types', $_fld]; + $dtp = DataType::where($_fld, __('voyager::seeders.data_types.post.singular'))->firstOrFail(); + if ($dtp->exists) { + $this->trans('pt', $this->arr($_tpl, $dtp->id), 'Post'); + } + $dtp = DataType::where($_fld, __('voyager::seeders.data_types.page.singular'))->firstOrFail(); + if ($dtp->exists) { + $this->trans('pt', $this->arr($_tpl, $dtp->id), 'Página'); + } + $dtp = DataType::where($_fld, __('voyager::seeders.data_types.user.singular'))->firstOrFail(); + if ($dtp->exists) { + $this->trans('pt', $this->arr($_tpl, $dtp->id), 'Utilizador'); + } + $dtp = DataType::where($_fld, __('voyager::seeders.data_types.category.singular'))->firstOrFail(); + if ($dtp->exists) { + $this->trans('pt', $this->arr($_tpl, $dtp->id), 'Categoria'); + } + $dtp = DataType::where($_fld, __('voyager::seeders.data_types.menu.singular'))->firstOrFail(); + if ($dtp->exists) { + $this->trans('pt', $this->arr($_tpl, $dtp->id), 'Menu'); + } + $dtp = DataType::where($_fld, __('voyager::seeders.data_types.role.singular'))->firstOrFail(); + if ($dtp->exists) { + $this->trans('pt', $this->arr($_tpl, $dtp->id), 'Função'); + } + + // Adding translations for 'display_name_plural' + // + $_fld = 'display_name_plural'; + $_tpl = ['data_types', $_fld]; + $dtp = DataType::where($_fld, __('voyager::seeders.data_types.post.plural'))->firstOrFail(); + if ($dtp->exists) { + $this->trans('pt', $this->arr($_tpl, $dtp->id), 'Posts'); + } + $dtp = DataType::where($_fld, __('voyager::seeders.data_types.page.plural'))->firstOrFail(); + if ($dtp->exists) { + $this->trans('pt', $this->arr($_tpl, $dtp->id), 'Páginas'); + } + $dtp = DataType::where($_fld, __('voyager::seeders.data_types.user.plural'))->firstOrFail(); + if ($dtp->exists) { + $this->trans('pt', $this->arr($_tpl, $dtp->id), 'Utilizadores'); + } + $dtp = DataType::where($_fld, __('voyager::seeders.data_types.category.plural'))->firstOrFail(); + if ($dtp->exists) { + $this->trans('pt', $this->arr($_tpl, $dtp->id), 'Categorias'); + } + $dtp = DataType::where($_fld, __('voyager::seeders.data_types.menu.plural'))->firstOrFail(); + if ($dtp->exists) { + $this->trans('pt', $this->arr($_tpl, $dtp->id), 'Menus'); + } + $dtp = DataType::where($_fld, __('voyager::seeders.data_types.role.plural'))->firstOrFail(); + if ($dtp->exists) { + $this->trans('pt', $this->arr($_tpl, $dtp->id), 'Funções'); + } + } + + /** + * Auto generate Pages Translations. + * + * @return void + */ + private function pagesTranslations() + { + $page = Page::where('slug', 'hello-world')->firstOrFail(); + if ($page->exists) { + $_arr = $this->arr(['pages', 'title'], $page->id); + $this->trans('pt', $_arr, 'Olá Mundo'); + /** + * For configuring additional languages use it e.g. + * + * ``` + * $this->trans('es', $_arr, 'hola-mundo'); + * $this->trans('de', $_arr, 'hallo-welt'); + * ``` + */ + $_arr = $this->arr(['pages', 'slug'], $page->id); + $this->trans('pt', $_arr, 'ola-mundo'); + + $_arr = $this->arr(['pages', 'body'], $page->id); + $this->trans('pt', $_arr, '

Olá Mundo. Scallywag grog swab Cat o\'nine tails scuttle rigging hardtack cable nipper Yellow Jack. Handsomely spirits knave lad killick landlubber or just lubber deadlights chantey pinnace crack Jennys tea cup. Provost long clothes black spot Yellow Jack bilged on her anchor league lateen sail case shot lee tackle.

' + ."\r\n".'

Ballast spirits fluke topmast me quarterdeck schooner landlubber or just lubber gabion belaying pin. Pinnace stern galleon starboard warp carouser to go on account dance the hempen jig jolly boat measured fer yer chains. Man-of-war fire in the hole nipperkin handsomely doubloon barkadeer Brethren of the Coast gibbet driver squiffy.

'); + } + } + + /** + * Auto generate Menus Translations. + * + * @return void + */ + private function menusTranslations() + { + $_tpl = ['menu_items', 'title']; + $_item = $this->findMenuItem(__('voyager::seeders.menu_items.dashboard')); + if ($_item->exists) { + $this->trans('pt', $this->arr($_tpl, $_item->id), 'Painel de Controle'); + } + + $_item = $this->findMenuItem(__('voyager::seeders.menu_items.media')); + if ($_item->exists) { + $this->trans('pt', $this->arr($_tpl, $_item->id), 'Media'); + } + + $_item = $this->findMenuItem(__('voyager::seeders.menu_items.posts')); + if ($_item->exists) { + $this->trans('pt', $this->arr($_tpl, $_item->id), 'Publicações'); + } + + $_item = $this->findMenuItem(__('voyager::seeders.menu_items.users')); + if ($_item->exists) { + $this->trans('pt', $this->arr($_tpl, $_item->id), 'Utilizadores'); + } + + $_item = $this->findMenuItem(__('voyager::seeders.menu_items.categories')); + if ($_item->exists) { + $this->trans('pt', $this->arr($_tpl, $_item->id), 'Categorias'); + } + + $_item = $this->findMenuItem(__('voyager::seeders.menu_items.pages')); + if ($_item->exists) { + $this->trans('pt', $this->arr($_tpl, $_item->id), 'Páginas'); + } + + $_item = $this->findMenuItem(__('voyager::seeders.menu_items.roles')); + if ($_item->exists) { + $this->trans('pt', $this->arr($_tpl, $_item->id), 'Funções'); + } + + $_item = $this->findMenuItem(__('voyager::seeders.menu_items.tools')); + if ($_item->exists) { + $this->trans('pt', $this->arr($_tpl, $_item->id), 'Ferramentas'); + } + + $_item = $this->findMenuItem(__('voyager::seeders.menu_items.menu_builder')); + if ($_item->exists) { + $this->trans('pt', $this->arr($_tpl, $_item->id), 'Menus'); + } + + $_item = $this->findMenuItem(__('voyager::seeders.menu_items.database')); + if ($_item->exists) { + $this->trans('pt', $this->arr($_tpl, $_item->id), 'Base de dados'); + } + + $_item = $this->findMenuItem(__('voyager::seeders.menu_items.settings')); + if ($_item->exists) { + $this->trans('pt', $this->arr($_tpl, $_item->id), 'Configurações'); + } + } + + private function findMenuItem($title) + { + return MenuItem::where('title', $title)->firstOrFail(); + } + + private function arr($par, $id) + { + return [ + 'table_name' => $par[0], + 'column_name' => $par[1], + 'foreign_key' => $id, + ]; + } + + private function trans($lang, $keys, $value) + { + $_t = Translation::firstOrNew(array_merge($keys, [ + 'locale' => $lang, + ])); + + if (!$_t->exists) { + $_t->fill(array_merge( + $keys, + ['value' => $value] + ))->save(); + } + } +} diff --git a/database/seeders/UsersTableSeeder.php b/database/seeders/UsersTableSeeder.php new file mode 100644 index 00000000..b1375c31 --- /dev/null +++ b/database/seeders/UsersTableSeeder.php @@ -0,0 +1,31 @@ +firstOrFail(); + + User::create([ + 'name' => 'Admin', + 'email' => 'admin@admin.com', + 'password' => bcrypt('password'), + 'remember_token' => Str::random(60), + 'role_id' => $role->id, + ]); + } + } +} diff --git a/database/seeders/VoyagerDatabaseSeeder.php b/database/seeders/VoyagerDatabaseSeeder.php new file mode 100644 index 00000000..ff8d68cd --- /dev/null +++ b/database/seeders/VoyagerDatabaseSeeder.php @@ -0,0 +1,27 @@ +call([ + DataTypesTableSeeder::class, + DataRowsTableSeeder::class, + MenusTableSeeder::class, + MenuItemsTableSeeder::class, + RolesTableSeeder::class, + PermissionsTableSeeder::class, + PermissionRoleTableSeeder::class, + SettingsTableSeeder::class, + ]); + } +} diff --git a/database/seeders/VoyagerDummyDatabaseSeeder.php b/database/seeders/VoyagerDummyDatabaseSeeder.php new file mode 100644 index 00000000..228b8c45 --- /dev/null +++ b/database/seeders/VoyagerDummyDatabaseSeeder.php @@ -0,0 +1,25 @@ +call([ + CategoriesTableSeeder::class, + UsersTableSeeder::class, + PostsTableSeeder::class, + PagesTableSeeder::class, + TranslationsTableSeeder::class, + PermissionRoleTableSeeder::class, + ]); + } +} diff --git a/routes/web.php b/routes/web.php index b1303973..6f93e595 100644 --- a/routes/web.php +++ b/routes/web.php @@ -16,3 +16,8 @@ Route::get('/', function () { return view('welcome'); }); + + +Route::group(['prefix' => 'admin'], function () { + Voyager::routes(); +}); From c5fe824a3fdddd24cd274ddbe60b6630d1116976 Mon Sep 17 00:00:00 2001 From: semantic-release-bot Date: Sat, 14 May 2022 00:42:57 +0000 Subject: [PATCH 2/6] chore(release): 1.1.1 ## [1.1.1](https://github.com/shadow81627/daim-api/compare/v1.1.0...v1.1.1) (2022-05-14) ### Bug Fixes * **deps:** Laravel 9 ([#70](https://github.com/shadow81627/daim-api/issues/70)) ([bf28514](https://github.com/shadow81627/daim-api/commit/bf28514d7b0dd345055efb5db2e87a3ed791deb8)) --- CHANGELOG.md | 7 +++++++ package.json | 2 +- 2 files changed, 8 insertions(+), 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 40197deb..8877ab68 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,12 @@ # Releases +## [1.1.1](https://github.com/shadow81627/daim-api/compare/v1.1.0...v1.1.1) (2022-05-14) + + +### Bug Fixes + +* **deps:** Laravel 9 ([#70](https://github.com/shadow81627/daim-api/issues/70)) ([bf28514](https://github.com/shadow81627/daim-api/commit/bf28514d7b0dd345055efb5db2e87a3ed791deb8)) + # [1.1.0](https://github.com/shadow81627/daim-api/compare/v1.0.18...v1.1.0) (2022-05-13) diff --git a/package.json b/package.json index a030d3f1..3f91e824 100644 --- a/package.json +++ b/package.json @@ -17,6 +17,6 @@ "postcss": "8.4.13", "webpack": "5.72.1" }, - "version": "1.1.0", + "version": "1.1.1", "packageManager": "yarn@3.2.1" } From 4fb6f4666750247895f45c196e4c5546b18f09f3 Mon Sep 17 00:00:00 2001 From: Damien Robinson Date: Sat, 14 May 2022 11:03:10 +1000 Subject: [PATCH 3/6] chore(deps): update lock file (#75) * chore(deps): update lock file * fix(deps): stancl/tenancy to 3.5.6 --- composer.json | 4 +- composer.lock | 1480 +++++++++++++++++++++++-------------------------- 2 files changed, 696 insertions(+), 788 deletions(-) diff --git a/composer.json b/composer.json index 91911757..b0bf6468 100644 --- a/composer.json +++ b/composer.json @@ -12,8 +12,8 @@ "laravel/framework": "9.12.2", "laravel/sanctum": "2.15.1", "laravel/tinker": "2.7.2", - "stancl/tenancy": "^3.5", - "tcg/voyager": "^1.5" + "stancl/tenancy": "3.5.6", + "tcg/voyager": "1.5.2" }, "require-dev": { "spatie/laravel-ignition": "1.0", diff --git a/composer.lock b/composer.lock index 98480b33..5f041ea6 100644 --- a/composer.lock +++ b/composer.lock @@ -4,7 +4,7 @@ "Read more about it at https://getcomposer.org/doc/01-basic-usage.md#installing-dependencies", "This file is @generated automatically" ], - "content-hash": "b37a8ef0c4b0b9f6fcf55cbf1f472914", + "content-hash": "9dddeefeb016ea13710bae7567da928c", "packages": [ { "name": "arrilot/laravel-widgets", @@ -782,27 +782,27 @@ }, { "name": "egulias/email-validator", - "version": "2.1.25", + "version": "3.1.2", "source": { "type": "git", "url": "https://github.com/egulias/EmailValidator.git", - "reference": "0dbf5d78455d4d6a41d186da50adc1122ec066f4" + "reference": "ee0db30118f661fb166bcffbf5d82032df484697" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/egulias/EmailValidator/zipball/0dbf5d78455d4d6a41d186da50adc1122ec066f4", - "reference": "0dbf5d78455d4d6a41d186da50adc1122ec066f4", + "url": "https://api.github.com/repos/egulias/EmailValidator/zipball/ee0db30118f661fb166bcffbf5d82032df484697", + "reference": "ee0db30118f661fb166bcffbf5d82032df484697", "shasum": "" }, "require": { - "doctrine/lexer": "^1.0.1", - "php": ">=5.5", - "symfony/polyfill-intl-idn": "^1.10" + "doctrine/lexer": "^1.2", + "php": ">=7.2", + "symfony/polyfill-intl-idn": "^1.15" }, "require-dev": { - "dominicsayers/isemail": "^3.0.7", - "phpunit/phpunit": "^4.8.36|^7.5.15", - "satooshi/php-coveralls": "^1.0.1" + "php-coveralls/php-coveralls": "^2.2", + "phpunit/phpunit": "^8.5.8|^9.3.3", + "vimeo/psalm": "^4" }, "suggest": { "ext-intl": "PHP Internationalization Libraries are required to use the SpoofChecking validation" @@ -810,7 +810,7 @@ "type": "library", "extra": { "branch-alias": { - "dev-master": "2.1.x-dev" + "dev-master": "3.0.x-dev" } }, "autoload": { @@ -838,7 +838,7 @@ ], "support": { "issues": "https://github.com/egulias/EmailValidator/issues", - "source": "https://github.com/egulias/EmailValidator/tree/2.1.25" + "source": "https://github.com/egulias/EmailValidator/tree/3.1.2" }, "funding": [ { @@ -846,7 +846,7 @@ "type": "github" } ], - "time": "2020-12-29T14:50:06+00:00" + "time": "2021-10-11T09:18:27+00:00" }, { "name": "facade/ignition-contracts", @@ -1578,16 +1578,16 @@ }, { "name": "laravel-json-api/core", - "version": "v2.2.0", + "version": "v2.3.0", "source": { "type": "git", "url": "https://github.com/laravel-json-api/core.git", - "reference": "1c9ebc010b6f9f86f8660dd4d7078d343dae134f" + "reference": "3eb91521228c04233d29c61e1cb835c42272f800" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/laravel-json-api/core/zipball/1c9ebc010b6f9f86f8660dd4d7078d343dae134f", - "reference": "1c9ebc010b6f9f86f8660dd4d7078d343dae134f", + "url": "https://api.github.com/repos/laravel-json-api/core/zipball/3eb91521228c04233d29c61e1cb835c42272f800", + "reference": "3eb91521228c04233d29c61e1cb835c42272f800", "shasum": "" }, "require": { @@ -1636,9 +1636,9 @@ ], "support": { "issues": "https://github.com/laravel-json-api/core/issues", - "source": "https://github.com/laravel-json-api/core/tree/v2.2.0" + "source": "https://github.com/laravel-json-api/core/tree/v2.3.0" }, - "time": "2022-04-01T19:39:06+00:00" + "time": "2022-04-17T17:20:35+00:00" }, { "name": "laravel-json-api/eloquent", @@ -2128,56 +2128,55 @@ }, { "name": "laravel/framework", - "version": "v8.83.12", + "version": "v9.12.2", "source": { "type": "git", "url": "https://github.com/laravel/framework.git", - "reference": "2af2314989845db68dfbb65a54b8748ffaf26204" + "reference": "b5b5c635f1a93f277b5248725a1f7ffc97e20810" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/laravel/framework/zipball/2af2314989845db68dfbb65a54b8748ffaf26204", - "reference": "2af2314989845db68dfbb65a54b8748ffaf26204", + "url": "https://api.github.com/repos/laravel/framework/zipball/b5b5c635f1a93f277b5248725a1f7ffc97e20810", + "reference": "b5b5c635f1a93f277b5248725a1f7ffc97e20810", "shasum": "" }, "require": { - "doctrine/inflector": "^1.4|^2.0", - "dragonmantank/cron-expression": "^3.0.2", - "egulias/email-validator": "^2.1.10", - "ext-json": "*", + "doctrine/inflector": "^2.0", + "dragonmantank/cron-expression": "^3.1", + "egulias/email-validator": "^3.1", "ext-mbstring": "*", "ext-openssl": "*", + "fruitcake/php-cors": "^1.2", "laravel/serializable-closure": "^1.0", - "league/commonmark": "^1.3|^2.0.2", - "league/flysystem": "^1.1", + "league/commonmark": "^2.2", + "league/flysystem": "^3.0", "monolog/monolog": "^2.0", "nesbot/carbon": "^2.53.1", - "opis/closure": "^3.6", - "php": "^7.3|^8.0", - "psr/container": "^1.0", - "psr/log": "^1.0|^2.0", - "psr/simple-cache": "^1.0", + "php": "^8.0.2", + "psr/container": "^1.1.1|^2.0.1", + "psr/log": "^1.0|^2.0|^3.0", + "psr/simple-cache": "^1.0|^2.0|^3.0", "ramsey/uuid": "^4.2.2", - "swiftmailer/swiftmailer": "^6.3", - "symfony/console": "^5.4", - "symfony/error-handler": "^5.4", - "symfony/finder": "^5.4", - "symfony/http-foundation": "^5.4", - "symfony/http-kernel": "^5.4", - "symfony/mime": "^5.4", - "symfony/process": "^5.4", - "symfony/routing": "^5.4", - "symfony/var-dumper": "^5.4", + "symfony/console": "^6.0", + "symfony/error-handler": "^6.0", + "symfony/finder": "^6.0", + "symfony/http-foundation": "^6.0", + "symfony/http-kernel": "^6.0", + "symfony/mailer": "^6.0", + "symfony/mime": "^6.0", + "symfony/process": "^6.0", + "symfony/routing": "^6.0", + "symfony/var-dumper": "^6.0", "tijsverkoyen/css-to-inline-styles": "^2.2.2", "vlucas/phpdotenv": "^5.4.1", - "voku/portable-ascii": "^1.6.1" + "voku/portable-ascii": "^2.0" }, "conflict": { "tightenco/collect": "<5.5.33" }, "provide": { - "psr/container-implementation": "1.0", - "psr/simple-cache-implementation": "1.0" + "psr/container-implementation": "1.1|2.0", + "psr/simple-cache-implementation": "1.0|2.0|3.0" }, "replace": { "illuminate/auth": "self.version", @@ -2185,6 +2184,7 @@ "illuminate/bus": "self.version", "illuminate/cache": "self.version", "illuminate/collections": "self.version", + "illuminate/conditionable": "self.version", "illuminate/config": "self.version", "illuminate/console": "self.version", "illuminate/container": "self.version", @@ -2215,19 +2215,22 @@ "require-dev": { "aws/aws-sdk-php": "^3.198.1", "doctrine/dbal": "^2.13.3|^3.1.4", - "filp/whoops": "^2.14.3", - "guzzlehttp/guzzle": "^6.5.5|^7.0.1", - "league/flysystem-cached-adapter": "^1.0", + "fakerphp/faker": "^1.9.2", + "guzzlehttp/guzzle": "^7.2", + "league/flysystem-aws-s3-v3": "^3.0", + "league/flysystem-ftp": "^3.0", + "league/flysystem-sftp-v3": "^3.0", "mockery/mockery": "^1.4.4", - "orchestra/testbench-core": "^6.27", + "orchestra/testbench-core": "^7.1", "pda/pheanstalk": "^4.0", - "phpunit/phpunit": "^8.5.19|^9.5.8", + "phpstan/phpstan": "^1.4.7", + "phpunit/phpunit": "^9.5.8", "predis/predis": "^1.1.9", - "symfony/cache": "^5.4" + "symfony/cache": "^6.0" }, "suggest": { "ably/ably-php": "Required to use the Ably broadcast driver (^1.0).", - "aws/aws-sdk-php": "Required to use the SQS queue driver, DynamoDb failed job storage and SES mail driver (^3.198.1).", + "aws/aws-sdk-php": "Required to use the SQS queue driver, DynamoDb failed job storage, and SES mail driver (^3.198.1).", "brianium/paratest": "Required to run tests in parallel (^6.0).", "doctrine/dbal": "Required to rename columns and drop SQLite columns (^2.13.3|^3.1.4).", "ext-bcmath": "Required to use the multiple_of validation rule.", @@ -2239,27 +2242,29 @@ "ext-redis": "Required to use the Redis cache and queue drivers (^4.0|^5.0).", "fakerphp/faker": "Required to use the eloquent factory builder (^1.9.1).", "filp/whoops": "Required for friendly error pages in development (^2.14.3).", - "guzzlehttp/guzzle": "Required to use the HTTP Client, Mailgun mail driver and the ping methods on schedules (^6.5.5|^7.0.1).", + "guzzlehttp/guzzle": "Required to use the HTTP Client and the ping methods on schedules (^7.2).", "laravel/tinker": "Required to use the tinker console command (^2.0).", - "league/flysystem-aws-s3-v3": "Required to use the Flysystem S3 driver (^1.0).", - "league/flysystem-cached-adapter": "Required to use the Flysystem cache (^1.0).", - "league/flysystem-sftp": "Required to use the Flysystem SFTP driver (^1.0).", + "league/flysystem-aws-s3-v3": "Required to use the Flysystem S3 driver (^3.0).", + "league/flysystem-ftp": "Required to use the Flysystem FTP driver (^3.0).", + "league/flysystem-sftp-v3": "Required to use the Flysystem SFTP driver (^3.0).", "mockery/mockery": "Required to use mocking (^1.4.4).", "nyholm/psr7": "Required to use PSR-7 bridging features (^1.2).", "pda/pheanstalk": "Required to use the beanstalk queue driver (^4.0).", - "phpunit/phpunit": "Required to use assertions and run tests (^8.5.19|^9.5.8).", + "phpunit/phpunit": "Required to use assertions and run tests (^9.5.8).", "predis/predis": "Required to use the predis connector (^1.1.9).", "psr/http-message": "Required to allow Storage::put to accept a StreamInterface (^1.0).", - "pusher/pusher-php-server": "Required to use the Pusher broadcast driver (^4.0|^5.0|^6.0|^7.0).", - "symfony/cache": "Required to PSR-6 cache bridge (^5.4).", - "symfony/filesystem": "Required to enable support for relative symbolic links (^5.4).", - "symfony/psr-http-message-bridge": "Required to use PSR-7 bridging features (^2.0).", - "wildbit/swiftmailer-postmark": "Required to use Postmark mail driver (^3.0)." + "pusher/pusher-php-server": "Required to use the Pusher broadcast driver (^6.0|^7.0).", + "symfony/cache": "Required to PSR-6 cache bridge (^6.0).", + "symfony/filesystem": "Required to enable support for relative symbolic links (^6.0).", + "symfony/http-client": "Required to enable support for the Symfony API mail transports (^6.0).", + "symfony/mailgun-mailer": "Required to enable support for the Mailgun mail transport (^6.0).", + "symfony/postmark-mailer": "Required to enable support for the Postmark mail transport (^6.0).", + "symfony/psr-http-message-bridge": "Required to use PSR-7 bridging features (^2.0)." }, "type": "library", "extra": { "branch-alias": { - "dev-master": "8.x-dev" + "dev-master": "9.x-dev" } }, "autoload": { @@ -2273,7 +2278,8 @@ "Illuminate\\": "src/Illuminate/", "Illuminate\\Support\\": [ "src/Illuminate/Macroable/", - "src/Illuminate/Collections/" + "src/Illuminate/Collections/", + "src/Illuminate/Conditionable/" ] } }, @@ -2297,7 +2303,7 @@ "issues": "https://github.com/laravel/framework/issues", "source": "https://github.com/laravel/framework" }, - "time": "2022-05-10T13:57:07+00:00" + "time": "2022-05-11T13:38:26+00:00" }, { "name": "laravel/sanctum", @@ -2742,54 +2748,48 @@ }, { "name": "league/flysystem", - "version": "1.1.9", + "version": "3.0.19", "source": { "type": "git", "url": "https://github.com/thephpleague/flysystem.git", - "reference": "094defdb4a7001845300334e7c1ee2335925ef99" + "reference": "670df21225d68d165a8df38587ac3f41caf608f8" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/thephpleague/flysystem/zipball/094defdb4a7001845300334e7c1ee2335925ef99", - "reference": "094defdb4a7001845300334e7c1ee2335925ef99", + "url": "https://api.github.com/repos/thephpleague/flysystem/zipball/670df21225d68d165a8df38587ac3f41caf608f8", + "reference": "670df21225d68d165a8df38587ac3f41caf608f8", "shasum": "" }, "require": { - "ext-fileinfo": "*", - "league/mime-type-detection": "^1.3", - "php": "^7.2.5 || ^8.0" + "league/mime-type-detection": "^1.0.0", + "php": "^8.0.2" }, "conflict": { - "league/flysystem-sftp": "<1.0.6" + "aws/aws-sdk-php": "3.209.31 || 3.210.0", + "guzzlehttp/guzzle": "<7.0", + "guzzlehttp/ringphp": "<1.1.1", + "symfony/http-client": "<5.2" }, "require-dev": { - "phpspec/prophecy": "^1.11.1", - "phpunit/phpunit": "^8.5.8" - }, - "suggest": { - "ext-ftp": "Allows you to use FTP server storage", - "ext-openssl": "Allows you to use FTPS server storage", - "league/flysystem-aws-s3-v2": "Allows you to use S3 storage with AWS SDK v2", - "league/flysystem-aws-s3-v3": "Allows you to use S3 storage with AWS SDK v3", - "league/flysystem-azure": "Allows you to use Windows Azure Blob storage", - "league/flysystem-cached-adapter": "Flysystem adapter decorator for metadata caching", - "league/flysystem-eventable-filesystem": "Allows you to use EventableFilesystem", - "league/flysystem-rackspace": "Allows you to use Rackspace Cloud Files", - "league/flysystem-sftp": "Allows you to use SFTP server storage via phpseclib", - "league/flysystem-webdav": "Allows you to use WebDAV storage", - "league/flysystem-ziparchive": "Allows you to use ZipArchive adapter", - "spatie/flysystem-dropbox": "Allows you to use Dropbox storage", - "srmklive/flysystem-dropbox-v2": "Allows you to use Dropbox storage for PHP 5 applications" + "async-aws/s3": "^1.5", + "async-aws/simple-s3": "^1.0", + "aws/aws-sdk-php": "^3.198.1", + "composer/semver": "^3.0", + "ext-fileinfo": "*", + "ext-ftp": "*", + "ext-zip": "*", + "friendsofphp/php-cs-fixer": "^3.5", + "google/cloud-storage": "^1.23", + "microsoft/azure-storage-blob": "^1.1", + "phpseclib/phpseclib": "^2.0", + "phpstan/phpstan": "^0.12.26", + "phpunit/phpunit": "^9.5.11", + "sabre/dav": "^4.3.1" }, "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.1-dev" - } - }, "autoload": { "psr-4": { - "League\\Flysystem\\": "src/" + "League\\Flysystem\\": "src" } }, "notification-url": "https://packagist.org/downloads/", @@ -2799,40 +2799,42 @@ "authors": [ { "name": "Frank de Jonge", - "email": "info@frenky.net" + "email": "info@frankdejonge.nl" } ], - "description": "Filesystem abstraction: Many filesystems, one API.", + "description": "File storage abstraction for PHP", "keywords": [ - "Cloud Files", "WebDAV", - "abstraction", "aws", "cloud", - "copy.com", - "dropbox", - "file systems", + "file", "files", "filesystem", "filesystems", "ftp", - "rackspace", - "remote", "s3", "sftp", "storage" ], "support": { "issues": "https://github.com/thephpleague/flysystem/issues", - "source": "https://github.com/thephpleague/flysystem/tree/1.1.9" + "source": "https://github.com/thephpleague/flysystem/tree/3.0.19" }, "funding": [ { "url": "https://offset.earth/frankdejonge", - "type": "other" + "type": "custom" + }, + { + "url": "https://github.com/frankdejonge", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/league/flysystem", + "type": "tidelift" } ], - "time": "2021-12-09T09:40:50+00:00" + "time": "2022-05-03T21:19:02+00:00" }, { "name": "league/mime-type-detection", @@ -3294,71 +3296,6 @@ }, "time": "2021-11-30T19:35:32+00:00" }, - { - "name": "opis/closure", - "version": "3.6.3", - "source": { - "type": "git", - "url": "https://github.com/opis/closure.git", - "reference": "3d81e4309d2a927abbe66df935f4bb60082805ad" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/opis/closure/zipball/3d81e4309d2a927abbe66df935f4bb60082805ad", - "reference": "3d81e4309d2a927abbe66df935f4bb60082805ad", - "shasum": "" - }, - "require": { - "php": "^5.4 || ^7.0 || ^8.0" - }, - "require-dev": { - "jeremeamia/superclosure": "^2.0", - "phpunit/phpunit": "^4.0 || ^5.0 || ^6.0 || ^7.0 || ^8.0 || ^9.0" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "3.6.x-dev" - } - }, - "autoload": { - "files": [ - "functions.php" - ], - "psr-4": { - "Opis\\Closure\\": "src/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Marius Sarca", - "email": "marius.sarca@gmail.com" - }, - { - "name": "Sorin Sarca", - "email": "sarca_sorin@hotmail.com" - } - ], - "description": "A library that can be used to serialize closures (anonymous functions) and arbitrary objects.", - "homepage": "https://opis.io/closure", - "keywords": [ - "anonymous functions", - "closure", - "function", - "serializable", - "serialization", - "serialize" - ], - "support": { - "issues": "https://github.com/opis/closure/issues", - "source": "https://github.com/opis/closure/tree/3.6.3" - }, - "time": "2022-01-27T09:35:39+00:00" - }, { "name": "phpoption/phpoption", "version": "1.8.1", @@ -3432,22 +3369,27 @@ }, { "name": "psr/container", - "version": "1.1.2", + "version": "2.0.2", "source": { "type": "git", "url": "https://github.com/php-fig/container.git", - "reference": "513e0666f7216c7459170d56df27dfcefe1689ea" + "reference": "c71ecc56dfe541dbd90c5360474fbc405f8d5963" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/php-fig/container/zipball/513e0666f7216c7459170d56df27dfcefe1689ea", - "reference": "513e0666f7216c7459170d56df27dfcefe1689ea", + "url": "https://api.github.com/repos/php-fig/container/zipball/c71ecc56dfe541dbd90c5360474fbc405f8d5963", + "reference": "c71ecc56dfe541dbd90c5360474fbc405f8d5963", "shasum": "" }, "require": { "php": ">=7.4.0" }, "type": "library", + "extra": { + "branch-alias": { + "dev-master": "2.0.x-dev" + } + }, "autoload": { "psr-4": { "Psr\\Container\\": "src/" @@ -3474,9 +3416,9 @@ ], "support": { "issues": "https://github.com/php-fig/container/issues", - "source": "https://github.com/php-fig/container/tree/1.1.2" + "source": "https://github.com/php-fig/container/tree/2.0.2" }, - "time": "2021-11-05T16:50:12+00:00" + "time": "2021-11-05T16:47:00+00:00" }, { "name": "psr/event-dispatcher", @@ -3690,16 +3632,16 @@ }, { "name": "psr/log", - "version": "2.0.0", + "version": "3.0.0", "source": { "type": "git", "url": "https://github.com/php-fig/log.git", - "reference": "ef29f6d262798707a9edd554e2b82517ef3a9376" + "reference": "fe5ea303b0887d5caefd3d431c3e61ad47037001" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/php-fig/log/zipball/ef29f6d262798707a9edd554e2b82517ef3a9376", - "reference": "ef29f6d262798707a9edd554e2b82517ef3a9376", + "url": "https://api.github.com/repos/php-fig/log/zipball/fe5ea303b0887d5caefd3d431c3e61ad47037001", + "reference": "fe5ea303b0887d5caefd3d431c3e61ad47037001", "shasum": "" }, "require": { @@ -3708,7 +3650,7 @@ "type": "library", "extra": { "branch-alias": { - "dev-master": "2.0.x-dev" + "dev-master": "3.x-dev" } }, "autoload": { @@ -3734,31 +3676,31 @@ "psr-3" ], "support": { - "source": "https://github.com/php-fig/log/tree/2.0.0" + "source": "https://github.com/php-fig/log/tree/3.0.0" }, - "time": "2021-07-14T16:41:46+00:00" + "time": "2021-07-14T16:46:02+00:00" }, { "name": "psr/simple-cache", - "version": "1.0.1", + "version": "3.0.0", "source": { "type": "git", "url": "https://github.com/php-fig/simple-cache.git", - "reference": "408d5eafb83c57f6365a3ca330ff23aa4a5fa39b" + "reference": "764e0b3939f5ca87cb904f570ef9be2d78a07865" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/php-fig/simple-cache/zipball/408d5eafb83c57f6365a3ca330ff23aa4a5fa39b", - "reference": "408d5eafb83c57f6365a3ca330ff23aa4a5fa39b", + "url": "https://api.github.com/repos/php-fig/simple-cache/zipball/764e0b3939f5ca87cb904f570ef9be2d78a07865", + "reference": "764e0b3939f5ca87cb904f570ef9be2d78a07865", "shasum": "" }, "require": { - "php": ">=5.3.0" + "php": ">=8.0.0" }, "type": "library", "extra": { "branch-alias": { - "dev-master": "1.0.x-dev" + "dev-master": "3.0.x-dev" } }, "autoload": { @@ -3773,7 +3715,7 @@ "authors": [ { "name": "PHP-FIG", - "homepage": "http://www.php-fig.org/" + "homepage": "https://www.php-fig.org/" } ], "description": "Common interfaces for simple caching", @@ -3785,22 +3727,22 @@ "simple-cache" ], "support": { - "source": "https://github.com/php-fig/simple-cache/tree/master" + "source": "https://github.com/php-fig/simple-cache/tree/3.0.0" }, - "time": "2017-10-23T01:57:42+00:00" + "time": "2021-10-29T13:26:27+00:00" }, { "name": "psy/psysh", - "version": "v0.11.2", + "version": "v0.11.4", "source": { "type": "git", "url": "https://github.com/bobthecow/psysh.git", - "reference": "7f7da640d68b9c9fec819caae7c744a213df6514" + "reference": "05c544b339b112226ad14803e1e5b09a61957454" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/bobthecow/psysh/zipball/7f7da640d68b9c9fec819caae7c744a213df6514", - "reference": "7f7da640d68b9c9fec819caae7c744a213df6514", + "url": "https://api.github.com/repos/bobthecow/psysh/zipball/05c544b339b112226ad14803e1e5b09a61957454", + "reference": "05c544b339b112226ad14803e1e5b09a61957454", "shasum": "" }, "require": { @@ -3815,15 +3757,13 @@ "symfony/console": "4.4.37 || 5.3.14 || 5.3.15 || 5.4.3 || 5.4.4 || 6.0.3 || 6.0.4" }, "require-dev": { - "bamarni/composer-bin-plugin": "^1.2", - "hoa/console": "3.17.05.02" + "bamarni/composer-bin-plugin": "^1.2" }, "suggest": { "ext-pcntl": "Enabling the PCNTL extension makes PsySH a lot happier :)", "ext-pdo-sqlite": "The doc command requires SQLite to work.", "ext-posix": "If you have PCNTL, you'll want the POSIX extension as well.", - "ext-readline": "Enables support for arrow-key history navigation, and showing and manipulating command history.", - "hoa/console": "A pure PHP readline implementation. You'll want this if your PHP install doesn't already support readline or libedit." + "ext-readline": "Enables support for arrow-key history navigation, and showing and manipulating command history." }, "bin": [ "bin/psysh" @@ -3863,9 +3803,9 @@ ], "support": { "issues": "https://github.com/bobthecow/psysh/issues", - "source": "https://github.com/bobthecow/psysh/tree/v0.11.2" + "source": "https://github.com/bobthecow/psysh/tree/v0.11.4" }, - "time": "2022-02-28T15:28:54+00:00" + "time": "2022-05-06T12:49:14+00:00" }, { "name": "ralouphie/getallheaders", @@ -4255,124 +4195,44 @@ }, "time": "2022-01-27T11:08:03+00:00" }, - { - "name": "swiftmailer/swiftmailer", - "version": "v6.3.0", - "source": { - "type": "git", - "url": "https://github.com/swiftmailer/swiftmailer.git", - "reference": "8a5d5072dca8f48460fce2f4131fcc495eec654c" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/swiftmailer/swiftmailer/zipball/8a5d5072dca8f48460fce2f4131fcc495eec654c", - "reference": "8a5d5072dca8f48460fce2f4131fcc495eec654c", - "shasum": "" - }, - "require": { - "egulias/email-validator": "^2.0|^3.1", - "php": ">=7.0.0", - "symfony/polyfill-iconv": "^1.0", - "symfony/polyfill-intl-idn": "^1.10", - "symfony/polyfill-mbstring": "^1.0" - }, - "require-dev": { - "mockery/mockery": "^1.0", - "symfony/phpunit-bridge": "^4.4|^5.4" - }, - "suggest": { - "ext-intl": "Needed to support internationalized email addresses" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "6.2-dev" - } - }, - "autoload": { - "files": [ - "lib/swift_required.php" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Chris Corbyn" - }, - { - "name": "Fabien Potencier", - "email": "fabien@symfony.com" - } - ], - "description": "Swiftmailer, free feature-rich PHP mailer", - "homepage": "https://swiftmailer.symfony.com", - "keywords": [ - "email", - "mail", - "mailer" - ], - "support": { - "issues": "https://github.com/swiftmailer/swiftmailer/issues", - "source": "https://github.com/swiftmailer/swiftmailer/tree/v6.3.0" - }, - "funding": [ - { - "url": "https://github.com/fabpot", - "type": "github" - }, - { - "url": "https://tidelift.com/funding/github/packagist/swiftmailer/swiftmailer", - "type": "tidelift" - } - ], - "abandoned": "symfony/mailer", - "time": "2021-10-18T15:26:12+00:00" - }, { "name": "symfony/console", - "version": "v5.4.8", + "version": "v6.0.8", "source": { "type": "git", "url": "https://github.com/symfony/console.git", - "reference": "ffe3aed36c4d60da2cf1b0a1cee6b8f2e5fa881b" + "reference": "0d00aa289215353aa8746a31d101f8e60826285c" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/console/zipball/ffe3aed36c4d60da2cf1b0a1cee6b8f2e5fa881b", - "reference": "ffe3aed36c4d60da2cf1b0a1cee6b8f2e5fa881b", + "url": "https://api.github.com/repos/symfony/console/zipball/0d00aa289215353aa8746a31d101f8e60826285c", + "reference": "0d00aa289215353aa8746a31d101f8e60826285c", "shasum": "" }, "require": { - "php": ">=7.2.5", - "symfony/deprecation-contracts": "^2.1|^3", + "php": ">=8.0.2", "symfony/polyfill-mbstring": "~1.0", - "symfony/polyfill-php73": "^1.9", - "symfony/polyfill-php80": "^1.16", "symfony/service-contracts": "^1.1|^2|^3", - "symfony/string": "^5.1|^6.0" + "symfony/string": "^5.4|^6.0" }, "conflict": { - "psr/log": ">=3", - "symfony/dependency-injection": "<4.4", - "symfony/dotenv": "<5.1", - "symfony/event-dispatcher": "<4.4", - "symfony/lock": "<4.4", - "symfony/process": "<4.4" + "symfony/dependency-injection": "<5.4", + "symfony/dotenv": "<5.4", + "symfony/event-dispatcher": "<5.4", + "symfony/lock": "<5.4", + "symfony/process": "<5.4" }, "provide": { - "psr/log-implementation": "1.0|2.0" + "psr/log-implementation": "1.0|2.0|3.0" }, "require-dev": { - "psr/log": "^1|^2", - "symfony/config": "^4.4|^5.0|^6.0", - "symfony/dependency-injection": "^4.4|^5.0|^6.0", - "symfony/event-dispatcher": "^4.4|^5.0|^6.0", - "symfony/lock": "^4.4|^5.0|^6.0", - "symfony/process": "^4.4|^5.0|^6.0", - "symfony/var-dumper": "^4.4|^5.0|^6.0" + "psr/log": "^1|^2|^3", + "symfony/config": "^5.4|^6.0", + "symfony/dependency-injection": "^5.4|^6.0", + "symfony/event-dispatcher": "^5.4|^6.0", + "symfony/lock": "^5.4|^6.0", + "symfony/process": "^5.4|^6.0", + "symfony/var-dumper": "^5.4|^6.0" }, "suggest": { "psr/log": "For using the console logger", @@ -4412,7 +4272,7 @@ "terminal" ], "support": { - "source": "https://github.com/symfony/console/tree/v5.4.8" + "source": "https://github.com/symfony/console/tree/v6.0.8" }, "funding": [ { @@ -4428,7 +4288,7 @@ "type": "tidelift" } ], - "time": "2022-04-12T16:02:29+00:00" + "time": "2022-04-20T15:01:42+00:00" }, { "name": "symfony/css-selector", @@ -4564,27 +4424,27 @@ }, { "name": "symfony/error-handler", - "version": "v5.4.8", + "version": "v6.0.8", "source": { "type": "git", "url": "https://github.com/symfony/error-handler.git", - "reference": "c1fcde614dfe99d62a83b796a53b8bad358b266a" + "reference": "5e2795163acbd13b3cd46835c9f8f6c5d0a3a280" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/error-handler/zipball/c1fcde614dfe99d62a83b796a53b8bad358b266a", - "reference": "c1fcde614dfe99d62a83b796a53b8bad358b266a", + "url": "https://api.github.com/repos/symfony/error-handler/zipball/5e2795163acbd13b3cd46835c9f8f6c5d0a3a280", + "reference": "5e2795163acbd13b3cd46835c9f8f6c5d0a3a280", "shasum": "" }, "require": { - "php": ">=7.2.5", + "php": ">=8.0.2", "psr/log": "^1|^2|^3", - "symfony/var-dumper": "^4.4|^5.0|^6.0" + "symfony/var-dumper": "^5.4|^6.0" }, "require-dev": { "symfony/deprecation-contracts": "^2.1|^3", - "symfony/http-kernel": "^4.4|^5.0|^6.0", - "symfony/serializer": "^4.4|^5.0|^6.0" + "symfony/http-kernel": "^5.4|^6.0", + "symfony/serializer": "^5.4|^6.0" }, "bin": [ "Resources/bin/patch-type-declarations" @@ -4615,7 +4475,7 @@ "description": "Provides tools to manage errors and ease debugging PHP code", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/error-handler/tree/v5.4.8" + "source": "https://github.com/symfony/error-handler/tree/v6.0.8" }, "funding": [ { @@ -4631,7 +4491,7 @@ "type": "tidelift" } ], - "time": "2022-04-12T15:48:08+00:00" + "time": "2022-04-12T16:11:42+00:00" }, { "name": "symfony/event-dispatcher", @@ -4797,22 +4657,20 @@ }, { "name": "symfony/finder", - "version": "v5.4.8", + "version": "v6.0.8", "source": { "type": "git", "url": "https://github.com/symfony/finder.git", - "reference": "9b630f3427f3ebe7cd346c277a1408b00249dad9" + "reference": "af7edab28d17caecd1f40a9219fc646ae751c21f" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/finder/zipball/9b630f3427f3ebe7cd346c277a1408b00249dad9", - "reference": "9b630f3427f3ebe7cd346c277a1408b00249dad9", + "url": "https://api.github.com/repos/symfony/finder/zipball/af7edab28d17caecd1f40a9219fc646ae751c21f", + "reference": "af7edab28d17caecd1f40a9219fc646ae751c21f", "shasum": "" }, "require": { - "php": ">=7.2.5", - "symfony/deprecation-contracts": "^2.1|^3", - "symfony/polyfill-php80": "^1.16" + "php": ">=8.0.2" }, "type": "library", "autoload": { @@ -4840,7 +4698,7 @@ "description": "Finds files and directories via an intuitive fluent interface", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/finder/tree/v5.4.8" + "source": "https://github.com/symfony/finder/tree/v6.0.8" }, "funding": [ { @@ -4856,33 +4714,32 @@ "type": "tidelift" } ], - "time": "2022-04-15T08:07:45+00:00" + "time": "2022-04-15T08:07:58+00:00" }, { "name": "symfony/http-foundation", - "version": "v5.4.8", + "version": "v6.0.8", "source": { "type": "git", "url": "https://github.com/symfony/http-foundation.git", - "reference": "ff2818d1c3d49860bcae1f2cbb5eb00fcd3bf9e2" + "reference": "c9c86b02d7ef6f44f3154acc7de42831518afe7c" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/http-foundation/zipball/ff2818d1c3d49860bcae1f2cbb5eb00fcd3bf9e2", - "reference": "ff2818d1c3d49860bcae1f2cbb5eb00fcd3bf9e2", + "url": "https://api.github.com/repos/symfony/http-foundation/zipball/c9c86b02d7ef6f44f3154acc7de42831518afe7c", + "reference": "c9c86b02d7ef6f44f3154acc7de42831518afe7c", "shasum": "" }, "require": { - "php": ">=7.2.5", + "php": ">=8.0.2", "symfony/deprecation-contracts": "^2.1|^3", - "symfony/polyfill-mbstring": "~1.1", - "symfony/polyfill-php80": "^1.16" + "symfony/polyfill-mbstring": "~1.1" }, "require-dev": { "predis/predis": "~1.0", - "symfony/cache": "^4.4|^5.0|^6.0", - "symfony/expression-language": "^4.4|^5.0|^6.0", - "symfony/mime": "^4.4|^5.0|^6.0" + "symfony/cache": "^5.4|^6.0", + "symfony/expression-language": "^5.4|^6.0", + "symfony/mime": "^5.4|^6.0" }, "suggest": { "symfony/mime": "To use the file extension guesser" @@ -4913,7 +4770,7 @@ "description": "Defines an object-oriented layer for the HTTP specification", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/http-foundation/tree/v5.4.8" + "source": "https://github.com/symfony/http-foundation/tree/v6.0.8" }, "funding": [ { @@ -4929,67 +4786,64 @@ "type": "tidelift" } ], - "time": "2022-04-22T08:14:12+00:00" + "time": "2022-04-22T08:18:02+00:00" }, { "name": "symfony/http-kernel", - "version": "v5.4.8", + "version": "v6.0.8", "source": { "type": "git", "url": "https://github.com/symfony/http-kernel.git", - "reference": "cf7e61106abfc19b305ca0aedc41724ced89a02a" + "reference": "7aaf1cdc9cc2ad47e926f624efcb679883a39ca7" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/http-kernel/zipball/cf7e61106abfc19b305ca0aedc41724ced89a02a", - "reference": "cf7e61106abfc19b305ca0aedc41724ced89a02a", + "url": "https://api.github.com/repos/symfony/http-kernel/zipball/7aaf1cdc9cc2ad47e926f624efcb679883a39ca7", + "reference": "7aaf1cdc9cc2ad47e926f624efcb679883a39ca7", "shasum": "" }, "require": { - "php": ">=7.2.5", - "psr/log": "^1|^2", - "symfony/deprecation-contracts": "^2.1|^3", - "symfony/error-handler": "^4.4|^5.0|^6.0", - "symfony/event-dispatcher": "^5.0|^6.0", - "symfony/http-foundation": "^5.3.7|^6.0", - "symfony/polyfill-ctype": "^1.8", - "symfony/polyfill-php73": "^1.9", - "symfony/polyfill-php80": "^1.16" + "php": ">=8.0.2", + "psr/log": "^1|^2|^3", + "symfony/error-handler": "^5.4|^6.0", + "symfony/event-dispatcher": "^5.4|^6.0", + "symfony/http-foundation": "^5.4|^6.0", + "symfony/polyfill-ctype": "^1.8" }, "conflict": { "symfony/browser-kit": "<5.4", - "symfony/cache": "<5.0", - "symfony/config": "<5.0", - "symfony/console": "<4.4", - "symfony/dependency-injection": "<5.3", - "symfony/doctrine-bridge": "<5.0", - "symfony/form": "<5.0", - "symfony/http-client": "<5.0", - "symfony/mailer": "<5.0", - "symfony/messenger": "<5.0", - "symfony/translation": "<5.0", - "symfony/twig-bridge": "<5.0", - "symfony/validator": "<5.0", + "symfony/cache": "<5.4", + "symfony/config": "<5.4", + "symfony/console": "<5.4", + "symfony/dependency-injection": "<5.4", + "symfony/doctrine-bridge": "<5.4", + "symfony/form": "<5.4", + "symfony/http-client": "<5.4", + "symfony/mailer": "<5.4", + "symfony/messenger": "<5.4", + "symfony/translation": "<5.4", + "symfony/twig-bridge": "<5.4", + "symfony/validator": "<5.4", "twig/twig": "<2.13" }, "provide": { - "psr/log-implementation": "1.0|2.0" + "psr/log-implementation": "1.0|2.0|3.0" }, "require-dev": { "psr/cache": "^1.0|^2.0|^3.0", "symfony/browser-kit": "^5.4|^6.0", - "symfony/config": "^5.0|^6.0", - "symfony/console": "^4.4|^5.0|^6.0", - "symfony/css-selector": "^4.4|^5.0|^6.0", - "symfony/dependency-injection": "^5.3|^6.0", - "symfony/dom-crawler": "^4.4|^5.0|^6.0", - "symfony/expression-language": "^4.4|^5.0|^6.0", - "symfony/finder": "^4.4|^5.0|^6.0", + "symfony/config": "^5.4|^6.0", + "symfony/console": "^5.4|^6.0", + "symfony/css-selector": "^5.4|^6.0", + "symfony/dependency-injection": "^5.4|^6.0", + "symfony/dom-crawler": "^5.4|^6.0", + "symfony/expression-language": "^5.4|^6.0", + "symfony/finder": "^5.4|^6.0", "symfony/http-client-contracts": "^1.1|^2|^3", - "symfony/process": "^4.4|^5.0|^6.0", - "symfony/routing": "^4.4|^5.0|^6.0", - "symfony/stopwatch": "^4.4|^5.0|^6.0", - "symfony/translation": "^4.4|^5.0|^6.0", + "symfony/process": "^5.4|^6.0", + "symfony/routing": "^5.4|^6.0", + "symfony/stopwatch": "^5.4|^6.0", + "symfony/translation": "^5.4|^6.0", "symfony/translation-contracts": "^1.1|^2|^3", "twig/twig": "^2.13|^3.0.4" }, @@ -5025,7 +4879,81 @@ "description": "Provides a structured process for converting a Request into a Response", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/http-kernel/tree/v5.4.8" + "source": "https://github.com/symfony/http-kernel/tree/v6.0.8" + }, + "funding": [ + { + "url": "https://symfony.com/sponsor", + "type": "custom" + }, + { + "url": "https://github.com/fabpot", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", + "type": "tidelift" + } + ], + "time": "2022-04-27T17:26:02+00:00" + }, + { + "name": "symfony/mailer", + "version": "v6.0.8", + "source": { + "type": "git", + "url": "https://github.com/symfony/mailer.git", + "reference": "706af6b3e99ebcbc639c9c664f5579aaa869409b" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/mailer/zipball/706af6b3e99ebcbc639c9c664f5579aaa869409b", + "reference": "706af6b3e99ebcbc639c9c664f5579aaa869409b", + "shasum": "" + }, + "require": { + "egulias/email-validator": "^2.1.10|^3", + "php": ">=8.0.2", + "psr/event-dispatcher": "^1", + "psr/log": "^1|^2|^3", + "symfony/event-dispatcher": "^5.4|^6.0", + "symfony/mime": "^5.4|^6.0", + "symfony/service-contracts": "^1.1|^2|^3" + }, + "conflict": { + "symfony/http-kernel": "<5.4" + }, + "require-dev": { + "symfony/http-client-contracts": "^1.1|^2|^3", + "symfony/messenger": "^5.4|^6.0" + }, + "type": "library", + "autoload": { + "psr-4": { + "Symfony\\Component\\Mailer\\": "" + }, + "exclude-from-classmap": [ + "/Tests/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Fabien Potencier", + "email": "fabien@symfony.com" + }, + { + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" + } + ], + "description": "Helps sending emails", + "homepage": "https://symfony.com", + "support": { + "source": "https://github.com/symfony/mailer/tree/v6.0.8" }, "funding": [ { @@ -5041,42 +4969,40 @@ "type": "tidelift" } ], - "time": "2022-04-27T17:22:21+00:00" + "time": "2022-04-27T17:10:30+00:00" }, { "name": "symfony/mime", - "version": "v5.4.8", + "version": "v6.0.8", "source": { "type": "git", "url": "https://github.com/symfony/mime.git", - "reference": "af49bc163ec3272f677bde3bc44c0d766c1fd662" + "reference": "c1701e88ad0ca49fc6ad6cdf360bc0e1209fb5e1" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/mime/zipball/af49bc163ec3272f677bde3bc44c0d766c1fd662", - "reference": "af49bc163ec3272f677bde3bc44c0d766c1fd662", + "url": "https://api.github.com/repos/symfony/mime/zipball/c1701e88ad0ca49fc6ad6cdf360bc0e1209fb5e1", + "reference": "c1701e88ad0ca49fc6ad6cdf360bc0e1209fb5e1", "shasum": "" }, "require": { - "php": ">=7.2.5", - "symfony/deprecation-contracts": "^2.1|^3", + "php": ">=8.0.2", "symfony/polyfill-intl-idn": "^1.10", - "symfony/polyfill-mbstring": "^1.0", - "symfony/polyfill-php80": "^1.16" + "symfony/polyfill-mbstring": "^1.0" }, "conflict": { "egulias/email-validator": "~3.0.0", "phpdocumentor/reflection-docblock": "<3.2.2", "phpdocumentor/type-resolver": "<1.4.0", - "symfony/mailer": "<4.4" + "symfony/mailer": "<5.4" }, "require-dev": { "egulias/email-validator": "^2.1.10|^3.1", "phpdocumentor/reflection-docblock": "^3.0|^4.0|^5.0", - "symfony/dependency-injection": "^4.4|^5.0|^6.0", - "symfony/property-access": "^4.4|^5.1|^6.0", - "symfony/property-info": "^4.4|^5.1|^6.0", - "symfony/serializer": "^5.2|^6.0" + "symfony/dependency-injection": "^5.4|^6.0", + "symfony/property-access": "^5.4|^6.0", + "symfony/property-info": "^5.4|^6.0", + "symfony/serializer": "^5.4|^6.0" }, "type": "library", "autoload": { @@ -5108,7 +5034,7 @@ "mime-type" ], "support": { - "source": "https://github.com/symfony/mime/tree/v5.4.8" + "source": "https://github.com/symfony/mime/tree/v6.0.8" }, "funding": [ { @@ -5124,7 +5050,7 @@ "type": "tidelift" } ], - "time": "2022-04-12T15:48:08+00:00" + "time": "2022-04-12T16:11:42+00:00" }, { "name": "symfony/polyfill-ctype", @@ -5209,27 +5135,24 @@ "time": "2021-10-20T20:35:02+00:00" }, { - "name": "symfony/polyfill-iconv", + "name": "symfony/polyfill-intl-grapheme", "version": "v1.25.0", "source": { "type": "git", - "url": "https://github.com/symfony/polyfill-iconv.git", - "reference": "f1aed619e28cb077fc83fac8c4c0383578356e40" + "url": "https://github.com/symfony/polyfill-intl-grapheme.git", + "reference": "81b86b50cf841a64252b439e738e97f4a34e2783" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/polyfill-iconv/zipball/f1aed619e28cb077fc83fac8c4c0383578356e40", - "reference": "f1aed619e28cb077fc83fac8c4c0383578356e40", + "url": "https://api.github.com/repos/symfony/polyfill-intl-grapheme/zipball/81b86b50cf841a64252b439e738e97f4a34e2783", + "reference": "81b86b50cf841a64252b439e738e97f4a34e2783", "shasum": "" }, "require": { "php": ">=7.1" }, - "provide": { - "ext-iconv": "*" - }, "suggest": { - "ext-iconv": "For best performance" + "ext-intl": "For best performance" }, "type": "library", "extra": { @@ -5246,7 +5169,7 @@ "bootstrap.php" ], "psr-4": { - "Symfony\\Polyfill\\Iconv\\": "" + "Symfony\\Polyfill\\Intl\\Grapheme\\": "" } }, "notification-url": "https://packagist.org/downloads/", @@ -5263,17 +5186,18 @@ "homepage": "https://symfony.com/contributors" } ], - "description": "Symfony polyfill for the Iconv extension", + "description": "Symfony polyfill for intl's grapheme_* functions", "homepage": "https://symfony.com", "keywords": [ "compatibility", - "iconv", + "grapheme", + "intl", "polyfill", "portable", "shim" ], "support": { - "source": "https://github.com/symfony/polyfill-iconv/tree/v1.25.0" + "source": "https://github.com/symfony/polyfill-intl-grapheme/tree/v1.25.0" }, "funding": [ { @@ -5289,96 +5213,15 @@ "type": "tidelift" } ], - "time": "2022-01-04T09:04:05+00:00" + "time": "2021-11-23T21:10:46+00:00" }, { - "name": "symfony/polyfill-intl-grapheme", + "name": "symfony/polyfill-intl-idn", "version": "v1.25.0", "source": { "type": "git", - "url": "https://github.com/symfony/polyfill-intl-grapheme.git", - "reference": "81b86b50cf841a64252b439e738e97f4a34e2783" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/symfony/polyfill-intl-grapheme/zipball/81b86b50cf841a64252b439e738e97f4a34e2783", - "reference": "81b86b50cf841a64252b439e738e97f4a34e2783", - "shasum": "" - }, - "require": { - "php": ">=7.1" - }, - "suggest": { - "ext-intl": "For best performance" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-main": "1.23-dev" - }, - "thanks": { - "name": "symfony/polyfill", - "url": "https://github.com/symfony/polyfill" - } - }, - "autoload": { - "files": [ - "bootstrap.php" - ], - "psr-4": { - "Symfony\\Polyfill\\Intl\\Grapheme\\": "" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Nicolas Grekas", - "email": "p@tchwork.com" - }, - { - "name": "Symfony Community", - "homepage": "https://symfony.com/contributors" - } - ], - "description": "Symfony polyfill for intl's grapheme_* functions", - "homepage": "https://symfony.com", - "keywords": [ - "compatibility", - "grapheme", - "intl", - "polyfill", - "portable", - "shim" - ], - "support": { - "source": "https://github.com/symfony/polyfill-intl-grapheme/tree/v1.25.0" - }, - "funding": [ - { - "url": "https://symfony.com/sponsor", - "type": "custom" - }, - { - "url": "https://github.com/fabpot", - "type": "github" - }, - { - "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", - "type": "tidelift" - } - ], - "time": "2021-11-23T21:10:46+00:00" - }, - { - "name": "symfony/polyfill-intl-idn", - "version": "v1.25.0", - "source": { - "type": "git", - "url": "https://github.com/symfony/polyfill-intl-idn.git", - "reference": "749045c69efb97c70d25d7463abba812e91f3a44" + "url": "https://github.com/symfony/polyfill-intl-idn.git", + "reference": "749045c69efb97c70d25d7463abba812e91f3a44" }, "dist": { "type": "zip", @@ -5702,85 +5545,6 @@ ], "time": "2021-05-27T09:17:38+00:00" }, - { - "name": "symfony/polyfill-php73", - "version": "v1.25.0", - "source": { - "type": "git", - "url": "https://github.com/symfony/polyfill-php73.git", - "reference": "cc5db0e22b3cb4111010e48785a97f670b350ca5" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/symfony/polyfill-php73/zipball/cc5db0e22b3cb4111010e48785a97f670b350ca5", - "reference": "cc5db0e22b3cb4111010e48785a97f670b350ca5", - "shasum": "" - }, - "require": { - "php": ">=7.1" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-main": "1.23-dev" - }, - "thanks": { - "name": "symfony/polyfill", - "url": "https://github.com/symfony/polyfill" - } - }, - "autoload": { - "files": [ - "bootstrap.php" - ], - "psr-4": { - "Symfony\\Polyfill\\Php73\\": "" - }, - "classmap": [ - "Resources/stubs" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Nicolas Grekas", - "email": "p@tchwork.com" - }, - { - "name": "Symfony Community", - "homepage": "https://symfony.com/contributors" - } - ], - "description": "Symfony polyfill backporting some PHP 7.3+ features to lower PHP versions", - "homepage": "https://symfony.com", - "keywords": [ - "compatibility", - "polyfill", - "portable", - "shim" - ], - "support": { - "source": "https://github.com/symfony/polyfill-php73/tree/v1.25.0" - }, - "funding": [ - { - "url": "https://symfony.com/sponsor", - "type": "custom" - }, - { - "url": "https://github.com/fabpot", - "type": "github" - }, - { - "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", - "type": "tidelift" - } - ], - "time": "2021-06-05T21:20:04+00:00" - }, { "name": "symfony/polyfill-php80", "version": "v1.25.0", @@ -5945,21 +5709,20 @@ }, { "name": "symfony/process", - "version": "v5.4.8", + "version": "v6.0.8", "source": { "type": "git", "url": "https://github.com/symfony/process.git", - "reference": "597f3fff8e3e91836bb0bd38f5718b56ddbde2f3" + "reference": "d074154ea8b1443a96391f6e39f9e547b2dd01b9" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/process/zipball/597f3fff8e3e91836bb0bd38f5718b56ddbde2f3", - "reference": "597f3fff8e3e91836bb0bd38f5718b56ddbde2f3", + "url": "https://api.github.com/repos/symfony/process/zipball/d074154ea8b1443a96391f6e39f9e547b2dd01b9", + "reference": "d074154ea8b1443a96391f6e39f9e547b2dd01b9", "shasum": "" }, "require": { - "php": ">=7.2.5", - "symfony/polyfill-php80": "^1.16" + "php": ">=8.0.2" }, "type": "library", "autoload": { @@ -5987,7 +5750,7 @@ "description": "Executes commands in sub-processes", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/process/tree/v5.4.8" + "source": "https://github.com/symfony/process/tree/v6.0.8" }, "funding": [ { @@ -6003,41 +5766,39 @@ "type": "tidelift" } ], - "time": "2022-04-08T05:07:18+00:00" + "time": "2022-04-12T16:11:42+00:00" }, { "name": "symfony/routing", - "version": "v5.4.8", + "version": "v6.0.8", "source": { "type": "git", "url": "https://github.com/symfony/routing.git", - "reference": "e07817bb6244ea33ef5ad31abc4a9288bef3f2f7" + "reference": "74c40c9fc334acc601a32fcf4274e74fb3bac11e" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/routing/zipball/e07817bb6244ea33ef5ad31abc4a9288bef3f2f7", - "reference": "e07817bb6244ea33ef5ad31abc4a9288bef3f2f7", + "url": "https://api.github.com/repos/symfony/routing/zipball/74c40c9fc334acc601a32fcf4274e74fb3bac11e", + "reference": "74c40c9fc334acc601a32fcf4274e74fb3bac11e", "shasum": "" }, "require": { - "php": ">=7.2.5", - "symfony/deprecation-contracts": "^2.1|^3", - "symfony/polyfill-php80": "^1.16" + "php": ">=8.0.2" }, "conflict": { "doctrine/annotations": "<1.12", - "symfony/config": "<5.3", - "symfony/dependency-injection": "<4.4", - "symfony/yaml": "<4.4" + "symfony/config": "<5.4", + "symfony/dependency-injection": "<5.4", + "symfony/yaml": "<5.4" }, "require-dev": { "doctrine/annotations": "^1.12", "psr/log": "^1|^2|^3", - "symfony/config": "^5.3|^6.0", - "symfony/dependency-injection": "^4.4|^5.0|^6.0", - "symfony/expression-language": "^4.4|^5.0|^6.0", - "symfony/http-foundation": "^4.4|^5.0|^6.0", - "symfony/yaml": "^4.4|^5.0|^6.0" + "symfony/config": "^5.4|^6.0", + "symfony/dependency-injection": "^5.4|^6.0", + "symfony/expression-language": "^5.4|^6.0", + "symfony/http-foundation": "^5.4|^6.0", + "symfony/yaml": "^5.4|^6.0" }, "suggest": { "symfony/config": "For using the all-in-one router or any loader", @@ -6077,7 +5838,7 @@ "url" ], "support": { - "source": "https://github.com/symfony/routing/tree/v5.4.8" + "source": "https://github.com/symfony/routing/tree/v6.0.8" }, "funding": [ { @@ -6093,26 +5854,25 @@ "type": "tidelift" } ], - "time": "2022-04-18T21:45:37+00:00" + "time": "2022-04-22T08:18:02+00:00" }, { "name": "symfony/service-contracts", - "version": "v2.5.1", + "version": "v3.0.1", "source": { "type": "git", "url": "https://github.com/symfony/service-contracts.git", - "reference": "24d9dc654b83e91aa59f9d167b131bc3b5bea24c" + "reference": "e517458f278c2131ca9f262f8fbaf01410f2c65c" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/service-contracts/zipball/24d9dc654b83e91aa59f9d167b131bc3b5bea24c", - "reference": "24d9dc654b83e91aa59f9d167b131bc3b5bea24c", + "url": "https://api.github.com/repos/symfony/service-contracts/zipball/e517458f278c2131ca9f262f8fbaf01410f2c65c", + "reference": "e517458f278c2131ca9f262f8fbaf01410f2c65c", "shasum": "" }, "require": { - "php": ">=7.2.5", - "psr/container": "^1.1", - "symfony/deprecation-contracts": "^2.1|^3" + "php": ">=8.0.2", + "psr/container": "^2.0" }, "conflict": { "ext-psr": "<1.1|>=2" @@ -6123,7 +5883,7 @@ "type": "library", "extra": { "branch-alias": { - "dev-main": "2.5-dev" + "dev-main": "3.0-dev" }, "thanks": { "name": "symfony/contracts", @@ -6160,7 +5920,7 @@ "standards" ], "support": { - "source": "https://github.com/symfony/service-contracts/tree/v2.5.1" + "source": "https://github.com/symfony/service-contracts/tree/v3.0.1" }, "funding": [ { @@ -6176,7 +5936,7 @@ "type": "tidelift" } ], - "time": "2022-03-13T20:07:29+00:00" + "time": "2022-03-13T20:10:05+00:00" }, { "name": "symfony/string", @@ -6438,32 +6198,31 @@ }, { "name": "symfony/var-dumper", - "version": "v5.4.8", + "version": "v6.0.8", "source": { "type": "git", "url": "https://github.com/symfony/var-dumper.git", - "reference": "cdcadd343d31ad16fc5e006b0de81ea307435053" + "reference": "fa61dfb4bd3068df2492013dc65f3190e9f550c0" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/var-dumper/zipball/cdcadd343d31ad16fc5e006b0de81ea307435053", - "reference": "cdcadd343d31ad16fc5e006b0de81ea307435053", + "url": "https://api.github.com/repos/symfony/var-dumper/zipball/fa61dfb4bd3068df2492013dc65f3190e9f550c0", + "reference": "fa61dfb4bd3068df2492013dc65f3190e9f550c0", "shasum": "" }, "require": { - "php": ">=7.2.5", - "symfony/polyfill-mbstring": "~1.0", - "symfony/polyfill-php80": "^1.16" + "php": ">=8.0.2", + "symfony/polyfill-mbstring": "~1.0" }, "conflict": { "phpunit/phpunit": "<5.4.3", - "symfony/console": "<4.4" + "symfony/console": "<5.4" }, "require-dev": { "ext-iconv": "*", - "symfony/console": "^4.4|^5.0|^6.0", - "symfony/process": "^4.4|^5.0|^6.0", - "symfony/uid": "^5.1|^6.0", + "symfony/console": "^5.4|^6.0", + "symfony/process": "^5.4|^6.0", + "symfony/uid": "^5.4|^6.0", "twig/twig": "^2.13|^3.0.4" }, "suggest": { @@ -6507,7 +6266,7 @@ "dump" ], "support": { - "source": "https://github.com/symfony/var-dumper/tree/v5.4.8" + "source": "https://github.com/symfony/var-dumper/tree/v6.0.8" }, "funding": [ { @@ -6523,7 +6282,7 @@ "type": "tidelift" } ], - "time": "2022-04-26T13:19:20+00:00" + "time": "2022-04-26T13:22:23+00:00" }, { "name": "tcg/voyager", @@ -6755,16 +6514,16 @@ }, { "name": "voku/portable-ascii", - "version": "1.6.1", + "version": "2.0.1", "source": { "type": "git", "url": "https://github.com/voku/portable-ascii.git", - "reference": "87337c91b9dfacee02452244ee14ab3c43bc485a" + "reference": "b56450eed252f6801410d810c8e1727224ae0743" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/voku/portable-ascii/zipball/87337c91b9dfacee02452244ee14ab3c43bc485a", - "reference": "87337c91b9dfacee02452244ee14ab3c43bc485a", + "url": "https://api.github.com/repos/voku/portable-ascii/zipball/b56450eed252f6801410d810c8e1727224ae0743", + "reference": "b56450eed252f6801410d810c8e1727224ae0743", "shasum": "" }, "require": { @@ -6801,7 +6560,7 @@ ], "support": { "issues": "https://github.com/voku/portable-ascii/issues", - "source": "https://github.com/voku/portable-ascii/tree/1.6.1" + "source": "https://github.com/voku/portable-ascii/tree/2.0.1" }, "funding": [ { @@ -6825,7 +6584,7 @@ "type": "tidelift" } ], - "time": "2022-01-24T18:55:24+00:00" + "time": "2022-03-08T17:03:00+00:00" }, { "name": "webmozart/assert", @@ -6957,149 +6716,6 @@ ], "time": "2022-03-03T08:28:38+00:00" }, - { - "name": "facade/flare-client-php", - "version": "1.9.1", - "source": { - "type": "git", - "url": "https://github.com/facade/flare-client-php.git", - "reference": "b2adf1512755637d0cef4f7d1b54301325ac78ed" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/facade/flare-client-php/zipball/b2adf1512755637d0cef4f7d1b54301325ac78ed", - "reference": "b2adf1512755637d0cef4f7d1b54301325ac78ed", - "shasum": "" - }, - "require": { - "facade/ignition-contracts": "~1.0", - "illuminate/pipeline": "^5.5|^6.0|^7.0|^8.0", - "php": "^7.1|^8.0", - "symfony/http-foundation": "^3.3|^4.1|^5.0", - "symfony/mime": "^3.4|^4.0|^5.1", - "symfony/var-dumper": "^3.4|^4.0|^5.0" - }, - "require-dev": { - "friendsofphp/php-cs-fixer": "^2.14", - "phpunit/phpunit": "^7.5.16", - "spatie/phpunit-snapshot-assertions": "^2.0" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.0-dev" - } - }, - "autoload": { - "files": [ - "src/helpers.php" - ], - "psr-4": { - "Facade\\FlareClient\\": "src" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "description": "Send PHP errors to Flare", - "homepage": "https://github.com/facade/flare-client-php", - "keywords": [ - "exception", - "facade", - "flare", - "reporting" - ], - "support": { - "issues": "https://github.com/facade/flare-client-php/issues", - "source": "https://github.com/facade/flare-client-php/tree/1.9.1" - }, - "funding": [ - { - "url": "https://github.com/spatie", - "type": "github" - } - ], - "time": "2021-09-13T12:16:46+00:00" - }, - { - "name": "facade/ignition", - "version": "2.17.5", - "source": { - "type": "git", - "url": "https://github.com/facade/ignition.git", - "reference": "1d71996f83c9a5a7807331b8986ac890352b7a0c" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/facade/ignition/zipball/1d71996f83c9a5a7807331b8986ac890352b7a0c", - "reference": "1d71996f83c9a5a7807331b8986ac890352b7a0c", - "shasum": "" - }, - "require": { - "ext-curl": "*", - "ext-json": "*", - "ext-mbstring": "*", - "facade/flare-client-php": "^1.9.1", - "facade/ignition-contracts": "^1.0.2", - "illuminate/support": "^7.0|^8.0", - "monolog/monolog": "^2.0", - "php": "^7.2.5|^8.0", - "symfony/console": "^5.0", - "symfony/var-dumper": "^5.0" - }, - "require-dev": { - "friendsofphp/php-cs-fixer": "^2.14", - "livewire/livewire": "^2.4", - "mockery/mockery": "^1.3", - "orchestra/testbench": "^5.0|^6.0", - "psalm/plugin-laravel": "^1.2" - }, - "suggest": { - "laravel/telescope": "^3.1" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "2.x-dev" - }, - "laravel": { - "providers": [ - "Facade\\Ignition\\IgnitionServiceProvider" - ], - "aliases": { - "Flare": "Facade\\Ignition\\Facades\\Flare" - } - } - }, - "autoload": { - "files": [ - "src/helpers.php" - ], - "psr-4": { - "Facade\\Ignition\\": "src" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "description": "A beautiful error page for Laravel applications.", - "homepage": "https://github.com/facade/ignition", - "keywords": [ - "error", - "flare", - "laravel", - "page" - ], - "support": { - "docs": "https://flareapp.io/docs/ignition-for-laravel/introduction", - "forum": "https://twitter.com/flareappio", - "issues": "https://github.com/facade/ignition/issues", - "source": "https://github.com/facade/ignition" - }, - "time": "2022-02-23T18:31:24+00:00" - }, { "name": "fakerphp/faker", "version": "v1.19.0", @@ -7482,37 +7098,37 @@ }, { "name": "nunomaduro/collision", - "version": "v5.11.0", + "version": "v6.2.0", "source": { "type": "git", "url": "https://github.com/nunomaduro/collision.git", - "reference": "8b610eef8582ccdc05d8f2ab23305e2d37049461" + "reference": "c379636dc50e829edb3a8bcb944a01aa1aed8f25" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/nunomaduro/collision/zipball/8b610eef8582ccdc05d8f2ab23305e2d37049461", - "reference": "8b610eef8582ccdc05d8f2ab23305e2d37049461", + "url": "https://api.github.com/repos/nunomaduro/collision/zipball/c379636dc50e829edb3a8bcb944a01aa1aed8f25", + "reference": "c379636dc50e829edb3a8bcb944a01aa1aed8f25", "shasum": "" }, "require": { - "facade/ignition-contracts": "^1.0", - "filp/whoops": "^2.14.3", - "php": "^7.3 || ^8.0", - "symfony/console": "^5.0" + "facade/ignition-contracts": "^1.0.2", + "filp/whoops": "^2.14.5", + "php": "^8.0.0", + "symfony/console": "^6.0.2" }, "require-dev": { - "brianium/paratest": "^6.1", - "fideloper/proxy": "^4.4.1", - "fruitcake/laravel-cors": "^2.0.3", - "laravel/framework": "8.x-dev", - "nunomaduro/larastan": "^0.6.2", - "nunomaduro/mock-final-classes": "^1.0", - "orchestra/testbench": "^6.0", - "phpstan/phpstan": "^0.12.64", - "phpunit/phpunit": "^9.5.0" + "brianium/paratest": "^6.4.1", + "laravel/framework": "^9.7", + "nunomaduro/larastan": "^1.0.2", + "nunomaduro/mock-final-classes": "^1.1.0", + "orchestra/testbench": "^7.3.0", + "phpunit/phpunit": "^9.5.11" }, "type": "library", "extra": { + "branch-alias": { + "dev-develop": "6.x-dev" + }, "laravel": { "providers": [ "NunoMaduro\\Collision\\Adapters\\Laravel\\CollisionServiceProvider" @@ -7565,7 +7181,7 @@ "type": "patreon" } ], - "time": "2022-01-10T16:22:52+00:00" + "time": "2022-04-05T15:31:38+00:00" }, { "name": "phar-io/manifest", @@ -9290,6 +8906,298 @@ ], "time": "2020-09-28T06:39:44+00:00" }, + { + "name": "spatie/backtrace", + "version": "1.2.1", + "source": { + "type": "git", + "url": "https://github.com/spatie/backtrace.git", + "reference": "4ee7d41aa5268107906ea8a4d9ceccde136dbd5b" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/spatie/backtrace/zipball/4ee7d41aa5268107906ea8a4d9ceccde136dbd5b", + "reference": "4ee7d41aa5268107906ea8a4d9ceccde136dbd5b", + "shasum": "" + }, + "require": { + "php": "^7.3|^8.0" + }, + "require-dev": { + "ext-json": "*", + "phpunit/phpunit": "^9.3", + "symfony/var-dumper": "^5.1" + }, + "type": "library", + "autoload": { + "psr-4": { + "Spatie\\Backtrace\\": "src" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Freek Van de Herten", + "email": "freek@spatie.be", + "homepage": "https://spatie.be", + "role": "Developer" + } + ], + "description": "A better backtrace", + "homepage": "https://github.com/spatie/backtrace", + "keywords": [ + "Backtrace", + "spatie" + ], + "support": { + "issues": "https://github.com/spatie/backtrace/issues", + "source": "https://github.com/spatie/backtrace/tree/1.2.1" + }, + "funding": [ + { + "url": "https://github.com/sponsors/spatie", + "type": "github" + }, + { + "url": "https://spatie.be/open-source/support-us", + "type": "other" + } + ], + "time": "2021-11-09T10:57:15+00:00" + }, + { + "name": "spatie/flare-client-php", + "version": "1.1.1", + "source": { + "type": "git", + "url": "https://github.com/spatie/flare-client-php.git", + "reference": "1059fd8f229fa016b11063c6be9d1922d036adb7" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/spatie/flare-client-php/zipball/1059fd8f229fa016b11063c6be9d1922d036adb7", + "reference": "1059fd8f229fa016b11063c6be9d1922d036adb7", + "shasum": "" + }, + "require": { + "illuminate/pipeline": "^8.0|^9.0", + "php": "^8.0", + "spatie/backtrace": "^1.2", + "symfony/http-foundation": "^5.0|^6.0", + "symfony/mime": "^5.2|^6.0", + "symfony/process": "^5.2|^6.0", + "symfony/var-dumper": "^5.2|^6.0" + }, + "require-dev": { + "dms/phpunit-arraysubset-asserts": "^0.3.0", + "pestphp/pest": "^1.20", + "phpstan/extension-installer": "^1.1", + "phpstan/phpstan-deprecation-rules": "^1.0", + "phpstan/phpstan-phpunit": "^1.0", + "spatie/phpunit-snapshot-assertions": "^4.0" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-main": "1.1.x-dev" + } + }, + "autoload": { + "files": [ + "src/helpers.php" + ], + "psr-4": { + "Spatie\\FlareClient\\": "src" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "description": "Send PHP errors to Flare", + "homepage": "https://github.com/spatie/flare-client-php", + "keywords": [ + "exception", + "flare", + "reporting", + "spatie" + ], + "support": { + "issues": "https://github.com/spatie/flare-client-php/issues", + "source": "https://github.com/spatie/flare-client-php/tree/1.1.1" + }, + "funding": [ + { + "url": "https://github.com/spatie", + "type": "github" + } + ], + "time": "2022-05-11T09:43:07+00:00" + }, + { + "name": "spatie/ignition", + "version": "1.3.0", + "source": { + "type": "git", + "url": "https://github.com/spatie/ignition.git", + "reference": "6aa8f1c8c46aff30c9bd4c354dc865eeee2ed59f" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/spatie/ignition/zipball/6aa8f1c8c46aff30c9bd4c354dc865eeee2ed59f", + "reference": "6aa8f1c8c46aff30c9bd4c354dc865eeee2ed59f", + "shasum": "" + }, + "require": { + "ext-json": "*", + "ext-mbstring": "*", + "monolog/monolog": "^2.0", + "php": "^8.0", + "spatie/flare-client-php": "^1.1", + "symfony/console": "^5.4|^6.0", + "symfony/var-dumper": "^5.4|^6.0" + }, + "require-dev": { + "mockery/mockery": "^1.4", + "pestphp/pest": "^1.20", + "phpstan/extension-installer": "^1.1", + "phpstan/phpstan-deprecation-rules": "^1.0", + "phpstan/phpstan-phpunit": "^1.0", + "symfony/process": "^5.4|^6.0" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-main": "1.2.x-dev" + } + }, + "autoload": { + "psr-4": { + "Spatie\\Ignition\\": "src" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Spatie", + "email": "info@spatie.be", + "role": "Developer" + } + ], + "description": "A beautiful error page for PHP applications.", + "homepage": "https://flareapp.io/ignition", + "keywords": [ + "error", + "flare", + "laravel", + "page" + ], + "support": { + "docs": "https://flareapp.io/docs/ignition-for-laravel/introduction", + "forum": "https://twitter.com/flareappio", + "issues": "https://github.com/spatie/ignition/issues", + "source": "https://github.com/spatie/ignition" + }, + "funding": [ + { + "url": "https://github.com/spatie", + "type": "github" + } + ], + "time": "2022-05-12T08:19:04+00:00" + }, + { + "name": "spatie/laravel-ignition", + "version": "1.0.0", + "source": { + "type": "git", + "url": "https://github.com/spatie/laravel-ignition.git", + "reference": "fe1d95623922fd5f9d5e802ce4ec1943e59c9a81" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/spatie/laravel-ignition/zipball/fe1d95623922fd5f9d5e802ce4ec1943e59c9a81", + "reference": "fe1d95623922fd5f9d5e802ce4ec1943e59c9a81", + "shasum": "" + }, + "require": { + "ext-curl": "*", + "ext-json": "*", + "ext-mbstring": "*", + "illuminate/support": "^8.77|^9.0", + "monolog/monolog": "^2.3", + "php": "^8.0", + "spatie/ignition": "^1.0", + "symfony/console": "^5.0|^6.0", + "symfony/var-dumper": "^5.0|^6.0" + }, + "require-dev": { + "filp/whoops": "^2.14", + "livewire/livewire": "^2.8|dev-develop", + "mockery/mockery": "^1.4", + "nunomaduro/larastan": "^1.0", + "orchestra/testbench": "^6.23|^7.0", + "pestphp/pest": "^1.20", + "phpstan/extension-installer": "^1.1", + "phpstan/phpstan-deprecation-rules": "^1.0", + "phpstan/phpstan-phpunit": "^1.0", + "spatie/laravel-ray": "^1.27" + }, + "type": "library", + "extra": { + "laravel": { + "providers": [ + "Spatie\\LaravelIgnition\\IgnitionServiceProvider" + ], + "aliases": { + "Flare": "Spatie\\LaravelIgnition\\Facades\\Flare" + } + } + }, + "autoload": { + "psr-4": { + "Spatie\\LaravelIgnition\\": "src" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Spatie", + "email": "info@spatie.be", + "role": "Developer" + } + ], + "description": "A beautiful error page for Laravel applications.", + "homepage": "https://flareapp.io/ignition", + "keywords": [ + "error", + "flare", + "laravel", + "page" + ], + "support": { + "docs": "https://flareapp.io/docs/ignition-for-laravel/introduction", + "forum": "https://twitter.com/flareappio", + "issues": "https://github.com/spatie/laravel-ignition/issues", + "source": "https://github.com/spatie/laravel-ignition" + }, + "funding": [ + { + "url": "https://github.com/spatie", + "type": "github" + } + ], + "time": "2022-01-18T15:21:26+00:00" + }, { "name": "squizlabs/php_codesniffer", "version": "3.6.2", From b4302749dee54ef346e9ad2b4b1fd4a687587c4e Mon Sep 17 00:00:00 2001 From: Damien Robinson Date: Sat, 14 May 2022 09:51:19 +1000 Subject: [PATCH 4/6] feat: voyager --- composer.lock | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/composer.lock b/composer.lock index 5f041ea6..f77dc887 100644 --- a/composer.lock +++ b/composer.lock @@ -4,7 +4,7 @@ "Read more about it at https://getcomposer.org/doc/01-basic-usage.md#installing-dependencies", "This file is @generated automatically" ], - "content-hash": "9dddeefeb016ea13710bae7567da928c", + "content-hash": "b37a8ef0c4b0b9f6fcf55cbf1f472914", "packages": [ { "name": "arrilot/laravel-widgets", From c2fe1ff5804ece04f08ce14ed8c8e74d219483e5 Mon Sep 17 00:00:00 2001 From: Damien Robinson Date: Sat, 14 May 2022 11:20:27 +1000 Subject: [PATCH 5/6] fix(deps): voyager 1.6 --- composer.json | 2 +- composer.lock | 27 +++++++++++++-------------- 2 files changed, 14 insertions(+), 15 deletions(-) diff --git a/composer.json b/composer.json index b0bf6468..9e4af0f3 100644 --- a/composer.json +++ b/composer.json @@ -13,7 +13,7 @@ "laravel/sanctum": "2.15.1", "laravel/tinker": "2.7.2", "stancl/tenancy": "3.5.6", - "tcg/voyager": "1.5.2" + "tcg/voyager": "1.6.x-dev" }, "require-dev": { "spatie/laravel-ignition": "1.0", diff --git a/composer.lock b/composer.lock index f77dc887..3ccc03ba 100644 --- a/composer.lock +++ b/composer.lock @@ -4,7 +4,7 @@ "Read more about it at https://getcomposer.org/doc/01-basic-usage.md#installing-dependencies", "This file is @generated automatically" ], - "content-hash": "b37a8ef0c4b0b9f6fcf55cbf1f472914", + "content-hash": "a455ed846a68489d6216a57b5eabd0df", "packages": [ { "name": "arrilot/laravel-widgets", @@ -6286,40 +6286,37 @@ }, { "name": "tcg/voyager", - "version": "v1.5.2", + "version": "1.6.x-dev", "source": { "type": "git", "url": "https://github.com/the-control-group/voyager.git", - "reference": "8c3c1dde896a047b1334d68f6d6a1d32fd07df1b" + "reference": "b384421603b579eff21d5cd7c25f375bccc93a0a" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/the-control-group/voyager/zipball/8c3c1dde896a047b1334d68f6d6a1d32fd07df1b", - "reference": "8c3c1dde896a047b1334d68f6d6a1d32fd07df1b", + "url": "https://api.github.com/repos/the-control-group/voyager/zipball/b384421603b579eff21d5cd7c25f375bccc93a0a", + "reference": "b384421603b579eff21d5cd7c25f375bccc93a0a", "shasum": "" }, "require": { "arrilot/laravel-widgets": "^3.7", "doctrine/dbal": "^2.5", "ext-json": "*", - "illuminate/support": "~6.0|~7.0|~8.0", + "illuminate/support": "~8.0|~9.0", "intervention/image": "^2.4", "larapack/doctrine-support": "~0.1.4", "laravel/ui": ">=1.0", - "league/flysystem": "~1.1|~2.0", + "league/flysystem": "~1.1|~2.0|~3.0", "php": "^7.3|^7.4|^8.0" }, "require-dev": { - "laravel/browser-kit-testing": ">=5.0.0", - "laravel/framework": "~6.0|~7.0|~8.0", + "laravel/browser-kit-testing": ">=6.1.0", + "laravel/framework": "~8.0|~9.0", "orchestra/testbench": ">=4.0", "orchestra/testbench-browser-kit": ">=4.0", "phpunit/phpcov": ">=6.0", "phpunit/phpunit": ">=8.0" }, - "suggest": { - "laravel/legacy-factories": "Required to run Voyager tests with Laravel 8.x" - }, "type": "library", "extra": { "laravel": { @@ -6377,7 +6374,7 @@ "type": "github" } ], - "time": "2021-11-09T08:33:29+00:00" + "time": "2022-05-04T07:20:57+00:00" }, { "name": "tijsverkoyen/css-to-inline-styles", @@ -9307,7 +9304,9 @@ ], "aliases": [], "minimum-stability": "dev", - "stability-flags": [], + "stability-flags": { + "tcg/voyager": 20 + }, "prefer-stable": true, "prefer-lowest": false, "platform": { From b511ec62cd049c2f92996ea7658ee37e020d9bec Mon Sep 17 00:00:00 2001 From: Damien Robinson Date: Sat, 14 May 2022 11:23:09 +1000 Subject: [PATCH 6/6] fix(routes): rename admin to voyager --- routes/web.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/routes/web.php b/routes/web.php index 6f93e595..c919a068 100644 --- a/routes/web.php +++ b/routes/web.php @@ -18,6 +18,6 @@ }); -Route::group(['prefix' => 'admin'], function () { +Route::group(['prefix' => 'voyager'], function () { Voyager::routes(); });