From 2f3c01f5f96cb9d7b6428af1c3cf939c0392b975 Mon Sep 17 00:00:00 2001
From: anon <anon@anon.anon>
Date: Thu, 3 Nov 2022 07:35:40 +0100
Subject: [PATCH] + Game, GamePuzzle Model & Factory

---
 picquiz/app/Models/Game.php                   | 11 +++++++
 picquiz/app/Models/GamePuzzle.php             | 11 +++++++
 picquiz/database/factories/GameFactory.php    | 30 ++++++++++++++++++
 .../database/factories/GamePuzzleFactory.php  | 31 +++++++++++++++++++
 4 files changed, 83 insertions(+)
 create mode 100644 picquiz/app/Models/Game.php
 create mode 100644 picquiz/app/Models/GamePuzzle.php
 create mode 100644 picquiz/database/factories/GameFactory.php
 create mode 100644 picquiz/database/factories/GamePuzzleFactory.php

diff --git a/picquiz/app/Models/Game.php b/picquiz/app/Models/Game.php
new file mode 100644
index 0000000..d18a40f
--- /dev/null
+++ b/picquiz/app/Models/Game.php
@@ -0,0 +1,11 @@
+<?php
+
+namespace App\Models;
+
+use Illuminate\Database\Eloquent\Factories\HasFactory;
+use Illuminate\Database\Eloquent\Model;
+
+class Game extends Model
+{
+    use HasFactory;
+}
diff --git a/picquiz/app/Models/GamePuzzle.php b/picquiz/app/Models/GamePuzzle.php
new file mode 100644
index 0000000..e07293c
--- /dev/null
+++ b/picquiz/app/Models/GamePuzzle.php
@@ -0,0 +1,11 @@
+<?php
+
+namespace App\Models;
+
+use Illuminate\Database\Eloquent\Factories\HasFactory;
+use Illuminate\Database\Eloquent\Model;
+
+class GamePuzzle extends Model
+{
+    use HasFactory;
+}
diff --git a/picquiz/database/factories/GameFactory.php b/picquiz/database/factories/GameFactory.php
new file mode 100644
index 0000000..c14e902
--- /dev/null
+++ b/picquiz/database/factories/GameFactory.php
@@ -0,0 +1,30 @@
+<?php
+
+namespace Database\Factories;
+
+use Illuminate\Database\Eloquent\Factories\Factory;
+use App\Models\GamePuzzle;
+
+/**
+ * @extends \Illuminate\Database\Eloquent\Factories\Factory<\App\Models\Game>
+ */
+class GameFactory extends Factory
+{
+    /**
+     * Define the model's default state.
+     *
+     * @return array<string, mixed>
+     */
+    public function definition()
+    {
+        return [
+			"player" => 1,
+        ];
+    }
+
+	public function len($len){
+		return $this->state(function($l) use ($len) {
+			GamePuzzle::factory()->count($l)->create();
+		});
+	}
+}
diff --git a/picquiz/database/factories/GamePuzzleFactory.php b/picquiz/database/factories/GamePuzzleFactory.php
new file mode 100644
index 0000000..2306707
--- /dev/null
+++ b/picquiz/database/factories/GamePuzzleFactory.php
@@ -0,0 +1,31 @@
+<?php
+
+namespace Database\Factories;
+
+use Illuminate\Database\Eloquent\Factories\Factory;
+
+/**
+ * @extends \Illuminate\Database\Eloquent\Factories\Factory<\App\Models\GamePuzzle>
+ */
+class GamePuzzleFactory extends Factory
+{
+    /**
+     * Define the model's default state.
+     *
+     * @return array<string, mixed>
+     */
+    public function definition()
+    {
+        return [
+			'puzzle' => $faker->randomNumber(DB::table('puzzles')->count(), false),
+        ];
+    }
+
+	public function game($id){
+		return $this->state(function($i) use ($id) {
+			return [
+				"game" => $i,
+			];
+		});
+	}
+}