From 21b43d9bdb43936906429baba4b0623d9828f4ae Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Anesa=20Fazlagi=C4=87?= <xfazlag@fi.muni.cz>
Date: Tue, 21 Mar 2023 19:11:32 +0100
Subject: [PATCH] added basic structure for the microservice for handling
 electricity prices

---
 .../muni/fi/pa165/core/DataInitializer.java   | 67 ++++++++---------
 .../fi/pa165/core/common/DomainService.java   | 59 +++++++--------
 .../cz/muni/fi/pa165/core/device/Device.java  | 13 ++--
 .../fi/pa165/core/device/DeviceMapper.java    |  5 +-
 .../pa165/core/device/DeviceRepository.java   |  8 +-
 .../fi/pa165/core/device/DeviceService.java   | 34 +++++----
 .../fi/pa165/core/smartmeter/SmartMeter.java  |  5 +-
 .../core/smartmeter/SmartMeterMapper.java     | 18 ++---
 .../core/smartmeter/SmartMeterRepository.java |  3 +-
 .../core/smartmeter/SmartMeterService.java    | 20 ++---
 .../cz/muni/fi/pa165/microservice4/App.java   |  6 +-
 .../electricityprices/ElectricityPrice.java   | 13 ++++
 .../ElectricityPriceController.java           | 33 +++++----
 .../ElectricityPriceDTO.java                  | 11 ---
 .../ElectricityPriceService.java              | 10 +--
 .../ElectricityPriceServiceImpl.java          | 74 +++++++++++--------
 .../ElectricityPriceSetRequest.java           | 18 +++--
 .../StoredElectricityPrice.java               | 13 ----
 .../src/main/resources/application.yml        |  2 +-
 microservice4/src/main/resources/banner.txt   |  1 -
 .../model/dto/device/DeviceCreateDto.java     |  2 +-
 .../fi/pa165/model/dto/device/DeviceDto.java  |  2 +-
 .../model/dto/device/DeviceUpdateDto.java     |  2 +-
 .../dto/smartDevice/SmartMeterCreateDto.java  |  4 +-
 .../model/dto/smartDevice/SmartMeterDto.java  |  4 +-
 25 files changed, 215 insertions(+), 212 deletions(-)
 create mode 100644 microservice4/src/main/java/cz/muni/fi/pa165/microservice4/electricityprices/ElectricityPrice.java
 delete mode 100644 microservice4/src/main/java/cz/muni/fi/pa165/microservice4/electricityprices/ElectricityPriceDTO.java
 delete mode 100644 microservice4/src/main/java/cz/muni/fi/pa165/microservice4/electricityprices/StoredElectricityPrice.java

diff --git a/core/src/main/java/cz/muni/fi/pa165/core/DataInitializer.java b/core/src/main/java/cz/muni/fi/pa165/core/DataInitializer.java
index 9045d5f..dbeaead 100644
--- a/core/src/main/java/cz/muni/fi/pa165/core/DataInitializer.java
+++ b/core/src/main/java/cz/muni/fi/pa165/core/DataInitializer.java
@@ -15,45 +15,40 @@ import org.springframework.stereotype.Component;
 @RequiredArgsConstructor
 @Component
 public class DataInitializer implements ApplicationRunner {
-	private final UserService userService;
-	private final DeviceService deviceService;
-	private final SmartMeterService smartMeterService;
+  private final UserService userService;
+  private final DeviceService deviceService;
+  private final SmartMeterService smartMeterService;
 
-	@Override
-	public void run(ApplicationArguments args) throws Exception {
-		SeedUsers();
-		SeedDevice();
-		SeedSmartMeter();
-	}
+  @Override
+  public void run(ApplicationArguments args) throws Exception {
+    SeedUsers();
+    SeedDevice();
+    SeedSmartMeter();
+  }
 
-	private void SeedUsers(){
-		User user = User.builder()
-				.email("test@email.com")
-				.firstName("John")
-				.lastName("Doe")
-				.username("johnD")
-				.password("password")
-				.userType(UserType.ADMIN)
-				.build();
-		userService.create(user);
-	}
+  private void SeedUsers() {
+    User user =
+        User.builder()
+            .email("test@email.com")
+            .firstName("John")
+            .lastName("Doe")
+            .username("johnD")
+            .password("password")
+            .userType(UserType.ADMIN)
+            .build();
+    userService.create(user);
+  }
 
-	private void SeedDevice(){
-		Device device = Device.builder()
-				.name("device01")
-				.build();
-		deviceService.create(device);
-	}
+  private void SeedDevice() {
+    Device device = Device.builder().name("device01").build();
+    deviceService.create(device);
+  }
 
-	private void SeedSmartMeter(){
-		Device device = Device.builder()
-				.name("device02")
-				.build();
-		deviceService.create(device);
+  private void SeedSmartMeter() {
+    Device device = Device.builder().name("device02").build();
+    deviceService.create(device);
 
-		SmartMeter smartMeter = SmartMeter.builder()
-				.device(device)
-				.build();
-		smartMeterService.create(smartMeter);
-	}
+    SmartMeter smartMeter = SmartMeter.builder().device(device).build();
+    smartMeterService.create(smartMeter);
+  }
 }
