diff --git a/app/Http/Controllers/Controller.php b/app/Http/Controllers/Controller.php
index cb6c549..8677cd5 100644
--- a/app/Http/Controllers/Controller.php
+++ b/app/Http/Controllers/Controller.php
@@ -5,4 +5,4 @@
abstract class Controller
{
//
-}
\ No newline at end of file
+}
diff --git a/bootstrap/app.php b/bootstrap/app.php
index 3d8b5f7..7b162da 100644
--- a/bootstrap/app.php
+++ b/bootstrap/app.php
@@ -15,4 +15,4 @@
})
->withExceptions(function (Exceptions $exceptions) {
//
- })->create();
\ No newline at end of file
+ })->create();
diff --git a/bootstrap/providers.php b/bootstrap/providers.php
index 793d3de..22744d1 100644
--- a/bootstrap/providers.php
+++ b/bootstrap/providers.php
@@ -2,4 +2,5 @@
return [
App\Providers\AppServiceProvider::class,
-];
\ No newline at end of file
+ App\Providers\Filament\AdminPanelProvider::class,
+];
diff --git a/config/app.php b/config/app.php
index 105c0b6..f467267 100644
--- a/config/app.php
+++ b/config/app.php
@@ -1,8 +1,5 @@
env('APP_URL', 'http://localhost'),
- 'asset_url' => env('ASSET_URL'),
-
/*
|--------------------------------------------------------------------------
| Application Timezone
|--------------------------------------------------------------------------
|
| Here you may specify the default timezone for your application, which
- | will be used by the PHP date and date-time functions. We have gone
- | ahead and set this to a sensible default for you out of the box.
+ | will be used by the PHP date and date-time functions. The timezone
+ | is set to "UTC" by default as it is suitable for most use cases.
|
*/
- 'timezone' => 'UTC',
+ 'timezone' => env('APP_TIMEZONE', 'UTC'),
/*
|--------------------------------------------------------------------------
@@ -78,53 +73,37 @@
|--------------------------------------------------------------------------
|
| The application locale determines the default locale that will be used
- | by the translation service provider. You are free to set this value
- | to any of the locales which will be supported by the application.
- |
- */
-
- 'locale' => 'en',
-
- /*
- |--------------------------------------------------------------------------
- | Application Fallback Locale
- |--------------------------------------------------------------------------
- |
- | The fallback locale determines the locale to use when the current one
- | is not available. You may change the value to correspond to any of
- | the language folders that are provided through your application.
+ | by Laravel's translation / localization methods. This option can be
+ | set to any locale for which you plan to have translation strings.
|
*/
- 'fallback_locale' => 'en',
+ 'locale' => env('APP_LOCALE', 'en'),
- /*
- |--------------------------------------------------------------------------
- | Faker Locale
- |--------------------------------------------------------------------------
- |
- | This locale will be used by the Faker PHP library when generating fake
- | data for your database seeds. For example, this will be used to get
- | localized telephone numbers, street address information and more.
- |
- */
+ 'fallback_locale' => env('APP_FALLBACK_LOCALE', 'en'),
- 'faker_locale' => 'en_US',
+ 'faker_locale' => env('APP_FAKER_LOCALE', 'en_US'),
/*
|--------------------------------------------------------------------------
| Encryption Key
|--------------------------------------------------------------------------
|
- | This key is used by the Illuminate encrypter service and should be set
- | to a random, 32 character string, otherwise these encrypted strings
- | will not be safe. Please do this before deploying an application!
+ | This key is utilized by Laravel's encryption services and should be set
+ | to a random, 32 character string to ensure that all encrypted values
+ | are secure. You should do this prior to deploying the application.
|
*/
+ 'cipher' => 'AES-256-CBC',
+
'key' => env('APP_KEY'),
- 'cipher' => 'AES-256-CBC',
+ 'previous_keys' => [
+ ...array_filter(
+ explode(',', env('APP_PREVIOUS_KEYS', ''))
+ ),
+ ],
/*
|--------------------------------------------------------------------------
@@ -140,50 +119,8 @@
*/
'maintenance' => [
- 'driver' => 'file',
- // 'store' => 'redis',
+ 'driver' => env('APP_MAINTENANCE_DRIVER', 'file'),
+ 'store' => env('APP_MAINTENANCE_STORE', 'database'),
],
- /*
- |--------------------------------------------------------------------------
- | Autoloaded Service Providers
- |--------------------------------------------------------------------------
- |
- | The service providers listed here will be automatically loaded on the
- | request to your application. Feel free to add your own services to
- | this array to grant expanded functionality to your applications.
- |
- */
-
- 'providers' => ServiceProvider::defaultProviders()->merge([
- /*
- * Package Service Providers...
- */
-
- /*
- * Application Service Providers...
- */
- App\Providers\AppServiceProvider::class,
- App\Providers\AuthServiceProvider::class,
- // App\Providers\BroadcastServiceProvider::class,
- App\Providers\EventServiceProvider::class,
- App\Providers\Filament\AdminPanelProvider::class,
- App\Providers\RouteServiceProvider::class,
- ])->toArray(),
-
- /*
- |--------------------------------------------------------------------------
- | Class Aliases
- |--------------------------------------------------------------------------
- |
- | This array of class aliases will be registered when this application
- | is started. However, feel free to register as many as you wish as
- | the aliases are "lazy" loaded so they don't hinder performance.
- |
- */
-
- 'aliases' => Facade::defaultAliases()->merge([
- // 'Example' => App\Facades\Example::class,
- ])->toArray(),
-
];
diff --git a/config/auth.php b/config/auth.php
index 9548c15..0ba5d5d 100644
--- a/config/auth.php
+++ b/config/auth.php
@@ -7,15 +7,15 @@
| Authentication Defaults
|--------------------------------------------------------------------------
|
- | This option controls the default authentication "guard" and password
- | reset options for your application. You may change these defaults
+ | This option defines the default authentication "guard" and password
+ | reset "broker" for your application. You may change these values
| as required, but they're a perfect start for most applications.
|
*/
'defaults' => [
- 'guard' => 'web',
- 'passwords' => 'users',
+ 'guard' => env('AUTH_GUARD', 'web'),
+ 'passwords' => env('AUTH_PASSWORD_BROKER', 'users'),
],
/*
@@ -25,11 +25,11 @@
|
| Next, you may define every authentication guard for your application.
| Of course, a great default configuration has been defined for you
- | here which uses session storage and the Eloquent user provider.
+ | which utilizes session storage plus the Eloquent user provider.
|
- | All authentication drivers have a user provider. This defines how the
+ | All authentication guards have a user provider, which defines how the
| users are actually retrieved out of your database or other storage
- | mechanisms used by this application to persist your user's data.
+ | system used by the application. Typically, Eloquent is utilized.
|
| Supported: "session"
|
@@ -47,12 +47,12 @@
| User Providers
|--------------------------------------------------------------------------
|
- | All authentication drivers have a user provider. This defines how the
+ | All authentication guards have a user provider, which defines how the
| users are actually retrieved out of your database or other storage
- | mechanisms used by this application to persist your user's data.
+ | system used by the application. Typically, Eloquent is utilized.
|
| If you have multiple user tables or models you may configure multiple
- | sources which represent each model / table. These sources may then
+ | providers to represent the model / table. These providers may then
| be assigned to any extra authentication guards you have defined.
|
| Supported: "database", "eloquent"
@@ -62,7 +62,7 @@
'providers' => [
'users' => [
'driver' => 'eloquent',
- 'model' => App\Models\User::class,
+ 'model' => env('AUTH_MODEL', App\Models\User::class),
],
// 'users' => [
@@ -76,9 +76,9 @@
| Resetting Passwords
|--------------------------------------------------------------------------
|
- | You may specify multiple password reset configurations if you have more
- | than one user table or model in the application and you want to have
- | separate password reset settings based on the specific user types.
+ | These configuration options specify the behavior of Laravel's password
+ | reset functionality, including the table utilized for token storage
+ | and the user provider that is invoked to actually retrieve users.
|
| The expiry time is the number of minutes that each reset token will be
| considered valid. This security feature keeps tokens short-lived so
@@ -93,7 +93,7 @@
'passwords' => [
'users' => [
'provider' => 'users',
- 'table' => 'password_reset_tokens',
+ 'table' => env('AUTH_PASSWORD_RESET_TOKEN_TABLE', 'password_reset_tokens'),
'expire' => 60,
'throttle' => 60,
],
@@ -105,11 +105,11 @@
|--------------------------------------------------------------------------
|
| Here you may define the amount of seconds before a password confirmation
- | times out and the user is prompted to re-enter their password via the
+ | window expires and users are asked to re-enter their password via the
| confirmation screen. By default, the timeout lasts for three hours.
|
*/
- 'password_timeout' => 10800,
+ 'password_timeout' => env('AUTH_PASSWORD_TIMEOUT', 10800),
];
diff --git a/config/broadcasting.php b/config/broadcasting.php
deleted file mode 100644
index 2410485..0000000
--- a/config/broadcasting.php
+++ /dev/null
@@ -1,71 +0,0 @@
- env('BROADCAST_DRIVER', 'null'),
-
- /*
- |--------------------------------------------------------------------------
- | Broadcast Connections
- |--------------------------------------------------------------------------
- |
- | Here you may define all of the broadcast connections that will be used
- | to broadcast events to other systems or over websockets. Samples of
- | each available type of connection are provided inside this array.
- |
- */
-
- 'connections' => [
-
- 'pusher' => [
- 'driver' => 'pusher',
- 'key' => env('PUSHER_APP_KEY'),
- 'secret' => env('PUSHER_APP_SECRET'),
- 'app_id' => env('PUSHER_APP_ID'),
- 'options' => [
- 'cluster' => env('PUSHER_APP_CLUSTER'),
- 'host' => env('PUSHER_HOST') ?: 'api-'.env('PUSHER_APP_CLUSTER', 'mt1').'.pusher.com',
- 'port' => env('PUSHER_PORT', 443),
- 'scheme' => env('PUSHER_SCHEME', 'https'),
- 'encrypted' => true,
- 'useTLS' => env('PUSHER_SCHEME', 'https') === 'https',
- ],
- 'client_options' => [
- // Guzzle client options: https://docs.guzzlephp.org/en/stable/request-options.html
- ],
- ],
-
- 'ably' => [
- 'driver' => 'ably',
- 'key' => env('ABLY_KEY'),
- ],
-
- 'redis' => [
- 'driver' => 'redis',
- 'connection' => 'default',
- ],
-
- 'log' => [
- 'driver' => 'log',
- ],
-
- 'null' => [
- 'driver' => 'null',
- ],
-
- ],
-
-];
diff --git a/config/cache.php b/config/cache.php
index d4171e2..925f7d2 100644
--- a/config/cache.php
+++ b/config/cache.php
@@ -9,13 +9,13 @@
| Default Cache Store
|--------------------------------------------------------------------------
|
- | This option controls the default cache connection that gets used while
- | using this caching library. This connection is used when another is
- | not explicitly specified when executing a given caching function.
+ | This option controls the default cache store that will be used by the
+ | framework. This connection is utilized if another isn't explicitly
+ | specified when running a cache operation inside the application.
|
*/
- 'default' => env('CACHE_DRIVER', 'file'),
+ 'default' => env('CACHE_STORE', 'database'),
/*
|--------------------------------------------------------------------------
@@ -26,17 +26,13 @@
| well as their drivers. You may even define multiple stores for the
| same cache driver to group types of items stored in your caches.
|
- | Supported drivers: "apc", "array", "database", "file",
- | "memcached", "redis", "dynamodb", "octane", "null"
+ | Supported drivers: "array", "database", "file", "memcached",
+ | "redis", "dynamodb", "octane", "null"
|
*/
'stores' => [
- 'apc' => [
- 'driver' => 'apc',
- ],
-
'array' => [
'driver' => 'array',
'serialize' => false,
@@ -44,9 +40,10 @@
'database' => [
'driver' => 'database',
- 'table' => 'cache',
- 'connection' => null,
- 'lock_connection' => null,
+ 'connection' => env('DB_CACHE_CONNECTION'),
+ 'table' => env('DB_CACHE_TABLE', 'cache'),
+ 'lock_connection' => env('DB_CACHE_LOCK_CONNECTION'),
+ 'lock_table' => env('DB_CACHE_LOCK_TABLE'),
],
'file' => [
@@ -76,8 +73,8 @@
'redis' => [
'driver' => 'redis',
- 'connection' => 'cache',
- 'lock_connection' => 'default',
+ 'connection' => env('REDIS_CACHE_CONNECTION', 'cache'),
+ 'lock_connection' => env('REDIS_CACHE_LOCK_CONNECTION', 'default'),
],
'dynamodb' => [
@@ -100,8 +97,8 @@
| Cache Key Prefix
|--------------------------------------------------------------------------
|
- | When utilizing the APC, database, memcached, Redis, or DynamoDB cache
- | stores there might be other applications using the same cache. For
+ | When utilizing the APC, database, memcached, Redis, and DynamoDB cache
+ | stores, there might be other applications using the same cache. For
| that reason, you may prefix every cache key to avoid collisions.
|
*/
diff --git a/config/cors.php b/config/cors.php
deleted file mode 100644
index 8a39e6d..0000000
--- a/config/cors.php
+++ /dev/null
@@ -1,34 +0,0 @@
- ['api/*', 'sanctum/csrf-cookie'],
-
- 'allowed_methods' => ['*'],
-
- 'allowed_origins' => ['*'],
-
- 'allowed_origins_patterns' => [],
-
- 'allowed_headers' => ['*'],
-
- 'exposed_headers' => [],
-
- 'max_age' => 0,
-
- 'supports_credentials' => false,
-
-];
diff --git a/config/database.php b/config/database.php
index 137ad18..125949e 100644
--- a/config/database.php
+++ b/config/database.php
@@ -10,26 +10,22 @@
|--------------------------------------------------------------------------
|
| Here you may specify which of the database connections below you wish
- | to use as your default connection for all database work. Of course
- | you may use many connections at once using the Database library.
+ | to use as your default connection for database operations. This is
+ | the connection which will be utilized unless another connection
+ | is explicitly specified when you execute a query / statement.
|
*/
- 'default' => env('DB_CONNECTION', 'mysql'),
+ 'default' => env('DB_CONNECTION', 'sqlite'),
/*
|--------------------------------------------------------------------------
| Database Connections
|--------------------------------------------------------------------------
|
- | Here are each of the database connections setup for your application.
- | Of course, examples of configuring each database platform that is
- | supported by Laravel is shown below to make development simple.
- |
- |
- | All database work in Laravel is done through the PHP PDO facilities
- | so make sure you have the driver for your particular database of
- | choice installed on your machine before you begin development.
+ | Below are all of the database connections defined for your application.
+ | An example configuration is provided for each database system which
+ | is supported by Laravel. You're free to add / remove connections.
|
*/
@@ -37,23 +33,46 @@
'sqlite' => [
'driver' => 'sqlite',
- 'url' => env('DATABASE_URL'),
+ 'url' => env('DB_URL'),
'database' => env('DB_DATABASE', database_path('database.sqlite')),
'prefix' => '',
'foreign_key_constraints' => env('DB_FOREIGN_KEYS', true),
+ 'busy_timeout' => null,
+ 'journal_mode' => null,
+ 'synchronous' => null,
],
'mysql' => [
'driver' => 'mysql',
- 'url' => env('DATABASE_URL'),
+ 'url' => env('DB_URL'),
+ 'host' => env('DB_HOST', '127.0.0.1'),
+ 'port' => env('DB_PORT', '3306'),
+ 'database' => env('DB_DATABASE', 'laravel'),
+ 'username' => env('DB_USERNAME', 'root'),
+ 'password' => env('DB_PASSWORD', ''),
+ 'unix_socket' => env('DB_SOCKET', ''),
+ 'charset' => env('DB_CHARSET', 'utf8mb4'),
+ 'collation' => env('DB_COLLATION', 'utf8mb4_unicode_ci'),
+ 'prefix' => '',
+ 'prefix_indexes' => true,
+ 'strict' => true,
+ 'engine' => null,
+ 'options' => extension_loaded('pdo_mysql') ? array_filter([
+ PDO::MYSQL_ATTR_SSL_CA => env('MYSQL_ATTR_SSL_CA'),
+ ]) : [],
+ ],
+
+ 'mariadb' => [
+ 'driver' => 'mariadb',
+ 'url' => env('DB_URL'),
'host' => env('DB_HOST', '127.0.0.1'),
'port' => env('DB_PORT', '3306'),
- 'database' => env('DB_DATABASE', 'forge'),
- 'username' => env('DB_USERNAME', 'forge'),
+ 'database' => env('DB_DATABASE', 'laravel'),
+ 'username' => env('DB_USERNAME', 'root'),
'password' => env('DB_PASSWORD', ''),
'unix_socket' => env('DB_SOCKET', ''),
- 'charset' => 'utf8mb4',
- 'collation' => 'utf8mb4_unicode_ci',
+ 'charset' => env('DB_CHARSET', 'utf8mb4'),
+ 'collation' => env('DB_COLLATION', 'utf8mb4_unicode_ci'),
'prefix' => '',
'prefix_indexes' => true,
'strict' => true,
@@ -65,13 +84,13 @@
'pgsql' => [
'driver' => 'pgsql',
- 'url' => env('DATABASE_URL'),
+ 'url' => env('DB_URL'),
'host' => env('DB_HOST', '127.0.0.1'),
'port' => env('DB_PORT', '5432'),
- 'database' => env('DB_DATABASE', 'forge'),
- 'username' => env('DB_USERNAME', 'forge'),
+ 'database' => env('DB_DATABASE', 'laravel'),
+ 'username' => env('DB_USERNAME', 'root'),
'password' => env('DB_PASSWORD', ''),
- 'charset' => 'utf8',
+ 'charset' => env('DB_CHARSET', 'utf8'),
'prefix' => '',
'prefix_indexes' => true,
'search_path' => 'public',
@@ -80,13 +99,13 @@
'sqlsrv' => [
'driver' => 'sqlsrv',
- 'url' => env('DATABASE_URL'),
+ 'url' => env('DB_URL'),
'host' => env('DB_HOST', 'localhost'),
'port' => env('DB_PORT', '1433'),
- 'database' => env('DB_DATABASE', 'forge'),
- 'username' => env('DB_USERNAME', 'forge'),
+ 'database' => env('DB_DATABASE', 'laravel'),
+ 'username' => env('DB_USERNAME', 'root'),
'password' => env('DB_PASSWORD', ''),
- 'charset' => 'utf8',
+ 'charset' => env('DB_CHARSET', 'utf8'),
'prefix' => '',
'prefix_indexes' => true,
// 'encrypt' => env('DB_ENCRYPT', 'yes'),
@@ -102,11 +121,14 @@
|
| This table keeps track of all the migrations that have already run for
| your application. Using this information, we can determine which of
- | the migrations on disk haven't actually been run in the database.
+ | the migrations on disk haven't actually been run on the database.
|
*/
- 'migrations' => 'migrations',
+ 'migrations' => [
+ 'table' => 'migrations',
+ 'update_date_on_publish' => true,
+ ],
/*
|--------------------------------------------------------------------------
@@ -115,7 +137,7 @@
|
| Redis is an open source, fast, and advanced key-value store that also
| provides a richer body of commands than a typical key-value system
- | such as APC or Memcached. Laravel makes it easy to dig right in.
+ | such as Memcached. You may define your connection settings here.
|
*/
diff --git a/config/filament.php b/config/filament.php
deleted file mode 100644
index b687973..0000000
--- a/config/filament.php
+++ /dev/null
@@ -1,40 +0,0 @@
- [
-
- // 'echo' => [
- // 'broadcaster' => 'pusher',
- // 'key' => env('VITE_PUSHER_APP_KEY'),
- // 'cluster' => env('VITE_PUSHER_APP_CLUSTER'),
- // 'forceTLS' => true,
- // ],
-
- ],
-
- /*
- |--------------------------------------------------------------------------
- | Default Filesystem Disk
- |--------------------------------------------------------------------------
- |
- | This is the storage disk Filament will use to put media. You may use any
- | of the disks defined in the `config/filesystems.php`.
- |
- */
-
- 'default_filesystem_disk' => env('FILAMENT_FILESYSTEM_DISK', 'public'),
-
-];
diff --git a/config/filesystems.php b/config/filesystems.php
index e9d9dbd..b564035 100644
--- a/config/filesystems.php
+++ b/config/filesystems.php
@@ -9,7 +9,7 @@
|
| Here you may specify the default filesystem disk that should be used
| by the framework. The "local" disk, as well as a variety of cloud
- | based disks are available to your application. Just store away!
+ | based disks are available to your application for file storage.
|
*/
@@ -20,11 +20,11 @@
| Filesystem Disks
|--------------------------------------------------------------------------
|
- | Here you may configure as many filesystem "disks" as you wish, and you
- | may even configure multiple disks of the same driver. Defaults have
- | been set up for each driver as an example of the required values.
+ | Below you may configure as many filesystem disks as necessary, and you
+ | may even configure multiple disks for the same driver. Examples for
+ | most supported storage drivers are configured here for reference.
|
- | Supported Drivers: "local", "ftp", "sftp", "s3"
+ | Supported drivers: "local", "ftp", "sftp", "s3"
|
*/
@@ -32,7 +32,8 @@
'local' => [
'driver' => 'local',
- 'root' => storage_path('app'),
+ 'root' => storage_path('app/private'),
+ 'serve' => true,
'throw' => false,
],
diff --git a/config/hashing.php b/config/hashing.php
deleted file mode 100644
index bcd3be4..0000000
--- a/config/hashing.php
+++ /dev/null
@@ -1,52 +0,0 @@
- 'bcrypt',
-
- /*
- |--------------------------------------------------------------------------
- | Bcrypt Options
- |--------------------------------------------------------------------------
- |
- | Here you may specify the configuration options that should be used when
- | passwords are hashed using the Bcrypt algorithm. This will allow you
- | to control the amount of time it takes to hash the given password.
- |
- */
-
- 'bcrypt' => [
- 'rounds' => env('BCRYPT_ROUNDS', 10),
- ],
-
- /*
- |--------------------------------------------------------------------------
- | Argon Options
- |--------------------------------------------------------------------------
- |
- | Here you may specify the configuration options that should be used when
- | passwords are hashed using the Argon algorithm. These will allow you
- | to control the amount of time it takes to hash the given password.
- |
- */
-
- 'argon' => [
- 'memory' => 65536,
- 'threads' => 1,
- 'time' => 4,
- ],
-
-];
diff --git a/config/logging.php b/config/logging.php
index c44d276..8d94292 100644
--- a/config/logging.php
+++ b/config/logging.php
@@ -12,9 +12,9 @@
| Default Log Channel
|--------------------------------------------------------------------------
|
- | This option defines the default log channel that gets used when writing
- | messages to the logs. The name specified in this option should match
- | one of the channels defined in the "channels" configuration array.
+ | This option defines the default log channel that is utilized to write
+ | messages to your logs. The value provided here should match one of
+ | the channels present in the list of "channels" configured below.
|
*/
@@ -33,7 +33,7 @@
'deprecations' => [
'channel' => env('LOG_DEPRECATIONS_CHANNEL', 'null'),
- 'trace' => false,
+ 'trace' => env('LOG_DEPRECATIONS_TRACE', false),
],
/*
@@ -41,20 +41,20 @@
| Log Channels
|--------------------------------------------------------------------------
|
- | Here you may configure the log channels for your application. Out of
- | the box, Laravel uses the Monolog PHP logging library. This gives
- | you a variety of powerful log handlers / formatters to utilize.
+ | Here you may configure the log channels for your application. Laravel
+ | utilizes the Monolog PHP logging library, which includes a variety
+ | of powerful log handlers and formatters that you're free to use.
|
- | Available Drivers: "single", "daily", "slack", "syslog",
- | "errorlog", "monolog",
- | "custom", "stack"
+ | Available drivers: "single", "daily", "slack", "syslog",
+ | "errorlog", "monolog", "custom", "stack"
|
*/
'channels' => [
+
'stack' => [
'driver' => 'stack',
- 'channels' => ['single'],
+ 'channels' => explode(',', env('LOG_STACK', 'single')),
'ignore_exceptions' => false,
],
@@ -69,15 +69,15 @@
'driver' => 'daily',
'path' => storage_path('logs/laravel.log'),
'level' => env('LOG_LEVEL', 'debug'),
- 'days' => 14,
+ 'days' => env('LOG_DAILY_DAYS', 14),
'replace_placeholders' => true,
],
'slack' => [
'driver' => 'slack',
'url' => env('LOG_SLACK_WEBHOOK_URL'),
- 'username' => 'Laravel Log',
- 'emoji' => ':boom:',
+ 'username' => env('LOG_SLACK_USERNAME', 'Laravel Log'),
+ 'emoji' => env('LOG_SLACK_EMOJI', ':boom:'),
'level' => env('LOG_LEVEL', 'critical'),
'replace_placeholders' => true,
],
@@ -108,7 +108,7 @@
'syslog' => [
'driver' => 'syslog',
'level' => env('LOG_LEVEL', 'debug'),
- 'facility' => LOG_USER,
+ 'facility' => env('LOG_SYSLOG_FACILITY', LOG_USER),
'replace_placeholders' => true,
],
@@ -126,6 +126,7 @@
'emergency' => [
'path' => storage_path('logs/laravel.log'),
],
+
],
];
diff --git a/config/mail.php b/config/mail.php
index e652bd0..df13d3d 100644
--- a/config/mail.php
+++ b/config/mail.php
@@ -7,13 +7,14 @@
| Default Mailer
|--------------------------------------------------------------------------
|
- | This option controls the default mailer that is used to send any email
- | messages sent by your application. Alternative mailers may be setup
- | and used as needed; however, this mailer will be used by default.
+ | This option controls the default mailer that is used to send all email
+ | messages unless another mailer is explicitly specified when sending
+ | the message. All additional mailers can be configured within the
+ | "mailers" array. Examples of each type of mailer are provided.
|
*/
- 'default' => env('MAIL_MAILER', 'smtp'),
+ 'default' => env('MAIL_MAILER', 'log'),
/*
|--------------------------------------------------------------------------
@@ -24,46 +25,46 @@
| their respective settings. Several examples have been configured for
| you and you are free to add your own as your application requires.
|
- | Laravel supports a variety of mail "transport" drivers to be used while
- | 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.
+ | Laravel supports a variety of mail "transport" drivers that can be used
+ | when delivering an email. You may specify which one you're using for
+ | your mailers below. You may also add additional mailers if needed.
|
| Supported: "smtp", "sendmail", "mailgun", "ses", "ses-v2",
- | "postmark", "log", "array", "failover"
+ | "postmark", "resend", "log", "array",
+ | "failover", "roundrobin"
|
*/
'mailers' => [
+
'smtp' => [
'transport' => 'smtp',
'url' => env('MAIL_URL'),
- 'host' => env('MAIL_HOST', 'smtp.mailgun.org'),
- 'port' => env('MAIL_PORT', 587),
+ 'host' => env('MAIL_HOST', '127.0.0.1'),
+ 'port' => env('MAIL_PORT', 2525),
'encryption' => env('MAIL_ENCRYPTION', 'tls'),
'username' => env('MAIL_USERNAME'),
'password' => env('MAIL_PASSWORD'),
'timeout' => null,
- 'local_domain' => env('MAIL_EHLO_DOMAIN'),
+ 'local_domain' => env('MAIL_EHLO_DOMAIN', parse_url(env('APP_URL', 'http://localhost'), PHP_URL_HOST)),
],
'ses' => [
'transport' => 'ses',
],
- 'mailgun' => [
- 'transport' => 'mailgun',
- // 'client' => [
- // 'timeout' => 5,
- // ],
- ],
-
'postmark' => [
'transport' => 'postmark',
+ // 'message_stream_id' => env('POSTMARK_MESSAGE_STREAM_ID'),
// 'client' => [
// 'timeout' => 5,
// ],
],
+ 'resend' => [
+ 'transport' => 'resend',
+ ],
+
'sendmail' => [
'transport' => 'sendmail',
'path' => env('MAIL_SENDMAIL_PATH', '/usr/sbin/sendmail -bs -i'),
@@ -85,6 +86,15 @@
'log',
],
],
+
+ 'roundrobin' => [
+ 'transport' => 'roundrobin',
+ 'mailers' => [
+ 'ses',
+ 'postmark',
+ ],
+ ],
+
],
/*
@@ -92,9 +102,9 @@
| Global "From" Address
|--------------------------------------------------------------------------
|
- | You may wish for all e-mails sent by your application to be sent from
- | the same address. Here, you may specify a name and address that is
- | used globally for all e-mails that are sent by your application.
+ | You may wish for all emails sent by your application to be sent from
+ | the same address. Here you may specify a name and address that is
+ | used globally for all emails that are sent by your application.
|
*/
@@ -103,23 +113,4 @@
'name' => env('MAIL_FROM_NAME', 'Example'),
],
- /*
- |--------------------------------------------------------------------------
- | Markdown Mail Settings
- |--------------------------------------------------------------------------
- |
- | If you are using Markdown based email rendering, you may configure your
- | theme and component paths here, allowing you to customize the design
- | of the emails. Or, you may simply stick with the Laravel defaults!
- |
- */
-
- 'markdown' => [
- 'theme' => 'default',
-
- 'paths' => [
- resource_path('views/vendor/mail'),
- ],
- ],
-
];
diff --git a/config/queue.php b/config/queue.php
index 01c6b05..116bd8d 100644
--- a/config/queue.php
+++ b/config/queue.php
@@ -7,22 +7,22 @@
| Default Queue Connection Name
|--------------------------------------------------------------------------
|
- | Laravel's queue API supports an assortment of back-ends via a single
- | API, giving you convenient access to each back-end using the same
- | syntax for every one. Here you may define a default connection.
+ | Laravel's queue supports a variety of backends via a single, unified
+ | API, giving you convenient access to each backend using identical
+ | syntax for each. The default queue connection is defined below.
|
*/
- 'default' => env('QUEUE_CONNECTION', 'sync'),
+ 'default' => env('QUEUE_CONNECTION', 'database'),
/*
|--------------------------------------------------------------------------
| Queue Connections
|--------------------------------------------------------------------------
|
- | Here you may configure the connection information for each server that
- | is used by your application. A default configuration has been added
- | for each back-end shipped with Laravel. You are free to add more.
+ | Here you may configure the connection options for every queue backend
+ | used by your application. An example configuration is provided for
+ | each backend supported by Laravel. You're also free to add more.
|
| Drivers: "sync", "database", "beanstalkd", "sqs", "redis", "null"
|
@@ -36,17 +36,18 @@
'database' => [
'driver' => 'database',
- 'table' => 'jobs',
- 'queue' => 'default',
- 'retry_after' => 90,
+ 'connection' => env('DB_QUEUE_CONNECTION'),
+ 'table' => env('DB_QUEUE_TABLE', 'jobs'),
+ 'queue' => env('DB_QUEUE', 'default'),
+ 'retry_after' => (int) env('DB_QUEUE_RETRY_AFTER', 90),
'after_commit' => false,
],
'beanstalkd' => [
'driver' => 'beanstalkd',
- 'host' => 'localhost',
- 'queue' => 'default',
- 'retry_after' => 90,
+ 'host' => env('BEANSTALKD_QUEUE_HOST', 'localhost'),
+ 'queue' => env('BEANSTALKD_QUEUE', 'default'),
+ 'retry_after' => (int) env('BEANSTALKD_QUEUE_RETRY_AFTER', 90),
'block_for' => 0,
'after_commit' => false,
],
@@ -64,9 +65,9 @@
'redis' => [
'driver' => 'redis',
- 'connection' => 'default',
+ 'connection' => env('REDIS_QUEUE_CONNECTION', 'default'),
'queue' => env('REDIS_QUEUE', 'default'),
- 'retry_after' => 90,
+ 'retry_after' => (int) env('REDIS_QUEUE_RETRY_AFTER', 90),
'block_for' => null,
'after_commit' => false,
],
@@ -85,7 +86,7 @@
*/
'batching' => [
- 'database' => env('DB_CONNECTION', 'mysql'),
+ 'database' => env('DB_CONNECTION', 'sqlite'),
'table' => 'job_batches',
],
@@ -95,14 +96,16 @@
|--------------------------------------------------------------------------
|
| These options configure the behavior of failed queue job logging so you
- | can control which database and table are used to store the jobs that
- | have failed. You may change them to any database / table you wish.
+ | can control how and where failed jobs are stored. Laravel ships with
+ | support for storing failed jobs in a simple file or in a database.
+ |
+ | Supported drivers: "database-uuids", "dynamodb", "file", "null"
|
*/
'failed' => [
'driver' => env('QUEUE_FAILED_DRIVER', 'database-uuids'),
- 'database' => env('DB_CONNECTION', 'mysql'),
+ 'database' => env('DB_CONNECTION', 'sqlite'),
'table' => 'failed_jobs',
],
diff --git a/config/services.php b/config/services.php
index 0ace530..27a3617 100644
--- a/config/services.php
+++ b/config/services.php
@@ -14,13 +14,6 @@
|
*/
- 'mailgun' => [
- 'domain' => env('MAILGUN_DOMAIN'),
- 'secret' => env('MAILGUN_SECRET'),
- 'endpoint' => env('MAILGUN_ENDPOINT', 'api.mailgun.net'),
- 'scheme' => 'https',
- ],
-
'postmark' => [
'token' => env('POSTMARK_TOKEN'),
],
@@ -31,4 +24,15 @@
'region' => env('AWS_DEFAULT_REGION', 'us-east-1'),
],
+ 'resend' => [
+ 'key' => env('RESEND_KEY'),
+ ],
+
+ 'slack' => [
+ 'notifications' => [
+ 'bot_user_oauth_token' => env('SLACK_BOT_USER_OAUTH_TOKEN'),
+ 'channel' => env('SLACK_BOT_USER_DEFAULT_CHANNEL'),
+ ],
+ ],
+
];
diff --git a/config/session.php b/config/session.php
index 8fed97c..f0b6541 100644
--- a/config/session.php
+++ b/config/session.php
@@ -9,16 +9,16 @@
| Default Session Driver
|--------------------------------------------------------------------------
|
- | This option controls the default session "driver" that will be used on
- | requests. By default, we will use the lightweight native driver but
- | you may specify any of the other wonderful drivers provided here.
+ | This option determines the default session driver that is utilized for
+ | incoming requests. Laravel supports a variety of storage options to
+ | persist session data. Database storage is a great default choice.
|
| Supported: "file", "cookie", "database", "apc",
| "memcached", "redis", "dynamodb", "array"
|
*/
- 'driver' => env('SESSION_DRIVER', 'file'),
+ 'driver' => env('SESSION_DRIVER', 'database'),
/*
|--------------------------------------------------------------------------
@@ -27,13 +27,14 @@
|
| Here you may specify the number of minutes that you wish the session
| to be allowed to remain idle before it expires. If you want them
- | to immediately expire on the browser closing, set that option.
+ | to expire immediately when the browser is closed then you may
+ | indicate that via the expire_on_close configuration option.
|
*/
'lifetime' => env('SESSION_LIFETIME', 120),
- 'expire_on_close' => false,
+ 'expire_on_close' => env('SESSION_EXPIRE_ON_CLOSE', false),
/*
|--------------------------------------------------------------------------
@@ -41,21 +42,21 @@
|--------------------------------------------------------------------------
|
| This option allows you to easily specify that all of your session data
- | should be encrypted before it is stored. All encryption will be run
- | automatically by Laravel and you can use the Session like normal.
+ | should be encrypted before it's stored. All encryption is performed
+ | automatically by Laravel and you may use the session like normal.
|
*/
- 'encrypt' => false,
+ 'encrypt' => env('SESSION_ENCRYPT', false),
/*
|--------------------------------------------------------------------------
| Session File Location
|--------------------------------------------------------------------------
|
- | When using the native session driver, we need a location where session
- | files may be stored. A default has been set for you but a different
- | location may be specified. This is only needed for file sessions.
+ | When utilizing the "file" session driver, the session files are placed
+ | on disk. The default storage location is defined here; however, you
+ | are free to provide another location where they should be stored.
|
*/
@@ -79,22 +80,22 @@
| Session Database Table
|--------------------------------------------------------------------------
|
- | When using the "database" session driver, you may specify the table we
- | should use to manage the sessions. Of course, a sensible default is
- | provided for you; however, you are free to change this as needed.
+ | When using the "database" session driver, you may specify the table to
+ | be used to store sessions. Of course, a sensible default is defined
+ | for you; however, you're welcome to change this to another table.
|
*/
- 'table' => 'sessions',
+ 'table' => env('SESSION_TABLE', 'sessions'),
/*
|--------------------------------------------------------------------------
| Session Cache Store
|--------------------------------------------------------------------------
|
- | While using one of the framework's cache driven session backends you may
- | list a cache store that should be used for these sessions. This value
- | must match with one of the application's configured cache "stores".
+ | When using one of the framework's cache driven session backends, you may
+ | define the cache store which should be used to store the session data
+ | between requests. This must match one of your defined cache stores.
|
| Affects: "apc", "dynamodb", "memcached", "redis"
|
@@ -120,9 +121,9 @@
| Session Cookie Name
|--------------------------------------------------------------------------
|
- | Here you may change the name of the cookie used to identify a session
- | instance by ID. The name specified here will get used every time a
- | new session cookie is created by the framework for every driver.
+ | Here you may change the name of the session cookie that is created by
+ | the framework. Typically, you should not need to change this value
+ | since doing so does not grant a meaningful security improvement.
|
*/
@@ -138,20 +139,20 @@
|
| The session cookie path determines the path for which the cookie will
| be regarded as available. Typically, this will be the root path of
- | your application but you are free to change this when necessary.
+ | your application, but you're free to change this when necessary.
|
*/
- 'path' => '/',
+ 'path' => env('SESSION_PATH', '/'),
/*
|--------------------------------------------------------------------------
| Session Cookie Domain
|--------------------------------------------------------------------------
|
- | Here you may change the domain of the cookie used to identify a session
- | in your application. This will determine which domains the cookie is
- | available to in your application. A sensible default has been set.
+ | This value determines the domain and subdomains the session cookie is
+ | available to. By default, the cookie will be available to the root
+ | domain and all subdomains. Typically, this shouldn't be changed.
|
*/
@@ -177,11 +178,11 @@
|
| Setting this value to true will prevent JavaScript from accessing the
| value of the cookie and the cookie will only be accessible through
- | the HTTP protocol. You are free to modify this option if needed.
+ | the HTTP protocol. It's unlikely you should disable this option.
|
*/
- 'http_only' => true,
+ 'http_only' => env('SESSION_HTTP_ONLY', true),
/*
|--------------------------------------------------------------------------
@@ -190,12 +191,27 @@
|
| This option determines how your cookies behave when cross-site requests
| take place, and can be used to mitigate CSRF attacks. By default, we
- | will set this value to "lax" since this is a secure default value.
+ | will set this value to "lax" to permit secure cross-site requests.
+ |
+ | See: https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Set-Cookie#samesitesamesite-value
|
| Supported: "lax", "strict", "none", null
|
*/
- 'same_site' => 'lax',
+ 'same_site' => env('SESSION_SAME_SITE', 'lax'),
+
+ /*
+ |--------------------------------------------------------------------------
+ | Partitioned Cookies
+ |--------------------------------------------------------------------------
+ |
+ | Setting this value to true will tie the cookie to the top-level site for
+ | a cross-site context. Partitioned cookies are accepted by the browser
+ | when flagged "secure" and the Same-Site attribute is set to "none".
+ |
+ */
+
+ 'partitioned' => env('SESSION_PARTITIONED_COOKIE', false),
];
diff --git a/config/view.php b/config/view.php
deleted file mode 100644
index 22b8a18..0000000
--- a/config/view.php
+++ /dev/null
@@ -1,36 +0,0 @@
- [
- resource_path('views'),
- ],
-
- /*
- |--------------------------------------------------------------------------
- | Compiled View Path
- |--------------------------------------------------------------------------
- |
- | This option determines where all the compiled Blade templates will be
- | stored for your application. Typically, this is within the storage
- | directory. However, as usual, you are free to change this value.
- |
- */
-
- 'compiled' => env(
- 'VIEW_COMPILED_PATH',
- realpath(storage_path('framework/views'))
- ),
-
-];
diff --git a/database/migrations/0001_01_01_000001_create_cache_table.php b/database/migrations/0001_01_01_000001_create_cache_table.php
new file mode 100644
index 0000000..b9c106b
--- /dev/null
+++ b/database/migrations/0001_01_01_000001_create_cache_table.php
@@ -0,0 +1,35 @@
+string('key')->primary();
+ $table->mediumText('value');
+ $table->integer('expiration');
+ });
+
+ Schema::create('cache_locks', function (Blueprint $table) {
+ $table->string('key')->primary();
+ $table->string('owner');
+ $table->integer('expiration');
+ });
+ }
+
+ /**
+ * Reverse the migrations.
+ */
+ public function down(): void
+ {
+ Schema::dropIfExists('cache');
+ Schema::dropIfExists('cache_locks');
+ }
+};
diff --git a/phpstan.neon b/phpstan.neon
index 6ce003e..2d8f3ce 100644
--- a/phpstan.neon
+++ b/phpstan.neon
@@ -1,5 +1,5 @@
includes:
- - ./vendor/nunomaduro/larastan/extension.neon
+ - ./vendor/larastan/larastan/extension.neon
parameters:
diff --git a/resources/views/auth/confirm-password.blade.php b/resources/views/auth/confirm-password.blade.php
deleted file mode 100644
index 3cbbe08..0000000
--- a/resources/views/auth/confirm-password.blade.php
+++ /dev/null
@@ -1,27 +0,0 @@
-
- {{ __('Once your account is deleted, all of its resources and data will be permanently deleted. Before deleting your account, please download any data or information that you wish to retain.') }} -
-- {{ __('Ensure your account is using a long, random password to stay secure.') }} -
-- {{ __("Update your account's profile information and email address.") }} -
-