# 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


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://goldenore.gitbook.io/goldenore-cdc/moduly-goldenore-cdc/cdc-backend/cdc-utils.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