diff --git a/core/src/main/java/cz/muni/fi/pa165/core/common/DomainService.java b/core/src/main/java/cz/muni/fi/pa165/core/common/DomainService.java
index d97b39e..88aa38e 100644
--- a/core/src/main/java/cz/muni/fi/pa165/core/common/DomainService.java
+++ b/core/src/main/java/cz/muni/fi/pa165/core/common/DomainService.java
@@ -11,33 +11,34 @@ import java.util.List;
 
 public abstract class DomainService<T extends DomainObject> {
 
-	public static final int DEFAULT_PAGE_SIZE = 10;
-
-	public abstract JpaRepository<T, String> getRepository();
-
-	@Transactional
-	public T create(T entity) {
-		return getRepository().save(entity);
-	}
-
-	@Transactional(readOnly = true)
-	public Page<T> findAllPageable(Pageable pageable) {
-		return getRepository().findAll(pageable);
-	}
-
-	@Transactional(readOnly = true)
-	public List<T> findAll() {
-		return getRepository().findAll();
-	}
-
-	@Transactional(readOnly = true)
-	public Page<T> findAllPageableInt(int page) {
-		return getRepository().findAll(PageRequest.of(page, DEFAULT_PAGE_SIZE));
-	}
-
-	@Transactional(readOnly = true)
-	public T findById(String id){
-		return getRepository().findById(id).orElseThrow(() -> new EntityNotFoundException("Entity with '"+ id + "' not found."));
-	}
+  public static final int DEFAULT_PAGE_SIZE = 10;
+
+  public abstract JpaRepository<T, String> getRepository();
+
+  @Transactional
+  public T create(T entity) {
+    return getRepository().save(entity);
+  }
+
+  @Transactional(readOnly = true)
+  public Page<T> findAllPageable(Pageable pageable) {
+    return getRepository().findAll(pageable);
+  }
+
+  @Transactional(readOnly = true)
+  public List<T> findAll() {
+    return getRepository().findAll();
+  }
+
+  @Transactional(readOnly = true)
+  public Page<T> findAllPageableInt(int page) {
+    return getRepository().findAll(PageRequest.of(page, DEFAULT_PAGE_SIZE));
+  }
+
+  @Transactional(readOnly = true)
+  public T findById(String id) {
+    return getRepository()
+        .findById(id)
+        .orElseThrow(() -> new EntityNotFoundException("Entity with '" + id + "' not found."));
+  }
 }
-
diff --git a/core/src/main/java/cz/muni/fi/pa165/core/device/Device.java b/core/src/main/java/cz/muni/fi/pa165/core/device/Device.java
index 86355f2..7e1f286 100644
--- a/core/src/main/java/cz/muni/fi/pa165/core/device/Device.java
+++ b/core/src/main/java/cz/muni/fi/pa165/core/device/Device.java
@@ -18,13 +18,12 @@ import java.util.List;
 @Table(name = "domain_device")
 public class Device extends DomainObject {
 
-    private String name;
+  private String name;
 
-    @OneToMany
-    private List<SmartMeter> smartMeterList;
-    // Manufacturer
-    // private Manufacturer manufacturer;
+  @OneToMany private List<SmartMeter> smartMeterList;
+  // Manufacturer
+  // private Manufacturer manufacturer;
 
-    // Company ??
-    // private Company company;
+  // Company ??
+  // private Company company;
 }
