diff --git a/backend/build.gradle b/backend/build.gradle index d2f1cc4710f9889b7edbec6bd9b4d7932d15f830..67920f91f707faa1a545faa06eda1cc9a4f6a7ee 100644 --- a/backend/build.gradle +++ b/backend/build.gradle @@ -4,7 +4,7 @@ plugins { id 'io.spring.dependency-management' version '1.1.7' } -group = 'kisbe32' +group = 'ignis' version = '0.0.1-SNAPSHOT' java { diff --git a/backend/src/main/java/kisbe32/backend/JsonConfig.java b/backend/src/main/java/hu/ignis/config/JsonConfig.java similarity index 96% rename from backend/src/main/java/kisbe32/backend/JsonConfig.java rename to backend/src/main/java/hu/ignis/config/JsonConfig.java index a7aac8fc8f72bc34ceb79ff130ab617742d83040..c036bcae8c9bf1188410bd20377ccc91e9266f6c 100644 --- a/backend/src/main/java/kisbe32/backend/JsonConfig.java +++ b/backend/src/main/java/hu/ignis/config/JsonConfig.java @@ -1,4 +1,4 @@ -package kisbe32.backend; +package hu.ignis.config; import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration; diff --git a/backend/src/main/java/hu/ignis/controller/AuthController.java b/backend/src/main/java/hu/ignis/controller/AuthController.java index e0a80a47a112f9f6b1a2f843a398b6da770946f4..64656c59420fba4ddc2aa5b06deb8cd8eeb37170 100644 --- a/backend/src/main/java/hu/ignis/controller/AuthController.java +++ b/backend/src/main/java/hu/ignis/controller/AuthController.java @@ -31,28 +31,36 @@ public class AuthController { .body(new LoginResponse(false, null, null, null, null)); } } - + @PostMapping("/api/register") public ResponseEntity<LoginResponse> register(@RequestBody LoginRequest request) { - // Check if username already exists - User existingUser = userRepository.findByUsername(request.getUsername()); - if (existingUser != null) { - return ResponseEntity.status(HttpStatus.CONFLICT) + try { + // Check if username already exists + User existingUser = userRepository.findByUsername(request.getUsername()); + if (existingUser != null) { + return ResponseEntity.status(HttpStatus.CONFLICT) + .body(new LoginResponse(false, null, null, null, null)); + } + + // Create new user + User newUser = new User(); + newUser.setUsername(request.getUsername()); + newUser.setPassword(request.getPassword()); + newUser.setEmail(request.getEmail()); + newUser.setRole("USER"); // Default role + + // Save user to database + User savedUser = userRepository.save(newUser); + + // Return success response with user details + return ResponseEntity.status(HttpStatus.CREATED) + .body(new LoginResponse(true, savedUser.getId(), savedUser.getUsername(), + savedUser.getEmail(), savedUser.getRole())); + } catch (Exception e) { + e.printStackTrace(); + System.err.println("Registration error details: " + e.getClass().getName() + ": " + e.getMessage()); + return ResponseEntity.status(HttpStatus.INTERNAL_SERVER_ERROR) .body(new LoginResponse(false, null, null, null, null)); } - - // Create new user - User newUser = new User(); - newUser.setUsername(request.getUsername()); - newUser.setPassword(request.getPassword()); - newUser.setEmail(request.getEmail()); - newUser.setRole("USER"); - - // Save user to database - User savedUser = userRepository.save(newUser); - - // Return success response with user details - return ResponseEntity.status(HttpStatus.CREATED) - .body(new LoginResponse(true, savedUser.getId(), savedUser.getUsername(), savedUser.getEmail(), savedUser.getRole())); } } \ No newline at end of file diff --git a/backend/src/main/java/kisbe32/backend/OrderController.java b/backend/src/main/java/hu/ignis/controller/OrderController.java similarity index 95% rename from backend/src/main/java/kisbe32/backend/OrderController.java rename to backend/src/main/java/hu/ignis/controller/OrderController.java index a563803be18d5959b1b214165b4a2366affdfb7b..a008d95643a0004aa3817a20fa317a3e0cf176ad 100644 --- a/backend/src/main/java/kisbe32/backend/OrderController.java +++ b/backend/src/main/java/hu/ignis/controller/OrderController.java @@ -1,5 +1,13 @@ -package kisbe32.backend; +package hu.ignis.controller; +import hu.ignis.model.Order; +import hu.ignis.model.OrderItem; +import hu.ignis.model.Product; +import hu.ignis.model.User; +import hu.ignis.repository.OrderItemRepository; +import hu.ignis.repository.OrderRepository; +import hu.ignis.repository.ProductRepository; +import hu.ignis.repository.UserRepository; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.http.HttpStatus; import org.springframework.http.ResponseEntity; diff --git a/backend/src/main/java/hu/ignis/dto/LoginRequest.java b/backend/src/main/java/hu/ignis/dto/LoginRequest.java index a60b1f6d1bc063c391c4124eded989d7c2cf7596..fd8746d5467cfd3e9cd2271d080761dc80827a6c 100644 --- a/backend/src/main/java/hu/ignis/dto/LoginRequest.java +++ b/backend/src/main/java/hu/ignis/dto/LoginRequest.java @@ -3,13 +3,14 @@ package hu.ignis.dto; public class LoginRequest { private String username; private String password; + private String email; // Default constructor needed for JSON deserialization - public LoginRequest() { - } + public LoginRequest() {} - public LoginRequest(String username, String password) { + public LoginRequest(String username, String email, String password) { this.username = username; + this.email = email; this.password = password; } @@ -28,4 +29,8 @@ public class LoginRequest { public void setPassword(String password) { this.password = password; } + + public String getEmail() {return email;} + + public void setEmail(String email) {this.email = email;} } diff --git a/backend/src/main/resources/application.properties b/backend/src/main/resources/application.properties index f975b96cfebfce46dcb1d0ec5ac183ce5d87ba97..829f8f83c3351b4b5da540824f009eb88af55887 100644 --- a/backend/src/main/resources/application.properties +++ b/backend/src/main/resources/application.properties @@ -5,5 +5,8 @@ spring.datasource.username=szofttech_project spring.datasource.password=Utopia_Gown_Duo4 spring.jpa.hibernate.ddl-auto=update spring.jpa.properties.hibernate.dialect=org.hibernate.dialect.PostgreSQLDialect +logging.level.org.hibernate.SQL=DEBUG +logging.level.org.hibernate.type.descriptor.sql.BasicBinder=TRACE +spring.jpa.properties.hibernate.format_sql=true spring.data.rest.base-path=/api \ No newline at end of file diff --git a/backend/src/test/java/hu/ignis/controller/AuthControllerTest.java b/backend/src/test/java/hu/ignis/controller/AuthControllerTest.java new file mode 100644 index 0000000000000000000000000000000000000000..52d35e2f85ff891139d8ae6a9cd5438b75f58d52 --- /dev/null +++ b/backend/src/test/java/hu/ignis/controller/AuthControllerTest.java @@ -0,0 +1,73 @@ +package hu.ignis.controller; + +import com.fasterxml.jackson.databind.ObjectMapper; +import hu.ignis.dto.LoginRequest; +import hu.ignis.model.User; +import hu.ignis.repository.UserRepository; +import org.junit.jupiter.api.Test; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.boot.test.autoconfigure.web.servlet.WebMvcTest; +import org.springframework.http.MediaType; +import org.springframework.test.context.bean.override.mockito.MockitoBean; +import org.springframework.test.web.servlet.MockMvc; + +import static org.mockito.ArgumentMatchers.any; +import static org.mockito.Mockito.*; +import static org.springframework.test.web.servlet.request.MockMvcRequestBuilders.post; +import static org.springframework.test.web.servlet.result.MockMvcResultMatchers.*; + +@WebMvcTest(AuthController.class) +public class AuthControllerTest { + + @Autowired + private MockMvc mockMvc; + + @MockitoBean + private UserRepository userRepository; + + @Autowired + private ObjectMapper objectMapper; + + @Test + public void testRegister_Success() throws Exception { + LoginRequest request = new LoginRequest("newuser", "newuser@example.com", "password123"); + + // Create a mock saved user to return + User savedUser = new User(); + savedUser.setId(1); + savedUser.setUsername("newuser"); + savedUser.setEmail("newuser@example.com"); + savedUser.setPassword("password123"); + savedUser.setRole("USER"); + + when(userRepository.findByUsername("newuser")).thenReturn(null); + when(userRepository.save(any(User.class))).thenReturn(savedUser); + + mockMvc.perform(post("/api/register") + .contentType(MediaType.APPLICATION_JSON) + .content(objectMapper.writeValueAsString(request))) + .andExpect(status().isCreated()) + .andExpect(jsonPath("$.success").value(true)) + .andExpect(jsonPath("$.username").value("newuser")) + .andExpect(jsonPath("$.email").value("newuser@example.com")) + .andExpect(jsonPath("$.role").value("USER")); + + verify(userRepository, times(1)).save(any(User.class)); + } + + @Test + public void testRegister_Conflict() throws Exception { + // No changes needed in this test + LoginRequest request = new LoginRequest("existinguser", "existinguser@example.com", "password123"); + + when(userRepository.findByUsername("existinguser")).thenReturn(new User()); + + mockMvc.perform(post("/api/register") + .contentType(MediaType.APPLICATION_JSON) + .content(objectMapper.writeValueAsString(request))) + .andExpect(status().isConflict()) + .andExpect(jsonPath("$.success").value(false)); + + verify(userRepository, never()).save(any()); + } +} \ No newline at end of file diff --git a/backend/src/test/java/hu/ignis/dto/LoginRequestTest.java b/backend/src/test/java/hu/ignis/dto/LoginRequestTest.java index abecf9ad7f202bfa39af41d6a3405dbcdc2034e4..20ed3977a7c671833cfcc5ac130e5149a3228e2f 100644 --- a/backend/src/test/java/hu/ignis/dto/LoginRequestTest.java +++ b/backend/src/test/java/hu/ignis/dto/LoginRequestTest.java @@ -11,10 +11,11 @@ class LoginRequestTest { @Test void testLoginRequestConstructorAndGetters() { - LoginRequest request = new LoginRequest("user", "password"); + LoginRequest request = new LoginRequest("user", "asd@asd.com", "password"); assertThat(request.getUsername()).isEqualTo("user"); assertThat(request.getPassword()).isEqualTo("password"); + assertThat(request.getEmail()).isEqualTo("asd@asd.com"); } @Test diff --git a/sample_products.sql b/sample_products.sql index 904a31064fa06a9899b2dff9d2127699a5806539..64bd482ff452bf3296f6514e4b297e76af858ba3 100644 --- a/sample_products.sql +++ b/sample_products.sql @@ -1,82 +1,73 @@ +delete +from products; INSERT INTO PRODUCTS (id, category, image_url, name, price, stock) -VALUES (1, 'Laptops', 'https://cdn.aqua.hu/1836/tn_1-1673983.jpg', 'HP 250 G8 laptop', 194690.00, 5); -INSERT INTO PRODUCTS (id, category, image_url, name, price, stock) -VALUES (2, 'Laptops', 'https://cdn.aqua.hu/1948/1-1741758.jpg', 'Lenovo IdeaPad 3 notebook', 245250.00, 8); -INSERT INTO PRODUCTS (id, category, image_url, name, price, stock) -VALUES (3, 'Laptops', 'https://cdn.aqua.hu/1816/1-1661484.jpg', 'Asus VivoBook 15 laptop', 167890.00, 6); -INSERT INTO PRODUCTS (id, category, image_url, name, price, stock) -VALUES (4, 'Main Components', +VALUES (1, 'Laptops', 'https://cdn.aqua.hu/1836/tn_1-1673983.jpg', 'HP 250 G8 laptop', 194690.00, 5), + (2, 'Laptops', 'https://cdn.aqua.hu/1948/1-1741758.jpg', 'Lenovo IdeaPad 3 notebook', 245250.00, 8), + (3, 'Laptops', 'https://cdn.aqua.hu/1816/1-1661484.jpg', 'Asus VivoBook 15 laptop', 167890.00, 6), + (4, 'Main Components', 'https://cdn.aqua.hu/1107/tn_32gb-3200mhz-ddr4-ram-kingston-fury-beast-black-cl16-2x16gb-kf432c16bb1k232-1210861.jpg', - 'Kingston 16GB DDR4 RAM', 25290.00, 15); -INSERT INTO PRODUCTS (id, category, image_url, name, price, stock) -VALUES (5, 'Accessories', 'https://cdn.aqua.hu/1211/WDS100T3X0E-1296859.jpg', '1TB WD Black SN770 M.2 SSD meghajtó', - 29000.00, 20); -INSERT INTO PRODUCTS (id, category, image_url, name, price, stock) -VALUES (6, 'Peripherals', 'https://cdn.aqua.hu/1207/tn_1-1284291.jpg', - 'Logitech M185 vezeték nélküli optikai USB egér szürke', 4330.00, 30); -INSERT INTO PRODUCTS (id, category, image_url, name, price, stock) -VALUES (7, 'Peripherals', 'https://cdn.aqua.hu/2014/tn_3G651F-1773767.jpg', 'HP LaserJet Pro nyomtató', 48290.00, 10); -INSERT INTO PRODUCTS (id, category, image_url, name, price, stock) -VALUES (8, 'Networking', 'https://cdn.aqua.hu/1090/tp-link-archer-c64-ac1200-router-fekete-1195292.jpg', - 'TP-Link Archer C6 router', 13490.00, 12); -INSERT INTO PRODUCTS (id, category, image_url, name, price, stock) -VALUES (9, 'Software', 'https://cdn.aqua.hu/1323/tn_79G-05388-1422848.jpg', 'Microsoft Office 365 szoftver', 58490.00, - 25); -INSERT INTO PRODUCTS (id, category, image_url, name, price, stock) -VALUES (10, 'PC Cases & Builds', 'https://cdn.aqua.hu/1180/tn_MB600L2-KNNN-S00-1265135.jpg', 'Cooler Master MasterBox', - 23590.00, 7); -INSERT INTO PRODUCTS (id, category, image_url, name, price, stock) -VALUES (11, 'Peripherals', 'https://cdn.aqua.hu/1140/tn_LS24A400UJUXEN-1239026.jpg', 'Samsung 27"" LED monitor', - 70400.00, 9); -INSERT INTO PRODUCTS (id, category, image_url, name, price, stock) -VALUES (12, 'Peripherals', 'https://cdn.aqua.hu/73/tn_pg545-179444.jpg', 'Canon PG-545 Black', 6790.00, 5); -INSERT INTO PRODUCTS (id, category, image_url, name, price, stock) -VALUES (13, 'Main Components', 'https://cdn.aqua.hu/1816/1-1661721.jpg', '500GB Kingston SSD', 15990.00, 14); -INSERT INTO PRODUCTS (id, category, image_url, name, price, stock) -VALUES (14, 'Networking', 'https://cdn.aqua.hu/754/RT-AC1200%20V2-878171.jpg', 'Asus RT-AC1200G+ router', 11300.00, 11); -INSERT INTO PRODUCTS (id, category, image_url, name, price, stock) -VALUES (15, 'Peripherals', 'https://cdn.aqua.hu/1564/tn_1-1547345.jpg', 'Logitech K380', 16480.00, 18); -INSERT INTO PRODUCTS (id, category, image_url, name, price, stock) -VALUES (16, 'Accessories', 'https://cdn.aqua.hu/471/tn_ST2000DM008-620032.jpg', - '2TB Seagate BarraCuda 3.5"" winchester', 29900.00, 22); -INSERT INTO PRODUCTS (id, category, image_url, name, price, stock) -VALUES (17, 'Accessories', 'https://cdn.aqua.hu/1012/HP145-1133529.jpg', - 'Green Cell akkumulátor HP Pavilion 11.55V 3400mAH', 22900.00, 4); -INSERT INTO PRODUCTS (id, category, image_url, name, price, stock) -VALUES (18, 'Laptops', 'https://cdn.aqua.hu/1790/1-1649838.jpg', 'Lenovo ThinkPad E14 notebook', 528790.00, 6); -INSERT INTO PRODUCTS (id, category, image_url, name, price, stock) -VALUES (19, 'Laptops', 'https://cdn.aqua.hu/828/ROG%20STRIX%20B550-F%20GAMING-944693.jpg', - 'ASUS ROG STRIX B550-F GAMING alaplap', 57190.00, 3); -INSERT INTO PRODUCTS (id, category, image_url, name, price, stock) -VALUES (20, 'Main Components', 'https://cdn.aqua.hu/1123/tn_CT8G4SFRA32A-1216991.jpg', - '8GB 3200MHz DDR4 Notebook RAM Crucial CL22', 14900.00, 20); -INSERT INTO PRODUCTS (id, category, image_url, name, price, stock) -VALUES (21, 'Main Components', 'https://cdn.aqua.hu/1199/tn_MZ-77E500B_EU-1116012.jpg', 'Samsung 500GB SSD', 23290.00, - 15); -INSERT INTO PRODUCTS (id, category, image_url, name, price, stock) -VALUES (22, 'Peripherals', 'https://cdn.aqua.hu/1223/tn_1-1304856.jpg', 'Logitech WebCam C920S full HD Pro webkamera', - 29900.00, 10); -INSERT INTO PRODUCTS (id, category, image_url, name, price, stock) -VALUES (23, 'Peripherals', 'https://cdn.aqua.hu/1637/1-1581179.jpg', - 'HP DeskJet 4222e színes többfunkciós tintasugaras nyomtató', 19900.00, 8); -INSERT INTO PRODUCTS (id, category, image_url, name, price, stock) -VALUES (24, 'Networking', 'https://cdn.aqua.hu/364/tp-link-re305-ac1200-wifi-range-extender-534239.jpg', - 'TP-Link RE305 AC1200 WiFi Range Extender', 12900.00, 12); -INSERT INTO PRODUCTS (id, category, image_url, name, price, stock) -VALUES (25, 'Software', 'https://cdn.aqua.hu/1111/FQC-10537-1214955.jpg', - 'Microsoft Windows 11 Professional 64-bit HUN DSP OEI DVD', 30990.00, 5); -INSERT INTO PRODUCTS (id, category, image_url, name, price, stock) -VALUES (26, 'PC Cases & Builds', 'https://cdn.aqua.hu/1244/tn_FD-C-MES2A-06-1319075.jpg', - 'Fractal Design Meshify 2 RGB Black TG Light tint táp nélküli ablakos ház fekete', 87040.00, 7); -INSERT INTO PRODUCTS (id, category, image_url, name, price, stock) -VALUES (27, 'Peripherals', 'https://cdn.aqua.hu/1599/24-acer-cb243ybemipruzx-led-monitor-umqb3ee001-1563474.jpg', - 'Acer 24"" LED monitor', 54220.00, 9); -INSERT INTO PRODUCTS (id, category, image_url, name, price, stock) -VALUES (28, 'Peripherals', 'https://cdn.aqua.hu/1323/1-1422803.jpg', - 'Logitech G PRO X zajszűrős Gaming headset vezetékes fekete', 39990.00, 5); -INSERT INTO PRODUCTS (id, category, image_url, name, price, stock) -VALUES (29, 'Accessories', 'https://cdn.aqua.hu/1666/1-1592043.jpg', - '500GB ADATA külső SSD meghajtó SC610 fekete-piros', 17520.00, 10); -INSERT INTO PRODUCTS (id, category, image_url, name, price, stock) -VALUES (30, 'Main Components', 'https://cdn.aqua.hu/2008/1-1770768.jpg', 'AMD Wraith Prism AM4 CPU hűtő', 21050.00, 6); + 'Kingston 16GB DDR4 RAM', 25290.00, 15), + (5, 'Accessories', 'https://cdn.aqua.hu/1211/WDS100T3X0E-1296859.jpg', '1TB WD Black SN770 M.2 SSD meghajtó', + 29000.00, 20), + (6, 'Peripherals', 'https://cdn.aqua.hu/1207/tn_1-1284291.jpg', + 'Logitech M185 vezeték nélküli optikai USB egér szürke', 4330.00, 30), + (7, 'Peripherals', 'https://cdn.aqua.hu/2014/tn_3G651F-1773767.jpg', 'HP LaserJet Pro nyomtató', 48290.00, 10), + (8, 'Networking', 'https://cdn.aqua.hu/1090/tp-link-archer-c64-ac1200-router-fekete-1195292.jpg', + 'TP-Link Archer C6 router', 13490.00, 12), + (9, 'Software', 'https://cdn.aqua.hu/1323/tn_79G-05388-1422848.jpg', 'Microsoft Office 365 szoftver', 58490.00, + 25), + (10, 'PC Cases & Builds', 'https://cdn.aqua.hu/1180/tn_MB600L2-KNNN-S00-1265135.jpg', 'Cooler Master MasterBox', + 23590.00, 7), + (11, 'Peripherals', 'https://cdn.aqua.hu/1140/tn_LS24A400UJUXEN-1239026.jpg', 'Samsung 27"" LED monitor', + 70400.00, 9), + (12, 'Peripherals', 'https://cdn.aqua.hu/73/tn_pg545-179444.jpg', 'Canon PG-545 Black', 6790.00, 5), + (13, 'Main Components', 'https://cdn.aqua.hu/1816/1-1661721.jpg', '500GB Kingston SSD', 15990.00, 14), + (14, 'Networking', 'https://cdn.aqua.hu/754/RT-AC1200%20V2-878171.jpg', 'Asus RT-AC1200G+ router', 11300.00, 11), + (15, 'Peripherals', 'https://cdn.aqua.hu/1564/tn_1-1547345.jpg', 'Logitech K380', 16480.00, 18), + (16, 'Accessories', 'https://cdn.aqua.hu/471/tn_ST2000DM008-620032.jpg', + '2TB Seagate BarraCuda 3.5"" winchester', 29900.00, 22), + (17, 'Accessories', 'https://cdn.aqua.hu/1012/HP145-1133529.jpg', + 'Green Cell akkumulátor HP Pavilion 11.55V 3400mAH', 22900.00, 4), + (18, 'Laptops', 'https://cdn.aqua.hu/1790/1-1649838.jpg', 'Lenovo ThinkPad E14 notebook', 528790.00, 6), + (19, 'Laptops', 'https://cdn.aqua.hu/828/ROG%20STRIX%20B550-F%20GAMING-944693.jpg', + 'ASUS ROG STRIX B550-F GAMING alaplap', 57190.00, 3), + (20, 'Main Components', 'https://cdn.aqua.hu/1123/tn_CT8G4SFRA32A-1216991.jpg', + '8GB 3200MHz DDR4 Notebook RAM Crucial CL22', 14900.00, 20), + (21, 'Main Components', 'https://cdn.aqua.hu/1199/tn_MZ-77E500B_EU-1116012.jpg', 'Samsung 500GB SSD', 23290.00, + 15), + (22, 'Peripherals', 'https://cdn.aqua.hu/1223/tn_1-1304856.jpg', 'Logitech WebCam C920S full HD Pro webkamera', + 29900.00, 10), + (23, 'Peripherals', 'https://cdn.aqua.hu/1637/1-1581179.jpg', + 'HP DeskJet 4222e színes többfunkciós tintasugaras nyomtató', 19900.00, 8), + (24, 'Networking', 'https://cdn.aqua.hu/364/tp-link-re305-ac1200-wifi-range-extender-534239.jpg', + 'TP-Link RE305 AC1200 WiFi Range Extender', 12900.00, 12), + (25, 'Software', 'https://cdn.aqua.hu/1111/FQC-10537-1214955.jpg', + 'Microsoft Windows 11 Professional 64-bit HUN DSP OEI DVD', 30990.00, 5), + (26, 'PC Cases & Builds', 'https://cdn.aqua.hu/1244/tn_FD-C-MES2A-06-1319075.jpg', + 'Fractal Design Meshify 2 RGB Black TG Light tint táp nélküli ablakos ház fekete', 87040.00, 7), + (27, 'Peripherals', 'https://cdn.aqua.hu/1599/24-acer-cb243ybemipruzx-led-monitor-umqb3ee001-1563474.jpg', + 'Acer 24"" LED monitor', 54220.00, 9), + (28, 'Peripherals', 'https://cdn.aqua.hu/1323/1-1422803.jpg', + 'Logitech G PRO X zajszűrős Gaming headset vezetékes fekete', 39990.00, 5), + (29, 'Accessories', 'https://cdn.aqua.hu/1666/1-1592043.jpg', + '500GB ADATA külső SSD meghajtó SC610 fekete-piros', 17520.00, 10), + (30, 'Main Components', 'https://cdn.aqua.hu/2008/1-1770768.jpg', 'AMD Wraith Prism AM4 CPU hűtő', 21050.00, 6); + +insert into PRODUCTS (id, category, image_url, name, price, stock) +values (31, 'Processor', 'https://cdn.aqua.hu/864/100-100000063WOF-975612.jpg', + 'AMD Ryzen 7 5800X 3.8GHz Socket AM4 dobozos (100-100000063WOF)', 66490.00, 10), + (32, 'Processor', 'https://cdn.aqua.hu/2026/100-100000910WOF-1779523.jpg', + 'AMD Ryzen 7 7800X3D 4.2GHz Socket AM5 dobozos (100-100000910WOF)', 202890.00, 1), + (33, 'Videocard', 'https://cdn.aqua.hu/1965/1-1750620.jpg', + 'ASUS GeForce RTX 5070 12GB PRIME OC Edition videokártya', 324990.00, 5), + (34, 'Videocard', 'https://cdn.aqua.hu/2006/1-1769834.jpg', + 'PowerColor Radeon RX 9070 16GB Reaper videokártya (RX9070 16G-A)', 309990.00, 15), + (35, 'Memory', 'https://cdn.aqua.hu/725/F4-3600C16D-32GTZNC-851923.jpg', + '32GB 3600MHz DDR4 RAM G.Skill Trident Z Neo CL16 (2X16GB) (F4-3600C16D-32GTZNC)', 36990.00, 5), + (36, 'storage', 'https://cdn.aqua.hu/424/SA400S37_960G-576811.jpg', + '960GB Kingston SSD SATA3 2,5" A400 meghajtó (SA400S37/960G)', 21690.00, 60), + (37, 'motherboard', 'https://cdn.aqua.hu/828/ROG%20STRIX%20B550-F%20GAMING-944693.jpg', + 'ASUS ROG STRIX B550-F GAMING alaplap', 57190.00, 5), + (38, 'motherboard', 'https://cdn.aqua.hu/2024/TUF%20GAMING%20X670E-PLUS-1778696.jpg', + 'ASUS TUF GAMING X670E-PLUS alaplap', 109660.00, 0); COMMIT; \ No newline at end of file