[
  {
    "path": ".editorconfig",
    "content": "root = true\n\n[*]\ncharset = utf-8\nend_of_line = lf\ninsert_final_newline = true\nindent_style = space\nindent_size = 4\ntrim_trailing_whitespace = true\n\n[*.md]\ntrim_trailing_whitespace = false\n\n[*.{yml,yaml}]\nindent_size = 2\n"
  },
  {
    "path": ".gitignore",
    "content": "/vendor\n/.idea\nHomestead.json\nHomestead.yaml\n.env\n.phpunit.result.cache\n"
  },
  {
    "path": ".styleci.yml",
    "content": "php:\n  preset: laravel\n  disabled:\n    - unused_use\njs: true\ncss: true\n"
  },
  {
    "path": "README.md",
    "content": "# Lumen PHP Framework\n\n[![Build Status](https://travis-ci.org/laravel/lumen-framework.svg)](https://travis-ci.org/laravel/lumen-framework)\n[![Total Downloads](https://img.shields.io/packagist/dt/laravel/lumen-framework)](https://packagist.org/packages/laravel/lumen-framework)\n[![Latest Stable Version](https://img.shields.io/packagist/v/laravel/lumen-framework)](https://packagist.org/packages/laravel/lumen-framework)\n[![License](https://img.shields.io/packagist/l/laravel/lumen)](https://packagist.org/packages/laravel/lumen-framework)\n\nLaravel Lumen is a stunningly fast PHP micro-framework for building web applications with expressive, elegant syntax. We believe development must be an enjoyable, creative experience to be truly fulfilling. Lumen attempts to take the pain out of development by easing common tasks used in the majority of web projects, such as routing, database abstraction, queueing, and caching.\n\n> **Note:** In the years since releasing Lumen, PHP has made a variety of wonderful performance improvements. For this reason, along with the availability of [Laravel Octane](https://laravel.com/docs/octane), we no longer recommend that you begin new projects with Lumen. Instead, we recommend always beginning new projects with [Laravel](https://laravel.com).\n\n## Official Documentation\n\nDocumentation for the framework can be found on the [Lumen website](https://lumen.laravel.com/docs).\n\n## Contributing\n\nThank you for considering contributing to Lumen! The contribution guide can be found in the [Laravel documentation](https://laravel.com/docs/contributions).\n\n## Security Vulnerabilities\n\nIf you discover a security vulnerability within Lumen, please send an e-mail to Taylor Otwell at taylor@laravel.com. All security vulnerabilities will be promptly addressed.\n\n## License\n\nThe Lumen framework is open-sourced software licensed under the [MIT license](https://opensource.org/licenses/MIT).\n"
  },
  {
    "path": "app/Console/Commands/.gitkeep",
    "content": ""
  },
  {
    "path": "app/Console/Kernel.php",
    "content": "<?php\n\nnamespace App\\Console;\n\nuse Illuminate\\Console\\Scheduling\\Schedule;\nuse Laravel\\Lumen\\Console\\Kernel as ConsoleKernel;\n\nclass Kernel extends ConsoleKernel\n{\n    /**\n     * The Artisan commands provided by your application.\n     *\n     * @var array\n     */\n    protected $commands = [\n        //\n    ];\n\n    /**\n     * Define the application's command schedule.\n     *\n     * @param  \\Illuminate\\Console\\Scheduling\\Schedule  $schedule\n     * @return void\n     */\n    protected function schedule(Schedule $schedule)\n    {\n        //\n    }\n}\n"
  },
  {
    "path": "app/Events/Event.php",
    "content": "<?php\n\nnamespace App\\Events;\n\nuse Illuminate\\Queue\\SerializesModels;\n\nabstract class Event\n{\n    use SerializesModels;\n}\n"
  },
  {
    "path": "app/Events/ExampleEvent.php",
    "content": "<?php\n\nnamespace App\\Events;\n\nclass ExampleEvent extends Event\n{\n    /**\n     * Create a new event instance.\n     *\n     * @return void\n     */\n    public function __construct()\n    {\n        //\n    }\n}\n"
  },
  {
    "path": "app/Exceptions/Handler.php",
    "content": "<?php\n\nnamespace App\\Exceptions;\n\nuse Illuminate\\Auth\\Access\\AuthorizationException;\nuse Illuminate\\Database\\Eloquent\\ModelNotFoundException;\nuse Illuminate\\Validation\\ValidationException;\nuse Laravel\\Lumen\\Exceptions\\Handler as ExceptionHandler;\nuse Symfony\\Component\\HttpKernel\\Exception\\HttpException;\nuse Throwable;\n\nclass Handler extends ExceptionHandler\n{\n    /**\n     * A list of the exception types that should not be reported.\n     *\n     * @var array\n     */\n    protected $dontReport = [\n        AuthorizationException::class,\n        HttpException::class,\n        ModelNotFoundException::class,\n        ValidationException::class,\n    ];\n\n    /**\n     * Report or log an exception.\n     *\n     * This is a great spot to send exceptions to Sentry, Bugsnag, etc.\n     *\n     * @param  \\Throwable  $exception\n     * @return void\n     *\n     * @throws \\Exception\n     */\n    public function report(Throwable $exception)\n    {\n        parent::report($exception);\n    }\n\n    /**\n     * Render an exception into an HTTP response.\n     *\n     * @param  \\Illuminate\\Http\\Request  $request\n     * @param  \\Throwable  $exception\n     * @return \\Illuminate\\Http\\Response|\\Illuminate\\Http\\JsonResponse\n     *\n     * @throws \\Throwable\n     */\n    public function render($request, Throwable $exception)\n    {\n        return parent::render($request, $exception);\n    }\n}\n"
  },
  {
    "path": "app/Http/Controllers/Controller.php",
    "content": "<?php\n\nnamespace App\\Http\\Controllers;\n\nuse Laravel\\Lumen\\Routing\\Controller as BaseController;\n\nclass Controller extends BaseController\n{\n    //\n}\n"
  },
  {
    "path": "app/Http/Controllers/ExampleController.php",
    "content": "<?php\n\nnamespace App\\Http\\Controllers;\n\nclass ExampleController extends Controller\n{\n    /**\n     * Create a new controller instance.\n     *\n     * @return void\n     */\n    public function __construct()\n    {\n        //\n    }\n\n    //\n}\n"
  },
  {
    "path": "app/Http/Middleware/Authenticate.php",
    "content": "<?php\n\nnamespace App\\Http\\Middleware;\n\nuse Closure;\nuse Illuminate\\Contracts\\Auth\\Factory as Auth;\n\nclass Authenticate\n{\n    /**\n     * The authentication guard factory instance.\n     *\n     * @var \\Illuminate\\Contracts\\Auth\\Factory\n     */\n    protected $auth;\n\n    /**\n     * Create a new middleware instance.\n     *\n     * @param  \\Illuminate\\Contracts\\Auth\\Factory  $auth\n     * @return void\n     */\n    public function __construct(Auth $auth)\n    {\n        $this->auth = $auth;\n    }\n\n    /**\n     * Handle an incoming request.\n     *\n     * @param  \\Illuminate\\Http\\Request  $request\n     * @param  \\Closure  $next\n     * @param  string|null  $guard\n     * @return mixed\n     */\n    public function handle($request, Closure $next, $guard = null)\n    {\n        if ($this->auth->guard($guard)->guest()) {\n            return response('Unauthorized.', 401);\n        }\n\n        return $next($request);\n    }\n}\n"
  },
  {
    "path": "app/Http/Middleware/ExampleMiddleware.php",
    "content": "<?php\n\nnamespace App\\Http\\Middleware;\n\nuse Closure;\n\nclass ExampleMiddleware\n{\n    /**\n     * Handle an incoming request.\n     *\n     * @param  \\Illuminate\\Http\\Request  $request\n     * @param  \\Closure  $next\n     * @return mixed\n     */\n    public function handle($request, Closure $next)\n    {\n        return $next($request);\n    }\n}\n"
  },
  {
    "path": "app/Jobs/ExampleJob.php",
    "content": "<?php\n\nnamespace App\\Jobs;\n\nclass ExampleJob extends Job\n{\n    /**\n     * Create a new job instance.\n     *\n     * @return void\n     */\n    public function __construct()\n    {\n        //\n    }\n\n    /**\n     * Execute the job.\n     *\n     * @return void\n     */\n    public function handle()\n    {\n        //\n    }\n}\n"
  },
  {
    "path": "app/Jobs/Job.php",
    "content": "<?php\n\nnamespace App\\Jobs;\n\nuse Illuminate\\Bus\\Queueable;\nuse Illuminate\\Contracts\\Queue\\ShouldQueue;\nuse Illuminate\\Queue\\InteractsWithQueue;\nuse Illuminate\\Queue\\SerializesModels;\n\nabstract class Job implements ShouldQueue\n{\n    /*\n    |--------------------------------------------------------------------------\n    | Queueable Jobs\n    |--------------------------------------------------------------------------\n    |\n    | This job base class provides a central location to place any logic that\n    | is shared across all of your jobs. The trait included with the class\n    | provides access to the \"queueOn\" and \"delay\" queue helper methods.\n    |\n    */\n\n    use InteractsWithQueue, Queueable, SerializesModels;\n}\n"
  },
  {
    "path": "app/Listeners/ExampleListener.php",
    "content": "<?php\n\nnamespace App\\Listeners;\n\nuse App\\Events\\ExampleEvent;\nuse Illuminate\\Contracts\\Queue\\ShouldQueue;\nuse Illuminate\\Queue\\InteractsWithQueue;\n\nclass ExampleListener\n{\n    /**\n     * Create the event listener.\n     *\n     * @return void\n     */\n    public function __construct()\n    {\n        //\n    }\n\n    /**\n     * Handle the event.\n     *\n     * @param  \\App\\Events\\ExampleEvent  $event\n     * @return void\n     */\n    public function handle(ExampleEvent $event)\n    {\n        //\n    }\n}\n"
  },
  {
    "path": "app/Models/User.php",
    "content": "<?php\n\nnamespace App\\Models;\n\nuse Illuminate\\Auth\\Authenticatable;\nuse Illuminate\\Contracts\\Auth\\Access\\Authorizable as AuthorizableContract;\nuse Illuminate\\Contracts\\Auth\\Authenticatable as AuthenticatableContract;\nuse Illuminate\\Database\\Eloquent\\Factories\\HasFactory;\nuse Illuminate\\Database\\Eloquent\\Model;\nuse Laravel\\Lumen\\Auth\\Authorizable;\n\nclass User extends Model implements AuthenticatableContract, AuthorizableContract\n{\n    use Authenticatable, Authorizable, HasFactory;\n\n    /**\n     * The attributes that are mass assignable.\n     *\n     * @var string[]\n     */\n    protected $fillable = [\n        'name', 'email',\n    ];\n\n    /**\n     * The attributes excluded from the model's JSON form.\n     *\n     * @var string[]\n     */\n    protected $hidden = [\n        'password',\n    ];\n}\n"
  },
  {
    "path": "app/Providers/AppServiceProvider.php",
    "content": "<?php\n\nnamespace App\\Providers;\n\nuse Illuminate\\Support\\ServiceProvider;\n\nclass AppServiceProvider extends ServiceProvider\n{\n    /**\n     * Register any application services.\n     *\n     * @return void\n     */\n    public function register()\n    {\n        //\n    }\n}\n"
  },
  {
    "path": "app/Providers/AuthServiceProvider.php",
    "content": "<?php\n\nnamespace App\\Providers;\n\nuse App\\Models\\User;\nuse Illuminate\\Support\\Facades\\Gate;\nuse Illuminate\\Support\\ServiceProvider;\n\nclass AuthServiceProvider extends ServiceProvider\n{\n    /**\n     * Register any application services.\n     *\n     * @return void\n     */\n    public function register()\n    {\n        //\n    }\n\n    /**\n     * Boot the authentication services for the application.\n     *\n     * @return void\n     */\n    public function boot()\n    {\n        // Here you may define how you wish users to be authenticated for your Lumen\n        // application. The callback which receives the incoming request instance\n        // should return either a User instance or null. You're free to obtain\n        // the User instance via an API token or any other method necessary.\n\n        $this->app['auth']->viaRequest('api', function ($request) {\n            if ($request->input('api_token')) {\n                return User::where('api_token', $request->input('api_token'))->first();\n            }\n        });\n    }\n}\n"
  },
  {
    "path": "app/Providers/EventServiceProvider.php",
    "content": "<?php\n\nnamespace App\\Providers;\n\nuse Laravel\\Lumen\\Providers\\EventServiceProvider as ServiceProvider;\n\nclass EventServiceProvider extends ServiceProvider\n{\n    /**\n     * The event listener mappings for the application.\n     *\n     * @var array\n     */\n    protected $listen = [\n        \\App\\Events\\ExampleEvent::class => [\n            \\App\\Listeners\\ExampleListener::class,\n        ],\n    ];\n\n    /**\n     * Determine if events and listeners should be automatically discovered.\n     *\n     * @return bool\n     */\n    public function shouldDiscoverEvents()\n    {\n        return false;\n    }\n}\n"
  },
  {
    "path": "artisan",
    "content": "#!/usr/bin/env php\n<?php\n\nuse Symfony\\Component\\Console\\Input\\ArgvInput;\nuse Symfony\\Component\\Console\\Output\\ConsoleOutput;\n\n/*\n|--------------------------------------------------------------------------\n| Create The Application\n|--------------------------------------------------------------------------\n|\n| First we need to get an application instance. This creates an instance\n| of the application / container and bootstraps the application so it\n| is ready to receive HTTP / Console requests from the environment.\n|\n*/\n\n$app = require __DIR__.'/bootstrap/app.php';\n\n/*\n|--------------------------------------------------------------------------\n| Run The Artisan Application\n|--------------------------------------------------------------------------\n|\n| When we run the console application, the current CLI command will be\n| executed in this console and the response sent back to a terminal\n| or another output device for the developers. Here goes nothing!\n|\n*/\n\n$kernel = $app->make(\n    'Illuminate\\Contracts\\Console\\Kernel'\n);\n\nexit($kernel->handle(new ArgvInput, new ConsoleOutput));\n"
  },
  {
    "path": "bootstrap/app.php",
    "content": "<?php\n\nrequire_once __DIR__.'/../vendor/autoload.php';\n\n(new Laravel\\Lumen\\Bootstrap\\LoadEnvironmentVariables(\n    dirname(__DIR__)\n))->bootstrap();\n\ndate_default_timezone_set(env('APP_TIMEZONE', 'UTC'));\n\n/*\n|--------------------------------------------------------------------------\n| Create The Application\n|--------------------------------------------------------------------------\n|\n| Here we will load the environment and create the application instance\n| that serves as the central piece of this framework. We'll use this\n| application as an \"IoC\" container and router for this framework.\n|\n*/\n\n$app = new Laravel\\Lumen\\Application(\n    dirname(__DIR__)\n);\n\n// $app->withFacades();\n\n// $app->withEloquent();\n\n/*\n|--------------------------------------------------------------------------\n| Register Container Bindings\n|--------------------------------------------------------------------------\n|\n| Now we will register a few bindings in the service container. We will\n| register the exception handler and the console kernel. You may add\n| your own bindings here if you like or you can make another file.\n|\n*/\n\n$app->singleton(\n    Illuminate\\Contracts\\Debug\\ExceptionHandler::class,\n    App\\Exceptions\\Handler::class\n);\n\n$app->singleton(\n    Illuminate\\Contracts\\Console\\Kernel::class,\n    App\\Console\\Kernel::class\n);\n\n/*\n|--------------------------------------------------------------------------\n| Register Config Files\n|--------------------------------------------------------------------------\n|\n| Now we will register the \"app\" configuration file. If the file exists in\n| your configuration directory it will be loaded; otherwise, we'll load\n| the default version. You may register other files below as needed.\n|\n*/\n\n$app->configure('app');\n\n/*\n|--------------------------------------------------------------------------\n| Register Middleware\n|--------------------------------------------------------------------------\n|\n| Next, we will register the middleware with the application. These can\n| be global middleware that run before and after each request into a\n| route or middleware that'll be assigned to some specific routes.\n|\n*/\n\n// $app->middleware([\n//     App\\Http\\Middleware\\ExampleMiddleware::class\n// ]);\n\n// $app->routeMiddleware([\n//     'auth' => App\\Http\\Middleware\\Authenticate::class,\n// ]);\n\n/*\n|--------------------------------------------------------------------------\n| Register Service Providers\n|--------------------------------------------------------------------------\n|\n| Here we will register all of the application's service providers which\n| are used to bind services into the container. Service providers are\n| totally optional, so you are not required to uncomment this line.\n|\n*/\n\n// $app->register(App\\Providers\\AppServiceProvider::class);\n// $app->register(App\\Providers\\AuthServiceProvider::class);\n// $app->register(App\\Providers\\EventServiceProvider::class);\n\n/*\n|--------------------------------------------------------------------------\n| Load The Application Routes\n|--------------------------------------------------------------------------\n|\n| Next we will include the routes file so that they can all be added to\n| the application. This will provide all of the URLs the application\n| can respond to, as well as the controllers that may handle them.\n|\n*/\n\n$app->router->group([\n    'namespace' => 'App\\Http\\Controllers',\n], function ($router) {\n    require __DIR__.'/../routes/web.php';\n});\n\nreturn $app;\n"
  },
  {
    "path": "composer.json",
    "content": "{\n    \"name\": \"laravel/lumen\",\n    \"description\": \"The Laravel Lumen Framework.\",\n    \"keywords\": [\"framework\", \"laravel\", \"lumen\"],\n    \"license\": \"MIT\",\n    \"type\": \"project\",\n    \"require\": {\n        \"php\": \"^8.1\",\n        \"laravel/lumen-framework\": \"^10.0\"\n    },\n    \"require-dev\": {\n        \"fakerphp/faker\": \"^1.9.1\",\n        \"mockery/mockery\": \"^1.4.4\",\n        \"phpunit/phpunit\": \"^10.0\"\n    },\n    \"autoload\": {\n        \"psr-4\": {\n            \"App\\\\\": \"app/\",\n            \"Database\\\\Factories\\\\\": \"database/factories/\",\n            \"Database\\\\Seeders\\\\\": \"database/seeders/\"\n        }\n    },\n    \"autoload-dev\": {\n        \"psr-4\": {\n            \"Tests\\\\\": \"tests/\"\n        }\n    },\n    \"scripts\": {\n        \"post-root-package-install\": [\n            \"@php -r \\\"file_exists('.env') || copy('.env.example', '.env');\\\"\"\n        ]\n    },\n    \"config\": {\n        \"optimize-autoloader\": true,\n        \"preferred-install\": \"dist\",\n        \"sort-packages\": true\n    },\n    \"minimum-stability\": \"stable\",\n    \"prefer-stable\": true\n}\n"
  },
  {
    "path": "database/factories/UserFactory.php",
    "content": "<?php\n\nnamespace Database\\Factories;\n\nuse App\\Models\\User;\nuse Illuminate\\Database\\Eloquent\\Factories\\Factory;\n\nclass UserFactory extends Factory\n{\n    /**\n     * The name of the factory's corresponding model.\n     *\n     * @var string\n     */\n    protected $model = User::class;\n\n    /**\n     * Define the model's default state.\n     *\n     * @return array\n     */\n    public function definition()\n    {\n        return [\n            'name' => $this->faker->name,\n            'email' => $this->faker->unique()->safeEmail,\n        ];\n    }\n}\n"
  },
  {
    "path": "database/migrations/.gitkeep",
    "content": ""
  },
  {
    "path": "database/seeders/DatabaseSeeder.php",
    "content": "<?php\n\nnamespace Database\\Seeders;\n\nuse Illuminate\\Database\\Console\\Seeds\\WithoutModelEvents;\nuse Illuminate\\Database\\Seeder;\n\nclass DatabaseSeeder extends Seeder\n{\n    /**\n     * Run the database seeds.\n     *\n     * @return void\n     */\n    public function run()\n    {\n        // $this->call('UsersTableSeeder');\n    }\n}\n"
  },
  {
    "path": "phpunit.xml",
    "content": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<phpunit xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\"\n         xsi:noNamespaceSchemaLocation=\"./vendor/phpunit/phpunit/phpunit.xsd\"\n         bootstrap=\"vendor/autoload.php\"\n         colors=\"true\"\n>\n    <testsuites>\n        <testsuite name=\"Application Test Suite\">\n            <directory suffix=\"Test.php\">./tests</directory>\n        </testsuite>\n    </testsuites>\n    <php>\n        <env name=\"APP_ENV\" value=\"testing\"/>\n        <env name=\"CACHE_DRIVER\" value=\"array\"/>\n        <env name=\"QUEUE_CONNECTION\" value=\"sync\"/>\n    </php>\n</phpunit>\n"
  },
  {
    "path": "public/.htaccess",
    "content": "<IfModule mod_rewrite.c>\n    <IfModule mod_negotiation.c>\n        Options -MultiViews -Indexes\n    </IfModule>\n\n    RewriteEngine On\n\n    # Handle Authorization Header\n    RewriteCond %{HTTP:Authorization} .\n    RewriteRule .* - [E=HTTP_AUTHORIZATION:%{HTTP:Authorization}]\n\n    # Redirect Trailing Slashes If Not A Folder...\n    RewriteCond %{REQUEST_FILENAME} !-d\n    RewriteCond %{REQUEST_URI} (.+)/$\n    RewriteRule ^ %1 [L,R=301]\n\n    # Handle Front Controller...\n    RewriteCond %{REQUEST_FILENAME} !-d\n    RewriteCond %{REQUEST_FILENAME} !-f\n    RewriteRule ^ index.php [L]\n</IfModule>\n"
  },
  {
    "path": "public/index.php",
    "content": "<?php\n\n/*\n|--------------------------------------------------------------------------\n| Create The Application\n|--------------------------------------------------------------------------\n|\n| First we need to get an application instance. This creates an instance\n| of the application / container and bootstraps the application so it\n| is ready to receive HTTP / Console requests from the environment.\n|\n*/\n\n$app = require __DIR__.'/../bootstrap/app.php';\n\n/*\n|--------------------------------------------------------------------------\n| Run The Application\n|--------------------------------------------------------------------------\n|\n| Once we have the application, we can handle the incoming request\n| through the kernel, and send the associated response back to\n| the client's browser allowing them to enjoy the creative\n| and wonderful application we have prepared for them.\n|\n*/\n\n$app->run();\n"
  },
  {
    "path": "resources/views/.gitkeep",
    "content": ""
  },
  {
    "path": "routes/web.php",
    "content": "<?php\n\n/** @var \\Laravel\\Lumen\\Routing\\Router $router */\n\n/*\n|--------------------------------------------------------------------------\n| Application Routes\n|--------------------------------------------------------------------------\n|\n| Here is where you can register all of the routes for an application.\n| It is a breeze. Simply tell Lumen the URIs it should respond to\n| and give it the Closure to call when that URI is requested.\n|\n*/\n\n$router->get('/', function () use ($router) {\n    return $router->app->version();\n});\n"
  },
  {
    "path": "storage/app/.gitignore",
    "content": "*\n!.gitignore\n"
  },
  {
    "path": "storage/framework/cache/.gitignore",
    "content": "*\n!data/\n!.gitignore\n"
  },
  {
    "path": "storage/framework/views/.gitignore",
    "content": "*\n!.gitignore\n"
  },
  {
    "path": "storage/logs/.gitignore",
    "content": "*\n!.gitignore\n"
  },
  {
    "path": "tests/ExampleTest.php",
    "content": "<?php\n\nnamespace Tests;\n\nuse Laravel\\Lumen\\Testing\\DatabaseMigrations;\nuse Laravel\\Lumen\\Testing\\DatabaseTransactions;\n\nclass ExampleTest extends TestCase\n{\n    /**\n     * A basic test example.\n     *\n     * @return void\n     */\n    public function test_that_base_endpoint_returns_a_successful_response()\n    {\n        $this->get('/');\n\n        $this->assertEquals(\n            $this->app->version(), $this->response->getContent()\n        );\n    }\n}\n"
  },
  {
    "path": "tests/TestCase.php",
    "content": "<?php\n\nnamespace Tests;\n\nuse Laravel\\Lumen\\Testing\\TestCase as BaseTestCase;\n\nabstract class TestCase extends BaseTestCase\n{\n    /**\n     * Creates the application.\n     *\n     * @return \\Laravel\\Lumen\\Application\n     */\n    public function createApplication()\n    {\n        return require __DIR__.'/../bootstrap/app.php';\n    }\n}\n"
  }
]