diff --git a/core/src/main/java/cz/muni/fi/pa165/core/device/DeviceMapper.java b/core/src/main/java/cz/muni/fi/pa165/core/device/DeviceMapper.java
index 31e8b7f..ed1895f 100644
--- a/core/src/main/java/cz/muni/fi/pa165/core/device/DeviceMapper.java
+++ b/core/src/main/java/cz/muni/fi/pa165/core/device/DeviceMapper.java
@@ -10,6 +10,7 @@ import org.mapstruct.Mapper;
 
 @Mapper
 public interface DeviceMapper extends DomainMapper<Device, DeviceDto> {
-    Device fromCreateDto(DeviceCreateDto dto);
-    Device fromUpdateDto(DeviceUpdateDto dto);
+  Device fromCreateDto(DeviceCreateDto dto);
+
+  Device fromUpdateDto(DeviceUpdateDto dto);
 }
diff --git a/core/src/main/java/cz/muni/fi/pa165/core/device/DeviceRepository.java b/core/src/main/java/cz/muni/fi/pa165/core/device/DeviceRepository.java
index ac3cfa6..f9d3ec8 100644
--- a/core/src/main/java/cz/muni/fi/pa165/core/device/DeviceRepository.java
+++ b/core/src/main/java/cz/muni/fi/pa165/core/device/DeviceRepository.java
@@ -10,9 +10,7 @@ import java.util.Optional;
 
 @Repository
 public interface DeviceRepository extends JpaRepository<Device, String> {
-    @Modifying
-    @Query("UPDATE Device d set d.name= :#{#device.name} where d.id = :#{#device.id}")
-    Optional<Device> update(@Param("device") Device device);
+  @Modifying
+  @Query("UPDATE Device d set d.name= :#{#device.name} where d.id = :#{#device.id}")
+  Optional<Device> update(@Param("device") Device device);
 }
-
-
diff --git a/core/src/main/java/cz/muni/fi/pa165/core/device/DeviceService.java b/core/src/main/java/cz/muni/fi/pa165/core/device/DeviceService.java
index cd1e80d..9a346d6 100644
--- a/core/src/main/java/cz/muni/fi/pa165/core/device/DeviceService.java
+++ b/core/src/main/java/cz/muni/fi/pa165/core/device/DeviceService.java
@@ -15,23 +15,25 @@ import java.util.Optional;
 @Service
 public class DeviceService extends DomainService<Device> {
 
-    @Getter
-    private final DeviceRepository repository;
+  @Getter private final DeviceRepository repository;
 
-    @Autowired
-    public DeviceService(DeviceRepository deviceRepository){
-        repository = deviceRepository;
-    }
+  @Autowired
+  public DeviceService(DeviceRepository deviceRepository) {
+    repository = deviceRepository;
+  }
 
-    @Transactional(readOnly = true)
-    public Device findById(String id){
-        return repository.findById(id)
-                .orElseThrow(() -> new EntityNotFoundException("Device with '" + id + "' not found"));
-    }
+  @Transactional(readOnly = true)
+  public Device findById(String id) {
+    return repository
+        .findById(id)
+        .orElseThrow(() -> new EntityNotFoundException("Device with '" + id + "' not found"));
+  }
 
-    @Transactional
-    public Device update(Device device){
-        return repository.update(device)
-                .orElseThrow(() -> new EntityNotFoundException("Device with '" + device.getId() + "' not found"));
-    }
+  @Transactional
+  public Device update(Device device) {
+    return repository
+        .update(device)
+        .orElseThrow(
+            () -> new EntityNotFoundException("Device with '" + device.getId() + "' not found"));
+  }
 }
diff --git a/core/src/main/java/cz/muni/fi/pa165/core/smartmeter/SmartMeter.java b/core/src/main/java/cz/muni/fi/pa165/core/smartmeter/SmartMeter.java
index 398de21..7f4c51d 100644
--- a/core/src/main/java/cz/muni/fi/pa165/core/smartmeter/SmartMeter.java
+++ b/core/src/main/java/cz/muni/fi/pa165/core/smartmeter/SmartMeter.java
@@ -15,7 +15,6 @@ import lombok.*;
 @AllArgsConstructor
 @Table(name = "domain_smartMeter")
 public class SmartMeter extends DomainObject {
-    @ManyToOne
-    private Device device;
-    private String smartMeterIdentityNumber =getId();
+  @ManyToOne private Device device;
+  private String smartMeterIdentityNumber = getId();
 }
