summaryrefslogtreecommitdiff
path: root/workbench
diff options
context:
space:
mode:
Diffstat (limited to 'workbench')
-rw-r--r--workbench/app/Models/Product.php12
-rw-r--r--workbench/app/Providers/WorkbenchServiceProvider.php24
-rw-r--r--workbench/bootstrap/app.php19
-rw-r--r--workbench/bootstrap/providers.php5
-rw-r--r--workbench/database/factories/ProductFactory.php33
-rw-r--r--workbench/database/migrations/2025_01_18_201725_create_products_table.php27
-rw-r--r--workbench/database/seeders/DatabaseSeeder.php23
-rw-r--r--workbench/resources/views/.gitkeep0
-rw-r--r--workbench/routes/web.php7
9 files changed, 150 insertions, 0 deletions
diff --git a/workbench/app/Models/Product.php b/workbench/app/Models/Product.php
new file mode 100644
index 0000000..27017ee
--- /dev/null
+++ b/workbench/app/Models/Product.php
@@ -0,0 +1,12 @@
+<?php
+
+namespace Workbench\App\Models;
+
+use Illuminate\Database\Eloquent\Factories\HasFactory;
+use Illuminate\Database\Eloquent\Model;
+
+class Product extends Model
+{
+ /** @use HasFactory<\Database\Factories\ProductFactory> */
+ use HasFactory;
+}
diff --git a/workbench/app/Providers/WorkbenchServiceProvider.php b/workbench/app/Providers/WorkbenchServiceProvider.php
new file mode 100644
index 0000000..e8cec9c
--- /dev/null
+++ b/workbench/app/Providers/WorkbenchServiceProvider.php
@@ -0,0 +1,24 @@
+<?php
+
+namespace Workbench\App\Providers;
+
+use Illuminate\Support\ServiceProvider;
+
+class WorkbenchServiceProvider extends ServiceProvider
+{
+ /**
+ * Register services.
+ */
+ public function register(): void
+ {
+ //
+ }
+
+ /**
+ * Bootstrap services.
+ */
+ public function boot(): void
+ {
+ //
+ }
+}
diff --git a/workbench/bootstrap/app.php b/workbench/bootstrap/app.php
new file mode 100644
index 0000000..6ead72a
--- /dev/null
+++ b/workbench/bootstrap/app.php
@@ -0,0 +1,19 @@
+<?php
+
+use Illuminate\Foundation\Application;
+use Illuminate\Foundation\Configuration\Exceptions;
+use Illuminate\Foundation\Configuration\Middleware;
+
+use function Orchestra\Testbench\default_skeleton_path;
+
+return Application::configure(basePath: $APP_BASE_PATH ?? default_skeleton_path())
+ ->withRouting(
+ web: __DIR__.'/../routes/web.php',
+ commands: __DIR__.'/../routes/console.php',
+ )
+ ->withMiddleware(function (Middleware $middleware) {
+ //
+ })
+ ->withExceptions(function (Exceptions $exceptions) {
+ //
+ })->create();
diff --git a/workbench/bootstrap/providers.php b/workbench/bootstrap/providers.php
new file mode 100644
index 0000000..3ac44ad
--- /dev/null
+++ b/workbench/bootstrap/providers.php
@@ -0,0 +1,5 @@
+<?php
+
+return [
+ //
+];
diff --git a/workbench/database/factories/ProductFactory.php b/workbench/database/factories/ProductFactory.php
new file mode 100644
index 0000000..4131cb2
--- /dev/null
+++ b/workbench/database/factories/ProductFactory.php
@@ -0,0 +1,33 @@
+<?php
+
+namespace Workbench\Database\Factories;
+
+use Illuminate\Database\Eloquent\Factories\Factory;
+use Workbench\App\Models\Product;
+
+/**
+ * @template TModel of \Workbench\App\Models\Product
+ *
+ * @extends \Illuminate\Database\Eloquent\Factories\Factory<TModel>
+ */
+class ProductFactory extends Factory
+{
+ /**
+ * The name of the factory's corresponding model.
+ *
+ * @var class-string<TModel>
+ */
+ protected $model = Product::class;
+
+ /**
+ * Define the model's default state.
+ *
+ * @return array<string, mixed>
+ */
+ public function definition(): array
+ {
+ return [
+ //
+ ];
+ }
+}
diff --git a/workbench/database/migrations/2025_01_18_201725_create_products_table.php b/workbench/database/migrations/2025_01_18_201725_create_products_table.php
new file mode 100644
index 0000000..7c23f58
--- /dev/null
+++ b/workbench/database/migrations/2025_01_18_201725_create_products_table.php
@@ -0,0 +1,27 @@
+<?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('products', function (Blueprint $table) {
+ $table->id();
+ $table->timestamps();
+ });
+ }
+
+ /**
+ * Reverse the migrations.
+ */
+ public function down(): void
+ {
+ Schema::dropIfExists('products');
+ }
+};
diff --git a/workbench/database/seeders/DatabaseSeeder.php b/workbench/database/seeders/DatabaseSeeder.php
new file mode 100644
index 0000000..f10adbb
--- /dev/null
+++ b/workbench/database/seeders/DatabaseSeeder.php
@@ -0,0 +1,23 @@
+<?php
+
+namespace Workbench\Database\Seeders;
+
+use Illuminate\Database\Seeder;
+// use Illuminate\Database\Console\Seeds\WithoutModelEvents;
+use Workbench\Database\Factories\UserFactory;
+
+class DatabaseSeeder extends Seeder
+{
+ /**
+ * Seed the application's database.
+ */
+ public function run(): void
+ {
+ // UserFactory::new()->times(10)->create();
+
+ UserFactory::new()->create([
+ 'name' => 'Test User',
+ 'email' => 'test@example.com',
+ ]);
+ }
+}
diff --git a/workbench/resources/views/.gitkeep b/workbench/resources/views/.gitkeep
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/workbench/resources/views/.gitkeep
diff --git a/workbench/routes/web.php b/workbench/routes/web.php
new file mode 100644
index 0000000..86a06c5
--- /dev/null
+++ b/workbench/routes/web.php
@@ -0,0 +1,7 @@
+<?php
+
+use Illuminate\Support\Facades\Route;
+
+Route::get('/', function () {
+ return view('welcome');
+});