feat: improve campaign name handling in campaigns_data_save method for better data integrity

This commit is contained in:
2026-02-21 23:16:21 +01:00
parent a07bbcb93e
commit 192eb11f66

View File

@@ -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 )