private readonly ZoomClient _thirdPartyClient; // encapsulate third party code, don't expose its API, make it replaceable public ZoomApiClient(IZoomCredentialsAccessor zoomCredentialsAccessor) { if (zoomCredentialsAccessor == null) { throw new ArgumentNullException(nameof(zoomCredentialsAccessor)); } var zoomCredentials = zoomCredentialsAccessor.GetJwtCredentials(); _thirdPartyClient = new ZoomClient(new JwtConnectionInfo(zoomCredentials.ApiKey, zoomCredentials.ApiSecret)); }
public ZoomApiClient(IZoomCredentialsAccessor zoomCredentialsAccessor) { _zoomCredentialsAccessor = zoomCredentialsAccessor ?? throw new ArgumentNullException(nameof(zoomCredentialsAccessor)); }