     1: <?php
     2:
     3: namespace SMSApi\Api\Action\Sms;
     4:
     5: use SMSApi\Api\Action\AbstractAction;
     6: use SMSApi\Api\Response\CountableResponse;
     7: use SMSApi\Proxy\Uri;
     8:
     9: /**
    10:  * Class Delete
    11:  * @package SMSApi\Api\Action\Sms
    12:  *
    13:  * @method CountableResponse execute()
    14:  */
    15: class Delete extends AbstractAction
    16: {
    17:     /**
    18:      * @var int
    19:      */
    20:     private $id;
    21:
    22:     /**
    23:      * @param $data
    24:      * @return CountableResponse
    25:      */
    26:     protected function response($data)
    27:     {
    28:         return new CountableResponse($data);
    29:     }
    30:
    31:     /**
    32:      * @return Uri
    33:      */
    34:     public function uri() {
    35:
    36:         $query = "";
    37:
    38:         $query .= $this->paramsLoginToQuery();
    39:
    40:         $query .= $this->paramsOther();
    41:
    42:         $query .= "&sch_del=" . $this->id;
    43:
    44:         return new Uri( $this->proxy->getProtocol(), $this->proxy->getHost(), $this->proxy->getPort(), "/api/sms.do", $query );
    45:     }
    46:
    47:
    48:     /**
    49:      * Set ID of message to delete.
    50:      *
    51:      * This id was returned after sending message.
    52:      *
    53:      * @param $id
    54:      * @return $this
    55:      * @throws \SMSApi\Exception\ActionException
    56:      */
    57:     public function filterById( $id ) {
    58:         $this->id = $id;
    59:         return $this;
    60:     }
    61:
    62:     /**
    63:      * @deprecated since v1.0.0
    64:      *
    65:      * @param $id
    66:      * @return $this
    67:      */
    68:     public function id( $id ) {
    69:         return $this->filterById($id);
    70:     }
    71:
    72: }
    73:
    74: