activator-oce-exporter
Version:
Extract Activator binder and convert it to valid OCE mono pacakge
87 lines (74 loc) • 2.36 kB
JavaScript
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 };