UNPKG

activator-oce-exporter

Version:

Extract Activator binder and convert it to valid OCE mono pacakge

87 lines (74 loc) 2.36 kB
class VeevaData { constructor() { this.objConfig = { Presentation: { obj: 'Presentation', field: ['ID', 'Vault_External_Id_vod__c', 'Presentation_Id_vod__c'], }, KeyMessage: { obj: 'KeyMessage', field: ['ID'], }, Key_Message_vod__c: { obj: 'Key_Message_vod__c', field: ['ID', 'Name', 'Vault_External_Id_vod__c'], where: data => (data ? `WHERE ID ='${data}'` : ''), }, Clm_Presentation_Slide_vod__c: { obj: 'Clm_Presentation_Slide_vod__c', field: ['ID', 'Clm_Presentation_vod__c', 'Key_Message_vod__c'], where: data => (data ? `WHERE Clm_Presentation_vod__c ='${data}'` : ''), }, }; } getDataForCurrentObject(obj, field) { const objData = this.objConfig[obj]; return new Promise((resolve, reject) => { com.veeva.clm.getDataForCurrentObject(objData.obj, field, (result) => { if (result.success) { resolve(result[objData.obj][field]); } else { reject(result.message); } }); }); } queryRecord(obj, data) { const objData = this.objConfig[obj]; return new Promise((resolve, reject) => { com.veeva.clm.queryRecord(objData.obj, objData.field, objData.where(data), [], '', (result) => { if (result.success) { resolve(result[obj]); } else { reject(result.message); } }); }); } getCurrentPresentationExternalId() { return this.getDataForCurrentObject('Presentation', 'Vault_External_Id_vod__c'); } getCurrentPresentationMultichannelId() { return this.getDataForCurrentObject('Presentation', 'Presentation_Id_vod__c'); } getCurrentPresentationId() { return this.getDataForCurrentObject('Presentation', 'ID'); } getCurrentPresentationName() { return this.getDataForCurrentObject('Presentation', 'Name'); } getCurrentKeyMessageId() { return this.getDataForCurrentObject('KeyMessage', 'ID'); } getCurrentKeyMessageName() { return this.getDataForCurrentObject('KeyMessage', 'Name'); } getCurrentPresentationSlides(Id) { return this.queryRecord('Clm_Presentation_Slide_vod__c', Id); } getKeyMessageData(Id) { return this.queryRecord('Key_Message_vod__c', Id); } } const veevaData = new VeevaData(); export { veevaData };