firstcommit
This commit is contained in:
0
Modules/CountryList/app/Http/Controllers/.gitkeep
Normal file
0
Modules/CountryList/app/Http/Controllers/.gitkeep
Normal file
@@ -0,0 +1,67 @@
|
||||
<?php
|
||||
|
||||
namespace Modules\CountryList\app\Http\Controllers;
|
||||
|
||||
use App\Http\Controllers\Controller;
|
||||
use Illuminate\Http\RedirectResponse;
|
||||
use Illuminate\Http\Request;
|
||||
use Illuminate\Http\Response;
|
||||
|
||||
class CountryListController extends Controller
|
||||
{
|
||||
/**
|
||||
* Display a listing of the resource.
|
||||
*/
|
||||
public function index()
|
||||
{
|
||||
return view('countrylist::index');
|
||||
}
|
||||
|
||||
/**
|
||||
* Show the form for creating a new resource.
|
||||
*/
|
||||
public function create()
|
||||
{
|
||||
return view('countrylist::create');
|
||||
}
|
||||
|
||||
/**
|
||||
* Store a newly created resource in storage.
|
||||
*/
|
||||
public function store(Request $request): RedirectResponse
|
||||
{
|
||||
//
|
||||
}
|
||||
|
||||
/**
|
||||
* Show the specified resource.
|
||||
*/
|
||||
public function show($id)
|
||||
{
|
||||
return view('countrylist::show');
|
||||
}
|
||||
|
||||
/**
|
||||
* Show the form for editing the specified resource.
|
||||
*/
|
||||
public function edit($id)
|
||||
{
|
||||
return view('countrylist::edit');
|
||||
}
|
||||
|
||||
/**
|
||||
* Update the specified resource in storage.
|
||||
*/
|
||||
public function update(Request $request, $id): RedirectResponse
|
||||
{
|
||||
//
|
||||
}
|
||||
|
||||
/**
|
||||
* Remove the specified resource from storage.
|
||||
*/
|
||||
public function destroy($id)
|
||||
{
|
||||
//
|
||||
}
|
||||
}
|
0
Modules/CountryList/app/Http/Middleware/.gitkeep
Normal file
0
Modules/CountryList/app/Http/Middleware/.gitkeep
Normal file
0
Modules/CountryList/app/Http/Requests/.gitkeep
Normal file
0
Modules/CountryList/app/Http/Requests/.gitkeep
Normal file
0
Modules/CountryList/app/Models/.gitkeep
Normal file
0
Modules/CountryList/app/Models/.gitkeep
Normal file
36
Modules/CountryList/app/Models/Country.php
Normal file
36
Modules/CountryList/app/Models/Country.php
Normal file
@@ -0,0 +1,36 @@
|
||||
<?php
|
||||
|
||||
namespace Modules\CountryList\app\Models;
|
||||
|
||||
use Illuminate\Database\Eloquent\Model;
|
||||
use Modules\Destination\app\Models\Destination;
|
||||
use Illuminate\Database\Eloquent\Factories\HasFactory;
|
||||
use Modules\CountryList\Database\factories\CountryFactory;
|
||||
use Modules\Package\app\Models\Package;
|
||||
|
||||
class Country extends Model
|
||||
{
|
||||
use HasFactory;
|
||||
|
||||
/**
|
||||
* The attributes that are mass assignable.
|
||||
*/
|
||||
protected $fillable = [
|
||||
'name',
|
||||
'code',
|
||||
];
|
||||
|
||||
public function destinations(){
|
||||
return $this->hasMany(Destination::class);
|
||||
}
|
||||
|
||||
public function packages(){
|
||||
return $this->hasMany(Package::class);
|
||||
}
|
||||
|
||||
protected static function newFactory(): CountryFactory
|
||||
{
|
||||
//return CountryFactory::new();
|
||||
|
||||
}
|
||||
}
|
0
Modules/CountryList/app/Providers/.gitkeep
Normal file
0
Modules/CountryList/app/Providers/.gitkeep
Normal file
114
Modules/CountryList/app/Providers/CountryListServiceProvider.php
Normal file
114
Modules/CountryList/app/Providers/CountryListServiceProvider.php
Normal file
@@ -0,0 +1,114 @@
|
||||
<?php
|
||||
|
||||
namespace Modules\CountryList\app\Providers;
|
||||
|
||||
use Illuminate\Support\Facades\Blade;
|
||||
use Illuminate\Support\ServiceProvider;
|
||||
|
||||
class CountryListServiceProvider extends ServiceProvider
|
||||
{
|
||||
protected string $moduleName = 'CountryList';
|
||||
|
||||
protected string $moduleNameLower = 'countrylist';
|
||||
|
||||
/**
|
||||
* Boot the application events.
|
||||
*/
|
||||
public function boot(): void
|
||||
{
|
||||
$this->registerCommands();
|
||||
$this->registerCommandSchedules();
|
||||
$this->registerTranslations();
|
||||
$this->registerConfig();
|
||||
$this->registerViews();
|
||||
$this->loadMigrationsFrom(module_path($this->moduleName, 'database/migrations'));
|
||||
}
|
||||
|
||||
/**
|
||||
* Register the service provider.
|
||||
*/
|
||||
public function register(): void
|
||||
{
|
||||
$this->app->register(RouteServiceProvider::class);
|
||||
}
|
||||
|
||||
/**
|
||||
* Register commands in the format of Command::class
|
||||
*/
|
||||
protected function registerCommands(): void
|
||||
{
|
||||
// $this->commands([]);
|
||||
}
|
||||
|
||||
/**
|
||||
* Register command Schedules.
|
||||
*/
|
||||
protected function registerCommandSchedules(): void
|
||||
{
|
||||
// $this->app->booted(function () {
|
||||
// $schedule = $this->app->make(Schedule::class);
|
||||
// $schedule->command('inspire')->hourly();
|
||||
// });
|
||||
}
|
||||
|
||||
/**
|
||||
* Register translations.
|
||||
*/
|
||||
public function registerTranslations(): void
|
||||
{
|
||||
$langPath = resource_path('lang/modules/'.$this->moduleNameLower);
|
||||
|
||||
if (is_dir($langPath)) {
|
||||
$this->loadTranslationsFrom($langPath, $this->moduleNameLower);
|
||||
$this->loadJsonTranslationsFrom($langPath);
|
||||
} else {
|
||||
$this->loadTranslationsFrom(module_path($this->moduleName, 'lang'), $this->moduleNameLower);
|
||||
$this->loadJsonTranslationsFrom(module_path($this->moduleName, 'lang'));
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Register config.
|
||||
*/
|
||||
protected function registerConfig(): void
|
||||
{
|
||||
$this->publishes([module_path($this->moduleName, 'config/config.php') => config_path($this->moduleNameLower.'.php')], 'config');
|
||||
$this->mergeConfigFrom(module_path($this->moduleName, 'config/config.php'), $this->moduleNameLower);
|
||||
}
|
||||
|
||||
/**
|
||||
* Register views.
|
||||
*/
|
||||
public function registerViews(): void
|
||||
{
|
||||
$viewPath = resource_path('views/modules/'.$this->moduleNameLower);
|
||||
$sourcePath = module_path($this->moduleName, 'resources/views');
|
||||
|
||||
$this->publishes([$sourcePath => $viewPath], ['views', $this->moduleNameLower.'-module-views']);
|
||||
|
||||
$this->loadViewsFrom(array_merge($this->getPublishableViewPaths(), [$sourcePath]), $this->moduleNameLower);
|
||||
|
||||
$componentNamespace = str_replace('/', '\\', config('modules.namespace').'\\'.$this->moduleName.'\\'.config('modules.paths.generator.component-class.path'));
|
||||
Blade::componentNamespace($componentNamespace, $this->moduleNameLower);
|
||||
}
|
||||
|
||||
/**
|
||||
* Get the services provided by the provider.
|
||||
*/
|
||||
public function provides(): array
|
||||
{
|
||||
return [];
|
||||
}
|
||||
|
||||
private function getPublishableViewPaths(): array
|
||||
{
|
||||
$paths = [];
|
||||
foreach (config('view.paths') as $path) {
|
||||
if (is_dir($path.'/modules/'.$this->moduleNameLower)) {
|
||||
$paths[] = $path.'/modules/'.$this->moduleNameLower;
|
||||
}
|
||||
}
|
||||
|
||||
return $paths;
|
||||
}
|
||||
}
|
59
Modules/CountryList/app/Providers/RouteServiceProvider.php
Normal file
59
Modules/CountryList/app/Providers/RouteServiceProvider.php
Normal file
@@ -0,0 +1,59 @@
|
||||
<?php
|
||||
|
||||
namespace Modules\CountryList\app\Providers;
|
||||
|
||||
use Illuminate\Support\Facades\Route;
|
||||
use Illuminate\Foundation\Support\Providers\RouteServiceProvider as ServiceProvider;
|
||||
|
||||
class RouteServiceProvider extends ServiceProvider
|
||||
{
|
||||
/**
|
||||
* The module namespace to assume when generating URLs to actions.
|
||||
*/
|
||||
protected string $moduleNamespace = 'Modules\CountryList\app\Http\Controllers';
|
||||
|
||||
/**
|
||||
* Called before routes are registered.
|
||||
*
|
||||
* Register any model bindings or pattern based filters.
|
||||
*/
|
||||
public function boot(): void
|
||||
{
|
||||
parent::boot();
|
||||
}
|
||||
|
||||
/**
|
||||
* Define the routes for the application.
|
||||
*/
|
||||
public function map(): void
|
||||
{
|
||||
$this->mapApiRoutes();
|
||||
|
||||
$this->mapWebRoutes();
|
||||
}
|
||||
|
||||
/**
|
||||
* Define the "web" routes for the application.
|
||||
*
|
||||
* These routes all receive session state, CSRF protection, etc.
|
||||
*/
|
||||
protected function mapWebRoutes(): void
|
||||
{
|
||||
Route::middleware('web')
|
||||
->namespace($this->moduleNamespace)
|
||||
->group(module_path('CountryList', '/routes/web.php'));
|
||||
}
|
||||
|
||||
/**
|
||||
* Define the "api" routes for the application.
|
||||
*
|
||||
* These routes are typically stateless.
|
||||
*/
|
||||
protected function mapApiRoutes(): void
|
||||
{
|
||||
Route::prefix('api')
|
||||
->middleware('api')
|
||||
->namespace($this->moduleNamespace)
|
||||
->group(module_path('CountryList', '/routes/api.php'));
|
||||
}
|
||||
}
|
31
Modules/CountryList/composer.json
Normal file
31
Modules/CountryList/composer.json
Normal file
@@ -0,0 +1,31 @@
|
||||
{
|
||||
"name": "nwidart/countrylist",
|
||||
"description": "",
|
||||
"authors": [
|
||||
{
|
||||
"name": "Nicolas Widart",
|
||||
"email": "n.widart@gmail.com"
|
||||
}
|
||||
],
|
||||
"extra": {
|
||||
"laravel": {
|
||||
"providers": [],
|
||||
"aliases": {
|
||||
|
||||
}
|
||||
}
|
||||
},
|
||||
"autoload": {
|
||||
"psr-4": {
|
||||
"Modules\\CountryList\\": "",
|
||||
"Modules\\CountryList\\App\\": "app/",
|
||||
"Modules\\CountryList\\Database\\Factories\\": "database/factories/",
|
||||
"Modules\\CountryList\\Database\\Seeders\\": "database/seeders/"
|
||||
}
|
||||
},
|
||||
"autoload-dev": {
|
||||
"psr-4": {
|
||||
"Modules\\CountryList\\Tests\\": "tests/"
|
||||
}
|
||||
}
|
||||
}
|
0
Modules/CountryList/config/.gitkeep
Normal file
0
Modules/CountryList/config/.gitkeep
Normal file
5
Modules/CountryList/config/config.php
Normal file
5
Modules/CountryList/config/config.php
Normal file
@@ -0,0 +1,5 @@
|
||||
<?php
|
||||
|
||||
return [
|
||||
'name' => 'CountryList',
|
||||
];
|
0
Modules/CountryList/database/factories/.gitkeep
Normal file
0
Modules/CountryList/database/factories/.gitkeep
Normal file
0
Modules/CountryList/database/migrations/.gitkeep
Normal file
0
Modules/CountryList/database/migrations/.gitkeep
Normal file
@@ -0,0 +1,29 @@
|
||||
<?php
|
||||
|
||||
use Illuminate\Database\Migrations\Migration;
|
||||
use Illuminate\Database\Schema\Blueprint;
|
||||
use Illuminate\Support\Facades\Schema;
|
||||
|
||||
return new class extends Migration
|
||||
{
|
||||
/**
|
||||
* Run the migrations.
|
||||
*/
|
||||
public function up(): void
|
||||
{
|
||||
Schema::create('countries', function (Blueprint $table) {
|
||||
$table->id();
|
||||
$table->string('name');
|
||||
$table->string('code');
|
||||
$table->timestamps();
|
||||
});
|
||||
}
|
||||
|
||||
/**
|
||||
* Reverse the migrations.
|
||||
*/
|
||||
public function down(): void
|
||||
{
|
||||
Schema::dropIfExists('countries');
|
||||
}
|
||||
};
|
0
Modules/CountryList/database/seeders/.gitkeep
Normal file
0
Modules/CountryList/database/seeders/.gitkeep
Normal file
@@ -0,0 +1,269 @@
|
||||
<?php
|
||||
|
||||
namespace Modules\CountryList\database\seeders;
|
||||
|
||||
use Illuminate\Database\Seeder;
|
||||
use Modules\CountryList\app\Models\Country;
|
||||
|
||||
class CountryListDatabaseSeeder extends Seeder
|
||||
{
|
||||
/**
|
||||
* Run the database seeds.
|
||||
*/
|
||||
public function run(): void
|
||||
{
|
||||
// $this->call([]);
|
||||
|
||||
Country::insert([
|
||||
['name' => 'Afghanistan', 'code' => 'AF'],
|
||||
['name' => 'Åland Islands', 'code' => 'AX'],
|
||||
['name' => 'Albania', 'code' => 'AL'],
|
||||
['name' => 'Algeria', 'code' => 'DZ'],
|
||||
['name' => 'American Samoa', 'code' => 'AS'],
|
||||
['name' => 'Andorra', 'code' => 'AD'],
|
||||
['name' => 'Angola', 'code' => 'AO'],
|
||||
['name' => 'Anguilla', 'code' => 'AI'],
|
||||
['name' => 'Antarctica', 'code' => 'AQ'],
|
||||
['name' => 'Antigua and Barbuda', 'code' => 'AG'],
|
||||
['name' => 'Argentina', 'code' => 'AR'],
|
||||
['name' => 'Armenia', 'code' => 'AM'],
|
||||
['name' => 'Aruba', 'code' => 'AW'],
|
||||
['name' => 'Australia', 'code' => 'AU'],
|
||||
['name' => 'Austria', 'code' => 'AT'],
|
||||
['name' => 'Azerbaijan', 'code' => 'AZ'],
|
||||
['name' => 'Bahamas', 'code' => 'BS'],
|
||||
['name' => 'Bahrain', 'code' => 'BH'],
|
||||
['name' => 'Bangladesh', 'code' => 'BD'],
|
||||
['name' => 'Barbados', 'code' => 'BB'],
|
||||
['name' => 'Belarus', 'code' => 'BY'],
|
||||
['name' => 'Belgium', 'code' => 'BE'],
|
||||
['name' => 'Belize', 'code' => 'BZ'],
|
||||
['name' => 'Benin', 'code' => 'BJ'],
|
||||
['name' => 'Bermuda', 'code' => 'BM'],
|
||||
['name' => 'Bhutan', 'code' => 'BT'],
|
||||
['name' => 'Bolivia, Plurinational State of', 'code' => 'BO'],
|
||||
['name' => 'Bonaire, Sint Eustatius and Saba', 'code' => 'BQ'],
|
||||
['name' => 'Bosnia and Herzegovina', 'code' => 'BA'],
|
||||
['name' => 'Botswana', 'code' => 'BW'],
|
||||
['name' => 'Bouvet Island', 'code' => 'BV'],
|
||||
['name' => 'Brazil', 'code' => 'BR'],
|
||||
['name' => 'British Indian Ocean Territory', 'code' => 'IO'],
|
||||
['name' => 'Brunei Darussalam', 'code' => 'BN'],
|
||||
['name' => 'Bulgaria', 'code' => 'BG'],
|
||||
['name' => 'Burkina Faso', 'code' => 'BF'],
|
||||
['name' => 'Burundi', 'code' => 'BI'],
|
||||
['name' => 'Cambodia', 'code' => 'KH'],
|
||||
['name' => 'Cameroon', 'code' => 'CM'],
|
||||
['name' => 'Canada', 'code' => 'CA'],
|
||||
['name' => 'Cape Verde', 'code' => 'CV'],
|
||||
['name' => 'Cayman Islands', 'code' => 'KY'],
|
||||
['name' => 'Central African Republic', 'code' => 'CF'],
|
||||
['name' => 'Chad', 'code' => 'TD'],
|
||||
['name' => 'Chile', 'code' => 'CL'],
|
||||
['name' => 'China', 'code' => 'CN'],
|
||||
['name' => 'Christmas Island', 'code' => 'CX'],
|
||||
['name' => 'Cocos (Keeling) Islands', 'code' => 'CC'],
|
||||
['name' => 'Colombia', 'code' => 'CO'],
|
||||
['name' => 'Comoros', 'code' => 'KM'],
|
||||
['name' => 'Congo', 'code' => 'CG'],
|
||||
['name' => 'Congo, the Democratic Republic of the', 'code' => 'CD'],
|
||||
['name' => 'Cook Islands', 'code' => 'CK'],
|
||||
['name' => 'Costa Rica', 'code' => 'CR'],
|
||||
['name' => 'Côte d\'Ivoire', 'code' => 'CI'],
|
||||
['name' => 'Croatia', 'code' => 'HR'],
|
||||
['name' => 'Cuba', 'code' => 'CU'],
|
||||
['name' => 'Curaçao', 'code' => 'CW'],
|
||||
['name' => 'Cyprus', 'code' => 'CY'],
|
||||
['name' => 'Czech Republic', 'code' => 'CZ'],
|
||||
['name' => 'Denmark', 'code' => 'DK'],
|
||||
['name' => 'Djibouti', 'code' => 'DJ'],
|
||||
['name' => 'Dominica', 'code' => 'DM'],
|
||||
['name' => 'Dominican Republic', 'code' => 'DO'],
|
||||
['name' => 'Ecuador', 'code' => 'EC'],
|
||||
['name' => 'Egypt', 'code' => 'EG'],
|
||||
['name' => 'El Salvador', 'code' => 'SV'],
|
||||
['name' => 'Equatorial Guinea', 'code' => 'GQ'],
|
||||
['name' => 'Eritrea', 'code' => 'ER'],
|
||||
['name' => 'Estonia', 'code' => 'EE'],
|
||||
['name' => 'Ethiopia', 'code' => 'ET'],
|
||||
['name' => 'Falkland Islands (Malvinas)', 'code' => 'FK'],
|
||||
['name' => 'Faroe Islands', 'code' => 'FO'],
|
||||
['name' => 'Fiji', 'code' => 'FJ'],
|
||||
['name' => 'Finland', 'code' => 'FI'],
|
||||
['name' => 'France', 'code' => 'FR'],
|
||||
['name' => 'French Guiana', 'code' => 'GF'],
|
||||
['name' => 'French Polynesia', 'code' => 'PF'],
|
||||
['name' => 'French Southern Territories', 'code' => 'TF'],
|
||||
['name' => 'Gabon', 'code' => 'GA'],
|
||||
['name' => 'Gambia', 'code' => 'GM'],
|
||||
['name' => 'Georgia', 'code' => 'GE'],
|
||||
['name' => 'Germany', 'code' => 'DE'],
|
||||
['name' => 'Ghana', 'code' => 'GH'],
|
||||
['name' => 'Gibraltar', 'code' => 'GI'],
|
||||
['name' => 'Greece', 'code' => 'GR'],
|
||||
['name' => 'Greenland', 'code' => 'GL'],
|
||||
['name' => 'Grenada', 'code' => 'GD'],
|
||||
['name' => 'Guadeloupe', 'code' => 'GP'],
|
||||
['name' => 'Guam', 'code' => 'GU'],
|
||||
['name' => 'Guatemala', 'code' => 'GT'],
|
||||
['name' => 'Guernsey', 'code' => 'GG'],
|
||||
['name' => 'Guinea', 'code' => 'GN'],
|
||||
['name' => 'Guinea-Bissau', 'code' => 'GW'],
|
||||
['name' => 'Guyana', 'code' => 'GY'],
|
||||
['name' => 'Haiti', 'code' => 'HT'],
|
||||
['name' => 'Heard Island and McDonald Mcdonald Islands', 'code' => 'HM'],
|
||||
['name' => 'Holy See (Vatican City State)', 'code' => 'VA'],
|
||||
['name' => 'Honduras', 'code' => 'HN'],
|
||||
['name' => 'Hong Kong', 'code' => 'HK'],
|
||||
['name' => 'Hungary', 'code' => 'HU'],
|
||||
['name' => 'Iceland', 'code' => 'IS'],
|
||||
['name' => 'India', 'code' => 'IN'],
|
||||
['name' => 'Indonesia', 'code' => 'ID'],
|
||||
['name' => 'Iran, Islamic Republic of', 'code' => 'IR'],
|
||||
['name' => 'Iraq', 'code' => 'IQ'],
|
||||
['name' => 'Ireland', 'code' => 'IE'],
|
||||
['name' => 'Isle of Man', 'code' => 'IM'],
|
||||
['name' => 'Israel', 'code' => 'IL'],
|
||||
['name' => 'Italy', 'code' => 'IT'],
|
||||
['name' => 'Jamaica', 'code' => 'JM'],
|
||||
['name' => 'Japan', 'code' => 'JP'],
|
||||
['name' => 'Jersey', 'code' => 'JE'],
|
||||
['name' => 'Jordan', 'code' => 'JO'],
|
||||
['name' => 'Kazakhstan', 'code' => 'KZ'],
|
||||
['name' => 'Kenya', 'code' => 'KE'],
|
||||
['name' => 'Kiribati', 'code' => 'KI'],
|
||||
['name' => 'Korea, Democratic People\'s Republic of', 'code' => 'KP'],
|
||||
['name' => 'Korea, Republic of', 'code' => 'KR'],
|
||||
['name' => 'Kuwait', 'code' => 'KW'],
|
||||
['name' => 'Kyrgyzstan', 'code' => 'KG'],
|
||||
['name' => 'Lao People\'s Democratic Republic', 'code' => 'LA'],
|
||||
['name' => 'Latvia', 'code' => 'LV'],
|
||||
['name' => 'Lebanon', 'code' => 'LB'],
|
||||
['name' => 'Lesotho', 'code' => 'LS'],
|
||||
['name' => 'Liberia', 'code' => 'LR'],
|
||||
['name' => 'Libya', 'code' => 'LY'],
|
||||
['name' => 'Liechtenstein', 'code' => 'LI'],
|
||||
['name' => 'Lithuania', 'code' => 'LT'],
|
||||
['name' => 'Luxembourg', 'code' => 'LU'],
|
||||
['name' => 'Macao', 'code' => 'MO'],
|
||||
['name' => 'Macedonia, the Former Yugoslav Republic of', 'code' => 'MK'],
|
||||
['name' => 'Madagascar', 'code' => 'MG'],
|
||||
['name' => 'Malawi', 'code' => 'MW'],
|
||||
['name' => 'Malaysia', 'code' => 'MY'],
|
||||
['name' => 'Maldives', 'code' => 'MV'],
|
||||
['name' => 'Mali', 'code' => 'ML'],
|
||||
['name' => 'Malta', 'code' => 'MT'],
|
||||
['name' => 'Marshall Islands', 'code' => 'MH'],
|
||||
['name' => 'Martinique', 'code' => 'MQ'],
|
||||
['name' => 'Mauritania', 'code' => 'MR'],
|
||||
['name' => 'Mauritius', 'code' => 'MU'],
|
||||
['name' => 'Mayotte', 'code' => 'YT'],
|
||||
['name' => 'Mexico', 'code' => 'MX'],
|
||||
['name' => 'Micronesia, Federated States of', 'code' => 'FM'],
|
||||
['name' => 'Moldova, Republic of', 'code' => 'MD'],
|
||||
['name' => 'Monaco', 'code' => 'MC'],
|
||||
['name' => 'Mongolia', 'code' => 'MN'],
|
||||
['name' => 'Montenegro', 'code' => 'ME'],
|
||||
['name' => 'Montserrat', 'code' => 'MS'],
|
||||
['name' => 'Morocco', 'code' => 'MA'],
|
||||
['name' => 'Mozambique', 'code' => 'MZ'],
|
||||
['name' => 'Myanmar', 'code' => 'MM'],
|
||||
['name' => 'Namibia', 'code' => 'NA'],
|
||||
['name' => 'Nauru', 'code' => 'NR'],
|
||||
['name' => 'Nepal', 'code' => 'NP'],
|
||||
['name' => 'Netherlands', 'code' => 'NL'],
|
||||
['name' => 'New Caledonia', 'code' => 'NC'],
|
||||
['name' => 'New Zealand', 'code' => 'NZ'],
|
||||
['name' => 'Nicaragua', 'code' => 'NI'],
|
||||
['name' => 'Niger', 'code' => 'NE'],
|
||||
['name' => 'Nigeria', 'code' => 'NG'],
|
||||
['name' => 'Niue', 'code' => 'NU'],
|
||||
['name' => 'Norfolk Island', 'code' => 'NF'],
|
||||
['name' => 'Northern Mariana Islands', 'code' => 'MP'],
|
||||
['name' => 'Norway', 'code' => 'NO'],
|
||||
['name' => 'Oman', 'code' => 'OM'],
|
||||
['name' => 'Pakistan', 'code' => 'PK'],
|
||||
['name' => 'Palau', 'code' => 'PW'],
|
||||
['name' => 'Palestine, State of', 'code' => 'PS'],
|
||||
['name' => 'Panama', 'code' => 'PA'],
|
||||
['name' => 'Papua New Guinea', 'code' => 'PG'],
|
||||
['name' => 'Paraguay', 'code' => 'PY'],
|
||||
['name' => 'Peru', 'code' => 'PE'],
|
||||
['name' => 'Philippines', 'code' => 'PH'],
|
||||
['name' => 'Pitcairn', 'code' => 'PN'],
|
||||
['name' => 'Poland', 'code' => 'PL'],
|
||||
['name' => 'Portugal', 'code' => 'PT'],
|
||||
['name' => 'Puerto Rico', 'code' => 'PR'],
|
||||
['name' => 'Qatar', 'code' => 'QA'],
|
||||
['name' => 'Réunion', 'code' => 'RE'],
|
||||
['name' => 'Romania', 'code' => 'RO'],
|
||||
['name' => 'Russian Federation', 'code' => 'RU'],
|
||||
['name' => 'Rwanda', 'code' => 'RW'],
|
||||
['name' => 'Saint Barthélemy', 'code' => 'BL'],
|
||||
['name' => 'Saint Helena, Ascension and Tristan da Cunha', 'code' => 'SH'],
|
||||
['name' => 'Saint Kitts and Nevis', 'code' => 'KN'],
|
||||
['name' => 'Saint Lucia', 'code' => 'LC'],
|
||||
['name' => 'Saint Martin (French part)', 'code' => 'MF'],
|
||||
['name' => 'Saint Pierre and Miquelon', 'code' => 'PM'],
|
||||
['name' => 'Saint Vincent and the Grenadines', 'code' => 'VC'],
|
||||
['name' => 'Samoa', 'code' => 'WS'],
|
||||
['name' => 'San Marino', 'code' => 'SM'],
|
||||
['name' => 'Sao Tome and Principe', 'code' => 'ST'],
|
||||
['name' => 'Saudi Arabia', 'code' => 'SA'],
|
||||
['name' => 'Senegal', 'code' => 'SN'],
|
||||
['name' => 'Serbia', 'code' => 'RS'],
|
||||
['name' => 'Seychelles', 'code' => 'SC'],
|
||||
['name' => 'Sierra Leone', 'code' => 'SL'],
|
||||
['name' => 'Singapore', 'code' => 'SG'],
|
||||
['name' => 'Sint Maarten (Dutch part)', 'code' => 'SX'],
|
||||
['name' => 'Slovakia', 'code' => 'SK'],
|
||||
['name' => 'Slovenia', 'code' => 'SI'],
|
||||
['name' => 'Solomon Islands', 'code' => 'SB'],
|
||||
['name' => 'Somalia', 'code' => 'SO'],
|
||||
['name' => 'South Africa', 'code' => 'ZA'],
|
||||
['name' => 'South Georgia and the South Sandwich Islands', 'code' => 'GS'],
|
||||
['name' => 'South Sudan', 'code' => 'SS'],
|
||||
['name' => 'Spain', 'code' => 'ES'],
|
||||
['name' => 'Sri Lanka', 'code' => 'LK'],
|
||||
['name' => 'Sudan', 'code' => 'SD'],
|
||||
['name' => 'Suriname', 'code' => 'SR'],
|
||||
['name' => 'Svalbard and Jan Mayen', 'code' => 'SJ'],
|
||||
['name' => 'Swaziland', 'code' => 'SZ'],
|
||||
['name' => 'Sweden', 'code' => 'SE'],
|
||||
['name' => 'Switzerland', 'code' => 'CH'],
|
||||
['name' => 'Syrian Arab Republic', 'code' => 'SY'],
|
||||
['name' => 'Taiwan', 'code' => 'TW'],
|
||||
['name' => 'Tajikistan', 'code' => 'TJ'],
|
||||
['name' => 'Tanzania, United Republic of', 'code' => 'TZ'],
|
||||
['name' => 'Thailand', 'code' => 'TH'],
|
||||
['name' => 'Timor-Leste', 'code' => 'TL'],
|
||||
['name' => 'Togo', 'code' => 'TG'],
|
||||
['name' => 'Tokelau', 'code' => 'TK'],
|
||||
['name' => 'Tonga', 'code' => 'TO'],
|
||||
['name' => 'Trinidad and Tobago', 'code' => 'TT'],
|
||||
['name' => 'Tunisia', 'code' => 'TN'],
|
||||
['name' => 'Turkey', 'code' => 'TR'],
|
||||
['name' => 'Turkmenistan', 'code' => 'TM'],
|
||||
['name' => 'Turks and Caicos Islands', 'code' => 'TC'],
|
||||
['name' => 'Tuvalu', 'code' => 'TV'],
|
||||
['name' => 'Uganda', 'code' => 'UG'],
|
||||
['name' => 'Ukraine', 'code' => 'UA'],
|
||||
['name' => 'United Arab Emirates', 'code' => 'AE'],
|
||||
['name' => 'United Kingdom', 'code' => 'GB'],
|
||||
['name' => 'United States', 'code' => 'US'],
|
||||
['name' => 'United States Minor Outlying Islands', 'code' => 'UM'],
|
||||
['name' => 'Uruguay', 'code' => 'UY'],
|
||||
['name' => 'Uzbekistan', 'code' => 'UZ'],
|
||||
['name' => 'Vanuatu', 'code' => 'VU'],
|
||||
['name' => 'Venezuela, Bolivarian Republic of', 'code' => 'VE'],
|
||||
['name' => 'Viet Nam', 'code' => 'VN'],
|
||||
['name' => 'Virgin Islands, British', 'code' => 'VG'],
|
||||
['name' => 'Virgin Islands, U.S.', 'code' => 'VI'],
|
||||
['name' => 'Wallis and Futuna', 'code' => 'WF'],
|
||||
['name' => 'Western Sahara', 'code' => 'EH'],
|
||||
['name' => 'Yemen', 'code' => 'YE'],
|
||||
['name' => 'Zambia', 'code' => 'ZM'],
|
||||
['name' => 'Zimbabwe', 'code' => 'ZW'],
|
||||
]);
|
||||
}
|
||||
}
|
0
Modules/CountryList/lang/.gitkeep
Normal file
0
Modules/CountryList/lang/.gitkeep
Normal file
11
Modules/CountryList/module.json
Normal file
11
Modules/CountryList/module.json
Normal file
@@ -0,0 +1,11 @@
|
||||
{
|
||||
"name": "CountryList",
|
||||
"alias": "countrylist",
|
||||
"description": "",
|
||||
"keywords": [],
|
||||
"priority": 0,
|
||||
"providers": [
|
||||
"Modules\\CountryList\\app\\Providers\\CountryListServiceProvider"
|
||||
],
|
||||
"files": []
|
||||
}
|
15
Modules/CountryList/package.json
Normal file
15
Modules/CountryList/package.json
Normal file
@@ -0,0 +1,15 @@
|
||||
{
|
||||
"private": true,
|
||||
"type": "module",
|
||||
"scripts": {
|
||||
"dev": "vite",
|
||||
"build": "vite build"
|
||||
},
|
||||
"devDependencies": {
|
||||
"axios": "^1.1.2",
|
||||
"laravel-vite-plugin": "^0.7.5",
|
||||
"sass": "^1.69.5",
|
||||
"postcss": "^8.3.7",
|
||||
"vite": "^4.0.0"
|
||||
}
|
||||
}
|
0
Modules/CountryList/resources/assets/.gitkeep
Normal file
0
Modules/CountryList/resources/assets/.gitkeep
Normal file
0
Modules/CountryList/resources/assets/js/app.js
Normal file
0
Modules/CountryList/resources/assets/js/app.js
Normal file
0
Modules/CountryList/resources/assets/sass/app.scss
Normal file
0
Modules/CountryList/resources/assets/sass/app.scss
Normal file
0
Modules/CountryList/resources/views/.gitkeep
Normal file
0
Modules/CountryList/resources/views/.gitkeep
Normal file
7
Modules/CountryList/resources/views/index.blade.php
Normal file
7
Modules/CountryList/resources/views/index.blade.php
Normal file
@@ -0,0 +1,7 @@
|
||||
@extends('countrylist::layouts.master')
|
||||
|
||||
@section('content')
|
||||
<h1>Hello World</h1>
|
||||
|
||||
<p>Module: {!! config('countrylist.name') !!}</p>
|
||||
@endsection
|
29
Modules/CountryList/resources/views/layouts/master.blade.php
Normal file
29
Modules/CountryList/resources/views/layouts/master.blade.php
Normal file
@@ -0,0 +1,29 @@
|
||||
<!DOCTYPE html>
|
||||
<html lang="{{ str_replace('_', '-', app()->getLocale()) }}">
|
||||
|
||||
<head>
|
||||
<meta charset="utf-8">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1">
|
||||
<meta name="csrf-token" content="{{ csrf_token() }}">
|
||||
<meta http-equiv="X-UA-Compatible" content="IE=edge">
|
||||
|
||||
<title>CountryList Module - {{ config('app.name', 'Laravel') }}</title>
|
||||
|
||||
<meta name="description" content="{{ $description ?? '' }}">
|
||||
<meta name="keywords" content="{{ $keywords ?? '' }}">
|
||||
<meta name="author" content="{{ $author ?? '' }}">
|
||||
|
||||
<!-- Fonts -->
|
||||
<link rel="preconnect" href="https://fonts.bunny.net">
|
||||
<link href="https://fonts.bunny.net/css?family=figtree:400,500,600&display=swap" rel="stylesheet" />
|
||||
|
||||
{{-- Vite CSS --}}
|
||||
{{-- {{ module_vite('build-countrylist', 'resources/assets/sass/app.scss') }} --}}
|
||||
</head>
|
||||
|
||||
<body>
|
||||
@yield('content')
|
||||
|
||||
{{-- Vite JS --}}
|
||||
{{-- {{ module_vite('build-countrylist', 'resources/assets/js/app.js') }} --}}
|
||||
</body>
|
0
Modules/CountryList/routes/.gitkeep
Normal file
0
Modules/CountryList/routes/.gitkeep
Normal file
19
Modules/CountryList/routes/api.php
Normal file
19
Modules/CountryList/routes/api.php
Normal file
@@ -0,0 +1,19 @@
|
||||
<?php
|
||||
|
||||
use Illuminate\Http\Request;
|
||||
use Illuminate\Support\Facades\Route;
|
||||
|
||||
/*
|
||||
|--------------------------------------------------------------------------
|
||||
| API Routes
|
||||
|--------------------------------------------------------------------------
|
||||
|
|
||||
| Here is where you can register API routes for your application. These
|
||||
| routes are loaded by the RouteServiceProvider within a group which
|
||||
| is assigned the "api" middleware group. Enjoy building your API!
|
||||
|
|
||||
*/
|
||||
|
||||
Route::middleware(['auth:sanctum'])->prefix('v1')->name('api.')->group(function () {
|
||||
Route::get('countrylist', fn (Request $request) => $request->user())->name('countrylist');
|
||||
});
|
19
Modules/CountryList/routes/web.php
Normal file
19
Modules/CountryList/routes/web.php
Normal file
@@ -0,0 +1,19 @@
|
||||
<?php
|
||||
|
||||
use Illuminate\Support\Facades\Route;
|
||||
use Modules\CountryList\app\Http\Controllers\CountryListController;
|
||||
|
||||
/*
|
||||
|--------------------------------------------------------------------------
|
||||
| Web Routes
|
||||
|--------------------------------------------------------------------------
|
||||
|
|
||||
| Here is where you can register web routes for your application. These
|
||||
| routes are loaded by the RouteServiceProvider within a group which
|
||||
| contains the "web" middleware group. Now create something great!
|
||||
|
|
||||
*/
|
||||
|
||||
Route::group([], function () {
|
||||
Route::resource('countrylist', CountryListController::class)->names('countrylist');
|
||||
});
|
0
Modules/CountryList/tests/Feature/.gitkeep
Normal file
0
Modules/CountryList/tests/Feature/.gitkeep
Normal file
0
Modules/CountryList/tests/Unit/.gitkeep
Normal file
0
Modules/CountryList/tests/Unit/.gitkeep
Normal file
26
Modules/CountryList/vite.config.js
Normal file
26
Modules/CountryList/vite.config.js
Normal file
@@ -0,0 +1,26 @@
|
||||
import { defineConfig } from 'vite';
|
||||
import laravel from 'laravel-vite-plugin';
|
||||
|
||||
export default defineConfig({
|
||||
build: {
|
||||
outDir: '../../public/build-countrylist',
|
||||
emptyOutDir: true,
|
||||
manifest: true,
|
||||
},
|
||||
plugins: [
|
||||
laravel({
|
||||
publicDirectory: '../../public',
|
||||
buildDirectory: 'build-countrylist',
|
||||
input: [
|
||||
__dirname + '/resources/assets/sass/app.scss',
|
||||
__dirname + '/resources/assets/js/app.js'
|
||||
],
|
||||
refresh: true,
|
||||
}),
|
||||
],
|
||||
});
|
||||
|
||||
//export const paths = [
|
||||
// 'Modules/$STUDLY_NAME$/resources/assets/sass/app.scss',
|
||||
// 'Modules/$STUDLY_NAME$/resources/assets/js/app.js',
|
||||
//];
|
Reference in New Issue
Block a user