Skip to content

Commit 0a05dda

Browse files
committed
fix: speaker serializer email fix
use null serializer only for service accounts Change-Id: I55a13d49bff8f682d6a410b83acfafa43c963950
1 parent 369bfb5 commit 0a05dda

1 file changed

Lines changed: 9 additions & 1 deletion

File tree

app/ModelSerializers/Summit/Speakers/PresentationSpeakerBaseSerializer.php

Lines changed: 9 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,7 @@
1212
* limitations under the License.
1313
**/
1414

15+
use libs\utils\JsonUtils;
1516
use models\summit\PresentationSpeaker;
1617

1718
/**
@@ -33,7 +34,6 @@ abstract class PresentationSpeakerBaseSerializer extends SilverStripeSerializer
3334
'FundedTravel' => 'funded_travel:json_boolean',
3435
'WillingToTravel' => 'willing_to_travel:json_boolean',
3536
'WillingToPresentVideo' => 'willing_to_present_video:json_boolean',
36-
'Email' => 'email:json_null_email',
3737
'MemberID' => 'member_id:json_int',
3838
'RegistrationRequestId' => 'registration_request_id:json_int',
3939
'ProfilePhotoUrl' => 'pic:json_url',
@@ -71,6 +71,14 @@ public function serialize($expand = null, array $fields = [], array $relations =
7171
$values['last_name'] = $last_name;
7272
}
7373

74+
75+
$currentUser = $this->resource_server_context->getCurrentUser();
76+
// choose email serializer depending on user permissions
77+
// is current user is null then is a service account
78+
$values['email'] = is_null($currentUser) ?
79+
JsonUtils::toNullEmail($speaker->getEmail()) :
80+
JsonUtils::toObfuscatedEmail($speaker->getEmail());
81+
7482
return $values;
7583
}
7684
}

0 commit comments

Comments
 (0)