Create Apex Classes
- DarkLight
Create Apex Classes
- DarkLight
Article summary
Did you find this summary helpful?
Thank you for your feedback
Create SFConnectorApi and SFConnectorApiTest apex classes.
Creating Apex Class
From Setup, enter Apex in the Quick Find box.
Select Apex Classes.
Paste the apex class content in the Apex Class tab.
Click Save.
Use the content below for the appropriate class.
SFConnectorAPI Class Content
public class SFConnectorApi {
public static String getUserId() {
//String JSONString = JSON.serialize(UserInfo.getUserId());
return UserInfo.getUserId();
}
public static String getProfileId() {
List<User> users = Database.query('SELECT profile.Id FROM user WHERE Id=\'' + UserInfo.getUserId() + '\'');
String JSONString = JSON.serialize(users);
return JSONString;
}
public static String getCapacityByUserId() {
List<PresenceUserConfigUser> presenceConfigs = Database.query('SELECT PresenceUserConfig.Capacity FROM PresenceUserConfigUser WHERE UserId=\'' + UserInfo.getUserId() + '\'');
String JSONString = JSON.serialize(presenceConfigs);
return JSONString;
}
public static String getCapacityByProfileId() {
List<PresenceUserConfigProfile> presenceConfigs = Database.query('SELECT PresenceUserConfig.Capacity FROM PresenceUserConfigProfile WHERE ProfileId=\'' + UserInfo.getProfileId() + '\'');
String JSONString = JSON.serialize(presenceConfigs);
return JSONString;
}
public static String getChatInfo(String chatId) {
List<LiveChatTranscript> chatDetails = Database.query('SELECT Contact.Id, Contact.Name, Contact.Email, Lead.Id, Lead.Name, Lead.Email, Case.Id, Case.CaseNumber, Account.Id, Account.AccountNumber FROM LiveChatTranscript WHERE Id = \''+chatId+'\'');
String JSONString = JSON.serialize(chatDetails);
return JSONString;
}
public static String getCaseInfo(String caseId) {
List<Case> caseDetails = Database.query('SELECT CaseNumber, Contact.Id, Contact.Name, Contact.Email FROM Case WHERE Id = \''+caseId+'\'');
String JSONString = JSON.serialize(caseDetails);
return JSONString;
}
public static String getServiceChannelById(String scId) {
List<ServiceChannel> serviceChannels = Database.query('SELECT RelatedEntity FROM ServiceChannel WHERE Id=\'' + scId + '\'');
String JSONString = JSON.serialize(serviceChannels);
return JSONString;
}
public static String getObjectById(String objId, String obj, String colName) {
List<Object> retObj = Database.query('SELECT ' + colName + ' FROM ' + obj + ' WHERE Id=\'' + objId + '\'');
String JSONString = JSON.serialize(retObj);
return JSONString;
}
}
SFConnectorAPITest Class Content
@isTest
public class SFConnectorApiTest {
static testMethod void getUserId() {
String userId = SFConnectorApi.getUserId();
System.assertEquals(true, userId.containsIgnoreCase(UserInfo.getUserId()));
}
public static String getProfileId() {
List<User> users = Database.query('SELECT profile.Id FROM user WHERE Id=\'' + UserInfo.getUserId() + '\'');
String JSONString = JSON.serialize(users);
return JSONString;
}
public static String getCapacityByUserId() {
List<PresenceUserConfigUser> presenceConfigs = Database.query('SELECT PresenceUserConfig.Capacity FROM PresenceUserConfigUser WHERE UserId=\'' + UserInfo.getUserId() + '\'');
String JSONString = JSON.serialize(presenceConfigs);
return JSONString;
}
public static String getCapacityByProfileId() {
List<PresenceUserConfigProfile> presenceConfigs = Database.query('SELECT PresenceUserConfig.Capacity FROM PresenceUserConfigProfile WHERE ProfileId=\'' + UserInfo.getProfileId() + '\'');
String JSONString = JSON.serialize(presenceConfigs);
return JSONString;
}
public static String getChatInfo(String chatId) {
List<LiveChatTranscript> chatDetails = Database.query('SELECT Contact.Id, Contact.Name, Contact.Email, Lead.Id, Lead.Name, Lead.Email, Case.Id, Case.CaseNumber, Account.Id, Account.AccountNumber FROM LiveChatTranscript WHERE Id = \''+chatId+'\'');
String JSONString = JSON.serialize(chatDetails);
return JSONString;
}
public static String getCaseInfo(String caseId) {
List<Case> caseDetails = Database.query('SELECT CaseNumber, Contact.Id, Contact.Name, Contact.Email FROM Case WHERE Id = \''+caseId+'\'');
String JSONString = JSON.serialize(caseDetails);
return JSONString;
}
public static String getServiceChannelById(String scId) {
List<ServiceChannel> serviceChannels = Database.query('SELECT RelatedEntity FROM ServiceChannel WHERE Id=\'' + scId + '\'');
String JSONString = JSON.serialize(serviceChannels);
return JSONString;
}
public static String getObjectById(String objId, String obj, String colName) {
List<Object> retObj = Database.query('SELECT ' + colName + ' FROM ' + obj + ' WHERE Id=\'' + objId + '\'');
String JSONString = JSON.serialize(retObj);
return JSONString;
}
}
Was this article helpful?