...
| Code Block | ||
|---|---|---|
| ||
@RestResource(urlMapping='/jtelACD/setEmailTaskStatus')
global with sharing class JTELACD_SetEmailTaskStatus {
// Class to decode the parameters
public class GenericQueryParams {
public String Param1;
public String Param2;
public String Param3;
public String Param4;
public String Query;
}
@HttpPost
global static void doPost() {
RestRequest req = RestContext.request;
RestResponse res = RestContext.response;
res.addHeader('Content-Type', 'application/json');
// Deserialize the JSON
GenericQueryParams genericQueryParams = (GenericQueryParams) JSON.deserialize( req.requestBody.toString(), GenericQueryParams.class );
if (String.isBlank(genericQueryParams.Param1)) {
res.statusCode = 400;
res.responseBody =
Blob.valueOf('{"error":"Missing task id"}');
return;
}
if (String.isBlank(genericQueryParams.Param2)) {
res.statusCode = 400;
res.responseBody =
Blob.valueOf('{"error":"Missing status"}');
return;
}
List<Task> tasks = [
SELECT FIELDS(STANDARD)
FROM Task
WHERE Id = :genericQueryParams.Param1
LIMIT 1
];
if (tasks.isEmpty()) {
res.statusCode = 404;
res.responseBody =
Blob.valueOf('{"error":"Task not found"}');
return;
}
Task task = tasks[0];
task.Status = genericQueryParams.Param2;
update task;
res.statusCode = 200;
res.responseBody = Blob.valueOf(JSON.serialize(task));
}
} |
...