56cd1127dbfa11f05e1353978858484b5db74d64
[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 _0x2d6a=['path','sox','to-csv','ejs','fs-extra','lodash','squel','crypto','jsforce','querystring','papaparse','../../components/parsers/qs','../../config/license/hardware','../../config/logger','../../config/utils','../../config/environment','../../config/license/util','../../mysqldb','sendStatus','status','offset','undefined','limit','set','json','apply','reject','save','update','then','destroy','end','error','send','map','ZendeskField','rawAttributes','fieldName','model','name','query','keys','intersection','attributes','fields','nolimit','order','sort','where','filters','pick','filter','type','VIRTUAL','merge','options','count','includeAll','include','findAll','catch','show','params','find','create','body','eml-format','rimraf','zip-dir','fast-json-patch','request-promise','bluebird','mustache','util'];(function(_0xc10ce0,_0x36666f){var _0x156c0b=function(_0x567edb){while(--_0x567edb){_0xc10ce0['push'](_0xc10ce0['shift']());}};_0x156c0b(++_0x36666f);}(_0x2d6a,0x16a));var _0xa2d6=function(_0x5916c7,_0x2edfba){_0x5916c7=_0x5916c7-0x0;var _0x4178bd=_0x2d6a[_0x5916c7];return _0x4178bd;};'use strict';var emlformat=require(_0xa2d6('0x0'));var rimraf=require(_0xa2d6('0x1'));var zipdir=require(_0xa2d6('0x2'));var jsonpatch=require(_0xa2d6('0x3'));var rp=require(_0xa2d6('0x4'));var moment=require('moment');var BPromise=require(_0xa2d6('0x5'));var Mustache=require(_0xa2d6('0x6'));var util=require(_0xa2d6('0x7'));var path=require(_0xa2d6('0x8'));var sox=require(_0xa2d6('0x9'));var csv=require(_0xa2d6('0xa'));var ejs=require(_0xa2d6('0xb'));var fs=require('fs');var fs_extra=require(_0xa2d6('0xc'));var _=require(_0xa2d6('0xd'));var squel=require(_0xa2d6('0xe'));var crypto=require(_0xa2d6('0xf'));var jsforce=require(_0xa2d6('0x10'));var deskjs=require('desk.js');var toCsv=require(_0xa2d6('0xa'));var querystring=require(_0xa2d6('0x11'));var Papa=require(_0xa2d6('0x12'));var Redis=require('ioredis');var authService=require('../../components/auth/service');var qs=require(_0xa2d6('0x13'));var as=require('../../components/parsers/advancedSearch');var hardwareService=require(_0xa2d6('0x14'));var logger=require(_0xa2d6('0x15'))('api');var utils=require(_0xa2d6('0x16'));var config=require(_0xa2d6('0x17'));var licenseUtil=require(_0xa2d6('0x18'));var db=require(_0xa2d6('0x19'))['db'];function respondWithStatusCode(_0x2a94b6,_0x37b83b){_0x37b83b=_0x37b83b||0xcc;return function(_0x3640c8){if(_0x3640c8){return _0x2a94b6[_0xa2d6('0x1a')](_0x37b83b);}return _0x2a94b6[_0xa2d6('0x1b')](_0x37b83b)['end']();};}function respondWithResult(_0x3c982d,_0x3a0ec3){_0x3a0ec3=_0x3a0ec3||0xc8;return function(_0x884312){if(_0x884312){return _0x3c982d[_0xa2d6('0x1b')](_0x3a0ec3)['json'](_0x884312);}};}function respondWithFilteredResult(_0x167a84,_0x584a38){return function(_0xec434d){if(_0xec434d){var _0x5d83ac=typeof _0x584a38[_0xa2d6('0x1c')]===_0xa2d6('0x1d')&&typeof _0x584a38[_0xa2d6('0x1e')]===_0xa2d6('0x1d');var _0xd7ba6c=_0xec434d['count'];var _0x450a54=_0x5d83ac?0x0:_0x584a38[_0xa2d6('0x1c')];var _0x14107a=_0x5d83ac?_0xec434d['count']:_0x584a38[_0xa2d6('0x1c')]+_0x584a38[_0xa2d6('0x1e')];var _0x14769c;if(_0x14107a>=_0xd7ba6c){_0x14107a=_0xd7ba6c;_0x14769c=0xc8;}else{_0x14769c=0xce;}_0x167a84[_0xa2d6('0x1b')](_0x14769c);return _0x167a84[_0xa2d6('0x1f')]('Content-Range',_0x450a54+'-'+_0x14107a+'/'+_0xd7ba6c)[_0xa2d6('0x20')](_0xec434d);}return null;};}function patchUpdates(_0x359479){return function(_0x2ec19d){try{jsonpatch[_0xa2d6('0x21')](_0x2ec19d,_0x359479,!![]);}catch(_0x34d5ab){return BPromise[_0xa2d6('0x22')](_0x34d5ab);}return _0x2ec19d[_0xa2d6('0x23')]();};}function saveUpdates(_0x48389b,_0x55d3e7){return function(_0x4fec42){if(_0x4fec42){return _0x4fec42[_0xa2d6('0x24')](_0x48389b)[_0xa2d6('0x25')](function(_0x3b4f31){return _0x3b4f31;});}return null;};}function removeEntity(_0x3cf5a7,_0x36e922){return function(_0x1f76cc){if(_0x1f76cc){return _0x1f76cc[_0xa2d6('0x26')]()[_0xa2d6('0x25')](function(){_0x3cf5a7[_0xa2d6('0x1b')](0xcc)[_0xa2d6('0x27')]();});}};}function handleEntityNotFound(_0x3e94b6,_0xc69316){return function(_0x489640){if(!_0x489640){_0x3e94b6[_0xa2d6('0x1a')](0x194);}return _0x489640;};}function handleError(_0x342d2c,_0x440188){_0x440188=_0x440188||0x1f4;return function(_0x5acdb0){logger[_0xa2d6('0x28')](_0x5acdb0['stack']);if(_0x5acdb0['name']){delete _0x5acdb0['name'];}_0x342d2c[_0xa2d6('0x1b')](_0x440188)[_0xa2d6('0x29')](_0x5acdb0);};}exports['index']=function(_0xd6d3d9,_0x414c01){var _0x39e447={},_0x20d5f2={},_0x39c0e6={'count':0x0,'rows':[]};var _0x2ed13d=_[_0xa2d6('0x2a')](db[_0xa2d6('0x2b')][_0xa2d6('0x2c')],function(_0x5377a7){return{'name':_0x5377a7[_0xa2d6('0x2d')],'type':_0x5377a7['type']['key']};});_0x20d5f2[_0xa2d6('0x2e')]=_['map'](_0x2ed13d,_0xa2d6('0x2f'));_0x20d5f2[_0xa2d6('0x30')]=_[_0xa2d6('0x31')](_0xd6d3d9[_0xa2d6('0x30')]);_0x20d5f2['filters']=_[_0xa2d6('0x32')](_0x20d5f2['model'],_0x20d5f2['query']);_0x39e447[_0xa2d6('0x33')]=_[_0xa2d6('0x32')](_0x20d5f2[_0xa2d6('0x2e')],qs[_0xa2d6('0x34')](_0xd6d3d9[_0xa2d6('0x30')][_0xa2d6('0x34')]));_0x39e447[_0xa2d6('0x33')]=_0x39e447[_0xa2d6('0x33')]['length']?_0x39e447[_0xa2d6('0x33')]:_0x20d5f2[_0xa2d6('0x2e')];if(!_0xd6d3d9[_0xa2d6('0x30')]['hasOwnProperty'](_0xa2d6('0x35'))){_0x39e447[_0xa2d6('0x1e')]=qs['limit'](_0xd6d3d9[_0xa2d6('0x30')][_0xa2d6('0x1e')]);_0x39e447[_0xa2d6('0x1c')]=qs['offset'](_0xd6d3d9['query'][_0xa2d6('0x1c')]);}_0x39e447[_0xa2d6('0x36')]=qs[_0xa2d6('0x37')](_0xd6d3d9[_0xa2d6('0x30')][_0xa2d6('0x37')]);_0x39e447[_0xa2d6('0x38')]=qs[_0xa2d6('0x39')](_[_0xa2d6('0x3a')](_0xd6d3d9[_0xa2d6('0x30')],_0x20d5f2['filters']),_0x2ed13d);if(_0xd6d3d9['query'][_0xa2d6('0x3b')]){_0x39e447[_0xa2d6('0x38')]=_['merge'](_0x39e447[_0xa2d6('0x38')],{'$or':_[_0xa2d6('0x2a')](_0x2ed13d,function(_0x2ba6a2){if(_0x2ba6a2[_0xa2d6('0x3c')]!==_0xa2d6('0x3d')){var _0x554a26={};_0x554a26[_0x2ba6a2['name']]={'$like':'%'+_0xd6d3d9[_0xa2d6('0x30')][_0xa2d6('0x3b')]+'%'};return _0x554a26;}})});}_0x39e447=_[_0xa2d6('0x3e')]({},_0x39e447,_0xd6d3d9[_0xa2d6('0x3f')]);var _0x13bff6={'where':_0x39e447[_0xa2d6('0x38')]};return db[_0xa2d6('0x2b')][_0xa2d6('0x40')](_0x13bff6)[_0xa2d6('0x25')](function(_0x77907d){_0x39c0e6[_0xa2d6('0x40')]=_0x77907d;if(_0xd6d3d9[_0xa2d6('0x30')][_0xa2d6('0x41')]){_0x39e447[_0xa2d6('0x42')]=[{'all':!![]}];}return db[_0xa2d6('0x2b')][_0xa2d6('0x43')](_0x39e447);})[_0xa2d6('0x25')](function(_0x5503e1){_0x39c0e6['rows']=_0x5503e1;return _0x39c0e6;})[_0xa2d6('0x25')](respondWithFilteredResult(_0x414c01,_0x39e447))[_0xa2d6('0x44')](handleError(_0x414c01,null));};exports[_0xa2d6('0x45')]=function(_0x3b2b85,_0x84541){var _0x364965={'raw':!![],'where':{'id':_0x3b2b85[_0xa2d6('0x46')]['id']}},_0x2d1b66={};_0x2d1b66[_0xa2d6('0x2e')]=_[_0xa2d6('0x31')](db[_0xa2d6('0x2b')]['rawAttributes']);_0x2d1b66[_0xa2d6('0x30')]=_[_0xa2d6('0x31')](_0x3b2b85[_0xa2d6('0x30')]);_0x2d1b66[_0xa2d6('0x39')]=_['intersection'](_0x2d1b66[_0xa2d6('0x2e')],_0x2d1b66[_0xa2d6('0x30')]);_0x364965[_0xa2d6('0x33')]=_['intersection'](_0x2d1b66['model'],qs[_0xa2d6('0x34')](_0x3b2b85[_0xa2d6('0x30')]['fields']));_0x364965[_0xa2d6('0x33')]=_0x364965[_0xa2d6('0x33')]['length']?_0x364965[_0xa2d6('0x33')]:_0x2d1b66['model'];if(_0x3b2b85[_0xa2d6('0x30')][_0xa2d6('0x41')]){_0x364965[_0xa2d6('0x42')]=[{'all':!![]}];}_0x364965=_[_0xa2d6('0x3e')]({},_0x364965,_0x3b2b85[_0xa2d6('0x3f')]);return db[_0xa2d6('0x2b')][_0xa2d6('0x47')](_0x364965)[_0xa2d6('0x25')](handleEntityNotFound(_0x84541,null))['then'](respondWithResult(_0x84541,null))[_0xa2d6('0x44')](handleError(_0x84541,null));};exports['create']=function(_0x38175a,_0x2bc29e){return db['ZendeskField'][_0xa2d6('0x48')](_0x38175a[_0xa2d6('0x49')],{})[_0xa2d6('0x25')](respondWithResult(_0x2bc29e,0xc9))[_0xa2d6('0x44')](handleError(_0x2bc29e,null));};exports['update']=function(_0x4dbd9a,_0x488b91){if(_0x4dbd9a[_0xa2d6('0x49')]['id']){delete _0x4dbd9a[_0xa2d6('0x49')]['id'];}return db[_0xa2d6('0x2b')][_0xa2d6('0x47')]({'where':{'id':_0x4dbd9a[_0xa2d6('0x46')]['id']}})[_0xa2d6('0x25')](handleEntityNotFound(_0x488b91,null))[_0xa2d6('0x25')](saveUpdates(_0x4dbd9a[_0xa2d6('0x49')],null))[_0xa2d6('0x25')](respondWithResult(_0x488b91,null))[_0xa2d6('0x44')](handleError(_0x488b91,null));};exports['destroy']=function(_0x5fc23b,_0x1375b9){return db[_0xa2d6('0x2b')][_0xa2d6('0x47')]({'where':{'id':_0x5fc23b[_0xa2d6('0x46')]['id']}})[_0xa2d6('0x25')](handleEntityNotFound(_0x1375b9,null))[_0xa2d6('0x25')](removeEntity(_0x1375b9,null))['catch'](handleError(_0x1375b9,null));};