Skip to content

Commit

Permalink
Merge pull request #79 from mailjet/DE-1277-laravel-mailjet-missing-s…
Browse files Browse the repository at this point in the history
…ymfony-http-client-dependency

Laravel package improvements.
  • Loading branch information
oleksandr-mykhailenko authored Jul 21, 2024
2 parents 572a827 + ddd733b commit bded9b6
Show file tree
Hide file tree
Showing 20 changed files with 406 additions and 200 deletions.
15 changes: 11 additions & 4 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -29,6 +29,17 @@ Please also set your email from address and name.
]
```

## Laravel 11.0+
In the file `example-app/bootstrap/providers.php`
```php
use Mailjet\LaravelMailjet\MailjetServiceProvider;

return [
App\Providers\AppServiceProvider::class,
MailjetServiceProvider::class,
];
````

* In the aliases array:

```php
Expand Down Expand Up @@ -128,7 +139,3 @@ public function handle(ContactsV4Service $contactsV4Service)
...
}
```

## ToDo

* Add additional unit tests to increase code coverage.
3 changes: 2 additions & 1 deletion composer.json
Original file line number Diff line number Diff line change
Expand Up @@ -31,8 +31,9 @@
],
"require": {
"php": "^7.1.3|^8.0",
"laravel/framework": "~5.1|^6.0|^7.0|^8.0|^9.0|^10.0|^11.0",
"laravel/framework": "^9.0|^10.0|^11.0",
"mailjet/mailjet-apiv3-php": "^1.5.6|^1.5",
"symfony/http-client": "^7.1",
"symfony/mailjet-mailer": "^6.0"
},
"require-dev": {
Expand Down
25 changes: 21 additions & 4 deletions src/Contracts/CampaignContract.php
Original file line number Diff line number Diff line change
Expand Up @@ -8,11 +8,28 @@

interface CampaignContract
{
public function getAllCampaigns(array $filters = null);
/**
* @param array|null $filters
* @return array
*/
public function getAllCampaigns(array $filters = null): array;

public function findByCampaignId(string $id);
/**
* @param string $id
* @return array
*/
public function findByCampaignId(string $id): array;

public function findByNewsletterId(string $id);
/**
* @param string $id
* @return array
*/
public function findByNewsletterId(string $id): array;

public function updateCampaign(string $id, Campaign $campaign);
/**
* @param string $id
* @param Campaign $campaign
* @return array
*/
public function updateCampaign(string $id, Campaign $campaign): array;
}
107 changes: 82 additions & 25 deletions src/Contracts/CampaignDraftContract.php
Original file line number Diff line number Diff line change
Expand Up @@ -8,29 +8,86 @@

interface CampaignDraftContract
{
public function getAllCampaignDrafts(array $filters = null);

public function findByCampaignDraftId(string $id);

public function create(CampaignDraft $campaignDraft);

public function update(string $id, CampaignDraft $campaignDraft);

public function getDetailContent(string $id);

public function createDetailContent(string $id, array $content);

public function getSchedule(string $id);

public function scheduleCampaign(string $id, string $date);

public function updateCampaignSchedule(string $id, string $date);

public function removeSchedule(string $id);

public function sendCampaign(string $id);

public function testCampaign(string $id, array $recipients);

public function getCampaignStatus(string $id);
/**
* @param array|null $filters
* @return array
*/
public function getAllCampaignDrafts(array $filters = null): array;

/**
* @param string $id
* @return array
*/
public function findByCampaignDraftId(string $id): array;

/**
* @param CampaignDraft $campaignDraft
* @return array
*/
public function create(CampaignDraft $campaignDraft): array;

/**
* @param string $id
* @param CampaignDraft $campaignDraft
* @return array
*/
public function update(string $id, CampaignDraft $campaignDraft): array;

/**
* @param string $id
* @return array
*/
public function getDetailContent(string $id): array;

/**
* @param string $id
* @param array $content
* @return array
*/
public function createDetailContent(string $id, array $content): array;

/**
* @param string $id
* @return array
*/
public function getSchedule(string $id): array;

/**
* @param string $id
* @param string $date
* @return array
*/
public function scheduleCampaign(string $id, string $date): array;

/**
* @param string $id
* @param string $date
* @return array
*/
public function updateCampaignSchedule(string $id, string $date): array;

/**
* @param string $id
* @return array
*/
public function removeSchedule(string $id): array;

/**
* @param string $id
* @return array
*/
public function sendCampaign(string $id): array;

/**
* @param string $id
* @param array $recipients
* @return array
*/
public function testCampaign(string $id, array $recipients): array;

/**
* @param string $id
* @return array
*/
public function getCampaignStatus(string $id): array;
}
38 changes: 29 additions & 9 deletions src/Contracts/ContactMetadataContract.php
Original file line number Diff line number Diff line change
Expand Up @@ -8,13 +8,33 @@

interface ContactMetadataContract
{
public function getAll();

public function get(string $id);

public function create(ContactMetadata $metadata);

public function update(string $id, ContactMetadata $metadata);

public function delete(string $id);
/**
* @return array
*/
public function getAll(): array;

/**
* @param string $id
* @return array
*/
public function get(string $id): array;

/**
* @param ContactMetadata $metadata
* @return array
*/
public function create(ContactMetadata $metadata): array;

/**
* @param string $id
* @param ContactMetadata $metadata
* @return array
*/
public function update(string $id, ContactMetadata $metadata): array;

/**
* @param string $id
* @return array
*/
public function delete(string $id): array;
}
46 changes: 42 additions & 4 deletions src/Contracts/ContactsListContract.php
Original file line number Diff line number Diff line change
Expand Up @@ -9,17 +9,55 @@

interface ContactsListContract
{
public function create(string $id, Contact $contact, $action = Contact::ACTION_ADDFORCE): array;

public function update(string $id, Contact $contact, $action = Contact::ACTION_ADDNOFORCE): array;

/**
* @param string $id
* @param Contact $contact
* @param string $action
* @return array
*/
public function create(string $id, Contact $contact, string $action = Contact::ACTION_ADDFORCE): array;

/**
* @param string $id
* @param Contact $contact
* @param string $action
* @return array
*/
public function update(string $id, Contact $contact, string $action = Contact::ACTION_ADDNOFORCE): array;

/**
* @param string $id
* @param Contact $contact
* @param bool $force
* @return array
*/
public function subscribe(string $id, Contact $contact, bool $force = true): array;

/**
* @param string $id
* @param Contact $contact
* @return array
*/
public function unsubscribe(string $id, Contact $contact): array;

/**
* @param string $id
* @param Contact $contact
* @return array
*/
public function delete(string $id, Contact $contact): array;

/**
* @param string $id
* @param Contact $contact
* @param string $oldEmail
* @return array
*/
public function updateEmail(string $id, Contact $contact, string $oldEmail): array;

/**
* @param ContactsList $list
* @return array
*/
public function uploadManyContactsList(ContactsList $list): array;
}
8 changes: 6 additions & 2 deletions src/Contracts/ContactsV4Contract.php
Original file line number Diff line number Diff line change
Expand Up @@ -9,5 +9,9 @@

interface ContactsV4Contract
{
public function delete($id);
}
/**
* @param int $id
* @return bool
*/
public function delete(int $id): bool;
}
20 changes: 20 additions & 0 deletions src/Contracts/EventCallbackUrlContract.php
Original file line number Diff line number Diff line change
Expand Up @@ -8,13 +8,33 @@

