From 9604e4d22ae15005bee86fab27a50e92dbdd82f5 Mon Sep 17 00:00:00 2001 From: Simeon Keske Date: Mon, 17 Aug 2020 00:12:33 +0200 Subject: [PATCH] initial commit --- Config/.gitkeep | 0 Config/config.php | 5 + Console/.gitkeep | 0 Database/Migrations/.gitkeep | 0 Database/Seeders/.gitkeep | 0 .../Seeders/LouketoAuthDatabaseSeeder.php | 21 +++ Database/factories/.gitkeep | 0 Entities/.gitkeep | 0 Http/Controllers/.gitkeep | 0 Http/Controllers/LouketoAuthController.php | 72 ++++++++++ Http/Middleware/.gitkeep | 0 Http/Middleware/LouketoAuthMiddleware.php | 21 +++ Http/Requests/.gitkeep | 0 Http/routes.php | 6 + Providers/.gitkeep | 0 Providers/LouketoAuthServiceProvider.php | 131 ++++++++++++++++++ Public/.gitkeep | 0 Resources/assets/.gitkeep | 0 Resources/lang/.gitkeep | 0 Resources/views/.gitkeep | 0 Resources/views/index.blade.php | 9 ++ Resources/views/layouts/master.blade.php | 12 ++ Tests/.gitkeep | 0 composer.json | 25 ++++ module.json | 22 +++ start.php | 17 +++ 26 files changed, 341 insertions(+) create mode 100644 Config/.gitkeep create mode 100644 Config/config.php create mode 100644 Console/.gitkeep create mode 100644 Database/Migrations/.gitkeep create mode 100644 Database/Seeders/.gitkeep create mode 100644 Database/Seeders/LouketoAuthDatabaseSeeder.php create mode 100644 Database/factories/.gitkeep create mode 100644 Entities/.gitkeep create mode 100644 Http/Controllers/.gitkeep create mode 100644 Http/Controllers/LouketoAuthController.php create mode 100644 Http/Middleware/.gitkeep create mode 100644 Http/Middleware/LouketoAuthMiddleware.php create mode 100644 Http/Requests/.gitkeep create mode 100644 Http/routes.php create mode 100644 Providers/.gitkeep create mode 100644 Providers/LouketoAuthServiceProvider.php create mode 100644 Public/.gitkeep create mode 100644 Resources/assets/.gitkeep create mode 100644 Resources/lang/.gitkeep create mode 100644 Resources/views/.gitkeep create mode 100644 Resources/views/index.blade.php create mode 100644 Resources/views/layouts/master.blade.php create mode 100644 Tests/.gitkeep create mode 100644 composer.json create mode 100644 module.json create mode 100644 start.php diff --git a/Config/.gitkeep b/Config/.gitkeep new file mode 100644 index 0000000..e69de29 diff --git a/Config/config.php b/Config/config.php new file mode 100644 index 0000000..554dec3 --- /dev/null +++ b/Config/config.php @@ -0,0 +1,5 @@ + 'LouketoAuth' +]; diff --git a/Console/.gitkeep b/Console/.gitkeep new file mode 100644 index 0000000..e69de29 diff --git a/Database/Migrations/.gitkeep b/Database/Migrations/.gitkeep new file mode 100644 index 0000000..e69de29 diff --git a/Database/Seeders/.gitkeep b/Database/Seeders/.gitkeep new file mode 100644 index 0000000..e69de29 diff --git a/Database/Seeders/LouketoAuthDatabaseSeeder.php b/Database/Seeders/LouketoAuthDatabaseSeeder.php new file mode 100644 index 0000000..5f040c2 --- /dev/null +++ b/Database/Seeders/LouketoAuthDatabaseSeeder.php @@ -0,0 +1,21 @@ +call("OthersTableSeeder"); + } +} diff --git a/Database/factories/.gitkeep b/Database/factories/.gitkeep new file mode 100644 index 0000000..e69de29 diff --git a/Entities/.gitkeep b/Entities/.gitkeep new file mode 100644 index 0000000..e69de29 diff --git a/Http/Controllers/.gitkeep b/Http/Controllers/.gitkeep new file mode 100644 index 0000000..e69de29 diff --git a/Http/Controllers/LouketoAuthController.php b/Http/Controllers/LouketoAuthController.php new file mode 100644 index 0000000..5dea823 --- /dev/null +++ b/Http/Controllers/LouketoAuthController.php @@ -0,0 +1,72 @@ + 'web', 'prefix' => \Helper::getSubdirectory(), 'namespace' => 'Modules\LouketoAuth\Http\Controllers'], function() +{ + Route::get('/', 'LouketoAuthController@index'); +}); diff --git a/Providers/.gitkeep b/Providers/.gitkeep new file mode 100644 index 0000000..e69de29 diff --git a/Providers/LouketoAuthServiceProvider.php b/Providers/LouketoAuthServiceProvider.php new file mode 100644 index 0000000..310c47f --- /dev/null +++ b/Providers/LouketoAuthServiceProvider.php @@ -0,0 +1,131 @@ +registerConfig(); + $this->registerViews(); + $this->registerFactories(); + $this->loadMigrationsFrom(__DIR__ . '/../Database/Migrations'); + $this->hooks(); + } + + /** + * Module hooks. + */ + public function hooks() + { + \Eventy::addAction('middleware.web.custom_handle', function($request) { + if (!$request->user() && isset($_SERVER['HTTP_X_AUTH_EMAIL'])) { + $user = User::where('email',$_SERVER['HTTP_X_AUTH_EMAIL'])->first(); + if (!isset($user)) { + $user = User::create([ + "email" => $_SERVER['HTTP_X_AUTH_EMAIL'], + "first_name" => $_SERVER['HTTP_X_AUTH_USERNAME'], + "last_name" => ".", + "password" => str_random(64) + ]); + } + if (isset($user->email)) { + \Auth::login($user); + } + } + }, 20, 1); + } + + /** + * Register the service provider. + * + * @return void + */ + public function register() + { + $this->registerTranslations(); + } + + /** + * Register config. + * + * @return void + */ + protected function registerConfig() + { + $this->publishes([ + __DIR__.'/../Config/config.php' => config_path('louketoauth.php'), + ], 'config'); + $this->mergeConfigFrom( + __DIR__.'/../Config/config.php', 'louketoauth' + ); + } + + /** + * Register views. + * + * @return void + */ + public function registerViews() + { + $viewPath = resource_path('views/modules/louketoauth'); + + $sourcePath = __DIR__.'/../Resources/views'; + + $this->publishes([ + $sourcePath => $viewPath + ],'views'); + + $this->loadViewsFrom(array_merge(array_map(function ($path) { + return $path . '/modules/louketoauth'; + }, \Config::get('view.paths')), [$sourcePath]), 'louketoauth'); + } + + /** + * Register translations. + * + * @return void + */ + public function registerTranslations() + { + $this->loadJsonTranslationsFrom(__DIR__ .'/../Resources/lang'); + } + + /** + * Register an additional directory of factories. + * @source https://github.com/sebastiaanluca/laravel-resource-flow/blob/develop/src/Modules/ModuleServiceProvider.php#L66 + */ + public function registerFactories() + { + if (! app()->environment('production')) { + app(Factory::class)->load(__DIR__ . '/../Database/factories'); + } + } + + /** + * Get the services provided by the provider. + * + * @return array + */ + public function provides() + { + return []; + } +} diff --git a/Public/.gitkeep b/Public/.gitkeep new file mode 100644 index 0000000..e69de29 diff --git a/Resources/assets/.gitkeep b/Resources/assets/.gitkeep new file mode 100644 index 0000000..e69de29 diff --git a/Resources/lang/.gitkeep b/Resources/lang/.gitkeep new file mode 100644 index 0000000..e69de29 diff --git a/Resources/views/.gitkeep b/Resources/views/.gitkeep new file mode 100644 index 0000000..e69de29 diff --git a/Resources/views/index.blade.php b/Resources/views/index.blade.php new file mode 100644 index 0000000..91af549 --- /dev/null +++ b/Resources/views/index.blade.php @@ -0,0 +1,9 @@ +@extends('louketoauth::layouts.master') + +@section('content') +

