18565068f2a4b9c97e5cb57be89a70fae7514756
[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 _0xa122=['../../config/utils','../../config/license/util','../../mysqldb','sendStatus','end','json','offset','limit','count','status','set','Content-Range','apply','reject','save','update','then','destroy','error','stack','name','send','index','rawAttributes','fieldName','type','key','model','map','query','keys','intersection','attributes','fields','length','hasOwnProperty','nolimit','order','sort','where','pick','filters','filter','merge','VIRTUAL','options','include','findAll','catch','params','ZendeskField','includeAll','find','create','body','eml-format','rimraf','zip-dir','fast-json-patch','request-promise','moment','bluebird','mustache','util','path','sox','to-csv','ejs','fs-extra','lodash','squel','crypto','jsforce','desk.js','querystring','papaparse','../../components/auth/service','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/license/hardware','../../config/logger'];(function(_0x50f0a9,_0x2b0c57){var _0x5a33d9=function(_0x40338e){while(--_0x40338e){_0x50f0a9['push'](_0x50f0a9['shift']());}};_0x5a33d9(++_0x2b0c57);}(_0xa122,0x17b));var _0x2a12=function(_0x5c477c,_0x33ecc2){_0x5c477c=_0x5c477c-0x0;var _0x155770=_0xa122[_0x5c477c];return _0x155770;};'use strict';var emlformat=require(_0x2a12('0x0'));var rimraf=require(_0x2a12('0x1'));var zipdir=require(_0x2a12('0x2'));var jsonpatch=require(_0x2a12('0x3'));var rp=require(_0x2a12('0x4'));var moment=require(_0x2a12('0x5'));var BPromise=require(_0x2a12('0x6'));var Mustache=require(_0x2a12('0x7'));var util=require(_0x2a12('0x8'));var path=require(_0x2a12('0x9'));var sox=require(_0x2a12('0xa'));var csv=require(_0x2a12('0xb'));var ejs=require(_0x2a12('0xc'));var fs=require('fs');var fs_extra=require(_0x2a12('0xd'));var _=require(_0x2a12('0xe'));var squel=require(_0x2a12('0xf'));var crypto=require(_0x2a12('0x10'));var jsforce=require(_0x2a12('0x11'));var deskjs=require(_0x2a12('0x12'));var toCsv=require(_0x2a12('0xb'));var querystring=require(_0x2a12('0x13'));var Papa=require(_0x2a12('0x14'));var Redis=require('ioredis');var authService=require(_0x2a12('0x15'));var qs=require(_0x2a12('0x16'));var as=require(_0x2a12('0x17'));var hardwareService=require(_0x2a12('0x18'));var logger=require(_0x2a12('0x19'))('api');var utils=require(_0x2a12('0x1a'));var config=require('../../config/environment');var licenseUtil=require(_0x2a12('0x1b'));var db=require(_0x2a12('0x1c'))['db'];function respondWithStatusCode(_0x565207,_0xdd4610){_0xdd4610=_0xdd4610||0xcc;return function(_0xc35fc8){if(_0xc35fc8){return _0x565207[_0x2a12('0x1d')](_0xdd4610);}return _0x565207['status'](_0xdd4610)[_0x2a12('0x1e')]();};}function respondWithResult(_0x4ce92e,_0x1e1744){_0x1e1744=_0x1e1744||0xc8;return function(_0xe3b615){if(_0xe3b615){return _0x4ce92e['status'](_0x1e1744)[_0x2a12('0x1f')](_0xe3b615);}};}function respondWithFilteredResult(_0x248cd2,_0x48c5ad){return function(_0x17a030){if(_0x17a030){var _0x321b8=typeof _0x48c5ad[_0x2a12('0x20')]==='undefined'&&typeof _0x48c5ad[_0x2a12('0x21')]==='undefined';var _0x42a4f1=_0x17a030[_0x2a12('0x22')];var _0x2cd758=_0x321b8?0x0:_0x48c5ad[_0x2a12('0x20')];var _0xc96506=_0x321b8?_0x17a030['count']:_0x48c5ad[_0x2a12('0x20')]+_0x48c5ad[_0x2a12('0x21')];var _0x4d120c;if(_0xc96506>=_0x42a4f1){_0xc96506=_0x42a4f1;_0x4d120c=0xc8;}else{_0x4d120c=0xce;}_0x248cd2[_0x2a12('0x23')](_0x4d120c);return _0x248cd2[_0x2a12('0x24')](_0x2a12('0x25'),_0x2cd758+'-'+_0xc96506+'/'+_0x42a4f1)[_0x2a12('0x1f')](_0x17a030);}return null;};}function patchUpdates(_0x56a45b){return function(_0x1f2b33){try{jsonpatch[_0x2a12('0x26')](_0x1f2b33,_0x56a45b,!![]);}catch(_0x150f42){return BPromise[_0x2a12('0x27')](_0x150f42);}return _0x1f2b33[_0x2a12('0x28')]();};}function saveUpdates(_0x1d7987,_0x5c0287){return function(_0x8b94d4){if(_0x8b94d4){return _0x8b94d4[_0x2a12('0x29')](_0x1d7987)[_0x2a12('0x2a')](function(_0x5bd1dc){return _0x5bd1dc;});}return null;};}function removeEntity(_0x1df4bc,_0x9ed63){return function(_0x6cd9de){if(_0x6cd9de){return _0x6cd9de[_0x2a12('0x2b')]()[_0x2a12('0x2a')](function(){_0x1df4bc[_0x2a12('0x23')](0xcc)[_0x2a12('0x1e')]();});}};}function handleEntityNotFound(_0x1dc836,_0x518033){return function(_0x978901){if(!_0x978901){_0x1dc836[_0x2a12('0x1d')](0x194);}return _0x978901;};}function handleError(_0x25bb19,_0x133469){_0x133469=_0x133469||0x1f4;return function(_0x3c8b00){logger[_0x2a12('0x2c')](_0x3c8b00[_0x2a12('0x2d')]);if(_0x3c8b00[_0x2a12('0x2e')]){delete _0x3c8b00[_0x2a12('0x2e')];}_0x25bb19['status'](_0x133469)[_0x2a12('0x2f')](_0x3c8b00);};}exports[_0x2a12('0x30')]=function(_0x430fde,_0x33ddb5){var _0x4d81ec={},_0x4514f9={},_0x17fc5f={'count':0x0,'rows':[]};var _0x40da86=_['map'](db['ZendeskField'][_0x2a12('0x31')],function(_0x3676cf){return{'name':_0x3676cf[_0x2a12('0x32')],'type':_0x3676cf[_0x2a12('0x33')][_0x2a12('0x34')]};});_0x4514f9[_0x2a12('0x35')]=_[_0x2a12('0x36')](_0x40da86,_0x2a12('0x2e'));_0x4514f9[_0x2a12('0x37')]=_[_0x2a12('0x38')](_0x430fde[_0x2a12('0x37')]);_0x4514f9['filters']=_[_0x2a12('0x39')](_0x4514f9[_0x2a12('0x35')],_0x4514f9[_0x2a12('0x37')]);_0x4d81ec[_0x2a12('0x3a')]=_[_0x2a12('0x39')](_0x4514f9[_0x2a12('0x35')],qs[_0x2a12('0x3b')](_0x430fde[_0x2a12('0x37')][_0x2a12('0x3b')]));_0x4d81ec['attributes']=_0x4d81ec[_0x2a12('0x3a')][_0x2a12('0x3c')]?_0x4d81ec[_0x2a12('0x3a')]:_0x4514f9[_0x2a12('0x35')];if(!_0x430fde[_0x2a12('0x37')][_0x2a12('0x3d')](_0x2a12('0x3e'))){_0x4d81ec['limit']=qs[_0x2a12('0x21')](_0x430fde[_0x2a12('0x37')]['limit']);_0x4d81ec[_0x2a12('0x20')]=qs[_0x2a12('0x20')](_0x430fde[_0x2a12('0x37')]['offset']);}_0x4d81ec[_0x2a12('0x3f')]=qs[_0x2a12('0x40')](_0x430fde[_0x2a12('0x37')][_0x2a12('0x40')]);_0x4d81ec[_0x2a12('0x41')]=qs['filters'](_[_0x2a12('0x42')](_0x430fde[_0x2a12('0x37')],_0x4514f9[_0x2a12('0x43')]),_0x40da86);if(_0x430fde[_0x2a12('0x37')][_0x2a12('0x44')]){_0x4d81ec[_0x2a12('0x41')]=_[_0x2a12('0x45')](_0x4d81ec[_0x2a12('0x41')],{'$or':_[_0x2a12('0x36')](_0x40da86,function(_0x3ba98c){if(_0x3ba98c[_0x2a12('0x33')]!==_0x2a12('0x46')){var _0x4187f2={};_0x4187f2[_0x3ba98c['name']]={'$like':'%'+_0x430fde[_0x2a12('0x37')][_0x2a12('0x44')]+'%'};return _0x4187f2;}})});}_0x4d81ec=_['merge']({},_0x4d81ec,_0x430fde[_0x2a12('0x47')]);var _0x43a05c={'where':_0x4d81ec[_0x2a12('0x41')]};return db['ZendeskField']['count'](_0x43a05c)[_0x2a12('0x2a')](function(_0x590b52){_0x17fc5f[_0x2a12('0x22')]=_0x590b52;if(_0x430fde[_0x2a12('0x37')]['includeAll']){_0x4d81ec[_0x2a12('0x48')]=[{'all':!![]}];}return db['ZendeskField'][_0x2a12('0x49')](_0x4d81ec);})[_0x2a12('0x2a')](function(_0x27d91a){_0x17fc5f['rows']=_0x27d91a;return _0x17fc5f;})[_0x2a12('0x2a')](respondWithFilteredResult(_0x33ddb5,_0x4d81ec))[_0x2a12('0x4a')](handleError(_0x33ddb5,null));};exports['show']=function(_0x59144e,_0x4b161d){var _0x3f9d8b={'raw':!![],'where':{'id':_0x59144e[_0x2a12('0x4b')]['id']}},_0x2e83e4={};_0x2e83e4[_0x2a12('0x35')]=_[_0x2a12('0x38')](db[_0x2a12('0x4c')]['rawAttributes']);_0x2e83e4[_0x2a12('0x37')]=_['keys'](_0x59144e['query']);_0x2e83e4['filters']=_[_0x2a12('0x39')](_0x2e83e4['model'],_0x2e83e4[_0x2a12('0x37')]);_0x3f9d8b[_0x2a12('0x3a')]=_['intersection'](_0x2e83e4[_0x2a12('0x35')],qs[_0x2a12('0x3b')](_0x59144e[_0x2a12('0x37')][_0x2a12('0x3b')]));_0x3f9d8b['attributes']=_0x3f9d8b[_0x2a12('0x3a')]['length']?_0x3f9d8b[_0x2a12('0x3a')]:_0x2e83e4[_0x2a12('0x35')];if(_0x59144e[_0x2a12('0x37')][_0x2a12('0x4d')]){_0x3f9d8b[_0x2a12('0x48')]=[{'all':!![]}];}_0x3f9d8b=_[_0x2a12('0x45')]({},_0x3f9d8b,_0x59144e[_0x2a12('0x47')]);return db[_0x2a12('0x4c')][_0x2a12('0x4e')](_0x3f9d8b)['then'](handleEntityNotFound(_0x4b161d,null))[_0x2a12('0x2a')](respondWithResult(_0x4b161d,null))[_0x2a12('0x4a')](handleError(_0x4b161d,null));};exports[_0x2a12('0x4f')]=function(_0x4824c5,_0x4209fa){return db[_0x2a12('0x4c')][_0x2a12('0x4f')](_0x4824c5[_0x2a12('0x50')],{})[_0x2a12('0x2a')](respondWithResult(_0x4209fa,0xc9))[_0x2a12('0x4a')](handleError(_0x4209fa,null));};exports[_0x2a12('0x29')]=function(_0x2ab91f,_0x450682){if(_0x2ab91f[_0x2a12('0x50')]['id']){delete _0x2ab91f[_0x2a12('0x50')]['id'];}return db['ZendeskField'][_0x2a12('0x4e')]({'where':{'id':_0x2ab91f[_0x2a12('0x4b')]['id']}})[_0x2a12('0x2a')](handleEntityNotFound(_0x450682,null))[_0x2a12('0x2a')](saveUpdates(_0x2ab91f[_0x2a12('0x50')],null))[_0x2a12('0x2a')](respondWithResult(_0x450682,null))['catch'](handleError(_0x450682,null));};exports[_0x2a12('0x2b')]=function(_0x4dc6d6,_0x4d43d4){return db[_0x2a12('0x4c')][_0x2a12('0x4e')]({'where':{'id':_0x4dc6d6[_0x2a12('0x4b')]['id']}})[_0x2a12('0x2a')](handleEntityNotFound(_0x4d43d4,null))[_0x2a12('0x2a')](removeEntity(_0x4d43d4,null))['catch'](handleError(_0x4d43d4,null));};