diff --git a/core/src/main/java/cz/muni/fi/pa165/core/smartmeter/SmartMeterMapper.java b/core/src/main/java/cz/muni/fi/pa165/core/smartmeter/SmartMeterMapper.java
index bd07d9d..5ac47e5 100644
--- a/core/src/main/java/cz/muni/fi/pa165/core/smartmeter/SmartMeterMapper.java
+++ b/core/src/main/java/cz/muni/fi/pa165/core/smartmeter/SmartMeterMapper.java
@@ -14,17 +14,15 @@ import java.util.List;
 
 @Mapper
 public interface SmartMeterMapper extends DomainMapper<SmartMeter, SmartMeterDto> {
-    @Mapping(source = "deviceDto", target = "device")
-    SmartMeter fromCreateDto(SmartMeterCreateDto dto);
+  @Mapping(source = "deviceDto", target = "device")
+  SmartMeter fromCreateDto(SmartMeterCreateDto dto);
 
-    @Mapping(source = "deviceDto", target = "device")
-    SmartMeter fromDto(SmartMeterDto dto);
-
-    @Mapping(source = "device", target = "deviceDto")
-    SmartMeterDto toDto(SmartMeter entity);
-
-    @Mapping(source = "device", target = "deviceDto")
-    List<SmartMeterDto> toDtoList(List<SmartMeter> entities);
+  @Mapping(source = "deviceDto", target = "device")
+  SmartMeter fromDto(SmartMeterDto dto);
 
+  @Mapping(source = "device", target = "deviceDto")
+  SmartMeterDto toDto(SmartMeter entity);
 
+  @Mapping(source = "device", target = "deviceDto")
+  List<SmartMeterDto> toDtoList(List<SmartMeter> entities);
 }
diff --git a/core/src/main/java/cz/muni/fi/pa165/core/smartmeter/SmartMeterRepository.java b/core/src/main/java/cz/muni/fi/pa165/core/smartmeter/SmartMeterRepository.java
index 2f2b528..b4c0db9 100644
--- a/core/src/main/java/cz/muni/fi/pa165/core/smartmeter/SmartMeterRepository.java
+++ b/core/src/main/java/cz/muni/fi/pa165/core/smartmeter/SmartMeterRepository.java
@@ -10,5 +10,4 @@ import org.springframework.stereotype.Repository;
 import java.util.Optional;
 
 @Repository
-public interface SmartMeterRepository extends JpaRepository<SmartMeter, String> {
-}
+public interface SmartMeterRepository extends JpaRepository<SmartMeter, String> {}
diff --git a/core/src/main/java/cz/muni/fi/pa165/core/smartmeter/SmartMeterService.java b/core/src/main/java/cz/muni/fi/pa165/core/smartmeter/SmartMeterService.java
index 1735396..9b5fb1f 100644
--- a/core/src/main/java/cz/muni/fi/pa165/core/smartmeter/SmartMeterService.java
+++ b/core/src/main/java/cz/muni/fi/pa165/core/smartmeter/SmartMeterService.java
@@ -11,16 +11,16 @@ import org.springframework.transaction.annotation.Transactional;
 @Service
 public class SmartMeterService extends DomainService<SmartMeter> {
 
-    @Getter
-    private final SmartMeterRepository repository;
+  @Getter private final SmartMeterRepository repository;
 
-    public SmartMeterService(SmartMeterRepository smartMeterRepository) {
-        this.repository = smartMeterRepository;
-    }
+  public SmartMeterService(SmartMeterRepository smartMeterRepository) {
+    this.repository = smartMeterRepository;
+  }
 
-    @Transactional(readOnly = true)
-    public SmartMeter findSmartMeterById(String id){
-        return repository.findById(id)
-                .orElseThrow(() -> new EntityNotFoundException("SmartMeter with '" + id + "' not found"));
-    }
+  @Transactional(readOnly = true)
+  public SmartMeter findSmartMeterById(String id) {
+    return repository
+        .findById(id)
+        .orElseThrow(() -> new EntityNotFoundException("SmartMeter with '" + id + "' not found"));
+  }
 }
