Details
-
Type: Bug
-
Status: Closed
-
Priority: Major
-
Resolution: Fixed
-
Affects Version/s: 1.3.0
-
Fix Version/s: 1.3.0
-
Component/s: AdMax Deployment Service
-
Labels:None
Description
OptusCampaignRequestMapper.toCoreCampaigns() always sets the status to paused.
coreCampaign.setCampaignStatusType(CampaignStatusType.Paused);
This is fine for new deployments, which we expect to be paused, and then the status will be updated using the updateCampaignStatus() method. However, if Optus does a redeploy (on their own or due to us calling the Callback service to trigger a redeploy), it would cause the campaign to be paused in Google unless it was immediately followed by an updateCampaignStatus request (which would be wasteful and is not the intended or documented behavior of our system).
It seems like we need to save the status of the campaign in the database (in updateCampaignStatus) and use the last status that was set. Storing the status of the campaign should be done in core, but looking up the status might only be necessary in Optus, since the campaign status is passed in to the Core AdMaxDeploymentService.
The "UpdateCampaignStatus" method can probably save it ... we could make this optus-specific but it's probably something we want in core.