-
Notifications
You must be signed in to change notification settings - Fork 48
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Add sample code for automated service document creation though invocable action #80
Merged
Merged
Changes from 1 commit
Commits
Show all changes
9 commits
Select commit
Hold shift + click to select a range
ae653d9
Add sample code for automated service document creation though invoca…
yongbozuo 41753e0
Add sample code for automated service document creation though invoca…
yongbozuo 0716ba0
add comment to trigger the pr update
yongbozuo 2795f9e
address comments
yongbozuo dd9c28c
address the comments
yongbozuo 0cc8909
update readme
yongbozuo 7bd6c85
comment out the comments
yongbozuo 70950a1
address comments
yongbozuo 02d998b
update prettier ignore
yongbozuo File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
114 changes: 63 additions & 51 deletions
114
...cumentSamples/force-app/main/default/classes/FireCreateServiceDocumentInvocableAction.cls
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,64 +1,76 @@ | ||
public with sharing class FireCreateServiceDocumentInvocableAction { | ||
private static final String API_VERSION = 'v58.0'; | ||
|
||
private static final String API_VERSION = 'v58.0'; | ||
private static final String CREATE_SERVICE_DOCUMENT_ACTION_PATH = | ||
'/services/data/' + | ||
API_VERSION + | ||
'/actions/standard/createServiceDocument'; | ||
|
||
private static final String CREATE_SERVICE_DOCUMENT_ACTION_PATH = '/services/data/'+ API_VERSION +'/actions/standard/createServiceDocument'; | ||
private static final String AUTHORIZATION_HEADER = 'Authorization'; | ||
private static final String AUTHORIZATION_BEARER_PREFIX = 'Bearer '; | ||
|
||
private static final String AUTHORIZATION_HEADER = 'Authorization'; | ||
private static final String AUTHORIZATION_BEARER_PREFIX = 'Bearer '; | ||
private static final String CONTENT_TYPE_HEADER = 'Content-Type'; | ||
private static final String CONTENT_TYPE_JSON = 'application/json'; | ||
|
||
private static final String CONTENT_TYPE_HEADER = 'Content-Type'; | ||
private static final String CONTENT_TYPE_JSON = 'application/json'; | ||
private static final String ACCEPT_HEADER = 'Accept'; | ||
|
||
private static final String ACCEPT_HEADER = 'Accept'; | ||
/** | ||
* recordId: recordId to generate service document for. WO/WOLI/SA id | ||
* templateId: The ID of Service document template to generate document for. The ID starts with '0M0' | ||
* locale: (Optional) Locale to generate the document in. Example valid formats: 'ru', 'ru_PL' | ||
* title: (Optional) Used to name the document saved | ||
*/ | ||
@future(callout=true) | ||
public static void TriggerCreateServiceDocumentInvocableAction( | ||
String recordId, | ||
String templateId, | ||
String locale, | ||
String title | ||
) { | ||
// System.debug('Attempting to queue Create Service Document'); | ||
// System.debug('RecordId: ' + recordId); | ||
// System.debug('TemplateId: ' + templateId); | ||
// System.debug('Locale: ' + locale); | ||
// System.debug('Title: ' + title); | ||
|
||
/** | ||
* recordId: recordId to generate service document for. WO/WOLI/SA id | ||
* templateId: The ID of Service document template to generate document for. The ID starts with '0M0' | ||
* locale: (Optional) Locale to generate the document in. Example valid formats: 'ru', 'ru_PL' | ||
* title: (Optional) Used to name the document saved | ||
*/ | ||
@future (callout=true) | ||
public static void TriggerCreateServiceDocumentInvocableAction(String recordId, String templateId, String locale, String title) { | ||
String sessionId = UserInfo.getSessionId(); | ||
|
||
// System.debug('Attempting to queue Create Service Document'); | ||
// System.debug('RecordId: ' + recordId); | ||
// System.debug('TemplateId: ' + templateId); | ||
// System.debug('Locale: ' + locale); | ||
// System.debug('Title: ' + title); | ||
HttpRequest httpRequest = new HttpRequest(); | ||
|
||
String sessionId = UserInfo.getSessionId(); | ||
httpRequest.setMethod('POST'); | ||
httpRequest.setEndpoint( | ||
URL.getOrgDomainUrl().toExternalForm() + | ||
CREATE_SERVICE_DOCUMENT_ACTION_PATH | ||
); | ||
httpRequest.setHeader( | ||
AUTHORIZATION_HEADER, | ||
AUTHORIZATION_BEARER_PREFIX + sessionId | ||
); | ||
httpRequest.setHeader(CONTENT_TYPE_HEADER, CONTENT_TYPE_JSON); | ||
httpRequest.setHeader(ACCEPT_HEADER, CONTENT_TYPE_JSON); | ||
|
||
HttpRequest httpRequest = new HttpRequest(); | ||
JSONGenerator jg = JSON.createGenerator(false); | ||
jg.writeStartObject(); | ||
jg.writeFieldName('inputs'); | ||
jg.writeStartArray(); | ||
|
||
httpRequest.setMethod('POST'); | ||
httpRequest.setEndpoint(URL.getOrgDomainUrl().toExternalForm() + CREATE_SERVICE_DOCUMENT_ACTION_PATH); | ||
httpRequest.setHeader(AUTHORIZATION_HEADER, AUTHORIZATION_BEARER_PREFIX + sessionId); | ||
httpRequest.setHeader(CONTENT_TYPE_HEADER, CONTENT_TYPE_JSON); | ||
httpRequest.setHeader(ACCEPT_HEADER, CONTENT_TYPE_JSON); | ||
|
||
JSONGenerator jg = JSON.createGenerator(false); | ||
jg.writeStartObject(); | ||
jg.writeFieldName('inputs'); | ||
jg.writeStartArray(); | ||
|
||
jg.writeStartObject(); | ||
jg.writeObjectField('recordId', recordId); | ||
jg.writeObjectField('templateId', templateId); | ||
if (locale != null) { | ||
jg.writeObjectField('locale', locale); | ||
} | ||
if (title != null) { | ||
jg.writeObjectField('title', title); | ||
} | ||
jg.writeEndObject(); | ||
jg.writeEndArray(); | ||
jg.writeEndObject(); | ||
jg.writeStartObject(); | ||
jg.writeObjectField('recordId', recordId); | ||
jg.writeObjectField('templateId', templateId); | ||
if (locale != null) { | ||
jg.writeObjectField('locale', locale); | ||
} | ||
if (title != null) { | ||
jg.writeObjectField('title', title); | ||
} | ||
jg.writeEndObject(); | ||
jg.writeEndArray(); | ||
jg.writeEndObject(); | ||
|
||
httpRequest.setBody( jg.getAsString() ); | ||
httpRequest.setBody(jg.getAsString()); | ||
|
||
Http http = new Http(); | ||
HttpResponse response = http.send(httpRequest); | ||
System.debug(response.getBody()); | ||
} | ||
} | ||
Http http = new Http(); | ||
HttpResponse response = http.send(httpRequest); | ||
System.debug(response.getBody()); | ||
} | ||
} |
4 changes: 2 additions & 2 deletions
4
...ples/force-app/main/default/classes/FireCreateServiceDocumentInvocableAction.cls-meta.xml
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,5 +1,5 @@ | ||
<?xml version="1.0" encoding="UTF-8"?> | ||
<?xml version="1.0" encoding="UTF-8" ?> | ||
<ApexClass xmlns="http://soap.sforce.com/2006/04/metadata"> | ||
<apiVersion>58.0</apiVersion> | ||
<status>Active</status> | ||
</ApexClass> | ||
</ApexClass> |
Oops, something went wrong.
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
You added these to the ignore file, but then allowed Prettier to format them anyway. If Prettier formatting is working out for these files, I'd suggest to just allow their formatting to be verified/fixed, rather than adding entries to
.prettierignore
.If you are going to stick with the formatting exceptions, I'd propose you should do it for all of the files of these types rather than specific instances of them, e.g.
**/*.cls
. The decision to exempt files from formatting would typically be borne out of a desire not to do formatting for specific file types.There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
prettier is working with these files, and I do have format them using prettier,
but, I have to install a version of 18 or higher version of java jdk.
So, I ignore them in case the customer have this dependency confilct.
Let me update it to ignore all then.