feat: improve campaign name handling in campaigns_data_save method for better data integrity
This commit is contained in:
@@ -13,16 +13,22 @@ class Api
|
||||
{
|
||||
foreach ( $data['data'] as $campaign )
|
||||
{
|
||||
$incoming_campaign_name = trim( (string) ( $campaign['camapignName'] ?? ( $campaign['campaignName'] ?? '' ) ) );
|
||||
if ( $incoming_campaign_name === '' )
|
||||
{
|
||||
$incoming_campaign_name = 'Campaign #' . (string) ( $campaign['campaignId'] ?? '' );
|
||||
}
|
||||
|
||||
if ( !$mdb -> count( 'campaigns', [ 'AND' => [ 'client_id' => $data['clientId'], 'campaign_id' => $campaign['campaignId'] ] ] ) )
|
||||
{
|
||||
$campaign_data['client_id'] = $data['clientId'];
|
||||
$campaign_data['campaign_id'] = $campaign['campaignId'];
|
||||
$campaign_data['campaign_name'] = $campaign['camapignName'];
|
||||
$campaign_data['campaign_name'] = $incoming_campaign_name;
|
||||
|
||||
$mdb -> insert( 'campaigns', [
|
||||
'client_id' => $data['clientId'],
|
||||
'campaign_id' => $campaign['campaignId'],
|
||||
'campaign_name' => $campaign['camapignName']
|
||||
'campaign_name' => $incoming_campaign_name
|
||||
] );
|
||||
|
||||
$campaign_id = $mdb -> id();
|
||||
@@ -30,6 +36,15 @@ class Api
|
||||
else
|
||||
{
|
||||
$campaign_id = $mdb -> get( 'campaigns', 'id', [ 'AND' => [ 'client_id' => $data['clientId'], 'campaign_id' => $campaign['campaignId'] ] ] );
|
||||
|
||||
if ( $campaign_id )
|
||||
{
|
||||
$existing_campaign_name = trim( (string) $mdb -> get( 'campaigns', 'campaign_name', [ 'id' => $campaign_id ] ) );
|
||||
if ( $incoming_campaign_name !== '' and $existing_campaign_name !== $incoming_campaign_name )
|
||||
{
|
||||
$mdb -> update( 'campaigns', [ 'campaign_name' => $incoming_campaign_name ], [ 'id' => $campaign_id ] );
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
if ( $campaign_id )
|
||||
|
||||
Reference in New Issue
Block a user