Skip to content

Commit 2d42517

Browse files
authored
chore: trigger first update sponsor domain events before child domain… (#448)
* chore: trigger first update sponsor domain events before child domain event * chore: add missing data from domain events
1 parent e912c81 commit 2d42517

File tree

4 files changed

+83
-11
lines changed

4 files changed

+83
-11
lines changed

app/Events/SponsorServices/SummitSponsorCreatedEventDTO.php

Lines changed: 16 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -16,30 +16,44 @@
1616
class SummitSponsorCreatedEventDTO
1717
{
1818
private int $id;
19+
20+
private int $company_id;
1921
private string $company_name;
2022

23+
private int $summit_id;
24+
25+
2126
public function __construct(
2227
int $id,
28+
int $company_id,
2329
string $company_name,
30+
int $summit_id,
31+
2432
)
2533
{
2634
$this->id = $id;
35+
$this->company_id = $company_id;
2736
$this->company_name = $company_name;
37+
$this->summit_id = $summit_id;
2838
}
2939

3040
public static function fromSummitSponsor($sponsor): self
3141
{
3242
return new self(
3343
$sponsor->getId(),
34-
$sponsor->getCompany()->getName()
44+
$sponsor->getCompanyId(),
45+
$sponsor->getCompany()->getName(),
46+
$sponsor->getSummitId()
3547
);
3648
}
3749

3850
public function serialize(): array
3951
{
4052
return [
4153
'id' => $this->id,
54+
'summit_id' => $this->summit_id,
55+
'company_id' => $this->company_id,
4256
'company_name' => $this->company_name
4357
];
4458
}
45-
}
59+
}

app/Events/SponsorServices/SummitSponsorshipAddOnCreatedEventDTO.php

Lines changed: 18 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -13,33 +13,45 @@
1313
* limitations under the License.
1414
**/
1515

16+
use models\summit\SummitSponsorshipAddOn;
17+
1618
class SummitSponsorshipAddOnCreatedEventDTO
1719
{
1820
private int $id;
1921
private int $sponsorship_id;
2022
private string $type;
2123
private string $name;
2224

25+
private int $sponsor_id;
26+
27+
private int $summit_id;
28+
2329
public function __construct(
2430
int $id,
2531
int $sponsorship_id,
2632
string $type,
27-
string $name
33+
string $name,
34+
int $sponsor_id,
35+
int $summit_id,
2836
)
2937
{
3038
$this->id = $id;
3139
$this->sponsorship_id = $sponsorship_id;
3240
$this->type = $type;
3341
$this->name = $name;
42+
$this->sponsor_id = $sponsor_id;
43+
$this->summit_id = $summit_id;
3444
}
3545

36-
public static function fromSponsorshipAddOn($add_on): self
46+
public static function fromSponsorshipAddOn(SummitSponsorshipAddOn $add_on): self
3747
{
3848
return new self(
3949
$add_on->getId(),
4050
$add_on->getSponsorship()->getId(),
4151
$add_on->getType(),
42-
$add_on->getName()
52+
$add_on->getName(),
53+
$add_on->getSponsorship()->getSponsor()->getId(),
54+
$add_on->getSponsorship()->getSponsor()->getSummitId(),
4355
);
4456
}
4557

@@ -50,6 +62,8 @@ public function serialize(): array
5062
'type' => $this->type,
5163
'name' => $this->name,
5264
'sponsorship_id' => $this->sponsorship_id,
65+
'sponsor_id' => $this->sponsor_id,
66+
'summit_id' => $this->summit_id,
5367
];
5468
}
55-
}
69+
}

app/Events/SponsorServices/SummitSponsorshipCreatedEventDTO.php

Lines changed: 12 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -13,35 +13,42 @@
1313
* limitations under the License.
1414
**/
1515

16+
use models\summit\SummitSponsorship;
17+
1618
class SummitSponsorshipCreatedEventDTO
1719
{
1820
private int $id;
1921
private int $sponsor_id;
2022
private int $type_id;
2123
private string $type_name;
2224

25+
private int $summit_id;
26+
2327
public function __construct(
2428
int $id,
2529
int $sponsor_id,
2630
int $type_id,
27-
string $type_name
31+
string $type_name,
32+
int $summit_id,
2833
)
2934
{
3035
$this->id = $id;
3136
$this->sponsor_id = $sponsor_id;
3237
$this->type_id = $type_id;
3338
$this->type_name = $type_name;
39+
$this->summit_id = $summit_id;
3440
}
3541

36-
public static function fromSponsorship($sponsorship): self
42+
public static function fromSponsorship(SummitSponsorship $sponsorship): self
3743
{
3844
$sponsorship_type = $sponsorship->getType()->getType();
3945

4046
return new self(
4147
$sponsorship->getId(),
4248
$sponsorship->getSponsor()->getId(),
4349
$sponsorship_type->getId(),
44-
$sponsorship_type->getName()
50+
$sponsorship_type->getName(),
51+
$sponsorship->getSponsor()->getSummitId()
4552
);
4653
}
4754

@@ -52,6 +59,7 @@ public function serialize(): array
5259
'sponsor_id' => $this->sponsor_id,
5360
'type_id' => $this->type_id,
5461
'type_name' => $this->type_name,
62+
'summit_id' => $this->summit_id,
5563
];
5664
}
57-
}
65+
}

