mirror of
https://github.com/prurigro/hypothetical.git
synced 2024-11-23 08:24:10 -05:00
Upgrade to laravel 10.0.4
This commit is contained in:
parent
3c3b050922
commit
6b111a301a
40 changed files with 1164 additions and 1218 deletions
2
.gitattributes
vendored
2
.gitattributes
vendored
|
@ -1,4 +1,4 @@
|
||||||
* text=auto
|
* text=auto eol=lf
|
||||||
|
|
||||||
*.blade.php diff=html
|
*.blade.php diff=html
|
||||||
*.css diff=css
|
*.css diff=css
|
||||||
|
|
1
.gitignore
vendored
1
.gitignore
vendored
|
@ -6,6 +6,7 @@
|
||||||
auth.json
|
auth.json
|
||||||
npm-debug.log
|
npm-debug.log
|
||||||
yarn-error.log
|
yarn-error.log
|
||||||
|
/.phpunit.cache
|
||||||
/node_modules
|
/node_modules
|
||||||
/public/css
|
/public/css
|
||||||
/public/fonts
|
/public/fonts
|
||||||
|
|
|
@ -1 +1 @@
|
||||||
39f4830e92a7467b2a7fe6bc23d0ec14bc3b46a6
|
22df611a2fe1e95e262643382d583ee0dbbca360
|
||||||
|
|
|
@ -9,21 +9,16 @@ class Kernel extends ConsoleKernel
|
||||||
{
|
{
|
||||||
/**
|
/**
|
||||||
* Define the application's command schedule.
|
* Define the application's command schedule.
|
||||||
*
|
|
||||||
* @param \Illuminate\Console\Scheduling\Schedule $schedule
|
|
||||||
* @return void
|
|
||||||
*/
|
*/
|
||||||
protected function schedule(Schedule $schedule)
|
protected function schedule(Schedule $schedule): void
|
||||||
{
|
{
|
||||||
// $schedule->command('inspire')->hourly();
|
// $schedule->command('inspire')->hourly();
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Register the commands for the application.
|
* Register the commands for the application.
|
||||||
*
|
|
||||||
* @return void
|
|
||||||
*/
|
*/
|
||||||
protected function commands()
|
protected function commands(): void
|
||||||
{
|
{
|
||||||
$this->load(__DIR__.'/Commands');
|
$this->load(__DIR__.'/Commands');
|
||||||
|
|
||||||
|
|
|
@ -38,10 +38,8 @@ class Handler extends ExceptionHandler
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Register the exception handling callbacks for the application.
|
* Register the exception handling callbacks for the application.
|
||||||
*
|
|
||||||
* @return void
|
|
||||||
*/
|
*/
|
||||||
public function register()
|
public function register(): void
|
||||||
{
|
{
|
||||||
$this->reportable(function (Throwable $e) {
|
$this->reportable(function (Throwable $e) {
|
||||||
//
|
//
|
||||||
|
|
|
@ -3,11 +3,10 @@
|
||||||
namespace App\Http\Controllers;
|
namespace App\Http\Controllers;
|
||||||
|
|
||||||
use Illuminate\Foundation\Auth\Access\AuthorizesRequests;
|
use Illuminate\Foundation\Auth\Access\AuthorizesRequests;
|
||||||
use Illuminate\Foundation\Bus\DispatchesJobs;
|
|
||||||
use Illuminate\Foundation\Validation\ValidatesRequests;
|
use Illuminate\Foundation\Validation\ValidatesRequests;
|
||||||
use Illuminate\Routing\Controller as BaseController;
|
use Illuminate\Routing\Controller as BaseController;
|
||||||
|
|
||||||
class Controller extends BaseController
|
class Controller extends BaseController
|
||||||
{
|
{
|
||||||
use AuthorizesRequests, DispatchesJobs, ValidatesRequests;
|
use AuthorizesRequests, ValidatesRequests;
|
||||||
}
|
}
|
||||||
|
|
|
@ -40,19 +40,19 @@ class Kernel extends HttpKernel
|
||||||
|
|
||||||
'api' => [
|
'api' => [
|
||||||
// \Laravel\Sanctum\Http\Middleware\EnsureFrontendRequestsAreStateful::class,
|
// \Laravel\Sanctum\Http\Middleware\EnsureFrontendRequestsAreStateful::class,
|
||||||
'throttle:api',
|
\Illuminate\Routing\Middleware\ThrottleRequests::class.':api',
|
||||||
\Illuminate\Routing\Middleware\SubstituteBindings::class,
|
\Illuminate\Routing\Middleware\SubstituteBindings::class,
|
||||||
],
|
],
|
||||||
];
|
];
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* The application's route middleware.
|
* The application's middleware aliases.
|
||||||
*
|
*
|
||||||
* These middleware may be assigned to groups or used individually.
|
* Aliases may be used to conveniently assign middleware to routes and groups.
|
||||||
*
|
*
|
||||||
* @var array<string, class-string|string>
|
* @var array<string, class-string|string>
|
||||||
*/
|
*/
|
||||||
protected $routeMiddleware = [
|
protected $middlewareAliases = [
|
||||||
'auth' => \App\Http\Middleware\Authenticate::class,
|
'auth' => \App\Http\Middleware\Authenticate::class,
|
||||||
'auth.basic' => \Illuminate\Auth\Middleware\AuthenticateWithBasicAuth::class,
|
'auth.basic' => \Illuminate\Auth\Middleware\AuthenticateWithBasicAuth::class,
|
||||||
'auth.session' => \Illuminate\Session\Middleware\AuthenticateSession::class,
|
'auth.session' => \Illuminate\Session\Middleware\AuthenticateSession::class,
|
||||||
|
|
|
@ -3,19 +3,15 @@
|
||||||
namespace App\Http\Middleware;
|
namespace App\Http\Middleware;
|
||||||
|
|
||||||
use Illuminate\Auth\Middleware\Authenticate as Middleware;
|
use Illuminate\Auth\Middleware\Authenticate as Middleware;
|
||||||
|
use Illuminate\Http\Request;
|
||||||
|
|
||||||
class Authenticate extends Middleware
|
class Authenticate extends Middleware
|
||||||
{
|
{
|
||||||
/**
|
/**
|
||||||
* Get the path the user should be redirected to when they are not authenticated.
|
* Get the path the user should be redirected to when they are not authenticated.
|
||||||
*
|
|
||||||
* @param \Illuminate\Http\Request $request
|
|
||||||
* @return string|null
|
|
||||||
*/
|
*/
|
||||||
protected function redirectTo($request)
|
protected function redirectTo(Request $request): ?string
|
||||||
{
|
{
|
||||||
if (! $request->expectsJson()) {
|
return $request->expectsJson() ? null : route('login');
|
||||||
return route('login');
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -6,18 +6,16 @@ use App\Providers\RouteServiceProvider;
|
||||||
use Closure;
|
use Closure;
|
||||||
use Illuminate\Http\Request;
|
use Illuminate\Http\Request;
|
||||||
use Illuminate\Support\Facades\Auth;
|
use Illuminate\Support\Facades\Auth;
|
||||||
|
use Symfony\Component\HttpFoundation\Response;
|
||||||
|
|
||||||
class RedirectIfAuthenticated
|
class RedirectIfAuthenticated
|
||||||
{
|
{
|
||||||
/**
|
/**
|
||||||
* Handle an incoming request.
|
* Handle an incoming request.
|
||||||
*
|
*
|
||||||
* @param \Illuminate\Http\Request $request
|
* @param \Closure(\Illuminate\Http\Request): (\Symfony\Component\HttpFoundation\Response) $next
|
||||||
* @param \Closure(\Illuminate\Http\Request): (\Illuminate\Http\Response|\Illuminate\Http\RedirectResponse) $next
|
|
||||||
* @param string|null ...$guards
|
|
||||||
* @return \Illuminate\Http\Response|\Illuminate\Http\RedirectResponse
|
|
||||||
*/
|
*/
|
||||||
public function handle(Request $request, Closure $next, ...$guards)
|
public function handle(Request $request, Closure $next, string ...$guards): Response
|
||||||
{
|
{
|
||||||
$guards = empty($guards) ? [null] : $guards;
|
$guards = empty($guards) ? [null] : $guards;
|
||||||
|
|
||||||
|
|
|
@ -11,7 +11,7 @@ class TrustHosts extends Middleware
|
||||||
*
|
*
|
||||||
* @return array<int, string|null>
|
* @return array<int, string|null>
|
||||||
*/
|
*/
|
||||||
public function hosts()
|
public function hosts(): array
|
||||||
{
|
{
|
||||||
return [
|
return [
|
||||||
$this->allSubdomainsOfApplicationUrl(),
|
$this->allSubdomainsOfApplicationUrl(),
|
||||||
|
|
|
@ -10,20 +10,16 @@ class AppServiceProvider extends ServiceProvider
|
||||||
{
|
{
|
||||||
/**
|
/**
|
||||||
* Register any application services.
|
* Register any application services.
|
||||||
*
|
|
||||||
* @return void
|
|
||||||
*/
|
*/
|
||||||
public function register()
|
public function register(): void
|
||||||
{
|
{
|
||||||
//
|
//
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Bootstrap any application services.
|
* Bootstrap any application services.
|
||||||
*
|
|
||||||
* @return void
|
|
||||||
*/
|
*/
|
||||||
public function boot()
|
public function boot(): void
|
||||||
{
|
{
|
||||||
// Fix for migrations on older versions of mysql and mariadb
|
// Fix for migrations on older versions of mysql and mariadb
|
||||||
Schema::defaultStringLength(191);
|
Schema::defaultStringLength(191);
|
||||||
|
|
|
@ -18,13 +18,9 @@ class AuthServiceProvider extends ServiceProvider
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Register any authentication / authorization services.
|
* Register any authentication / authorization services.
|
||||||
*
|
|
||||||
* @return void
|
|
||||||
*/
|
*/
|
||||||
public function boot()
|
public function boot(): void
|
||||||
{
|
{
|
||||||
$this->registerPolicies();
|
|
||||||
|
|
||||||
//
|
//
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -9,10 +9,8 @@ class BroadcastServiceProvider extends ServiceProvider
|
||||||
{
|
{
|
||||||
/**
|
/**
|
||||||
* Bootstrap any application services.
|
* Bootstrap any application services.
|
||||||
*
|
|
||||||
* @return void
|
|
||||||
*/
|
*/
|
||||||
public function boot()
|
public function boot(): void
|
||||||
{
|
{
|
||||||
Broadcast::routes();
|
Broadcast::routes();
|
||||||
|
|
||||||
|
|
|
@ -22,20 +22,16 @@ class EventServiceProvider extends ServiceProvider
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Register any events for your application.
|
* Register any events for your application.
|
||||||
*
|
|
||||||
* @return void
|
|
||||||
*/
|
*/
|
||||||
public function boot()
|
public function boot(): void
|
||||||
{
|
{
|
||||||
//
|
//
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Determine if events and listeners should be automatically discovered.
|
* Determine if events and listeners should be automatically discovered.
|
||||||
*
|
|
||||||
* @return bool
|
|
||||||
*/
|
*/
|
||||||
public function shouldDiscoverEvents()
|
public function shouldDiscoverEvents(): bool
|
||||||
{
|
{
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
|
@ -21,10 +21,8 @@ class RouteServiceProvider extends ServiceProvider
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Define your route model bindings, pattern filters, and other route configuration.
|
* Define your route model bindings, pattern filters, and other route configuration.
|
||||||
*
|
|
||||||
* @return void
|
|
||||||
*/
|
*/
|
||||||
public function boot()
|
public function boot(): void
|
||||||
{
|
{
|
||||||
$this->configureRateLimiting();
|
$this->configureRateLimiting();
|
||||||
|
|
||||||
|
@ -40,10 +38,8 @@ class RouteServiceProvider extends ServiceProvider
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Configure the rate limiters for the application.
|
* Configure the rate limiters for the application.
|
||||||
*
|
|
||||||
* @return void
|
|
||||||
*/
|
*/
|
||||||
protected function configureRateLimiting()
|
protected function configureRateLimiting(): void
|
||||||
{
|
{
|
||||||
RateLimiter::for('api', function (Request $request) {
|
RateLimiter::for('api', function (Request $request) {
|
||||||
return Limit::perMinute(60)->by($request->user()?->id ?: $request->ip());
|
return Limit::perMinute(60)->by($request->user()?->id ?: $request->ip());
|
||||||
|
|
|
@ -5,27 +5,27 @@
|
||||||
"keywords": ["framework", "laravel"],
|
"keywords": ["framework", "laravel"],
|
||||||
"license": "MIT",
|
"license": "MIT",
|
||||||
"require": {
|
"require": {
|
||||||
"php": "^8.0.2",
|
"php": "^8.1",
|
||||||
"doctrine/dbal": "^3.3.6",
|
"doctrine/dbal": "^3.6.1",
|
||||||
"erusev/parsedown": "^1.7.4",
|
"erusev/parsedown": "^1.7.4",
|
||||||
"guzzlehttp/guzzle": "^7.2",
|
"guzzlehttp/guzzle": "^7.2",
|
||||||
"intervention/image": "^2.7.2",
|
"intervention/image": "^2.7.2",
|
||||||
"laravel/framework": "^9.19",
|
"laravel/framework": "^10.0",
|
||||||
"laravel/helpers": "^1.5",
|
"laravel/helpers": "^1.6",
|
||||||
"laravel/sanctum": "^3.0",
|
"laravel/sanctum": "^3.2",
|
||||||
"laravel/tinker": "^2.7",
|
"laravel/tinker": "^2.8",
|
||||||
"laravel/ui": "^3.5.4",
|
"laravel/ui": "^4.2.1",
|
||||||
"phpoffice/phpspreadsheet": "^1.23.0",
|
"phpoffice/phpspreadsheet": "^1.28.0",
|
||||||
"spatie/laravel-newsletter": "^4.11.0"
|
"spatie/laravel-newsletter": "^5.1.1"
|
||||||
},
|
},
|
||||||
"require-dev": {
|
"require-dev": {
|
||||||
"fakerphp/faker": "^1.9.1",
|
"fakerphp/faker": "^1.9.1",
|
||||||
"laravel/pint": "^1.0",
|
"laravel/pint": "^1.0",
|
||||||
"laravel/sail": "^1.0.1",
|
"laravel/sail": "^1.18",
|
||||||
"mockery/mockery": "^1.4.4",
|
"mockery/mockery": "^1.4.4",
|
||||||
"nunomaduro/collision": "^6.1",
|
"nunomaduro/collision": "^7.0",
|
||||||
"phpunit/phpunit": "^9.5.10",
|
"phpunit/phpunit": "^10.0",
|
||||||
"spatie/laravel-ignition": "^1.0"
|
"spatie/laravel-ignition": "^2.0"
|
||||||
},
|
},
|
||||||
"autoload": {
|
"autoload": {
|
||||||
"psr-4": {
|
"psr-4": {
|
||||||
|
@ -64,9 +64,10 @@
|
||||||
"preferred-install": "dist",
|
"preferred-install": "dist",
|
||||||
"sort-packages": true,
|
"sort-packages": true,
|
||||||
"allow-plugins": {
|
"allow-plugins": {
|
||||||
"pestphp/pest-plugin": true
|
"pestphp/pest-plugin": true,
|
||||||
|
"php-http/discovery": true
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"minimum-stability": "dev",
|
"minimum-stability": "stable",
|
||||||
"prefer-stable": true
|
"prefer-stable": true
|
||||||
}
|
}
|
||||||
|
|
1892
composer.lock
generated
1892
composer.lock
generated
File diff suppressed because it is too large
Load diff
|
@ -86,16 +86,20 @@ return [
|
||||||
| than one user table or model in the application and you want to have
|
| than one user table or model in the application and you want to have
|
||||||
| separate password reset settings based on the specific user types.
|
| separate password reset settings based on the specific user types.
|
||||||
|
|
|
|
||||||
| The expire time is the number of minutes that each reset token will be
|
| The expiry time is the number of minutes that each reset token will be
|
||||||
| considered valid. This security feature keeps tokens short-lived so
|
| considered valid. This security feature keeps tokens short-lived so
|
||||||
| they have less time to be guessed. You may change this as needed.
|
| they have less time to be guessed. You may change this as needed.
|
||||||
|
|
|
|
||||||
|
| The throttle setting is the number of seconds a user must wait before
|
||||||
|
| generating more password reset tokens. This prevents the user from
|
||||||
|
| quickly generating a very large amount of password reset tokens.
|
||||||
|
|
|
||||||
*/
|
*/
|
||||||
|
|
||||||
'passwords' => [
|
'passwords' => [
|
||||||
'users' => [
|
'users' => [
|
||||||
'provider' => 'users',
|
'provider' => 'users',
|
||||||
'table' => 'password_resets',
|
'table' => 'password_reset_tokens',
|
||||||
'expire' => 60,
|
'expire' => 60,
|
||||||
'throttle' => 60,
|
'throttle' => 60,
|
||||||
],
|
],
|
||||||
|
|
|
@ -102,6 +102,7 @@ return [
|
||||||
'syslog' => [
|
'syslog' => [
|
||||||
'driver' => 'syslog',
|
'driver' => 'syslog',
|
||||||
'level' => env('LOG_LEVEL', 'debug'),
|
'level' => env('LOG_LEVEL', 'debug'),
|
||||||
|
'facility' => LOG_USER,
|
||||||
],
|
],
|
||||||
|
|
||||||
'errorlog' => [
|
'errorlog' => [
|
||||||
|
|
|
@ -28,7 +28,7 @@ return [
|
||||||
| sending an e-mail. You will specify which one you are using for your
|
| sending an e-mail. You will specify which one you are using for your
|
||||||
| mailers below. You are free to add additional mailers as required.
|
| mailers below. You are free to add additional mailers as required.
|
||||||
|
|
|
|
||||||
| Supported: "smtp", "sendmail", "mailgun", "ses",
|
| Supported: "smtp", "sendmail", "mailgun", "ses", "ses-v2",
|
||||||
| "postmark", "log", "array", "failover"
|
| "postmark", "log", "array", "failover"
|
||||||
|
|
|
|
||||||
*/
|
*/
|
||||||
|
@ -51,10 +51,16 @@ return [
|
||||||
|
|
||||||
'mailgun' => [
|
'mailgun' => [
|
||||||
'transport' => 'mailgun',
|
'transport' => 'mailgun',
|
||||||
|
// 'client' => [
|
||||||
|
// 'timeout' => 5,
|
||||||
|
// ],
|
||||||
],
|
],
|
||||||
|
|
||||||
'postmark' => [
|
'postmark' => [
|
||||||
'transport' => 'postmark',
|
'transport' => 'postmark',
|
||||||
|
// 'client' => [
|
||||||
|
// 'timeout' => 5,
|
||||||
|
// ],
|
||||||
],
|
],
|
||||||
|
|
||||||
'sendmail' => [
|
'sendmail' => [
|
||||||
|
|
|
@ -3,25 +3,31 @@
|
||||||
return [
|
return [
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* The api key of a MailChimp account. You can find yours here:
|
* The driver to use to interact with MailChimp API.
|
||||||
* https://us10.admin.mailchimp.com/account/api-key-popup/
|
* You may use "log" or "null" to prevent calling the
|
||||||
|
* API directly from your environment.
|
||||||
*/
|
*/
|
||||||
'apiKey' => env('MAILCHIMP_APIKEY'),
|
'driver' => env('NEWSLETTER_DRIVER', Spatie\Newsletter\Drivers\MailcoachDriver::class),
|
||||||
|
|
||||||
|
/**
|
||||||
|
* These arguments will be given to the driver.
|
||||||
|
*/
|
||||||
|
'driver_arguments' => [
|
||||||
|
'api_key' => env('MAILCHIMP_APIKEY'),
|
||||||
|
|
||||||
|
'endpoint' => env('NEWSLETTER_ENDPOINT'),
|
||||||
|
],
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* When not specifying a listname in the various methods, use the list with this name
|
* The list name to use when no list name is specified in a method.
|
||||||
*/
|
*/
|
||||||
'defaultListName' => 'subscribers',
|
'default_list_name' => 'subscribers',
|
||||||
|
|
||||||
/*
|
|
||||||
* Here you can define properties of the lists you want to
|
|
||||||
* send campaigns.
|
|
||||||
*/
|
|
||||||
'lists' => [
|
'lists' => [
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* This key is used to identify this list. It can be used
|
* This key is used to identify this list. It can be used
|
||||||
* in the various methods provided by this package.
|
* as the listName parameter provided in the various methods.
|
||||||
*
|
*
|
||||||
* You can set it to any string you want and you can add
|
* You can set it to any string you want and you can add
|
||||||
* as many lists as you want.
|
* as many lists as you want.
|
||||||
|
@ -29,16 +35,13 @@ return [
|
||||||
'subscribers' => [
|
'subscribers' => [
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* A mail chimp list id. Check the mailchimp docs if you don't know
|
* When using the Mailcoach driver, this should be Email list UUID
|
||||||
* how to get this value:
|
* which is displayed in the Mailcoach UI
|
||||||
* http://kb.mailchimp.com/lists/managing-subscribers/find-your-list-id
|
*
|
||||||
|
* When using the MailChimp driver, this should be a MailChimp list id.
|
||||||
|
* http://kb.mailchimp.com/lists/managing-subscribers/find-your-list-id.
|
||||||
*/
|
*/
|
||||||
'id' => env('MAILCHIMP_LISTID'),
|
'id' => env('MAILCHIMP_LISTID'),
|
||||||
],
|
],
|
||||||
],
|
],
|
||||||
|
|
||||||
/*
|
|
||||||
* If you're having trouble with https connections, set this to false.
|
|
||||||
*/
|
|
||||||
'ssl' => true,
|
|
||||||
];
|
];
|
||||||
|
|
|
@ -15,7 +15,7 @@ class UserFactory extends Factory
|
||||||
*
|
*
|
||||||
* @return array<string, mixed>
|
* @return array<string, mixed>
|
||||||
*/
|
*/
|
||||||
public function definition()
|
public function definition(): array
|
||||||
{
|
{
|
||||||
return [
|
return [
|
||||||
'name' => fake()->name(),
|
'name' => fake()->name(),
|
||||||
|
@ -28,10 +28,8 @@ class UserFactory extends Factory
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Indicate that the model's email address should be unverified.
|
* Indicate that the model's email address should be unverified.
|
||||||
*
|
|
||||||
* @return static
|
|
||||||
*/
|
*/
|
||||||
public function unverified()
|
public function unverified(): static
|
||||||
{
|
{
|
||||||
return $this->state(fn (array $attributes) => [
|
return $this->state(fn (array $attributes) => [
|
||||||
'email_verified_at' => null,
|
'email_verified_at' => null,
|
||||||
|
|
|
@ -8,10 +8,8 @@ return new class extends Migration
|
||||||
{
|
{
|
||||||
/**
|
/**
|
||||||
* Run the migrations.
|
* Run the migrations.
|
||||||
*
|
|
||||||
* @return void
|
|
||||||
*/
|
*/
|
||||||
public function up()
|
public function up(): void
|
||||||
{
|
{
|
||||||
Schema::create('users', function(Blueprint $table) {
|
Schema::create('users', function(Blueprint $table) {
|
||||||
$table->bigIncrements('id');
|
$table->bigIncrements('id');
|
||||||
|
@ -32,10 +30,8 @@ return new class extends Migration
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Reverse the migrations.
|
* Reverse the migrations.
|
||||||
*
|
|
||||||
* @return void
|
|
||||||
*/
|
*/
|
||||||
public function down()
|
public function down(): void
|
||||||
{
|
{
|
||||||
Schema::dropIfExists('users');
|
Schema::dropIfExists('users');
|
||||||
}
|
}
|
||||||
|
|
|
@ -8,13 +8,11 @@ return new class extends Migration
|
||||||
{
|
{
|
||||||
/**
|
/**
|
||||||
* Run the migrations.
|
* Run the migrations.
|
||||||
*
|
|
||||||
* @return void
|
|
||||||
*/
|
*/
|
||||||
public function up()
|
public function up(): void
|
||||||
{
|
{
|
||||||
Schema::create('password_resets', function(Blueprint $table) {
|
Schema::create('password_reset_tokens', function(Blueprint $table) {
|
||||||
$table->string('email')->index();
|
$table->string('email')->primary();
|
||||||
$table->string('token');
|
$table->string('token');
|
||||||
$table->timestamp('created_at')->nullable();
|
$table->timestamp('created_at')->nullable();
|
||||||
});
|
});
|
||||||
|
@ -22,11 +20,9 @@ return new class extends Migration
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Reverse the migrations.
|
* Reverse the migrations.
|
||||||
*
|
|
||||||
* @return void
|
|
||||||
*/
|
*/
|
||||||
public function down()
|
public function down(): void
|
||||||
{
|
{
|
||||||
Schema::dropIfExists('password_resets');
|
Schema::dropIfExists('password_reset_tokens');
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
|
@ -8,10 +8,8 @@ return new class extends Migration
|
||||||
{
|
{
|
||||||
/**
|
/**
|
||||||
* Run the migrations.
|
* Run the migrations.
|
||||||
*
|
|
||||||
* @return void
|
|
||||||
*/
|
*/
|
||||||
public function up()
|
public function up(): void
|
||||||
{
|
{
|
||||||
Schema::create('contact', function(Blueprint $table) {
|
Schema::create('contact', function(Blueprint $table) {
|
||||||
$table->bigIncrements('id');
|
$table->bigIncrements('id');
|
||||||
|
@ -24,10 +22,8 @@ return new class extends Migration
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Reverse the migrations.
|
* Reverse the migrations.
|
||||||
*
|
|
||||||
* @return void
|
|
||||||
*/
|
*/
|
||||||
public function down()
|
public function down(): void
|
||||||
{
|
{
|
||||||
Schema::drop('contact');
|
Schema::drop('contact');
|
||||||
}
|
}
|
||||||
|
|
|
@ -8,10 +8,8 @@ return new class extends Migration
|
||||||
{
|
{
|
||||||
/**
|
/**
|
||||||
* Run the migrations.
|
* Run the migrations.
|
||||||
*
|
|
||||||
* @return void
|
|
||||||
*/
|
*/
|
||||||
public function up()
|
public function up(): void
|
||||||
{
|
{
|
||||||
Schema::create('subscriptions', function(Blueprint $table) {
|
Schema::create('subscriptions', function(Blueprint $table) {
|
||||||
$table->bigIncrements('id');
|
$table->bigIncrements('id');
|
||||||
|
@ -23,10 +21,8 @@ return new class extends Migration
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Reverse the migrations.
|
* Reverse the migrations.
|
||||||
*
|
|
||||||
* @return void
|
|
||||||
*/
|
*/
|
||||||
public function down()
|
public function down(): void
|
||||||
{
|
{
|
||||||
Schema::drop('subscriptions');
|
Schema::drop('subscriptions');
|
||||||
}
|
}
|
||||||
|
|
|
@ -8,10 +8,8 @@ return new class extends Migration
|
||||||
{
|
{
|
||||||
/**
|
/**
|
||||||
* Run the migrations.
|
* Run the migrations.
|
||||||
*
|
|
||||||
* @return void
|
|
||||||
*/
|
*/
|
||||||
public function up()
|
public function up(): void
|
||||||
{
|
{
|
||||||
Schema::create('blog', function(Blueprint $table) {
|
Schema::create('blog', function(Blueprint $table) {
|
||||||
$table->bigIncrements('id');
|
$table->bigIncrements('id');
|
||||||
|
@ -25,10 +23,8 @@ return new class extends Migration
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Reverse the migrations.
|
* Reverse the migrations.
|
||||||
*
|
|
||||||
* @return void
|
|
||||||
*/
|
*/
|
||||||
public function down()
|
public function down(): void
|
||||||
{
|
{
|
||||||
Schema::drop('blog');
|
Schema::drop('blog');
|
||||||
}
|
}
|
||||||
|
|
|
@ -8,10 +8,8 @@ return new class extends Migration
|
||||||
{
|
{
|
||||||
/**
|
/**
|
||||||
* Run the migrations.
|
* Run the migrations.
|
||||||
*
|
|
||||||
* @return void
|
|
||||||
*/
|
*/
|
||||||
public function up()
|
public function up(): void
|
||||||
{
|
{
|
||||||
Schema::create('failed_jobs', function (Blueprint $table) {
|
Schema::create('failed_jobs', function (Blueprint $table) {
|
||||||
$table->id();
|
$table->id();
|
||||||
|
@ -26,10 +24,8 @@ return new class extends Migration
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Reverse the migrations.
|
* Reverse the migrations.
|
||||||
*
|
|
||||||
* @return void
|
|
||||||
*/
|
*/
|
||||||
public function down()
|
public function down(): void
|
||||||
{
|
{
|
||||||
Schema::dropIfExists('failed_jobs');
|
Schema::dropIfExists('failed_jobs');
|
||||||
}
|
}
|
||||||
|
|
|
@ -8,10 +8,8 @@ return new class extends Migration
|
||||||
{
|
{
|
||||||
/**
|
/**
|
||||||
* Run the migrations.
|
* Run the migrations.
|
||||||
*
|
|
||||||
* @return void
|
|
||||||
*/
|
*/
|
||||||
public function up()
|
public function up(): void
|
||||||
{
|
{
|
||||||
Schema::create('personal_access_tokens', function (Blueprint $table) {
|
Schema::create('personal_access_tokens', function (Blueprint $table) {
|
||||||
$table->id();
|
$table->id();
|
||||||
|
@ -20,17 +18,15 @@ return new class extends Migration
|
||||||
$table->string('token', 64)->unique();
|
$table->string('token', 64)->unique();
|
||||||
$table->text('abilities')->nullable();
|
$table->text('abilities')->nullable();
|
||||||
$table->timestamp('last_used_at')->nullable();
|
$table->timestamp('last_used_at')->nullable();
|
||||||
$table->timestamp('expires_at')->nullable();
|
$table->timestamp('expires_at')->nullable()->after('last_used_at');
|
||||||
$table->timestamps();
|
$table->timestamps();
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Reverse the migrations.
|
* Reverse the migrations.
|
||||||
*
|
|
||||||
* @return void
|
|
||||||
*/
|
*/
|
||||||
public function down()
|
public function down(): void
|
||||||
{
|
{
|
||||||
Schema::dropIfExists('personal_access_tokens');
|
Schema::dropIfExists('personal_access_tokens');
|
||||||
}
|
}
|
||||||
|
|
|
@ -8,10 +8,8 @@ return new class extends Migration
|
||||||
{
|
{
|
||||||
/**
|
/**
|
||||||
* Run the migrations.
|
* Run the migrations.
|
||||||
*
|
|
||||||
* @return void
|
|
||||||
*/
|
*/
|
||||||
public function up()
|
public function up(): void
|
||||||
{
|
{
|
||||||
Schema::create('blog_tags', function(Blueprint $table) {
|
Schema::create('blog_tags', function(Blueprint $table) {
|
||||||
$table->bigIncrements('id');
|
$table->bigIncrements('id');
|
||||||
|
@ -25,10 +23,8 @@ return new class extends Migration
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Reverse the migrations.
|
* Reverse the migrations.
|
||||||
*
|
|
||||||
* @return void
|
|
||||||
*/
|
*/
|
||||||
public function down()
|
public function down(): void
|
||||||
{
|
{
|
||||||
Schema::drop('blog_tags');
|
Schema::drop('blog_tags');
|
||||||
}
|
}
|
||||||
|
|
|
@ -10,10 +10,8 @@ class DatabaseSeeder extends Seeder
|
||||||
{
|
{
|
||||||
/**
|
/**
|
||||||
* Seed the application's database.
|
* Seed the application's database.
|
||||||
*
|
|
||||||
* @return void
|
|
||||||
*/
|
*/
|
||||||
public function run()
|
public function run(): void
|
||||||
{
|
{
|
||||||
// \App\Models\User::factory(10)->create();
|
// \App\Models\User::factory(10)->create();
|
||||||
|
|
||||||
|
|
|
@ -13,8 +13,8 @@ return [
|
||||||
|
|
|
|
||||||
*/
|
*/
|
||||||
|
|
||||||
'reset' => 'Your password has been reset!',
|
'reset' => 'Your password has been reset.',
|
||||||
'sent' => 'We have emailed your password reset link!',
|
'sent' => 'We have emailed your password reset link.',
|
||||||
'throttled' => 'Please wait before retrying.',
|
'throttled' => 'Please wait before retrying.',
|
||||||
'token' => 'This password reset token is invalid.',
|
'token' => 'This password reset token is invalid.',
|
||||||
'user' => "We can't find a user with that email address.",
|
'user' => "We can't find a user with that email address.",
|
||||||
|
|
|
@ -13,105 +13,110 @@ return [
|
||||||
|
|
|
|
||||||
*/
|
*/
|
||||||
|
|
||||||
'accepted' => 'The :attribute must be accepted.',
|
'accepted' => 'The :attribute field must be accepted.',
|
||||||
'accepted_if' => 'The :attribute must be accepted when :other is :value.',
|
'accepted_if' => 'The :attribute field must be accepted when :other is :value.',
|
||||||
'active_url' => 'The :attribute is not a valid URL.',
|
'active_url' => 'The :attribute field must be a valid URL.',
|
||||||
'after' => 'The :attribute must be a date after :date.',
|
'after' => 'The :attribute field must be a date after :date.',
|
||||||
'after_or_equal' => 'The :attribute must be a date after or equal to :date.',
|
'after_or_equal' => 'The :attribute field must be a date after or equal to :date.',
|
||||||
'alpha' => 'The :attribute must only contain letters.',
|
'alpha' => 'The :attribute field must only contain letters.',
|
||||||
'alpha_dash' => 'The :attribute must only contain letters, numbers, dashes and underscores.',
|
'alpha_dash' => 'The :attribute field must only contain letters, numbers, dashes, and underscores.',
|
||||||
'alpha_num' => 'The :attribute must only contain letters and numbers.',
|
'alpha_num' => 'The :attribute field must only contain letters and numbers.',
|
||||||
'array' => 'The :attribute must be an array.',
|
'array' => 'The :attribute field must be an array.',
|
||||||
'ascii' => 'The :attribute must only contain single-byte alphanumeric characters and symbols.',
|
'ascii' => 'The :attribute field must only contain single-byte alphanumeric characters and symbols.',
|
||||||
'before' => 'The :attribute must be a date before :date.',
|
'before' => 'The :attribute field must be a date before :date.',
|
||||||
'before_or_equal' => 'The :attribute must be a date before or equal to :date.',
|
'before_or_equal' => 'The :attribute field must be a date before or equal to :date.',
|
||||||
'between' => [
|
'between' => [
|
||||||
'array' => 'The :attribute must have between :min and :max items.',
|
'array' => 'The :attribute field must have between :min and :max items.',
|
||||||
'file' => 'The :attribute must be between :min and :max kilobytes.',
|
'file' => 'The :attribute field must be between :min and :max kilobytes.',
|
||||||
'numeric' => 'The :attribute must be between :min and :max.',
|
'numeric' => 'The :attribute field must be between :min and :max.',
|
||||||
'string' => 'The :attribute must be between :min and :max characters.',
|
'string' => 'The :attribute field must be between :min and :max characters.',
|
||||||
],
|
],
|
||||||
'boolean' => 'The :attribute field must be true or false.',
|
'boolean' => 'The :attribute field must be true or false.',
|
||||||
'confirmed' => 'The :attribute confirmation does not match.',
|
'confirmed' => 'The :attribute field confirmation does not match.',
|
||||||
'current_password' => 'The password is incorrect.',
|
'current_password' => 'The password is incorrect.',
|
||||||
'date' => 'The :attribute is not a valid date.',
|
'date' => 'The :attribute field must be a valid date.',
|
||||||
'date_equals' => 'The :attribute must be a date equal to :date.',
|
'date_equals' => 'The :attribute field must be a date equal to :date.',
|
||||||
'date_format' => 'The :attribute does not match the format :format.',
|
'date_format' => 'The :attribute field must match the format :format.',
|
||||||
'decimal' => 'The :attribute must have :decimal decimal places.',
|
'decimal' => 'The :attribute field must have :decimal decimal places.',
|
||||||
'declined' => 'The :attribute must be declined.',
|
'declined' => 'The :attribute field must be declined.',
|
||||||
'declined_if' => 'The :attribute must be declined when :other is :value.',
|
'declined_if' => 'The :attribute field must be declined when :other is :value.',
|
||||||
'different' => 'The :attribute and :other must be different.',
|
'different' => 'The :attribute field and :other must be different.',
|
||||||
'digits' => 'The :attribute must be :digits digits.',
|
'digits' => 'The :attribute field must be :digits digits.',
|
||||||
'digits_between' => 'The :attribute must be between :min and :max digits.',
|
'digits_between' => 'The :attribute field must be between :min and :max digits.',
|
||||||
'dimensions' => 'The :attribute has invalid image dimensions.',
|
'dimensions' => 'The :attribute field has invalid image dimensions.',
|
||||||
'distinct' => 'The :attribute field has a duplicate value.',
|
'distinct' => 'The :attribute field has a duplicate value.',
|
||||||
'doesnt_end_with' => 'The :attribute may not end with one of the following: :values.',
|
'doesnt_end_with' => 'The :attribute field must not end with one of the following: :values.',
|
||||||
'doesnt_start_with' => 'The :attribute may not start with one of the following: :values.',
|
'doesnt_start_with' => 'The :attribute field must not start with one of the following: :values.',
|
||||||
'email' => 'The :attribute must be a valid email address.',
|
'email' => 'The :attribute field must be a valid email address.',
|
||||||
'ends_with' => 'The :attribute must end with one of the following: :values.',
|
'ends_with' => 'The :attribute field must end with one of the following: :values.',
|
||||||
'enum' => 'The selected :attribute is invalid.',
|
'enum' => 'The selected :attribute is invalid.',
|
||||||
'exists' => 'The selected :attribute is invalid.',
|
'exists' => 'The selected :attribute is invalid.',
|
||||||
'file' => 'The :attribute must be a file.',
|
'file' => 'The :attribute field must be a file.',
|
||||||
'filled' => 'The :attribute field must have a value.',
|
'filled' => 'The :attribute field must have a value.',
|
||||||
'gt' => [
|
'gt' => [
|
||||||
'array' => 'The :attribute must have more than :value items.',
|
'array' => 'The :attribute field must have more than :value items.',
|
||||||
'file' => 'The :attribute must be greater than :value kilobytes.',
|
'file' => 'The :attribute field must be greater than :value kilobytes.',
|
||||||
'numeric' => 'The :attribute must be greater than :value.',
|
'numeric' => 'The :attribute field must be greater than :value.',
|
||||||
'string' => 'The :attribute must be greater than :value characters.',
|
'string' => 'The :attribute field must be greater than :value characters.',
|
||||||
],
|
],
|
||||||
'gte' => [
|
'gte' => [
|
||||||
'array' => 'The :attribute must have :value items or more.',
|
'array' => 'The :attribute field must have :value items or more.',
|
||||||
'file' => 'The :attribute must be greater than or equal to :value kilobytes.',
|
'file' => 'The :attribute field must be greater than or equal to :value kilobytes.',
|
||||||
'numeric' => 'The :attribute must be greater than or equal to :value.',
|
'numeric' => 'The :attribute field must be greater than or equal to :value.',
|
||||||
'string' => 'The :attribute must be greater than or equal to :value characters.',
|
'string' => 'The :attribute field must be greater than or equal to :value characters.',
|
||||||
],
|
],
|
||||||
'image' => 'The :attribute must be an image.',
|
'image' => 'The :attribute field must be an image.',
|
||||||
'in' => 'The selected :attribute is invalid.',
|
'in' => 'The selected :attribute is invalid.',
|
||||||
'in_array' => 'The :attribute field does not exist in :other.',
|
'in_array' => 'The :attribute field must exist in :other.',
|
||||||
'integer' => 'The :attribute must be an integer.',
|
'integer' => 'The :attribute field must be an integer.',
|
||||||
'ip' => 'The :attribute must be a valid IP address.',
|
'ip' => 'The :attribute field must be a valid IP address.',
|
||||||
'ipv4' => 'The :attribute must be a valid IPv4 address.',
|
'ipv4' => 'The :attribute field must be a valid IPv4 address.',
|
||||||
'ipv6' => 'The :attribute must be a valid IPv6 address.',
|
'ipv6' => 'The :attribute field must be a valid IPv6 address.',
|
||||||
'json' => 'The :attribute must be a valid JSON string.',
|
'json' => 'The :attribute field must be a valid JSON string.',
|
||||||
'lowercase' => 'The :attribute must be lowercase.',
|
'lowercase' => 'The :attribute field must be lowercase.',
|
||||||
'lt' => [
|
'lt' => [
|
||||||
'array' => 'The :attribute must have less than :value items.',
|
'array' => 'The :attribute field must have less than :value items.',
|
||||||
'file' => 'The :attribute must be less than :value kilobytes.',
|
'file' => 'The :attribute field must be less than :value kilobytes.',
|
||||||
'numeric' => 'The :attribute must be less than :value.',
|
'numeric' => 'The :attribute field must be less than :value.',
|
||||||
'string' => 'The :attribute must be less than :value characters.',
|
'string' => 'The :attribute field must be less than :value characters.',
|
||||||
],
|
],
|
||||||
'lte' => [
|
'lte' => [
|
||||||
'array' => 'The :attribute must not have more than :value items.',
|
'array' => 'The :attribute field must not have more than :value items.',
|
||||||
'file' => 'The :attribute must be less than or equal to :value kilobytes.',
|
'file' => 'The :attribute field must be less than or equal to :value kilobytes.',
|
||||||
'numeric' => 'The :attribute must be less than or equal to :value.',
|
'numeric' => 'The :attribute field must be less than or equal to :value.',
|
||||||
'string' => 'The :attribute must be less than or equal to :value characters.',
|
'string' => 'The :attribute field must be less than or equal to :value characters.',
|
||||||
],
|
],
|
||||||
'mac_address' => 'The :attribute must be a valid MAC address.',
|
'mac_address' => 'The :attribute field must be a valid MAC address.',
|
||||||
'max' => [
|
'max' => [
|
||||||
'array' => 'The :attribute must not have more than :max items.',
|
'array' => 'The :attribute field must not have more than :max items.',
|
||||||
'file' => 'The :attribute must not be greater than :max kilobytes.',
|
'file' => 'The :attribute field must not be greater than :max kilobytes.',
|
||||||
'numeric' => 'The :attribute must not be greater than :max.',
|
'numeric' => 'The :attribute field must not be greater than :max.',
|
||||||
'string' => 'The :attribute must not be greater than :max characters.',
|
'string' => 'The :attribute field must not be greater than :max characters.',
|
||||||
],
|
],
|
||||||
'max_digits' => 'The :attribute must not have more than :max digits.',
|
'max_digits' => 'The :attribute field must not have more than :max digits.',
|
||||||
'mimes' => 'The :attribute must be a file of type: :values.',
|
'mimes' => 'The :attribute field must be a file of type: :values.',
|
||||||
'mimetypes' => 'The :attribute must be a file of type: :values.',
|
'mimetypes' => 'The :attribute field must be a file of type: :values.',
|
||||||
'min' => [
|
'min' => [
|
||||||
'array' => 'The :attribute must have at least :min items.',
|
'array' => 'The :attribute field must have at least :min items.',
|
||||||
'file' => 'The :attribute must be at least :min kilobytes.',
|
'file' => 'The :attribute field must be at least :min kilobytes.',
|
||||||
'numeric' => 'The :attribute must be at least :min.',
|
'numeric' => 'The :attribute field must be at least :min.',
|
||||||
'string' => 'The :attribute must be at least :min characters.',
|
'string' => 'The :attribute field must be at least :min characters.',
|
||||||
],
|
],
|
||||||
'min_digits' => 'The :attribute must have at least :min digits.',
|
'min_digits' => 'The :attribute field must have at least :min digits.',
|
||||||
'multiple_of' => 'The :attribute must be a multiple of :value.',
|
'missing' => 'The :attribute field must be missing.',
|
||||||
|
'missing_if' => 'The :attribute field must be missing when :other is :value.',
|
||||||
|
'missing_unless' => 'The :attribute field must be missing unless :other is :value.',
|
||||||
|
'missing_with' => 'The :attribute field must be missing when :values is present.',
|
||||||
|
'missing_with_all' => 'The :attribute field must be missing when :values are present.',
|
||||||
|
'multiple_of' => 'The :attribute field must be a multiple of :value.',
|
||||||
'not_in' => 'The selected :attribute is invalid.',
|
'not_in' => 'The selected :attribute is invalid.',
|
||||||
'not_regex' => 'The :attribute format is invalid.',
|
'not_regex' => 'The :attribute field format is invalid.',
|
||||||
'numeric' => 'The :attribute must be a number.',
|
'numeric' => 'The :attribute field must be a number.',
|
||||||
'password' => [
|
'password' => [
|
||||||
'letters' => 'The :attribute must contain at least one letter.',
|
'letters' => 'The :attribute field must contain at least one letter.',
|
||||||
'mixed' => 'The :attribute must contain at least one uppercase and one lowercase letter.',
|
'mixed' => 'The :attribute field must contain at least one uppercase and one lowercase letter.',
|
||||||
'numbers' => 'The :attribute must contain at least one number.',
|
'numbers' => 'The :attribute field must contain at least one number.',
|
||||||
'symbols' => 'The :attribute must contain at least one symbol.',
|
'symbols' => 'The :attribute field must contain at least one symbol.',
|
||||||
'uncompromised' => 'The given :attribute has appeared in a data leak. Please choose a different :attribute.',
|
'uncompromised' => 'The given :attribute has appeared in a data leak. Please choose a different :attribute.',
|
||||||
],
|
],
|
||||||
'present' => 'The :attribute field must be present.',
|
'present' => 'The :attribute field must be present.',
|
||||||
|
@ -119,7 +124,7 @@ return [
|
||||||
'prohibited_if' => 'The :attribute field is prohibited when :other is :value.',
|
'prohibited_if' => 'The :attribute field is prohibited when :other is :value.',
|
||||||
'prohibited_unless' => 'The :attribute field is prohibited unless :other is in :values.',
|
'prohibited_unless' => 'The :attribute field is prohibited unless :other is in :values.',
|
||||||
'prohibits' => 'The :attribute field prohibits :other from being present.',
|
'prohibits' => 'The :attribute field prohibits :other from being present.',
|
||||||
'regex' => 'The :attribute format is invalid.',
|
'regex' => 'The :attribute field format is invalid.',
|
||||||
'required' => 'The :attribute field is required.',
|
'required' => 'The :attribute field is required.',
|
||||||
'required_array_keys' => 'The :attribute field must contain entries for: :values.',
|
'required_array_keys' => 'The :attribute field must contain entries for: :values.',
|
||||||
'required_if' => 'The :attribute field is required when :other is :value.',
|
'required_if' => 'The :attribute field is required when :other is :value.',
|
||||||
|
@ -129,22 +134,22 @@ return [
|
||||||
'required_with_all' => 'The :attribute field is required when :values are present.',
|
'required_with_all' => 'The :attribute field is required when :values are present.',
|
||||||
'required_without' => 'The :attribute field is required when :values is not present.',
|
'required_without' => 'The :attribute field is required when :values is not present.',
|
||||||
'required_without_all' => 'The :attribute field is required when none of :values are present.',
|
'required_without_all' => 'The :attribute field is required when none of :values are present.',
|
||||||
'same' => 'The :attribute and :other must match.',
|
'same' => 'The :attribute field must match :other.',
|
||||||
'size' => [
|
'size' => [
|
||||||
'array' => 'The :attribute must contain :size items.',
|
'array' => 'The :attribute field must contain :size items.',
|
||||||
'file' => 'The :attribute must be :size kilobytes.',
|
'file' => 'The :attribute field must be :size kilobytes.',
|
||||||
'numeric' => 'The :attribute must be :size.',
|
'numeric' => 'The :attribute field must be :size.',
|
||||||
'string' => 'The :attribute must be :size characters.',
|
'string' => 'The :attribute field must be :size characters.',
|
||||||
],
|
],
|
||||||
'starts_with' => 'The :attribute must start with one of the following: :values.',
|
'starts_with' => 'The :attribute field must start with one of the following: :values.',
|
||||||
'string' => 'The :attribute must be a string.',
|
'string' => 'The :attribute field must be a string.',
|
||||||
'timezone' => 'The :attribute must be a valid timezone.',
|
'timezone' => 'The :attribute field must be a valid timezone.',
|
||||||
'unique' => 'The :attribute has already been taken.',
|
'unique' => 'The :attribute has already been taken.',
|
||||||
'uploaded' => 'The :attribute failed to upload.',
|
'uploaded' => 'The :attribute failed to upload.',
|
||||||
'uppercase' => 'The :attribute must be uppercase.',
|
'uppercase' => 'The :attribute field must be uppercase.',
|
||||||
'url' => 'The :attribute must be a valid URL.',
|
'url' => 'The :attribute field must be a valid URL.',
|
||||||
'ulid' => 'The :attribute must be a valid ULID.',
|
'ulid' => 'The :attribute field must be a valid ULID.',
|
||||||
'uuid' => 'The :attribute must be a valid UUID.',
|
'uuid' => 'The :attribute field must be a valid UUID.',
|
||||||
|
|
||||||
/*
|
/*
|
||||||
|--------------------------------------------------------------------------
|
|--------------------------------------------------------------------------
|
||||||
|
|
|
@ -12,7 +12,7 @@
|
||||||
<directory suffix="Test.php">./tests/Feature</directory>
|
<directory suffix="Test.php">./tests/Feature</directory>
|
||||||
</testsuite>
|
</testsuite>
|
||||||
</testsuites>
|
</testsuites>
|
||||||
<coverage processUncoveredFiles="true">
|
<coverage>
|
||||||
<include>
|
<include>
|
||||||
<directory suffix=".php">./app</directory>
|
<directory suffix=".php">./app</directory>
|
||||||
</include>
|
</include>
|
||||||
|
|
|
@ -21,7 +21,7 @@ A Hypothetical website template for bootstrapping new projects.
|
||||||
* Gsap
|
* Gsap
|
||||||
* Gulp
|
* Gulp
|
||||||
* Jquery
|
* Jquery
|
||||||
* Laravel 9
|
* Laravel 10.0.4
|
||||||
* Sass
|
* Sass
|
||||||
* Vue 3 (Optional)
|
* Vue 3 (Optional)
|
||||||
|
|
||||||
|
|
|
@ -9,8 +9,8 @@ use Illuminate\Support\Facades\Route;
|
||||||
|--------------------------------------------------------------------------
|
|--------------------------------------------------------------------------
|
||||||
|
|
|
|
||||||
| Here is where you can register API routes for your application. These
|
| Here is where you can register API routes for your application. These
|
||||||
| routes are loaded by the RouteServiceProvider within a group which
|
| routes are loaded by the RouteServiceProvider and all of them will
|
||||||
| is assigned the "api" middleware group. Enjoy building your API!
|
| be assigned to the "api" middleware group. Make something great!
|
||||||
|
|
|
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
|
|
@ -9,8 +9,8 @@ use App\Dashboard;
|
||||||
|--------------------------------------------------------------------------
|
|--------------------------------------------------------------------------
|
||||||
|
|
|
|
||||||
| Here is where you can register web routes for your application. These
|
| Here is where you can register web routes for your application. These
|
||||||
| routes are loaded by the RouteServiceProvider within a group which
|
| routes are loaded by the RouteServiceProvider and all of them will
|
||||||
| contains the "web" middleware group. Now create something great!
|
| be assigned to the "web" middleware group. Make something great!
|
||||||
|
|
|
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
|
|
@ -3,15 +3,14 @@
|
||||||
namespace Tests;
|
namespace Tests;
|
||||||
|
|
||||||
use Illuminate\Contracts\Console\Kernel;
|
use Illuminate\Contracts\Console\Kernel;
|
||||||
|
use Illuminate\Foundation\Application;
|
||||||
|
|
||||||
trait CreatesApplication
|
trait CreatesApplication
|
||||||
{
|
{
|
||||||
/**
|
/**
|
||||||
* Creates the application.
|
* Creates the application.
|
||||||
*
|
|
||||||
* @return \Illuminate\Foundation\Application
|
|
||||||
*/
|
*/
|
||||||
public function createApplication()
|
public function createApplication(): Application
|
||||||
{
|
{
|
||||||
$app = require __DIR__.'/../bootstrap/app.php';
|
$app = require __DIR__.'/../bootstrap/app.php';
|
||||||
|
|
||||||
|
|
|
@ -9,10 +9,8 @@ class ExampleTest extends TestCase
|
||||||
{
|
{
|
||||||
/**
|
/**
|
||||||
* A basic test example.
|
* A basic test example.
|
||||||
*
|
|
||||||
* @return void
|
|
||||||
*/
|
*/
|
||||||
public function test_the_application_returns_a_successful_response()
|
public function test_the_application_returns_a_successful_response(): void
|
||||||
{
|
{
|
||||||
$response = $this->get('/');
|
$response = $this->get('/');
|
||||||
|
|
||||||
|
|
|
@ -8,10 +8,8 @@ class ExampleTest extends TestCase
|
||||||
{
|
{
|
||||||
/**
|
/**
|
||||||
* A basic test example.
|
* A basic test example.
|
||||||
*
|
|
||||||
* @return void
|
|
||||||
*/
|
*/
|
||||||
public function test_that_true_is_true()
|
public function test_that_true_is_true(): void
|
||||||
{
|
{
|
||||||
$this->assertTrue(true);
|
$this->assertTrue(true);
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in a new issue