<aside> ❗ I’m not sure, if this is best practice or the „best“ solution. Here I experiment with different approaches and possibilities. With improvements these are supplemented here.

</aside>

Code example

<aside> 💡 Anstatt alle clients bei dem Projektstart zu initialisieren diese nur dann initialisieren wenn sie wirklich benötigt werden, denn es wird ja keine Verbindung/Session erstellt, sondern nur ein lokales Objekt mit Credentials abgefüllt. Dies benötigt nur ganz wenig Ressourcen. Dies kann auch über ein Helper gemacht werden falls dies benötigt wird. Die Credentials sollen allen Endpoints übergeben werden damit die verschiedenen clients initiiert werden können. Der einzige Aktive client wäre der DB-Client, aber Storage, Mailgun nicht

</aside>

<aside> ❗ Falls z.B. beim Instanziieren des Interfaces mit dem Clients nicht alle Functions implementiert wurde, diese aber alle angegeben sind und sich das Projekt auch builden lässt, ist es ein IDE-Problem. Lösche den Cache und alle Indexes. Bei GoLand: File → Invalidate Caches → Select all → Invalidate and Restart

</aside>