app/Services/Model/Imp/SummitSponsorshipService.php

Lines changed: 37 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,7 @@
1313
**/
1414

1515
use App\Events\SponsorServices\SponsorDomainEvents;
16+
use App\Events\SponsorServices\SummitSponsorCreatedEventDTO;
1617
use App\Events\SponsorServices\SummitSponsorshipAddOnCreatedEventDTO;
1718
use App\Events\SponsorServices\SummitSponsorshipCreatedEventDTO;
1819
use App\Events\SponsorServices\DeletedEventDTO;
@@ -51,6 +52,10 @@ public function addSponsorships(Summit $summit, int $sponsor_id, array $summit_s
5152
$summit_sponsor->addSponsorship($sponsorship);
5253
$res[] = $sponsorship;
5354
}
55+
PublishSponsorServiceDomainEventsJob::dispatch(
56+
SummitSponsorCreatedEventDTO::fromSummitSponsor($summit_sponsor)->serialize(),
57+
SponsorDomainEvents::SponsorUpdated);
58+
5459
return $res;
5560
});
5661

@@ -80,6 +85,10 @@ public function removeSponsorship(Summit $summit, int $sponsor_id, int $sponsors
8085

8186
$summit_sponsor->removeSponsorship($sponsorship);
8287

88+
PublishSponsorServiceDomainEventsJob::dispatch(
89+
SummitSponsorCreatedEventDTO::fromSummitSponsor($summit_sponsor)->serialize(),
90+
SponsorDomainEvents::SponsorUpdated);
91+
8392
PublishSponsorServiceDomainEventsJob::dispatch(
8493
DeletedEventDTO::fromEntity($sponsorship)->serialize(),
8594
SponsorDomainEvents::SponsorshipRemoved);
@@ -103,9 +112,20 @@ public function addNewAddOn(Summit $summit, int $sponsor_id, int $sponsorship_id
103112

104113
$add_on = SummitSponsorshipAddOnFactory::build($payload);
105114
$sponsorship->addAddOn($add_on);
115+
116+
PublishSponsorServiceDomainEventsJob::dispatch(
117+
SummitSponsorCreatedEventDTO::fromSummitSponsor($summit_sponsor)->serialize(),
118+
SponsorDomainEvents::SponsorUpdated);
119+
120+
PublishSponsorServiceDomainEventsJob::dispatch(
121+
SummitSponsorshipCreatedEventDTO::fromSponsorship($sponsorship)->serialize(),
122+
SponsorDomainEvents::SponsorshipUpdated);
123+
106124
return $add_on;
107125
});
108126

127+
128+
109129
PublishSponsorServiceDomainEventsJob::dispatch(
110130
SummitSponsorshipAddOnCreatedEventDTO::fromSponsorshipAddOn($add_on)->serialize(),
111131
SponsorDomainEvents::SponsorshipAddOnCreated);
@@ -147,6 +167,14 @@ public function updateAddOn(Summit $summit, int $sponsor_id, int $sponsorship_id
147167

148168
$res = SummitSponsorshipAddOnFactory::populate($add_on, $payload);
149169

170+
PublishSponsorServiceDomainEventsJob::dispatch(
171+
SummitSponsorCreatedEventDTO::fromSummitSponsor($summit_sponsor)->serialize(),
172+
SponsorDomainEvents::SponsorUpdated);
173+
174+
PublishSponsorServiceDomainEventsJob::dispatch(
175+
SummitSponsorshipCreatedEventDTO::fromSponsorship($sponsorship)->serialize(),
176+
SponsorDomainEvents::SponsorshipUpdated);
177+
150178
PublishSponsorServiceDomainEventsJob::dispatch(
151179
SummitSponsorshipAddOnCreatedEventDTO::fromSponsorshipAddOn($res)->serialize(),
152180
SponsorDomainEvents::SponsorshipAddOnUpdated);
@@ -177,9 +205,17 @@ public function removeAddOn(Summit $summit, int $sponsor_id, int $sponsorship_id
177205

178206
$sponsorship->removeAddOn($add_on);
179207

208+
PublishSponsorServiceDomainEventsJob::dispatch(
209+
SummitSponsorCreatedEventDTO::fromSummitSponsor($summit_sponsor)->serialize(),
210+
SponsorDomainEvents::SponsorUpdated);
211+
212+
PublishSponsorServiceDomainEventsJob::dispatch(
213+
SummitSponsorshipCreatedEventDTO::fromSponsorship($sponsorship)->serialize(),
214+
SponsorDomainEvents::SponsorshipUpdated);
215+
180216
PublishSponsorServiceDomainEventsJob::dispatch(
181217
DeletedEventDTO::fromEntity($add_on)->serialize(),
182218
SponsorDomainEvents::SponsorshipAddOnRemoved);
183219
});
184220
}
185-
}
221+
}

0 commit comments

Comments
 (0)