diff --git a/Backend/laravel9/app/Http/Controllers/AuthController.php b/Backend/laravel9/app/Http/Controllers/AuthController.php index 6a49a40..47a28f1 100644 --- a/Backend/laravel9/app/Http/Controllers/AuthController.php +++ b/Backend/laravel9/app/Http/Controllers/AuthController.php @@ -35,7 +35,7 @@ class AuthController extends Controller 'nev' => $request->nev, 'email' => $request->email, 'felh_nev' => $request->felh_nev, - 'jelszo' => $request->jelszo, // This will be hashed via the mutator + 'jelszo' => $request->jelszo, 'is_admin' => $request->is_admin ?? false ]); @@ -56,10 +56,9 @@ class AuthController extends Controller return response()->json($validator->errors(), 422); } - // Since your login fields are custom, you need to specify the fields $credentials = [ 'felh_nev' => $request->felh_nev, - 'password' => $request->jelszo // Laravel expects 'password' internally + 'password' => $request->jelszo ]; if (!$token = auth('api')->attempt($credentials)) { @@ -96,7 +95,7 @@ class AuthController extends Controller return response()->json([ 'access_token' => $token, 'token_type' => 'bearer', - 'expires_in' => config('jwt.ttl') * 60, // Getting TTL from config + 'expires_in' => config('jwt.ttl') * 60, 'user' => auth('api')->user() ]); } diff --git a/Backend/laravel9/app/Http/Controllers/HozzaadasController.php b/Backend/laravel9/app/Http/Controllers/HozzaadasController.php deleted file mode 100644 index 3466659..0000000 --- a/Backend/laravel9/app/Http/Controllers/HozzaadasController.php +++ /dev/null @@ -1,100 +0,0 @@ - validate([ - 'nev' => 'required|string', - 'kerulet' => 'required|string', - 'kozeli_megall' => 'required|string', - 'akadalym' => 'nullable|boolean', - 'ar' => 'nullable|numeric', - 'nyitva' => 'nullable|string', - 'utvonal' => 'required|string', - 'koordinatak' => 'required|string' - ]); - - try { - $szelesseg = null; - $hosszusag = null; - - if (!empty($validatedData['koordinatak'])) { - $koordinatak = explode(',', $validatedData['koordinatak']); - - if (count($koordinatak) == 2) { - $hosszusag = trim($koordinatak[0]); - $szelesseg = trim($koordinatak[1]); - - if (!is_numeric($szelesseg) || !is_numeric($hosszusag)) { - return response() -> json([ - 'message' => 'Érvénytelen a koordináták formátuma' - ], 422); - } - } - } - - $mosdo = WcAdatok::create([ - 'nev' => $validatedData['nev'], - 'kerulet' => $validatedData['kerulet'], - 'kozeli_megall' => $validatedData['kozeli_megall'], - 'akadalym' => $validatedData['akadalym'], - 'ar' => $validatedData['ar'], - 'nyitva' => $validatedData['nyitva'], - 'utvonal' => $validatedData['utvonal'], - 'szel_koord' => $szelesseg, - 'hossz_koord' => $hosszusag - ]); - - return response() -> json([ - 'message' => 'Sikeres rögzítés', - 'data' => $mosdo - ], 201); - } catch (\Exception $e) { - return response() -> json([ - 'message' => 'Hiba történt a mentés során', - 'error' => $e -> getMessage() - ], 500); - } - } - - /** - * Display the specified resource. - */ - public function show(string $id) - { - // - } - - /** - * Update the specified resource in storage. - */ - public function update(Request $request, string $id) - { - // - } - - /** - * Remove the specified resource from storage. - */ - public function destroy(string $id) - { - // - } -} diff --git a/Backend/laravel9/app/Http/Controllers/UserController.php b/Backend/laravel9/app/Http/Controllers/UserController.php index 901b0f6..fcd1335 100644 --- a/Backend/laravel9/app/Http/Controllers/UserController.php +++ b/Backend/laravel9/app/Http/Controllers/UserController.php @@ -8,17 +8,6 @@ use Illuminate\Support\Facades\Hash; class UserController extends Controller { - /** - * Display a listing of the resource. - */ - public function index() - { - // - } - - /** - * Store a newly created resource in storage. - */ public function store(Request $request) { $validatedData = $request->validate([ @@ -34,7 +23,7 @@ class UserController extends Controller 'nev' => $validatedData['nev'], 'email' => $validatedData['email'], 'felh_nev' => $validatedData['felh_nev'], - 'jelszo' => $validatedData['jelszo'], // Will be hashed by mutator + 'jelszo' => $validatedData['jelszo'], 'is_admin' => $validatedData['is_admin'] ?? false ]); @@ -49,28 +38,4 @@ class UserController extends Controller ], 500); } } - - /** - * Display the specified resource. - */ - public function show(string $id) - { - // - } - - /** - * Update the specified resource in storage. - */ - public function update(Request $request, string $id) - { - // - } - - /** - * Remove the specified resource from storage. - */ - public function destroy(string $id) - { - // - } } \ No newline at end of file diff --git a/Backend/laravel9/app/Http/Controllers/WcController.php b/Backend/laravel9/app/Http/Controllers/WcController.php index b915f5c..8e9535b 100644 --- a/Backend/laravel9/app/Http/Controllers/WcController.php +++ b/Backend/laravel9/app/Http/Controllers/WcController.php @@ -104,6 +104,4 @@ class WcController extends Controller return response()->json(['message' => 'Nem található'], 404); } } - - } diff --git a/Backend/laravel9/app/Models/User.php b/Backend/laravel9/app/Models/User.php index f00a8d1..da9666e 100644 --- a/Backend/laravel9/app/Models/User.php +++ b/Backend/laravel9/app/Models/User.php @@ -22,7 +22,6 @@ class User extends Authenticatable implements JWTSubject return []; } - // Change to match your migration protected $table = 'felhasznalok'; protected $fillable = [ @@ -43,13 +42,11 @@ class User extends Authenticatable implements JWTSubject 'email_verified_at' => 'datetime', ]; - // This method tells Laravel to use jelszo field for passwords public function getAuthPassword() { return $this->jelszo; } - // Fix this to use 'jelszo' instead of 'password' public function setJelszoAttribute($value) { $this->attributes['jelszo'] = \Illuminate\Support\Facades\Hash::make($value); diff --git a/Backend/laravel9/database/migrations/2025_04_10_091601_tabla_feltoles.php b/Backend/laravel9/database/migrations/2025_04_10_091601_tabla_feltoles.php index bc924b0..fedcba1 100644 --- a/Backend/laravel9/database/migrations/2025_04_10_091601_tabla_feltoles.php +++ b/Backend/laravel9/database/migrations/2025_04_10_091601_tabla_feltoles.php @@ -6,9 +6,6 @@ use Illuminate\Support\Facades\Schema; return new class extends Migration { - /** - * Run the migrations. - */ public function up(): void { Schema::create('keruletek', function (Blueprint $t) { @@ -42,11 +39,10 @@ return new class extends Migration }); } - /** - * Reverse the migrations. - */ public function down(): void { - // + Schema::dropIfExists('keruletek'); + Schema::dropIfExists('felhasznalok'); + Schema::dropIfExists('wc_adatok'); } }; diff --git a/Backend/laravel9/database/seeders/DatabaseSeeder.php b/Backend/laravel9/database/seeders/DatabaseSeeder.php index 1f29e81..977d894 100644 --- a/Backend/laravel9/database/seeders/DatabaseSeeder.php +++ b/Backend/laravel9/database/seeders/DatabaseSeeder.php @@ -8,9 +8,6 @@ use Illuminate\Database\Seeder; class DatabaseSeeder extends Seeder { - /** - * Seed the application's database. - */ public function run(): void { $this -> call([ diff --git a/Backend/laravel9/database/seeders/FelhasznaloFeltoltes.php b/Backend/laravel9/database/seeders/FelhasznaloFeltoltes.php index 4b8e8ee..37590d4 100644 --- a/Backend/laravel9/database/seeders/FelhasznaloFeltoltes.php +++ b/Backend/laravel9/database/seeders/FelhasznaloFeltoltes.php @@ -14,14 +14,22 @@ class FelhasznaloFeltoltes extends Seeder */ public function run(): void { - DB::table('felhasznalok')->insert([ - 'nev' => 'Magony Sándor', - 'email' => 'magonys2006@gmail.com', + DB::table('felhasznalok')->insert([[ + 'nev' => 'Admin', + 'email' => 'admin@gmail.com', 'felh_nev' => 'admin', 'jelszo' => Hash::make('admin'), 'is_admin' => true, 'created_at' => now(), 'updated_at' => now() - ]); + ], [ + 'nev' => 'Felhasználó', + 'email' => 'felhasznalo@gmail.com', + 'felh_nev' => 'felhaszalo', + 'jelszo' => Hash::make('felhasznalo'), + 'is_admin' => false, + 'created_at' => now(), + 'updated_at' => now() + ]]); } } diff --git a/frontend/peepal_react/src/WC_Komponens/Bejel_Regisz/Regisztracio.jsx b/frontend/peepal_react/src/WC_Komponens/Bejel_Regisz/Regisztracio.jsx index 132c41f..aee2536 100644 --- a/frontend/peepal_react/src/WC_Komponens/Bejel_Regisz/Regisztracio.jsx +++ b/frontend/peepal_react/src/WC_Komponens/Bejel_Regisz/Regisztracio.jsx @@ -1,5 +1,5 @@ import { useState } from 'react'; -import { useAuth } from './AuthContext'; // Update this path +import { useAuth } from './AuthContext'; import { useNavigate } from 'react-router-dom'; export default function Regisztracio() { @@ -43,9 +43,8 @@ export default function Regisztracio() { const result = await register(formData); if (result.success) { - navigate('/bejelentkezes'); // Navigate to login page after successful registration + navigate('/bejelentkezes'); } else if (result.errors) { - // Format Laravel validation errors const serverErrors = {}; for (const key in result.errors) { if (Array.isArray(result.errors[key])) { diff --git a/frontend/peepal_react/src/WC_Komponens/Csempe/Csempe.jsx b/frontend/peepal_react/src/WC_Komponens/Csempe/Csempe.jsx index 7edbf36..4668e03 100644 --- a/frontend/peepal_react/src/WC_Komponens/Csempe/Csempe.jsx +++ b/frontend/peepal_react/src/WC_Komponens/Csempe/Csempe.jsx @@ -34,7 +34,6 @@ export default function Csempe() { }) .then(response => { if (response.ok) { - // Sikeres törlés után szűrd ki az adott elemet a state-ből setMosdok(prev => prev.filter(m => m.id !== mosdoId)); } else { console.error("Törlés sikertelen"); diff --git a/frontend/peepal_react/src/WC_Komponens/Csempe/Csempe.test.jsx b/frontend/peepal_react/src/WC_Komponens/Csempe/Csempe.test.jsx index 376af9b..6346e1e 100644 --- a/frontend/peepal_react/src/WC_Komponens/Csempe/Csempe.test.jsx +++ b/frontend/peepal_react/src/WC_Komponens/Csempe/Csempe.test.jsx @@ -29,7 +29,7 @@ describe('Csempe komponens', () => { ]; beforeEach(() => { - fetch.resetMocks?.(); // ha használsz jest-fetch-mock-ot + fetch.resetMocks?.(); jest.clearAllMocks(); }); @@ -68,9 +68,9 @@ describe('Csempe komponens', () => { test('Betöltés alatt megjelenik spinner', async () => { useAuth.mockReturnValue({ user: { is_admin: true } }); - fetchModule.mosdokFetch.mockImplementation(() => new Promise(() => {})); // never resolves + fetchModule.mosdokFetch.mockImplementation(() => new Promise(() => {})); render(); - expect(screen.getByRole('status')).toBeInTheDocument(); // a spinner div-ben legyen pl. role="status" + expect(screen.getByRole('status')).toBeInTheDocument(); }); }); diff --git a/frontend/peepal_react/src/WC_Komponens/Hozzadas/HozzaadForm.jsx b/frontend/peepal_react/src/WC_Komponens/Hozzadas/HozzaadForm.jsx index 85f800e..e5f711f 100644 --- a/frontend/peepal_react/src/WC_Komponens/Hozzadas/HozzaadForm.jsx +++ b/frontend/peepal_react/src/WC_Komponens/Hozzadas/HozzaadForm.jsx @@ -17,7 +17,6 @@ export default function HozzaadForm() { const handleSubmit = async (event) => { event.preventDefault(); - // Validáció: egyszerű kötelező mező ellenőrzések const newErrors = {}; if (!nev.trim()) newErrors.nev = "A név megadása kötelező."; if (!kerulet_id) newErrors.kerulet_id = "Kerület kiválasztása kötelező."; diff --git a/frontend/peepal_react/src/WC_Komponens/Kereso/Legkozelebbi.jsx b/frontend/peepal_react/src/WC_Komponens/Kereso/Legkozelebbi.jsx index b89265c..87c2d25 100644 --- a/frontend/peepal_react/src/WC_Komponens/Kereso/Legkozelebbi.jsx +++ b/frontend/peepal_react/src/WC_Komponens/Kereso/Legkozelebbi.jsx @@ -2,11 +2,10 @@ import React, { useState } from 'react'; import { TfiWheelchair } from "react-icons/tfi"; import { mosdokFetch } from '../../apiFetch'; -// Egyszerű koordináta-alapú távolság (nincs konverzió km-re) const calculateDistance = (lat1, lon1, lat2, lon2) => { const dx = lat1 - lat2; const dy = lon1 - lon2; - return dx * dx + dy * dy; // távolság négyzete (nem baj, hogy nincs gyök alatt) + return dx * dx + dy * dy; }; export default function LegkozelebbiMosdo() {