This commit is contained in:
Geriano
2022-08-10 08:13:53 +07:00
44 changed files with 1473 additions and 4 deletions

View File

@@ -31,6 +31,15 @@ class MenuSeeder extends Seeder
'deleteable' => false,
]);
$builtin->permissions()->attach(
Permission::whereIn('name', [
'read permission',
'read role',
'read user',
'read menu',
])->get()->pluck(['id'])
);
$permission = $builtin->childs()->create([
'name' => 'permission',
'route_or_url' => 'superuser.permission.index',

View File

@@ -147,7 +147,7 @@ onUnmounted(() => window.removeEventListener('keydown', esc))
<Card class="bg-gray-50 dark:bg-gray-700 dark:text-gray-100">
<template #header>
<div class="flex items-center space-x-2 p-2 bg-gray-200 dark:bg-gray-800">
<ButtonGreen v-if="can('create menu')" @click.prevent="show">
<ButtonGreen v-if="can('create menu')" @click.prevent="form.id = null; show()">
<Icon name="plus" />
<p class="uppercase font-semibold">create</p>
</ButtonGreen>

View File

@@ -105,7 +105,7 @@ onUnmounted(() => window.removeEventListener('keydown', esc))
<Card class="bg-gray-50 dark:bg-slate-700 shadow-md">
<template #header>
<div class="flex items-center space-x-2 bg-gray-200 dark:bg-gray-800 p-2">
<ButtonGreen v-if="can('create permission')" @click.prevent="show()">
<ButtonGreen v-if="can('create permission')" @click.prevent="form.id = null; show()">
<Icon name="plus" />
<p class="font-semibold uppercase">create</p>
</ButtonGreen>

View File

@@ -107,7 +107,7 @@ onUnmounted(() => window.removeEventListener('keydown', esc))
<Card class="bg-gray-50 dark:bg-gray-700 dark:text-gray-100">
<template #header>
<div class="flex items-center space-x-2 p-2 bg-gray-200 dark:bg-gray-800">
<ButtonGreen v-if="can('create role')" @click.prevent="show">
<ButtonGreen v-if="can('create role')" @click.prevent="form.id = null; show()">
<Icon name="plus" />
<p class="uppercase font-semibold">create</p>
</ButtonGreen>

View File

@@ -134,7 +134,7 @@ onUnmounted(() => window.removeEventListener('keydown', esc))
<Card class="bg-gray-50 dark:bg-gray-700 dark:text-gray-100">
<template #header>
<div class="flex items-center space-x-2 p-2 bg-gray-200 dark:bg-gray-800">
<ButtonGreen v-if="can('create user')" @click.prevent="show">
<ButtonGreen v-if="can('create user')" @click.prevent="form.id = null; show()">
<Icon name="plus" />
<p class="uppercase font-semibold">create</p>
</ButtonGreen>

22
stubs/cast.inbound.stub Normal file
View File

@@ -0,0 +1,22 @@
<?php
namespace {{ namespace }};
use Illuminate\Contracts\Database\Eloquent\CastsInboundAttributes;
class {{ class }} implements CastsInboundAttributes
{
/**
* Prepare the given value for storage.
*
* @param \Illuminate\Database\Eloquent\Model $model
* @param string $key
* @param mixed $value
* @param array $attributes
* @return mixed
*/
public function set($model, string $key, $value, array $attributes)
{
return $value;
}
}

36
stubs/cast.stub Normal file
View File

@@ -0,0 +1,36 @@
<?php
namespace {{ namespace }};
use Illuminate\Contracts\Database\Eloquent\CastsAttributes;
class {{ class }} implements CastsAttributes
{
/**
* Cast the given value.
*
* @param \Illuminate\Database\Eloquent\Model $model
* @param string $key
* @param mixed $value
* @param array $attributes
* @return mixed
*/
public function get($model, string $key, $value, array $attributes)
{
return $value;
}
/**
* Prepare the given value for storage.
*
* @param \Illuminate\Database\Eloquent\Model $model
* @param string $key
* @param mixed $value
* @param array $attributes
* @return mixed
*/
public function set($model, string $key, $value, array $attributes)
{
return $value;
}
}

32
stubs/console.stub Normal file
View File

@@ -0,0 +1,32 @@
<?php
namespace {{ namespace }};
use Illuminate\Console\Command;
class {{ class }} extends Command
{
/**
* The name and signature of the console command.
*
* @var string
*/
protected $signature = '{{ command }}';
/**
* The console command description.
*
* @var string
*/
protected $description = 'Command description';
/**
* Execute the console command.
*
* @return int
*/
public function handle()
{
return 0;
}
}

64
stubs/controller.api.stub Normal file
View File

@@ -0,0 +1,64 @@
<?php
namespace {{ namespace }};
use {{ rootNamespace }}Http\Controllers\Controller;
use Illuminate\Http\Request;
class {{ class }} extends Controller
{
/**
* Display a listing of the resource.
*
* @return \Illuminate\Http\Response
*/
public function index()
{
//
}
/**
* Store a newly created resource in storage.
*
* @param \Illuminate\Http\Request $request
* @return \Illuminate\Http\Response
*/
public function store(Request $request)
{
//
}
/**
* Display the specified resource.
*
* @param int $id
* @return \Illuminate\Http\Response
*/
public function show($id)
{
//
}
/**
* Update the specified resource in storage.
*
* @param \Illuminate\Http\Request $request
* @param int $id
* @return \Illuminate\Http\Response
*/
public function update(Request $request, $id)
{
//
}
/**
* Remove the specified resource from storage.
*
* @param int $id
* @return \Illuminate\Http\Response
*/
public function destroy($id)
{
//
}
}

View File

@@ -0,0 +1,20 @@
<?php
namespace {{ namespace }};
use {{ rootNamespace }}Http\Controllers\Controller;
use Illuminate\Http\Request;
class {{ class }} extends Controller
{
/**
* Handle the incoming request.
*
* @param \Illuminate\Http\Request $request
* @return \Illuminate\Http\Response
*/
public function __invoke(Request $request)
{
//
}
}

View File

@@ -0,0 +1,65 @@
<?php
namespace {{ namespace }};
use {{ namespacedModel }};
use {{ rootNamespace }}Http\Controllers\Controller;
use {{ namespacedRequests }}
class {{ class }} extends Controller
{
/**
* Display a listing of the resource.
*
* @return \Illuminate\Http\Response
*/
public function index()
{
//
}
/**
* Store a newly created resource in storage.
*
* @param \{{ namespacedStoreRequest }} $request
* @return \Illuminate\Http\Response
*/
public function store({{ storeRequest }} $request)
{
//
}
/**
* Display the specified resource.
*
* @param \{{ namespacedModel }} ${{ modelVariable }}
* @return \Illuminate\Http\Response
*/
public function show({{ model }} ${{ modelVariable }})
{
//
}
/**
* Update the specified resource in storage.
*
* @param \{{ namespacedUpdateRequest }} $request
* @param \{{ namespacedModel }} ${{ modelVariable }}
* @return \Illuminate\Http\Response
*/
public function update({{ updateRequest }} $request, {{ model }} ${{ modelVariable }})
{
//
}
/**
* Remove the specified resource from storage.
*
* @param \{{ namespacedModel }} ${{ modelVariable }}
* @return \Illuminate\Http\Response
*/
public function destroy({{ model }} ${{ modelVariable }})
{
//
}
}

View File

@@ -0,0 +1,86 @@
<?php
namespace {{ namespace }};
use {{ namespacedModel }};
use {{ rootNamespace }}Http\Controllers\Controller;
use {{ namespacedRequests }}
class {{ class }} extends Controller
{
/**
* Display a listing of the resource.
*
* @return \Illuminate\Http\Response
*/
public function index()
{
//
}
/**
* Show the form for creating a new resource.
*
* @return \Illuminate\Http\Response
*/
public function create()
{
//
}
/**
* Store a newly created resource in storage.
*
* @param \{{ namespacedStoreRequest }} $request
* @return \Illuminate\Http\Response
*/
public function store({{ storeRequest }} $request)
{
//
}
/**
* Display the specified resource.
*
* @param \{{ namespacedModel }} ${{ modelVariable }}
* @return \Illuminate\Http\Response
*/
public function show({{ model }} ${{ modelVariable }})
{
//
}
/**
* Show the form for editing the specified resource.
*
* @param \{{ namespacedModel }} ${{ modelVariable }}
* @return \Illuminate\Http\Response
*/
public function edit({{ model }} ${{ modelVariable }})
{
//
}
/**
* Update the specified resource in storage.
*
* @param \{{ namespacedUpdateRequest }} $request
* @param \{{ namespacedModel }} ${{ modelVariable }}
* @return \Illuminate\Http\Response
*/
public function update({{ updateRequest }} $request, {{ model }} ${{ modelVariable }})
{
//
}
/**
* Remove the specified resource from storage.
*
* @param \{{ namespacedModel }} ${{ modelVariable }}
* @return \Illuminate\Http\Response
*/
public function destroy({{ model }} ${{ modelVariable }})
{
//
}
}

View File

@@ -0,0 +1,71 @@
<?php
namespace {{ namespace }};
use {{ namespacedModel }};
use {{ rootNamespace }}Http\Controllers\Controller;
use Illuminate\Http\Request;
use {{ namespacedParentModel }};
class {{ class }} extends Controller
{
/**
* Display a listing of the resource.
*
* @param \{{ namespacedParentModel }} ${{ parentModelVariable }}
* @return \Illuminate\Http\Response
*/
public function index({{ parentModel }} ${{ parentModelVariable }})
{
//
}
/**
* Store a newly created resource in storage.
*
* @param \Illuminate\Http\Request $request
* @param \{{ namespacedParentModel }} ${{ parentModelVariable }}
* @return \Illuminate\Http\Response
*/
public function store(Request $request, {{ parentModel }} ${{ parentModelVariable }})
{
//
}
/**
* Display the specified resource.
*
* @param \{{ namespacedParentModel }} ${{ parentModelVariable }}
* @param \{{ namespacedModel }} ${{ modelVariable }}
* @return \Illuminate\Http\Response
*/
public function show({{ parentModel }} ${{ parentModelVariable }}, {{ model }} ${{ modelVariable }})
{
//
}
/**
* Update the specified resource in storage.
*
* @param \Illuminate\Http\Request $request
* @param \{{ namespacedParentModel }} ${{ parentModelVariable }}
* @param \{{ namespacedModel }} ${{ modelVariable }}
* @return \Illuminate\Http\Response
*/
public function update(Request $request, {{ parentModel }} ${{ parentModelVariable }}, {{ model }} ${{ modelVariable }})
{
//
}
/**
* Remove the specified resource from storage.
*
* @param \{{ namespacedParentModel }} ${{ parentModelVariable }}
* @param \{{ namespacedModel }} ${{ modelVariable }}
* @return \Illuminate\Http\Response
*/
public function destroy({{ parentModel }} ${{ parentModelVariable }}, {{ model }} ${{ modelVariable }})
{
//
}
}

View File

@@ -0,0 +1,94 @@
<?php
namespace {{ namespace }};
use {{ namespacedModel }};
use {{ rootNamespace }}Http\Controllers\Controller;
use Illuminate\Http\Request;
use {{ namespacedParentModel }};
class {{ class }} extends Controller
{
/**
* Display a listing of the resource.
*
* @param \{{ namespacedParentModel }} ${{ parentModelVariable }}
* @return \Illuminate\Http\Response
*/
public function index({{ parentModel }} ${{ parentModelVariable }})
{
//
}
/**
* Show the form for creating a new resource.
*
* @param \{{ namespacedParentModel }} ${{ parentModelVariable }}
* @return \Illuminate\Http\Response
*/
public function create({{ parentModel }} ${{ parentModelVariable }})
{
//
}
/**
* Store a newly created resource in storage.
*
* @param \Illuminate\Http\Request $request
* @param \{{ namespacedParentModel }} ${{ parentModelVariable }}
* @return \Illuminate\Http\Response
*/
public function store(Request $request, {{ parentModel }} ${{ parentModelVariable }})
{
//
}
/**
* Display the specified resource.
*
* @param \{{ namespacedParentModel }} ${{ parentModelVariable }}
* @param \{{ namespacedModel }} ${{ modelVariable }}
* @return \Illuminate\Http\Response
*/
public function show({{ parentModel }} ${{ parentModelVariable }}, {{ model }} ${{ modelVariable }})
{
//
}
/**
* Show the form for editing the specified resource.
*
* @param \{{ namespacedParentModel }} ${{ parentModelVariable }}
* @param \{{ namespacedModel }} ${{ modelVariable }}
* @return \Illuminate\Http\Response
*/
public function edit({{ parentModel }} ${{ parentModelVariable }}, {{ model }} ${{ modelVariable }})
{
//
}
/**
* Update the specified resource in storage.
*
* @param \Illuminate\Http\Request $request
* @param \{{ namespacedParentModel }} ${{ parentModelVariable }}
* @param \{{ namespacedModel }} ${{ modelVariable }}
* @return \Illuminate\Http\Response
*/
public function update(Request $request, {{ parentModel }} ${{ parentModelVariable }}, {{ model }} ${{ modelVariable }})
{
//
}
/**
* Remove the specified resource from storage.
*
* @param \{{ namespacedParentModel }} ${{ parentModelVariable }}
* @param \{{ namespacedModel }} ${{ modelVariable }}
* @return \Illuminate\Http\Response
*/
public function destroy({{ parentModel }} ${{ parentModelVariable }}, {{ model }} ${{ modelVariable }})
{
//
}
}

View File

@@ -0,0 +1,11 @@
<?php
namespace {{ namespace }};
use {{ rootNamespace }}Http\Controllers\Controller;
use Illuminate\Http\Request;
class {{ class }} extends Controller
{
//
}

85
stubs/controller.stub Normal file
View File

@@ -0,0 +1,85 @@
<?php
namespace {{ namespace }};
use {{ rootNamespace }}Http\Controllers\Controller;
use Illuminate\Http\Request;
class {{ class }} extends Controller
{
/**
* Display a listing of the resource.
*
* @return \Illuminate\Http\Response
*/
public function index()
{
//
}
/**
* Show the form for creating a new resource.
*
* @return \Illuminate\Http\Response
*/
public function create()
{
//
}
/**
* Store a newly created resource in storage.
*
* @param \Illuminate\Http\Request $request
* @return \Illuminate\Http\Response
*/
public function store(Request $request)
{
//
}
/**
* Display the specified resource.
*
* @param int $id
* @return \Illuminate\Http\Response
*/
public function show($id)
{
//
}
/**
* Show the form for editing the specified resource.
*
* @param int $id
* @return \Illuminate\Http\Response
*/
public function edit($id)
{
//
}
/**
* Update the specified resource in storage.
*
* @param \Illuminate\Http\Request $request
* @param int $id
* @return \Illuminate\Http\Response
*/
public function update(Request $request, $id)
{
//
}
/**
* Remove the specified resource from storage.
*
* @param int $id
* @return \Illuminate\Http\Response
*/
public function destroy($id)
{
//
}
}

36
stubs/event.stub Normal file
View File

@@ -0,0 +1,36 @@
<?php
namespace {{ namespace }};
use Illuminate\Broadcasting\Channel;
use Illuminate\Broadcasting\InteractsWithSockets;
use Illuminate\Broadcasting\PresenceChannel;
use Illuminate\Broadcasting\PrivateChannel;
use Illuminate\Contracts\Broadcasting\ShouldBroadcast;
use Illuminate\Foundation\Events\Dispatchable;
use Illuminate\Queue\SerializesModels;
class {{ class }}
{
use Dispatchable, InteractsWithSockets, SerializesModels;
/**
* Create a new event instance.
*
* @return void
*/
public function __construct()
{
//
}
/**
* Get the channels the event should broadcast on.
*
* @return \Illuminate\Broadcasting\Channel|array
*/
public function broadcastOn()
{
return new PrivateChannel('channel-name');
}
}

23
stubs/factory.stub Normal file
View File

@@ -0,0 +1,23 @@
<?php
namespace {{ factoryNamespace }};
use Illuminate\Database\Eloquent\Factories\Factory;
/**
* @extends \Illuminate\Database\Eloquent\Factories\Factory<\{{ namespacedModel }}>
*/
class {{ factory }}Factory extends Factory
{
/**
* Define the model's default state.
*
* @return array<string, mixed>
*/
public function definition()
{
return [
//
];
}
}

35
stubs/job.queued.stub Normal file
View File

@@ -0,0 +1,35 @@
<?php
namespace {{ namespace }};
use Illuminate\Bus\Queueable;
use Illuminate\Contracts\Queue\ShouldBeUnique;
use Illuminate\Contracts\Queue\ShouldQueue;
use Illuminate\Foundation\Bus\Dispatchable;
use Illuminate\Queue\InteractsWithQueue;
use Illuminate\Queue\SerializesModels;
class {{ class }} implements ShouldQueue
{
use Dispatchable, InteractsWithQueue, Queueable, SerializesModels;
/**
* Create a new job instance.
*
* @return void
*/
public function __construct()
{
//
}
/**
* Execute the job.
*
* @return void
*/
public function handle()
{
//
}
}

30
stubs/job.stub Normal file
View File

@@ -0,0 +1,30 @@
<?php
namespace {{ namespace }};
use Illuminate\Foundation\Bus\Dispatchable;
class {{ class }}
{
use Dispatchable;
/**
* Create a new job instance.
*
* @return void
*/
public function __construct()
{
//
}
/**
* Execute the job.
*
* @return void
*/
public function handle()
{
//
}
}

33
stubs/mail.stub Normal file
View File

@@ -0,0 +1,33 @@
<?php
namespace {{ namespace }};
use Illuminate\Bus\Queueable;
use Illuminate\Contracts\Queue\ShouldQueue;
use Illuminate\Mail\Mailable;
use Illuminate\Queue\SerializesModels;
class {{ class }} extends Mailable
{
use Queueable, SerializesModels;
/**
* Create a new message instance.
*
* @return void
*/
public function __construct()
{
//
}
/**
* Build the message.
*
* @return $this
*/
public function build()
{
return $this->view('view.name');
}
}

33
stubs/markdown-mail.stub Normal file
View File

@@ -0,0 +1,33 @@
<?php
namespace {{ namespace }};
use Illuminate\Bus\Queueable;
use Illuminate\Contracts\Queue\ShouldQueue;
use Illuminate\Mail\Mailable;
use Illuminate\Queue\SerializesModels;
class {{ class }} extends Mailable
{
use Queueable, SerializesModels;
/**
* Create a new message instance.
*
* @return void
*/
public function __construct()
{
//
}
/**
* Build the message.
*
* @return $this
*/
public function build()
{
return $this->markdown('{{ view }}');
}
}

View File

@@ -0,0 +1,58 @@
<?php
namespace {{ namespace }};
use Illuminate\Bus\Queueable;
use Illuminate\Contracts\Queue\ShouldQueue;
use Illuminate\Notifications\Messages\MailMessage;
use Illuminate\Notifications\Notification;
class {{ class }} extends Notification
{
use Queueable;
/**
* Create a new notification instance.
*
* @return void
*/
public function __construct()
{
//
}
/**
* Get the notification's delivery channels.
*
* @param mixed $notifiable
* @return array
*/
public function via($notifiable)
{
return ['mail'];
}
/**
* Get the mail representation of the notification.
*
* @param mixed $notifiable
* @return \Illuminate\Notifications\Messages\MailMessage
*/
public function toMail($notifiable)
{
return (new MailMessage)->markdown('{{ view }}');
}
/**
* Get the array representation of the notification.
*
* @param mixed $notifiable
* @return array
*/
public function toArray($notifiable)
{
return [
//
];
}
}

21
stubs/middleware.stub Normal file
View File

@@ -0,0 +1,21 @@
<?php
namespace {{ namespace }};
use Closure;
use Illuminate\Http\Request;
class {{ class }}
{
/**
* Handle an incoming request.
*
* @param \Illuminate\Http\Request $request
* @param \Closure(\Illuminate\Http\Request): (\Illuminate\Http\Response|\Illuminate\Http\RedirectResponse) $next
* @return \Illuminate\Http\Response|\Illuminate\Http\RedirectResponse
*/
public function handle(Request $request, Closure $next)
{
return $next($request);
}
}

View File

@@ -0,0 +1,31 @@
<?php
use Illuminate\Database\Migrations\Migration;
use Illuminate\Database\Schema\Blueprint;
use Illuminate\Support\Facades\Schema;
return new class extends Migration
{
/**
* Run the migrations.
*
* @return void
*/
public function up()
{
Schema::create('{{ table }}', function (Blueprint $table) {
$table->id();
$table->timestamps();
});
}
/**
* Reverse the migrations.
*
* @return void
*/
public function down()
{
Schema::dropIfExists('{{ table }}');
}
};

28
stubs/migration.stub Normal file
View File

@@ -0,0 +1,28 @@
<?php
use Illuminate\Database\Migrations\Migration;
use Illuminate\Database\Schema\Blueprint;
use Illuminate\Support\Facades\Schema;
return new class extends Migration
{
/**
* Run the migrations.
*
* @return void
*/
public function up()
{
//
}
/**
* Reverse the migrations.
*
* @return void
*/
public function down()
{
//
}
};

View File

@@ -0,0 +1,32 @@
<?php
use Illuminate\Database\Migrations\Migration;
use Illuminate\Database\Schema\Blueprint;
use Illuminate\Support\Facades\Schema;
return new class extends Migration
{
/**
* Run the migrations.
*
* @return void
*/
public function up()
{
Schema::table('{{ table }}', function (Blueprint $table) {
//
});
}
/**
* Reverse the migrations.
*
* @return void
*/
public function down()
{
Schema::table('{{ table }}', function (Blueprint $table) {
//
});
}
};

10
stubs/model.pivot.stub Normal file
View File

@@ -0,0 +1,10 @@
<?php
namespace {{ namespace }};
use Illuminate\Database\Eloquent\Relations\Pivot;
class {{ class }} extends Pivot
{
//
}

11
stubs/model.stub Normal file
View File

@@ -0,0 +1,11 @@
<?php
namespace {{ namespace }};
use Illuminate\Database\Eloquent\Factories\HasFactory;
use Illuminate\Database\Eloquent\Model;
class {{ class }} extends Model
{
use HasFactory;
}

61
stubs/notification.stub Normal file
View File

@@ -0,0 +1,61 @@
<?php
namespace {{ namespace }};
use Illuminate\Bus\Queueable;
use Illuminate\Contracts\Queue\ShouldQueue;
use Illuminate\Notifications\Messages\MailMessage;
use Illuminate\Notifications\Notification;
class {{ class }} extends Notification
{
use Queueable;
/**
* Create a new notification instance.
*
* @return void
*/
public function __construct()
{
//
}
/**
* Get the notification's delivery channels.
*
* @param mixed $notifiable
* @return array
*/
public function via($notifiable)
{
return ['mail'];
}
/**
* Get the mail representation of the notification.
*
* @param mixed $notifiable
* @return \Illuminate\Notifications\Messages\MailMessage
*/
public function toMail($notifiable)
{
return (new MailMessage)
->line('The introduction to the notification.')
->action('Notification Action', url('/'))
->line('Thank you for using our application!');
}
/**
* Get the array representation of the notification.
*
* @param mixed $notifiable
* @return array
*/
public function toArray($notifiable)
{
return [
//
];
}
}

View File

@@ -0,0 +1,8 @@
<?php
namespace {{ namespace }};
class {{ class }}
{
//
}

63
stubs/observer.stub Normal file
View File

@@ -0,0 +1,63 @@
<?php
namespace {{ namespace }};
use {{ namespacedModel }};
class {{ class }}
{
/**
* Handle the {{ model }} "created" event.
*
* @param \{{ namespacedModel }} ${{ modelVariable }}
* @return void
*/
public function created({{ model }} ${{ modelVariable }})
{
//
}
/**
* Handle the {{ model }} "updated" event.
*
* @param \{{ namespacedModel }} ${{ modelVariable }}
* @return void
*/
public function updated({{ model }} ${{ modelVariable }})
{
//
}
/**
* Handle the {{ model }} "deleted" event.
*
* @param \{{ namespacedModel }} ${{ modelVariable }}
* @return void
*/
public function deleted({{ model }} ${{ modelVariable }})
{
//
}
/**
* Handle the {{ model }} "restored" event.
*
* @param \{{ namespacedModel }} ${{ modelVariable }}
* @return void
*/
public function restored({{ model }} ${{ modelVariable }})
{
//
}
/**
* Handle the {{ model }} "force deleted" event.
*
* @param \{{ namespacedModel }} ${{ modelVariable }}
* @return void
*/
public function forceDeleted({{ model }} ${{ modelVariable }})
{
//
}
}

21
stubs/policy.plain.stub Normal file
View File

@@ -0,0 +1,21 @@
<?php
namespace {{ namespace }};
use Illuminate\Auth\Access\HandlesAuthorization;
use {{ namespacedUserModel }};
class {{ class }}
{
use HandlesAuthorization;
/**
* Create a new policy instance.
*
* @return void
*/
public function __construct()
{
//
}
}

94
stubs/policy.stub Normal file
View File

@@ -0,0 +1,94 @@
<?php
namespace {{ namespace }};
use Illuminate\Auth\Access\HandlesAuthorization;
use {{ namespacedModel }};
use {{ namespacedUserModel }};
class {{ class }}
{
use HandlesAuthorization;
/**
* Determine whether the user can view any models.
*
* @param \{{ namespacedUserModel }} $user
* @return \Illuminate\Auth\Access\Response|bool
*/
public function viewAny({{ user }} $user)
{
//
}
/**
* Determine whether the user can view the model.
*
* @param \{{ namespacedUserModel }} $user
* @param \{{ namespacedModel }} ${{ modelVariable }}
* @return \Illuminate\Auth\Access\Response|bool
*/
public function view({{ user }} $user, {{ model }} ${{ modelVariable }})
{
//
}
/**
* Determine whether the user can create models.
*
* @param \{{ namespacedUserModel }} $user
* @return \Illuminate\Auth\Access\Response|bool
*/
public function create({{ user }} $user)
{
//
}
/**
* Determine whether the user can update the model.
*
* @param \{{ namespacedUserModel }} $user
* @param \{{ namespacedModel }} ${{ modelVariable }}
* @return \Illuminate\Auth\Access\Response|bool
*/
public function update({{ user }} $user, {{ model }} ${{ modelVariable }})
{
//
}
/**
* Determine whether the user can delete the model.
*
* @param \{{ namespacedUserModel }} $user
* @param \{{ namespacedModel }} ${{ modelVariable }}
* @return \Illuminate\Auth\Access\Response|bool
*/
public function delete({{ user }} $user, {{ model }} ${{ modelVariable }})
{
//
}
/**
* Determine whether the user can restore the model.
*
* @param \{{ namespacedUserModel }} $user
* @param \{{ namespacedModel }} ${{ modelVariable }}
* @return \Illuminate\Auth\Access\Response|bool
*/
public function restore({{ user }} $user, {{ model }} ${{ modelVariable }})
{
//
}
/**
* Determine whether the user can permanently delete the model.
*
* @param \{{ namespacedUserModel }} $user
* @param \{{ namespacedModel }} ${{ modelVariable }}
* @return \Illuminate\Auth\Access\Response|bool
*/
public function forceDelete({{ user }} $user, {{ model }} ${{ modelVariable }})
{
//
}
}

28
stubs/provider.stub Normal file
View File

@@ -0,0 +1,28 @@
<?php
namespace {{ namespace }};
use Illuminate\Support\ServiceProvider;
class {{ class }} extends ServiceProvider
{
/**
* Register services.
*
* @return void
*/
public function register()
{
//
}
/**
* Bootstrap services.
*
* @return void
*/
public function boot()
{
//
}
}

30
stubs/request.stub Normal file
View File

@@ -0,0 +1,30 @@
<?php
namespace {{ namespace }};
use Illuminate\Foundation\Http\FormRequest;
class {{ class }} extends FormRequest
{
/**
* Determine if the user is authorized to make this request.
*
* @return bool
*/
public function authorize()
{
return false;
}
/**
* Get the validation rules that apply to the request.
*
* @return array<string, mixed>
*/
public function rules()
{
return [
//
];
}
}

View File

@@ -0,0 +1,19 @@
<?php
namespace {{ namespace }};
use Illuminate\Http\Resources\Json\ResourceCollection;
class {{ class }} extends ResourceCollection
{
/**
* Transform the resource collection into an array.
*
* @param \Illuminate\Http\Request $request
* @return array|\Illuminate\Contracts\Support\Arrayable|\JsonSerializable
*/
public function toArray($request)
{
return parent::toArray($request);
}
}

19
stubs/resource.stub Normal file
View File

@@ -0,0 +1,19 @@
<?php
namespace {{ namespace }};
use Illuminate\Http\Resources\Json\JsonResource;
class {{ class }} extends JsonResource
{
/**
* Transform the resource into an array.
*
* @param \Illuminate\Http\Request $request
* @return array|\Illuminate\Contracts\Support\Arrayable|\JsonSerializable
*/
public function toArray($request)
{
return parent::toArray($request);
}
}

40
stubs/rule.stub Normal file
View File

@@ -0,0 +1,40 @@
<?php
namespace {{ namespace }};
use Illuminate\Contracts\Validation\{{ ruleType }};
class {{ class }} implements {{ ruleType }}
{
/**
* Create a new rule instance.
*
* @return void
*/
public function __construct()
{
//
}
/**
* Determine if the validation rule passes.
*
* @param string $attribute
* @param mixed $value
* @return bool
*/
public function passes($attribute, $value)
{
//
}
/**
* Get the validation error message.
*
* @return string
*/
public function message()
{
return 'The validation error message.';
}
}

23
stubs/scope.stub Normal file
View File

@@ -0,0 +1,23 @@
<?php
namespace {{ namespace }};
use Illuminate\Database\Eloquent\Builder;
use Illuminate\Database\Eloquent\Model;
use Illuminate\Database\Eloquent\Scope;
class {{ class }} implements Scope
{
/**
* Apply the scope to a given Eloquent query builder.
*
* @param \Illuminate\Database\Eloquent\Builder $builder
* @param \Illuminate\Database\Eloquent\Model $model
* @return void
*/
public function apply(Builder $builder, Model $model)
{
//
}
}

19
stubs/seeder.stub Normal file
View File

@@ -0,0 +1,19 @@
<?php
namespace {{ namespace }};
use Illuminate\Database\Console\Seeds\WithoutModelEvents;
use Illuminate\Database\Seeder;
class {{ class }} extends Seeder
{
/**
* Run the database seeds.
*
* @return void
*/
public function run()
{
//
}
}

22
stubs/test.stub Normal file
View File

@@ -0,0 +1,22 @@
<?php
namespace {{ namespace }};
use Illuminate\Foundation\Testing\RefreshDatabase;
use Illuminate\Foundation\Testing\WithFaker;
use Tests\TestCase;
class {{ class }} extends TestCase
{
/**
* A basic feature test example.
*
* @return void
*/
public function test_example()
{
$response = $this->get('/');
$response->assertStatus(200);
}
}

18
stubs/test.unit.stub Normal file
View File

@@ -0,0 +1,18 @@
<?php
namespace {{ namespace }};
use PHPUnit\Framework\TestCase;
class {{ class }} extends TestCase
{
/**
* A basic unit test example.
*
* @return void
*/
public function test_example()
{
$this->assertTrue(true);
}
}

28
stubs/view-component.stub Normal file
View File

@@ -0,0 +1,28 @@
<?php
namespace {{ namespace }};
use Illuminate\View\Component;
class {{ class }} extends Component
{
/**
* Create a new component instance.
*
* @return void
*/
public function __construct()
{
//
}
/**
* Get the view / contents that represent the component.
*
* @return \Illuminate\Contracts\View\View|\Closure|string
*/
public function render()
{
return {{ view }};
}
}