feat: first commit!

This commit is contained in:
saeid khakbazan 2024-01-10 21:57:47 +03:30
commit d63c3775f3
14 changed files with 176 additions and 0 deletions

34
composer.json Normal file
View File

@ -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/"
}
}
}

5
config/subscription.php Normal file
View File

@ -0,0 +1,5 @@
<?php
return [
];

0
database/factories/.keep Normal file
View File

View File

0
database/seeders/.keep Normal file
View File

0
lang/.keep Normal file
View File

30
phpunit.xml Normal file
View File

@ -0,0 +1,30 @@
<?xml version="1.0" encoding="UTF-8"?>
<phpunit backupGlobals="false"
backupStaticAttributes="false"
bootstrap="../../vendor/autoload.php"
colors="true"
convertErrorsToExceptions="true"
convertNoticesToExceptions="true"
convertWarningsToExceptions="true"
processIsolation="false"
stopOnFailure="false">
<testsuites>
<testsuite name="Subscription">
<directory suffix="Test.php">./tests</directory>
</testsuite>
</testsuites>
<filter>
<whitelist processUncoveredFilesFromWhitelist="true">
<directory suffix=".php">./src</directory>
</whitelist>
</filter>
<php>
<server name="APP_ENV" value="testing"/>
<server name="BCRYPT_ROUNDS" value="4"/>
<server name="CACHE_DRIVER" value="array"/>
<server name="MAIL_DRIVER" value="array"/>
<server name="QUEUE_CONNECTION" value="sync"/>
<server name="SESSION_DRIVER" value="array"/>
</php>
</phpunit>

11
routes/api.php Normal file
View File

@ -0,0 +1,11 @@
<?php
Route::prefix('api/v1/subscription')->group(function() {
Route::namespace("IICN\Subscription\Controllers")->group(function() {
Route::namespace("Test")->group(function() {
Route::get('test', 'Test');
});
});
});

0
src/Console/.keep Normal file
View File

View File

@ -0,0 +1,12 @@
<?php
namespace IICN\Subscription\Controllers;
use Illuminate\Foundation\Auth\Access\AuthorizesRequests;
use Illuminate\Foundation\Validation\ValidatesRequests;
use Illuminate\Routing\Controller as BaseController;
class Controller extends BaseController
{
use AuthorizesRequests, ValidatesRequests;
}

View File

@ -0,0 +1,13 @@
<?php
namespace IICN\Subscription\Controllers\Test;
use IICN\Subscription\Controllers\Controller;
class Test extends Controller
{
public function __invoke()
{
return 'test2';
}
}

0
src/Middlware/.keep Normal file
View File

View File

@ -0,0 +1,71 @@
<?php
namespace IICN\Subscription;
use Illuminate\Support\ServiceProvider;
class SubscriptionServiceProvider extends ServiceProvider
{
/**
* Bootstrap any application services.
*
* @return void
*/
public function boot(): void
{
$this->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([
// ]);
}
}
}

0
tests/.keep Normal file
View File