1 package de.aikiit.bilanzanalyser.api;
2
3 import de.aikiit.bilanzanalyser.entity.database.repository.BilanzRowRepository;
4 import de.aikiit.bilanzanalyser.entity.database.repository.CategoryRepository;
5 import de.aikiit.bilanzanalyser.entity.database.repository.PaymentRepository;
6 import de.aikiit.bilanzanalyser.entity.database.repository.ShopRepository;
7 import de.aikiit.bilanzanalyser.entity.database.repository.SourceRepository;
8 import org.springframework.web.bind.annotation.GetMapping;
9 import org.springframework.web.bind.annotation.RequestMapping;
10 import org.springframework.web.bind.annotation.RestController;
11
12 import java.util.List;
13
14 @RestController
15 @RequestMapping("/api")
16 public final class DataController {
17 private final BilanzRowRepository bilanzRowRepository;
18 private final CategoryRepository categoryRepository;
19 private final PaymentRepository paymentRepository;
20 private final ShopRepository shopRepository;
21 private final SourceRepository sourceRepository;
22
23 public DataController(BilanzRowRepository bilanzRowRepository, CategoryRepository categoryRepository, PaymentRepository paymentRepository, ShopRepository shopRepository, SourceRepository sourceRepository) {
24 this.bilanzRowRepository = bilanzRowRepository;
25 this.categoryRepository = categoryRepository;
26 this.paymentRepository = paymentRepository;
27 this.shopRepository = shopRepository;
28 this.sourceRepository = sourceRepository;
29 }
30
31 @GetMapping("/dataitems")
32 public List<DataItem> getDataItems() {
33 return List.of(new DataItem("Bilanz rows", bilanzRowRepository.count()),
34 new DataItem("Categories", categoryRepository.count()),
35 new DataItem("Payment", paymentRepository.count()),
36 new DataItem("Shop", shopRepository.count()),
37 new DataItem("Source", sourceRepository.count())
38
39 );
40 }
41 }