Skip to content

Interview project that simulates the process of adding a new connector (integration) to the Dataedo ecosystem.

Notifications You must be signed in to change notification settings

Jelinskyy/MetadataTask

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

5 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Opis

Projekt rekrutacyjny, który symuluje proces dodania nowego konektora (integracji) do ekosystemu Dataedo. Celem jest naniesienie poprawek do już istniejącego kodu.

Naniesione poprawki

ApiClientToolkit

  • Biblioteka utworzona w celu odseparowania klas, które będzie można wykorzystać do obsługi klientów innych API (np. Stitch, Airbyte).

BaseFetcher.cs

  • Przeniesono do zewnętrznej biblioteki

NonPaginatedFetcher.cs

  • Dodano walidację danych wyjściowych

PaginatedFetcher.cs

  • Dodano obsługę wyjątków

HttpRequestHandler.cs

  • Poprawiono obsługę semafora
  • Usunięto ryzyko wystąpienia deadlocków związane z użyciem .Result w GetAsync
  • Metoda _GetAsync zabezpieczona przed nieskończoną pętlą
  • Przeniesono do zewnętrznej biblioteki

FivetranHttpClient.cs

  • Dodano walidację parametrów
  • Ograniczono zasięg metody CalculateToken()

TtlDictionary.cs

  • Funkcja GetOrAdd zabezpieczona na wypadek asynchronicznych wywołań
  • Przeniesono do zewnętrznej biblioteki

RestApiManager.cs

  • Dodano walidację parametrów
  • Ograniczono zasięg zmiennej ApiBaseUrl

FivetranConnectionSupport.cs

  • Dodano walidację danych wejściowych
  • Walidację poprawności parametrów konstruktora przeniesiono do RestApiManagerWrapper
  • Usunięto wywołanie .Result, mogące prowadzić do deadlocku

About

Interview project that simulates the process of adding a new connector (integration) to the Dataedo ecosystem.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • C# 100.0%