d0b28e8c2149fd7093970eee273a1ad04e1c8532
[motion2.git] / server / api / intZendeskField / intZendeskField.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 _0xad7c=['to-csv','ejs','lodash','squel','jsforce','desk.js','querystring','papaparse','ioredis','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/logger','api','../../config/utils','../../config/environment','../../mysqldb','status','end','json','offset','undefined','limit','count','set','Content-Range','apply','reject','then','destroy','sendStatus','error','stack','name','index','map','rawAttributes','fieldName','type','key','model','query','filters','intersection','attributes','fields','hasOwnProperty','nolimit','order','sort','where','pick','merge','options','ZendeskField','findAll','rows','catch','show','params','keys','length','include','create','update','body','eml-format','rimraf','zip-dir','fast-json-patch','request-promise','bluebird','mustache','util','path','sox'];(function(_0x321bb2,_0x202794){var _0x9c12ed=function(_0x263dd3){while(--_0x263dd3){_0x321bb2['push'](_0x321bb2['shift']());}};_0x9c12ed(++_0x202794);}(_0xad7c,0x8c));var _0xcad7=function(_0x42951f,_0x3bfc37){_0x42951f=_0x42951f-0x0;var _0xa793a0=_0xad7c[_0x42951f];return _0xa793a0;};'use strict';var emlformat=require(_0xcad7('0x0'));var rimraf=require(_0xcad7('0x1'));var zipdir=require(_0xcad7('0x2'));var jsonpatch=require(_0xcad7('0x3'));var rp=require(_0xcad7('0x4'));var moment=require('moment');var BPromise=require(_0xcad7('0x5'));var Mustache=require(_0xcad7('0x6'));var util=require(_0xcad7('0x7'));var path=require(_0xcad7('0x8'));var sox=require(_0xcad7('0x9'));var csv=require(_0xcad7('0xa'));var ejs=require(_0xcad7('0xb'));var fs=require('fs');var fs_extra=require('fs-extra');var _=require(_0xcad7('0xc'));var squel=require(_0xcad7('0xd'));var crypto=require('crypto');var jsforce=require(_0xcad7('0xe'));var deskjs=require(_0xcad7('0xf'));var toCsv=require(_0xcad7('0xa'));var querystring=require(_0xcad7('0x10'));var Papa=require(_0xcad7('0x11'));var Redis=require(_0xcad7('0x12'));var authService=require('../../components/auth/service');var qs=require(_0xcad7('0x13'));var as=require(_0xcad7('0x14'));var hardwareService=require('../../config/license/hardware');var logger=require(_0xcad7('0x15'))(_0xcad7('0x16'));var utils=require(_0xcad7('0x17'));var config=require(_0xcad7('0x18'));var licenseUtil=require('../../config/license/util');var db=require(_0xcad7('0x19'))['db'];function respondWithStatusCode(_0x140455,_0x23fbd1){_0x23fbd1=_0x23fbd1||0xcc;return function(_0x1bdcd9){if(_0x1bdcd9){return _0x140455['sendStatus'](_0x23fbd1);}return _0x140455[_0xcad7('0x1a')](_0x23fbd1)[_0xcad7('0x1b')]();};}function respondWithResult(_0x1d20dd,_0x12a8f5){_0x12a8f5=_0x12a8f5||0xc8;return function(_0x159f6f){if(_0x159f6f){return _0x1d20dd[_0xcad7('0x1a')](_0x12a8f5)[_0xcad7('0x1c')](_0x159f6f);}};}function respondWithFilteredResult(_0x302698,_0x258483){return function(_0x4b1af4){if(_0x4b1af4){var _0x22d201=typeof _0x258483[_0xcad7('0x1d')]===_0xcad7('0x1e')&&typeof _0x258483[_0xcad7('0x1f')]===_0xcad7('0x1e');var _0x42c5a9=_0x4b1af4[_0xcad7('0x20')];var _0x3d9789=_0x22d201?0x0:_0x258483[_0xcad7('0x1d')];var _0x3c2196=_0x22d201?_0x4b1af4[_0xcad7('0x20')]:_0x258483[_0xcad7('0x1d')]+_0x258483[_0xcad7('0x1f')];var _0xf6f633;if(_0x3c2196>=_0x42c5a9){_0x3c2196=_0x42c5a9;_0xf6f633=0xc8;}else{_0xf6f633=0xce;}_0x302698[_0xcad7('0x1a')](_0xf6f633);return _0x302698[_0xcad7('0x21')](_0xcad7('0x22'),_0x3d9789+'-'+_0x3c2196+'/'+_0x42c5a9)[_0xcad7('0x1c')](_0x4b1af4);}return null;};}function patchUpdates(_0xcb03c4){return function(_0x5c1765){try{jsonpatch[_0xcad7('0x23')](_0x5c1765,_0xcb03c4,!![]);}catch(_0x311065){return BPromise[_0xcad7('0x24')](_0x311065);}return _0x5c1765['save']();};}function saveUpdates(_0x2a7b8a,_0x443a67){return function(_0x5f3edd){if(_0x5f3edd){return _0x5f3edd['update'](_0x2a7b8a)[_0xcad7('0x25')](function(_0x406acc){return _0x406acc;});}return null;};}function removeEntity(_0x36b9b1,_0x4b055f){return function(_0x4e6b69){if(_0x4e6b69){return _0x4e6b69[_0xcad7('0x26')]()[_0xcad7('0x25')](function(){_0x36b9b1[_0xcad7('0x1a')](0xcc)[_0xcad7('0x1b')]();});}};}function handleEntityNotFound(_0x160f7a,_0x402df9){return function(_0x1f7e71){if(!_0x1f7e71){_0x160f7a[_0xcad7('0x27')](0x194);}return _0x1f7e71;};}function handleError(_0x388407,_0x2f8a78){_0x2f8a78=_0x2f8a78||0x1f4;return function(_0x52fb54){logger[_0xcad7('0x28')](_0x52fb54[_0xcad7('0x29')]);if(_0x52fb54[_0xcad7('0x2a')]){delete _0x52fb54['name'];}_0x388407[_0xcad7('0x1a')](_0x2f8a78)['send'](_0x52fb54);};}exports[_0xcad7('0x2b')]=function(_0x567e7a,_0x39f763){var _0x274041={},_0x47db8a={},_0x6433cc={'count':0x0,'rows':[]};var _0x2301ee=_[_0xcad7('0x2c')](db['ZendeskField'][_0xcad7('0x2d')],function(_0x17857b){return{'name':_0x17857b[_0xcad7('0x2e')],'type':_0x17857b[_0xcad7('0x2f')][_0xcad7('0x30')]};});_0x47db8a[_0xcad7('0x31')]=_['map'](_0x2301ee,_0xcad7('0x2a'));_0x47db8a[_0xcad7('0x32')]=_['keys'](_0x567e7a[_0xcad7('0x32')]);_0x47db8a[_0xcad7('0x33')]=_[_0xcad7('0x34')](_0x47db8a[_0xcad7('0x31')],_0x47db8a[_0xcad7('0x32')]);_0x274041[_0xcad7('0x35')]=_[_0xcad7('0x34')](_0x47db8a['model'],qs[_0xcad7('0x36')](_0x567e7a[_0xcad7('0x32')]['fields']));_0x274041[_0xcad7('0x35')]=_0x274041[_0xcad7('0x35')]['length']?_0x274041[_0xcad7('0x35')]:_0x47db8a[_0xcad7('0x31')];if(!_0x567e7a[_0xcad7('0x32')][_0xcad7('0x37')](_0xcad7('0x38'))){_0x274041[_0xcad7('0x1f')]=qs[_0xcad7('0x1f')](_0x567e7a[_0xcad7('0x32')]['limit']);_0x274041[_0xcad7('0x1d')]=qs[_0xcad7('0x1d')](_0x567e7a[_0xcad7('0x32')][_0xcad7('0x1d')]);}_0x274041[_0xcad7('0x39')]=qs[_0xcad7('0x3a')](_0x567e7a[_0xcad7('0x32')][_0xcad7('0x3a')]);_0x274041[_0xcad7('0x3b')]=qs['filters'](_[_0xcad7('0x3c')](_0x567e7a[_0xcad7('0x32')],_0x47db8a[_0xcad7('0x33')]),_0x2301ee);if(_0x567e7a[_0xcad7('0x32')]['filter']){_0x274041[_0xcad7('0x3b')]=_[_0xcad7('0x3d')](_0x274041[_0xcad7('0x3b')],{'$or':_[_0xcad7('0x2c')](_0x2301ee,function(_0x665fc9){if(_0x665fc9['type']!=='VIRTUAL'){var _0x5c7d11={};_0x5c7d11[_0x665fc9[_0xcad7('0x2a')]]={'$like':'%'+_0x567e7a['query']['filter']+'%'};return _0x5c7d11;}})});}_0x274041=_[_0xcad7('0x3d')]({},_0x274041,_0x567e7a[_0xcad7('0x3e')]);var _0x2e55cb={'where':_0x274041[_0xcad7('0x3b')]};return db[_0xcad7('0x3f')][_0xcad7('0x20')](_0x2e55cb)['then'](function(_0x87c2f){_0x6433cc[_0xcad7('0x20')]=_0x87c2f;if(_0x567e7a[_0xcad7('0x32')]['includeAll']){_0x274041['include']=[{'all':!![]}];}return db[_0xcad7('0x3f')][_0xcad7('0x40')](_0x274041);})[_0xcad7('0x25')](function(_0x5d97c7){_0x6433cc[_0xcad7('0x41')]=_0x5d97c7;return _0x6433cc;})[_0xcad7('0x25')](respondWithFilteredResult(_0x39f763,_0x274041))[_0xcad7('0x42')](handleError(_0x39f763,null));};exports[_0xcad7('0x43')]=function(_0x29b16b,_0x44ba1a){var _0xcd055a={'raw':!![],'where':{'id':_0x29b16b[_0xcad7('0x44')]['id']}},_0x21b305={};_0x21b305[_0xcad7('0x31')]=_[_0xcad7('0x45')](db[_0xcad7('0x3f')][_0xcad7('0x2d')]);_0x21b305['query']=_['keys'](_0x29b16b[_0xcad7('0x32')]);_0x21b305[_0xcad7('0x33')]=_[_0xcad7('0x34')](_0x21b305[_0xcad7('0x31')],_0x21b305['query']);_0xcd055a[_0xcad7('0x35')]=_[_0xcad7('0x34')](_0x21b305[_0xcad7('0x31')],qs[_0xcad7('0x36')](_0x29b16b[_0xcad7('0x32')][_0xcad7('0x36')]));_0xcd055a[_0xcad7('0x35')]=_0xcd055a[_0xcad7('0x35')][_0xcad7('0x46')]?_0xcd055a[_0xcad7('0x35')]:_0x21b305['model'];if(_0x29b16b[_0xcad7('0x32')]['includeAll']){_0xcd055a[_0xcad7('0x47')]=[{'all':!![]}];}_0xcd055a=_[_0xcad7('0x3d')]({},_0xcd055a,_0x29b16b['options']);return db[_0xcad7('0x3f')]['find'](_0xcd055a)[_0xcad7('0x25')](handleEntityNotFound(_0x44ba1a,null))[_0xcad7('0x25')](respondWithResult(_0x44ba1a,null))[_0xcad7('0x42')](handleError(_0x44ba1a,null));};exports['create']=function(_0x44021e,_0x4e1c34){return db[_0xcad7('0x3f')][_0xcad7('0x48')](_0x44021e['body'],{})[_0xcad7('0x25')](respondWithResult(_0x4e1c34,0xc9))[_0xcad7('0x42')](handleError(_0x4e1c34,null));};exports[_0xcad7('0x49')]=function(_0x4b8293,_0x33c291){if(_0x4b8293['body']['id']){delete _0x4b8293[_0xcad7('0x4a')]['id'];}return db[_0xcad7('0x3f')]['find']({'where':{'id':_0x4b8293[_0xcad7('0x44')]['id']}})[_0xcad7('0x25')](handleEntityNotFound(_0x33c291,null))[_0xcad7('0x25')](saveUpdates(_0x4b8293[_0xcad7('0x4a')],null))['then'](respondWithResult(_0x33c291,null))[_0xcad7('0x42')](handleError(_0x33c291,null));};exports[_0xcad7('0x26')]=function(_0x533274,_0x332aa9){return db[_0xcad7('0x3f')]['find']({'where':{'id':_0x533274[_0xcad7('0x44')]['id']}})[_0xcad7('0x25')](handleEntityNotFound(_0x332aa9,null))[_0xcad7('0x25')](removeEntity(_0x332aa9,null))[_0xcad7('0x42')](handleError(_0x332aa9,null));};