diff --git a/microservice4/src/main/java/cz/muni/fi/pa165/microservice4/App.java b/microservice4/src/main/java/cz/muni/fi/pa165/microservice4/App.java
index 779fece..06f278a 100644
--- a/microservice4/src/main/java/cz/muni/fi/pa165/microservice4/App.java
+++ b/microservice4/src/main/java/cz/muni/fi/pa165/microservice4/App.java
@@ -5,7 +5,7 @@ import org.springframework.boot.autoconfigure.SpringBootApplication;
 
 @SpringBootApplication
 public class App {
-	public static void main(String[] args) {
-		SpringApplication.run(App.class, args);
-	}
+  public static void main(String[] args) {
+    SpringApplication.run(App.class, args);
+  }
 }
diff --git a/microservice4/src/main/java/cz/muni/fi/pa165/microservice4/electricityprices/ElectricityPrice.java b/microservice4/src/main/java/cz/muni/fi/pa165/microservice4/electricityprices/ElectricityPrice.java
new file mode 100644
index 0000000..dcea788
--- /dev/null
+++ b/microservice4/src/main/java/cz/muni/fi/pa165/microservice4/electricityprices/ElectricityPrice.java
@@ -0,0 +1,13 @@
+package cz.muni.fi.pa165.microservice4.electricityprices;
+
+import lombok.Builder;
+import lombok.Data;
+
+@Builder
+@Data
+public class ElectricityPrice {
+  private String id;
+  private String companyId;
+  private double priceHighTariff;
+  private double priceLowTariff;
+}
diff --git a/microservice4/src/main/java/cz/muni/fi/pa165/microservice4/electricityprices/ElectricityPriceController.java b/microservice4/src/main/java/cz/muni/fi/pa165/microservice4/electricityprices/ElectricityPriceController.java
index c0bfe93..abac36d 100644
--- a/microservice4/src/main/java/cz/muni/fi/pa165/microservice4/electricityprices/ElectricityPriceController.java
+++ b/microservice4/src/main/java/cz/muni/fi/pa165/microservice4/electricityprices/ElectricityPriceController.java
@@ -1,27 +1,30 @@
 package cz.muni.fi.pa165.microservice4.electricityprices;
 
-import jakarta.servlet.http.HttpServletRequest;
+import lombok.extern.slf4j.Slf4j;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.http.MediaType;
 import org.springframework.web.bind.annotation.*;
-
 import java.util.List;
 
+@Slf4j
 @RestController
 @RequestMapping(value = "/api/v1/electricity", produces = MediaType.APPLICATION_JSON_VALUE)
 public class ElectricityPriceController {
-    private final ElectricityPriceService electricityPriceService;
-    @Autowired
-    public ElectricityPriceController(ElectricityPriceService electricityPriceService) {
-        this.electricityPriceService = electricityPriceService;
-    }
+  private final ElectricityPriceServiceImpl electricityPriceService;
+
+  @Autowired
+  public ElectricityPriceController(ElectricityPriceServiceImpl electricityPriceService) {
+    this.electricityPriceService = electricityPriceService;
+  }
+
+  @GetMapping(path = "/electricityprices")
+  public List<ElectricityPrice> getAllElectricityPrice() {
+    return electricityPriceService.getAllElectricityPrice();
+  }
 
-    @GetMapping(path = "/electricityprices")
-    public List<ElectricityPriceDTO> getAllElectricityPrice() {
-        return electricityPriceService.getAllElectricityPrice().stream().map(ElectricityPriceDTO::toElectricityPriceDTO).toList();
-    }
-    @PostMapping(path = "/electricityprices")
-    public void setElectricityPrice(@RequestBody ElectricityPriceSetRequest req) {
-        //TODO
-    }
+  @PostMapping(path = "/electricityprices")
+  public void setElectricityPrice(@RequestBody ElectricityPriceSetRequest req) {
+    log.info("new price adding {}", req);
+    electricityPriceService.setElectricityPrice(req);
+  }
 }
