Add lastSubscribedAt to the subscribers API response

[MAILPOET-5894]
This commit is contained in:
Jan Lysý
2024-03-18 17:28:58 +01:00
committed by Aschepikov
parent f96e6b83d6
commit 423ce62100
3 changed files with 3 additions and 1 deletions

View File

@@ -59,6 +59,7 @@ class SubscribersResponseBuilder {
'wp_user_id' => $subscriber->getWpUserId(),
'is_woocommerce_user' => $subscriber->getIsWoocommerceUser(),
'created_at' => ($createdAt = $subscriber->getCreatedAt()) ? $createdAt->format(self::DATE_FORMAT) : null,
'last_subscribed_at' => ($lastSubscribedAt = $subscriber->getLastSubscribedAt()) ? $lastSubscribedAt->format(self::DATE_FORMAT) : null,
'engagement_score' => $subscriber->getEngagementScore(),
'tags' => $this->buildTags($subscriber),
];

View File

@@ -105,7 +105,7 @@ class SubscriberListingRepository extends ListingRepository {
}
protected function applySelectClause(QueryBuilder $queryBuilder) {
$queryBuilder->select("PARTIAL s.{id,email,firstName,lastName,status,createdAt,updatedAt,countConfirmations,wpUserId,isWoocommerceUser,engagementScore}");
$queryBuilder->select("PARTIAL s.{id,email,firstName,lastName,status,createdAt,updatedAt,countConfirmations,wpUserId,isWoocommerceUser,engagementScore,lastSubscribedAt}");
}
protected function applyFromClause(QueryBuilder $queryBuilder) {

View File

@@ -110,6 +110,7 @@ class SubscribersResponseBuilderTest extends \MailPoetTest {
$this->assertEquals($subscriber->getIsWoocommerceUser(), $item['is_woocommerce_user']);
$this->assertEquals($subscriber->getStatus(), $item['status']);
$this->assertArrayHasKey('created_at', $item);
$this->assertArrayHasKey('last_subscribed_at', $item);
$this->assertArrayHasKey('count_confirmations', $item);
$this->assertArrayHasKey('engagement_score', $item);
// check subscriptions