From c1e8daacffc237a32eb6bbc1eeef915e320ae483 Mon Sep 17 00:00:00 2001 From: Beluzsar Peter Date: Sun, 9 Aug 2026 01:54:47 +0200 Subject: [PATCH] finish database, start controller --- app/Http/Controllers/TlaController.php | 72 +++++++++++++++++++ app/Models/Tla.php | 15 ++++ bootstrap/app.php | 1 + database/factories/TlaFactory.php | 26 +++++++ .../2026_08_08_224606_create_tla_table.php | 31 ++++++++ database/seeders/DatabaseSeeder.php | 6 +- routes/api.php | 5 ++ 7 files changed, 154 insertions(+), 2 deletions(-) create mode 100644 app/Http/Controllers/TlaController.php create mode 100644 app/Models/Tla.php create mode 100644 database/factories/TlaFactory.php create mode 100644 database/migrations/2026_08_08_224606_create_tla_table.php create mode 100644 routes/api.php diff --git a/app/Http/Controllers/TlaController.php b/app/Http/Controllers/TlaController.php new file mode 100644 index 0000000..601b62f --- /dev/null +++ b/app/Http/Controllers/TlaController.php @@ -0,0 +1,72 @@ +validate([ + 'title' => 'required', + 'body' => 'required', + ]); + + $tla = new Tla($requestData); + + $tla->save(); + + return redirect()->route('admin')->with('success', 'Record added!'); + } // + + public function destroy(Tla $tla): RedirectResponse + { + $tla->delete(); + + return redirect()->route('admin')->with('success', 'Record deleted'); + } + + public function fetch_tla(Request $request) + { + $requiest->validate([ + 'language' => 'required', + ]); + + $requestData = $request->all(); + + $tla = Tla::where('language', $requestData['language']) + ->andWhere('used', date()) + ->firstOrFail(); + + return $tla; + } + + public function check_tla() + { + $request->validate([ + 'guess' => 'required', + 'language' => 'required', + ]); + + $guess_array = explode(' ', $guess); + + return 0; + } + + public function update(Request $request, Tla $tla): RedirectResponse + { + $request->validate([ + 'title' => 'required', + 'body' => 'required', + ]); + + $requestData = $request->all(); + + $tla->update($requestData); + + $tla->save(); + + return redirect()->route('admin')->with('success', 'Record updated!'); + } +} diff --git a/app/Models/Tla.php b/app/Models/Tla.php new file mode 100644 index 0000000..40199da --- /dev/null +++ b/app/Models/Tla.php @@ -0,0 +1,15 @@ +withRouting( + api: __DIR__.'/../routes/api.php', web: __DIR__.'/../routes/web.php', commands: __DIR__.'/../routes/console.php', health: '/up', diff --git a/database/factories/TlaFactory.php b/database/factories/TlaFactory.php new file mode 100644 index 0000000..f7623ad --- /dev/null +++ b/database/factories/TlaFactory.php @@ -0,0 +1,26 @@ + + */ +class TlaFactory extends Factory +{ + /** + * Define the model's default state. + * + * @return array + */ + public function definition(): array + { + return [ + 'abbreviation' => fake()->word() . ' ' . fake()->word() . ' ' . fake()->word(), + 'hint' => fake()->word(), + 'language' => fake()->randomElement(['hu', 'en']), + ]; + } +} diff --git a/database/migrations/2026_08_08_224606_create_tla_table.php b/database/migrations/2026_08_08_224606_create_tla_table.php new file mode 100644 index 0000000..999cbec --- /dev/null +++ b/database/migrations/2026_08_08_224606_create_tla_table.php @@ -0,0 +1,31 @@ +id(); + $table->string('abbreviation'); + $table->string('hint')->nullable(); + $table->enum('language', ['hu', 'en']); + $table->date('used')->nullable(); + $table->timestamps(); + }); + } + + /** + * Reverse the migrations. + */ + public function down(): void + { + Schema::dropIfExists('tla'); + } +}; diff --git a/database/seeders/DatabaseSeeder.php b/database/seeders/DatabaseSeeder.php index 6b901f8..f1c1a51 100644 --- a/database/seeders/DatabaseSeeder.php +++ b/database/seeders/DatabaseSeeder.php @@ -3,6 +3,7 @@ namespace Database\Seeders; use App\Models\User; +use App\Models\Tla; use Illuminate\Database\Console\Seeds\WithoutModelEvents; use Illuminate\Database\Seeder; @@ -16,10 +17,11 @@ class DatabaseSeeder extends Seeder public function run(): void { // User::factory(10)->create(); - + Tla::factory(30)->create(); +/* User::factory()->create([ 'name' => 'Test User', 'email' => 'test@example.com', - ]); + ]);*/ } } diff --git a/routes/api.php b/routes/api.php new file mode 100644 index 0000000..e0feeb0 --- /dev/null +++ b/routes/api.php @@ -0,0 +1,5 @@ +