public with sharing class ArticlesUtils { @AuraEnabled public static List<Knowledge__kav> getAllArticles(){ return [ SELECT Id, KnowledgeArticleId, Title, UrlName FROM Knowledge__kav ]; } @AuraEnabled public static String createNewArticleAsADraft(String title, String urlName) { Knowledge__kav newArticle = new Knowledge__kav(); newArticle.Title = title; newArticle.UrlName = urlName; insert newArticle; return [SELECT KnowledgeArticleId FROM Knowledge__kav WHERE Id =: newArticle.Id].KnowledgeArticleId; } @AuraEnabled public static void publishArticle(String recordId) { //It need to be KnowledgeArticleId KbManagement.PublishingService.publishArticle(recordId, true); } @AuraEnabled public static String unPublishArticle(String recordId){ //It need to be KnowledgeArticleId String newArticleId = KbManagement.PublishingService.editOnlineArticle(recordId, true); return [SELECT KnowledgeArticleId FROM Knowledge__kav WHERE Id =: newArticleId].KnowledgeArticleId; } @AuraEnabled public static String updateDraftArticleWithoutPublish(String title, String urlName, Id recordId) { Knowledge__kav newArticle = [ SELECT Id, KnowledgeArticleId, Title, UrlName FROM Knowledge__kav WHERE KnowledgeArticleId =: recordId ]; newArticle.Title = title; newArticle.UrlName = urlName; update newArticle; return newArticle.KnowledgeArticleId; } @AuraEnabled public static String updatetArticle(String title, String urlName, Id recordId) { String newVersionId = unPublishArticle(recordId); Knowledge__kav newArticle = [ SELECT Id, KnowledgeArticleId, Title, UrlName FROM Knowledge__kav WHERE KnowledgeArticleId =: newVersionId ]; newArticle.Title = title; newArticle.UrlName = urlName; update newArticle; publishArticle(newVersionId); return newVersionId; } }
Preview:
downloadDownload PNG
downloadDownload JPEG
downloadDownload SVG
Tip: You can change the style, width & colours of the snippet with the inspect tool before clicking Download!
Click to optimize width for Twitter