Monday, April 29, 2019

Platform Developer I Certification Maintenance (Spring '19)

Unit : Platform Developer I Certification Maintenance (Spring '19)

UNIT : Learn What’s New for Platform Developers in Spring ’19:-

1. Which Apex interface can be implemented to allow My Domain users to log in with something other than their username and password?
A. Auth.AuthToken

B. Auth.VerificationMethod
C. Auth.LoginDiscoveryHandler
D. Auth.MyDomainLoginDiscoveryHandler

2. With Spring '19, which method returns a list of OrgLimit instances used to investigate limits and their names, current value, and maximum value?
A. getAll() from the System.OrgLimit Class
B. getAll() from the System.OrgLimits Class
C. getInstances() from the System.OrgLimit Class
D. getInstances() from the System.OrgLimits Class

3. With Spring '19, which properties of an unhandled Apex exception are available in Event Monitoring log files?
A. Static variable state and stack trace
B. Exception type, name, and static variable state
C. Stack trace, user's location, and exception type
D. Exception message, exception type name, and stack trace

4. Which field of the SandboxInfo object is a reference to the ID of the SandboxInfo that served as the source org for a cloned sandbox?
A. SourceId
B. TemplateId
C. SandboxName
D. SandboxInfoId

5. You created a custom metadata type to handle your company's warranty policy. The custom metadata type's label is WarrantyRule. For it, you created a custom field labeled Warranty and a metadata record labeled Gold. What is the correct syntax to reference the value stored in the Gold metadata record?
A. $WarrantyRule.Gold.Warranty__c
B. $WarrantyRule__mdt.Gold.Warranty
C. $CustomMetadata.WarrantyRule.Gold.Warranty
D. $CustomMetadata.WarrantyRule__mdt.Gold.Warranty__c

Get Ready for the Hands-on Challenge:-


In the hands-on challenge below, you’ll have an opportunity to work with these new security settings and use the new WITH SECURITY_ENFORCED clause in SOQL queries run from Apex to simplify your code. But before we get started, a bit of setup is required. 


Our business goal is to ensure that only system administrators have access to sensitive customer information, and that other users cannot invoke our APIs that handle sensitive data. To ensure that our code is generally safe, we need to make runtime checks of field- and object-level security. As developers, we need to specifically ensure our code respects admin-defined security constraints.

Launch the org you’ll use for the hands-on challenge, then do the following.

Create a new custom field on the Contact object to establish a field that contains sensitive information about the secret keys of our customers.
Field Label: Secret Key
Type: Text
Field Name: Secret_Key
 @RestResource(urlMapping='/secureApexRest')  
 global with sharing class SecureApexRest {  
   @HttpGet  
   global static Contact doGet(){  
     Id recordId = RestContext.request.params.get('id');  
     Contact result;  
     List<Contact> results = [SELECT id, Name, Secret_Key__c FROM Contact WHERE Id = :recordId WITH SECURITY_ENFORCED];  
     if (!results.isEmpty()) {  
        result = results[0];  
      }  
      else{  
       throw new QueryException('You don\'t have access to all contact fields required to use this API');  
     }  
     return result;  
   }  
    public class QueryException extends Exception{}  
 }  

This Is The Newest Post


EmoticonEmoticon