I have an apex class which is the controller for a lightning component. In the class I want to pull through several different parts of different objects and return it in to the JS controller as one object. Now I am getting the errors: Non static AuraEnabled methods may not have parameters and AuraEnabled methods must be named with a prefix 'get'.
public with sharing class EBC_RelatedListsApx {
public class TableRow{
@AuraEnabled public String type {get;set;}
@AuraEnabled public String body {get;set;}
@AuraEnabled public String dateString {get;set;}
@AuraEnabled public String user {get;set;}
}
@AuraEnabled public List<TableRow> RowList {get; set;}
@AuraEnabled
public list<TableRow> WrapperDemoController(string processId){
RowList = new List<TableRow>();
TableRow tr;
//ACTION
for(arcusregserv__RS_Action__c action : [select arcusregserv__Action_Type__c, arcusregserv__Actual_Date__c, CreatedBy.Name, id from arcusregserv__RS_Action__c where arcusregserv__Activity__c =: processId order by CreatedDate desc]){
tr = new TableRow();
tr.type = 'Action';
tr.body = action.arcusregserv__Action_Type__c;
tr.dateString = string.valueOfGmt(action.arcusregserv__Actual_Date__c);
tr.user = action.CreatedBy.Name;
/*Add the TableRow to the List then and there*/
RowList.add(tr);
}
//Chatter
for(feedItem chatter : [select body, CreatedDate, CreatedBy.name from feedItem where parentId =: processId order by CreatedDate desc]){
tr = new TableRow();
tr.type = 'Chatter';
tr.body = chatter.body;
tr.dateString = string.valueOfGmt(date.newInstance(chatter.createdDate.year(), chatter.createdDate.month(), chatter.createdDate.day()));
tr.user = chatter.CreatedBy.Name;
/*Add the TableRow to the List then and there*/
RowList.add(tr);
}
//ContentDocumentVersion
List<id> contentDocumentIdList = new List<id>(new Map<id, contentDocumentLink>([select contentDocumentId from contentdocumentlink where linkedentityid =: processId]).keySet());
String SOQL_IDs = '';
for (Id id : contentDocumentIdList) {
String id_in_quotes = '\''+id+'\'';
if (SOQL_IDs!='') { SOQL_IDs+=','; } // add a comma if this isn't the first one
SOQL_IDs += id_in_quotes;
}
String SOQL = 'select title, CreatedDate, Createdby.Name from contentVersion where contentDocumentId in ('+SOQL_IDs+')';
for(contentVersion CV : database.query(SOQL)){
tr = new TableRow();
tr.type = 'CV';
tr.body = CV.title;
tr.dateString = string.valueOfGmt(date.newInstance(CV.createdDate.year(), CV.createdDate.month(), CV.createdDate.day()));
tr.user = CV.CreatedBy.Name;
/*Add the TableRow to the List then and there*/
RowList.add(tr);
}
//Requisite
for(arcusregserv__RS_Requisite__c requisite : [select arcusregserv__Status__c, CreatedDate, CreatedBy.name, id from arcusregserv__RS_Requisite__c where arcusregserv__Process__c =: processId order by CreatedDate desc]){
tr = new TableRow();
tr.type = 'Requisite';
tr.body = requisite.arcusregserv__Status__c;
tr.dateString = string.valueOfGmt(date.newInstance(requisite.createdDate.year(), requisite.createdDate.month(), requisite.createdDate.day()));
tr.user = requisite.CreatedBy.Name;
/*Add the TableRow to the List then and there*/
RowList.add(tr);
}
//Financial transaction
for(arcshared__Financial_Transaction__c FT : [select arcshared__Status__c, CreatedDate, CreatedBy.name, id from arcshared__Financial_Transaction__c where arcusregserv__Related_Process__c =: processId order by CreatedDate desc]){
tr = new TableRow();
tr.type = 'FinancialTransaction';
tr.body = FT.arcshared__Status__c;
tr.dateString = string.valueOfGmt(date.newInstance(FT.createdDate.year(), FT.createdDate.month(), FT.createdDate.day()));
tr.user = FT.CreatedBy.Name;
/*Add the TableRow to the List then and there*/
RowList.add(tr);
}
return RowList;
}
}