infobip / infobip-api-php-client

Infobip API client library in PHP using composer.
https://www.infobip.com/docs/api
MIT License
80 stars 68 forks source link

Failing PHP Stan #58

Open ukmadlz opened 1 year ago

ukmadlz commented 1 year ago

As far as I'm informed, PHP Stan is the default for static code analysis of PHP codebases. We have +100 errors on level 3 of the analysis

$ ddev composer bugs
> ./vendor/bin/phpstan analyse -l 3 Infobip
 462/462 [▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓] 100%

 ------- -----------------------------------------------------------------------------------------
  Line    Api/CallsApi.php
 ------- -----------------------------------------------------------------------------------------
  226     Variable $callsAddExistingCallRequest in isset() always exists and is not nullable.
  517     Variable $callsAddNewCallRequest in isset() always exists and is not nullable.
  808     Variable $callsAnswerRequest in isset() always exists and is not nullable.
  1099    Variable $callsApplicationTransferRequest in isset() always exists and is not nullable.
  1402    Offset 'Content-Type' does not exist on array{Accept: 'application/json'}.
  1698    Offset 'Content-Type' does not exist on array{Accept: 'application/json'}.
  1982    Variable $callsDtmfCaptureRequest in isset() always exists and is not nullable.
  2273    Variable $callsPlayRequest in isset() always exists and is not nullable.
  2564    Variable $callsSayRequest in isset() always exists and is not nullable.
  2855    Variable $callsDtmfSendRequest in isset() always exists and is not nullable.
  3146    Variable $callsRecordingStartRequest in isset() always exists and is not nullable.
  3433    Offset 'Content-Type' does not exist on array{Accept: 'application/json'}.
  3702    Offset 'Content-Type' does not exist on array{Accept: 'application/json'}.
  3982    Offset 'Content-Type' does not exist on array{Accept: 'application/json'}.
  4255    Variable $callsOnDemandComposition in isset() always exists and is not nullable.
  4535    Variable $callsOnDemandComposition in isset() always exists and is not nullable.
  4815    Variable $callsPlayRequest in isset() always exists and is not nullable.
  5106    Variable $callsSayRequest in isset() always exists and is not nullable.
  5397    Variable $callsStartRecordingRequest in isset() always exists and is not nullable.
  5684    Offset 'Content-Type' does not exist on array{Accept: 'application/json'}.
  5953    Offset 'Content-Type' does not exist on array{Accept: 'application/json'}.
  6221    Variable $callsConnectRequest in isset() always exists and is not nullable.
  6512    Variable $callsConnectWithNewCallRequest in isset() always exists and is not nullable.
  6787    Variable $callBulkRequest in isset() always exists and is not nullable.
  7062    Variable $callRequest in isset() always exists and is not nullable.
  7337    Variable $callsConferenceRequest in isset() always exists and is not nullable.
  7612    Variable $callsDialogRequest in isset() always exists and is not nullable.
  7887    Variable $callsMediaStreamConfigRequest in isset() always exists and is not nullable.
  8163    Offset 'Content-Type' does not exist on array{Accept: 'application/json'}.
  8432    Offset 'Content-Type' does not exist on array{Accept: 'application/json'}.
  8690    Offset 'Content-Type' does not exist on array{Accept: 'application/json'}.
  8959    Offset 'Content-Type' does not exist on array{Accept: 'application/json'}.
  9228    Offset 'Content-Type' does not exist on array{Accept: 'application/json'}.
  9497    Offset 'Content-Type' does not exist on array{Accept: 'application/json'}.
  9770    Variable $callsDialogPlayRequest in isset() always exists and is not nullable.
  10061   Variable $callsDialogSayRequest in isset() always exists and is not nullable.
  10352   Variable $callsDialogRecordingRequest in isset() always exists and is not nullable.
  10639   Offset 'Content-Type' does not exist on array{Accept: 'application/json'}.
  10908   Offset 'Content-Type' does not exist on array{Accept: 'application/json'}.
  11188   Offset 'Content-Type' does not exist on array{Accept: 'application/octet…'}.
  11457   Offset 'Content-Type' does not exist on array{Accept: 'application/json'}.
  11726   Offset 'Content-Type' does not exist on array{Accept: 'application/json'}.
  11995   Offset 'Content-Type' does not exist on array{Accept: 'application/json'}.
  12264   Offset 'Content-Type' does not exist on array{Accept: 'application/json'}.
  12644   Offset 'Content-Type' does not exist on array{Accept: 'application/json'}.
  12913   Offset 'Content-Type' does not exist on array{Accept: 'application/json'}.
  13191   Offset 'Content-Type' does not exist on array{Accept: 'application/json'}.
  13582   Offset 'Content-Type' does not exist on array{Accept: 'application/json'}.
  13939   Offset 'Content-Type' does not exist on array{Accept: 'application/json'}.
  14208   Offset 'Content-Type' does not exist on array{Accept: 'application/json'}.
  14477   Offset 'Content-Type' does not exist on array{Accept: 'application/json'}.
  14746   Offset 'Content-Type' does not exist on array{Accept: 'application/json'}.
  15068   Offset 'Content-Type' does not exist on array{Accept: 'application/json'}.
  15401   Offset 'Content-Type' does not exist on array{Accept: 'application/json'}.
  15756   Offset 'Content-Type' does not exist on array{Accept: 'application/json'}.
  16025   Offset 'Content-Type' does not exist on array{Accept: 'application/json'}.
  16294   Offset 'Content-Type' does not exist on array{Accept: 'application/json'}.
  16563   Offset 'Content-Type' does not exist on array{Accept: 'application/json'}.
  16897   Offset 'Content-Type' does not exist on array{Accept: 'application/json'}.
  17242   Offset 'Content-Type' does not exist on array{Accept: 'application/json'}.
  17586   Offset 'Content-Type' does not exist on array{Accept: 'application/json'}.
  17855   Offset 'Content-Type' does not exist on array{Accept: 'application/json'}.
  18133   Offset 'Content-Type' does not exist on array{Accept: 'application/json'}.
  18406   Variable $callsHangupRequest in isset() always exists and is not nullable.
  18693   Offset 'Content-Type' does not exist on array{Accept: 'application/json'}.
  18962   Offset 'Content-Type' does not exist on array{Accept: 'application/json'}.
  19231   Offset 'Content-Type' does not exist on array{Accept: 'application/json'}.
  19500   Offset 'Content-Type' does not exist on array{Accept: 'application/json'}.
  19785   Offset 'Content-Type' does not exist on array{Accept: 'application/json'}.
  20058   Variable $callsRescheduleRequest in isset() always exists and is not nullable.
  20334   Offset 'Content-Type' does not exist on array{Accept: 'application/json'}.
  20603   Offset 'Content-Type' does not exist on array{Accept: 'application/json'}.
  20876   Variable $callsStartMediaStreamRequest in isset() always exists and is not nullable.
  21163   Offset 'Content-Type' does not exist on array{Accept: 'application/json'}.
  21447   Variable $callsUpdateRequest in isset() always exists and is not nullable.
  21754   Variable $callsUpdateRequest in isset() always exists and is not nullable.
  22045   Variable $callsMediaStreamConfigRequest in isset() always exists and is not nullable.
 ------- -----------------------------------------------------------------------------------------

 ------ -------------------------------------------------------------------------------------
  Line   Api/ClickToCallApi.php
 ------ -------------------------------------------------------------------------------------
  194    Variable $callsClickToCallMessageBody in isset() always exists and is not nullable.
 ------ -------------------------------------------------------------------------------------

 ------ ----------------------------------------------------------------------------------------------------------------
  Line   Api/EmailApi.php
 ------ ----------------------------------------------------------------------------------------------------------------
  194    Variable $emailAddDomainRequest in isset() always exists and is not nullable.
  469    Variable $emailDomainIpRequest in isset() always exists and is not nullable.
  618    Method Infobip\Api\EmailApi::deleteDomain() with return type void returns null but should not return anything.
  723    Offset 'Content-Type' does not exist on array{Accept: 'application/json'}.
  974    Offset 'Content-Type' does not exist on array{Accept: 'application/json'}.
  1219   Offset 'Content-Type' does not exist on array{Accept: 'application/json'}.
  1461   Offset 'Content-Type' does not exist on array{Accept: 'application/json'}.
  1697   Offset 'Content-Type' does not exist on array{Accept: 'application/json'}.
  1972   Offset 'Content-Type' does not exist on array{Accept: 'application/json'}.
  2302   Offset 'Content-Type' does not exist on array{Accept: 'application/json'}.
  2534   Offset 'Content-Type' does not exist on array{Accept: 'application/json'}.
  2755   Offset 'Content-Type' does not exist on array{Accept: 'application/json'}.
  2988   Offset 'Content-Type' does not exist on array{Accept: 'application/json'}.
  3235   Variable $emailBulkRescheduleRequest in isset() always exists and is not nullable.
  4030   Variable $emailBulkUpdateStatusRequest in isset() always exists and is not nullable.
  4266   Variable $emailTrackingEventRequest in isset() always exists and is not nullable.
  4530   Variable $emailValidationRequest in isset() always exists and is not nullable.
  4679   Method Infobip\Api\EmailApi::verifyDomain() with return type void returns null but should not return anything.
  4784   Offset 'Content-Type' does not exist on array{Accept: 'application/json'}.
 ------ ----------------------------------------------------------------------------------------------------------------

 ------ ----------------------------------------------------------------------------
  Line   Api/MmsApi.php
 ------ ----------------------------------------------------------------------------
  201    Offset 'Content-Type' does not exist on array{Accept: 'application/json'}.
  443    Offset 'Content-Type' does not exist on array{Accept: 'application/json'}.
  656    Variable $mmsAdvancedRequest in isset() always exists and is not nullable.
  944    Variable $body in isset() always exists and is not nullable.
 ------ ----------------------------------------------------------------------------

 ------ -----------------------------------------------------------------------------------
  Line   Api/SmsApi.php
 ------ -----------------------------------------------------------------------------------
  201    Offset 'Content-Type' does not exist on array{Accept: 'application/json'}.
  471    Offset 'Content-Type' does not exist on array{Accept: 'application/json'}.
  812    Offset 'Content-Type' does not exist on array{Accept: 'application/json'}.
  1060   Offset 'Content-Type' does not exist on array{Accept: 'application/json'}.
  1308   Offset 'Content-Type' does not exist on array{Accept: 'application/json'}.
  1554   Variable $smsPreviewRequest in isset() always exists and is not nullable.
  1808   Variable $smsBulkRequest in isset() always exists and is not nullable.
  2055   Variable $smsAdvancedBinaryRequest in isset() always exists and is not nullable.
  2297   Variable $smsAdvancedTextualRequest in isset() always exists and is not nullable.
  2551   Variable $smsUpdateStatusRequest in isset() always exists and is not nullable.
 ------ -----------------------------------------------------------------------------------

 ------ ---------------------------------------------------------------------------------------
  Line   Api/TfaApi.php
 ------ ---------------------------------------------------------------------------------------
  194    Variable $tfaApplicationRequest in isset() always exists and is not nullable.
  457    Variable $tfaCreateMessageRequest in isset() always exists and is not nullable.
  716    Offset 'Content-Type' does not exist on array{Accept: 'application/json'}.
  952    Offset 'Content-Type' does not exist on array{Accept: 'application/json'}.
  1220   Offset 'Content-Type' does not exist on array{Accept: 'application/json'}.
  1472   Offset 'Content-Type' does not exist on array{Accept: 'application/json'}.
  1758   Offset 'Content-Type' does not exist on array{Accept: 'application/json'}.
  2014   Variable $tfaResendPinRequest in isset() always exists and is not nullable.
  2277   Variable $tfaResendPinRequest in isset() always exists and is not nullable.
  2535   Variable $tfaStartAuthenticationRequest in isset() always exists and is not nullable.
  2782   Variable $tfaStartAuthenticationRequest in isset() always exists and is not nullable.
  3045   Variable $tfaApplicationRequest in isset() always exists and is not nullable.
  3324   Variable $tfaUpdateMessageRequest in isset() always exists and is not nullable.
  3587   Variable $tfaVerifyPinRequest in isset() always exists and is not nullable.
 ------ ---------------------------------------------------------------------------------------

 ------ ------------------------------------------------------------------------------
  Line   Api/ViberApi.php
 ------ ------------------------------------------------------------------------------
  194    Variable $viberFileMessage in isset() always exists and is not nullable.
  458    Variable $viberImageMessage in isset() always exists and is not nullable.
  722    Variable $viberBulkTextMessage in isset() always exists and is not nullable.
  986    Variable $viberVideoMessage in isset() always exists and is not nullable.
 ------ ------------------------------------------------------------------------------

 ------ ----------------------------------------------------------------------------------
  Line   Api/VoiceApi.php
 ------ ----------------------------------------------------------------------------------
  202    Offset 'Content-Type' does not exist on array{Accept: 'application/json'}.
  450    Offset 'Content-Type' does not exist on array{Accept: 'application/json'}.
  702    Offset 'Content-Type' does not exist on array{Accept: 'application/json'}.
  954    Variable $callsUpdateStatusRequest in isset() always exists and is not nullable.
  1213   Variable $callsBulkRequest in isset() always exists and is not nullable.
  1460   Variable $callsAdvancedBody in isset() always exists and is not nullable.
  1707   Variable $callsMultiBody in isset() always exists and is not nullable.
  1954   Variable $callsSingleBody in isset() always exists and is not nullable.
 ------ ----------------------------------------------------------------------------------

 ------ ------------------------------------------------------------------------------------------------------------------
  Line   Api/WebRtcApi.php
 ------ ------------------------------------------------------------------------------------------------------------------
  101    Method Infobip\Api\WebRtcApi::deletePushConfiguration() with return type void returns null but should not return
         anything.
  206    Offset 'Content-Type' does not exist on array{Accept: 'application/json'}.
  438    Variable $webRtcTokenRequestModel in isset() always exists and is not nullable.
  670    Offset 'Content-Type' does not exist on array{Accept: 'application/json'}.
  939    Offset 'Content-Type' does not exist on array{Accept: 'application/json'}.
  1185   Variable $webRtcPushConfigurationRequest in isset() always exists and is not nullable.
  1443   Variable $webRtcPushConfigurationRequest in isset() always exists and is not nullable.
 ------ ------------------------------------------------------------------------------------------------------------------

 ------ ----------------------------------------------------------------------------------------------------------------------
  Line   Api/WhatsAppApi.php
 ------ ----------------------------------------------------------------------------------------------------------------------
  103    Method Infobip\Api\WhatsAppApi::confirmWhatsAppIdentity() with return type void returns null but should not return
         anything.
  226    Variable $whatsAppIdentityConfirmation in isset() always exists and is not nullable.
  481    Variable $whatsAppTemplatePublicApiRequest in isset() always exists and is not nullable.
  653    Method Infobip\Api\WhatsAppApi::deleteWhatsAppMedia() with return type void returns null but should not return
         anything.
  761    Variable $whatsAppUrlDeletionRequest in isset() always exists and is not nullable.
  886    Method Infobip\Api\WhatsAppApi::deleteWhatsAppTemplate() with return type void returns null but should not return
         anything.
  1006   Offset 'Content-Type' does not exist on array{Accept: 'application/json'}.
  1288   Offset 'Content-Type' does not exist on array{Accept: 'application/json'}.
  1529   Offset 'Content-Type' does not exist on array{Accept: 'application/json'}.
  1672   Method Infobip\Api\WhatsAppApi::getWhatsAppMediaMetadata() with return type void returns null but should not return
         anything.
  1792   Offset 'Content-Type' does not exist on array{}.
  2014   Offset 'Content-Type' does not exist on array{Accept: 'application/json'}.
  2168   Method Infobip\Api\WhatsAppApi::markWhatsAppMessageAsRead() with return type void returns null but should not return
         anything.
  2288   Offset 'Content-Type' does not exist on array{Accept: 'application/json'}.
  2509   Variable $whatsAppAudioMessage in isset() always exists and is not nullable.
  2762   Variable $whatsAppContactsMessage in isset() always exists and is not nullable.
  3015   Variable $whatsAppDocumentMessage in isset() always exists and is not nullable.
  3268   Variable $whatsAppImageMessage in isset() always exists and is not nullable.
  3521   Variable $whatsAppInteractiveButtonsMessage in isset() always exists and is not nullable.
  3774   Variable $whatsAppInteractiveListMessage in isset() always exists and is not nullable.
  4027   Variable $whatsAppInteractiveMultiProductMessage in isset() always exists and is not nullable.
  4280   Variable $whatsAppInteractiveProductMessage in isset() always exists and is not nullable.
  4533   Variable $whatsAppLocationMessage in isset() always exists and is not nullable.
  4786   Variable $whatsAppStickerMessage in isset() always exists and is not nullable.
  5039   Variable $whatsAppBulkMessage in isset() always exists and is not nullable.
  5292   Variable $whatsAppTextMessage in isset() always exists and is not nullable.
  5545   Variable $whatsAppVideoMessage in isset() always exists and is not nullable.
 ------ ----------------------------------------------------------------------------------------------------------------------

 ------ -------------------------------------------------------------------------------------------------------------------
  Line   Model/CallsTimeWindow.php
 ------ -------------------------------------------------------------------------------------------------------------------
  41     PHPDoc tag @param for parameter $days with type array<string> is incompatible with native type string.
  42     PHPDoc type for property Infobip\Model\CallsTimeWindow::$days with type array<string> is incompatible with native
         type string.
  94     Method Infobip\Model\CallsTimeWindow::getDays() should return array<string> but returns string.
  102    Property Infobip\Model\CallsTimeWindow::$days (string) does not accept array<string>.
 ------ -------------------------------------------------------------------------------------------------------------------

 ------ -----------------------------------------------------------------------------------------
  Line   Model/EmailAddDomainRequest.php
 ------ -----------------------------------------------------------------------------------------
  47     Access to undefined constant Infobip\Model\EmailAddDomainRequest::DKIM_KEY_LENGTH_2048.
 ------ -----------------------------------------------------------------------------------------

 ------ ----------------------------------------------------------------------------------------------
  Line   ObjectSerializer.php
 ------ ----------------------------------------------------------------------------------------------
  126    Call to an undefined method Symfony\Component\Serializer\SerializerInterface::normalize().
  138    Call to an undefined method Symfony\Component\Serializer\SerializerInterface::denormalize().
  202    Call to an undefined method Symfony\Component\Serializer\SerializerInterface::normalize().
 ------ ----------------------------------------------------------------------------------------------