> For the complete documentation index, see [llms.txt](https://goldenore.gitbook.io/goldenore-cdc/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://goldenore.gitbook.io/goldenore-cdc/moduly-goldenore-cdc/cdc-backend/cdc-utils.md).

# CDC Utils

Utils jest zbiorem funkcjonalności, które są współdzielone między różnymi serwisami/repozytoriami. Docelowo powinny być one wydzielone do osobnego repozytorium, które będzie używane jako dependency w pozostałych serwisach, lub jako subrepo.

Pakiety w utils:

* aspect -> zawiera adnotację dodawaną do metod kontrolerach, która powoduje wywołanie aspektu zajmującego się logowaniem oraz obsługą błędów. Ich użycie ujednolica i znacznie upraszcza kod w kontrolerach
* config -> zawiera klasę EnvConfig, która zbiera z properties dane dostępowe do wszystkich serwisów w ramach CDC Hub
* connector -> zawiera klasy związane z obsługą konektorów&#x20;
* database -> zawiera klasy przydatne w entities i aspektach związanych z bazą danych
* exception -> definiuje podstawowe klasy wyjątków, z których wszystkie pozostałe wyjątki powinny dziedziczyć, ponieważ są one obsługiwane w specjalny sposób w ramach requestów
* exception\_handling -> definiuje customową obsługę błędów walidacji
* kafka -> klasy do obsługi komunikacji z kafka connect przez interfejs REST
* logging -> definiuje customowe klasy ujednalicające format logowania w ramach przetwarzania requestów oraz wielowątkowego wywoływania kodu
* mail -> serwis do wysyłania maili
* rest -> definiuje klasy ujednolicające komunikację przez interfejs REST
* security -> klasy związane z zabezpiczeniami
* other -> inne klasy nie pasujące do powyższych kategorii