diff --git a/microservice4/src/main/java/cz/muni/fi/pa165/microservice4/electricityprices/ElectricityPriceDTO.java b/microservice4/src/main/java/cz/muni/fi/pa165/microservice4/electricityprices/ElectricityPriceDTO.java
deleted file mode 100644
index 4b17135..0000000
--- a/microservice4/src/main/java/cz/muni/fi/pa165/microservice4/electricityprices/ElectricityPriceDTO.java
+++ /dev/null
@@ -1,11 +0,0 @@
-package cz.muni.fi.pa165.microservice4.electricityprices;
-
-//DTO
-public record ElectricityPriceDTO(String id, String companyId, double priceHighTariff, double priceLowTariff) {
-public static ElectricityPriceDTO toElectricityPriceDTO(StoredElectricityPrice storedElectricityPrice) {
-    return new ElectricityPriceDTO(storedElectricityPrice.id(),
-            storedElectricityPrice.companyId(),
-            storedElectricityPrice.priceHighTariff(),
-            storedElectricityPrice.priceLowTariff());
-}
-}
diff --git a/microservice4/src/main/java/cz/muni/fi/pa165/microservice4/electricityprices/ElectricityPriceService.java b/microservice4/src/main/java/cz/muni/fi/pa165/microservice4/electricityprices/ElectricityPriceService.java
index 71c00d6..e25aa75 100644
--- a/microservice4/src/main/java/cz/muni/fi/pa165/microservice4/electricityprices/ElectricityPriceService.java
+++ b/microservice4/src/main/java/cz/muni/fi/pa165/microservice4/electricityprices/ElectricityPriceService.java
@@ -3,11 +3,11 @@ package cz.muni.fi.pa165.microservice4.electricityprices;
 import java.util.List;
 
 public interface ElectricityPriceService {
-    public void setElectricityPrice(String companyId,
-                                    double priceHighTariff,
-                                    double priceLowTariff);
+  public void setElectricityPrice(String companyId, double priceHighTariff, double priceLowTariff);
 
-    public double getElectricityPrice(String companyId); //dependent on time - low or high tariff
+  public double getElectricityPrice(String companyId); // dependent on time - low or high tariff
 
-    public List<StoredElectricityPrice> getAllElectricityPrice();
+  public List<ElectricityPrice> getAllElectricityPrice();
+
+  void setElectricityPrice(ElectricityPriceSetRequest req);
 }
diff --git a/microservice4/src/main/java/cz/muni/fi/pa165/microservice4/electricityprices/ElectricityPriceServiceImpl.java b/microservice4/src/main/java/cz/muni/fi/pa165/microservice4/electricityprices/ElectricityPriceServiceImpl.java
index 372e3cb..c04c68a 100644
--- a/microservice4/src/main/java/cz/muni/fi/pa165/microservice4/electricityprices/ElectricityPriceServiceImpl.java
+++ b/microservice4/src/main/java/cz/muni/fi/pa165/microservice4/electricityprices/ElectricityPriceServiceImpl.java
@@ -9,37 +9,49 @@ import java.util.concurrent.CopyOnWriteArrayList;
 
 @Service
 public class ElectricityPriceServiceImpl implements ElectricityPriceService {
-    //to be stored in database in the future
-    private final List<StoredElectricityPrice> list = new CopyOnWriteArrayList<>();
-    @PostConstruct
-    public void init() {
-        list.add(new StoredElectricityPrice("1", "1", 300.0, 200.0));
-    }
-    @Override
-    public void setElectricityPrice(String companyId,
-                                    double priceHighTariff,
-                                    double priceLowTariff) {
-                list.add(new StoredElectricityPrice(UUID.randomUUID().toString(), companyId, priceHighTariff, priceLowTariff));
-
-    }
+
+  // to be stored in database in the future
+  private final List<ElectricityPrice> list = new CopyOnWriteArrayList<>();
+
+  @PostConstruct
+  public void init() {
+    list.add(
+        ElectricityPrice.builder()
+            .id(UUID.randomUUID().toString())
+            .companyId("1")
+            .priceHighTariff(300.0)
+            .priceLowTariff(200.0)
+            .build());
+  }
+
+  @Override
+  public void setElectricityPrice(String companyId, double priceHighTariff, double priceLowTariff) {
     /*
-    public void setElectricityPrice(ElectricityPriceRegistrationRequest electricityPriceRegistrationRequest) {
-        ElectricityPrice electricityPrice = ElectricityPrice
-                    .builder()
-                    .id(electricityPriceRegistrationRequest.companyId())
-                    .priceHighTariff(electricityPriceRegistrationRequest.priceHighTariff())
-                    .priceLowTariff(electricityPriceRegistrationRequest.priceLowTariff())
-                    .build();
-    }*/
-
-    @Override
-    public double getElectricityPrice(String companyId) {
-        return 0;
-    }
-
-    @Override
-    public List<StoredElectricityPrice> getAllElectricityPrice() {
-        return list;
-    }
+    list.add(
+        StoredElectricityPrice.builder()
+            .id(UUID.randomUUID().toString())
+            .companyId(companyId)
+            .priceHighTariff(priceHighTariff)
+            .priceLowTariff(priceLowTariff)
+            .build());*/
+  }
+
+  @Override
+  public double getElectricityPrice(String companyId) {
+    return 0;
+  }
+
+  @Override
+  public List<ElectricityPrice> getAllElectricityPrice() {
+    return list;
+  }
 
+  public void setElectricityPrice(ElectricityPriceSetRequest req) {
+    ElectricityPrice.builder()
+        .id(UUID.randomUUID().toString())
+        .companyId(UUID.randomUUID().toString())
+        .priceHighTariff(req.getPriceHighTariff())
+        .priceLowTariff(req.getPriceLowTariff())
+        .build();
+  }
 }
