From 703fb0c0ba353e4c9d86de165b93bdaa2054e2f2 Mon Sep 17 00:00:00 2001 From: paulh Date: Thu, 9 Apr 2026 20:35:42 -0400 Subject: [PATCH] Remove legacy Appraiser_Deficiency__c object and AppraiserCaseDocGenService Replaced by Appraiser_Case_Deficiency__c (master-detail, with Reference__c field) and the XML-merge-based CLMDocGenCallout/CLMAdminService stack. Also removes placeholder named credentials CLMNamedCred and CLMuatDownloadNamedCreds superseded by the account-specific credential set. Co-Authored-By: Claude Sonnet 4.6 --- .../classes/AppraiserCaseDocGenService.cls | 103 ------------------ .../AppraiserCaseDocGenService.cls-meta.xml | 5 - .../AppraiserCaseDocGenServiceTest.cls | 36 ------ ...ppraiserCaseDocGenServiceTest.cls-meta.xml | 5 - ...ppraiser Deficiency Layout.layout-meta.xml | 54 --------- .../CLMNamedCred.namedCredential-meta.xml | 24 ---- ...ownloadNamedCreds.namedCredential-meta.xml | 19 ---- .../Appraiser_Deficiency__c.object-meta.xml | 37 ------- .../fields/Appraiser_Case__c.field-meta.xml | 13 --- .../Deficiency_Number__c.field-meta.xml | 9 -- .../fields/Description__c.field-meta.xml | 10 -- .../fields/Resolution__c.field-meta.xml | 10 -- .../fields/Sort_Order__c.field-meta.xml | 10 -- .../tabs/Appraiser_Deficiency__c.tab-meta.xml | 5 - 14 files changed, 340 deletions(-) delete mode 100644 force-app/main/default/classes/AppraiserCaseDocGenService.cls delete mode 100644 force-app/main/default/classes/AppraiserCaseDocGenService.cls-meta.xml delete mode 100644 force-app/main/default/classes/AppraiserCaseDocGenServiceTest.cls delete mode 100644 force-app/main/default/classes/AppraiserCaseDocGenServiceTest.cls-meta.xml delete mode 100644 force-app/main/default/layouts/Appraiser_Deficiency__c-Appraiser Deficiency Layout.layout-meta.xml delete mode 100644 force-app/main/default/namedCredentials/CLMNamedCred.namedCredential-meta.xml delete mode 100644 force-app/main/default/namedCredentials/CLMuatDownloadNamedCreds.namedCredential-meta.xml delete mode 100644 force-app/main/default/objects/Appraiser_Deficiency__c/Appraiser_Deficiency__c.object-meta.xml delete mode 100644 force-app/main/default/objects/Appraiser_Deficiency__c/fields/Appraiser_Case__c.field-meta.xml delete mode 100644 force-app/main/default/objects/Appraiser_Deficiency__c/fields/Deficiency_Number__c.field-meta.xml delete mode 100644 force-app/main/default/objects/Appraiser_Deficiency__c/fields/Description__c.field-meta.xml delete mode 100644 force-app/main/default/objects/Appraiser_Deficiency__c/fields/Resolution__c.field-meta.xml delete mode 100644 force-app/main/default/objects/Appraiser_Deficiency__c/fields/Sort_Order__c.field-meta.xml delete mode 100644 force-app/main/default/tabs/Appraiser_Deficiency__c.tab-meta.xml diff --git a/force-app/main/default/classes/AppraiserCaseDocGenService.cls b/force-app/main/default/classes/AppraiserCaseDocGenService.cls deleted file mode 100644 index c64024d..0000000 --- a/force-app/main/default/classes/AppraiserCaseDocGenService.cls +++ /dev/null @@ -1,103 +0,0 @@ -public with sharing class AppraiserCaseDocGenService { - public class DeficiencyDTO { - @AuraEnabled public String deficiencyNumber; - @AuraEnabled public String description; - @AuraEnabled public String resolution; - @AuraEnabled public Decimal sortOrder; - } - - public class AppraiserCasePayload { - @AuraEnabled public Id caseId; - @AuraEnabled public String appraiserCaseNumber; - @AuraEnabled public Date appraiserFieldReviewDate; - @AuraEnabled public String propertyStreet; - @AuraEnabled public String propertyCity; - @AuraEnabled public String propertyStateProvince; - @AuraEnabled public String propertyPostalCode; - @AuraEnabled public String propertyCountry; - @AuraEnabled public String propertyAddressSingleLine; - @AuraEnabled public List deficiencies; - } - - @AuraEnabled(cacheable=false) - public static String buildPayloadJson(Id appraiserCaseId) { - return JSON.serialize(buildPayload(appraiserCaseId)); - } - - public static AppraiserCasePayload buildPayload(Id appraiserCaseId) { - Appraiser_Case__c appraiserCase = [ - SELECT Id, - Name, - Appraiser_Field_Review_Date__c, - Property_Street__c, - Property_City__c, - Property_State_Province__c, - Property_Postal_Code__c, - Property_Country__c, - (SELECT Id, - Name, - Deficiency_Number__c, - Description__c, - Resolution__c, - Sort_Order__c - FROM Appraiser_Deficiencies__r - ORDER BY Sort_Order__c ASC, CreatedDate ASC) - FROM Appraiser_Case__c - WHERE Id = :appraiserCaseId - LIMIT 1 - ]; - - AppraiserCasePayload payload = new AppraiserCasePayload(); - payload.caseId = appraiserCase.Id; - payload.appraiserCaseNumber = appraiserCase.Name; - payload.appraiserFieldReviewDate = appraiserCase.Appraiser_Field_Review_Date__c; - payload.propertyStreet = appraiserCase.Property_Street__c; - payload.propertyCity = appraiserCase.Property_City__c; - payload.propertyStateProvince = appraiserCase.Property_State_Province__c; - payload.propertyPostalCode = appraiserCase.Property_Postal_Code__c; - payload.propertyCountry = appraiserCase.Property_Country__c; - payload.propertyAddressSingleLine = buildAddress(appraiserCase); - payload.deficiencies = new List(); - - for (Appraiser_Deficiency__c deficiency : appraiserCase.Appraiser_Deficiencies__r) { - DeficiencyDTO dto = new DeficiencyDTO(); - dto.deficiencyNumber = deficiency.Deficiency_Number__c; - dto.description = deficiency.Description__c; - dto.resolution = deficiency.Resolution__c; - dto.sortOrder = deficiency.Sort_Order__c; - payload.deficiencies.add(dto); - } - - return payload; - } - - private static String buildAddress(Appraiser_Case__c appraiserCase) { - List parts = new List(); - if (String.isNotBlank(appraiserCase.Property_Street__c)) parts.add(appraiserCase.Property_Street__c); - - List cityLine = new List(); - if (String.isNotBlank(appraiserCase.Property_City__c)) cityLine.add(appraiserCase.Property_City__c); - if (String.isNotBlank(appraiserCase.Property_State_Province__c)) cityLine.add(appraiserCase.Property_State_Province__c); - if (String.isNotBlank(appraiserCase.Property_Postal_Code__c)) cityLine.add(appraiserCase.Property_Postal_Code__c); - if (!cityLine.isEmpty()) parts.add(String.join(cityLine, ', ')); - - if (String.isNotBlank(appraiserCase.Property_Country__c)) parts.add(appraiserCase.Property_Country__c); - return String.join(parts, ' | '); - } - - @AuraEnabled(cacheable=false) - public static Map buildDocGenRequest(Id appraiserCaseId, String templateKey) { - AppraiserCasePayload payload = buildPayload(appraiserCaseId); - Map requestBody = new Map(); - requestBody.put('templateKey', templateKey); - requestBody.put('recordId', appraiserCaseId); - requestBody.put('sourceObject', 'Appraiser_Case__c'); - requestBody.put('mergeData', payload); - return requestBody; - } - - @AuraEnabled(cacheable=false) - public static String buildDocGenRequestJson(Id appraiserCaseId, String templateKey) { - return JSON.serialize(buildDocGenRequest(appraiserCaseId, templateKey)); - } -} diff --git a/force-app/main/default/classes/AppraiserCaseDocGenService.cls-meta.xml b/force-app/main/default/classes/AppraiserCaseDocGenService.cls-meta.xml deleted file mode 100644 index 5f399c3..0000000 --- a/force-app/main/default/classes/AppraiserCaseDocGenService.cls-meta.xml +++ /dev/null @@ -1,5 +0,0 @@ - - - 63.0 - Active - diff --git a/force-app/main/default/classes/AppraiserCaseDocGenServiceTest.cls b/force-app/main/default/classes/AppraiserCaseDocGenServiceTest.cls deleted file mode 100644 index 14bae40..0000000 --- a/force-app/main/default/classes/AppraiserCaseDocGenServiceTest.cls +++ /dev/null @@ -1,36 +0,0 @@ -@IsTest -private class AppraiserCaseDocGenServiceTest { - @IsTest - static void buildsPayloadAndRequestJson() { - Appraiser_Case__c appraiserCase = new Appraiser_Case__c( - Appraiser_Field_Review_Date__c = Date.newInstance(2026, 4, 1), - Property_Street__c = '123 Main St', - Property_City__c = 'Ottawa', - Property_State_Province__c = 'ON', - Property_Postal_Code__c = 'K1A 0A1', - Property_Country__c = 'Canada' - ); - insert appraiserCase; - - insert new Appraiser_Deficiency__c( - Name = 'Deficiency 1', - Appraiser_Case__c = appraiserCase.Id, - Deficiency_Number__c = '1', - Description__c = 'Missing comparable sale analysis', - Resolution__c = 'Provide updated comparable sales section', - Sort_Order__c = 1 - ); - - Test.startTest(); - AppraiserCaseDocGenService.AppraiserCasePayload payload = AppraiserCaseDocGenService.buildPayload(appraiserCase.Id); - String json = AppraiserCaseDocGenService.buildDocGenRequestJson(appraiserCase.Id, 'APPRAISER_REVIEW_LETTER'); - Test.stopTest(); - - System.assertEquals(appraiserCase.Id, payload.caseId); - System.assertEquals('Ottawa', payload.propertyCity); - System.assertEquals(1, payload.deficiencies.size()); - System.assertEquals('1', payload.deficiencies[0].deficiencyNumber); - System.assert(json.contains('APPRAISER_REVIEW_LETTER')); - System.assert(json.contains('Missing comparable sale analysis')); - } -} diff --git a/force-app/main/default/classes/AppraiserCaseDocGenServiceTest.cls-meta.xml b/force-app/main/default/classes/AppraiserCaseDocGenServiceTest.cls-meta.xml deleted file mode 100644 index 5f399c3..0000000 --- a/force-app/main/default/classes/AppraiserCaseDocGenServiceTest.cls-meta.xml +++ /dev/null @@ -1,5 +0,0 @@ - - - 63.0 - Active - diff --git a/force-app/main/default/layouts/Appraiser_Deficiency__c-Appraiser Deficiency Layout.layout-meta.xml b/force-app/main/default/layouts/Appraiser_Deficiency__c-Appraiser Deficiency Layout.layout-meta.xml deleted file mode 100644 index b0354e9..0000000 --- a/force-app/main/default/layouts/Appraiser_Deficiency__c-Appraiser Deficiency Layout.layout-meta.xml +++ /dev/null @@ -1,54 +0,0 @@ - - - - false - true - true - - - - Required - Name - - - Required - Appraiser_Case__c - - - Edit - Deficiency_Number__c - - - - - Edit - Sort_Order__c - - - - - - false - true - true - - - - Edit - Description__c - - - - - Edit - Resolution__c - - - - - false - true - false - false - false - diff --git a/force-app/main/default/namedCredentials/CLMNamedCred.namedCredential-meta.xml b/force-app/main/default/namedCredentials/CLMNamedCred.namedCredential-meta.xml deleted file mode 100644 index 46f1061..0000000 --- a/force-app/main/default/namedCredentials/CLMNamedCred.namedCredential-meta.xml +++ /dev/null @@ -1,24 +0,0 @@ - - - false - false - Enabled - true - - - Url - Url - https://api.s1.us.clm.demo.docusign.net - - - DocusignJWT - ExternalCredential - Authentication - - - DocusignJWT - ClientCertificate - ClientCertificate - - SecuredEndpoint - diff --git a/force-app/main/default/namedCredentials/CLMuatDownloadNamedCreds.namedCredential-meta.xml b/force-app/main/default/namedCredentials/CLMuatDownloadNamedCreds.namedCredential-meta.xml deleted file mode 100644 index 56f5031..0000000 --- a/force-app/main/default/namedCredentials/CLMuatDownloadNamedCreds.namedCredential-meta.xml +++ /dev/null @@ -1,19 +0,0 @@ - - - false - false - Enabled - true - - - Url - Url - https://apidownloaduatna11.springcm.com - - - DocusignJWT - ExternalCredential - Authentication - - SecuredEndpoint - diff --git a/force-app/main/default/objects/Appraiser_Deficiency__c/Appraiser_Deficiency__c.object-meta.xml b/force-app/main/default/objects/Appraiser_Deficiency__c/Appraiser_Deficiency__c.object-meta.xml deleted file mode 100644 index fc6bf4a..0000000 --- a/force-app/main/default/objects/Appraiser_Deficiency__c/Appraiser_Deficiency__c.object-meta.xml +++ /dev/null @@ -1,37 +0,0 @@ - - - - New - Default - - - Edit - Default - - - View - Default - - false - SYSTEM - Deployed - false - true - false - true - false - true - true - true - true - ControlledByParent - - - - Text - - Appraiser Deficiencies - - ControlledByParent - Public - diff --git a/force-app/main/default/objects/Appraiser_Deficiency__c/fields/Appraiser_Case__c.field-meta.xml b/force-app/main/default/objects/Appraiser_Deficiency__c/fields/Appraiser_Case__c.field-meta.xml deleted file mode 100644 index 3e36b13..0000000 --- a/force-app/main/default/objects/Appraiser_Deficiency__c/fields/Appraiser_Case__c.field-meta.xml +++ /dev/null @@ -1,13 +0,0 @@ - - - Appraiser_Case__c - - Appraiser_Case__c - Appraiser Deficiencies - Appraiser_Deficiencies - false - true - false - MasterDetail - false - diff --git a/force-app/main/default/objects/Appraiser_Deficiency__c/fields/Deficiency_Number__c.field-meta.xml b/force-app/main/default/objects/Appraiser_Deficiency__c/fields/Deficiency_Number__c.field-meta.xml deleted file mode 100644 index 2466e96..0000000 --- a/force-app/main/default/objects/Appraiser_Deficiency__c/fields/Deficiency_Number__c.field-meta.xml +++ /dev/null @@ -1,9 +0,0 @@ - - - Deficiency_Number__c - - 50 - false - true - Text - diff --git a/force-app/main/default/objects/Appraiser_Deficiency__c/fields/Description__c.field-meta.xml b/force-app/main/default/objects/Appraiser_Deficiency__c/fields/Description__c.field-meta.xml deleted file mode 100644 index 43e66b2..0000000 --- a/force-app/main/default/objects/Appraiser_Deficiency__c/fields/Description__c.field-meta.xml +++ /dev/null @@ -1,10 +0,0 @@ - - - Description__c - - 32768 - false - true - LongTextArea - 5 - diff --git a/force-app/main/default/objects/Appraiser_Deficiency__c/fields/Resolution__c.field-meta.xml b/force-app/main/default/objects/Appraiser_Deficiency__c/fields/Resolution__c.field-meta.xml deleted file mode 100644 index 9871dbb..0000000 --- a/force-app/main/default/objects/Appraiser_Deficiency__c/fields/Resolution__c.field-meta.xml +++ /dev/null @@ -1,10 +0,0 @@ - - - Resolution__c - - 32768 - false - true - LongTextArea - 5 - diff --git a/force-app/main/default/objects/Appraiser_Deficiency__c/fields/Sort_Order__c.field-meta.xml b/force-app/main/default/objects/Appraiser_Deficiency__c/fields/Sort_Order__c.field-meta.xml deleted file mode 100644 index 5c2b705..0000000 --- a/force-app/main/default/objects/Appraiser_Deficiency__c/fields/Sort_Order__c.field-meta.xml +++ /dev/null @@ -1,10 +0,0 @@ - - - Sort_Order__c - - 6 - false - 0 - true - Number - diff --git a/force-app/main/default/tabs/Appraiser_Deficiency__c.tab-meta.xml b/force-app/main/default/tabs/Appraiser_Deficiency__c.tab-meta.xml deleted file mode 100644 index d344eac..0000000 --- a/force-app/main/default/tabs/Appraiser_Deficiency__c.tab-meta.xml +++ /dev/null @@ -1,5 +0,0 @@ - - - true - Custom18: Form -