Refactor MPAPI subscribeToLists to Doctrine
[MAILPOET-3820]
This commit is contained in:
@ -69,12 +69,12 @@ class SubscribersResponseBuilder {
|
||||
];
|
||||
}
|
||||
|
||||
public function build(SubscriberEntity $subscriberEntity): array {
|
||||
public function build(SubscriberEntity $subscriberEntity, bool $isMPAPI = false): array {
|
||||
$data = [
|
||||
'id' => (string)$subscriberEntity->getId(),
|
||||
'wp_user_id' => $subscriberEntity->getWpUserId(),
|
||||
'is_woocommerce_user' => $subscriberEntity->getIsWoocommerceUser(),
|
||||
'subscriptions' => $this->buildSubscriptions($subscriberEntity),
|
||||
'subscriptions' => $this->buildSubscriptions($subscriberEntity, $isMPAPI),
|
||||
'unsubscribes' => $this->buildUnsubscribes($subscriberEntity),
|
||||
'status' => $subscriberEntity->getStatus(),
|
||||
'last_name' => $subscriberEntity->getLastName(),
|
||||
@ -93,21 +93,31 @@ class SubscribersResponseBuilder {
|
||||
'unsubscribe_token' => $subscriberEntity->getUnsubscribeToken(),
|
||||
'link_token' => $subscriberEntity->getLinkToken(),
|
||||
];
|
||||
$data = $this->buildCustomFields($subscriberEntity, $data);
|
||||
return $data;
|
||||
|
||||
return $this->buildCustomFields($subscriberEntity, $data);
|
||||
}
|
||||
|
||||
private function buildSubscriptions(SubscriberEntity $subscriberEntity): array {
|
||||
private function buildSubscriptions(SubscriberEntity $subscriberEntity, bool $isMPAPI = false): array {
|
||||
$result = [];
|
||||
$subscriptions = $this->subscriberSegmentRepository->findBy(['subscriber' => $subscriberEntity]);
|
||||
foreach ($subscriptions as $subscription) {
|
||||
$segment = $subscription->getSegment();
|
||||
if ($segment instanceof SegmentEntity) {
|
||||
$result[] = [
|
||||
$extraData = [];
|
||||
if ( $isMPAPI ) {
|
||||
$extraData = [
|
||||
'id' => $subscription->getId(),
|
||||
'subscriber_id' => (string)$subscriberEntity->getId(),
|
||||
'created_at' => $subscription->getCreatedAt()->format(self::DATE_FORMAT),
|
||||
];
|
||||
}
|
||||
$result[] = array_merge(
|
||||
$extraData,
|
||||
[
|
||||
'segment_id' => (string)$segment->getId(),
|
||||
'status' => $subscription->getStatus(),
|
||||
'updated_at' => $subscription->getUpdatedAt()->format(self::DATE_FORMAT),
|
||||
];
|
||||
]);
|
||||
}
|
||||
}
|
||||
return $result;
|
||||
|
Reference in New Issue
Block a user