From 0ad0076c58658494c06d93b4b9be595617848ddd Mon Sep 17 00:00:00 2001 From: philipp lang Date: Mon, 1 Jun 2020 22:22:19 +0200 Subject: [PATCH] Add members --- app/Initialize/InitializeJob.php | 1 + app/Initialize/InitializeMembers.php | 48 ++- app/Member.php | 6 - app/Providers/HorizonServiceProvider.php | 42 ++ app/Providers/TelescopeServiceProvider.php | 71 +++ composer.json | 2 + composer.lock | 405 +++++++++++++++++- config/app.php | 2 + config/horizon.php | 188 ++++++++ config/telescope.php | 163 +++++++ ...2017_07_04_223230_create_members_table.php | 55 ++- 11 files changed, 947 insertions(+), 36 deletions(-) create mode 100644 app/Providers/HorizonServiceProvider.php create mode 100644 app/Providers/TelescopeServiceProvider.php create mode 100644 config/horizon.php create mode 100644 config/telescope.php diff --git a/app/Initialize/InitializeJob.php b/app/Initialize/InitializeJob.php index fada38ae..12a07196 100644 --- a/app/Initialize/InitializeJob.php +++ b/app/Initialize/InitializeJob.php @@ -25,6 +25,7 @@ class InitializeJob implements ShouldQueue InitializeGenders::class, InitializeRegions::class, InitializeActivities::class, + InitializeMembers::class, ]; public function __construct(User $user) diff --git a/app/Initialize/InitializeMembers.php b/app/Initialize/InitializeMembers.php index 135a8230..404ab5ab 100644 --- a/app/Initialize/InitializeMembers.php +++ b/app/Initialize/InitializeMembers.php @@ -22,7 +22,53 @@ class InitializeMembers { $this->bar->tasks($allMembers, function($member) { return "Synchronisiere {$member->entries_vorname} {$member->entries_nachname}"; }, function($member) { - // Member::createFromNami($this->api->getMember($member->id)->data); + $data = $this->api->getMember($member->id)->data; + $gender = \App\Gender::where('nami_id', $data->geschlechtId)->where('is_null', false)->first(); + + $confession = $data->konfessionId + ? \App\Confession::where('nami_id', $data->konfessionId)->first() + : null + ; + $region = \App\Region::where('nami_id', $data->regionId)->where('is_null', false)->first(); + $country = \App\Country::where('nami_id', $data->landId)->first(); + $nationality = \App\Nationality::where('nami_id', $data->staatsangehoerigkeitId)->first(); + + $sub = null; + + $attributes = [ + 'firstname' => $data->vorname, + 'lastname' => $data->nachname, + 'nickname' => $data->spitzname, + 'joined_at' => $data->eintrittsdatum, + 'birthday' => $data->geburtsDatum, + 'keepdata' => $data->wiederverwendenFlag, + 'sendnewspaper' => $data->zeitschriftenversand, + 'address' => $data->strasse, + 'zip' => $data->plz, + 'city' => $data->ort, + 'nickname' => $data->spitzname, + 'other_country' => $data->staatsangehoerigkeitText, + 'further_address' => $data->nameZusatz, + 'phone' => $data->telefon1, + 'mobile' => $data->telefon2, + 'business_phone' => $data->telefon3, + 'fax' => $data->telefax, + 'email' => $data->email, + 'email_parents' => $data->emailVertretungsberechtigter, + 'nami_id' => $data->id, + 'active' => $data->status == 'Aktiv' + ]; + + $m = new \App\Member($attributes); + + $m->gender()->associate($gender); + $m->country()->associate($country); + $m->region()->associate($region); + // $m->way()->associate(\Setting::get('defaultWay')); + $m->confession()->associate($confession); + $m->nationality()->associate($nationality); + + $m->save(); }); } } diff --git a/app/Member.php b/app/Member.php index 2062bbae..f7458571 100644 --- a/app/Member.php +++ b/app/Member.php @@ -4,18 +4,12 @@ namespace App; use App\Collections\OwnCollection; use App\Events\MemberCreated; -use App\Nami\Traits\HasNamiId; -use App\Relations\HasSameRelation; -use App\Traits\HasNamiFallbacks; use Illuminate\Database\Eloquent\Model; use Illuminate\Notifications\Notifiable; class Member extends Model { use Notifiable; - use HasSameRelation; - use HasNamiId; - use HasNamiFallbacks; public $fillable = ['firstname', 'lastname', 'nickname', 'other_country', 'birthday', 'joined_at', 'keepdata', 'sendnewspaper', 'address', 'further_address', 'zip', 'city', 'phone', 'mobile', 'business_phone', 'fax', 'email', 'email_parents', 'nami_id', 'active', 'letter_address', 'country_id', 'way_id', 'nationality_id', 'subscription_id', 'region_id', 'gender_id', 'confession_id']; diff --git a/app/Providers/HorizonServiceProvider.php b/app/Providers/HorizonServiceProvider.php new file mode 100644 index 00000000..08881175 --- /dev/null +++ b/app/Providers/HorizonServiceProvider.php @@ -0,0 +1,42 @@ +email, [ + // + ]); + }); + } +} diff --git a/app/Providers/TelescopeServiceProvider.php b/app/Providers/TelescopeServiceProvider.php new file mode 100644 index 00000000..a9ddad22 --- /dev/null +++ b/app/Providers/TelescopeServiceProvider.php @@ -0,0 +1,71 @@ +hideSensitiveRequestDetails(); + + Telescope::filter(function (IncomingEntry $entry) { + if ($this->app->environment('local')) { + return true; + } + + return $entry->isReportableException() || + $entry->isFailedRequest() || + $entry->isFailedJob() || + $entry->isScheduledTask() || + $entry->hasMonitoredTag(); + }); + } + + /** + * Prevent sensitive request details from being logged by Telescope. + * + * @return void + */ + protected function hideSensitiveRequestDetails() + { + if ($this->app->environment('local')) { + return; + } + + Telescope::hideRequestParameters(['_token']); + + Telescope::hideRequestHeaders([ + 'cookie', + 'x-csrf-token', + 'x-xsrf-token', + ]); + } + + /** + * Register the Telescope gate. + * + * This gate determines who can access Telescope in non-local environments. + * + * @return void + */ + protected function gate() + { + Gate::define('viewTelescope', function ($user) { + return in_array($user->email, [ + // + ]); + }); + } +} diff --git a/composer.json b/composer.json index 653ef3ad..f22b540d 100644 --- a/composer.json +++ b/composer.json @@ -19,6 +19,8 @@ "guzzlehttp/guzzle": "^6.3", "inertiajs/inertia-laravel": "^0.2.5", "laravel/framework": "^7.0", + "laravel/horizon": "^4.2", + "laravel/telescope": "^3.2", "laravel/tinker": "^2.0", "laravel/ui": "^2.0", "predis/predis": "^1.1", diff --git a/composer.lock b/composer.lock index 584b74a0..100cc4de 100644 --- a/composer.lock +++ b/composer.lock @@ -4,7 +4,7 @@ "Read more about it at https://getcomposer.org/doc/01-basic-usage.md#installing-dependencies", "This file is @generated automatically" ], - "content-hash": "c847473848098caa2e954501424d7009", + "content-hash": "6c555fa62af91bf40c8f58f44cb6d454", "packages": [ { "name": "asm89/stack-cors", @@ -131,6 +131,62 @@ ], "time": "2020-02-17T13:57:43+00:00" }, + { + "name": "cakephp/chronos", + "version": "1.3.0", + "source": { + "type": "git", + "url": "https://github.com/cakephp/chronos.git", + "reference": "ba2bab98849e7bf29b02dd634ada49ab36472959" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/cakephp/chronos/zipball/ba2bab98849e7bf29b02dd634ada49ab36472959", + "reference": "ba2bab98849e7bf29b02dd634ada49ab36472959", + "shasum": "" + }, + "require": { + "php": ">=5.6" + }, + "require-dev": { + "athletic/athletic": "~0.1", + "cakephp/cakephp-codesniffer": "^3.0", + "phpbench/phpbench": "@dev", + "phpunit/phpunit": "<6.0 || ^7.0" + }, + "type": "library", + "autoload": { + "psr-4": { + "Cake\\Chronos\\": "src/" + }, + "files": [ + "src/carbon_compat.php" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Brian Nesbitt", + "email": "brian@nesbot.com", + "homepage": "http://nesbot.com" + }, + { + "name": "The CakePHP Team", + "homepage": "http://cakephp.org" + } + ], + "description": "A simple API extension for DateTime.", + "homepage": "http://cakephp.org", + "keywords": [ + "date", + "datetime", + "time" + ], + "time": "2019-11-30T02:33:19+00:00" + }, { "name": "dnoegel/php-xdg-base-dir", "version": "v0.1.1", @@ -994,6 +1050,142 @@ ], "time": "2020-04-08T15:54:18+00:00" }, + { + "name": "laravel/horizon", + "version": "v4.2.1", + "source": { + "type": "git", + "url": "https://github.com/laravel/horizon.git", + "reference": "fdfbd5b2f7bb1dfdf2e40518b263337c07b6b22c" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/laravel/horizon/zipball/fdfbd5b2f7bb1dfdf2e40518b263337c07b6b22c", + "reference": "fdfbd5b2f7bb1dfdf2e40518b263337c07b6b22c", + "shasum": "" + }, + "require": { + "cakephp/chronos": "^1.0", + "ext-json": "*", + "ext-pcntl": "*", + "ext-posix": "*", + "illuminate/contracts": "^7.0", + "illuminate/queue": "^7.0", + "illuminate/support": "^7.0", + "php": "^7.2", + "ramsey/uuid": "^3.5|^4.0", + "symfony/error-handler": "^5.0", + "symfony/process": "^5.0" + }, + "require-dev": { + "mockery/mockery": "^1.0", + "orchestra/testbench": "^5.0", + "phpunit/phpunit": "^8.0", + "predis/predis": "^1.1" + }, + "suggest": { + "ext-redis": "Required to use the Redis PHP driver.", + "predis/predis": "Required when not using the Redis PHP driver (^1.1)." + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "4.x-dev" + }, + "laravel": { + "providers": [ + "Laravel\\Horizon\\HorizonServiceProvider" + ], + "aliases": { + "Horizon": "Laravel\\Horizon\\Horizon" + } + } + }, + "autoload": { + "psr-4": { + "Laravel\\Horizon\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Taylor Otwell", + "email": "taylor@laravel.com" + } + ], + "description": "Dashboard and code-driven configuration for Laravel queues.", + "keywords": [ + "laravel", + "queue" + ], + "time": "2020-04-02T12:32:01+00:00" + }, + { + "name": "laravel/telescope", + "version": "v3.2.0", + "source": { + "type": "git", + "url": "https://github.com/laravel/telescope.git", + "reference": "10992faf0b22c0ff6432d45a7410c1a3bf53227d" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/laravel/telescope/zipball/10992faf0b22c0ff6432d45a7410c1a3bf53227d", + "reference": "10992faf0b22c0ff6432d45a7410c1a3bf53227d", + "shasum": "" + }, + "require": { + "ext-json": "*", + "laravel/framework": "^6.0|^7.0", + "moontoast/math": "^1.1", + "php": "^7.2", + "symfony/var-dumper": "^4.4|^5.0" + }, + "require-dev": { + "ext-gd": "*", + "orchestra/testbench": "^4.0|^5.0" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "3.x-dev" + }, + "laravel": { + "providers": [ + "Laravel\\Telescope\\TelescopeServiceProvider" + ] + } + }, + "autoload": { + "psr-4": { + "Laravel\\Telescope\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Taylor Otwell", + "email": "taylor@laravel.com" + }, + { + "name": "Mohamed Said", + "email": "mohamed@laravel.com" + } + ], + "description": "An elegant debug assistant for the Laravel framework.", + "keywords": [ + "debugging", + "laravel", + "monitoring" + ], + "time": "2020-03-17T17:55:57+00:00" + }, { "name": "laravel/tinker", "version": "v2.4.0", @@ -1480,6 +1672,57 @@ ], "time": "2019-12-20T14:22:59+00:00" }, + { + "name": "moontoast/math", + "version": "1.2.1", + "source": { + "type": "git", + "url": "https://github.com/ramsey/moontoast-math.git", + "reference": "5f47d34c87767dbcc08b30377a9827df71de91fa" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/ramsey/moontoast-math/zipball/5f47d34c87767dbcc08b30377a9827df71de91fa", + "reference": "5f47d34c87767dbcc08b30377a9827df71de91fa", + "shasum": "" + }, + "require": { + "php": ">=5.3.3", + "phpseclib/bcmath_compat": ">=1.0.3" + }, + "require-dev": { + "jakub-onderka/php-parallel-lint": "^0.9.0", + "phpunit/phpunit": "^4.8 || ^5.5 || ^6.5 || ^7.0", + "satooshi/php-coveralls": "^0.6.1", + "squizlabs/php_codesniffer": "^2.3" + }, + "type": "library", + "autoload": { + "psr-4": { + "Moontoast\\Math\\": "src/Moontoast/Math", + "Moontoast\\Math\\Exception\\": "src/Moontoast/Math/Exception" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "Apache-2.0" + ], + "authors": [ + { + "name": "Ben Ramsey", + "email": "ben@benramsey.com", + "homepage": "https://benramsey.com" + } + ], + "description": "A mathematics library, providing functionality for large numbers", + "homepage": "https://github.com/ramsey/moontoast-math", + "keywords": [ + "bcmath", + "math" + ], + "abandoned": "brick/math", + "time": "2020-01-05T04:49:34+00:00" + }, { "name": "myclabs/php-enum", "version": "1.7.6", @@ -1803,6 +2046,166 @@ ], "time": "2020-03-21T18:07:53+00:00" }, + { + "name": "phpseclib/bcmath_compat", + "version": "1.0.4", + "source": { + "type": "git", + "url": "https://github.com/phpseclib/bcmath_compat.git", + "reference": "f805922db4b3d8c1e174dafb74ac7374264e8880" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/phpseclib/bcmath_compat/zipball/f805922db4b3d8c1e174dafb74ac7374264e8880", + "reference": "f805922db4b3d8c1e174dafb74ac7374264e8880", + "shasum": "" + }, + "require": { + "phpseclib/phpseclib": ">=2.0.19" + }, + "require-dev": { + "phpunit/phpunit": "^4.8.35|^5.7|^6.0", + "squizlabs/php_codesniffer": "^3.0" + }, + "suggest": { + "ext-gmp": "Will enable faster math operations" + }, + "type": "library", + "autoload": { + "files": [ + "lib/bcmath.php" + ], + "psr-4": { + "bcmath_compat\\": "src" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Jim Wigginton", + "email": "terrafrost@php.net", + "homepage": "http://phpseclib.sourceforge.net" + } + ], + "description": "PHP 5.x/7.x polyfill for bcmath extension", + "keywords": [ + "BigInteger", + "bcmath", + "bigdecimal", + "math", + "polyfill" + ], + "time": "2020-01-10T11:44:43+00:00" + }, + { + "name": "phpseclib/phpseclib", + "version": "2.0.27", + "source": { + "type": "git", + "url": "https://github.com/phpseclib/phpseclib.git", + "reference": "34620af4df7d1988d8f0d7e91f6c8a3bf931d8dc" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/phpseclib/phpseclib/zipball/34620af4df7d1988d8f0d7e91f6c8a3bf931d8dc", + "reference": "34620af4df7d1988d8f0d7e91f6c8a3bf931d8dc", + "shasum": "" + }, + "require": { + "php": ">=5.3.3" + }, + "require-dev": { + "phing/phing": "~2.7", + "phpunit/phpunit": "^4.8.35|^5.7|^6.0", + "sami/sami": "~2.0", + "squizlabs/php_codesniffer": "~2.0" + }, + "suggest": { + "ext-gmp": "Install the GMP (GNU Multiple Precision) extension in order to speed up arbitrary precision integer arithmetic operations.", + "ext-libsodium": "SSH2/SFTP can make use of some algorithms provided by the libsodium-php extension.", + "ext-mcrypt": "Install the Mcrypt extension in order to speed up a few other cryptographic operations.", + "ext-openssl": "Install the OpenSSL extension in order to speed up a wide variety of cryptographic operations." + }, + "type": "library", + "autoload": { + "files": [ + "phpseclib/bootstrap.php" + ], + "psr-4": { + "phpseclib\\": "phpseclib/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Jim Wigginton", + "email": "terrafrost@php.net", + "role": "Lead Developer" + }, + { + "name": "Patrick Monnerat", + "email": "pm@datasphere.ch", + "role": "Developer" + }, + { + "name": "Andreas Fischer", + "email": "bantu@phpbb.com", + "role": "Developer" + }, + { + "name": "Hans-Jürgen Petrich", + "email": "petrich@tronic-media.com", + "role": "Developer" + }, + { + "name": "Graham Campbell", + "email": "graham@alt-three.com", + "role": "Developer" + } + ], + "description": "PHP Secure Communications Library - Pure-PHP implementations of RSA, AES, SSH2, SFTP, X.509 etc.", + "homepage": "http://phpseclib.sourceforge.net", + "keywords": [ + "BigInteger", + "aes", + "asn.1", + "asn1", + "blowfish", + "crypto", + "cryptography", + "encryption", + "rsa", + "security", + "sftp", + "signature", + "signing", + "ssh", + "twofish", + "x.509", + "x509" + ], + "funding": [ + { + "url": "https://github.com/terrafrost", + "type": "github" + }, + { + "url": "https://www.patreon.com/phpseclib", + "type": "patreon" + }, + { + "url": "https://tidelift.com/funding/github/packagist/phpseclib/phpseclib", + "type": "tidelift" + } + ], + "time": "2020-04-04T23:17:33+00:00" + }, { "name": "predis/predis", "version": "v1.1.1", diff --git a/config/app.php b/config/app.php index a3bcbd07..95245838 100644 --- a/config/app.php +++ b/config/app.php @@ -173,7 +173,9 @@ return [ App\Providers\AuthServiceProvider::class, // App\Providers\BroadcastServiceProvider::class, App\Providers\EventServiceProvider::class, + App\Providers\HorizonServiceProvider::class, App\Providers\RouteServiceProvider::class, + App\Providers\TelescopeServiceProvider::class, ], diff --git a/config/horizon.php b/config/horizon.php new file mode 100644 index 00000000..213249d9 --- /dev/null +++ b/config/horizon.php @@ -0,0 +1,188 @@ + null, + + /* + |-------------------------------------------------------------------------- + | Horizon Path + |-------------------------------------------------------------------------- + | + | This is the URI path where Horizon will be accessible from. Feel free + | to change this path to anything you like. Note that the URI will not + | affect the paths of its internal API that aren't exposed to users. + | + */ + + 'path' => 'horizon', + + /* + |-------------------------------------------------------------------------- + | Horizon Redis Connection + |-------------------------------------------------------------------------- + | + | This is the name of the Redis connection where Horizon will store the + | meta information required for it to function. It includes the list + | of supervisors, failed jobs, job metrics, and other information. + | + */ + + 'use' => 'default', + + /* + |-------------------------------------------------------------------------- + | Horizon Redis Prefix + |-------------------------------------------------------------------------- + | + | This prefix will be used when storing all Horizon data in Redis. You + | may modify the prefix when you are running multiple installations + | of Horizon on the same server so that they don't have problems. + | + */ + + 'prefix' => env( + 'HORIZON_PREFIX', + Str::slug(env('APP_NAME', 'laravel'), '_').'_horizon:' + ), + + /* + |-------------------------------------------------------------------------- + | Horizon Route Middleware + |-------------------------------------------------------------------------- + | + | These middleware will get attached onto each Horizon route, giving you + | the chance to add your own middleware to this list or change any of + | the existing middleware. Or, you can simply stick with this list. + | + */ + + 'middleware' => ['web'], + + /* + |-------------------------------------------------------------------------- + | Queue Wait Time Thresholds + |-------------------------------------------------------------------------- + | + | This option allows you to configure when the LongWaitDetected event + | will be fired. Every connection / queue combination may have its + | own, unique threshold (in seconds) before this event is fired. + | + */ + + 'waits' => [ + 'redis:default' => 60, + ], + + /* + |-------------------------------------------------------------------------- + | Job Trimming Times + |-------------------------------------------------------------------------- + | + | Here you can configure for how long (in minutes) you desire Horizon to + | persist the recent and failed jobs. Typically, recent jobs are kept + | for one hour while all failed jobs are stored for an entire week. + | + */ + + 'trim' => [ + 'recent' => 60, + 'pending' => 60, + 'completed' => 60, + 'recent_failed' => 10080, + 'failed' => 10080, + 'monitored' => 10080, + ], + + /* + |-------------------------------------------------------------------------- + | Metrics + |-------------------------------------------------------------------------- + | + | Here you can configure how many snapshots should be kept to display in + | the metrics graph. This will get used in combination with Horizon's + | `horizon:snapshot` schedule to define how long to retain metrics. + | + */ + + 'metrics' => [ + 'trim_snapshots' => [ + 'job' => 24, + 'queue' => 24, + ], + ], + + /* + |-------------------------------------------------------------------------- + | Fast Termination + |-------------------------------------------------------------------------- + | + | When this option is enabled, Horizon's "terminate" command will not + | wait on all of the workers to terminate unless the --wait option + | is provided. Fast termination can shorten deployment delay by + | allowing a new instance of Horizon to start while the last + | instance will continue to terminate each of its workers. + | + */ + + 'fast_termination' => false, + + /* + |-------------------------------------------------------------------------- + | Memory Limit (MB) + |-------------------------------------------------------------------------- + | + | This value describes the maximum amount of memory the Horizon worker + | may consume before it is terminated and restarted. You should set + | this value according to the resources available to your server. + | + */ + + 'memory_limit' => 64, + + /* + |-------------------------------------------------------------------------- + | Queue Worker Configuration + |-------------------------------------------------------------------------- + | + | Here you may define the queue worker settings used by your application + | in all environments. These supervisors and settings handle all your + | queued jobs and will be provisioned by Horizon during deployment. + | + */ + + 'environments' => [ + 'production' => [ + 'supervisor-1' => [ + 'connection' => 'redis', + 'queue' => ['default'], + 'balance' => 'simple', + 'processes' => 10, + 'tries' => 1, + ], + ], + + 'local' => [ + 'supervisor-1' => [ + 'connection' => 'redis', + 'queue' => ['default'], + 'balance' => 'simple', + 'processes' => 3, + 'tries' => 1, + ], + ], + ], +]; diff --git a/config/telescope.php b/config/telescope.php new file mode 100644 index 00000000..1fed214a --- /dev/null +++ b/config/telescope.php @@ -0,0 +1,163 @@ + env('TELESCOPE_DOMAIN', null), + + /* + |-------------------------------------------------------------------------- + | Telescope Path + |-------------------------------------------------------------------------- + | + | This is the URI path where Telescope will be accessible from. Feel free + | to change this path to anything you like. Note that the URI will not + | affect the paths of its internal API that aren't exposed to users. + | + */ + + 'path' => env('TELESCOPE_PATH', 'telescope'), + + /* + |-------------------------------------------------------------------------- + | Telescope Storage Driver + |-------------------------------------------------------------------------- + | + | This configuration options determines the storage driver that will + | be used to store Telescope's data. In addition, you may set any + | custom options as needed by the particular driver you choose. + | + */ + + 'driver' => env('TELESCOPE_DRIVER', 'database'), + + 'storage' => [ + 'database' => [ + 'connection' => env('DB_CONNECTION', 'mysql'), + 'chunk' => 1000, + ], + ], + + /* + |-------------------------------------------------------------------------- + | Telescope Master Switch + |-------------------------------------------------------------------------- + | + | This option may be used to disable all Telescope watchers regardless + | of their individual configuration, which simply provides a single + | and convenient way to enable or disable Telescope data storage. + | + */ + + 'enabled' => env('TELESCOPE_ENABLED', true), + + /* + |-------------------------------------------------------------------------- + | Telescope Route Middleware + |-------------------------------------------------------------------------- + | + | These middleware will be assigned to every Telescope route, giving you + | the chance to add your own middleware to this list or change any of + | the existing middleware. Or, you can simply stick with this list. + | + */ + + 'middleware' => [ + 'web', + Authorize::class, + ], + + /* + |-------------------------------------------------------------------------- + | Ignored Paths & Commands + |-------------------------------------------------------------------------- + | + | The following array lists the URI paths and Artisan commands that will + | not be watched by Telescope. In addition to this list, some Laravel + | commands, like migrations and queue commands, are always ignored. + | + */ + + 'ignore_paths' => [ + 'nova-api*', + ], + + 'ignore_commands' => [ + // + ], + + /* + |-------------------------------------------------------------------------- + | Telescope Watchers + |-------------------------------------------------------------------------- + | + | The following array lists the "watchers" that will be registered with + | Telescope. The watchers gather the application's profile data when + | a request or task is executed. Feel free to customize this list. + | + */ + + 'watchers' => [ + Watchers\CacheWatcher::class => env('TELESCOPE_CACHE_WATCHER', true), + + Watchers\CommandWatcher::class => [ + 'enabled' => env('TELESCOPE_COMMAND_WATCHER', true), + 'ignore' => [], + ], + + Watchers\DumpWatcher::class => env('TELESCOPE_DUMP_WATCHER', true), + + Watchers\EventWatcher::class => [ + 'enabled' => env('TELESCOPE_EVENT_WATCHER', true), + 'ignore' => [], + ], + + Watchers\ExceptionWatcher::class => env('TELESCOPE_EXCEPTION_WATCHER', true), + Watchers\JobWatcher::class => env('TELESCOPE_JOB_WATCHER', true), + Watchers\LogWatcher::class => env('TELESCOPE_LOG_WATCHER', true), + Watchers\MailWatcher::class => env('TELESCOPE_MAIL_WATCHER', true), + + Watchers\ModelWatcher::class => [ + 'enabled' => env('TELESCOPE_MODEL_WATCHER', true), + 'events' => ['eloquent.*'], + ], + + Watchers\NotificationWatcher::class => env('TELESCOPE_NOTIFICATION_WATCHER', true), + + Watchers\QueryWatcher::class => [ + 'enabled' => env('TELESCOPE_QUERY_WATCHER', true), + 'ignore_packages' => true, + 'slow' => 100, + ], + + Watchers\RedisWatcher::class => env('TELESCOPE_REDIS_WATCHER', true), + + Watchers\RequestWatcher::class => [ + 'enabled' => env('TELESCOPE_REQUEST_WATCHER', true), + 'size_limit' => env('TELESCOPE_RESPONSE_SIZE_LIMIT', 64), + ], + + Watchers\GateWatcher::class => [ + 'enabled' => env('TELESCOPE_GATE_WATCHER', true), + 'ignore_abilities' => [], + 'ignore_packages' => true, + ], + + Watchers\ScheduleWatcher::class => env('TELESCOPE_SCHEDULE_WATCHER', true), + + Watchers\ViewWatcher::class => env('TELESCOPE_VIEW_WATCHER', true), + ], +]; diff --git a/database/migrations/2017_07_04_223230_create_members_table.php b/database/migrations/2017_07_04_223230_create_members_table.php index 31228daa..a6ab8618 100644 --- a/database/migrations/2017_07_04_223230_create_members_table.php +++ b/database/migrations/2017_07_04_223230_create_members_table.php @@ -15,34 +15,33 @@ class CreateMembersTable extends Migration { Schema::create('members', function (Blueprint $table) { $table->increments('id'); - $table->string('firstname'); - $table->string('lastname'); - $table->string('nickname')->nullable(); - $table->integer('gender_id')->unsigned()->nullable(); - $table->integer('country_id')->unsigned(); - $table->string('other_country')->nullable(); - $table->integer('confession_id')->unsigned()->nullable(); - $table->date('birthday'); - $table->date('joined_at'); - $table->boolean('keepdata'); - $table->boolean('sendnewspaper'); - $table->string('address'); - $table->string('further_address')->nullable(); - $table->string('zip'); - $table->string('city'); - $table->string('region_id')->nullable(); - $table->string('phone')->nullable(); - $table->string('mobile')->nullable(); - $table->string('business_phone')->nullable(); - $table->string('fax')->nullable(); - $table->integer('way_id'); - $table->string('email')->nullable(); - $table->string('email_parents')->nullable(); - $table->boolean('active')->default(1); - $table->integer('nami_id')->nullable(); - $table->integer('nationality_id')->unsigned(); - $table->integer('subscription_id')->nullable(); - + $table->string('firstname'); + $table->string('lastname'); + $table->string('nickname')->nullable(); + $table->integer('gender_id')->unsigned()->nullable(); + $table->integer('country_id')->unsigned(); + $table->string('other_country')->nullable(); + $table->integer('confession_id')->unsigned()->nullable(); + $table->date('birthday'); + $table->date('joined_at'); + $table->boolean('keepdata'); + $table->boolean('sendnewspaper'); + $table->string('address'); + $table->string('further_address')->nullable(); + $table->string('zip'); + $table->string('city'); + $table->string('region_id')->nullable(); + $table->string('phone')->nullable(); + $table->string('mobile')->nullable(); + $table->string('business_phone')->nullable(); + $table->string('fax')->nullable(); + $table->string('email')->nullable(); + $table->string('email_parents')->nullable(); + $table->boolean('active')->default(1); + $table->integer('nami_id')->nullable(); + $table->integer('nationality_id')->unsigned(); + $table->integer('subscription_id')->nullable(); + $table->timestamps(); }); }