Skip to content

Commit

Permalink
fix(publish): correctly process namespace/resources stub
Browse files Browse the repository at this point in the history
  • Loading branch information
vorban committed Aug 4, 2023
1 parent 0187ea9 commit ba0c4ba
Show file tree
Hide file tree
Showing 7 changed files with 43 additions and 43 deletions.
6 changes: 3 additions & 3 deletions database/migrations/helium_create_default_user.php.stub
Original file line number Diff line number Diff line change
@@ -1,20 +1,20 @@
<?php

use App\Models\{{ $namespace }}\{{ $model_name }};
use App\Models\{{ $namespace }}\{{ $features.users.model_name }};
use Illuminate\Database\Migrations\Migration;

return new class extends Migration
{
public function up()
{
(new {{ $model_name }}([
(new {{ $features.users.model_name }}([
'email' => 'admin',
'password' => bcrypt('changeme'),
]))->save();
}

public function down()
{
{{ $model_name }}::query()->where('email', 'admin')->delete();
{{ $features.users.model_name }}::query()->where('email', 'admin')->delete();
}
};
4 changes: 2 additions & 2 deletions database/migrations/helium_create_users_table.php.stub
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@ return new class extends Migration
{
public function up()
{
Schema::create('{{ $table_name }}', function (Blueprint $table) {
Schema::create('{{ $features.users.table_name }}', function (Blueprint $table) {
$table->id();
$table->timestamps();
$table->rememberToken();
Expand All @@ -20,6 +20,6 @@ return new class extends Migration

public function down()
{
Schema::dropIfExists('{{ $table_name }}');
Schema::dropIfExists('{{ $features.users.table_name }}');
}
};
6 changes: 3 additions & 3 deletions routes/helium.php.stub
Original file line number Diff line number Diff line change
Expand Up @@ -2,9 +2,9 @@

use Illuminate\Support\Facades\Route;

Route::middleware({{ $middleware }})
->prefix('{{ $prefix }}')
->as('{{ $as }}')
Route::middleware({{ $routing.middleware }})
->prefix('{{ $routing.prefix }}')
->as('{{ $routing.as }}')
->namespace('App\Http\Controllers\{{ $namespace }}')->group(function () {
// * Helium publish marker - Do not remove this line *
});
18 changes: 9 additions & 9 deletions routes/users.php.stub
Original file line number Diff line number Diff line change
Expand Up @@ -2,18 +2,18 @@
Route::post('/login', 'App\Http\Controllers\{{ $namespace }}\AuthController@login');
Route::get('/logout', 'App\Http\Controllers\{{ $namespace }}\AuthController@logout')->name('logout');

Route::middleware('auth:{{ $guard_name }}')
Route::middleware('auth:{{ $features.users.guard_name }}')
->prefix('{{ table_name }}')
->as('{{ $table_name }}.')
->as('{{ $features.users.table_name }}.')
->group(function () {
Route::get('/', [App\Http\Controllers\{{ $namespace }}\{{ $controller_name }}::class, 'index'])->name('index');
Route::get('/{id}', [App\Http\Controllers\{{ $namespace }}\{{ $controller_name }}::class, 'show'])->name('show');
Route::get('/', [App\Http\Controllers\{{ $namespace }}\{{ $features.users.controller_name }}::class, 'index'])->name('index');
Route::get('/{id}', [App\Http\Controllers\{{ $namespace }}\{{ $features.users.controller_name }}::class, 'show'])->name('show');

Route::get('/create', [App\Http\Controllers\{{ $namespace }}\{{ $controller_name }}::class, 'create'])->name('create');
Route::post('/store', [App\Http\Controllers\{{ $namespace }}\{{ $controller_name }}::class, 'store'])->name('store');
Route::get('/create', [App\Http\Controllers\{{ $namespace }}\{{ $features.users.controller_name }}::class, 'create'])->name('create');
Route::post('/store', [App\Http\Controllers\{{ $namespace }}\{{ $features.users.controller_name }}::class, 'store'])->name('store');

Route::get('/edit/{id}', [App\Http\Controllers\{{ $namespace }}\{{ $controller_name }}::class, 'edit'])->name('edit');
Route::post('/update/{id}', [App\Http\Controllers\{{ $namespace }}\{{ $controller_name }}::class, 'update'])->name('update');
Route::get('/edit/{id}', [App\Http\Controllers\{{ $namespace }}\{{ $features.users.controller_name }}::class, 'edit'])->name('edit');
Route::post('/update/{id}', [App\Http\Controllers\{{ $namespace }}\{{ $features.users.controller_name }}::class, 'update'])->name('update');

Route::delete('/destroy/{id}', [App\Http\Controllers\{{ $namespace }}\{{ $controller_name }}::class, 'destroy'])->name('destroy');
Route::delete('/destroy/{id}', [App\Http\Controllers\{{ $namespace }}\{{ $features.users.controller_name }}::class, 'destroy'])->name('destroy');
});
18 changes: 9 additions & 9 deletions src/HeliumCore.php
Original file line number Diff line number Diff line change
Expand Up @@ -9,24 +9,24 @@ class HeliumCore
public function getDefaultStubProcessor(): Closure
{
return function (string $content): string {
$content = str_replace('{{ $namespace }} ', config('helium-core.namespace'), $content);
$content = str_replace('{{ $resources }} ', config('helium-core.resources'), $content);
$content = str_replace('{{ $namespace }}', config('helium-core.namespace'), $content);
$content = str_replace('{{ $resources }}', config('helium-core.resources'), $content);

$content = str_replace('{{ $as }}', config('helium-core.routing.as'), $content);
$content = str_replace('{{ $prefix }}', config('helium-core.routing.prefix'), $content);
$content = str_replace('{{ $routing.as }}', config('helium-core.routing.as'), $content);
$content = str_replace('{{ $routing.prefix }}', config('helium-core.routing.prefix'), $content);
$content = str_replace(
'{{ $middleware }}',
'{{ $routing.middleware }}',
sprintf(
"['%s']",
implode("', '", config('helium-core.routing.middleware'))
),
$content
);

$content = str_replace('{{ $table_name }}', config('helium-core.features.users.table_name'), $content);
$content = str_replace('{{ $model_name }}', config('helium-core.features.users.model_name'), $content);
$content = str_replace('{{ $guard_name }}', config('helium-core.features.users.guard_name'), $content);
$content = str_replace('{{ $controller_name }}', config('helium-core.features.users.controller_name'), $content);
$content = str_replace('{{ $features.users.table_name }}', config('helium-core.features.users.table_name'), $content);
$content = str_replace('{{ $features.users.model_name }}', config('helium-core.features.users.model_name'), $content);
$content = str_replace('{{ $features.users.guard_name }}', config('helium-core.features.users.guard_name'), $content);
$content = str_replace('{{ $features.users.controller_name }}', config('helium-core.features.users.controller_name'), $content);

return $content;
};
Expand Down
30 changes: 15 additions & 15 deletions src/Http/Controllers/UserController.php.stub
Original file line number Diff line number Diff line change
Expand Up @@ -5,45 +5,45 @@ namespace App\Http\Controllers\{{ $namespace }};
use Illuminate\Http\Request;
use Illuminate\Routing\Controller;
use Illuminate\Support\Str;
use App\Models\{{ $namespace }}\{{ $model_name }};
use App\Models\{{ $namespace }}\{{ $features.users.model_name }};

class {{ $controller_name }} extends Controller
class {{ $features.users.controller_name }} extends Controller
{
public function index()
{
return view('{{ $resources }}.pages.{{ $table_name }}.index');
return view('{{ $resources }}.pages.{{ $features.users.table_name }}.index');
}

public function show($id)
{
$user = {{ $model_name }}::findOrFail($id);
$user = {{ $features.users.model_name }}::findOrFail($id);

return view('{{ $resources }}.pages.{{ $table_name }}.show', compact('user'));
return view('{{ $resources }}.pages.{{ $features.users.table_name }}.show', compact('user'));
}

public function create()
{
return view('{{ $resources }}.pages.{{ $table_name }}.create');
return view('{{ $resources }}.pages.{{ $features.users.table_name }}.create');
}

public function edit($id)
{
$user = {{ $model_name }}::findOrFail($id);
$user = {{ $features.users.model_name }}::findOrFail($id);

return view('{{ $resources }}.pages.{{ $table_name }}.edit', compact('user'));
return view('{{ $resources }}.pages.{{ $features.users.table_name }}.edit', compact('user'));
}

public function store(Request $request)
{
$data = $request->validate([
'name' => 'required|string|max:255',
'email' => 'required|email|unique:{{ $table_name }},email',
'email' => 'required|email|unique:{{ $features.users.table_name }},email',
]);

$data['password'] = bcrypt(Str::random(16));
{{ $model_name }}::create($data);
{{ $features.users.model_name }}::create($data);

return redirect()->route('{{ $routing_as }}{{ $table_name }}.index');
return redirect()->route('{{ $routing.as }}{{ $features.users.table_name }}.index');
}

public function update(Request $request, $id)
Expand All @@ -52,17 +52,17 @@ class {{ $controller_name }} extends Controller
'name' => 'required|string|max:255',
]);

$user = {{ $model_name }}::findOrFail($id);
$user = {{ $features.users.model_name }}::findOrFail($id);
$user->update($data);
$user->save();

return redirect()->route('{{ $routing_as }}{{ $table_name }}.show', $user->id);
return redirect()->route('{{ $routing.as }}{{ $features.users.table_name }}.show', $user->id);
}

public function destroy($id)
{
{{ $model_name }}::findOrFail($id)->delete();
{{ $features.users.model_name }}::findOrFail($id)->delete();

return redirect()->route('{{ $routing_as }}{{ $table_name }}.index');
return redirect()->route('{{ $routing.as }}{{ $features.users.table_name }}.index');
}
}
4 changes: 2 additions & 2 deletions src/Models/User.php.stub
Original file line number Diff line number Diff line change
Expand Up @@ -4,9 +4,9 @@ namespace App\Models\{{ $namespace }};

use Illuminate\Foundation\Auth\User as Authenticatable;

class {{ $model_name }} extends Authenticatable
class {{ $features.users.model_name }} extends Authenticatable
{
protected $table = '{{ $table_name }}';
protected $table = '{{ $features.users.table_name }}';

protected array $hidden = [
'password',
Expand Down

0 comments on commit ba0c4ba

Please sign in to comment.