Built motion from commit (unavailable).|2.5.30
[motion2.git] / server / api / intZohoAccount / intZohoAccount.controller.js
1 // *************************************************************************
2 // *                                                                       *
3 // * xCALLY Motion -  The Omnichannel Contact Center                       *
4 // * Copyright (c) Xenialab s.r.l. All Rights Reserved                     *
5 // *                                                                       *
6 // *************************************************************************
7 // *                                                                       *
8 // * Email: info@xcally.com                                                *
9 // * Website: https://www.xcally.com                                       *
10 // *                                                                       *
11 // *************************************************************************
12 // *                                                                       *
13 // * The SOFTWARE PRODUCT is protected by copyright laws and international *
14 // * copyright treaties, as well as other intellectual property laws and   *
15 // * treaties. The SOFTWARE PRODUCT is licensed, not sold.                         *
16 // *                                                                       *
17 // *************************************************************************
18 var _0x0e9e=['code','message','result','sendStatus','end','status','json','offset','undefined','count','set','Content-Range','apply','update','then','destroy','stack','name','send','map','ZohoAccount','rawAttributes','fieldName','type','key','filters','intersection','model','query','attributes','fields','length','hasOwnProperty','nolimit','limit','order','sort','where','filter','merge','includeAll','include','findAll','params','keys','catch','create','body','find','getConfigurations','findOne','ZohoConfiguration','pick','options','addConfiguration','AccountId','Subjects','getSubjects','channel','Descriptions','getDescriptions','ZohoField','zone','https://accounts.zoho.com','https://accounts.zoho.com.au','https://accounts.zoho.in','https://accounts.zoho.com.cn','refreshToken','clientId','clientSecret','refresh_token','access_token','Unable\x20to\x20retrieve\x20the\x20access\x20token','host','zoho.eu','com','serverUrl','substring','Refresh\x20Token\x20not\x20available\x20for\x20the\x20account','GET','format','https://www.zohoapis.%s/crm/v2/settings/fields','Calls','Zoho-oauthtoken\x20','response','Owner','Description','WhoId','Call_Duration','Call_Result','Call_Start_Time','remove','api_name','push','display_label','data_type','picklist','pick_list_values','test','getFields','Wrong\x20credentials','statusCode','eml-format','rimraf','zip-dir','fast-json-patch','request-promise','moment','util','path','sox','to-csv','fs-extra','squel','crypto','desk.js','querystring','ioredis','../../components/auth/service','../../components/parsers/advancedSearch','../../config/logger','api','../../config/utils','../../config/environment','../../config/license/util','../../components/integrations/configuration','jayson/promise','client','http','info','ZohoAccount,\x20%s,\x20%s','request\x20sent','debug','stringify','error'];(function(_0x46283b,_0x150d6b){var _0x2f3c51=function(_0x3a4d61){while(--_0x3a4d61){_0x46283b['push'](_0x46283b['shift']());}};_0x2f3c51(++_0x150d6b);}(_0x0e9e,0x174));var _0xe0e9=function(_0x19fe25,_0x325036){_0x19fe25=_0x19fe25-0x0;var _0x148114=_0x0e9e[_0x19fe25];return _0x148114;};'use strict';var emlformat=require(_0xe0e9('0x0'));var rimraf=require(_0xe0e9('0x1'));var zipdir=require(_0xe0e9('0x2'));var jsonpatch=require(_0xe0e9('0x3'));var rp=require(_0xe0e9('0x4'));var moment=require(_0xe0e9('0x5'));var BPromise=require('bluebird');var Mustache=require('mustache');var util=require(_0xe0e9('0x6'));var path=require(_0xe0e9('0x7'));var sox=require(_0xe0e9('0x8'));var csv=require(_0xe0e9('0x9'));var ejs=require('ejs');var fs=require('fs');var fs_extra=require(_0xe0e9('0xa'));var _=require('lodash');var squel=require(_0xe0e9('0xb'));var crypto=require(_0xe0e9('0xc'));var jsforce=require('jsforce');var deskjs=require(_0xe0e9('0xd'));var toCsv=require(_0xe0e9('0x9'));var querystring=require(_0xe0e9('0xe'));var Papa=require('papaparse');var Redis=require(_0xe0e9('0xf'));var authService=require(_0xe0e9('0x10'));var qs=require('../../components/parsers/qs');var as=require(_0xe0e9('0x11'));var hardwareService=require('../../config/license/hardware');var logger=require(_0xe0e9('0x12'))(_0xe0e9('0x13'));var utils=require(_0xe0e9('0x14'));var config=require(_0xe0e9('0x15'));var licenseUtil=require(_0xe0e9('0x16'));var db=require('../../mysqldb')['db'];var integrations=require(_0xe0e9('0x17'));var jayson=require(_0xe0e9('0x18'));var client=jayson[_0xe0e9('0x19')][_0xe0e9('0x1a')]({'port':0x232a});function respondWithRpcPromise(_0x5cd31a,_0x4637e7,_0x3d0d3b,_0x4ab49c){return new BPromise(function(_0x455bde,_0x2ea7d8){var _0x369234=_0x4ab49c||client;return _0x369234['request'](_0x5cd31a,_0x3d0d3b)['then'](function(_0x3bcbad){logger[_0xe0e9('0x1b')](_0xe0e9('0x1c'),_0x4637e7,_0xe0e9('0x1d'));logger[_0xe0e9('0x1e')]('ZohoAccount,\x20%s,\x20%s,\x20%s',_0x4637e7,_0xe0e9('0x1d'),JSON[_0xe0e9('0x1f')](_0x3bcbad));if(_0x3bcbad[_0xe0e9('0x20')]){if(_0x3bcbad[_0xe0e9('0x20')][_0xe0e9('0x21')]===0x1f4){logger[_0xe0e9('0x20')]('ZohoAccount,\x20%s,\x20%s',_0x4637e7,_0x3bcbad[_0xe0e9('0x20')]['message']);return _0x2ea7d8(_0x3bcbad['error'][_0xe0e9('0x22')]);}logger[_0xe0e9('0x20')](_0xe0e9('0x1c'),_0x4637e7,_0x3bcbad['error'][_0xe0e9('0x22')]);return _0x455bde(_0x3bcbad[_0xe0e9('0x20')]['message']);}else{logger[_0xe0e9('0x1b')](_0xe0e9('0x1c'),_0x4637e7,_0xe0e9('0x1d'));_0x455bde(_0x3bcbad[_0xe0e9('0x23')][_0xe0e9('0x22')]);}})['catch'](function(_0x45bb54){logger[_0xe0e9('0x20')]('ZohoAccount,\x20%s,\x20%s',_0x4637e7,_0x45bb54);_0x2ea7d8(_0x45bb54);});});}function respondWithStatusCode(_0x3645ae,_0x2054d1){_0x2054d1=_0x2054d1||0xcc;return function(_0x2595da){if(_0x2595da){return _0x3645ae[_0xe0e9('0x24')](_0x2054d1);}return _0x3645ae['status'](_0x2054d1)[_0xe0e9('0x25')]();};}function respondWithResult(_0x3bee79,_0x1758d0){_0x1758d0=_0x1758d0||0xc8;return function(_0x1045f0){if(_0x1045f0){return _0x3bee79[_0xe0e9('0x26')](_0x1758d0)[_0xe0e9('0x27')](_0x1045f0);}};}function respondWithFilteredResult(_0x49b849,_0x514356){return function(_0x15ae1d){if(_0x15ae1d){var _0x1cfda8=typeof _0x514356[_0xe0e9('0x28')]==='undefined'&&typeof _0x514356['limit']===_0xe0e9('0x29');var _0x1fa006=_0x15ae1d[_0xe0e9('0x2a')];var _0xbb0525=_0x1cfda8?0x0:_0x514356[_0xe0e9('0x28')];var _0x20ec49=_0x1cfda8?_0x15ae1d[_0xe0e9('0x2a')]:_0x514356[_0xe0e9('0x28')]+_0x514356['limit'];var _0x5e80ea;if(_0x20ec49>=_0x1fa006){_0x20ec49=_0x1fa006;_0x5e80ea=0xc8;}else{_0x5e80ea=0xce;}_0x49b849['status'](_0x5e80ea);return _0x49b849[_0xe0e9('0x2b')](_0xe0e9('0x2c'),_0xbb0525+'-'+_0x20ec49+'/'+_0x1fa006)[_0xe0e9('0x27')](_0x15ae1d);}return null;};}function patchUpdates(_0x53577c){return function(_0x4dea61){try{jsonpatch[_0xe0e9('0x2d')](_0x4dea61,_0x53577c,!![]);}catch(_0x8e6ec0){return BPromise['reject'](_0x8e6ec0);}return _0x4dea61['save']();};}function saveUpdates(_0x107cde,_0x3ccf79){return function(_0x459a3a){if(_0x459a3a){return _0x459a3a[_0xe0e9('0x2e')](_0x107cde)[_0xe0e9('0x2f')](function(_0x5e6b08){return _0x5e6b08;});}return null;};}function removeEntity(_0x4472c1,_0x216ca0){return function(_0x416094){if(_0x416094){return _0x416094[_0xe0e9('0x30')]()[_0xe0e9('0x2f')](function(){_0x4472c1[_0xe0e9('0x26')](0xcc)[_0xe0e9('0x25')]();});}};}function handleEntityNotFound(_0x2e0954,_0x4cf98a){return function(_0x189b6b){if(!_0x189b6b){_0x2e0954['sendStatus'](0x194);}return _0x189b6b;};}function handleError(_0x2aacf9,_0x3512a6){_0x3512a6=_0x3512a6||0x1f4;return function(_0x59f328){logger[_0xe0e9('0x20')](_0x59f328[_0xe0e9('0x31')]);if(_0x59f328[_0xe0e9('0x32')]){delete _0x59f328['name'];}_0x2aacf9[_0xe0e9('0x26')](_0x3512a6)[_0xe0e9('0x33')](_0x59f328);};}exports['index']=function(_0x4438d9,_0x220b77){var _0x59df89={},_0x262f66={},_0x580b4f={'count':0x0,'rows':[]};var _0x1b4ff3=_[_0xe0e9('0x34')](db[_0xe0e9('0x35')][_0xe0e9('0x36')],function(_0x2e5e26){return{'name':_0x2e5e26[_0xe0e9('0x37')],'type':_0x2e5e26[_0xe0e9('0x38')][_0xe0e9('0x39')]};});_0x262f66['model']=_['map'](_0x1b4ff3,_0xe0e9('0x32'));_0x262f66['query']=_['keys'](_0x4438d9['query']);_0x262f66[_0xe0e9('0x3a')]=_[_0xe0e9('0x3b')](_0x262f66[_0xe0e9('0x3c')],_0x262f66[_0xe0e9('0x3d')]);_0x59df89[_0xe0e9('0x3e')]=_[_0xe0e9('0x3b')](_0x262f66[_0xe0e9('0x3c')],qs[_0xe0e9('0x3f')](_0x4438d9[_0xe0e9('0x3d')][_0xe0e9('0x3f')]));_0x59df89[_0xe0e9('0x3e')]=_0x59df89[_0xe0e9('0x3e')][_0xe0e9('0x40')]?_0x59df89[_0xe0e9('0x3e')]:_0x262f66[_0xe0e9('0x3c')];if(!_0x4438d9[_0xe0e9('0x3d')][_0xe0e9('0x41')](_0xe0e9('0x42'))){_0x59df89[_0xe0e9('0x43')]=qs[_0xe0e9('0x43')](_0x4438d9['query'][_0xe0e9('0x43')]);_0x59df89[_0xe0e9('0x28')]=qs['offset'](_0x4438d9[_0xe0e9('0x3d')]['offset']);}_0x59df89[_0xe0e9('0x44')]=qs[_0xe0e9('0x45')](_0x4438d9[_0xe0e9('0x3d')][_0xe0e9('0x45')]);_0x59df89[_0xe0e9('0x46')]=qs[_0xe0e9('0x3a')](_['pick'](_0x4438d9[_0xe0e9('0x3d')],_0x262f66[_0xe0e9('0x3a')]),_0x1b4ff3);if(_0x4438d9['query'][_0xe0e9('0x47')]){_0x59df89['where']=_[_0xe0e9('0x48')](_0x59df89['where'],{'$or':_[_0xe0e9('0x34')](_0x1b4ff3,function(_0x6283ed){if(_0x6283ed[_0xe0e9('0x38')]!=='VIRTUAL'){var _0x37e6e0={};_0x37e6e0[_0x6283ed['name']]={'$like':'%'+_0x4438d9[_0xe0e9('0x3d')][_0xe0e9('0x47')]+'%'};return _0x37e6e0;}})});}_0x59df89=_['merge']({},_0x59df89,_0x4438d9['options']);var _0x3b5a0b={'where':_0x59df89[_0xe0e9('0x46')]};return db['ZohoAccount'][_0xe0e9('0x2a')](_0x3b5a0b)['then'](function(_0x1025e7){_0x580b4f[_0xe0e9('0x2a')]=_0x1025e7;if(_0x4438d9['query'][_0xe0e9('0x49')]){_0x59df89[_0xe0e9('0x4a')]=[{'all':!![]}];}return db['ZohoAccount'][_0xe0e9('0x4b')](_0x59df89);})[_0xe0e9('0x2f')](function(_0x2f8951){_0x580b4f['rows']=_0x2f8951;return _0x580b4f;})['then'](respondWithFilteredResult(_0x220b77,_0x59df89))['catch'](handleError(_0x220b77,null));};exports['show']=function(_0xe7de9d,_0x15c242){var _0x38561e={'raw':![],'where':{'id':_0xe7de9d[_0xe0e9('0x4c')]['id']}},_0x554c5e={};_0x554c5e['model']=_[_0xe0e9('0x4d')](db['ZohoAccount'][_0xe0e9('0x36')]);_0x554c5e[_0xe0e9('0x3d')]=_[_0xe0e9('0x4d')](_0xe7de9d[_0xe0e9('0x3d')]);_0x554c5e['filters']=_[_0xe0e9('0x3b')](_0x554c5e[_0xe0e9('0x3c')],_0x554c5e['query']);_0x38561e[_0xe0e9('0x3e')]=_[_0xe0e9('0x3b')](_0x554c5e[_0xe0e9('0x3c')],qs[_0xe0e9('0x3f')](_0xe7de9d[_0xe0e9('0x3d')][_0xe0e9('0x3f')]));_0x38561e[_0xe0e9('0x3e')]=_0x38561e[_0xe0e9('0x3e')][_0xe0e9('0x40')]?_0x38561e['attributes']:_0x554c5e[_0xe0e9('0x3c')];if(_0xe7de9d[_0xe0e9('0x3d')][_0xe0e9('0x49')]){_0x38561e[_0xe0e9('0x4a')]=[{'all':!![]}];}_0x38561e=_[_0xe0e9('0x48')]({},_0x38561e,_0xe7de9d['options']);return db['ZohoAccount']['find'](_0x38561e)[_0xe0e9('0x2f')](handleEntityNotFound(_0x15c242,null))[_0xe0e9('0x2f')](respondWithResult(_0x15c242,null))[_0xe0e9('0x4e')](handleError(_0x15c242,null));};exports[_0xe0e9('0x4f')]=function(_0x5dbe70,_0x49779c){return db[_0xe0e9('0x35')]['create'](_0x5dbe70[_0xe0e9('0x50')],{})[_0xe0e9('0x2f')](respondWithResult(_0x49779c,0xc9))[_0xe0e9('0x4e')](handleError(_0x49779c,null));};exports[_0xe0e9('0x2e')]=function(_0xde6150,_0xe86e77){if(_0xde6150[_0xe0e9('0x50')]['id']){delete _0xde6150[_0xe0e9('0x50')]['id'];}return db['ZohoAccount']['find']({'where':{'id':_0xde6150[_0xe0e9('0x4c')]['id']}})[_0xe0e9('0x2f')](handleEntityNotFound(_0xe86e77,null))[_0xe0e9('0x2f')](saveUpdates(_0xde6150['body'],null))[_0xe0e9('0x2f')](respondWithResult(_0xe86e77,null))['catch'](handleError(_0xe86e77,null));};exports[_0xe0e9('0x30')]=function(_0x9be60e,_0x1eec4a){return db['ZohoAccount'][_0xe0e9('0x51')]({'where':{'id':_0x9be60e[_0xe0e9('0x4c')]['id']}})[_0xe0e9('0x2f')](handleEntityNotFound(_0x1eec4a,null))[_0xe0e9('0x2f')](removeEntity(_0x1eec4a,null))[_0xe0e9('0x4e')](handleError(_0x1eec4a,null));};exports[_0xe0e9('0x52')]=function(_0x3f5cc4,_0x1b412e,_0x4c1261){var _0x391395={};var _0x6ae08e={};var _0x1d5555;var _0x617beb;return db[_0xe0e9('0x35')][_0xe0e9('0x53')]({'where':{'id':_0x3f5cc4['params']['id']}})[_0xe0e9('0x2f')](handleEntityNotFound(_0x1b412e,null))[_0xe0e9('0x2f')](function(_0x438573){if(_0x438573){_0x1d5555=_0x438573;_0x6ae08e['model']=_[_0xe0e9('0x4d')](db[_0xe0e9('0x54')]['rawAttributes']);_0x6ae08e[_0xe0e9('0x3d')]=_['keys'](_0x3f5cc4[_0xe0e9('0x3d')]);_0x6ae08e[_0xe0e9('0x3a')]=_[_0xe0e9('0x3b')](_0x6ae08e[_0xe0e9('0x3c')],_0x6ae08e['query']);_0x391395[_0xe0e9('0x3e')]=_['intersection'](_0x6ae08e['model'],qs[_0xe0e9('0x3f')](_0x3f5cc4['query'][_0xe0e9('0x3f')]));_0x391395['attributes']=_0x391395[_0xe0e9('0x3e')][_0xe0e9('0x40')]?_0x391395['attributes']:_0x6ae08e['model'];_0x391395[_0xe0e9('0x44')]=qs[_0xe0e9('0x45')](_0x3f5cc4['query'][_0xe0e9('0x45')]);_0x391395[_0xe0e9('0x46')]=qs[_0xe0e9('0x3a')](_[_0xe0e9('0x55')](_0x3f5cc4[_0xe0e9('0x3d')],_0x6ae08e[_0xe0e9('0x3a')]));if(_0x3f5cc4[_0xe0e9('0x3d')][_0xe0e9('0x47')]){_0x391395['where']=_['merge'](_0x391395[_0xe0e9('0x46')],{'$or':_[_0xe0e9('0x34')](_0x391395['attributes'],function(_0x21c359){var _0x2571c7={};_0x2571c7[_0x21c359]={'$like':'%'+_0x3f5cc4[_0xe0e9('0x3d')][_0xe0e9('0x47')]+'%'};return _0x2571c7;})});}_0x391395=_[_0xe0e9('0x48')]({},_0x391395,_0x3f5cc4[_0xe0e9('0x56')]);return _0x1d5555[_0xe0e9('0x52')](_0x391395);}})[_0xe0e9('0x2f')](function(_0x52d37b){if(_0x52d37b){_0x617beb=_0x52d37b[_0xe0e9('0x40')];if(!_0x3f5cc4[_0xe0e9('0x3d')][_0xe0e9('0x41')]('nolimit')){_0x391395[_0xe0e9('0x43')]=qs[_0xe0e9('0x43')](_0x3f5cc4[_0xe0e9('0x3d')][_0xe0e9('0x43')]);_0x391395['offset']=qs[_0xe0e9('0x28')](_0x3f5cc4[_0xe0e9('0x3d')]['offset']);}return _0x1d5555[_0xe0e9('0x52')](_0x391395);}})[_0xe0e9('0x2f')](function(_0x392224){if(_0x392224){return _0x392224?{'count':_0x617beb,'rows':_0x392224}:null;}})[_0xe0e9('0x2f')](respondWithResult(_0x1b412e,null))['catch'](handleError(_0x1b412e,null));};exports[_0xe0e9('0x57')]=function(_0x37457f,_0x380df8,_0x34eb0d){if(_0x37457f[_0xe0e9('0x50')]['id']){delete _0x37457f[_0xe0e9('0x50')]['id'];}return db[_0xe0e9('0x35')]['findOne']({'where':{'id':_0x37457f[_0xe0e9('0x4c')]['id']}})[_0xe0e9('0x2f')](handleEntityNotFound(_0x380df8,null))[_0xe0e9('0x2f')](function(_0x270946){if(_0x270946){_0x37457f['body'][_0xe0e9('0x58')]=_0x270946['id'];_0x37457f[_0xe0e9('0x50')][_0xe0e9('0x59')]=integrations[_0xe0e9('0x5a')](_0x37457f[_0xe0e9('0x50')][_0xe0e9('0x5b')],_0x37457f[_0xe0e9('0x50')][_0xe0e9('0x38')]);_0x37457f[_0xe0e9('0x50')][_0xe0e9('0x5c')]=integrations[_0xe0e9('0x5d')](_0x37457f['body'][_0xe0e9('0x5b')],_0x37457f['body'][_0xe0e9('0x38')]);return db[_0xe0e9('0x54')][_0xe0e9('0x4f')](_0x37457f[_0xe0e9('0x50')],{'include':[{'model':db[_0xe0e9('0x5e')],'as':'Subjects'},{'model':db[_0xe0e9('0x5e')],'as':_0xe0e9('0x5c')}]});}return null;})[_0xe0e9('0x2f')](respondWithResult(_0x380df8,null))[_0xe0e9('0x4e')](handleError(_0x380df8,null));};function getAccessToken(_0x2f8a16){return new Promise(function(_0x325712,_0x2a8597){var _0x1dbe89;switch(_0x2f8a16[_0xe0e9('0x5f')]){case'US':_0x1dbe89=_0xe0e9('0x60');break;case'AU':_0x1dbe89=_0xe0e9('0x61');break;case'EU':_0x1dbe89='https://accounts.zoho.eu';break;case'IN':_0x1dbe89=_0xe0e9('0x62');break;case'CN':_0x1dbe89=_0xe0e9('0x63');break;default:_0x1dbe89='https://accounts.zoho.eu';break;}var _0x4da375={'method':'POST','uri':_0x1dbe89+'/oauth/v2/token','qs':{'refresh_token':_0x2f8a16[_0xe0e9('0x64')],'client_id':_0x2f8a16[_0xe0e9('0x65')],'client_secret':_0x2f8a16[_0xe0e9('0x66')],'grant_type':_0xe0e9('0x67')},'json':!![]};return rp(_0x4da375)[_0xe0e9('0x2f')](function(_0xd8615c){if(_0xd8615c[_0xe0e9('0x68')]){_0x325712(_0xd8615c[_0xe0e9('0x68')]);}else{_0x2a8597(_0xe0e9('0x69'));}})[_0xe0e9('0x4e')](function(_0x2a2402){_0x2a8597(_0x2a2402);});});}exports['getFields']=function(_0xd80690,_0x1a2665,_0x3d1289){var _0x4041c6,_0x3e1f87,_0x26de8c,_0x289895,_0xa8b369;return db[_0xe0e9('0x35')]['findOne']({'where':{'id':_0xd80690[_0xe0e9('0x4c')]['id']},'attributes':['id',_0xe0e9('0x6a'),_0xe0e9('0x5f'),_0xe0e9('0x65'),'clientSecret','serverUrl',_0xe0e9('0x21'),_0xe0e9('0x64')]})['then'](handleEntityNotFound(_0x1a2665,null))[_0xe0e9('0x2f')](function(_0x30dcfc){_0xa8b369=_0x30dcfc;_0x4041c6=_0xa8b369['host'];_0x3e1f87=_0x4041c6===_0xe0e9('0x6b')?'eu':_0xe0e9('0x6c');_0x26de8c=_0xa8b369[_0xe0e9('0x6d')];var _0xdf1d8e=_0x26de8c['slice'](-0x1);if(_0xdf1d8e==='/'||_0xdf1d8e==='\x5c'||_0xdf1d8e===':'){_0x26de8c=_0x26de8c[_0xe0e9('0x6e')](0x0,_0x26de8c['lastIndexOf'](_0xdf1d8e));}if(!_0xa8b369[_0xe0e9('0x64')]){throw new Error(_0xe0e9('0x6f'));}return getAccessToken(_0xa8b369);})[_0xe0e9('0x2f')](function(_0x36552a){if(_0x36552a){return rp({'method':_0xe0e9('0x70'),'uri':util[_0xe0e9('0x71')](_0xe0e9('0x72'),_0x3e1f87),'qs':{'module':_0xe0e9('0x73')},'headers':{'Authorization':_0xe0e9('0x74')+_0x36552a},'json':!![]});}})[_0xe0e9('0x2f')](function(_0x1c3ad5){if(_0x1c3ad5){if(_0x1c3ad5[_0xe0e9('0x75')]&&_0x1c3ad5['response'][_0xe0e9('0x20')]){throw new Error(_0x1c3ad5[_0xe0e9('0x75')][_0xe0e9('0x20')][_0xe0e9('0x22')]);}var _0x167281=[];var _0x52627b=[];var _0x558e9e=[_0xe0e9('0x76'),'Subject',_0xe0e9('0x77'),_0xe0e9('0x78'),_0xe0e9('0x79'),_0xe0e9('0x7a'),_0xe0e9('0x7b'),'Call_Type'];_0x52627b=_[_0xe0e9('0x7c')](_0x1c3ad5['fields'],function(_0x3f762a){return _0x558e9e['includes'](_0x3f762a[_0xe0e9('0x7d')]);});for(var _0x71b71f=0x0;_0x71b71f<_0x52627b[_0xe0e9('0x40')];_0x71b71f++){if(_0x52627b[_0x71b71f]['system_mandatory']===![]){_0x167281[_0xe0e9('0x7e')]({'id':_0x52627b[_0x71b71f]['id'],'name':_0x52627b[_0x71b71f][_0xe0e9('0x7f')],'custom':_0x52627b[_0x71b71f]['custom_field'],'options':_0x52627b[_0x71b71f][_0xe0e9('0x80')]===_0xe0e9('0x81')&&_0x52627b[_0x71b71f][_0xe0e9('0x82')][_0xe0e9('0x40')]>-0x1?_[_0xe0e9('0x34')](_0x52627b[_0x71b71f]['pick_list_values'],function(_0x41b1a8){return{'name':_0x41b1a8,'value':_0x41b1a8};}):[]});}}return{'count':_0x167281[_0xe0e9('0x40')],'rows':_0x167281};}else{return{'count':0x0,'rows':[]};}})[_0xe0e9('0x2f')](respondWithResult(_0x1a2665,null))[_0xe0e9('0x4e')](function(_0x409e19){var _0x37cf45=_0xd80690[_0xe0e9('0x3d')][_0xe0e9('0x83')]?0x1f4:_0x409e19['statusCode']||0x1f4;logger[_0xe0e9('0x20')]('getFields,\x20%s,\x20%s,\x20%s',_0xe0e9('0x84'),_0x37cf45,JSON[_0xe0e9('0x1f')](_0x409e19));delete _0x409e19[_0xe0e9('0x32')];if(_0x37cf45===0x191){_0x37cf45=0x190;}_0x1a2665['status'](_0x37cf45)['send'](_0xd80690[_0xe0e9('0x3d')][_0xe0e9('0x83')]?{'message':_0xe0e9('0x85'),'statusCode':_0x409e19[_0xe0e9('0x86')]}:_0x409e19);});};