From d63c3775f384ae32ab90e7a415be10a39a4239fe Mon Sep 17 00:00:00 2001 From: saeid khakbazan Date: Wed, 10 Jan 2024 21:57:47 +0330 Subject: [PATCH] feat: first commit! --- composer.json | 34 ++++++++++++++ config/subscription.php | 5 ++ database/factories/.keep | 0 database/migrations/.keep | 0 database/seeders/.keep | 0 lang/.keep | 0 phpunit.xml | 30 ++++++++++++ routes/api.php | 11 +++++ src/Console/.keep | 0 src/Controllers/Controller.php | 12 +++++ src/Controllers/Test/Test.php | 13 ++++++ src/Middlware/.keep | 0 src/SubscriptionServiceProvider.php | 71 +++++++++++++++++++++++++++++ tests/.keep | 0 14 files changed, 176 insertions(+) create mode 100644 composer.json create mode 100644 config/subscription.php create mode 100644 database/factories/.keep create mode 100644 database/migrations/.keep create mode 100644 database/seeders/.keep create mode 100644 lang/.keep create mode 100644 phpunit.xml create mode 100644 routes/api.php create mode 100644 src/Console/.keep create mode 100644 src/Controllers/Controller.php create mode 100644 src/Controllers/Test/Test.php create mode 100644 src/Middlware/.keep create mode 100644 src/SubscriptionServiceProvider.php create mode 100644 tests/.keep diff --git a/composer.json b/composer.json new file mode 100644 index 0000000..b6e2903 --- /dev/null +++ b/composer.json @@ -0,0 +1,34 @@ +{ + "name": "iicn/subscription", + "description": "A short description of what your package does", + "type": "library", + "license": "MIT", + "require": { + "php": "^8.2" + }, + "autoload": { + "psr-4": { + "IICN\\Subscription\\": "src/" + }, + "classmap": [ + "database/factories/", + "database/seeders/" + ] + }, + "extra": { + "laravel": { + "providers": [ + "IICN\\Subscription\\SubscriptionServiceProvider" + ] + } + }, + "require-dev": { + "phpunit/phpunit": "^10.5.5", + "orchestra/testbench": "^8.20.0" + }, + "autoload-dev": { + "psr-4": { + "IICN\\Subscription\\Tests\\": "tests/" + } + } +} \ No newline at end of file diff --git a/config/subscription.php b/config/subscription.php new file mode 100644 index 0000000..25058db --- /dev/null +++ b/config/subscription.php @@ -0,0 +1,5 @@ + + + + + ./tests + + + + + + ./src + + + + + + + + + + + \ No newline at end of file diff --git a/routes/api.php b/routes/api.php new file mode 100644 index 0000000..01fd804 --- /dev/null +++ b/routes/api.php @@ -0,0 +1,11 @@ +group(function() { + Route::namespace("IICN\Subscription\Controllers")->group(function() { + + Route::namespace("Test")->group(function() { + Route::get('test', 'Test'); + }); + + }); +}); \ No newline at end of file diff --git a/src/Console/.keep b/src/Console/.keep new file mode 100644 index 0000000..e69de29 diff --git a/src/Controllers/Controller.php b/src/Controllers/Controller.php new file mode 100644 index 0000000..a53c35e --- /dev/null +++ b/src/Controllers/Controller.php @@ -0,0 +1,12 @@ +loadTranslationsFrom(__DIR__.'/../lang', 'subscription'); + + $this->loadMigrationsFrom(__DIR__.'/../database/migrations'); + + $this->loadRoutesFrom(__DIR__.'/../routes/api.php'); + + $this->runningInConsole(); + + $this->publish(); + } + /** + * Register the service provider. + * + * @return void + */ + public function register() + { + $this->mergeConfigFrom( + __DIR__.'/../config/subscription.php', 'subscription' + ); + } + + /** + * publishes the service provider. + * + * @return void + */ + public function publish(): void + { + $this->publishes([ + __DIR__.'/../config/subscription.php' => config_path('subscription.php'), + ]); + + $this->publishes([ + __DIR__.'/../lang' => $this->app->langPath('vendor/subscription'), + ]); + + $this->publishes([ + __DIR__.'/../database/migrations/' => database_path('migrations') + ], 'subscription-migrations'); + } + + /** + * runningInConsole the service provider. + * + * @return void + */ + public function runningInConsole(): void + { + if ($this->app->runningInConsole()) { + // $this->commands([ + + // ]); + } + } + +} \ No newline at end of file diff --git a/tests/.keep b/tests/.keep new file mode 100644 index 0000000..e69de29