diff --git a/microservice4/src/main/java/cz/muni/fi/pa165/microservice4/electricityprices/ElectricityPriceSetRequest.java b/microservice4/src/main/java/cz/muni/fi/pa165/microservice4/electricityprices/ElectricityPriceSetRequest.java
index 39466e3..b17a760 100644
--- a/microservice4/src/main/java/cz/muni/fi/pa165/microservice4/electricityprices/ElectricityPriceSetRequest.java
+++ b/microservice4/src/main/java/cz/muni/fi/pa165/microservice4/electricityprices/ElectricityPriceSetRequest.java
@@ -1,9 +1,17 @@
 package cz.muni.fi.pa165.microservice4.electricityprices;
 
-//TODO
+import lombok.Builder;
+import lombok.Data;
+import lombok.Getter;
+import lombok.Setter;
+
+// TODO
+@Setter
+@Getter
+@Builder
+@Data
 public class ElectricityPriceSetRequest {
-    private String id;
-    private String companyId;
-    private double priceHighTariff;
-    private double priceLowTariff;
+  private String companyId;
+  private double priceHighTariff;
+  private double priceLowTariff;
 }
diff --git a/microservice4/src/main/java/cz/muni/fi/pa165/microservice4/electricityprices/StoredElectricityPrice.java b/microservice4/src/main/java/cz/muni/fi/pa165/microservice4/electricityprices/StoredElectricityPrice.java
deleted file mode 100644
index adfb914..0000000
--- a/microservice4/src/main/java/cz/muni/fi/pa165/microservice4/electricityprices/StoredElectricityPrice.java
+++ /dev/null
@@ -1,13 +0,0 @@
-package cz.muni.fi.pa165.microservice4.electricityprices;
-
-import lombok.Builder;
-
-@Builder
-public record StoredElectricityPrice(
-        String id,
-        String companyId,
-        double priceHighTariff,
-        double priceLowTariff
-) {
-
-}
diff --git a/microservice4/src/main/resources/application.yml b/microservice4/src/main/resources/application.yml
index 2cecc5e..4700664 100644
--- a/microservice4/src/main/resources/application.yml
+++ b/microservice4/src/main/resources/application.yml
@@ -3,4 +3,4 @@ server:
 
 spring:
   application:
-    name: electricityPriceService
\ No newline at end of file
+    name: microservice4
\ No newline at end of file
diff --git a/microservice4/src/main/resources/banner.txt b/microservice4/src/main/resources/banner.txt
index 39e3232..3d086e7 100644
--- a/microservice4/src/main/resources/banner.txt
+++ b/microservice4/src/main/resources/banner.txt
@@ -1,4 +1,3 @@
-
        ,--.              ,--.         ,--.      ,--.  ,--.           ,------.        ,--.              ,---.                         ,--.
  ,---. |  |,---.  ,---.,-'  '-.,--.--.`--' ,---.`--',-'  '-.,--. ,--.|  .--. ',--.--.`--' ,---. ,---. '   .-' ,---. ,--.--.,--.  ,--.`--' ,---. ,---.
 | .-. :|  | .-. :| .--''-.  .-'|  .--',--.| .--',--.'-.  .-' \  '  / |  '--' ||  .--',--.| .--'| .-. :`.  `-.| .-. :|  .--' \  `'  / ,--.| .--'| .-. :
