diff --git a/.phpstorm.meta.php b/.phpstorm.meta.php index 4437c97d4..cb2a77ce7 100644 --- a/.phpstorm.meta.php +++ b/.phpstorm.meta.php @@ -14,7 +14,6 @@ override(new \Illuminate\Contracts\Container\Container, map([ '' => '@', 'App\Settings\DataMigrationSettings' => \App\Settings\DataMigrationSettings::class, - 'App\Settings\GeneralSettings' => \App\Settings\GeneralSettings::class, 'App\Settings\InfluxDbSettings' => \App\Settings\InfluxDbSettings::class, 'App\Settings\NotificationSettings' => \App\Settings\NotificationSettings::class, 'App\Settings\ThresholdSettings' => \App\Settings\ThresholdSettings::class, @@ -214,9 +213,9 @@ 'composer' => \Illuminate\Support\Composer::class, 'cookie' => \Illuminate\Cookie\CookieJar::class, 'db' => \Illuminate\Database\DatabaseManager::class, - 'db.connection' => \Illuminate\Database\MySqlConnection::class, + 'db.connection' => \Illuminate\Database\SQLiteConnection::class, 'db.factory' => \Illuminate\Database\Connectors\ConnectionFactory::class, - 'db.schema' => \Illuminate\Database\Schema\MySqlBuilder::class, + 'db.schema' => \Illuminate\Database\Schema\SQLiteBuilder::class, 'db.transactions' => \Illuminate\Database\DatabaseTransactionsManager::class, 'encrypter' => \Illuminate\Encryption\Encrypter::class, 'events' => \Illuminate\Events\Dispatcher::class, @@ -257,7 +256,6 @@ override(\Illuminate\Container\Container::makeWith(0), map([ '' => '@', 'App\Settings\DataMigrationSettings' => \App\Settings\DataMigrationSettings::class, - 'App\Settings\GeneralSettings' => \App\Settings\GeneralSettings::class, 'App\Settings\InfluxDbSettings' => \App\Settings\InfluxDbSettings::class, 'App\Settings\NotificationSettings' => \App\Settings\NotificationSettings::class, 'App\Settings\ThresholdSettings' => \App\Settings\ThresholdSettings::class, @@ -457,9 +455,9 @@ 'composer' => \Illuminate\Support\Composer::class, 'cookie' => \Illuminate\Cookie\CookieJar::class, 'db' => \Illuminate\Database\DatabaseManager::class, - 'db.connection' => \Illuminate\Database\MySqlConnection::class, + 'db.connection' => \Illuminate\Database\SQLiteConnection::class, 'db.factory' => \Illuminate\Database\Connectors\ConnectionFactory::class, - 'db.schema' => \Illuminate\Database\Schema\MySqlBuilder::class, + 'db.schema' => \Illuminate\Database\Schema\SQLiteBuilder::class, 'db.transactions' => \Illuminate\Database\DatabaseTransactionsManager::class, 'encrypter' => \Illuminate\Encryption\Encrypter::class, 'events' => \Illuminate\Events\Dispatcher::class, @@ -500,7 +498,6 @@ override(\Illuminate\Contracts\Container\Container::get(0), map([ '' => '@', 'App\Settings\DataMigrationSettings' => \App\Settings\DataMigrationSettings::class, - 'App\Settings\GeneralSettings' => \App\Settings\GeneralSettings::class, 'App\Settings\InfluxDbSettings' => \App\Settings\InfluxDbSettings::class, 'App\Settings\NotificationSettings' => \App\Settings\NotificationSettings::class, 'App\Settings\ThresholdSettings' => \App\Settings\ThresholdSettings::class, @@ -700,9 +697,9 @@ 'composer' => \Illuminate\Support\Composer::class, 'cookie' => \Illuminate\Cookie\CookieJar::class, 'db' => \Illuminate\Database\DatabaseManager::class, - 'db.connection' => \Illuminate\Database\MySqlConnection::class, + 'db.connection' => \Illuminate\Database\SQLiteConnection::class, 'db.factory' => \Illuminate\Database\Connectors\ConnectionFactory::class, - 'db.schema' => \Illuminate\Database\Schema\MySqlBuilder::class, + 'db.schema' => \Illuminate\Database\Schema\SQLiteBuilder::class, 'db.transactions' => \Illuminate\Database\DatabaseTransactionsManager::class, 'encrypter' => \Illuminate\Encryption\Encrypter::class, 'events' => \Illuminate\Events\Dispatcher::class, @@ -743,7 +740,6 @@ override(\Illuminate\Contracts\Container\Container::make(0), map([ '' => '@', 'App\Settings\DataMigrationSettings' => \App\Settings\DataMigrationSettings::class, - 'App\Settings\GeneralSettings' => \App\Settings\GeneralSettings::class, 'App\Settings\InfluxDbSettings' => \App\Settings\InfluxDbSettings::class, 'App\Settings\NotificationSettings' => \App\Settings\NotificationSettings::class, 'App\Settings\ThresholdSettings' => \App\Settings\ThresholdSettings::class, @@ -943,9 +939,9 @@ 'composer' => \Illuminate\Support\Composer::class, 'cookie' => \Illuminate\Cookie\CookieJar::class, 'db' => \Illuminate\Database\DatabaseManager::class, - 'db.connection' => \Illuminate\Database\MySqlConnection::class, + 'db.connection' => \Illuminate\Database\SQLiteConnection::class, 'db.factory' => \Illuminate\Database\Connectors\ConnectionFactory::class, - 'db.schema' => \Illuminate\Database\Schema\MySqlBuilder::class, + 'db.schema' => \Illuminate\Database\Schema\SQLiteBuilder::class, 'db.transactions' => \Illuminate\Database\DatabaseTransactionsManager::class, 'encrypter' => \Illuminate\Encryption\Encrypter::class, 'events' => \Illuminate\Events\Dispatcher::class, @@ -986,7 +982,6 @@ override(\Illuminate\Contracts\Container\Container::makeWith(0), map([ '' => '@', 'App\Settings\DataMigrationSettings' => \App\Settings\DataMigrationSettings::class, - 'App\Settings\GeneralSettings' => \App\Settings\GeneralSettings::class, 'App\Settings\InfluxDbSettings' => \App\Settings\InfluxDbSettings::class, 'App\Settings\NotificationSettings' => \App\Settings\NotificationSettings::class, 'App\Settings\ThresholdSettings' => \App\Settings\ThresholdSettings::class, @@ -1186,9 +1181,9 @@ 'composer' => \Illuminate\Support\Composer::class, 'cookie' => \Illuminate\Cookie\CookieJar::class, 'db' => \Illuminate\Database\DatabaseManager::class, - 'db.connection' => \Illuminate\Database\MySqlConnection::class, + 'db.connection' => \Illuminate\Database\SQLiteConnection::class, 'db.factory' => \Illuminate\Database\Connectors\ConnectionFactory::class, - 'db.schema' => \Illuminate\Database\Schema\MySqlBuilder::class, + 'db.schema' => \Illuminate\Database\Schema\SQLiteBuilder::class, 'db.transactions' => \Illuminate\Database\DatabaseTransactionsManager::class, 'encrypter' => \Illuminate\Encryption\Encrypter::class, 'events' => \Illuminate\Events\Dispatcher::class, @@ -1229,7 +1224,6 @@ override(\App::get(0), map([ '' => '@', 'App\Settings\DataMigrationSettings' => \App\Settings\DataMigrationSettings::class, - 'App\Settings\GeneralSettings' => \App\Settings\GeneralSettings::class, 'App\Settings\InfluxDbSettings' => \App\Settings\InfluxDbSettings::class, 'App\Settings\NotificationSettings' => \App\Settings\NotificationSettings::class, 'App\Settings\ThresholdSettings' => \App\Settings\ThresholdSettings::class, @@ -1429,9 +1423,9 @@ 'composer' => \Illuminate\Support\Composer::class, 'cookie' => \Illuminate\Cookie\CookieJar::class, 'db' => \Illuminate\Database\DatabaseManager::class, - 'db.connection' => \Illuminate\Database\MySqlConnection::class, + 'db.connection' => \Illuminate\Database\SQLiteConnection::class, 'db.factory' => \Illuminate\Database\Connectors\ConnectionFactory::class, - 'db.schema' => \Illuminate\Database\Schema\MySqlBuilder::class, + 'db.schema' => \Illuminate\Database\Schema\SQLiteBuilder::class, 'db.transactions' => \Illuminate\Database\DatabaseTransactionsManager::class, 'encrypter' => \Illuminate\Encryption\Encrypter::class, 'events' => \Illuminate\Events\Dispatcher::class, @@ -1472,7 +1466,6 @@ override(\App::make(0), map([ '' => '@', 'App\Settings\DataMigrationSettings' => \App\Settings\DataMigrationSettings::class, - 'App\Settings\GeneralSettings' => \App\Settings\GeneralSettings::class, 'App\Settings\InfluxDbSettings' => \App\Settings\InfluxDbSettings::class, 'App\Settings\NotificationSettings' => \App\Settings\NotificationSettings::class, 'App\Settings\ThresholdSettings' => \App\Settings\ThresholdSettings::class, @@ -1672,9 +1665,9 @@ 'composer' => \Illuminate\Support\Composer::class, 'cookie' => \Illuminate\Cookie\CookieJar::class, 'db' => \Illuminate\Database\DatabaseManager::class, - 'db.connection' => \Illuminate\Database\MySqlConnection::class, + 'db.connection' => \Illuminate\Database\SQLiteConnection::class, 'db.factory' => \Illuminate\Database\Connectors\ConnectionFactory::class, - 'db.schema' => \Illuminate\Database\Schema\MySqlBuilder::class, + 'db.schema' => \Illuminate\Database\Schema\SQLiteBuilder::class, 'db.transactions' => \Illuminate\Database\DatabaseTransactionsManager::class, 'encrypter' => \Illuminate\Encryption\Encrypter::class, 'events' => \Illuminate\Events\Dispatcher::class, @@ -1715,7 +1708,6 @@ override(\App::makeWith(0), map([ '' => '@', 'App\Settings\DataMigrationSettings' => \App\Settings\DataMigrationSettings::class, - 'App\Settings\GeneralSettings' => \App\Settings\GeneralSettings::class, 'App\Settings\InfluxDbSettings' => \App\Settings\InfluxDbSettings::class, 'App\Settings\NotificationSettings' => \App\Settings\NotificationSettings::class, 'App\Settings\ThresholdSettings' => \App\Settings\ThresholdSettings::class, @@ -1915,9 +1907,9 @@ 'composer' => \Illuminate\Support\Composer::class, 'cookie' => \Illuminate\Cookie\CookieJar::class, 'db' => \Illuminate\Database\DatabaseManager::class, - 'db.connection' => \Illuminate\Database\MySqlConnection::class, + 'db.connection' => \Illuminate\Database\SQLiteConnection::class, 'db.factory' => \Illuminate\Database\Connectors\ConnectionFactory::class, - 'db.schema' => \Illuminate\Database\Schema\MySqlBuilder::class, + 'db.schema' => \Illuminate\Database\Schema\SQLiteBuilder::class, 'db.transactions' => \Illuminate\Database\DatabaseTransactionsManager::class, 'encrypter' => \Illuminate\Encryption\Encrypter::class, 'events' => \Illuminate\Events\Dispatcher::class, @@ -1958,7 +1950,6 @@ override(\app(0), map([ '' => '@', 'App\Settings\DataMigrationSettings' => \App\Settings\DataMigrationSettings::class, - 'App\Settings\GeneralSettings' => \App\Settings\GeneralSettings::class, 'App\Settings\InfluxDbSettings' => \App\Settings\InfluxDbSettings::class, 'App\Settings\NotificationSettings' => \App\Settings\NotificationSettings::class, 'App\Settings\ThresholdSettings' => \App\Settings\ThresholdSettings::class, @@ -2158,9 +2149,9 @@ 'composer' => \Illuminate\Support\Composer::class, 'cookie' => \Illuminate\Cookie\CookieJar::class, 'db' => \Illuminate\Database\DatabaseManager::class, - 'db.connection' => \Illuminate\Database\MySqlConnection::class, + 'db.connection' => \Illuminate\Database\SQLiteConnection::class, 'db.factory' => \Illuminate\Database\Connectors\ConnectionFactory::class, - 'db.schema' => \Illuminate\Database\Schema\MySqlBuilder::class, + 'db.schema' => \Illuminate\Database\Schema\SQLiteBuilder::class, 'db.transactions' => \Illuminate\Database\DatabaseTransactionsManager::class, 'encrypter' => \Illuminate\Encryption\Encrypter::class, 'events' => \Illuminate\Events\Dispatcher::class, @@ -2201,7 +2192,6 @@ override(\resolve(0), map([ '' => '@', 'App\Settings\DataMigrationSettings' => \App\Settings\DataMigrationSettings::class, - 'App\Settings\GeneralSettings' => \App\Settings\GeneralSettings::class, 'App\Settings\InfluxDbSettings' => \App\Settings\InfluxDbSettings::class, 'App\Settings\NotificationSettings' => \App\Settings\NotificationSettings::class, 'App\Settings\ThresholdSettings' => \App\Settings\ThresholdSettings::class, @@ -2401,9 +2391,9 @@ 'composer' => \Illuminate\Support\Composer::class, 'cookie' => \Illuminate\Cookie\CookieJar::class, 'db' => \Illuminate\Database\DatabaseManager::class, - 'db.connection' => \Illuminate\Database\MySqlConnection::class, + 'db.connection' => \Illuminate\Database\SQLiteConnection::class, 'db.factory' => \Illuminate\Database\Connectors\ConnectionFactory::class, - 'db.schema' => \Illuminate\Database\Schema\MySqlBuilder::class, + 'db.schema' => \Illuminate\Database\Schema\SQLiteBuilder::class, 'db.transactions' => \Illuminate\Database\DatabaseTransactionsManager::class, 'encrypter' => \Illuminate\Encryption\Encrypter::class, 'events' => \Illuminate\Events\Dispatcher::class, @@ -2444,7 +2434,6 @@ override(\Psr\Container\ContainerInterface::get(0), map([ '' => '@', 'App\Settings\DataMigrationSettings' => \App\Settings\DataMigrationSettings::class, - 'App\Settings\GeneralSettings' => \App\Settings\GeneralSettings::class, 'App\Settings\InfluxDbSettings' => \App\Settings\InfluxDbSettings::class, 'App\Settings\NotificationSettings' => \App\Settings\NotificationSettings::class, 'App\Settings\ThresholdSettings' => \App\Settings\ThresholdSettings::class, @@ -2644,9 +2633,9 @@ 'composer' => \Illuminate\Support\Composer::class, 'cookie' => \Illuminate\Cookie\CookieJar::class, 'db' => \Illuminate\Database\DatabaseManager::class, - 'db.connection' => \Illuminate\Database\MySqlConnection::class, + 'db.connection' => \Illuminate\Database\SQLiteConnection::class, 'db.factory' => \Illuminate\Database\Connectors\ConnectionFactory::class, - 'db.schema' => \Illuminate\Database\Schema\MySqlBuilder::class, + 'db.schema' => \Illuminate\Database\Schema\SQLiteBuilder::class, 'db.transactions' => \Illuminate\Database\DatabaseTransactionsManager::class, 'encrypter' => \Illuminate\Encryption\Encrypter::class, 'events' => \Illuminate\Events\Dispatcher::class, diff --git a/_ide_helper.php b/_ide_helper.php index 383233756..613acc3b7 100644 --- a/_ide_helper.php +++ b/_ide_helper.php @@ -4175,7 +4175,7 @@ /** * Get the underlying database connection. * - * @return \Illuminate\Database\MySqlConnection + * @return \Illuminate\Database\SQLiteConnection * @static */ public static function getConnection() { @@ -5287,7 +5287,7 @@ * @param string $name * @param array $config * @param bool $force - * @return \Illuminate\Database\MySqlConnection + * @return \Illuminate\Database\SQLiteConnection * @static */ public static function connectUsing($name, $config, $force = false) { @@ -5490,35 +5490,15 @@ { /** @var \Illuminate\Database\DatabaseManager $instance */ return $instance->macroCall($method, $parameters); - } - /** - * Determine if the connected database is a MariaDB database. - * - * @return bool - * @static - */ public static function isMaria() - { - /** @var \Illuminate\Database\MySqlConnection $instance */ - return $instance->isMaria(); - } - /** - * Get the server version for the connection. - * - * @return string - * @static - */ public static function getServerVersion() - { - /** @var \Illuminate\Database\MySqlConnection $instance */ - return $instance->getServerVersion(); } /** * Get a schema builder instance for the connection. * - * @return \Illuminate\Database\Schema\MySqlBuilder + * @return \Illuminate\Database\Schema\SQLiteBuilder * @static */ public static function getSchemaBuilder() { - /** @var \Illuminate\Database\MySqlConnection $instance */ + /** @var \Illuminate\Database\SQLiteConnection $instance */ return $instance->getSchemaBuilder(); } /** @@ -5526,11 +5506,11 @@ * * @param \Illuminate\Filesystem\Filesystem|null $files * @param callable|null $processFactory - * @return \Illuminate\Database\Schema\MySqlSchemaState + * @throws \RuntimeException * @static */ public static function getSchemaState($files = null, $processFactory = null) { - /** @var \Illuminate\Database\MySqlConnection $instance */ + /** @var \Illuminate\Database\SQLiteConnection $instance */ return $instance->getSchemaState($files, $processFactory); } /** @@ -5540,7 +5520,7 @@ * @static */ public static function useDefaultQueryGrammar() { //Method inherited from \Illuminate\Database\Connection - /** @var \Illuminate\Database\MySqlConnection $instance */ + /** @var \Illuminate\Database\SQLiteConnection $instance */ $instance->useDefaultQueryGrammar(); } /** @@ -5550,7 +5530,7 @@ * @static */ public static function useDefaultSchemaGrammar() { //Method inherited from \Illuminate\Database\Connection - /** @var \Illuminate\Database\MySqlConnection $instance */ + /** @var \Illuminate\Database\SQLiteConnection $instance */ $instance->useDefaultSchemaGrammar(); } /** @@ -5560,7 +5540,7 @@ * @static */ public static function useDefaultPostProcessor() { //Method inherited from \Illuminate\Database\Connection - /** @var \Illuminate\Database\MySqlConnection $instance */ + /** @var \Illuminate\Database\SQLiteConnection $instance */ $instance->useDefaultPostProcessor(); } /** @@ -5572,7 +5552,7 @@ * @static */ public static function table($table, $as = null) { //Method inherited from \Illuminate\Database\Connection - /** @var \Illuminate\Database\MySqlConnection $instance */ + /** @var \Illuminate\Database\SQLiteConnection $instance */ return $instance->table($table, $as); } /** @@ -5582,7 +5562,7 @@ * @static */ public static function query() { //Method inherited from \Illuminate\Database\Connection - /** @var \Illuminate\Database\MySqlConnection $instance */ + /** @var \Illuminate\Database\SQLiteConnection $instance */ return $instance->query(); } /** @@ -5595,7 +5575,7 @@ * @static */ public static function selectOne($query, $bindings = [], $useReadPdo = true) { //Method inherited from \Illuminate\Database\Connection - /** @var \Illuminate\Database\MySqlConnection $instance */ + /** @var \Illuminate\Database\SQLiteConnection $instance */ return $instance->selectOne($query, $bindings, $useReadPdo); } /** @@ -5609,7 +5589,7 @@ * @static */ public static function scalar($query, $bindings = [], $useReadPdo = true) { //Method inherited from \Illuminate\Database\Connection - /** @var \Illuminate\Database\MySqlConnection $instance */ + /** @var \Illuminate\Database\SQLiteConnection $instance */ return $instance->scalar($query, $bindings, $useReadPdo); } /** @@ -5621,7 +5601,7 @@ * @static */ public static function selectFromWriteConnection($query, $bindings = []) { //Method inherited from \Illuminate\Database\Connection - /** @var \Illuminate\Database\MySqlConnection $instance */ + /** @var \Illuminate\Database\SQLiteConnection $instance */ return $instance->selectFromWriteConnection($query, $bindings); } /** @@ -5634,7 +5614,7 @@ * @static */ public static function select($query, $bindings = [], $useReadPdo = true) { //Method inherited from \Illuminate\Database\Connection - /** @var \Illuminate\Database\MySqlConnection $instance */ + /** @var \Illuminate\Database\SQLiteConnection $instance */ return $instance->select($query, $bindings, $useReadPdo); } /** @@ -5647,7 +5627,7 @@ * @static */ public static function selectResultSets($query, $bindings = [], $useReadPdo = true) { //Method inherited from \Illuminate\Database\Connection - /** @var \Illuminate\Database\MySqlConnection $instance */ + /** @var \Illuminate\Database\SQLiteConnection $instance */ return $instance->selectResultSets($query, $bindings, $useReadPdo); } /** @@ -5660,7 +5640,7 @@ * @static */ public static function cursor($query, $bindings = [], $useReadPdo = true) { //Method inherited from \Illuminate\Database\Connection - /** @var \Illuminate\Database\MySqlConnection $instance */ + /** @var \Illuminate\Database\SQLiteConnection $instance */ return $instance->cursor($query, $bindings, $useReadPdo); } /** @@ -5672,7 +5652,7 @@ * @static */ public static function insert($query, $bindings = []) { //Method inherited from \Illuminate\Database\Connection - /** @var \Illuminate\Database\MySqlConnection $instance */ + /** @var \Illuminate\Database\SQLiteConnection $instance */ return $instance->insert($query, $bindings); } /** @@ -5684,7 +5664,7 @@ * @static */ public static function update($query, $bindings = []) { //Method inherited from \Illuminate\Database\Connection - /** @var \Illuminate\Database\MySqlConnection $instance */ + /** @var \Illuminate\Database\SQLiteConnection $instance */ return $instance->update($query, $bindings); } /** @@ -5696,7 +5676,7 @@ * @static */ public static function delete($query, $bindings = []) { //Method inherited from \Illuminate\Database\Connection - /** @var \Illuminate\Database\MySqlConnection $instance */ + /** @var \Illuminate\Database\SQLiteConnection $instance */ return $instance->delete($query, $bindings); } /** @@ -5708,7 +5688,7 @@ * @static */ public static function statement($query, $bindings = []) { //Method inherited from \Illuminate\Database\Connection - /** @var \Illuminate\Database\MySqlConnection $instance */ + /** @var \Illuminate\Database\SQLiteConnection $instance */ return $instance->statement($query, $bindings); } /** @@ -5720,7 +5700,7 @@ * @static */ public static function affectingStatement($query, $bindings = []) { //Method inherited from \Illuminate\Database\Connection - /** @var \Illuminate\Database\MySqlConnection $instance */ + /** @var \Illuminate\Database\SQLiteConnection $instance */ return $instance->affectingStatement($query, $bindings); } /** @@ -5731,7 +5711,7 @@ * @static */ public static function unprepared($query) { //Method inherited from \Illuminate\Database\Connection - /** @var \Illuminate\Database\MySqlConnection $instance */ + /** @var \Illuminate\Database\SQLiteConnection $instance */ return $instance->unprepared($query); } /** @@ -5742,7 +5722,7 @@ * @static */ public static function pretend($callback) { //Method inherited from \Illuminate\Database\Connection - /** @var \Illuminate\Database\MySqlConnection $instance */ + /** @var \Illuminate\Database\SQLiteConnection $instance */ return $instance->pretend($callback); } /** @@ -5753,7 +5733,7 @@ * @static */ public static function withoutPretending($callback) { //Method inherited from \Illuminate\Database\Connection - /** @var \Illuminate\Database\MySqlConnection $instance */ + /** @var \Illuminate\Database\SQLiteConnection $instance */ return $instance->withoutPretending($callback); } /** @@ -5765,7 +5745,7 @@ * @static */ public static function bindValues($statement, $bindings) { //Method inherited from \Illuminate\Database\Connection - /** @var \Illuminate\Database\MySqlConnection $instance */ + /** @var \Illuminate\Database\SQLiteConnection $instance */ $instance->bindValues($statement, $bindings); } /** @@ -5776,7 +5756,7 @@ * @static */ public static function prepareBindings($bindings) { //Method inherited from \Illuminate\Database\Connection - /** @var \Illuminate\Database\MySqlConnection $instance */ + /** @var \Illuminate\Database\SQLiteConnection $instance */ return $instance->prepareBindings($bindings); } /** @@ -5789,7 +5769,7 @@ * @static */ public static function logQuery($query, $bindings, $time = null) { //Method inherited from \Illuminate\Database\Connection - /** @var \Illuminate\Database\MySqlConnection $instance */ + /** @var \Illuminate\Database\SQLiteConnection $instance */ $instance->logQuery($query, $bindings, $time); } /** @@ -5801,7 +5781,7 @@ * @static */ public static function whenQueryingForLongerThan($threshold, $handler) { //Method inherited from \Illuminate\Database\Connection - /** @var \Illuminate\Database\MySqlConnection $instance */ + /** @var \Illuminate\Database\SQLiteConnection $instance */ $instance->whenQueryingForLongerThan($threshold, $handler); } /** @@ -5811,7 +5791,7 @@ * @static */ public static function allowQueryDurationHandlersToRunAgain() { //Method inherited from \Illuminate\Database\Connection - /** @var \Illuminate\Database\MySqlConnection $instance */ + /** @var \Illuminate\Database\SQLiteConnection $instance */ $instance->allowQueryDurationHandlersToRunAgain(); } /** @@ -5821,7 +5801,7 @@ * @static */ public static function totalQueryDuration() { //Method inherited from \Illuminate\Database\Connection - /** @var \Illuminate\Database\MySqlConnection $instance */ + /** @var \Illuminate\Database\SQLiteConnection $instance */ return $instance->totalQueryDuration(); } /** @@ -5831,7 +5811,7 @@ * @static */ public static function resetTotalQueryDuration() { //Method inherited from \Illuminate\Database\Connection - /** @var \Illuminate\Database\MySqlConnection $instance */ + /** @var \Illuminate\Database\SQLiteConnection $instance */ $instance->resetTotalQueryDuration(); } /** @@ -5841,29 +5821,29 @@ * @static */ public static function reconnectIfMissingConnection() { //Method inherited from \Illuminate\Database\Connection - /** @var \Illuminate\Database\MySqlConnection $instance */ + /** @var \Illuminate\Database\SQLiteConnection $instance */ $instance->reconnectIfMissingConnection(); } /** * Register a hook to be run just before a database transaction is started. * * @param \Closure $callback - * @return \Illuminate\Database\MySqlConnection + * @return \Illuminate\Database\SQLiteConnection * @static */ public static function beforeStartingTransaction($callback) { //Method inherited from \Illuminate\Database\Connection - /** @var \Illuminate\Database\MySqlConnection $instance */ + /** @var \Illuminate\Database\SQLiteConnection $instance */ return $instance->beforeStartingTransaction($callback); } /** * Register a hook to be run just before a database query is executed. * * @param \Closure $callback - * @return \Illuminate\Database\MySqlConnection + * @return \Illuminate\Database\SQLiteConnection * @static */ public static function beforeExecuting($callback) { //Method inherited from \Illuminate\Database\Connection - /** @var \Illuminate\Database\MySqlConnection $instance */ + /** @var \Illuminate\Database\SQLiteConnection $instance */ return $instance->beforeExecuting($callback); } /** @@ -5874,7 +5854,7 @@ * @static */ public static function listen($callback) { //Method inherited from \Illuminate\Database\Connection - /** @var \Illuminate\Database\MySqlConnection $instance */ + /** @var \Illuminate\Database\SQLiteConnection $instance */ $instance->listen($callback); } /** @@ -5885,7 +5865,7 @@ * @static */ public static function raw($value) { //Method inherited from \Illuminate\Database\Connection - /** @var \Illuminate\Database\MySqlConnection $instance */ + /** @var \Illuminate\Database\SQLiteConnection $instance */ return $instance->raw($value); } /** @@ -5897,7 +5877,7 @@ * @static */ public static function escape($value, $binary = false) { //Method inherited from \Illuminate\Database\Connection - /** @var \Illuminate\Database\MySqlConnection $instance */ + /** @var \Illuminate\Database\SQLiteConnection $instance */ return $instance->escape($value, $binary); } /** @@ -5907,7 +5887,7 @@ * @static */ public static function hasModifiedRecords() { //Method inherited from \Illuminate\Database\Connection - /** @var \Illuminate\Database\MySqlConnection $instance */ + /** @var \Illuminate\Database\SQLiteConnection $instance */ return $instance->hasModifiedRecords(); } /** @@ -5918,18 +5898,18 @@ * @static */ public static function recordsHaveBeenModified($value = true) { //Method inherited from \Illuminate\Database\Connection - /** @var \Illuminate\Database\MySqlConnection $instance */ + /** @var \Illuminate\Database\SQLiteConnection $instance */ $instance->recordsHaveBeenModified($value); } /** * Set the record modification state. * * @param bool $value - * @return \Illuminate\Database\MySqlConnection + * @return \Illuminate\Database\SQLiteConnection * @static */ public static function setRecordModificationState($value) { //Method inherited from \Illuminate\Database\Connection - /** @var \Illuminate\Database\MySqlConnection $instance */ + /** @var \Illuminate\Database\SQLiteConnection $instance */ return $instance->setRecordModificationState($value); } /** @@ -5939,18 +5919,18 @@ * @static */ public static function forgetRecordModificationState() { //Method inherited from \Illuminate\Database\Connection - /** @var \Illuminate\Database\MySqlConnection $instance */ + /** @var \Illuminate\Database\SQLiteConnection $instance */ $instance->forgetRecordModificationState(); } /** * Indicate that the connection should use the write PDO connection for reads. * * @param bool $value - * @return \Illuminate\Database\MySqlConnection + * @return \Illuminate\Database\SQLiteConnection * @static */ public static function useWriteConnectionWhenReading($value = true) { //Method inherited from \Illuminate\Database\Connection - /** @var \Illuminate\Database\MySqlConnection $instance */ + /** @var \Illuminate\Database\SQLiteConnection $instance */ return $instance->useWriteConnectionWhenReading($value); } /** @@ -5960,7 +5940,7 @@ * @static */ public static function getPdo() { //Method inherited from \Illuminate\Database\Connection - /** @var \Illuminate\Database\MySqlConnection $instance */ + /** @var \Illuminate\Database\SQLiteConnection $instance */ return $instance->getPdo(); } /** @@ -5970,7 +5950,7 @@ * @static */ public static function getRawPdo() { //Method inherited from \Illuminate\Database\Connection - /** @var \Illuminate\Database\MySqlConnection $instance */ + /** @var \Illuminate\Database\SQLiteConnection $instance */ return $instance->getRawPdo(); } /** @@ -5980,7 +5960,7 @@ * @static */ public static function getReadPdo() { //Method inherited from \Illuminate\Database\Connection - /** @var \Illuminate\Database\MySqlConnection $instance */ + /** @var \Illuminate\Database\SQLiteConnection $instance */ return $instance->getReadPdo(); } /** @@ -5990,29 +5970,29 @@ * @static */ public static function getRawReadPdo() { //Method inherited from \Illuminate\Database\Connection - /** @var \Illuminate\Database\MySqlConnection $instance */ + /** @var \Illuminate\Database\SQLiteConnection $instance */ return $instance->getRawReadPdo(); } /** * Set the PDO connection. * * @param \PDO|\Closure|null $pdo - * @return \Illuminate\Database\MySqlConnection + * @return \Illuminate\Database\SQLiteConnection * @static */ public static function setPdo($pdo) { //Method inherited from \Illuminate\Database\Connection - /** @var \Illuminate\Database\MySqlConnection $instance */ + /** @var \Illuminate\Database\SQLiteConnection $instance */ return $instance->setPdo($pdo); } /** * Set the PDO connection used for reading. * * @param \PDO|\Closure|null $pdo - * @return \Illuminate\Database\MySqlConnection + * @return \Illuminate\Database\SQLiteConnection * @static */ public static function setReadPdo($pdo) { //Method inherited from \Illuminate\Database\Connection - /** @var \Illuminate\Database\MySqlConnection $instance */ + /** @var \Illuminate\Database\SQLiteConnection $instance */ return $instance->setReadPdo($pdo); } /** @@ -6022,7 +6002,7 @@ * @static */ public static function getName() { //Method inherited from \Illuminate\Database\Connection - /** @var \Illuminate\Database\MySqlConnection $instance */ + /** @var \Illuminate\Database\SQLiteConnection $instance */ return $instance->getName(); } /** @@ -6032,7 +6012,7 @@ * @static */ public static function getNameWithReadWriteType() { //Method inherited from \Illuminate\Database\Connection - /** @var \Illuminate\Database\MySqlConnection $instance */ + /** @var \Illuminate\Database\SQLiteConnection $instance */ return $instance->getNameWithReadWriteType(); } /** @@ -6043,7 +6023,7 @@ * @static */ public static function getConfig($option = null) { //Method inherited from \Illuminate\Database\Connection - /** @var \Illuminate\Database\MySqlConnection $instance */ + /** @var \Illuminate\Database\SQLiteConnection $instance */ return $instance->getConfig($option); } /** @@ -6053,7 +6033,7 @@ * @static */ public static function getDriverName() { //Method inherited from \Illuminate\Database\Connection - /** @var \Illuminate\Database\MySqlConnection $instance */ + /** @var \Illuminate\Database\SQLiteConnection $instance */ return $instance->getDriverName(); } /** @@ -6063,18 +6043,18 @@ * @static */ public static function getQueryGrammar() { //Method inherited from \Illuminate\Database\Connection - /** @var \Illuminate\Database\MySqlConnection $instance */ + /** @var \Illuminate\Database\SQLiteConnection $instance */ return $instance->getQueryGrammar(); } /** * Set the query grammar used by the connection. * * @param \Illuminate\Database\Query\Grammars\Grammar $grammar - * @return \Illuminate\Database\MySqlConnection + * @return \Illuminate\Database\SQLiteConnection * @static */ public static function setQueryGrammar($grammar) { //Method inherited from \Illuminate\Database\Connection - /** @var \Illuminate\Database\MySqlConnection $instance */ + /** @var \Illuminate\Database\SQLiteConnection $instance */ return $instance->setQueryGrammar($grammar); } /** @@ -6084,18 +6064,18 @@ * @static */ public static function getSchemaGrammar() { //Method inherited from \Illuminate\Database\Connection - /** @var \Illuminate\Database\MySqlConnection $instance */ + /** @var \Illuminate\Database\SQLiteConnection $instance */ return $instance->getSchemaGrammar(); } /** * Set the schema grammar used by the connection. * * @param \Illuminate\Database\Schema\Grammars\Grammar $grammar - * @return \Illuminate\Database\MySqlConnection + * @return \Illuminate\Database\SQLiteConnection * @static */ public static function setSchemaGrammar($grammar) { //Method inherited from \Illuminate\Database\Connection - /** @var \Illuminate\Database\MySqlConnection $instance */ + /** @var \Illuminate\Database\SQLiteConnection $instance */ return $instance->setSchemaGrammar($grammar); } /** @@ -6105,18 +6085,18 @@ * @static */ public static function getPostProcessor() { //Method inherited from \Illuminate\Database\Connection - /** @var \Illuminate\Database\MySqlConnection $instance */ + /** @var \Illuminate\Database\SQLiteConnection $instance */ return $instance->getPostProcessor(); } /** * Set the query post processor used by the connection. * * @param \Illuminate\Database\Query\Processors\Processor $processor - * @return \Illuminate\Database\MySqlConnection + * @return \Illuminate\Database\SQLiteConnection * @static */ public static function setPostProcessor($processor) { //Method inherited from \Illuminate\Database\Connection - /** @var \Illuminate\Database\MySqlConnection $instance */ + /** @var \Illuminate\Database\SQLiteConnection $instance */ return $instance->setPostProcessor($processor); } /** @@ -6126,18 +6106,18 @@ * @static */ public static function getEventDispatcher() { //Method inherited from \Illuminate\Database\Connection - /** @var \Illuminate\Database\MySqlConnection $instance */ + /** @var \Illuminate\Database\SQLiteConnection $instance */ return $instance->getEventDispatcher(); } /** * Set the event dispatcher instance on the connection. * * @param \Illuminate\Contracts\Events\Dispatcher $events - * @return \Illuminate\Database\MySqlConnection + * @return \Illuminate\Database\SQLiteConnection * @static */ public static function setEventDispatcher($events) { //Method inherited from \Illuminate\Database\Connection - /** @var \Illuminate\Database\MySqlConnection $instance */ + /** @var \Illuminate\Database\SQLiteConnection $instance */ return $instance->setEventDispatcher($events); } /** @@ -6147,18 +6127,18 @@ * @static */ public static function unsetEventDispatcher() { //Method inherited from \Illuminate\Database\Connection - /** @var \Illuminate\Database\MySqlConnection $instance */ + /** @var \Illuminate\Database\SQLiteConnection $instance */ $instance->unsetEventDispatcher(); } /** * Set the transaction manager instance on the connection. * * @param \Illuminate\Database\DatabaseTransactionsManager $manager - * @return \Illuminate\Database\MySqlConnection + * @return \Illuminate\Database\SQLiteConnection * @static */ public static function setTransactionManager($manager) { //Method inherited from \Illuminate\Database\Connection - /** @var \Illuminate\Database\MySqlConnection $instance */ + /** @var \Illuminate\Database\SQLiteConnection $instance */ return $instance->setTransactionManager($manager); } /** @@ -6168,7 +6148,7 @@ * @static */ public static function unsetTransactionManager() { //Method inherited from \Illuminate\Database\Connection - /** @var \Illuminate\Database\MySqlConnection $instance */ + /** @var \Illuminate\Database\SQLiteConnection $instance */ $instance->unsetTransactionManager(); } /** @@ -6178,7 +6158,7 @@ * @static */ public static function pretending() { //Method inherited from \Illuminate\Database\Connection - /** @var \Illuminate\Database\MySqlConnection $instance */ + /** @var \Illuminate\Database\SQLiteConnection $instance */ return $instance->pretending(); } /** @@ -6188,7 +6168,7 @@ * @static */ public static function getQueryLog() { //Method inherited from \Illuminate\Database\Connection - /** @var \Illuminate\Database\MySqlConnection $instance */ + /** @var \Illuminate\Database\SQLiteConnection $instance */ return $instance->getQueryLog(); } /** @@ -6198,7 +6178,7 @@ * @static */ public static function getRawQueryLog() { //Method inherited from \Illuminate\Database\Connection - /** @var \Illuminate\Database\MySqlConnection $instance */ + /** @var \Illuminate\Database\SQLiteConnection $instance */ return $instance->getRawQueryLog(); } /** @@ -6208,7 +6188,7 @@ * @static */ public static function flushQueryLog() { //Method inherited from \Illuminate\Database\Connection - /** @var \Illuminate\Database\MySqlConnection $instance */ + /** @var \Illuminate\Database\SQLiteConnection $instance */ $instance->flushQueryLog(); } /** @@ -6218,7 +6198,7 @@ * @static */ public static function enableQueryLog() { //Method inherited from \Illuminate\Database\Connection - /** @var \Illuminate\Database\MySqlConnection $instance */ + /** @var \Illuminate\Database\SQLiteConnection $instance */ $instance->enableQueryLog(); } /** @@ -6228,7 +6208,7 @@ * @static */ public static function disableQueryLog() { //Method inherited from \Illuminate\Database\Connection - /** @var \Illuminate\Database\MySqlConnection $instance */ + /** @var \Illuminate\Database\SQLiteConnection $instance */ $instance->disableQueryLog(); } /** @@ -6238,7 +6218,7 @@ * @static */ public static function logging() { //Method inherited from \Illuminate\Database\Connection - /** @var \Illuminate\Database\MySqlConnection $instance */ + /** @var \Illuminate\Database\SQLiteConnection $instance */ return $instance->logging(); } /** @@ -6248,29 +6228,29 @@ * @static */ public static function getDatabaseName() { //Method inherited from \Illuminate\Database\Connection - /** @var \Illuminate\Database\MySqlConnection $instance */ + /** @var \Illuminate\Database\SQLiteConnection $instance */ return $instance->getDatabaseName(); } /** * Set the name of the connected database. * * @param string $database - * @return \Illuminate\Database\MySqlConnection + * @return \Illuminate\Database\SQLiteConnection * @static */ public static function setDatabaseName($database) { //Method inherited from \Illuminate\Database\Connection - /** @var \Illuminate\Database\MySqlConnection $instance */ + /** @var \Illuminate\Database\SQLiteConnection $instance */ return $instance->setDatabaseName($database); } /** * Set the read / write type of the connection. * * @param string|null $readWriteType - * @return \Illuminate\Database\MySqlConnection + * @return \Illuminate\Database\SQLiteConnection * @static */ public static function setReadWriteType($readWriteType) { //Method inherited from \Illuminate\Database\Connection - /** @var \Illuminate\Database\MySqlConnection $instance */ + /** @var \Illuminate\Database\SQLiteConnection $instance */ return $instance->setReadWriteType($readWriteType); } /** @@ -6280,18 +6260,18 @@ * @static */ public static function getTablePrefix() { //Method inherited from \Illuminate\Database\Connection - /** @var \Illuminate\Database\MySqlConnection $instance */ + /** @var \Illuminate\Database\SQLiteConnection $instance */ return $instance->getTablePrefix(); } /** * Set the table prefix in use by the connection. * * @param string $prefix - * @return \Illuminate\Database\MySqlConnection + * @return \Illuminate\Database\SQLiteConnection * @static */ public static function setTablePrefix($prefix) { //Method inherited from \Illuminate\Database\Connection - /** @var \Illuminate\Database\MySqlConnection $instance */ + /** @var \Illuminate\Database\SQLiteConnection $instance */ return $instance->setTablePrefix($prefix); } /** @@ -6302,8 +6282,18 @@ * @static */ public static function withTablePrefix($grammar) { //Method inherited from \Illuminate\Database\Connection - /** @var \Illuminate\Database\MySqlConnection $instance */ + /** @var \Illuminate\Database\SQLiteConnection $instance */ return $instance->withTablePrefix($grammar); + } + /** + * Get the server version for the connection. + * + * @return string + * @static + */ public static function getServerVersion() + { //Method inherited from \Illuminate\Database\Connection + /** @var \Illuminate\Database\SQLiteConnection $instance */ + return $instance->getServerVersion(); } /** * Register a connection resolver. @@ -6314,7 +6304,7 @@ * @static */ public static function resolverFor($driver, $callback) { //Method inherited from \Illuminate\Database\Connection - \Illuminate\Database\MySqlConnection::resolverFor($driver, $callback); + \Illuminate\Database\SQLiteConnection::resolverFor($driver, $callback); } /** * Get the connection resolver for the given driver. @@ -6324,7 +6314,7 @@ * @static */ public static function getResolver($driver) { //Method inherited from \Illuminate\Database\Connection - return \Illuminate\Database\MySqlConnection::getResolver($driver); + return \Illuminate\Database\SQLiteConnection::getResolver($driver); } /** * Execute a Closure within a transaction. @@ -6336,7 +6326,7 @@ * @static */ public static function transaction($callback, $attempts = 1) { //Method inherited from \Illuminate\Database\Connection - /** @var \Illuminate\Database\MySqlConnection $instance */ + /** @var \Illuminate\Database\SQLiteConnection $instance */ return $instance->transaction($callback, $attempts); } /** @@ -6347,7 +6337,7 @@ * @static */ public static function beginTransaction() { //Method inherited from \Illuminate\Database\Connection - /** @var \Illuminate\Database\MySqlConnection $instance */ + /** @var \Illuminate\Database\SQLiteConnection $instance */ $instance->beginTransaction(); } /** @@ -6358,7 +6348,7 @@ * @static */ public static function commit() { //Method inherited from \Illuminate\Database\Connection - /** @var \Illuminate\Database\MySqlConnection $instance */ + /** @var \Illuminate\Database\SQLiteConnection $instance */ $instance->commit(); } /** @@ -6370,7 +6360,7 @@ * @static */ public static function rollBack($toLevel = null) { //Method inherited from \Illuminate\Database\Connection - /** @var \Illuminate\Database\MySqlConnection $instance */ + /** @var \Illuminate\Database\SQLiteConnection $instance */ $instance->rollBack($toLevel); } /** @@ -6380,7 +6370,7 @@ * @static */ public static function transactionLevel() { //Method inherited from \Illuminate\Database\Connection - /** @var \Illuminate\Database\MySqlConnection $instance */ + /** @var \Illuminate\Database\SQLiteConnection $instance */ return $instance->transactionLevel(); } /** @@ -6392,7 +6382,7 @@ * @static */ public static function afterCommit($callback) { //Method inherited from \Illuminate\Database\Connection - /** @var \Illuminate\Database\MySqlConnection $instance */ + /** @var \Illuminate\Database\SQLiteConnection $instance */ $instance->afterCommit($callback); } } @@ -14294,7 +14284,7 @@ * @static */ public static function createDatabase($name) { - /** @var \Illuminate\Database\Schema\MySqlBuilder $instance */ + /** @var \Illuminate\Database\Schema\SQLiteBuilder $instance */ return $instance->createDatabase($name); } /** @@ -14305,28 +14295,19 @@ * @static */ public static function dropDatabaseIfExists($name) { - /** @var \Illuminate\Database\Schema\MySqlBuilder $instance */ + /** @var \Illuminate\Database\Schema\SQLiteBuilder $instance */ return $instance->dropDatabaseIfExists($name); } /** * Get the tables for the database. * + * @param bool $withSize * @return array * @static - */ public static function getTables() + */ public static function getTables($withSize = true) { - /** @var \Illuminate\Database\Schema\MySqlBuilder $instance */ - return $instance->getTables(); - } - /** - * Get the views for the database. - * - * @return array - * @static - */ public static function getViews() - { - /** @var \Illuminate\Database\Schema\MySqlBuilder $instance */ - return $instance->getViews(); + /** @var \Illuminate\Database\Schema\SQLiteBuilder $instance */ + return $instance->getTables($withSize); } /** * Get the columns for a given table. @@ -14336,30 +14317,8 @@ * @static */ public static function getColumns($table) { - /** @var \Illuminate\Database\Schema\MySqlBuilder $instance */ + /** @var \Illuminate\Database\Schema\SQLiteBuilder $instance */ return $instance->getColumns($table); - } - /** - * Get the indexes for a given table. - * - * @param string $table - * @return array - * @static - */ public static function getIndexes($table) - { - /** @var \Illuminate\Database\Schema\MySqlBuilder $instance */ - return $instance->getIndexes($table); - } - /** - * Get the foreign keys for a given table. - * - * @param string $table - * @return array - * @static - */ public static function getForeignKeys($table) - { - /** @var \Illuminate\Database\Schema\MySqlBuilder $instance */ - return $instance->getForeignKeys($table); } /** * Drop all tables from the database. @@ -14368,7 +14327,7 @@ * @static */ public static function dropAllTables() { - /** @var \Illuminate\Database\Schema\MySqlBuilder $instance */ + /** @var \Illuminate\Database\Schema\SQLiteBuilder $instance */ $instance->dropAllTables(); } /** @@ -14378,8 +14337,18 @@ * @static */ public static function dropAllViews() { - /** @var \Illuminate\Database\Schema\MySqlBuilder $instance */ + /** @var \Illuminate\Database\Schema\SQLiteBuilder $instance */ $instance->dropAllViews(); + } + /** + * Empty the database file. + * + * @return void + * @static + */ public static function refreshDatabaseFile() + { + /** @var \Illuminate\Database\Schema\SQLiteBuilder $instance */ + $instance->refreshDatabaseFile(); } /** * Set the default string length for migrations. @@ -14389,7 +14358,7 @@ * @static */ public static function defaultStringLength($length) { //Method inherited from \Illuminate\Database\Schema\Builder - \Illuminate\Database\Schema\MySqlBuilder::defaultStringLength($length); + \Illuminate\Database\Schema\SQLiteBuilder::defaultStringLength($length); } /** * Set the default morph key type for migrations. @@ -14400,7 +14369,7 @@ * @static */ public static function defaultMorphKeyType($type) { //Method inherited from \Illuminate\Database\Schema\Builder - \Illuminate\Database\Schema\MySqlBuilder::defaultMorphKeyType($type); + \Illuminate\Database\Schema\SQLiteBuilder::defaultMorphKeyType($type); } /** * Set the default morph key type for migrations to UUIDs. @@ -14409,7 +14378,7 @@ * @static */ public static function morphUsingUuids() { //Method inherited from \Illuminate\Database\Schema\Builder - \Illuminate\Database\Schema\MySqlBuilder::morphUsingUuids(); + \Illuminate\Database\Schema\SQLiteBuilder::morphUsingUuids(); } /** * Set the default morph key type for migrations to ULIDs. @@ -14418,7 +14387,7 @@ * @static */ public static function morphUsingUlids() { //Method inherited from \Illuminate\Database\Schema\Builder - \Illuminate\Database\Schema\MySqlBuilder::morphUsingUlids(); + \Illuminate\Database\Schema\SQLiteBuilder::morphUsingUlids(); } /** * Determine if the given table exists. @@ -14428,7 +14397,7 @@ * @static */ public static function hasTable($table) { //Method inherited from \Illuminate\Database\Schema\Builder - /** @var \Illuminate\Database\Schema\MySqlBuilder $instance */ + /** @var \Illuminate\Database\Schema\SQLiteBuilder $instance */ return $instance->hasTable($table); } /** @@ -14439,7 +14408,7 @@ * @static */ public static function hasView($view) { //Method inherited from \Illuminate\Database\Schema\Builder - /** @var \Illuminate\Database\Schema\MySqlBuilder $instance */ + /** @var \Illuminate\Database\Schema\SQLiteBuilder $instance */ return $instance->hasView($view); } /** @@ -14449,8 +14418,18 @@ * @static */ public static function getTableListing() { //Method inherited from \Illuminate\Database\Schema\Builder - /** @var \Illuminate\Database\Schema\MySqlBuilder $instance */ + /** @var \Illuminate\Database\Schema\SQLiteBuilder $instance */ return $instance->getTableListing(); + } + /** + * Get the views that belong to the database. + * + * @return array + * @static + */ public static function getViews() + { //Method inherited from \Illuminate\Database\Schema\Builder + /** @var \Illuminate\Database\Schema\SQLiteBuilder $instance */ + return $instance->getViews(); } /** * Get the user-defined types that belong to the database. @@ -14459,7 +14438,7 @@ * @static */ public static function getTypes() { //Method inherited from \Illuminate\Database\Schema\Builder - /** @var \Illuminate\Database\Schema\MySqlBuilder $instance */ + /** @var \Illuminate\Database\Schema\SQLiteBuilder $instance */ return $instance->getTypes(); } /** @@ -14471,7 +14450,7 @@ * @static */ public static function hasColumn($table, $column) { //Method inherited from \Illuminate\Database\Schema\Builder - /** @var \Illuminate\Database\Schema\MySqlBuilder $instance */ + /** @var \Illuminate\Database\Schema\SQLiteBuilder $instance */ return $instance->hasColumn($table, $column); } /** @@ -14483,7 +14462,7 @@ * @static */ public static function hasColumns($table, $columns) { //Method inherited from \Illuminate\Database\Schema\Builder - /** @var \Illuminate\Database\Schema\MySqlBuilder $instance */ + /** @var \Illuminate\Database\Schema\SQLiteBuilder $instance */ return $instance->hasColumns($table, $columns); } /** @@ -14496,7 +14475,7 @@ * @static */ public static function whenTableHasColumn($table, $column, $callback) { //Method inherited from \Illuminate\Database\Schema\Builder - /** @var \Illuminate\Database\Schema\MySqlBuilder $instance */ + /** @var \Illuminate\Database\Schema\SQLiteBuilder $instance */ $instance->whenTableHasColumn($table, $column, $callback); } /** @@ -14509,7 +14488,7 @@ * @static */ public static function whenTableDoesntHaveColumn($table, $column, $callback) { //Method inherited from \Illuminate\Database\Schema\Builder - /** @var \Illuminate\Database\Schema\MySqlBuilder $instance */ + /** @var \Illuminate\Database\Schema\SQLiteBuilder $instance */ $instance->whenTableDoesntHaveColumn($table, $column, $callback); } /** @@ -14522,7 +14501,7 @@ * @static */ public static function getColumnType($table, $column, $fullDefinition = false) { //Method inherited from \Illuminate\Database\Schema\Builder - /** @var \Illuminate\Database\Schema\MySqlBuilder $instance */ + /** @var \Illuminate\Database\Schema\SQLiteBuilder $instance */ return $instance->getColumnType($table, $column, $fullDefinition); } /** @@ -14533,8 +14512,19 @@ * @static */ public static function getColumnListing($table) { //Method inherited from \Illuminate\Database\Schema\Builder - /** @var \Illuminate\Database\Schema\MySqlBuilder $instance */ + /** @var \Illuminate\Database\Schema\SQLiteBuilder $instance */ return $instance->getColumnListing($table); + } + /** + * Get the indexes for a given table. + * + * @param string $table + * @return array + * @static + */ public static function getIndexes($table) + { //Method inherited from \Illuminate\Database\Schema\Builder + /** @var \Illuminate\Database\Schema\SQLiteBuilder $instance */ + return $instance->getIndexes($table); } /** * Get the names of the indexes for a given table. @@ -14544,7 +14534,7 @@ * @static */ public static function getIndexListing($table) { //Method inherited from \Illuminate\Database\Schema\Builder - /** @var \Illuminate\Database\Schema\MySqlBuilder $instance */ + /** @var \Illuminate\Database\Schema\SQLiteBuilder $instance */ return $instance->getIndexListing($table); } /** @@ -14557,8 +14547,19 @@ * @static */ public static function hasIndex($table, $index, $type = null) { //Method inherited from \Illuminate\Database\Schema\Builder - /** @var \Illuminate\Database\Schema\MySqlBuilder $instance */ + /** @var \Illuminate\Database\Schema\SQLiteBuilder $instance */ return $instance->hasIndex($table, $index, $type); + } + /** + * Get the foreign keys for a given table. + * + * @param string $table + * @return array + * @static + */ public static function getForeignKeys($table) + { //Method inherited from \Illuminate\Database\Schema\Builder + /** @var \Illuminate\Database\Schema\SQLiteBuilder $instance */ + return $instance->getForeignKeys($table); } /** * Modify a table on the schema. @@ -14569,7 +14570,7 @@ * @static */ public static function table($table, $callback) { //Method inherited from \Illuminate\Database\Schema\Builder - /** @var \Illuminate\Database\Schema\MySqlBuilder $instance */ + /** @var \Illuminate\Database\Schema\SQLiteBuilder $instance */ $instance->table($table, $callback); } /** @@ -14581,7 +14582,7 @@ * @static */ public static function create($table, $callback) { //Method inherited from \Illuminate\Database\Schema\Builder - /** @var \Illuminate\Database\Schema\MySqlBuilder $instance */ + /** @var \Illuminate\Database\Schema\SQLiteBuilder $instance */ $instance->create($table, $callback); } /** @@ -14592,7 +14593,7 @@ * @static */ public static function drop($table) { //Method inherited from \Illuminate\Database\Schema\Builder - /** @var \Illuminate\Database\Schema\MySqlBuilder $instance */ + /** @var \Illuminate\Database\Schema\SQLiteBuilder $instance */ $instance->drop($table); } /** @@ -14603,7 +14604,7 @@ * @static */ public static function dropIfExists($table) { //Method inherited from \Illuminate\Database\Schema\Builder - /** @var \Illuminate\Database\Schema\MySqlBuilder $instance */ + /** @var \Illuminate\Database\Schema\SQLiteBuilder $instance */ $instance->dropIfExists($table); } /** @@ -14615,7 +14616,7 @@ * @static */ public static function dropColumns($table, $columns) { //Method inherited from \Illuminate\Database\Schema\Builder - /** @var \Illuminate\Database\Schema\MySqlBuilder $instance */ + /** @var \Illuminate\Database\Schema\SQLiteBuilder $instance */ $instance->dropColumns($table, $columns); } /** @@ -14626,7 +14627,7 @@ * @static */ public static function dropAllTypes() { //Method inherited from \Illuminate\Database\Schema\Builder - /** @var \Illuminate\Database\Schema\MySqlBuilder $instance */ + /** @var \Illuminate\Database\Schema\SQLiteBuilder $instance */ $instance->dropAllTypes(); } /** @@ -14638,7 +14639,7 @@ * @static */ public static function rename($from, $to) { //Method inherited from \Illuminate\Database\Schema\Builder - /** @var \Illuminate\Database\Schema\MySqlBuilder $instance */ + /** @var \Illuminate\Database\Schema\SQLiteBuilder $instance */ $instance->rename($from, $to); } /** @@ -14648,7 +14649,7 @@ * @static */ public static function enableForeignKeyConstraints() { //Method inherited from \Illuminate\Database\Schema\Builder - /** @var \Illuminate\Database\Schema\MySqlBuilder $instance */ + /** @var \Illuminate\Database\Schema\SQLiteBuilder $instance */ return $instance->enableForeignKeyConstraints(); } /** @@ -14658,7 +14659,7 @@ * @static */ public static function disableForeignKeyConstraints() { //Method inherited from \Illuminate\Database\Schema\Builder - /** @var \Illuminate\Database\Schema\MySqlBuilder $instance */ + /** @var \Illuminate\Database\Schema\SQLiteBuilder $instance */ return $instance->disableForeignKeyConstraints(); } /** @@ -14669,7 +14670,7 @@ * @static */ public static function withoutForeignKeyConstraints($callback) { //Method inherited from \Illuminate\Database\Schema\Builder - /** @var \Illuminate\Database\Schema\MySqlBuilder $instance */ + /** @var \Illuminate\Database\Schema\SQLiteBuilder $instance */ return $instance->withoutForeignKeyConstraints($callback); } /** @@ -14679,18 +14680,18 @@ * @static */ public static function getConnection() { //Method inherited from \Illuminate\Database\Schema\Builder - /** @var \Illuminate\Database\Schema\MySqlBuilder $instance */ + /** @var \Illuminate\Database\Schema\SQLiteBuilder $instance */ return $instance->getConnection(); } /** * Set the database connection instance. * * @param \Illuminate\Database\Connection $connection - * @return \Illuminate\Database\Schema\MySqlBuilder + * @return \Illuminate\Database\Schema\SQLiteBuilder * @static */ public static function setConnection($connection) { //Method inherited from \Illuminate\Database\Schema\Builder - /** @var \Illuminate\Database\Schema\MySqlBuilder $instance */ + /** @var \Illuminate\Database\Schema\SQLiteBuilder $instance */ return $instance->setConnection($connection); } /** @@ -14701,7 +14702,7 @@ * @static */ public static function blueprintResolver($resolver) { //Method inherited from \Illuminate\Database\Schema\Builder - /** @var \Illuminate\Database\Schema\MySqlBuilder $instance */ + /** @var \Illuminate\Database\Schema\SQLiteBuilder $instance */ $instance->blueprintResolver($resolver); } /** @@ -14714,7 +14715,7 @@ * @static */ public static function macro($name, $macro) { //Method inherited from \Illuminate\Database\Schema\Builder - \Illuminate\Database\Schema\MySqlBuilder::macro($name, $macro); + \Illuminate\Database\Schema\SQLiteBuilder::macro($name, $macro); } /** * Mix another object into the class. @@ -14726,7 +14727,7 @@ * @static */ public static function mixin($mixin, $replace = true) { //Method inherited from \Illuminate\Database\Schema\Builder - \Illuminate\Database\Schema\MySqlBuilder::mixin($mixin, $replace); + \Illuminate\Database\Schema\SQLiteBuilder::mixin($mixin, $replace); } /** * Checks if macro is registered. @@ -14736,7 +14737,7 @@ * @static */ public static function hasMacro($name) { //Method inherited from \Illuminate\Database\Schema\Builder - return \Illuminate\Database\Schema\MySqlBuilder::hasMacro($name); + return \Illuminate\Database\Schema\SQLiteBuilder::hasMacro($name); } /** * Flush the existing macros. @@ -14745,7 +14746,7 @@ * @static */ public static function flushMacros() { //Method inherited from \Illuminate\Database\Schema\Builder - \Illuminate\Database\Schema\MySqlBuilder::flushMacros(); + \Illuminate\Database\Schema\SQLiteBuilder::flushMacros(); } } /** @@ -25897,7 +25898,6 @@ class URL extends \Illuminate\Support\Facades\URL {} class Validator extends \Illuminate\Support\Facades\Validator {} class View extends \Illuminate\Support\Facades\View {} class Vite extends \Illuminate\Support\Facades\Vite {} - class TimeZoneHelper extends \App\Helpers\TimeZoneHelper {} class EloquentSerialize extends \AnourValar\EloquentSerialize\Facades\EloquentSerializeFacade {} class Livewire extends \Livewire\Livewire {} class Action extends \Lorisleiva\Actions\Facades\Actions {} diff --git a/app/Actions/Speedtests/RunScheduledSpeedtests.php b/app/Actions/Speedtests/RunScheduledSpeedtests.php index 9102745fa..a91056e54 100644 --- a/app/Actions/Speedtests/RunScheduledSpeedtests.php +++ b/app/Actions/Speedtests/RunScheduledSpeedtests.php @@ -2,7 +2,6 @@ namespace App\Actions\Speedtests; -use App\Settings\GeneralSettings; use Cron\CronExpression; use Illuminate\Support\Arr; use Lorisleiva\Actions\Concerns\AsAction; @@ -11,23 +10,27 @@ class RunScheduledSpeedtests { use AsAction; - public function handle() + public function handle(): void { - $settings = new GeneralSettings(); + $cronExpression = new CronExpression(config('speedtest.schedule')); - /** - * Ookla service - */ - $cronExpression = new CronExpression($settings->speedtest_schedule); + if (! $cronExpression->isDue(now()->timezone(config('app.timezone')))) { + return; + } - if ($cronExpression->isDue(now()->timezone($settings->timezone ?? 'UTC'))) { - $serverId = null; + $servers = array_filter( + explode(',', config('speedtest.servers')) + ); - if (is_array($settings->speedtest_server) && count($settings->speedtest_server)) { - $serverId = Arr::random($settings->speedtest_server); - } + $serverId = null; - RunOoklaSpeedtest::run(serverId: $serverId, scheduled: true); + if (count($servers)) { + $serverId = Arr::random($servers); } + + RunOoklaSpeedtest::run( + serverId: $serverId, + scheduled: true, + ); } } diff --git a/app/Console/Commands/OoklaListServers.php b/app/Console/Commands/OoklaListServers.php new file mode 100644 index 000000000..5710a1bee --- /dev/null +++ b/app/Console/Commands/OoklaListServers.php @@ -0,0 +1,53 @@ +get( + url: 'https://www.speedtest.net/api/js/servers', + query: [ + 'engine' => 'js', + 'https_functional' => true, + 'search' => $this->argument('search'), + 'limit' => 20, // 20 is the max returned by the api + ], + ); + + if ($response->failed()) { + $this->fail('There was an issue retrieving a list of speedtest servers, check the logs.'); + } + + $fields = ['id', 'sponsor', 'name', 'country', 'distance']; + + table( + headers: $fields, + rows: $response->collect()->select($fields), + ); + } +} diff --git a/app/Console/Commands/ResultFixStatuses.php b/app/Console/Commands/ResultFixStatuses.php index cefd18557..16aa20f64 100644 --- a/app/Console/Commands/ResultFixStatuses.php +++ b/app/Console/Commands/ResultFixStatuses.php @@ -1,6 +1,6 @@ updateTimeZone($settings); - $this->updateSchedule($settings); - $this->resetSevers($settings); - - $this->line('✅ Settings updated!'); - } - - protected function resetSevers($settings): void - { - $confirmed = confirm( - label: 'Do you want to reset the server list?', - default: false, - yes: 'Yes, reset it', - no: 'No, keep it' - ); - - if ($confirmed) { - $settings->speedtest_server = []; - - $settings->save(); - } - } - - protected function updateSchedule($settings): void - { - $cron = text( - label: 'What is the schedule?', - placeholder: '0 * * * *', - default: $settings->speedtest_schedule ?? '0 * * * *', - required: true, - validate: fn (string $value) => match (true) { - ! CronExpression::isValidExpression($value) => 'The schedule expression is invalid.', - default => null - } - ); - - if ($cron) { - $settings->speedtest_schedule = $cron; - - $settings->save(); - } - } - - protected function updateTimeZone($settings): void - { - $timezone = text( - label: 'What is the time zone?', - placeholder: 'UTC', - default: $settings->timezone, - required: true, - validate: fn (string $value) => match (true) { - ! TimeZoneHelper::validate($value) => 'The time zone must be a valid time zone.', - default => null - } - ); - - if ($timezone) { - $settings->timezone = $timezone; - - $settings->save(); - } - } -} diff --git a/app/Filament/Pages/Dashboard.php b/app/Filament/Pages/Dashboard.php index b45aee80d..df07f4c32 100644 --- a/app/Filament/Pages/Dashboard.php +++ b/app/Filament/Pages/Dashboard.php @@ -11,7 +11,6 @@ use App\Filament\Widgets\RecentUploadChartWidget; use App\Filament\Widgets\RecentUploadLatencyChartWidget; use App\Filament\Widgets\StatsOverviewWidget; -use App\Settings\GeneralSettings; use Filament\Actions\Action; use Filament\Actions\ActionGroup; use Filament\Notifications\Notification; @@ -37,11 +36,15 @@ protected function getHeaderActions(): array ->url(shouldOpenInNewTab: true, url: '/'), ActionGroup::make([ Action::make('ookla speedtest') - ->action(function (GeneralSettings $settings) { + ->action(function () { + $servers = array_filter( + explode(',', config('speedtest.servers')) + ); + $serverId = null; - if (is_array($settings->speedtest_server) && count($settings->speedtest_server)) { - $serverId = Arr::random($settings->speedtest_server); + if (count($servers)) { + $serverId = Arr::random($servers); } RunOoklaSpeedtest::run(serverId: $serverId); diff --git a/app/Filament/Pages/Settings/GeneralPage.php b/app/Filament/Pages/Settings/GeneralPage.php deleted file mode 100644 index cd8635e86..000000000 --- a/app/Filament/Pages/Settings/GeneralPage.php +++ /dev/null @@ -1,167 +0,0 @@ -user()->is_admin; - } - - public static function shouldRegisterNavigation(): bool - { - return auth()->user()->is_admin; - } - - public function form(Form $form): Form - { - return $form - ->schema([ - Forms\Components\Grid::make([ - 'default' => 1, - ]) - ->schema([ - Forms\Components\Section::make('Site Settings') - ->schema([ - Forms\Components\TextInput::make('site_name') - ->disabled() - ->helperText(new HtmlString('⚠️ DEPRECATED: Use APP_NAME environment variable.')) - ->columnSpanFull(), - Forms\Components\Toggle::make('public_dashboard_enabled') - ->label('Public dashboard') - ->disabled() - ->helperText(new HtmlString('⚠️ DEPRECATED: Use PUBLIC_DASHBOARD environment variable.')), - ]) - ->compact() - ->columns([ - 'default' => 1, - 'md' => 2, - ]), - - Forms\Components\Section::make('Time Zone Settings') - ->schema([ - Forms\Components\Select::make('timezone') - ->label('Time zone') - ->hint(new HtmlString('🔗Docs')) - ->options(TimeZoneHelper::list()) - ->searchable() - ->required(), - Forms\Components\TextInput::make('time_format') - ->hint(new HtmlString('🔗DateTime Format')) - ->placeholder('M j, Y G:i:s') - ->maxLength(25) - ->required(), - Forms\Components\Toggle::make('db_has_timezone') - ->label('Database has time zone') - ->helperText(new HtmlString('Enable if your database has a time zone already set.')), - ]) - ->compact() - ->columns([ - 'default' => 1, - 'md' => 2, - ]), - - Forms\Components\Section::make('Speedtest Settings') - ->schema([ - Forms\Components\TextInput::make('speedtest_schedule') - ->rules([new Cron()]) - ->helperText('Leave empty to disable scheduled tests.') - ->hint(new HtmlString('🔗Cron Generator')) - ->nullable() - ->columnSpan(1), - Forms\Components\TextInput::make('prune_results_older_than') - ->helperText('Set to zero to disable pruning.') - ->suffix('days') - ->numeric() - ->required() - ->minValue(0) - ->maxValue(9999) - ->columnSpan(1), - Forms\Components\Select::make('speedtest_server') - ->label('Speedtest servers') - ->helperText('Leave empty to let the system pick the best server.') - ->maxItems(10) - ->multiple() - ->nullable() - ->searchable() - ->options(GetOoklaSpeedtestServers::run()) - ->getSearchResultsUsing(fn (string $search): array => $this->getServerSearchOptions($search)) - ->getOptionLabelsUsing(fn (array $values): array => $this->getServerLabels($values)) - ->columnSpanFull(), - ]) - ->compact() - ->columns([ - 'default' => 1, - 'md' => 2, - ]), - ]) - ->columnSpan('full'), - ]); - } - - protected function getServerLabels(array $values): array - { - if (count($values) && is_null($values[0])) { - return []; - } - - return collect($values)->mapWithKeys(function (string $item, int $key) { - return [$item => $item]; - })->toArray(); - } - - protected function getServerSearchOptions(string $search): array - { - $response = Http::get( - url: 'https://www.speedtest.net/api/js/servers', - query: [ - 'engine' => 'js', - 'search' => $search, - 'https_functional' => true, - 'limit' => 20, - ] - ); - - if ($response->failed()) { - return [ - '' => 'There was an error retrieving Speedtest servers', - ]; - } - - if (! $response->collect()->count() && is_numeric($search)) { - return collect([ - [ - 'id' => $search, - 'name' => $search.' (Manually entered server)', - ], - ])->pluck('name', 'id')->toArray(); - } - - return $response->collect()->mapWithKeys(function (array $item, int $key) { - return [$item['id'] => $item['id'].': '.$item['name'].' ('.$item['sponsor'].')']; - })->toArray(); - } -} diff --git a/app/Filament/Resources/ResultResource.php b/app/Filament/Resources/ResultResource.php index 26f408f92..e50d95488 100644 --- a/app/Filament/Resources/ResultResource.php +++ b/app/Filament/Resources/ResultResource.php @@ -7,11 +7,9 @@ use App\Filament\Exports\ResultExporter; use App\Filament\Resources\ResultResource\Pages; use App\Helpers\Number; -use App\Helpers\TimeZoneHelper; use App\Jobs\TruncateResults; use App\Models\Result; use App\Settings\DataMigrationSettings; -use App\Settings\GeneralSettings; use Carbon\Carbon; use Filament\Forms; use Filament\Forms\Components\TextInput; @@ -34,8 +32,6 @@ class ResultResource extends Resource public static function form(Form $form): Form { - $settings = new GeneralSettings(); - return $form ->schema([ Forms\Components\Grid::make([ @@ -51,8 +47,8 @@ public static function form(Form $form): Form ->label('ID'), Forms\Components\TextInput::make('created_at') ->label('Created') - ->afterStateHydrated(function (TextInput $component, $state) use ($settings) { - $component->state(Carbon::parse($state)->timezone(TimeZoneHelper::displayTimeZone($settings))->format($settings->time_format ?? 'M j, Y G:i:s')); + ->afterStateHydrated(function (TextInput $component, $state) { + $component->state(Carbon::parse($state)->timezone(config('app.display_timezone'))->format(config('app.datetime_format'))); }) ->columnSpan(2), Forms\Components\TextInput::make('download') @@ -120,8 +116,6 @@ public static function table(Table $table): Table { $dataSettings = new DataMigrationSettings(); - $settings = new GeneralSettings(); - return $table ->columns([ Tables\Columns\TextColumn::make('id') @@ -225,14 +219,14 @@ public static function table(Table $table): Table ->toggledHiddenByDefault() ->alignment(Alignment::Center), Tables\Columns\TextColumn::make('created_at') - ->dateTime($settings->time_format ?? 'M j, Y G:i:s') - ->timezone(TimeZoneHelper::displayTimeZone($settings)) + ->dateTime(config('app.datetime_format')) + ->timezone(config('app.display_timezone')) ->toggleable() ->sortable() ->alignment(Alignment::End), Tables\Columns\TextColumn::make('updated_at') - ->dateTime($settings->time_format ?? 'M j, Y G:i:s') - ->timezone(TimeZoneHelper::displayTimeZone($settings)) + ->dateTime(config('app.datetime_format')) + ->timezone(config('app.display_timezone')) ->toggleable() ->toggledHiddenByDefault() ->sortable() diff --git a/app/Filament/Resources/UserResource.php b/app/Filament/Resources/UserResource.php index f7f2ad5aa..3544c76b3 100644 --- a/app/Filament/Resources/UserResource.php +++ b/app/Filament/Resources/UserResource.php @@ -6,9 +6,7 @@ use App\Filament\Resources\UserResource\Pages; use App\Filament\Resources\UserResource\Pages\CreateUser; use App\Filament\Resources\UserResource\Pages\EditUser; -use App\Helpers\TimeZoneHelper; use App\Models\User; -use App\Settings\GeneralSettings; use Filament\Forms; use Filament\Forms\Form; use Filament\Resources\Resource; @@ -106,8 +104,6 @@ public static function form(Form $form): Form public static function table(Table $table): Table { - $settings = new GeneralSettings(); - return $table ->columns([ Tables\Columns\TextColumn::make('id') @@ -120,12 +116,12 @@ public static function table(Table $table): Table ->badge(), Tables\Columns\TextColumn::make('created_at') ->alignEnd() - ->dateTime($settings->time_format ?? 'M j, Y G:i:s') - ->timezone(TimeZoneHelper::displayTimeZone($settings)), + ->dateTime(config('app.datetime_format')) + ->timezone(config('app.display_timezone')), Tables\Columns\TextColumn::make('updated_at') ->alignEnd() - ->dateTime($settings->time_format ?? 'M j, Y G:i:s') - ->timezone(TimeZoneHelper::displayTimeZone($settings)) + ->dateTime(config('app.datetime_format')) + ->timezone(config('app.display_timezone')) ->toggleable(isToggledHiddenByDefault: true), ]) ->filters([ diff --git a/app/Filament/Widgets/RecentDownloadChartWidget.php b/app/Filament/Widgets/RecentDownloadChartWidget.php index 6d32a8a82..05b993ee2 100644 --- a/app/Filament/Widgets/RecentDownloadChartWidget.php +++ b/app/Filament/Widgets/RecentDownloadChartWidget.php @@ -4,9 +4,7 @@ use App\Enums\ResultStatus; use App\Helpers\Number; -use App\Helpers\TimeZoneHelper; use App\Models\Result; -use App\Settings\GeneralSettings; use Filament\Widgets\ChartWidget; class RecentDownloadChartWidget extends ChartWidget @@ -35,8 +33,6 @@ protected function getFilters(): ?array protected function getData(): array { - $settings = new GeneralSettings(); - $results = Result::query() ->select(['id', 'download', 'created_at']) ->where('status', '=', ResultStatus::Completed) @@ -65,7 +61,7 @@ protected function getData(): array 'tension' => 0.4, ], ], - 'labels' => $results->map(fn ($item) => $item->created_at->timezone(TimeZoneHelper::displayTimeZone($settings))->format('M d - G:i')), + 'labels' => $results->map(fn ($item) => $item->created_at->timezone(config('app.display_timezone'))->format('M. j - g:ia')), ]; } diff --git a/app/Filament/Widgets/RecentDownloadLatencyChartWidget.php b/app/Filament/Widgets/RecentDownloadLatencyChartWidget.php index 1c25e7004..a7a5c510a 100644 --- a/app/Filament/Widgets/RecentDownloadLatencyChartWidget.php +++ b/app/Filament/Widgets/RecentDownloadLatencyChartWidget.php @@ -3,9 +3,7 @@ namespace App\Filament\Widgets; use App\Enums\ResultStatus; -use App\Helpers\TimeZoneHelper; use App\Models\Result; -use App\Settings\GeneralSettings; use Filament\Widgets\ChartWidget; class RecentDownloadLatencyChartWidget extends ChartWidget @@ -34,8 +32,6 @@ protected function getFilters(): ?array protected function getData(): array { - $settings = new GeneralSettings(); - $results = Result::query() ->select(['id', 'data', 'created_at']) ->where('status', '=', ResultStatus::Completed) @@ -84,7 +80,7 @@ protected function getData(): array 'tension' => 0.4, ], ], - 'labels' => $results->map(fn ($item) => $item->created_at->timezone(TimeZoneHelper::displayTimeZone($settings))->format('M d - G:i')), + 'labels' => $results->map(fn ($item) => $item->created_at->timezone(config('app.display_timezone'))->format('M. j - g:ia')), ]; } diff --git a/app/Filament/Widgets/RecentJitterChartWidget.php b/app/Filament/Widgets/RecentJitterChartWidget.php index 326bc64f5..952c33f62 100644 --- a/app/Filament/Widgets/RecentJitterChartWidget.php +++ b/app/Filament/Widgets/RecentJitterChartWidget.php @@ -3,9 +3,7 @@ namespace App\Filament\Widgets; use App\Enums\ResultStatus; -use App\Helpers\TimeZoneHelper; use App\Models\Result; -use App\Settings\GeneralSettings; use Filament\Widgets\ChartWidget; class RecentJitterChartWidget extends ChartWidget @@ -34,8 +32,6 @@ protected function getFilters(): ?array protected function getData(): array { - $settings = new GeneralSettings(); - $results = Result::query() ->select(['id', 'data', 'created_at']) ->where('status', '=', ResultStatus::Completed) @@ -84,7 +80,7 @@ protected function getData(): array 'tension' => 0.4, ], ], - 'labels' => $results->map(fn ($item) => $item->created_at->timezone(TimeZoneHelper::displayTimeZone($settings))->format('M d - G:i')), + 'labels' => $results->map(fn ($item) => $item->created_at->timezone(config('app.display_timezone'))->format('M. j - g:ia')), ]; } diff --git a/app/Filament/Widgets/RecentPingChartWidget.php b/app/Filament/Widgets/RecentPingChartWidget.php index 16a78ddc5..6e6daa53e 100644 --- a/app/Filament/Widgets/RecentPingChartWidget.php +++ b/app/Filament/Widgets/RecentPingChartWidget.php @@ -3,9 +3,7 @@ namespace App\Filament\Widgets; use App\Enums\ResultStatus; -use App\Helpers\TimeZoneHelper; use App\Models\Result; -use App\Settings\GeneralSettings; use Filament\Widgets\ChartWidget; class RecentPingChartWidget extends ChartWidget @@ -34,8 +32,6 @@ protected function getFilters(): ?array protected function getData(): array { - $settings = new GeneralSettings(); - $results = Result::query() ->select(['id', 'ping', 'created_at']) ->where('status', '=', ResultStatus::Completed) @@ -64,7 +60,7 @@ protected function getData(): array 'tension' => 0.4, ], ], - 'labels' => $results->map(fn ($item) => $item->created_at->timezone(TimeZoneHelper::displayTimeZone($settings))->format('M d - G:i')), + 'labels' => $results->map(fn ($item) => $item->created_at->timezone(config('app.display_timezone'))->format('M. j - g:ia')), ]; } diff --git a/app/Filament/Widgets/RecentUploadChartWidget.php b/app/Filament/Widgets/RecentUploadChartWidget.php index 05cd526d3..a479f0f2b 100644 --- a/app/Filament/Widgets/RecentUploadChartWidget.php +++ b/app/Filament/Widgets/RecentUploadChartWidget.php @@ -4,9 +4,7 @@ use App\Enums\ResultStatus; use App\Helpers\Number; -use App\Helpers\TimeZoneHelper; use App\Models\Result; -use App\Settings\GeneralSettings; use Filament\Widgets\ChartWidget; class RecentUploadChartWidget extends ChartWidget @@ -35,8 +33,6 @@ protected function getFilters(): ?array protected function getData(): array { - $settings = new GeneralSettings(); - $results = Result::query() ->select(['id', 'upload', 'created_at']) ->where('status', '=', ResultStatus::Completed) @@ -65,7 +61,7 @@ protected function getData(): array 'tension' => 0.4, ], ], - 'labels' => $results->map(fn ($item) => $item->created_at->timezone(TimeZoneHelper::displayTimeZone($settings))->format('M d - G:i')), + 'labels' => $results->map(fn ($item) => $item->created_at->timezone(config('app.display_timezone'))->format('M. j - g:ia')), ]; } diff --git a/app/Filament/Widgets/RecentUploadLatencyChartWidget.php b/app/Filament/Widgets/RecentUploadLatencyChartWidget.php index e421f7c10..02d54be01 100644 --- a/app/Filament/Widgets/RecentUploadLatencyChartWidget.php +++ b/app/Filament/Widgets/RecentUploadLatencyChartWidget.php @@ -3,9 +3,7 @@ namespace App\Filament\Widgets; use App\Enums\ResultStatus; -use App\Helpers\TimeZoneHelper; use App\Models\Result; -use App\Settings\GeneralSettings; use Filament\Widgets\ChartWidget; class RecentUploadLatencyChartWidget extends ChartWidget @@ -34,8 +32,6 @@ protected function getFilters(): ?array protected function getData(): array { - $settings = new GeneralSettings(); - $results = Result::query() ->select(['id', 'data', 'created_at']) ->where('status', '=', ResultStatus::Completed) @@ -84,7 +80,7 @@ protected function getData(): array 'tension' => 0.4, ], ], - 'labels' => $results->map(fn ($item) => $item->created_at->timezone(TimeZoneHelper::displayTimeZone($settings))->format('M d - G:i')), + 'labels' => $results->map(fn ($item) => $item->created_at->timezone(config('app.display_timezone'))->format('M. j - g:ia')), ]; } diff --git a/app/Helpers/TimeZoneHelper.php b/app/Helpers/TimeZoneHelper.php deleted file mode 100644 index a965bf889..000000000 --- a/app/Helpers/TimeZoneHelper.php +++ /dev/null @@ -1,58 +0,0 @@ -db_has_timezone) { - return 'UTC'; - } - - return $settings->timezone - ?? 'UTC'; - } - - /** - * Returns a collection of time zones with their offset from UTC. - */ - public static function list() - { - $seconds = 3600; // 1hr - - return Cache::remember('timezones_list_collection', $seconds, function () { - $timestamp = time(); - - foreach (timezone_identifiers_list() as $key => $value) { - date_default_timezone_set($value); - - $timezone[$value] = $value.' (UTC '.date('P', $timestamp).')'; - } - - return collect($timezone)->sortKeys(); - }); - } - - /** - * Validates the time zone string provided. - * - * Ref: https://github.com/laravel/framework/blob/10.x/src/Illuminate/Validation/Concerns/ValidatesAttributes.php#L2406-L2420 - */ - public static function validate($value, $parameters = []) - { - return in_array($value, timezone_identifiers_list( - constant(DateTimeZone::class.'::'.Str::upper($parameters[0] ?? 'ALL')), - isset($parameters[1]) ? Str::upper($parameters[1]) : null, - ), true); - } -} diff --git a/app/Http/Controllers/API/Speedtest/GetLatestController.php b/app/Http/Controllers/API/Speedtest/GetLatestController.php index 1eeb84639..94ec8d677 100644 --- a/app/Http/Controllers/API/Speedtest/GetLatestController.php +++ b/app/Http/Controllers/API/Speedtest/GetLatestController.php @@ -4,10 +4,8 @@ use App\Enums\ResultStatus; use App\Helpers\Number; -use App\Helpers\TimeZoneHelper; use App\Http\Controllers\Controller; use App\Models\Result; -use App\Settings\GeneralSettings; use Illuminate\Http\JsonResponse; class GetLatestController extends Controller @@ -28,8 +26,6 @@ public function __invoke(): JsonResponse ], 404); } - $settings = new GeneralSettings(); - return response()->json([ 'message' => 'ok', 'data' => [ @@ -43,8 +39,8 @@ public function __invoke(): JsonResponse 'url' => $latest->result_url, 'scheduled' => $latest->scheduled, 'failed' => $latest->status === ResultStatus::Failed, - 'created_at' => $latest->created_at->timezone(TimeZoneHelper::displayTimeZone($settings))->toISOString(true), - 'updated_at' => $latest->updated_at->timezone(TimeZoneHelper::displayTimeZone($settings))->toISOString(true), + 'created_at' => $latest->created_at->timezone(config('app.display_timezone'))->toISOString(true), + 'updated_at' => $latest->updated_at->timezone(config('app.display_timezone'))->toISOString(true), ], ]); } diff --git a/app/Http/Controllers/HomeController.php b/app/Http/Controllers/HomeController.php index 3f1219c55..d0522d498 100644 --- a/app/Http/Controllers/HomeController.php +++ b/app/Http/Controllers/HomeController.php @@ -4,7 +4,6 @@ use App\Enums\ResultStatus; use App\Models\Result; -use App\Settings\GeneralSettings; use Illuminate\Http\Request; class HomeController extends Controller @@ -14,8 +13,6 @@ class HomeController extends Controller */ public function __invoke(Request $request) { - $settings = new GeneralSettings(); - if (! config('speedtest.public_dashboard')) { return redirect()->route('filament.admin.auth.login'); } @@ -30,19 +27,7 @@ public function __invoke(Request $request) return view('get-started'); } - /** - * This jank needs to happen because some people like - * to watch the world burn by setting a time zone - * in their database instances. - */ - if ($settings->db_has_timezone) { - date_default_timezone_set($settings->timezone ?? 'UTC'); - } - - $diff = $latestResult->created_at->diffForHumans(); - return view('dashboard', [ - 'diff' => $diff, 'latestResult' => $latestResult, ]); } diff --git a/app/Livewire/Debug/Timezone.php b/app/Livewire/Debug/Timezone.php deleted file mode 100644 index 50eb8a5a8..000000000 --- a/app/Livewire/Debug/Timezone.php +++ /dev/null @@ -1,32 +0,0 @@ -settings = $settings->toArray(); - - $this->latest = Result::query() - ->latest() - ->first(); - } - - public function render() - { - return view('livewire.debug.timezone'); - } -} diff --git a/app/Models/Result.php b/app/Models/Result.php index a0e195bb3..cdf8a8092 100644 --- a/app/Models/Result.php +++ b/app/Models/Result.php @@ -3,7 +3,6 @@ namespace App\Models; use App\Enums\ResultStatus; -use App\Settings\GeneralSettings; use Illuminate\Database\Eloquent\Builder; use Illuminate\Database\Eloquent\Casts\Attribute; use Illuminate\Database\Eloquent\Factories\HasFactory; @@ -83,9 +82,7 @@ public function formatForInfluxDB2() */ public function prunable(): Builder { - $settings = new GeneralSettings(); - - return static::where('created_at', '<=', now()->subDays($settings->prune_results_older_than)); + return static::where('created_at', '<=', now()->subDays(config('speedtest.prune_results_older_than'))); } /** diff --git a/app/Settings/GeneralSettings.php b/app/Settings/GeneralSettings.php deleted file mode 100644 index 3e5b6ae3c..000000000 --- a/app/Settings/GeneralSettings.php +++ /dev/null @@ -1,38 +0,0 @@ -withRouting( web: __DIR__.'/../routes/web.php', api: __DIR__.'/../routes/api.php', + commands: __DIR__.'/../routes/console.php', ) ->withMiddleware(function (Middleware $middleware) { $middleware->redirectGuestsTo(fn () => route('admin/login')); @@ -30,33 +30,4 @@ }) ->withExceptions(function (Exceptions $exceptions) { // - }) - ->withSchedule(function (Schedule $schedule) { - $settings = app(\App\Settings\GeneralSettings::class); - - /** - * Checks if Result model records should be pruned. - */ - if ($settings->prune_results_older_than > 0) { - $schedule->command('model:prune', [ - '--model' => [\App\Models\Result::class], - ])->daily(); - } - - /** - * Checked for new versions weekly on Thursday because - * I usually do releases on Thursday or Friday. - */ - $schedule->command(\App\Console\Commands\VersionChecker::class)->weeklyOn(5) - ->timezone($settings->timezone ?? 'UTC'); - - /** - * Action to run scheduled speedtests. - */ - $schedule->call(function () { - \App\Actions\Speedtests\RunScheduledSpeedtests::run(); - }) - ->name('Run scheduled speedtests') - ->everyMinute() - ->when(! blank($settings->speedtest_schedule)); })->create(); diff --git a/composer.json b/composer.json index c82d1c75c..7031512ab 100644 --- a/composer.json +++ b/composer.json @@ -42,8 +42,7 @@ }, "autoload": { "files": [ - "app/helpers.php", - "app/Helpers/TimeZoneHelper.php" + "app/helpers.php" ], "psr-4": { "App\\": "app/", diff --git a/config/app.php b/config/app.php index 6c062b7f1..22c367de0 100644 --- a/config/app.php +++ b/config/app.php @@ -1,17 +1,15 @@ env('APP_NAME', 'Speedtest Tracker'), 'env' => env('APP_ENV', 'production'), - 'force_https' => env('FORCE_HTTPS', false), + 'datetime_format' => env('DATETIME_FORMAT', 'M. jS, Y g:ia'), - 'aliases' => Facade::defaultAliases()->merge([ - 'TimeZoneHelper' => App\Helpers\TimeZoneHelper::class, - ])->toArray(), + 'display_timezone' => env('DISPLAY_TIMEZONE'), + + 'force_https' => env('FORCE_HTTPS', false), ]; diff --git a/config/speedtest.php b/config/speedtest.php index 33f12cdaa..3c5274ca6 100644 --- a/config/speedtest.php +++ b/config/speedtest.php @@ -13,6 +13,8 @@ */ 'content_width' => env('CONTENT_WIDTH', '7xl'), + 'prune_results_older_than' => env('PRUNE_RESULTS_OLDER_THAN', 0), + 'public_dashboard' => env('PUBLIC_DASHBOARD', false), /** @@ -24,4 +26,11 @@ 'results_polling' => env('RESULTS_POLLING', null), + /** + * Speedtest settings. + */ + 'schedule' => env('SPEEDTEST_SCHEDULE'), + + 'servers' => env('SPEEDTEST_SERVERS', ''), + ]; diff --git a/database/migrations/2022_12_16_164913_transform_speedtest_server_id.php b/database/migrations/2022_12_16_164913_transform_speedtest_server_id.php deleted file mode 100644 index 7c98e7345..000000000 --- a/database/migrations/2022_12_16_164913_transform_speedtest_server_id.php +++ /dev/null @@ -1,22 +0,0 @@ -speedtest_server = [$settings->speedtest_server]; - $settings->save(); - } catch (Throwable $th) { - // This code is short lived as it'll be replaced with a jobs table... - } - } -}; diff --git a/database/migrations/2024_02_18_100000_results_bad_json_table.php b/database/migrations/2024_02_18_100000_results_bad_json_table.php index 40d5447c0..cf0b7c51c 100644 --- a/database/migrations/2024_02_18_100000_results_bad_json_table.php +++ b/database/migrations/2024_02_18_100000_results_bad_json_table.php @@ -1,8 +1,8 @@ speedtest_schedule = ''; - - $settings->save(); - - $admins = User::select(['id', 'name', 'email', 'role']) - ->where('role', 'admin') - ->get(); + $admins = User::where('role', '=', UserRole::Admin)->get(); foreach ($admins as $user) { Notification::make() diff --git a/database/settings/2022_10_21_105703_create_general_settings.php b/database/settings/2022_10_21_105703_create_general_settings.php deleted file mode 100644 index 12de1d523..000000000 --- a/database/settings/2022_10_21_105703_create_general_settings.php +++ /dev/null @@ -1,15 +0,0 @@ -migrator->add('general.auth_enabled', true); - $this->migrator->add('general.site_name', 'Speedtest Tracker'); - $this->migrator->add('general.speedtest_schedule', ''); - $this->migrator->add('general.speedtest_server', null); - $this->migrator->add('general.timezone', 'UTC'); - } -} diff --git a/database/settings/2022_10_24_122646_add_time_format_to_general_settings.php b/database/settings/2022_10_24_122646_add_time_format_to_general_settings.php deleted file mode 100644 index 85e5e2c0e..000000000 --- a/database/settings/2022_10_24_122646_add_time_format_to_general_settings.php +++ /dev/null @@ -1,11 +0,0 @@ -migrator->add('general.time_format', 'M j, Y G:i:s'); - } -} diff --git a/database/settings/2023_03_05_233042_add_content_width_to_general_settings.php b/database/settings/2023_03_05_233042_add_content_width_to_general_settings.php deleted file mode 100644 index 22e74b349..000000000 --- a/database/settings/2023_03_05_233042_add_content_width_to_general_settings.php +++ /dev/null @@ -1,11 +0,0 @@ -migrator->add('general.content_width', '7xl'); - } -}; diff --git a/database/settings/2023_10_07_113220_add_public_dashboard_enabled_to_general_settings.php b/database/settings/2023_10_07_113220_add_public_dashboard_enabled_to_general_settings.php deleted file mode 100644 index d4dcee06d..000000000 --- a/database/settings/2023_10_07_113220_add_public_dashboard_enabled_to_general_settings.php +++ /dev/null @@ -1,11 +0,0 @@ -migrator->add('general.public_dashboard_enabled', true); - } -}; diff --git a/database/settings/2023_12_12_234839_add_db_has_time_zone_to_general_settings.php b/database/settings/2023_12_12_234839_add_db_has_time_zone_to_general_settings.php deleted file mode 100644 index caff13154..000000000 --- a/database/settings/2023_12_12_234839_add_db_has_time_zone_to_general_settings.php +++ /dev/null @@ -1,11 +0,0 @@ -migrator->add('general.db_has_timezone', false); - } -}; diff --git a/database/settings/2024_02_18_010000_add_prune_results_to_general_settings.php b/database/settings/2024_02_18_010000_add_prune_results_to_general_settings.php deleted file mode 100644 index e7bf5e819..000000000 --- a/database/settings/2024_02_18_010000_add_prune_results_to_general_settings.php +++ /dev/null @@ -1,11 +0,0 @@ -migrator->add('general.prune_results_older_than', 0); - } -}; diff --git a/resources/views/dashboard.blade.php b/resources/views/dashboard.blade.php index 3a73b77f9..d897c2ff5 100644 --- a/resources/views/dashboard.blade.php +++ b/resources/views/dashboard.blade.php @@ -6,7 +6,7 @@ @isset($latestResult)
- Latest result: + Latest result:
@endisset diff --git a/resources/views/livewire/debug/timezone.blade.php b/resources/views/livewire/debug/timezone.blade.php deleted file mode 100644 index 930db4c4e..000000000 --- a/resources/views/livewire/debug/timezone.blade.php +++ /dev/null @@ -1,76 +0,0 @@ -
- -
-
-

Debug Time Zone - {{ config('app.name') }}

- -

- The purpose of this page is to help debut the current issues around time zones and local time. The table below displays an output of the applications current configuration. -

-
-
-
- -
-
-
-

Timezone

-
- -
    -
  • -

    PHP time zone

    -

    {{ date_default_timezone_get() }}

    -
  • - -
  • -

    App time zone

    -

    {{ config('app.timezone') }}

    -
  • - -
  • -

    Settings time zone

    -

    {{ $settings['timezone'] }} ({{ \Carbon\Carbon::create($settings['timezone'])->format('P') }})

    -
  • -
-
- -
-
-

Time

-
- -
    -
  • -

    UTC time

    -

    {{ \Carbon\Carbon::now() }}

    -
  • - -
  • -

    Local time

    -

    {{ \Carbon\Carbon::now()->timezone($settings['timezone'] ?? 'UTC') }}

    -
  • -
-
- - @isset($latest) -
-
-

Latest result

-
- -
    -
  • -

    Latest result ran at

    -

    {{ $latest->created_at->timezone($settings['db_has_timezone'] ? null : $settings['timezone'] ?? 'UTC')->format('M. jS, Y h:i:s') }}

    -
  • - -
  • -

    Diff for humans

    -

    {{ $latest->created_at->diffForHumans() }}

    -
  • -
-
- @endisset -
-
diff --git a/routes/console.php b/routes/console.php new file mode 100644 index 000000000..23a9c4081 --- /dev/null +++ b/routes/console.php @@ -0,0 +1,27 @@ + 0) { + Schedule::command('model:prune', [ + '--model' => [\App\Models\Result::class], + ])->daily(); +} + +/** + * Checked for new versions weekly on Thursday because + * I usually do releases on Thursday or Friday. + */ +Schedule::command('app:version') + ->weeklyOn(5); + +/** + * Action to run scheduled speedtests. + */ +Schedule::call(fn () => RunScheduledSpeedtests::run()) + ->everyMinute() + ->when(! blank(config('speedtest.schedule')));