Merge pull request #59 from wimvelzeboer/feature/ElevatedAppBindingSelector

Add WITH SYSTEM_MODE to fflib_AppBindingsSelector class
This commit is contained in:
William Velzeboer
2024-02-22 20:21:36 +00:00
committed by GitHub
@@ -28,16 +28,13 @@
* OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) * OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
* ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*/ */
public virtual without sharing class fflib_AppBindingsSelector extends fflib_SObjectSelector public virtual without sharing class fflib_AppBindingsSelector extends fflib_SObjectSelector {
{
// Used for mocking // Used for mocking
@TestVisible @TestVisible
private static System.Type SELECTOR_IMPL_TYPE = fflib_AppBindingsSelector.class; private static System.Type SELECTOR_IMPL_TYPE = fflib_AppBindingsSelector.class;
public List<Schema.SObjectField> getSObjectFieldList() public List<Schema.SObjectField> getSObjectFieldList() {
{ return new List<Schema.SObjectField>{
return new List<Schema.SObjectField>
{
fflib_AppBinding__mdt.Id, fflib_AppBinding__mdt.Id,
fflib_AppBinding__mdt.BindingObject__c, fflib_AppBinding__mdt.BindingObject__c,
fflib_AppBinding__mdt.BindingObjectAlternate__c, fflib_AppBinding__mdt.BindingObjectAlternate__c,
@@ -50,18 +47,15 @@ public virtual without sharing class fflib_AppBindingsSelector extends fflib_SOb
}; };
} }
public static fflib_AppBindingsSelector newInstance() public static fflib_AppBindingsSelector newInstance() {
{
return (fflib_AppBindingsSelector) SELECTOR_IMPL_TYPE.newInstance(); return (fflib_AppBindingsSelector) SELECTOR_IMPL_TYPE.newInstance();
} }
public Schema.SObjectType getSObjectType() public Schema.SObjectType getSObjectType() {
{
return fflib_AppBinding__mdt.SObjectType; return fflib_AppBinding__mdt.SObjectType;
} }
public virtual List<fflib_AppBinding__mdt> selectAll() public virtual List<fflib_AppBinding__mdt> selectAll() {
{
/** /**
Todo - Waiting to uncomment the following section Todo - Waiting to uncomment the following section
until fflib-apex-common fixes the getFieldPath issue until fflib-apex-common fixes the getFieldPath issue
@@ -81,12 +75,11 @@ public virtual without sharing class fflib_AppBindingsSelector extends fflib_SOb
return (List<fflib_AppBinding__mdt>) Database.query( return (List<fflib_AppBinding__mdt>) Database.query(
String.format( String.format(
'SELECT {0} FROM {1}', 'SELECT {0} FROM {1} WITH SYSTEM_MODE',
new List<String> new List<String>{
{ getFieldListString() +
getFieldListString() ', BindingObject__r.QualifiedApiName' +
+ ', BindingObject__r.QualifiedApiName' ', ApplicationPackage__r.DeveloperName',
+ ', ApplicationPackage__r.DeveloperName',
getSObjectType().getDescribe().getName() getSObjectType().getDescribe().getName()
} }
) )