interface EventCallbackUrlContract
{
/**
* @return array
*/
public function getAll(): array;

/**
* @param string $id
* @return array
*/
public function get(string $id): array;

/**
* @param EventCallbackUrl $url
* @return array
*/
public function create(EventCallbackUrl $url): array;

/**
* @param string $id
* @param EventCallbackUrl $url
* @return array
*/
public function update(string $id, EventCallbackUrl $url): array;

/**
* @param string $id
* @return array
*/
public function delete(string $id): array;
}
27 changes: 27 additions & 0 deletions src/Contracts/MailjetServiceContract.php
Original file line number Diff line number Diff line change
Expand Up @@ -9,13 +9,40 @@

interface MailjetServiceContract
{
/**
* @param array $resource
* @param array $args
* @param array $options
* @return Response
*/
public function post(array $resource, array $args = [], array $options = []): Response;

/**
* @param array $resource
* @param array $args
* @param array $options
* @return Response
*/
public function get(array $resource, array $args = [], array $options = []): Response;

/**
* @param array $resource
* @param array $args
* @param array $options
* @return Response
*/
public function put(array $resource, array $args = [], array $options = []): Response;

/**
* @param array $resource
* @param array $args
* @param array $options
* @return Response
*/
public function delete(array $resource, array $args = [], array $options = []): Response;

/**
* @return Client
*/
public function getClient(): Client;
}
Loading

0 comments on commit bded9b6

Please sign in to comment.