Hello World

+ +

+ This view is loaded from module: {!! config('louketoauth.name') !!} +

+@stop diff --git a/Resources/views/layouts/master.blade.php b/Resources/views/layouts/master.blade.php new file mode 100644 index 0000000..b30b444 --- /dev/null +++ b/Resources/views/layouts/master.blade.php @@ -0,0 +1,12 @@ + + + + + + + Module LouketoAuth + + + @yield('content') + + diff --git a/Tests/.gitkeep b/Tests/.gitkeep new file mode 100644 index 0000000..e69de29 diff --git a/composer.json b/composer.json new file mode 100644 index 0000000..ed35515 --- /dev/null +++ b/composer.json @@ -0,0 +1,25 @@ +{ + "name": "freescout/louketoauth", + "description": "", + "authors": [ + { + "name": "FreeScout", + "email": "support@freescout.net" + } + ], + "extra": { + "laravel": { + "providers": [ + "Modules\\LouketoAuth\\Providers\\LouketoAuthServiceProvider" + ], + "aliases": { + + } + } + }, + "autoload": { + "psr-4": { + "Modules\\LouketoAuth\\": "" + } + } +} diff --git a/module.json b/module.json new file mode 100644 index 0000000..7d11bee --- /dev/null +++ b/module.json @@ -0,0 +1,22 @@ +{ + "name": "LouketoAuth", + "alias": "louketoauth", + "description": "", + "version": "1.0.0", + "detailsUrl": "", + "author": "", + "authorUrl": "", + "requiredAppVersion": "1.0.2", + "license": "AGPL-3.0", + "keywords": [], + "active": 0, + "order": 0, + "providers": [ + "Modules\\LouketoAuth\\Providers\\LouketoAuthServiceProvider" + ], + "aliases": {}, + "files": [ + "start.php" + ], + "requires": [] +} diff --git a/start.php b/start.php new file mode 100644 index 0000000..140a105 --- /dev/null +++ b/start.php @@ -0,0 +1,17 @@ +routesAreCached()) { + require __DIR__ . '/Http/routes.php'; +}