diff --git a/etc/sql/01-CarBrandsInserts.sql b/etc/sql/01-CarBrandsInserts.sql index 3736fd0..5c8533d 100644 --- a/etc/sql/01-CarBrandsInserts.sql +++ b/etc/sql/01-CarBrandsInserts.sql @@ -1,156 +1,156 @@ -INSERT INTO car_brand (name) VALUES ('Abarth'); -INSERT INTO car_brand (name) VALUES ('Acura'); -INSERT INTO car_brand (name) VALUES ('Aiways'); -INSERT INTO car_brand (name) VALUES ('Aixam'); -INSERT INTO car_brand (name) VALUES ('Alfa Romeo'); -INSERT INTO car_brand (name) VALUES ('Alpine'); -INSERT INTO car_brand (name) VALUES ('Asia'); -INSERT INTO car_brand (name) VALUES ('Aston Martin'); -INSERT INTO car_brand (name) VALUES ('Audi'); -INSERT INTO car_brand (name) VALUES ('Austin'); -INSERT INTO car_brand (name) VALUES ('Autobianchi'); -INSERT INTO car_brand (name) VALUES ('BAC'); -INSERT INTO car_brand (name) VALUES ('Baic'); -INSERT INTO car_brand (name) VALUES ('Bentley'); -INSERT INTO car_brand (name) VALUES ('BMW'); -INSERT INTO car_brand (name) VALUES ('BMW-ALPINA'); -INSERT INTO car_brand (name) VALUES ('Bolloré'); -INSERT INTO car_brand (name) VALUES ('Brilliance'); -INSERT INTO car_brand (name) VALUES ('Bugatti'); -INSERT INTO car_brand (name) VALUES ('Buick'); -INSERT INTO car_brand (name) VALUES ('BYD'); -INSERT INTO car_brand (name) VALUES ('Cadillac'); -INSERT INTO car_brand (name) VALUES ('Casalini'); -INSERT INTO car_brand (name) VALUES ('Caterham'); -INSERT INTO car_brand (name) VALUES ('Cenntro'); -INSERT INTO car_brand (name) VALUES ('Changan'); -INSERT INTO car_brand (name) VALUES ('Chatenet'); -INSERT INTO car_brand (name) VALUES ('Chevrolet'); -INSERT INTO car_brand (name) VALUES ('Chrysler'); -INSERT INTO car_brand (name) VALUES ('Citroën'); -INSERT INTO car_brand (name) VALUES ('Cupra'); -INSERT INTO car_brand (name) VALUES ('Dacia'); -INSERT INTO car_brand (name) VALUES ('Daewoo'); -INSERT INTO car_brand (name) VALUES ('Daihatsu'); -INSERT INTO car_brand (name) VALUES ('DeLorean'); -INSERT INTO car_brand (name) VALUES ('DFSK'); -INSERT INTO car_brand (name) VALUES ('DKW'); -INSERT INTO car_brand (name) VALUES ('Dodge'); -INSERT INTO car_brand (name) VALUES ('Doosan'); -INSERT INTO car_brand (name) VALUES ('DR MOTOR'); -INSERT INTO car_brand (name) VALUES ('DS Automobiles'); -INSERT INTO car_brand (name) VALUES ('e.GO'); -INSERT INTO car_brand (name) VALUES ('Elaris'); -INSERT INTO car_brand (name) VALUES ('FAW'); -INSERT INTO car_brand (name) VALUES ('Ferrari'); -INSERT INTO car_brand (name) VALUES ('Fiat'); -INSERT INTO car_brand (name) VALUES ('Ford'); -INSERT INTO car_brand (name) VALUES ('Galloper'); -INSERT INTO car_brand (name) VALUES ('Gaz'); -INSERT INTO car_brand (name) VALUES ('Geely'); -INSERT INTO car_brand (name) VALUES ('Genesis'); -INSERT INTO car_brand (name) VALUES ('GMC'); -INSERT INTO car_brand (name) VALUES ('GWM'); -INSERT INTO car_brand (name) VALUES ('Hammer'); -INSERT INTO car_brand (name) VALUES ('HiPhi'); -INSERT INTO car_brand (name) VALUES ('Holden'); -INSERT INTO car_brand (name) VALUES ('Honda'); -INSERT INTO car_brand (name) VALUES ('Hongqi'); -INSERT INTO car_brand (name) VALUES ('Hummer'); -INSERT INTO car_brand (name) VALUES ('Hyundai'); -INSERT INTO car_brand (name) VALUES ('iamelectric'); -INSERT INTO car_brand (name) VALUES ('Ineos'); -INSERT INTO car_brand (name) VALUES ('Infiniti'); -INSERT INTO car_brand (name) VALUES ('Inny'); -INSERT INTO car_brand (name) VALUES ('Isuzu'); -INSERT INTO car_brand (name) VALUES ('Iveco'); -INSERT INTO car_brand (name) VALUES ('Jaguar'); -INSERT INTO car_brand (name) VALUES ('Jeep'); -INSERT INTO car_brand (name) VALUES ('Jetour'); -INSERT INTO car_brand (name) VALUES ('John Deere'); -INSERT INTO car_brand (name) VALUES ('Kaipan'); -INSERT INTO car_brand (name) VALUES ('Kia'); -INSERT INTO car_brand (name) VALUES ('KTM'); -INSERT INTO car_brand (name) VALUES ('Lada'); -INSERT INTO car_brand (name) VALUES ('Lamborghini'); -INSERT INTO car_brand (name) VALUES ('Lancia'); -INSERT INTO car_brand (name) VALUES ('Land Rover'); -INSERT INTO car_brand (name) VALUES ('Leapmotor'); -INSERT INTO car_brand (name) VALUES ('LEVC'); -INSERT INTO car_brand (name) VALUES ('Lexus'); -INSERT INTO car_brand (name) VALUES ('Ligier'); -INSERT INTO car_brand (name) VALUES ('Lincoln'); -INSERT INTO car_brand (name) VALUES ('Lixiang'); -INSERT INTO car_brand (name) VALUES ('Lotus'); -INSERT INTO car_brand (name) VALUES ('LTI'); -INSERT INTO car_brand (name) VALUES ('LuAZ'); -INSERT INTO car_brand (name) VALUES ('Lucid'); -INSERT INTO car_brand (name) VALUES ('Lynk & Co'); -INSERT INTO car_brand (name) VALUES ('MAN'); -INSERT INTO car_brand (name) VALUES ('Maserati'); -INSERT INTO car_brand (name) VALUES ('MAXIMUS'); -INSERT INTO car_brand (name) VALUES ('Maxus'); -INSERT INTO car_brand (name) VALUES ('Maybach'); -INSERT INTO car_brand (name) VALUES ('Mazda'); -INSERT INTO car_brand (name) VALUES ('McLaren'); -INSERT INTO car_brand (name) VALUES ('Mercedes-Benz'); -INSERT INTO car_brand (name) VALUES ('Mercury'); -INSERT INTO car_brand (name) VALUES ('MG'); -INSERT INTO car_brand (name) VALUES ('Microcar'); -INSERT INTO car_brand (name) VALUES ('MINI'); -INSERT INTO car_brand (name) VALUES ('Mitsubishi'); -INSERT INTO car_brand (name) VALUES ('NIO'); -INSERT INTO car_brand (name) VALUES ('Nissan'); -INSERT INTO car_brand (name) VALUES ('NSU'); -INSERT INTO car_brand (name) VALUES ('Nysa'); -INSERT INTO car_brand (name) VALUES ('Oldsmobile'); -INSERT INTO car_brand (name) VALUES ('Opel'); -INSERT INTO car_brand (name) VALUES ('Peugeot'); -INSERT INTO car_brand (name) VALUES ('Piaggio'); -INSERT INTO car_brand (name) VALUES ('Plymouth'); -INSERT INTO car_brand (name) VALUES ('Polestar'); -INSERT INTO car_brand (name) VALUES ('Polonez'); -INSERT INTO car_brand (name) VALUES ('Pontiac'); -INSERT INTO car_brand (name) VALUES ('Porsche'); -INSERT INTO car_brand (name) VALUES ('Proton'); -INSERT INTO car_brand (name) VALUES ('RAM'); -INSERT INTO car_brand (name) VALUES ('Renault'); -INSERT INTO car_brand (name) VALUES ('Rolls-Royce'); -INSERT INTO car_brand (name) VALUES ('Rover'); -INSERT INTO car_brand (name) VALUES ('Saab'); -INSERT INTO car_brand (name) VALUES ('Santana'); -INSERT INTO car_brand (name) VALUES ('Seat'); -INSERT INTO car_brand (name) VALUES ('Seres'); -INSERT INTO car_brand (name) VALUES ('Shuanghuan'); -INSERT INTO car_brand (name) VALUES ('Skoda'); -INSERT INTO car_brand (name) VALUES ('Skywell'); -INSERT INTO car_brand (name) VALUES ('Smart'); -INSERT INTO car_brand (name) VALUES ('SsangYong'); -INSERT INTO car_brand (name) VALUES ('Subaru'); -INSERT INTO car_brand (name) VALUES ('Suzuki'); -INSERT INTO car_brand (name) VALUES ('Syrena'); -INSERT INTO car_brand (name) VALUES ('Talbot'); -INSERT INTO car_brand (name) VALUES ('Tarpan'); -INSERT INTO car_brand (name) VALUES ('Tata'); -INSERT INTO car_brand (name) VALUES ('Tatra'); -INSERT INTO car_brand (name) VALUES ('Tavria'); -INSERT INTO car_brand (name) VALUES ('Tesla'); -INSERT INTO car_brand (name) VALUES ('Toyota'); -INSERT INTO car_brand (name) VALUES ('Trabant'); -INSERT INTO car_brand (name) VALUES ('Triumph'); -INSERT INTO car_brand (name) VALUES ('Uaz'); -INSERT INTO car_brand (name) VALUES ('Vanderhall'); -INSERT INTO car_brand (name) VALUES ('Vauxhall'); -INSERT INTO car_brand (name) VALUES ('VELEX'); -INSERT INTO car_brand (name) VALUES ('Volkswagen'); -INSERT INTO car_brand (name) VALUES ('Volvo'); -INSERT INTO car_brand (name) VALUES ('Voyah'); -INSERT INTO car_brand (name) VALUES ('Warszawa'); -INSERT INTO car_brand (name) VALUES ('Wartburg'); -INSERT INTO car_brand (name) VALUES ('Wołga'); -INSERT INTO car_brand (name) VALUES ('XPeng'); -INSERT INTO car_brand (name) VALUES ('Yugo'); -INSERT INTO car_brand (name) VALUES ('Zaporożec'); -INSERT INTO car_brand (name) VALUES ('Zastava'); -INSERT INTO car_brand (name) VALUES ('ZEEKR'); -INSERT INTO car_brand (name) VALUES ('Żuk'); +INSERT INTO car_brand (name, search_key) VALUES + ('Abarth', 'abarth'), + ('Acura', 'acura'), + ('Aiways', 'aiways'), + ('Aixam', 'aixam'), + ('Alfa Romeo', 'alfa-romeo'), + ('Alpine', 'alpine'), + ('Arcfox', 'arcfox'), + ('Aro', 'aro'), + ('Asia', 'asia'), + ('Aston Martin', 'aston-martin'), + ('Audi', 'audi'), + ('Austin', 'austin'), + ('Autobianchi', 'autobianchi'), + ('Baic', 'baic'), + ('Bentley', 'bentley'), + ('BMW', 'bmw'), + ('BMW-ALPINA', 'alpina'), + ('Brilliance', 'brilliance'), + ('Bugatti', 'bugatti'), + ('Buick', 'buick'), + ('BYD', 'byd'), + ('Cadillac', 'cadillac'), + ('Casalini', 'casalini'), + ('Caterham', 'caterham'), + ('Cenntro', 'cenntro'), + ('Changan', 'changan'), + ('Chatenet', 'chatenet'), + ('Chevrolet', 'chevrolet'), + ('Chrysler', 'chrysler'), + ('Citroën', 'citroen'), + ('Cupra', 'cupra'), + ('Dacia', 'dacia'), + ('Daewoo', 'daewoo'), + ('Daihatsu', 'daihatsu'), + ('DeLorean', 'delorean'), + ('DFM', 'dfm'), + ('DFSK', 'dfsk'), + ('DKW', 'dkw'), + ('Dodge', 'dodge'), + ('Doosan', 'doosan'), + ('DR MOTOR', 'dr-motor'), + ('DS Automobiles', 'ds-automobiles'), + ('e.GO', 'e-go'), + ('Eagle', 'eagle'), + ('Elaris', 'elaris'), + ('FAW', 'faw'), + ('Ferrari', 'ferrari'), + ('Fiat', 'fiat'), + ('Fisker', 'fisker'), + ('Ford', 'ford'), + ('Forthing', 'forthing'), + ('Gaz', 'gaz'), + ('Geely', 'geely'), + ('Genesis', 'genesis'), + ('GMC', 'gmc'), + ('Grecav', 'grecav'), + ('GWM', 'gwm'), + ('HiPhi', 'hiphi'), + ('Honda', 'honda'), + ('Hongqi', 'hongqi'), + ('Hummer', 'hummer'), + ('Hyundai', 'hyundai'), + ('iamelectric', 'iamelectric'), + ('Ineos', 'ineos'), + ('Infiniti', 'infiniti'), + ('Inny', 'other'), + ('Isuzu', 'isuzu'), + ('Iveco', 'iveco'), + ('JAC', 'jac'), + ('Jaecoo', 'jaecoo'), + ('Jaguar', 'jaguar'), + ('Jeep', 'jeep'), + ('Jetour', 'jetour'), + ('Jinpeng', 'jinpeng'), + ('Kia', 'kia'), + ('KTM', 'ktm'), + ('Lada', 'lada'), + ('Lamborghini', 'lamborghini'), + ('Lancia', 'lancia'), + ('Land Rover', 'land-rover'), + ('Leapmotor', 'leapmotor'), + ('LEVC', 'levc'), + ('Lexus', 'lexus'), + ('Ligier', 'ligier'), + ('Lincoln', 'lincoln'), + ('Lixiang', 'lixiang'), + ('Lotus', 'lotus'), + ('LTI', 'lti'), + ('Lucid', 'lucid'), + ('Lynk & Co', 'lynk-and-co'), + ('MAN', 'man'), + ('Maserati', 'maserati'), + ('MAXIMUS', 'maximus'), + ('Maxus', 'maxus'), + ('Maybach', 'maybach'), + ('Mazda', 'mazda'), + ('McLaren', 'mclaren'), + ('Mercedes-Benz', 'mercedes-benz'), + ('Mercury', 'mercury'), + ('MG', 'mg'), + ('Microcar', 'microcar'), + ('MINI', 'mini'), + ('Mitsubishi', 'mitsubishi'), + ('Morgan', 'morgan'), + ('NIO', 'nio'), + ('Nissan', 'nissan'), + ('Nysa', 'nysa'), + ('Oldsmobile', 'oldsmobile'), + ('Omoda', 'omoda'), + ('Opel', 'opel'), + ('Peugeot', 'peugeot'), + ('Piaggio', 'piaggio'), + ('Plymouth', 'plymouth'), + ('Polestar', 'polestar'), + ('Polonez', 'polonez'), + ('Pontiac', 'pontiac'), + ('Porsche', 'porsche'), + ('RAM', 'ram'), + ('Renault', 'renault'), + ('Rolls-Royce', 'rolls-royce'), + ('Rover', 'rover'), + ('Saab', 'saab'), + ('SARINI', 'sarini'), + ('Saturn', 'saturn'), + ('Seat', 'seat'), + ('Seres', 'seres'), + ('Shuanghuan', 'shuanghuan'), + ('Skoda', 'skoda'), + ('Skywell', 'skywell'), + ('Skyworth', 'skyworth'), + ('Smart', 'smart'), + ('SsangYong', 'ssangyong'), + ('Subaru', 'subaru'), + ('Suzuki', 'suzuki'), + ('Syrena', 'syrena'), + ('Tarpan', 'tarpan'), + ('Tata', 'tata'), + ('Tesla', 'tesla'), + ('Toyota', 'toyota'), + ('Trabant', 'trabant'), + ('Triumph', 'triumph'), + ('Uaz', 'uaz'), + ('Vauxhall', 'vauxhall'), + ('VELEX', 'velex'), + ('Volkswagen', 'volkswagen'), + ('Volvo', 'volvo'), + ('Voyah', 'voyah'), + ('Warszawa', 'warszawa'), + ('Wartburg', 'wartburg'), + ('Wołga', 'wolga'), + ('XPeng', 'xpeng'), + ('Zaporożec', 'zaporozec'), + ('Zastava', 'zastawa'), + ('ZEEKR', 'zeekr'), + ('Żuk', 'zuk'); \ No newline at end of file diff --git a/src/main/java/com/example/backend/car/controller/CarBrandController.java b/src/main/java/com/example/backend/car/controller/CarBrandController.java index 4249ff3..9a4ae35 100644 --- a/src/main/java/com/example/backend/car/controller/CarBrandController.java +++ b/src/main/java/com/example/backend/car/controller/CarBrandController.java @@ -20,7 +20,7 @@ public CarBrandController(CarBrandService carBrandService) { @GetMapping("list") public List get() { - return carBrandService.list().stream().map((carBrand) -> CarBrandDto.of(carBrand.getId(), carBrand.getName())).toList(); + return carBrandService.list().stream().map((carBrand) -> CarBrandDto.of(carBrand.getId(), carBrand.getName(), carBrand.getSearchKey())).toList(); } } diff --git a/src/main/java/com/example/backend/car/dto/CarBrandDto.java b/src/main/java/com/example/backend/car/dto/CarBrandDto.java index 4fce286..044093c 100644 --- a/src/main/java/com/example/backend/car/dto/CarBrandDto.java +++ b/src/main/java/com/example/backend/car/dto/CarBrandDto.java @@ -11,10 +11,13 @@ public class CarBrandDto { private String name; - public static CarBrandDto of(Integer id, String name) { + private String searchKey; + + public static CarBrandDto of(Integer id, String name, String searchKey) { CarBrandDto carBrandDto = new CarBrandDto(); carBrandDto.setId(id); carBrandDto.setName(name); + carBrandDto.setSearchKey(searchKey); return carBrandDto; } @@ -33,4 +36,12 @@ public String getName() { public void setName(String name) { this.name = name; } + + public String getSearchKey() { + return searchKey; + } + + public void setSearchKey(String searchKey) { + this.searchKey = searchKey; + } } diff --git a/src/main/java/com/example/backend/car/model/CarBrand.java b/src/main/java/com/example/backend/car/model/CarBrand.java index c34ffc0..d469140 100644 --- a/src/main/java/com/example/backend/car/model/CarBrand.java +++ b/src/main/java/com/example/backend/car/model/CarBrand.java @@ -3,7 +3,7 @@ import jakarta.persistence.*; @Entity -@Table(name = "car_brand", uniqueConstraints = @UniqueConstraint(columnNames = {"name"})) +@Table(name = "car_brand", uniqueConstraints = @UniqueConstraint(columnNames = {"name", "search_key"})) public class CarBrand { @Id @@ -13,6 +13,9 @@ public class CarBrand { @Column(length = 64, nullable = false) private String name; + @Column(name = "search_key", length = 64, nullable = false) + private String searchKey; + public int getId() { return id; } @@ -28,4 +31,12 @@ public String getName() { public void setName(String name) { this.name = name; } + + public String getSearchKey() { + return searchKey; + } + + public void setSearchKey(String searchKey) { + this.searchKey = searchKey; + } }