diff --git a/model/src/main/java/cz/muni/fi/pa165/model/dto/device/DeviceCreateDto.java b/model/src/main/java/cz/muni/fi/pa165/model/dto/device/DeviceCreateDto.java
index 7c6c190..e7b7f80 100644
--- a/model/src/main/java/cz/muni/fi/pa165/model/dto/device/DeviceCreateDto.java
+++ b/model/src/main/java/cz/muni/fi/pa165/model/dto/device/DeviceCreateDto.java
@@ -4,5 +4,5 @@ import cz.muni.fi.pa165.model.dto.common.DomainObjectDto;
 
 public class DeviceCreateDto extends DomainObjectDto {
 
-    public String name;
+  public String name;
 }
diff --git a/model/src/main/java/cz/muni/fi/pa165/model/dto/device/DeviceDto.java b/model/src/main/java/cz/muni/fi/pa165/model/dto/device/DeviceDto.java
index a4f43c0..4800e06 100644
--- a/model/src/main/java/cz/muni/fi/pa165/model/dto/device/DeviceDto.java
+++ b/model/src/main/java/cz/muni/fi/pa165/model/dto/device/DeviceDto.java
@@ -4,5 +4,5 @@ import cz.muni.fi.pa165.model.dto.common.DomainObjectDto;
 
 public class DeviceDto extends DomainObjectDto {
 
-    public String name;
+  public String name;
 }
diff --git a/model/src/main/java/cz/muni/fi/pa165/model/dto/device/DeviceUpdateDto.java b/model/src/main/java/cz/muni/fi/pa165/model/dto/device/DeviceUpdateDto.java
index 914b20a..2d79269 100644
--- a/model/src/main/java/cz/muni/fi/pa165/model/dto/device/DeviceUpdateDto.java
+++ b/model/src/main/java/cz/muni/fi/pa165/model/dto/device/DeviceUpdateDto.java
@@ -4,5 +4,5 @@ import cz.muni.fi.pa165.model.dto.common.DomainObjectDto;
 
 public class DeviceUpdateDto extends DomainObjectDto {
 
-    public String name;
+  public String name;
 }
diff --git a/model/src/main/java/cz/muni/fi/pa165/model/dto/smartDevice/SmartMeterCreateDto.java b/model/src/main/java/cz/muni/fi/pa165/model/dto/smartDevice/SmartMeterCreateDto.java
index 4358274..6f0b327 100644
--- a/model/src/main/java/cz/muni/fi/pa165/model/dto/smartDevice/SmartMeterCreateDto.java
+++ b/model/src/main/java/cz/muni/fi/pa165/model/dto/smartDevice/SmartMeterCreateDto.java
@@ -4,6 +4,6 @@ import cz.muni.fi.pa165.model.dto.common.DomainObjectDto;
 import cz.muni.fi.pa165.model.dto.device.DeviceDto;
 
 public class SmartMeterCreateDto extends DomainObjectDto {
-    public String name;
-    public DeviceDto deviceDto;
+  public String name;
+  public DeviceDto deviceDto;
 }
diff --git a/model/src/main/java/cz/muni/fi/pa165/model/dto/smartDevice/SmartMeterDto.java b/model/src/main/java/cz/muni/fi/pa165/model/dto/smartDevice/SmartMeterDto.java
index 9dc7427..93d4968 100644
--- a/model/src/main/java/cz/muni/fi/pa165/model/dto/smartDevice/SmartMeterDto.java
+++ b/model/src/main/java/cz/muni/fi/pa165/model/dto/smartDevice/SmartMeterDto.java
@@ -4,6 +4,6 @@ import cz.muni.fi.pa165.model.dto.common.DomainObjectDto;
 import cz.muni.fi.pa165.model.dto.device.DeviceDto;
 
 public class SmartMeterDto extends DomainObjectDto {
-    public String name;
-    public DeviceDto deviceDto;
+  public String name;
+  public DeviceDto deviceDto;
 }
-- 
GitLab