*/ public function resolveForTenant(Tenant $tenant, array $overrides = []): array { $resolution = $this->connections->resolveDefault($tenant, 'microsoft'); if (! $resolution->resolved || $resolution->connection === null) { throw ProviderConfigurationRequiredException::forTenant( $tenant, provider: 'microsoft', resolution: $resolution, ); } return $this->gateway->graphOptions($resolution->connection, $overrides); } /** * @return array */ public function resolveForConnection(Tenant $tenant, int|ProviderConnection $connection, array $overrides = []): array { $providerConnection = $connection instanceof ProviderConnection ? $connection : ProviderConnection::query()->find($connection); if (! $providerConnection instanceof ProviderConnection) { throw ProviderConfigurationRequiredException::forTenant( tenant: $tenant, provider: 'microsoft', resolution: ProviderConnectionResolution::blocked( ProviderReasonCodes::ProviderConnectionInvalid, 'The selected provider connection could not be found.', ), ); } $resolution = $this->connections->validateConnection($tenant, 'microsoft', $providerConnection); if (! $resolution->resolved || $resolution->connection === null) { throw ProviderConfigurationRequiredException::forTenant( tenant: $tenant, provider: 'microsoft', resolution: $resolution, ); } return $this->gateway->graphOptions($resolution->connection, $overrides); } }